一诊笤、加密和認(rèn)證
首先我們需要區(qū)分加密和認(rèn)證這兩個(gè)基本概念。
加密是將數(shù)據(jù)資料加密讨跟,使得非法用戶即使取得加密過的資料,也無法獲取正確的資料內(nèi)容茶袒,所以數(shù)據(jù)加密可以保護(hù)數(shù)據(jù),防止監(jiān)聽攻擊凉馆。其重點(diǎn)在于數(shù)據(jù)的安全 性。身份認(rèn)證是用來判斷某個(gè)身份的真實(shí)性澜共,確認(rèn)身份后,系統(tǒng)才可以依不同的身份給予不同的權(quán)限嗦董。其重點(diǎn)在于用戶的真實(shí)性。兩者的側(cè)重點(diǎn)是不同的京革。
二奇唤、公鑰和私鑰
公鑰和私鑰就是俗稱的不對稱加密方式,是從以前的對稱加密(使用用戶名與密碼)方式的提高咬扇。
在現(xiàn)代密碼體制中加密和解密是采用不同的密鑰(公開密鑰),也就是非對稱密鑰密碼系統(tǒng)演顾,每個(gè)通信方均需要兩個(gè)密鑰供搀,即公鑰和私鑰,這兩把密鑰可以互為加解密。公鑰是公開的,不需要保密歉糜,而私鑰是由個(gè)人自己持有,并且必須妥善保管和注意保密万栅。
公鑰私鑰的原則:
1.一個(gè)公鑰對應(yīng)一個(gè)私鑰西疤。
2.密鑰對中,讓大家都知道的是公鑰代赁,不告訴大家,只有自己知道的芭碍,是私鑰。
3.如果用其中一個(gè)密鑰加密數(shù)據(jù)忧勿,則只有對應(yīng)的那個(gè)密鑰才可以解密。
4.如果用其中一個(gè)密鑰可以進(jìn)行解密數(shù)據(jù)鸳吸,則該數(shù)據(jù)必然是對應(yīng)的那個(gè)密鑰進(jìn)行的加密卸夕。
用電子郵件的方式說明一下原理。
使用公鑰與私鑰的目的就是實(shí)現(xiàn)安全的電子郵件快集,必須實(shí)現(xiàn)如下目的:
1. 我發(fā)送給你的內(nèi)容必須加密廉白,在郵件的傳輸過程中不能被別人看到乖寒。
2. 必須保證是我發(fā)送的郵件,不是別人冒充我的楣嘁。
要達(dá)到這樣的目標(biāo)必須發(fā)送郵件的兩人都有公鑰和私鑰。
公鑰逐虚,就是給大家用的,你可以通過電子郵件發(fā)布撮躁,可以通過網(wǎng)站讓別人下載,公鑰其實(shí)是用來加密/驗(yàn)章用的把曼。私鑰漓穿,就是自己的,必須非常小心保存晃危,最好加上 密碼,私鑰是用來解密/簽章山害,首先就Key的所有權(quán)來說,私鑰只有個(gè)人擁有冤荆。公鑰與私鑰的作用是:用公鑰加密的內(nèi)容只能用私鑰解密权纤,用私鑰加密的內(nèi)容只能 用公鑰解密。
比如說汹想,我要給你發(fā)送一個(gè)加密的郵件。首先古掏,我必須擁有你的公鑰,你也必須擁有我的公鑰丧枪。
首先光涂,我用你的公鑰給這個(gè)郵件加密拧烦,這樣就保證這個(gè)郵件不被別人看到,而且保證這個(gè)郵件在傳送過程中沒有被修改齐佳。你收到郵件后债沮,用你的私鑰就可以解密炼吴,就能看到內(nèi)容秦士。
其次我用我的私鑰給這個(gè)郵件加密永高,發(fā)送到你手里后,你可以用我的公鑰解密命爬。因?yàn)樗借€只有我手里有,這樣就保證了這個(gè)郵件是我發(fā)送的皆愉。
非對稱密鑰密碼的主要應(yīng)用就是公鑰加密和公鑰認(rèn)證艇抠,而公鑰加密的過程和公鑰認(rèn)證的過程是不一樣的幕庐,下面我就詳細(xì)講解一下兩者的區(qū)別家淤。
三、基于公開密鑰的加密過程
比如有兩個(gè)用戶Alice和Bob冤寿,Alice想把一段明文通過雙鑰加密的技術(shù)發(fā)送給Bob青伤,Bob有一對公鑰和私鑰督怜,那么加密解密的過程如下:
1.Bob將他的公開密鑰傳送給Alice狠角。
2.Alice用Bob的公開密鑰加密她的消息,然后傳送給Bob姨蟋。
3.Bob用他的私人密鑰解密Alice的消息。
Alice使用Bob的公鑰進(jìn)行加密芬探,Bob用自己的私鑰進(jìn)行解密。
基于公開密鑰的認(rèn)證過程
身份認(rèn)證和加密就不同了偷仿,主要用戶鑒別用戶的真?zhèn)巍_@里我們只要能夠鑒別一個(gè)用戶的私鑰是正確的节榜,就可以鑒別這個(gè)用戶的真?zhèn)巍?/p>
還是Alice和Bob這兩個(gè)用戶别智,Alice想讓Bob知道自己是真實(shí)的Alice,而不是假冒的薄榛,因此Alice只要使用公鑰密碼學(xué)對文件 簽名發(fā)送給Bob,Bob使用Alice的公鑰對文件進(jìn)行解密敞恋,如果可以解密成功,則證明Alice的私鑰是正確的补箍,因而就完成了對Alice的身份鑒 別啸蜜。整個(gè)身份認(rèn)證的過程如下:
1.Alice用她的私人密鑰對文件加密坑雅,從而對文件簽名衬横。
2.Alice將簽名的文件傳送給Bob。
3.Bob用Alice的公鑰解密文件蛹尝,從而驗(yàn)證簽名悉尾。
Alice使用自己的私鑰加密突那,Bob用Alice的公鑰進(jìn)行解密构眯。
根證書
根證書是CA認(rèn)證中心給自己頒發(fā)的證書,是信任鏈的起始點(diǎn)。安裝根證書意味著對這個(gè)CA認(rèn)證中心的信任猫缭。
總結(jié)
根據(jù)非對稱密碼學(xué)的原理,每個(gè)證書持有人都有一對公鑰和私鑰猜丹,這兩把密鑰可以互為加解密。公鑰是公開的射窒,不需要保密,而私鑰是由證書持人自己持有蝌麸,并且必須妥善保管和注意保密。
數(shù)字證書則是由證書認(rèn)證機(jī)構(gòu)(CA)對證書申請者真實(shí)身份驗(yàn)證之后来吩,用CA的根證書對申請人的一些基本信息以及申請人的公鑰進(jìn)行簽名(相當(dāng)于加蓋發(fā)證書機(jī) 構(gòu)的公章)后形成的一個(gè)數(shù)字文件蔽莱。CA完成簽發(fā)證書后,會將證書發(fā)布在CA的證書庫(目錄服務(wù)器)中碾褂,任何人都可以查詢和下載,因此數(shù)字證書和公鑰一樣是 公開的。
可以這樣說恤溶,數(shù)字證書就是經(jīng)過CA認(rèn)證過的公鑰,而私鑰一般情況都是由證書持有者在自己本地生成的咒程,由證書持有者自己負(fù)責(zé)保管。具體使用時(shí)稠集,簽名操作是發(fā) 送方用私鑰進(jìn)行簽名饥瓷,接受方用發(fā)送方證書來驗(yàn)證簽名剥纷;加密操作則是用接受方的證書進(jìn)行加密呢铆,接受方用自己的私鑰進(jìn)行解密晦鞋。
補(bǔ)充:
公鑰是很容易得到的分發(fā),它有很多副本,而私鑰呢悠垛,就一把线定,在你自己那兒。如果用私鑰解密了一份用你的公鑰加密的文件确买,那么你是沒有辦法知道很確切的人的斤讥,因?yàn)槟愕墓€副本很多(對方是可以抵賴的),但是對應(yīng)的湾趾,也只有你能解密這個(gè)文件周偎,這是私鑰的解密功能。至于簽名就很好理解了撑帖,你用你的私鑰加密了一個(gè)文本散發(fā)出去,內(nèi)容大家都可以看(有你公鑰的人)胡嘿,但是蛉艾,誰也沒辦法仿制這份文件,因?yàn)樗借€就你那里有(如果你的私鑰泄露了衷敌,那也不叫私鑰了)勿侯,所以,你是沒有辦法抵賴的缴罗,這就是私鑰的簽名特性助琐。同理就可以看出公鑰是加密和驗(yàn)證的。另外說一下面氓,用私鑰對一個(gè)文件進(jìn)行編碼可不叫完全的加密啊兵钮,這文件只要是擁有你公鑰的人都可以打開并讀取內(nèi)容的,是沒有安全可言的舌界。
如果這篇文章對您有些許幫助 請給我點(diǎn)個(gè)心哦掘譬。
摘自:10.3.3 非對稱密鑰技術(shù) - 51CTO.COM?,pepa.javaeye.com/blog/250991?