一、概述
1.我們了解了對稱加密算法、非對稱加密算法、數(shù)字簽名算法應(yīng)用,他們組合起來使用就是數(shù)字證書
2.對稱加密算法用來加解密數(shù)據(jù),非對稱加密算法常用來做密鑰交換、數(shù)字簽名算法主要用來驗(yàn)證數(shù)據(jù)的不可否認(rèn)性
3.數(shù)字證書:對于我們來說最常見的就是銀行給我們提供的數(shù)字證書,以文件下載的方式保存,或者以u盾的方式保存
4.數(shù)字證書其實(shí)就是我們非對稱加密算法中存放了相關(guān)算法的公鑰信息
二、模型分析
我們要制造數(shù)字證書??梢杂胦penssl和java的keytools來獲得,openssl開源軟件這個(gè)比keytools功能強(qiáng)大。
1.keytools生成數(shù)字證書,并創(chuàng)建本地密鑰庫。
2.數(shù)字證書(客戶端)給客戶,本地密鑰庫配合tomcat這些應(yīng)用服務(wù)器使用。開放服務(wù)器的安全端口,用https訪問服務(wù)器的時(shí)候,就是進(jìn)行加密數(shù)據(jù)交互了。那些對稱加密、非對稱加密算法 都被隱藏在交互細(xì)節(jié)中了,對我們使用者來說是透明的
3.客戶將數(shù)字證書導(dǎo)入自己的瀏覽器,和tomcat進(jìn)行數(shù)據(jù)傳送。通過他們內(nèi)部實(shí)現(xiàn)的協(xié)議進(jìn)行數(shù)據(jù)加密傳輸,同時(shí)通過簽名驗(yàn)證數(shù)據(jù)的真實(shí)性
三、實(shí)現(xiàn)方式
1.證書的產(chǎn)生必須用openssl或者keytools來完成
2.放到外部使用需要用tomcat的ssl/tls配置作為支持
3.如果需要第三方發(fā)放簽名證書,可以將證書的csr文件給第三方公正,常見的國際公正三巨頭可以幫我們做這些。免費(fèi)的第三方只有cacert了。電子商務(wù)常用的就是verisign這個(gè)付費(fèi)的第三方證書發(fā)放機(jī)構(gòu)。如果不用第三方,就是自簽名的了。沒啥法律效力
四、總結(jié)
1.上述模型只是說了單向加密、如果需要雙向加密實(shí)現(xiàn)方式相同。只不過需要?jiǎng)?chuàng)建客戶端證書、服務(wù)器端證書等等...
2.安全的終極裝備就是安全協(xié)議。這個(gè)tomcat的ssl/tls配置是最好的體現(xiàn)
3.常規(guī)的加解密或者數(shù)字證書,核心還是用rsa之類的非對稱加密算法傳遞密鑰,然后通過對稱加密算法進(jìn)行加密數(shù)據(jù)傳輸。用簽名算法進(jìn)行數(shù)據(jù)校驗(yàn)