PKI/CA工作原理及架構(gòu)

相關(guān)概念

  • PKI:Public Key Infrastructure,公鑰基礎(chǔ)設(shè)施。
  • CA:Certificate Of Authority,認(rèn)證中心。
  • 數(shù)字證書:提供了一種發(fā)布公鑰的簡便途徑;
    一個(gè)數(shù)字證書包括:擁有者身份信息、公鑰、CA數(shù)字簽名、有效期等其他信息。
  • 數(shù)字簽名:用來確認(rèn)信息發(fā)送者的身份,保證信息的完整性和抗否認(rèn)性。

數(shù)字簽名

圖1 數(shù)字簽名
  • 數(shù)字簽名的生成:對于要傳輸?shù)南⒃氖褂孟⒄惴ǎ∕D5、SHA)生成消息摘要,發(fā)送方使用自己的私鑰對摘要進(jìn)行加密,生成數(shù)字簽名。
  • 數(shù)字簽名的驗(yàn)證:數(shù)字簽名同消息一通傳輸給接收方,接收方對簽名使用發(fā)送方的公鑰解密還原摘要,并對得到的原文進(jìn)行hash計(jì)算出消息摘要,比對兩份消息摘要是否相同,可以保證消息的完整性和抗否認(rèn)性。

用發(fā)送發(fā)私鑰生成數(shù)字簽名、用發(fā)送方公鑰解密,可以證明消息確實(shí)是由公鑰擁有者發(fā)出的。
兩份摘要的比對結(jié)果,可以證明消息在傳輸?shù)倪^程中是否被改動(dòng)。

數(shù)字證書

數(shù)字簽名要發(fā)揮作用,首先需要接收方獲取發(fā)送方的公鑰。如何證明獲取的公鑰確實(shí)是發(fā)送方的公鑰而不是假冒的呢?數(shù)字證書提供了一種發(fā)布公鑰的簡便方法。

圖2 證書的申請、發(fā)布、使用
圖3 數(shù)字證書的生成與驗(yàn)證

簡單地來說,把上面的原文換成公鑰、身份信息、有效期等其他信息,就是數(shù)字證書的生成和驗(yàn)證過程。

  • 數(shù)字證書的生成:CA收到數(shù)字證書申請并認(rèn)證申請者的真實(shí)身份后,把申請者的公鑰、身份信息、數(shù)字證書的有效期等信息作為消息原文,進(jìn)行hash生成摘要,并用CA的私鑰加密進(jìn)行簽名;數(shù)字簽名與證書擁有者的公鑰、身份信息、證書有效期等其他信息共同組成數(shù)字證書。
  • 數(shù)字證書的驗(yàn)證:數(shù)字證書生成后,經(jīng)歷圖2中3、4、5的傳輸過程,來到接收方。接收方收到消息證書后,使用CA公鑰對數(shù)字簽名解密生成消息摘要,對證書內(nèi)容進(jìn)行hash生成摘要,兩份摘要進(jìn)行比對可證明證書內(nèi)容的完整性與真實(shí)性。

使用CA私鑰進(jìn)行簽名和解密,可以證明證書確實(shí)是由CA發(fā)布的;
兩份摘要的對比結(jié)果,可以證明證書內(nèi)容是否在傳輸過程中被改動(dòng);
如果消息原文中的公鑰和身份信息是CA的,則是CA自簽名的過程。

通信過程

數(shù)字證書提供了一種發(fā)布公鑰的簡便途徑,大家通過向CA申請認(rèn)證發(fā)布自己的公鑰,通過向CA驗(yàn)證來確認(rèn)自己獲得了別人的公鑰。下圖展示了通信雙方互相獲得公鑰以后的通信過程。

圖4 通信過程
  • 發(fā)送方對要傳輸消息原文進(jìn)行hash,生成消息摘要,用發(fā)送方的私鑰生成數(shù)字簽名;
  • 隨機(jī)生成對稱秘鑰,對原文加密,生成密文;
  • 用接收方公鑰加密對稱秘鑰;
  • 將加密后的對稱秘鑰、數(shù)字簽名與密文一通發(fā)送;
  • 接收方收到后,用自己的私鑰解密對稱秘鑰;
  • 用對稱秘鑰解密密文,得到原文;
  • 對原文hash得到摘要,用發(fā)送方的公鑰解密簽名得到摘要,對方兩份摘要。

非對稱加密安全性高,但計(jì)算量大效率低,因此使用對稱秘鑰對通信的主要內(nèi)容進(jìn)行加密;對稱秘鑰每次使用隨機(jī)生成,用完即丟棄,降低風(fēng)險(xiǎn);
用接收方公鑰加密對稱秘鑰,保證了只有接收方才能對密文進(jìn)行解密;
用發(fā)送發(fā)私鑰進(jìn)行簽名,使得接收方可以驗(yàn)證消息的發(fā)送方和消息是否被修改過,保證了信息的完整性和抗否認(rèn)性。

PKI/CA架構(gòu)

