Java 加密與解密的藝術
內容描述
<內容簡介>
本書是目前Java加密與解密領域最全面、最詳盡、最領先的著作之一,它將帶領你領略Java安全之美。 —Java中文技術網
Java安全領域的百科全書
密碼學領域的權威經典
5大網路社群一致鼎力推薦
當你在MSN與好友聊天時,當你透過購物網站shopping時,當你用電子郵件與客戶交流時,當你公司的應用伺服器與合作夥伴交換商業資料時……你是否考慮過你的資料是否安全?你的隱私是否會被洩露?你的信用卡是否會被盜用?你的競爭對手是否能竊取你的敏感資料?
任何一項透過網路交換的資料都有可能是不安全的,然而我們卻越來越依賴網路。如果使用者密碼、聊天訊息、銀行帳號、郵件內容、商業敏感資料等透過明文傳輸,後果將不堪設想。自己的帳號被盜用、隱私成為公眾話題、信用卡被人濫用、競爭對手盜用自己的資料……於是,為了確保資料不被侵犯,資料加密與解密技術應用在企業應用中均扮演著非常重要的角色。
如果你在思考下面這些問題,也許本書就是你想要的!
‧作為一名系統架構師,如何讓你的系統沒有安全隱患?作為一名程式設計師,如何讓你編寫的程式碼沒有安全漏洞?
‧為什麼密碼學是解決一切安全問題的特效藥?密碼學究竟是怎麼樣的一門學問?近千年來,它經歷了怎樣的發展歷程?它是如何延續至今並逐步發展壯大?
‧部落格、論壇、社群、網路聊天、企業資料交換應用、網路銀行平台等網路應用都無法逃避網路安全問題,如何在合適的環境選用合適的加密演算法,從而提高系統的安全性?
‧Java 6支援哪些加密演算法?如何擴充Java 6尚不支援的加密演算法?如何增強系統的安全等級?
‧訊息摘要演算法和檔案校驗演算法有什麼關聯?它與普通的循環冗餘校驗演算法有何差別?如何使用訊息摘要演算法隱蔽敏感資料?
‧為何Base 64演算法可以隱蔽敏感訊息卻無法真正有資料加密的作用,而對稱式加密演算法卻能輕而易舉地加密資料?Base 64演算法與對稱式加密演算法之間究竟有何關係?
‧Sun並沒有提供官方的Base 64演算法支援,我們又該如何建構該演算法?針對Base 64演算法,Apache Commons Codec和Bouncy Castle提供了怎樣的支援?在其他加密演算法中又有怎樣的作用?
‧對稱式加密演算法已經幾乎能勝任所有的加密需求,為何要研發非對稱式加密演算法?對稱式加密演算法究竟有何缺點?非對稱式演算法會是對稱式演算法的取代者嗎?
‧數位簽章是手寫簽名的數位化產物,其演算法與訊息摘要有何關聯?為什麼這種演算法在結合非對稱式加密演算法密鑰後就具備了認證身分的作用?
‧對稱式加密演算法和非對稱式加密演算法如何分發密鑰,數位憑證在其中充當了何種角色?數位憑證又是如何發放的?
‧數位憑證集多種加密演算法於一身,它是如何傳遞密鑰的?又是如何有身分認證的作用?在HTTPS協定中又是如何與SSL/TLS協定相互結合建構安全平台的?
‧KeyTool和OpenSSL建構的數位憑證究竟有何差別?如何在Java中使用這些工具建構的數位憑證?
‧基於HTTPS協定的網路銀行平台,堪稱安全級別最高的網路應用,更是密碼學應用領域中最成功的案例。Java 6提供了完備的HTTPS協定相關的API,如何使用這些API建構固若金湯的HTTPS平台?
‧HTTPS協定和SSL/TLS協定有何關係?這些協定與數位認證、加密演算法有何關聯?如何使用HTTPS協定建構安全的網路應用?
‧單向認證服務和雙向認證服務兩者之間有何不同?它們與HTTPS協定有何關係?如何運用這兩種認證服務保護我們的應用程式?
<章節目錄>
第一部分 基礎篇
第 1 章 企業應用安全
第 2 章 企業應用安全的特效藥 - 密碼學
第 3 章 Java 加密利器
第 4 章 他山之石,可以攻玉
第二部分 實踐篇
第 5 章 電子郵件傳輸演算法 - Base64
第 6 章 驗證資料完整性 - 訊息摘要演算法
第 7 章 初等資料加密 - 對稱式加密演算法
第 8 章 高等資料加密 - 非對稱式加密演算法
第 9 章 帶密鑰的訊息摘要演算法 - 數位簽章演算法
第三部分 綜合應用篇
第 10 章 終極武器 - 數位憑證
第 11 章 終極裝備 - 安全協定
第 12 章 為應用程式選擇合適的裝備
附錄 A Java 6 支援的演算法
附錄 B Bouncy Castle 支援的演算法