一、加密概念 加密是通過Intranet、Extranet和Internet進行安(ān)全的信息交換的基礎。從業務(wù)的角度來看,通過加密實現的安(ān)全功能(néng)包括:身份驗證,使收件人确信發件人就是他(tā)或她所聲明的那個人;機密性,确保隻有(yǒu)預期的收件人能(néng)夠閱讀郵件;以及完整性,确保郵件在傳輸過程中(zhōng)沒有(yǒu)被更改。從技(jì )術的角度來看,加密是利用(yòng)數學(xué)方法将郵件轉換為(wèi)不可(kě)讀格式從而達到保護數據的目的的一門科(kē)學(xué)。 本文(wén)将介紹下列加密概念: 對稱密鑰加密:一個密鑰 公(gōng)鑰加密:兩個密鑰 單向散列算法 數字簽名(míng):結合使用(yòng)公(gōng)鑰與散列 密鑰交換:結合使用(yòng)對稱密鑰與公(gōng)鑰 1. 對稱密鑰加密:一個密鑰 對稱密鑰加密,也叫做共享密鑰加密或機密密鑰加密,使用(yòng)發件人和收件人共同擁有(yǒu)的單個密鑰。這種密鑰既用(yòng)于加密,也用(yòng)于解密,叫做機密密鑰(也稱為(wèi)對稱密鑰或會話密鑰)。對稱密鑰加密是加密大量數據的一種行之有(yǒu)效的方法。 對稱密鑰加密有(yǒu)許多(duō)種算法,但所有(yǒu)這些算法都有(yǒu)一個共同的目的---可(kě)以還原的方式将明文(wén)(未加密的數據)轉換為(wèi)暗文(wén)。暗文(wén)使用(yòng)加密密鑰編碼,對于沒有(yǒu)解密密鑰的任何人來說它都是沒有(yǒu)意義的。由于對稱密鑰加密在加密和解密時使用(yòng)相同的密鑰,所以這種加密過程的安(ān)全性取決于是否有(yǒu)未經授權的人獲得了對稱密鑰。這就是它為(wèi)什麽也叫做機密密鑰加密的原因。希望使用(yòng)對稱密鑰加密通信的雙方,在交換加密數據之前必須先安(ān)全地交換密鑰。 衡量對稱算法優劣的主要尺度是其密鑰的長(cháng)度。密鑰越長(cháng),在找到解密數據所需的正确密鑰之前必須測試的密鑰數量就越多(duō)。需要測試的密鑰越多(duō),破解這種算法就越困難。有(yǒu)了好的加密算法和足夠長(cháng)的密鑰,如果有(yǒu)人想在一段實際可(kě)行的時間内逆轉轉換過程,并從暗文(wén)中(zhōng)推導出明文(wén),從計算的角度來講,這種做法是行不通的。 2. 公(gōng)鑰加密:兩個密鑰 公(gōng)鑰加密使用(yòng)兩個密鑰:一個公(gōng)鑰 和一個私鑰,這兩個密鑰在數學(xué)上是相關的。為(wèi)了與對稱密鑰加密相對照,公(gōng)鑰加密有(yǒu)時也叫做不對稱密鑰加密。在公(gōng)鑰加密中(zhōng),公(gōng)鑰可(kě)在通信雙方之間公(gōng)開傳遞,或在公(gōng)用(yòng)儲備庫中(zhōng)發布,但相關的私鑰是保密的。隻有(yǒu)使用(yòng)私鑰才能(néng)解密用(yòng)公(gōng)鑰加密的數據。使用(yòng)私鑰加密的數據隻能(néng)用(yòng)公(gōng)鑰解密。與對稱密鑰加密相似,公(gōng)鑰加密也有(yǒu)許多(duō)種算法。然而,對稱密鑰和公(gōng)鑰算法在設計上并無相似之處。您可(kě)以在程序内部使用(yòng)一種對稱算法替換另一種,而變化卻不大,因為(wèi)它們的工(gōng)作(zuò)方式是相同的。而另一方面,不同公(gōng)鑰算法的工(gōng)作(zuò)方式卻完全不同,因此它們不可(kě)互換。公(gōng)鑰算法是複雜的數學(xué)方程式,使用(yòng)十分(fēn)大的數字。公(gōng)鑰算法的主要局限在于,這種加密形式的速度相對較低。實際上,通常僅在關鍵時刻才使用(yòng)公(gōng)鑰算法,如在實體(tǐ)之間交換對稱密鑰時,或者在簽署一封郵件的散列時(散列是通過應用(yòng)一種單向數學(xué)函數獲得的一個定長(cháng)結果,對于數據而言,叫做散列算法)。将公(gōng)鑰加密與其它加密形式(如對稱密鑰加密)結合使用(yòng),可(kě)以優化性能(néng)。公(gōng)鑰加密提供了一種有(yǒu)效的方法,可(kě)用(yòng)來把為(wèi)大量數據執行對稱加密時使用(yòng)的機密密鑰發送給某人。也可(kě)以将公(gōng)鑰加密與散列算法結合使用(yòng)以生成數字簽名(míng)。 數字簽名(míng)是郵件、文(wén)件或其它數字編碼信息的發件人将他(tā)們的身份與信息綁定在一起(即為(wèi)信息提供簽名(míng))的方法。對信息進行數字簽名(míng)的過程,需要将信息與由發件人掌握的秘密信息一起轉換為(wèi)叫做簽名(míng)的标記。數字簽名(míng)用(yòng)于公(gōng)鑰環境中(zhōng),它通過驗證發件人确實是他(tā)或她所聲明的那個人,并确認收到的郵件與發送的郵件完全相同,來幫助确保電(diàn)子商(shāng)務(wù)交易的安(ān)全。通常,數字簽名(míng)用(yòng)于以明文(wén)(如電(diàn)子郵件)分(fēn)發數據的情形。在這種情況下,當郵件本身的敏感性可(kě)能(néng)無法保證加密的安(ān)全性時,确保數據處于其原始格式且并非由假冒者發送,是非常重要的。 下面是三種最常用(yòng)的公(gōng)鑰算法: RSA-适用(yòng)于數字簽名(míng)和密鑰交換。Rivest-Shamir-Adleman (RSA) 加密算法是目前應用(yòng)最廣泛的公(gōng)鑰加密算法,特别适用(yòng)于通過 Internet 傳送的數據。這種算法以它的三位發明者的名(míng)字命名(míng):Ron Rivest、Adi Shamir 和 Leonard Adleman。RSA 算法的安(ān)全性基于分(fēn)解大數字時的困難(就計算機處理(lǐ)能(néng)力和處理(lǐ)時間而言)。在常用(yòng)的公(gōng)鑰算法中(zhōng),RSA 與衆不同,它能(néng)夠進行數字簽名(míng)和密鑰交換運算。 DSA-僅适用(yòng)于數字簽名(míng)。數字簽名(míng)算法 (Digital Signature Algorithm, DSA) 由美國(guó)國(guó)家安(ān)全署 (United States National Security Agency, NSA) 發明,已經由美國(guó)國(guó)家标準與技(jì )術協會 (National Institute of Standards and Technology, NIST) 收錄到聯邦信息處理(lǐ)标準 (Federal Information Processing Standard, FIPS) 之中(zhōng),作(zuò)為(wèi)數字簽名(míng)的标準。DSA 算法的安(ān)全性源自計算離散算法的困難。這種算法僅用(yòng)于數字簽名(míng)運算(不适用(yòng)于數據加密)。 Diffie-Hellman-僅适用(yòng)于密鑰交換。 Diffie-Hellman 是發明的第一個公(gōng)鑰算法,以其發明者 Whitfield Diffie 和 Martin Hellman 的名(míng)字命名(míng)。Diffie-Hellman 算法的安(ān)全性源自在一個有(yǒu)限字段中(zhōng)計算離散算法的困難。Diffie-Hellman 算法僅用(yòng)于密鑰交換。 3. 單向散列算法 散列-也稱為(wèi)散列值 或消息摘要,是一種與基于密鑰(對稱密鑰或公(gōng)鑰)的加密不同的數據轉換類型。散列就是通過把一個叫做散列算法的單向數學(xué)函數應用(yòng)于數據,将任意長(cháng)度的一塊數據轉換為(wèi)一個定長(cháng)的、不可(kě)逆轉的數字。所産(chǎn)生的散列值的長(cháng)度應足夠長(cháng),因此使找到兩塊具(jù)有(yǒu)相同散列值的數據的機會很(hěn)少。發件人生成郵件的散列值并加密它,然後将它與郵件本身一起發送。而收件人同時解密郵件和散列值,并由接收到的郵件産(chǎn)生另外一個散列值,然後将兩個散列值進行比較。如果兩者相同,郵件極有(yǒu)可(kě)能(néng)在傳輸期間沒有(yǒu)發生任何改變。 下面是兩個最常用(yòng)的散列函數: MD5。 MD5 是由 Ron Rivest 設計的可(kě)産(chǎn)生一個 128 位的散列值的散列算法。MD5設計經過優化以用(yòng)于Intel處理(lǐ)器。這種算法的基本原理(lǐ)已經洩露,這就是為(wèi)什麽它不太受歡迎的原因。 SHA-1。與 DSA 公(gōng)鑰算法相似,安(ān)全散列算法1(SHA-1)也是由NSA設計的,并由NIST将其收錄到 FIPS 中(zhōng),作(zuò)為(wèi)散列數據的标準。它可(kě)産(chǎn)生一個 160 位的散列值。SHA-1是流行的用(yòng)于創建數字簽名(míng)的單向散列算法。 4. 數字簽名(míng):結合使用(yòng)公(gōng)鑰與散列算法 可(kě)以結合使用(yòng)公(gōng)鑰技(jì )術與散列算法來創建數字簽名(míng)。數字簽名(míng)可(kě)用(yòng)作(zuò)數據完整性檢查并提供擁有(yǒu)私鑰的憑據。簽署和驗證數據(由啓用(yòng)PKI的應用(yòng)程序如Microsoft Outlook完成)的步驟如下: 發件人将一種散列算法應用(yòng)于數據,并生成一個散列值。 發件人使用(yòng)私鑰将散列值轉換為(wèi)數字簽名(míng)。 然後,發件人将數據、簽名(míng)及發件人的證書發給收件人。 收件人将該散列算法應用(yòng)于接收到的數據,并生成一個散列值。 收件人使用(yòng)發件人的公(gōng)鑰和新(xīn)生成的散列值驗證簽名(míng)。 對用(yòng)戶而言這一過程是透明的。 散列算法處理(lǐ)數據的速度比公(gōng)鑰算法快得多(duō)。散列數據還縮短了要簽名(míng)的數據的長(cháng)度,因而加快了簽名(míng)過程。當創建或驗證簽名(míng)時,公(gōng)鑰算法必須且隻需轉換散列值(128或160位的數據)。創建簽名(míng)和驗證簽名(míng)的詳細步驟取決于所采用(yòng)的公(gōng)鑰算法。 5. 密鑰交換:結合使用(yòng)對稱密鑰與公(gōng)鑰 對稱密鑰算法非常适合于快速并安(ān)全地加密數據。但其缺點是,發件人和收件人必須在交換數據之前先交換機密密鑰。結合使用(yòng)加密數據的對稱密鑰算法與交換機密密鑰的公(gōng)鑰算法可(kě)産(chǎn)生一種既快速又(yòu)靈活的解決方案。 基于公(gōng)鑰的密鑰交換步驟如下: 發件人獲得收件人的公(gōng)鑰。 發件人創建一個随機機密密鑰(在對稱密鑰加密中(zhōng)使用(yòng)的單個密鑰)。 發件人使用(yòng)機密密鑰和對稱密鑰算法将明文(wén)數據轉換為(wèi)暗文(wén)數據。 發件人使用(yòng)收件人的公(gōng)鑰将機密密鑰轉換為(wèi)暗文(wén)機密密鑰。 發件人将暗文(wén)數據和暗文(wén)機密密鑰一起發給收件人。 收件人使用(yòng)其私鑰将暗文(wén)機密密鑰轉換為(wèi)明文(wén)。 收件人使用(yòng)明文(wén)機密密鑰将暗文(wén)數據轉換為(wèi)明文(wén)數據。 同樣,這些步驟是由啓用(yòng)PKI的應用(yòng)程序(如Microsoft Outlook)來完成的,并且對用(yòng)戶來說是透明的。 二、公(gōng)鑰基本結構的概念 術語公(gōng)鑰基本結構(PKI)用(yòng)于描述管制或操縱證書與公(gōng)鑰及私鑰的策略、标準和軟件。實際上,PKI 是指由數字證書、證書頒發機構(CA) 以及對電(diàn)子交易所涉及各方的合法性進行檢查和驗證的其它注冊機構組成的一套系統。PKI的有(yǒu)關标準仍處于不斷發展之中(zhōng),即使這些标準已被作(zuò)為(wèi)電(diàn)子商(shāng)務(wù)的要素而廣泛實施。 PKI一般包括: 證書 證書頒發機構 (CA) 不可(kě)更改的CA層次結構 注冊 證書登記 證書吊銷 證書鏈驗證 1. 證書 公(gōng)鑰證書,通常簡稱為(wèi)證書,用(yòng)于在 Internet、Extranet 和 Intranet 上進行身份驗證并确保數據交換的安(ān)全。證書的頒發者和簽署者就是衆所周知的證書頒發機構 (CA)。頒發證書的實體(tǐ)是證書的主體(tǐ)。公(gōng)鑰證書是以數字方式簽名(míng)的聲明,它将公(gōng)鑰的值與持有(yǒu)相應私鑰的主體(tǐ)(個人、設備和服務(wù))的身份綁定在一起。通過在證書上簽名(míng),CA 可(kě)以核實與證書上公(gōng)鑰相應的私鑰為(wèi)證書所指定的主體(tǐ)所擁有(yǒu)。可(kě)以為(wèi)各種目的頒發證書,如 Web 用(yòng)戶身份驗證、Web 服務(wù)器身份驗證、使用(yòng)安(ān)全/多(duō)用(yòng)途 Internet 郵件擴充協議 (Secure/Multipurpose Internet Mail Extensions, S/MIME) 的安(ān)全電(diàn)子郵件、IP 安(ān)全性 (IP Security)、安(ān)全套接字協議層/事務(wù)層安(ān)全性 (Secure Sockets Layer/Transaction Layer Security, SSL/TLS) 和代碼簽名(míng)。如果在一個組織内部使用(yòng) Windows 2000 企業證書頒發機構,證書可(kě)用(yòng)于登錄到 Windows 2000 域。證書還可(kě)以由一個 CA 頒發給另一個 CA,以建立證書層次結構。 可(kě)以通過多(duō)個名(míng)稱來識别主體(tǐ),如用(yòng)戶主要名(míng)稱(用(yòng)于最終用(yòng)戶證書)、目錄名(míng)、電(diàn)子郵件名(míng)稱和 DNS 域名(míng)等。證書還應包含下列信息: 證書的有(yǒu)效期。 證書的序列号,CA 應保證該序列号是唯一的。 CA 的名(míng)稱以及用(yòng)于簽署該證書的密鑰。 CA 所遵循的用(yòng)來确定證書主體(tǐ)身份的策略的标識符(稍後将詳細介紹 CA 策略)。 在證書中(zhōng)标識的密鑰對(公(gōng)鑰及相關的私鑰)的用(yòng)法。 證書吊銷列表 (CRL) 的位置,這是一個由 CA 維護并發布的列出已被吊銷的證書的文(wén)檔。為(wèi)确保其完整性,CRL 是用(yòng) CA 的私鑰簽署的。 證書提供了一個在公(gōng)鑰和擁有(yǒu)相應私鑰的實體(tǐ)之間建立關系的機制。目前最常用(yòng)的證書格式通過 ITU-T X.509 版本 3 (X.509v3) 國(guó)際标準定義。RFC 2459 是X.509v3 的一個配置文(wén)件,進一步闡明了 X.509v3 中(zhōng)定義的字段。Windows 2000 PKI 采用(yòng) X.509v3 标準。Windows 證書是按照 RFC 2459 中(zhōng)的說明編程的,但仍然叫做 X.509v3 證書。 ITU-T X.509 并非證書的唯一格式。例如,Pretty Good Privacy (PGP) 安(ān)全電(diàn)子郵件依賴 PGP 所獨有(yǒu)的一種證書。 2. 證書頒發機構 證書頒發機構 (CA) 是一個向個人、計算機或任何其它申請實體(tǐ)頒發證書的可(kě)信實體(tǐ)。CA 受理(lǐ)證書申請,根據該 CA 的策略驗證申請人的信息,然後使用(yòng)它的私鑰把其數字簽名(míng)應用(yòng)于證書。然後,CA 将該證書頒發給該證書的主體(tǐ),作(zuò)為(wèi) PKI 内部的安(ān)全憑據。由于不同的 CA 使用(yòng)不同的方法驗證公(gōng)鑰與主體(tǐ)之間的綁定,在選擇信任該頒發機構之前,理(lǐ)解該 CA 的策略是非常重要的。 CA 可(kě)以是遠(yuǎn)程的第三方機構,如 VeriSign。作(zuò)為(wèi)選擇,也可(kě)以是您創建的供您所在組織使用(yòng)的 CA,例如,通過安(ān)裝(zhuāng) Windows 2000 證書服務(wù)即可(kě)創建一個 CA。每個 CA 對證書申請人可(kě)能(néng)有(yǒu)完全不同的身份憑據要求,如 Windows 2000 域帳戶、職員标記、駕駛執照、公(gōng)證請求或實際住址。 CA 根據也已确立的一套标準向申請人頒發證書。CA 在受理(lǐ)證書請求(以及頒發證書、吊銷證書和發布 CRL)時所采用(yòng)的一套标準被稱為(wèi) CA 策略。通常,CA 以一種叫做證書慣例聲明 (Certification Practice Statement, CPS) 的文(wén)檔發布其策略。 CA 的類型包括以下三種: 自簽名(míng) CA。在自簽名(míng) CA 中(zhōng),證書中(zhōng)的公(gōng)鑰和用(yòng)于驗證證書的密鑰是相同的。一些自簽名(míng) CA 是根 CA 。 從屬 CA。在從屬 CA 中(zhōng),證書中(zhōng)的公(gōng)鑰和用(yòng)于核實證書的密鑰是不同的。一個 CA 向另一個 CA 頒發證書的過程叫做交叉認證。 根 CA。根 CA 是一種特殊的 CA,它受到客戶無條件地信任,位于證書層次結構的最高層。所有(yǒu)證書鏈均終止于根 CA。根頒發機構必須對它自己的證書簽名(míng),因為(wèi)在證書層次結構中(zhōng)再也沒有(yǒu)更高的認證機構了。 所有(yǒu)自簽名(míng) CA 都是根 CA,因為(wèi)到自簽名(míng) CA 時證書鏈就終止了。 3. 不可(kě)更改的 CA 層次結構 管理(lǐ)員可(kě)以創建 CA 的層次結構,從根 CA 證書開始,然後添加中(zhōng)級 CA,每一個 CA 都可(kě)以為(wèi)其從屬 CA 頒發證書。當 CA 向最終實體(tǐ)(用(yòng)戶)頒發證書時,證書鏈就終止了。 根 CA 證書的分(fēn)發費用(yòng)最高,因為(wèi)如果您開始改變根證書,就必須重建整個PKI。如果根證書改變了,就必須吊銷組織内所有(yǒu)客戶端的舊的根證書,并添加新(xīn)的根證書。另外,必須重新(xīn)頒發由根 CA 頒發的、再由從屬 CA 頒發給最終實體(tǐ)的所有(yǒu)證書。因此,在部署 CA 層次結構時,使用(yòng)少量的長(cháng)壽命根CA可(kě)提供最經濟的解決方案。根CA非常重要-因為(wèi)它們被無條件地信任,因為(wèi)它們是證書鏈的頂點-因此,在分(fēn)發證書時要有(yǒu)一個圈外的身份驗證。也就是說,由于根 CA 是自簽名(míng)的,所以必須有(yǒu)人來證明根證書是真品。 因為(wèi)最終實體(tǐ)要比 CA 多(duō)得多(duō),所以向最終實體(tǐ)頒發證書的 CA 使用(yòng)私鑰在大量的數據上簽名(míng)。用(yòng)來對數據簽名(míng)的密鑰使用(yòng)得越頻繁,加密數據受到攻擊的可(kě)能(néng)性就越大。因此,為(wèi)了保持安(ān)全,向最終實體(tǐ)頒發證書的聯機 CA 必須經常更換其簽名(míng)密鑰。 向最終實體(tǐ)頒發證書的 CA 具(jù)有(yǒu)的吊銷證書列表,要比中(zhōng)級或根 CA 的列表大得多(duō)(這些 CA 僅向其它 CA,更多(duō)的是從屬 CA 頒發證書)。其部分(fēn)原因是因為(wèi)最終實體(tǐ)要比 CA 證書多(duō)得多(duō)。另外,有(yǒu)許多(duō)理(lǐ)由可(kě)以解釋為(wèi)什麽必須吊銷最終實體(tǐ)的證書,如職員改變了工(gōng)作(zuò)或離開了公(gōng)司。 CA 發布吊銷證書列表(CRL),其中(zhōng)列出了不應再使用(yòng)的證書。被吊銷證書的有(yǒu)關條目将一直保留在 CRL 列表中(zhōng),直至證書的有(yǒu)效期 結束之後,CA 才可(kě)将該證書從列表中(zhōng)删除。CRL 中(zhōng)的條目越多(duō),CRL 就越大,其下載時間就越長(cháng)。通常,隻有(yǒu)使用(yòng)較慢的網絡鏈路(如撥号連接)的用(yòng)戶才會遇到下載時間問題。CA 還可(kě)以管理(lǐ) CRL 列表的大小(xiǎo)。一種方法是維護多(duō)個列表,稱為(wèi)分(fēn)區(qū) CRL。另一種方法是,縮短已頒發證書的有(yǒu)效期,從而加快 CA 從列表中(zhōng)删除吊銷證書的速度。 許多(duō)應用(yòng)程序必須能(néng)夠查明證書最近的吊銷狀态信息。隻有(yǒu)一個聯機 CA 能(néng)夠發布有(yǒu)關證書狀态的當前信息。由脫機CA公(gōng)布的吊銷狀态,必須使用(yòng)圈外的方法發布到聯機位置。 大多(duō)數容易受到攻擊的 CA 都是處于聯機狀态的、物(wù)理(lǐ)安(ān)全措施較差并簽署了大量證書的 CA。因此,建立根 CA和從屬CA時,應該平衡一下安(ān)全性和可(kě)用(yòng)性。通常,建議采用(yòng)三級層次結構,即一個脫機的獨立根 CA、一個脫機的獨立從屬策略 CA 和一個聯機從屬頒發企業 CA。 脫機根CA。 在設計 CA 的層次結構時,根CA的安(ān)全級别應設為(wèi)最高。根CA應以脫機狀态保存在安(ān)全的位置,并且用(yòng)它隻簽署少量證書。可(kě)能(néng)的話,應該将CA和密鑰保存在專門的保管庫中(zhōng),并且至少同時有(yǒu)兩位操作(zuò)員進入該保管庫,一位執行規定的操作(zuò),另一位審核其操作(zuò)。(在Windows 2000 網絡中(zhōng),設計了獨立的 CA,以便它們脫機運行。) 脫機中(zhōng)級CA。在一個根CA下面可(kě)以有(yǒu)一個或多(duō)個從屬CA。将中(zhōng)級從屬CA設為(wèi)脫機的機器,可(kě)以提高該 CA 的安(ān)全性。 聯機頒發CA。 CA 鏈中(zhōng)最後一級的 CA 必須處于聯機狀态,因此可(kě)用(yòng)于受理(lǐ)來自衆多(duō)客戶機的證書申請。根 CA下面的聯機 CA 也可(kě)以經常發布最新(xīn)的吊銷狀态信息。管理(lǐ)員可(kě)以頻繁地更改這種 CA 的密鑰,因為(wèi)頒發新(xīn)證書的開銷(管理(lǐ)方面的開銷)是最低的。從屬 CA 并不完全是可(kě)任意使用(yòng)的,但通過攻擊從屬 CA 并不能(néng)得到多(duō)少有(yǒu)價值的東西,而且高級 CA 通過吊銷證書即可(kě)輕而易舉地阻擋這種攻擊。 4. 注冊 注冊就是主體(tǐ)向 CA 自我介紹的過程。在申請證書時,注冊可(kě)以是隐含的,或通過為(wèi)主體(tǐ)提供擔保的另一個可(kě)信實體(tǐ)(如智能(néng)卡登記站)來完成,或者在收到來源可(kě)信(如來自域管理(lǐ)員)的信息時自動完成。一旦向 CA 進行了注冊,隻要符合按照 CA 策略建立的标準,證書即被頒發給該主體(tǐ)。 5. 證書登記 證書登記就是最終實體(tǐ)進行證書申請并從 CA 接收證書的過程。證書申請就是向 CA 提供身份信息,該信息随後将成為(wèi)所頒發證書的一部分(fēn)。CA 根據一套标準受理(lǐ)申請,該标準可(kě)能(néng)要求進行脫機的、非自動的身份驗證(圈外的身份驗證)。如果申請被成功受理(lǐ),CA 随後将向該用(yòng)戶頒發證書。 一種特殊的證書登記可(kě)通過注冊機構 (Registration Authority, RA) 來完成,RA 可(kě)為(wèi) CA 提供擔保,以便将公(gōng)鑰與預期的證書持有(yǒu)人的身份及屬性綁定在一起。RA 是擁有(yǒu)特殊證書的主體(tǐ)。這種特殊的證書包含有(yǒu)可(kě)以向CA表明主體(tǐ)身份的信息。通常,RA 在公(gōng)鑰和主體(tǐ)之間建立綁定,然後在主體(tǐ)生成的申請上簽名(míng),以便向 CA 提供該 RA 即将為(wèi)綁定擔保的證據。本質(zhì)上,使用(yòng) RA 是管理(lǐ)委派的一種形式-CA 委派 RA 執行驗證公(gōng)鑰和實體(tǐ)之間綁定的任務(wù)。 RA 生成在主體(tǐ)和公(gōng)鑰之間建立的牢固綁定的證書。在 Windows 2000 操作(zuò)系統中(zhōng),證書服務(wù)使用(yòng)域身份驗證來識别申請大多(duō)數類型證書的用(yòng)戶身份。創建智能(néng)卡登錄證書的 Windows 2000 智能(néng)卡登記站由 RA 使用(yòng)。RA 可(kě)驗證智能(néng)卡收件人的身份,同時提供比域身份驗證單獨完成的主體(tǐ)與公(gōng)鑰之間的綁定更加牢固的綁定。 6. 證書吊銷 證書具(jù)有(yǒu)一個指定的壽命,但 CA 可(kě)通過稱為(wèi)證書吊銷的過程來縮短這一壽命。CA 發布一個證書吊銷列表 (CRL),列出被認為(wèi)不能(néng)再使用(yòng)的證書的序列号。CRL 指定的壽命通常比證書指定的壽命短得多(duō)。CA 也可(kě)以在 CRL 中(zhōng)加入證書被吊銷的理(lǐ)由。它還可(kě)以加入被認為(wèi)這種狀态改變所适用(yòng)的起始日期。 可(kě)将下列情況指定為(wèi)吊銷證書的理(lǐ)由: 洩露密鑰 洩露 CA 從屬關系改變 被取代 業務(wù)終止 證書持有(yǒu)(這是唯一讓您能(néng)夠改變被吊銷證書狀态的理(lǐ)由碼,在證書狀态有(yǒu)問題的情況下非常有(yǒu)用(yòng)) 由 CA吊銷證書意味着,CA 在證書正常到期之前撤銷其允許使用(yòng)該密鑰對的有(yǒu)關聲明。在吊銷的證書到期之後,CRL 中(zhōng)的有(yǒu)關條目被删除,以縮短 CRL 列表的大小(xiǎo)。 在驗證簽名(míng)期間,應用(yòng)程序可(kě)以檢查 CRL,以确定給定證書和密鑰對是否仍然可(kě)信。如果不可(kě)信,應用(yòng)程序可(kě)以判斷吊銷的理(lǐ)由或日期對使用(yòng)有(yǒu)疑問證書是否有(yǒu)影響。如果該證書被用(yòng)來驗證簽名(míng),且簽名(míng)的日期早于 CA 吊銷該證書的日期,那麽該簽名(míng)仍被認為(wèi)是有(yǒu)效的。 應用(yòng)程序獲得 CRL 之後,由客戶機緩存 CRL ,在它到期之前客戶機将一直使用(yòng)它。如果 CA 發布了新(xīn)的 CRL,擁有(yǒu)有(yǒu)效 CRL 的應用(yòng)程序并不使用(yòng)新(xīn)的 CRL,直到應用(yòng)程序擁有(yǒu)的 CRL 到期為(wèi)止。 7. 證書鏈确認 Microsoft CryptoAPI 提供了一個标準的框架,應用(yòng)程序可(kě)用(yòng)此框架來獲得加密服務(wù)和數字證書服務(wù)。除了 CryptoAPI 為(wèi) Windows 95、Windows 98、Windows NT 和 Windows 2000 提供的标準服務(wù)以外,第三方供應商(shāng)可(kě)開發并銷售他(tā)們自己的插件模塊,提供附加的加密服務(wù)。 在 Windows 網絡中(zhōng),為(wèi)新(xīn)證書生成一個請求時,該請求中(zhōng)的信息首先被從請求程序傳遞給 CryptoAPI。然後,CryptoAPI 把相應的數據傳遞給一個稱為(wèi)加密服務(wù)提供程序 (CSP)的程序,該程序安(ān)裝(zhuāng)在您的計算機上,或安(ān)裝(zhuāng)在您的計算機可(kě)以訪問的某種設備(如智能(néng)卡)上。CSP 是一個執行諸如機密密鑰交換、數據的數字簽名(míng)以及公(gōng)鑰身份驗證之類的加密操作(zuò)的獨立軟件模塊。