Public Key Infrastructure(PKI)墩新,中文叫做公開密鑰基礎(chǔ)設(shè)施胚宦,也就是利用公開密鑰機(jī)制建立起來(lái)的基礎(chǔ)設(shè)施填大。但是如果這么解釋起來(lái)戒洼,到底是個(gè)什么東西俏橘,大家想必是沒辦法理解的允华。
現(xiàn)在大家的很多重要活動(dòng)都是通過網(wǎng)絡(luò)進(jìn)行的,那么與之俱來(lái)的安全問題就顯得非常重要寥掐。同時(shí)很多安全保障機(jī)制都是基于PKI的靴寂,如果你因?yàn)楦鞣N原因(考試?提案召耘?好奇百炬?)想知道各種PKI是什么。那么通過這篇文章污它,絕對(duì)讓你5分鐘知道什么是PKI剖踊。
PKI不好理解的原因是,這個(gè)概念包括了很多不同的技術(shù)和知識(shí)衫贬,同時(shí)又因?yàn)檫@個(gè)概念很龐大德澈,讓人感覺無(wú)從下手。但是固惯,這個(gè)概念其實(shí)沒有看起來(lái)那么復(fù)雜梆造,讓我們開始說(shuō)明吧!
第1分鐘 - PKI的核心是身份證明書的發(fā)行
PKI的主要目的是用來(lái)發(fā)行“身份證明書”葬毫,網(wǎng)絡(luò)上因?yàn)榇蠹也荒芤娒嬲蚧裕詡卧焐矸菔欠浅H菀椎氖虑椤R驗(yàn)橐诰W(wǎng)絡(luò)上驗(yàn)明正身贴捡,所以這個(gè)網(wǎng)絡(luò)身份證明書就變得很重要了忽肛。
相互通信的時(shí)候,如果能相互確認(rèn)身份證明書烂斋,那么我們就知道自己是在跟對(duì)的人通信屹逛。
但是,自己做的身份證明書是不能拿來(lái)作為證明的源祈,就像生活中煎源,如果公民身份證可以私人合法制作的話,那么身份證也就沒啥可信度了香缺。網(wǎng)絡(luò)世界中手销,我們需要一個(gè)信得過的發(fā)證機(jī)關(guān)來(lái)發(fā)行身份證明書,同時(shí)自己要好好保管自己的身份證明書图张,就像派出所給你發(fā)了公民身份證锋拖,自己要好好保管一樣诈悍。
PKI的世界里,這個(gè)身份證明書兽埃,被叫做“證明書”侥钳。發(fā)行“證明書”的機(jī)關(guān)叫做“認(rèn)證機(jī)關(guān)”。還有一個(gè)就是統(tǒng)一管理證明書的證書“檔案庫(kù)”柄错。這三個(gè)東西加起來(lái)舷夺,就是PKI的主要構(gòu)成要素。
第2分鐘 - 構(gòu)成PKI的要素只有三個(gè)
就像之前提到的售貌,一般來(lái)說(shuō)给猾,構(gòu)成PKI的主要要素就是下面三個(gè)概念
證明書
認(rèn)證機(jī)關(guān)
證書庫(kù)
說(shuō)到底,PKI指的是證明書的制作和分發(fā)的一種機(jī)制颂跨。在這個(gè)機(jī)制的保障前提下敢伸,進(jìn)行可信賴的網(wǎng)絡(luò)通信。即安全的網(wǎng)路通信保障機(jī)制恒削。
實(shí)際上池颈,證明書是被存放在硬盤或者IC卡里面的。證明書的文件構(gòu)造是一種叫做 X.509 的協(xié)議規(guī)定的钓丰。另一方面躯砰,認(rèn)證機(jī)關(guān)也其實(shí)就是一個(gè)網(wǎng)絡(luò)應(yīng)用程序。
證書庫(kù)因?yàn)槟承┰虬吡唬鋵?shí)也就是文件系統(tǒng)而已弃揽,在網(wǎng)絡(luò)上將證書存放在一起。這些東西则北,可以通過下載來(lái)獲取矿微。或者尚揣,因?yàn)槟承┰蛴渴福C書直接分發(fā),從而省去了證書庫(kù)這個(gè)環(huán)節(jié)快骗。
第3分鐘 - 證明書里面的密鑰
一旦利用了證明書確認(rèn)了身份的同時(shí)娜庇,通信的加密也就可以實(shí)現(xiàn)了。為什么呢方篮?證明書里面包含了用來(lái)加密的密鑰名秀。
比如說(shuō),你要和一個(gè)自稱比爾的男人通信藕溅。這個(gè)自稱比爾的男人匕得,會(huì)在通信的最開始,通過網(wǎng)絡(luò)將證明書發(fā)給你,那么通過這個(gè)證明書汁掠,就證實(shí)了他就是比爾略吨。
然后,你用這個(gè)“證明書中的密鑰”考阱,將你要發(fā)送給比爾的內(nèi)容進(jìn)行加密翠忠,然后發(fā)送給比爾。
用“證明書中的密鑰”加密過的內(nèi)容乞榨,只能用比爾自己才有的另一個(gè)“私人的密鑰”才能解密秽之。這樣的話,如果你發(fā)送給比爾的內(nèi)容被他人竊取的話姜凄,他人也無(wú)法解密政溃。
只要比爾自己好好保管好自己才有的“私人的密鑰”,那么如果有人拿著比爾的“證明書中的密鑰”想要胡作非為的話态秧,那就是不可能的。因?yàn)橛谩白C明書中的密鑰”加密過的內(nèi)容扼鞋,只有比爾自己才有的“私人的密鑰”才能解密申鱼。
所以這么一來(lái),PKI提供的證明書可以用來(lái) 身份確認(rèn) 和 通信加密云头。同時(shí)實(shí)現(xiàn)了這兩個(gè)重要的功能捐友。
第4分鐘 - 什么是“公開密鑰”,什么是“私有密鑰”
對(duì)于比爾來(lái)說(shuō)溃槐,只要保證本人的那個(gè)“私人的密鑰”不被盜走匣砖,包含在“證明書里的密鑰”給多少人都沒有關(guān)系。也就是說(shuō)昏滴,想跟比爾通信的人猴鲫,必須要有比爾的證明書,要用比爾“證明書里的密鑰”對(duì)通信內(nèi)容進(jìn)行加密谣殊。為了能讓其他人可以方便的獲取比爾的證明書拂共,證書庫(kù)就顯得有必要了。
在PKI機(jī)制中姻几,放在“證明書里面的密鑰”可以被任意自由分發(fā)宜狐,這里的“證明書里的密鑰”被叫做“公開密鑰(Public Key)”。與此相對(duì)蛇捌,本人保管的那個(gè)“私人的密鑰”就要做“私有密鑰(Private Key)”抚恒。
就像前文提到的,公開密鑰是放在證明書里面的络拌,所有用什么樣的方式去分發(fā)證明書都沒有關(guān)系俭驮。放到U盤里給別人,或者放到網(wǎng)上讓人任意下載盒音,或者用郵件發(fā)送表鳍,都是可以的馅而。
第5分鐘 - “拿什么去信任你?我的證明書”
先前說(shuō)到譬圣,用包含在證明書里的公開密鑰去給通信內(nèi)容加密瓮恭,這個(gè)過程大家已經(jīng)知道。但是PKI提供的證明書真的可以被信任嗎厘熟?說(shuō)到底屯蹦,證明書也就是普通的文件而已。不像貨幣那樣绳姨,本身有著特殊的材質(zhì)或者物理上的防偽措施登澜。
這么想是完全對(duì)的,因?yàn)閷?shí)際上飘庄,認(rèn)證機(jī)關(guān)所用的證書生成器說(shuō)到底也就是一個(gè)軟件而已脑蠕,如果搞到這個(gè)軟件,誰(shuí)都可以發(fā)行證明書跪削。所以說(shuō)谴仙,在技術(shù)上,偽造證明書是非常簡(jiǎn)單的碾盐。所謂假的證明書晃跺,比如說(shuō)有一個(gè)所謂的“比爾的證明書”,但是里面含有的公開密鑰是史提芬的公開密鑰毫玖。那么掀虎,別人發(fā)給比爾的信息,史蒂芬可以解密付枫,反而比爾自己不能解密烹玉。
這樣看來(lái),這個(gè)認(rèn)證機(jī)關(guān)就至關(guān)重要了励背,認(rèn)證機(jī)關(guān)的可信度春霍,直接與證書的可信度掛鉤,也就是與整個(gè)PKI機(jī)制的可信度息息相關(guān)叶眉。
關(guān)于認(rèn)證機(jī)關(guān)的權(quán)威性和可信度的問題址儒,其實(shí)是一個(gè)社會(huì)基礎(chǔ)設(shè)施建設(shè)的話題了。
在很多國(guó)家認(rèn)證機(jī)關(guān)都是由政府在主導(dǎo)建設(shè)衅疙,常常被視作一個(gè)社會(huì)性基礎(chǔ)設(shè)施的一個(gè)環(huán)節(jié)莲趣。如同建設(shè)各種社會(huì)機(jī)構(gòu),比如醫(yī)院饱溢,銀行喧伞,學(xué)校等等。
(譯者案:日本關(guān)于這些基礎(chǔ)概念的文章都寫的非常通俗易懂,如何去讓小白都可以去理解一個(gè)非常復(fù)雜的概念潘鲫,這是日本人寫技術(shù)文章特別專注的翁逞,很值得大家學(xué)習(xí), 雖然小日本可恨溉仑,哈哈M诤)