在網(wǎng)絡(luò)和操作系統(tǒng)安全通信中經(jīng)常涉及到這幾個(gè)名詞: RSA, 公鑰,私鑰,CA,數(shù)字簽名,數(shù)字證書。
我找了很多資料,很少有把疑難點(diǎn)講全面的。但不講清楚這幾個(gè),很難有一個(gè)清晰的認(rèn)識(shí)和理解。
我現(xiàn)在也嘗試這樣的方式,自己總結(jié),以便后來查看,同時(shí)也希望能幫助一些人少走彎路,省去baidu, google, 看RFC的時(shí)間。
創(chuàng)新互聯(lián)服務(wù)項(xiàng)目包括景德鎮(zhèn)網(wǎng)站建設(shè)、景德鎮(zhèn)網(wǎng)站制作、景德鎮(zhèn)網(wǎng)頁制作以及景德鎮(zhèn)網(wǎng)絡(luò)營銷策劃等。多年來,我們專注于互聯(lián)網(wǎng)行業(yè),利用自身積累的技術(shù)優(yōu)勢(shì)、行業(yè)經(jīng)驗(yàn)、深度合作伙伴關(guān)系等,向廣大中小型企業(yè)、政府機(jī)構(gòu)等提供互聯(lián)網(wǎng)行業(yè)的解決方案,景德鎮(zhèn)網(wǎng)站推廣取得了明顯的社會(huì)效益與經(jīng)濟(jì)效益。目前,我們服務(wù)的客戶以成都為中心已經(jīng)輻射到景德鎮(zhèn)省份的部分城市,未來相信會(huì)繼續(xù)擴(kuò)大服務(wù)區(qū)域并繼續(xù)獲得客戶的支持與信任!
對(duì)稱和非對(duì)稱,公鑰和私鑰:
加密的兩種方式:對(duì)稱加密和非對(duì)稱加密。
對(duì)稱加密:加密的密鑰也叫公鑰和解密的密鑰(也叫私鑰)相同。特點(diǎn)是算法公開、計(jì)算量小、加密速度快、加密效率高。
非對(duì)稱加密:加密和解密使用的是兩個(gè)不同的密鑰,所以這種算法叫作非對(duì)稱加密算法。RSA是一種非對(duì)稱加密算法。
RSA是取的研究這個(gè)算法的三個(gè)專家的首字母。
加密算法中,公鑰用于對(duì)數(shù)據(jù)進(jìn)行加密,私鑰用于對(duì)數(shù)據(jù)進(jìn)行解密。
當(dāng)然了,這個(gè)也可以很直觀的理解:
公鑰就是公開的密鑰,其公開了大家才能用它來加密數(shù)據(jù)。私鑰是私有的密鑰,誰有這個(gè)密鑰才能夠解密密文。在簽名算法中,私鑰用于對(duì)數(shù)據(jù)進(jìn)行簽名,公鑰用于對(duì)簽名進(jìn)行驗(yàn)證
。這也可以直觀地進(jìn)行理解:
對(duì)一個(gè)文件簽名,當(dāng)然要用私鑰,因?yàn)槲覀兿M挥凶约翰拍芡瓿珊炞?。?yàn)證過程當(dāng)然希望所有人都能夠執(zhí)行。
大家看到簽名都能通過驗(yàn)證證明確實(shí)是我自己簽的。如果你用私鑰加密了,所有人都能查到公鑰并解密,所以其實(shí)不能叫加解密。
數(shù)字簽名并不是簽一個(gè)字來證明這個(gè)東西是我的,而是做了一個(gè)數(shù)學(xué)計(jì)算。數(shù)字簽名(Digital Signature)是 先對(duì)消息內(nèi)容做Hash得到一串?dāng)?shù)字,然后用私鑰對(duì)這個(gè)數(shù)字進(jìn)行加密。
數(shù)字簽名就兩個(gè)目的:證明這消息是你發(fā)的;證明這消息內(nèi)容確實(shí)是完整的。(認(rèn)證和完整性)。
對(duì)消息做一次哈希(md5或者sha1都行),然后用你的私鑰加密這段哈希作為簽名,并一起公布出去
當(dāng)別人收到你的公告時(shí),他可以用你的公鑰解密你的簽名,如果解密成功,并且解密出來的哈希值確實(shí)和你的公告原文一致,
那么他就證明了兩點(diǎn):這消息確實(shí)是你發(fā)的,而且內(nèi)容是完整的。
我們?cè)诰W(wǎng)上下載文件,經(jīng)常會(huì)有一個(gè)長串的字符 MD5值。我們下載資料后,linux可以用md5sum 檢查一下這個(gè)資料,命令輸出得到的值和網(wǎng)站上的md5值比較。如果一致,說明文件下載完整。如果不一致,說明下載的文件發(fā)生改變。windows可以用winmd5等軟件驗(yàn)證。
3.數(shù)字證書Digital Certificate和證書中心Certificate Authority
“服務(wù)器”要對(duì)外發(fā)布公鑰,那“服務(wù)器”如何把公鑰發(fā)送給“客戶”呢?我們第一反應(yīng)可能會(huì)想到以下的兩個(gè)方法:
a)把公鑰放到互聯(lián)網(wǎng)的某個(gè)地方的一個(gè)下載地址,事先給“客戶”去下載。
b)每次和“客戶”開始通信時(shí),“服務(wù)器”把公鑰發(fā)給“客戶”。
但是這個(gè)兩個(gè)方法都有一定的問題,
對(duì)于a)方法,“客戶”無法確定這個(gè)下載地址是不是“服務(wù)器”發(fā)布的,你憑什么就相信這個(gè)地址下載的東西就是“服務(wù)器”發(fā)布的而不是別人偽造的呢,萬一下載到一個(gè)假的怎么辦?另外要所有的“客戶”都在通信前事先去下載公鑰也很不現(xiàn)實(shí)。
對(duì)于b)方法,也有問題,因?yàn)槿魏稳硕伎梢宰约荷梢粚?duì)公鑰和私鑰,他只要向“客戶”發(fā)送他自己的私鑰就可以冒充“服務(wù)器”了。
為了解決這個(gè)問題,數(shù)字證書出現(xiàn)了,它可以解決我們上面的問題。先大概看下什么是數(shù)字證書,一個(gè)證書包含下面的具體內(nèi)容:
指紋以及指紋算法
證書發(fā)布機(jī)構(gòu)除了給別人發(fā)布證書外,他自己本身也有自己的證書。證書發(fā)布機(jī)構(gòu)的證書是哪里來的呢???
這個(gè)證書發(fā)布機(jī)構(gòu)的數(shù)字證書(一般由他自己生成)在我們的操作系統(tǒng)剛安裝好時(shí)(例如windows xp等操作系統(tǒng)),
這些證書發(fā)布機(jī)構(gòu)的數(shù)字證書就已經(jīng)被微軟(或者其它操作系統(tǒng)的開發(fā)機(jī)構(gòu))安裝在操作系統(tǒng)中了,
微軟等公司會(huì)根據(jù)一些權(quán)威安全機(jī)構(gòu)的評(píng)估選取一些信譽(yù)很好并且通過一定的安全認(rèn)證的證書發(fā)布機(jī)構(gòu),
把這些證書發(fā)布機(jī)構(gòu)的證書默認(rèn)就安裝在操作系統(tǒng)里面了,并且設(shè)置為操作系統(tǒng)信任的數(shù)字證書。
這些證書發(fā)布機(jī)構(gòu)自己持有與他自己的數(shù)字證書對(duì)應(yīng)的私鑰,他會(huì)用這個(gè)私鑰加密所有他發(fā)布的證書的指紋作為數(shù)字簽名。
數(shù)字證書總結(jié):
兩個(gè)前提:CA是可以信任的(CA是一家實(shí)實(shí)在在的公司,有信譽(yù))。微軟已經(jīng)把CA的數(shù)字證書(公鑰)默認(rèn)安裝在操作系統(tǒng)中,也就是說操作系統(tǒng)中有CA的公鑰。
服務(wù)器向CA申請(qǐng)數(shù)字證書。CA生成服務(wù)器的數(shù)字證書(包含了服務(wù)器的公鑰)和私鑰給服務(wù)器??蛻舳苏?qǐng)求網(wǎng)頁,然后客戶端收到服務(wù)器發(fā)來的信息和數(shù)字證書。客戶端用CA公鑰解開服務(wù)器數(shù)字證書,得到服務(wù)器公鑰。
有了服務(wù)器公鑰,客戶端就可以解開服務(wù)器的加密網(wǎng)頁。
如何自己創(chuàng)建證書
每個(gè)證書發(fā)布機(jī)構(gòu)都有自己的用來創(chuàng)建證書的工具,不同類型的證書都有一定的格式和規(guī)范,微軟為我們提供了一個(gè)用來創(chuàng)建證書的工具makecert.exe,在安裝Visual Studio的時(shí)候會(huì)安裝上。如果沒有安裝也無所謂,可以上網(wǎng)去下一個(gè),搜索makecert就可以了。證書創(chuàng)建工具 (Makecert.exe)。
++++++++++++++++++++++++++++++++++++++
1.排版有點(diǎn)麻煩,要排的好看,還要花時(shí)間。
2.自己想的與寫的文字有差距。
++++++++++++++++++++++++++++++++++++++
標(biāo)題名稱:加密,認(rèn)證疑難名詞總結(jié)----RSA,公鑰,私鑰,CA,數(shù)字簽名,數(shù)字證書
分享URL:http://aaarwkj.com/article34/igsdpe.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供外貿(mào)建站、網(wǎng)頁設(shè)計(jì)公司、、建站公司、Google、手機(jī)網(wǎng)站建設(shè)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)