- Java加密與解密的藝術(shù)(第2版)
- 梁棟
- 764字
- 2018-12-31 23:24:39
1.3 捍衛(wèi)企業(yè)應(yīng)用安全的銀彈
通過對1.2節(jié)的學習,我們已經(jīng)找到了處理安全問題的武器。但是,我們還缺少一枚解決安全問題的銀彈—密碼學。的確,密碼學是企業(yè)應(yīng)用安全問題領(lǐng)域的一枚銀彈,是解決安全問題的核心所在。
1.3.1 密碼學在安全領(lǐng)域中的身影
安全領(lǐng)域離不開密碼學的支持。例如,在OSI安全體系結(jié)構(gòu)中通過數(shù)據(jù)加密確保數(shù)據(jù)的保密性,在TCP/IP安全體系結(jié)構(gòu)中以加密算法為基礎(chǔ)構(gòu)建SSL/TLS協(xié)議,這些都說明密碼學與安全問題密不可分。
密碼學在加密算法上大體可分為單向加密算法、對稱加密算法、非對稱加密算法三大類。MD5、SHA算法是單向加密算法的代表,單向加密算法是數(shù)據(jù)完整性驗證的常用算法。DES算法是對稱加密算法的典型代表,對稱加密算法是數(shù)據(jù)存儲加密的常用算法。RSA算法是非對稱加密算法的典型代表,非對稱加密算法是數(shù)據(jù)傳輸加密的常用算法。對稱加密算法也可以用做數(shù)據(jù)傳輸加密,但非對稱加密算法在密鑰管理方面更有優(yōu)勢。相對對稱加密算法而言,非對稱加密算法在安全級別上等級更高,但非對稱加密算法在時間效率上遠不如對稱加密算法。
以密碼學為基礎(chǔ)的各種安全實現(xiàn)相繼出現(xiàn),如HTTPS協(xié)議和一系列的“數(shù)字技術(shù)”(數(shù)字摘要、數(shù)字信封、數(shù)字簽名、數(shù)字證書等),這些構(gòu)成了認證技術(shù)的基礎(chǔ)。
密碼學為安全領(lǐng)域筑起了一道銅墻鐵壁。
1.3.2 密碼學與Java EE
Java EE對密碼學的支持是相當廣泛的,主要表現(xiàn)在如下幾個方面:
? Java API支持:Java API支持多種加密算法。如MessageDigest類,可以構(gòu)建MD5、SHA兩種加密算法;Mac類可以構(gòu)建HMAC加密算法;Cipher類可以構(gòu)建多種加密算法,如DES、AES、Blowfish對稱加密算法,以及RSA、DSA、DH等多種非對稱加密算法;Signature類可以用于數(shù)字簽名和簽名驗證;Certificate類可用于操作證書;等等。
? JSP容器支持:常用的應(yīng)用服務(wù)器(如Tomcat)通過簡單的配置即可支持SSL/TLS協(xié)議,獲取證書配置,有效地構(gòu)建HTTPS應(yīng)用。
? Java工具支持:通過KeyTool可以很好地完成密鑰管理、證書管理等;通過JarSigner可以完成代碼簽名。
- C和C++安全編碼(原書第2版)
- SQL語言從入門到精通
- Access 2010數(shù)據(jù)庫基礎(chǔ)與應(yīng)用項目式教程(第3版)
- Java Web程序設(shè)計
- Expert Android Programming
- C++ 從入門到項目實踐(超值版)
- Scratch3.0趣味編程動手玩:比賽訓練營
- Python Data Science Cookbook
- C語言程序設(shè)計習題與實驗指導
- PrimeFaces Blueprints
- Getting Started with Python
- Python期貨量化交易實戰(zhàn)
- SwiftUI極簡開發(fā)
- Backbone.js Testing
- Python Web自動化測試設(shè)計與實現(xiàn)