完整的PKI/CA系統(tǒng)如下部分:

  • 安全服務(wù)器:安全服務(wù)器面向普通用戶,用于提供證書申請、瀏覽、證書撤銷列表、證書下載等安全服務(wù);用戶需要首先得到安全服務(wù)器的證書(該證書由CA頒發(fā));
  • 注冊機(jī)構(gòu)RA:在CA體系結(jié)構(gòu)中起承上啟下的作用,一方面向CA轉(zhuǎn)發(fā)安全服務(wù)器傳輸過來的證書申請請求,另一方面向LDAP服務(wù)器和安全服務(wù)器轉(zhuǎn)發(fā)CA頒發(fā)的數(shù)字證書和證書撤銷列表(CRL)。
  • LDAP服務(wù)器:Lightweight Directory Access Protocol(輕量目錄訪問協(xié)議),提供目錄瀏覽服務(wù),負(fù)責(zé)將注冊機(jī)構(gòu)服務(wù)器RA傳輸過來的用戶信息以及數(shù)字證書加入到服務(wù)器上。用戶通過訪問LDAP服務(wù)器就能夠得到其他用戶的數(shù)字證書。
  • CA服務(wù)器:整個(gè)證書機(jī)構(gòu)的核心,負(fù)責(zé)證書的簽發(fā)。CA首先 產(chǎn)生自身的私鑰和公鑰,然后生成數(shù)字證書,并且將數(shù)字正常傳輸給安全服務(wù)器。CA還負(fù)責(zé)為安全服務(wù)器、RA服務(wù)器生成數(shù)字證書。
  • 數(shù)據(jù)庫服務(wù)器:CA中的核心部分,用于CA中數(shù)據(jù)(如密鑰和用戶信息等)、日志、統(tǒng)計(jì)信息的存儲(chǔ)和管理。
圖5 PKI系統(tǒng)

證書申請過程

  • 用戶申請:用戶獲取CA的數(shù)字證書(根證書),與安全服務(wù)器建立連接;生成自己的公鑰和私鑰,將公鑰和自己的身份信息提交給安全服務(wù)器,安全服務(wù)器將用戶的申請信息傳送給RA服務(wù)器。
  • RA審核:RA收到用戶的申請,用戶向RA證明自己的身份,RA進(jìn)行核對。如果RA同意用戶申請證書的請求,則對證書申請信息做數(shù)字簽名;否則拒絕用戶的申請。
  • CA發(fā)行證書:RA將用戶申請和RA簽名傳輸給CA,CA對RA數(shù)字簽名做認(rèn)證,如果驗(yàn)證通過,則同意用戶請求,頒發(fā)證書,然后將證書輸出。如果驗(yàn)證不通過,則拒絕證書申請。
  • RA轉(zhuǎn)發(fā)證書:RA從CA得到新的證書,首先將證書輸出到LDAP服務(wù)器以提供目錄瀏覽,再通知用戶證書發(fā)行成功,告知證書序列號(hào),到指定的網(wǎng)址去下載證書。
  • 用戶證書獲取:用戶使用證書序列號(hào)去指定網(wǎng)址下載自己的數(shù)字證書,只有持有與申請時(shí)提交的公鑰配對的私鑰才能下載成功。

證書撤銷過程

  • 用戶申請:用戶向RA發(fā)送一封簽名加密郵件,申請撤銷證書。
  • RA審核:注冊機(jī)構(gòu)同意證書撤銷,并對申請簽名。
  • CA更新CRL:CA驗(yàn)證證書撤銷請求的RA簽名,如果正確,則同意申請,并更新CRL,并輸出。
  • RA轉(zhuǎn)發(fā)CRL:注冊中心收到CRL,以多種方式將CRL公布(包括LDAP服務(wù)器)。
  • 用戶告知:用戶訪問LDAP服務(wù)器,下載或?yàn)g覽CRL。

證書的管理

認(rèn)證中心CA負(fù)責(zé)維護(hù)和發(fā)布證書廢除列表CRL(certificate revocation lists,又稱為證書黑名單)。
當(dāng)一個(gè)證書,特別是其中的公鑰因?yàn)槠渌驘o效時(shí)(不是因?yàn)榈狡冢珻RL提供了一種通知用戶和其他應(yīng)用的中心管理方式。CA系統(tǒng)生成CRL以后,放到LDAP服務(wù)器中或Web服務(wù)器的合適位置,供用戶查詢或下載。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 228,936評論 6 535
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 98,744評論 3 421
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 176,879評論 0 381
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經(jīng)常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 63,181評論 1 315
  • 正文 為了忘掉前任,我火速辦了婚禮,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 71,935評論 6 410
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 55,325評論 1 324
  • 那天,我揣著相機(jī)與錄音,去河邊找鬼。 笑死,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,384評論 3 443
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 42,534評論 0 289
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 49,084評論 1 335
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 40,892評論 3 356
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 43,067評論 1 371
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,623評論 5 362
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 44,322評論 3 347
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,735評論 0 27
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 35,990評論 1 289
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 51,800評論 3 395
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 48,084評論 2 375

推薦閱讀更多精彩內(nèi)容