公鑰證書

一種數字簽名的聲明

公鑰證書,通常簡稱為證書,是一種數字簽名的聲明,它將公鑰的值綁定到持有對應私鑰的個人、設備或服務的身份。大多數普通用途的證書基於 X.509v3 證書標準。要了解關於公鑰加密的更多信息,請參閱資源:公用密鑰結構。

證書


可以為各種功能頒發證書,例如 Web 用戶身份驗證、Web 伺服器身份驗證、安全電子郵件(安全/多用途 Internet 郵件擴展 (S/MIME))、Internet 協議安全 (IPSec)、傳輸層安全 (TLS)以及和代碼簽名。證書還可以從一個證書頒發機構(CA) 頒發給另一個證書頒發機構,以便創建證書層次結構。
接收證書的實體是證書的“主題”。證書的頒發者和簽名者是證書頒發機構。
通常,證書包含以下信息:
主體的公鑰值
主體標識符信息(如名稱和電子郵件地址)
有效期(證書的有效時間)
頒發者標識符信息
頒發者的數字簽名,用來證實主題的公鑰和主題的標識符信息之間綁定關係的有效性
證書只有在指定的期限內才有效;每個證書都包含有效期的起止日期,它們是有效期的界限。一旦到了證書的有效期,到期證書的主題就必須申請一個新的證書。
某些情況下有必要撤消證書中所聲明的綁定關係,這時,可以由頒發者吊銷該證書。每個頒發者維護一個證書吊銷列表,程序可以使用該列表檢查任意給定證書的有效性。
證書的主要好處之一是主機不必再為單個主題維護一套密碼,這些單個主題進行訪問的先決條件的是需要通過身份驗證。相反,主機只需在證書頒發者中建立信任。
當主機(如安全 Web 伺服器)指派某個頒發者為受信任的根頒發機構時,主機實際上是信任該頒發者過去常用來建立所頒發證書的綁定關係的策略。事實上,主機信任頒發者已經驗證了證書主體的身份。主機通過將包含頒發者公鑰的頒發者自簽名證書放到主機的受信任根證書頒發機構的證書存儲區,將該頒發者指定為受信任的根頒發機構。中間的或從屬的證書頒發機構受到信任的條件是,他們擁有受信任根證書頒發機構的有效證書路徑。
有關證書的詳細信息,請參閱理解證書。

證書使用


因為證書通常用來為實現安全的信息交換建立身份並創建信任,所以證書頒發機構 (CA) 可以把證書頒發給人員、設備(例如計算機)和計算機上運行的服務(例如 IPSec)。
某些情況下,計算機必須能夠在高度信任涉及交易的其他設備、服務或個人的身份的情況下進行信息交換。某些情況下,人們需要在高度信任涉及交易的其他設備、服務或個人的身份的情況下進行信息交換。運行在計算機上的應用程序和服務也頻繁地需要確認它們正在訪問的信息來自可信任的信息源。
當兩個實體(例如設備、個人、應用程序或服務)試圖建立身份和信任時,如果兩個實體都信任相同的證書頒發機構,就能夠在它們之間實現身份和信任的結合。一旦證書主題已呈現由受信任的 CA 所頒發的證書,那麼,通過將證書主題的證書存儲在它自己的證書存儲區中,並且(如果適用)使用包含在證書中的公鑰來加密會話密鑰以便所有與證書主題隨後進行的通訊都是安全的,試圖建立信任的實體就可以繼續進行信息交換,。
例如,使用 Internet 進行聯機銀行業務時,知道您的 Web 瀏覽器正在與銀行的 Web 伺服器直接和安全地通訊就是很重要的。在發生安全的交易之前,您的 Web 瀏覽器必須能夠簽定 Web 伺服器的身份。就是說,進行交易之前,Web 伺服器必須能夠向您的 Web 瀏覽器證明它的身份。Microsoft Internet Explorer 使用安全套接字層 (SSL) 來加密消息並在 Internet 上安全地傳輸它們,而大多數其他新式 Web 瀏覽器和 Web 伺服器也使用該技術。
當您使用啟用 SSL 的瀏覽器連接到聯機銀行的 Web 伺服器時,如果該伺服器擁有證書頒發機構(例如 Verisign)頒發的伺服器證書,那麼將發生如下事件:
您使用 Web 瀏覽器訪問銀行的安全聯機銀行登錄網頁。如果使用的是 Internet Explorer,一個鎖形圖標將出現在瀏覽器狀態欄的右下角,以表示瀏覽器連接到的是安全 Web 站點。其他瀏覽器以其他方式表示安全連接。
銀行的 Web 伺服器將伺服器證書自動地發送到您的 Web 瀏覽器。
為了驗證 Web 伺服器的身份,您的 Web 瀏覽器將檢查您計算機中的證書存儲區。如果向銀行頒發證書的證書頒發機構是可信任的,則交易可以繼續,並且將把銀行證書存儲在您的證書存儲區中。
要加密與銀行 Web 伺服器的所有通訊,您的 Web 瀏覽器可創建唯一的會話密鑰。您的 Web 瀏覽器用銀行 Web 伺服器證書來加密該會話密鑰,以便只有銀行 Web 伺服器可以讀取您的瀏覽器所發送的消息。(這些消息中的一部分將包含您的登錄名和密碼以及其他敏感信息,所以該等級的安全性是必需的。)
建立安全會話,並且在您的 Web 瀏覽器和銀行的 Web 伺服器之間以安全方式發送敏感信息。
詳細信息,請參閱證書安全性
當您將軟體代碼從 Internet 下載、從公司 intranet 上安裝、或者購買光碟並安裝在計算機上時,還可以用證書來確認在這些軟體代碼的真實性。無簽名軟體(沒有有效的軟體發布商證書的軟體)可以威脅到計算機和存儲在計算機上的信息。
如果用信任的證書頒發機構所頒發的有效證書對軟體進行了簽名,您就知道軟體代碼沒有被篡改,可以安全安裝在計算機上。在軟體安裝期間,系統會提示您確認是否信任軟體製造商(例如,Microsoft Corporation)。您還可以看到其他選項,問您是否始終信任來自特定軟體製造商的軟體內容。如果您選擇信任該製造商的內容,那麼他們的證書將存入您的證書存儲區,並且它們的其他軟體產品就可以在預定義的信任環境下安裝到您的計算機。在預定義信任的環境中,您可以安裝製造商的軟體,而不會被提示是否信任它們,因為您的計算機上的證書已聲明您信任該軟體的製造商。
與其他證書一樣,這些用來確認軟體真實性和軟體發布商身份的證書可還以用於其他目的。例如,如果把“證書”管理單元設置為按目的查看證書,則“代碼簽名”文件夾可能包含由 Microsoft Root Authority 頒發給 Microsoft Windows Hardware Compatibility 的證書。這個證書有三個目的:
確保軟體來自該軟體發布商
保護軟體在發布之後不發生改變
提供 Windows 硬體驅動程序確認

在組織中的證書使用


很多組織安裝有自己的證書頒發機構,並將證書頒發給內部的設備、服務和僱員,以創建更安全的計算環境。大型組織可能有多個證書頒發機構,它們被設置在指向某個根證書頒發機構的分層結構中。這樣,僱員的證書存儲區中就可能有多個由各種內部證書頒發機構所頒發的證書,而所有這些證書頒發機構均通過到根證書頒發機構的證書路徑共享一個信任連接。
當僱員利用虛擬專用網路 (VPN) 從家裡登錄到組織的網路時,VPN 伺服器可以提供伺服器證書以建立起自己的身份。因為公司的根頒發機構被信任,而公司根證書頒發機構頒發了 VPN 伺服器的證書,所以,客戶端計算機可以使用該連接,並且僱員知道其計算機實際上連接到組織的 VPN 伺服器。
在數據可以經過 VPN 連接進行交換之前,VPN 伺服器還必須能夠驗證 VPN 客戶端的身份。或者通過交換計算機證書發生計算機級別的身份驗證,或者通過使用點對點協議 (PPP) 身份驗證方法,發生用戶級別的身份驗證。對於 L2TP(第二層隧道協議)/IPSec 連接,客戶端和伺服器雙方均需要計算機證書。
客戶端計算機證書可以服務於多個目的,這些目的大多數是基於身份驗證的,這就允許客戶端使用很多組織的資源,而不需要為每個資源分別準備證書。例如,客戶端證書可能允許 VPN 連接,還允許訪問公司存儲 intranet 網站、產品伺服器以及存儲僱員數據的人力資源資料庫。
VPN 伺服器證書還可能服務於多個目的。相同的證書可能各種目的:確認電子郵件伺服器、Web伺服器或者應用程序伺服器的身份。頒發證書的證書頒發機構決定每個證書的用途數目。

頒發給個人的證書


您可以向商業證書頒發機構(例如 Verisign)購買證書,以便發送經過安全加密或數字簽名以證明真實性的個人電子郵件。
一旦您購買了證書並且用它來數字簽名電子郵件,則郵件收件人就可以確認郵件在傳輸過程中沒有發生改變,並且郵件來自於您,當然,先要假設郵件收件人信任向您頒發證書的證書頒發機構。
如果您加密了電子郵件,則沒有人可以在傳輸過程中閱讀郵件,而只有郵件收件人可以解密和閱讀郵件。

證書和應用程序


大多數電子郵件客戶端允許您自動地簽名或加密電子郵件,或者分別地加密或簽名郵件。允許數字簽名或加密電子郵件消息的 Microsoft 應用程序是 Microsoft Outlook 2000、Microsoft Outlook Express 和 Microsoft Outlook 98。
許多 Windows 應用程序都使用證書。下面是一些關於 Microsoft Internet 信息伺服器 (IIS) 5.1、Microsoft Outlook 2000、Microsoft Outlook Express、Microsoft Outlook 98 和 Microsoft Internet Explorer 如何利用證書的鏈接和相關信息。
Internet 信息服務 5.1 證書信息
IIS 證書存儲現在與 CryptoAPI 存儲集成在一起。證書管理單元提供了可讓管理員存儲、備份和配置伺服器證書的單一入口點。
IIS 當前帶有三個新的安全任務嚮導,這些嚮導可以簡化多數可維護網站安全的安全任務。您可以使用 Web 伺服器證書嚮導管理 IIS 和伺服器證書中的安全套接字層 (SSL) 功能。證書的用途在於為伺服器和用戶瀏覽器之間建立起安全連接。您可以使用 CTL 嚮導管理證書信任列表 (CTLs)。證書信任列表列出了每個網站或虛擬目錄的受信任的證書頒發機構。您也可以使用 IIS 許可權嚮導將 Web 和 NTFS 訪問許可權分配到伺服器上的網站、虛擬目錄和文件。

證書導入和導出


如果您有一個想要在其他計算機上使用的證書,可以先將證書導出,然後導入到其他計算機。詳細信息,請參閱正導入和導出證書和導入和導出證書。

證書存儲區


在您的計算機上的證書存儲區中所看到的證書有四個基本的來源:
該證書包含在 Windows XP 安裝程序中並在附帶的 Windows XP CD 中。
使用應用程序(例如 Internet 瀏覽器)來進行 SSL 會話,在此期間,當建立信任之後證書將存儲在您的計算機上。
安裝軟體或者從他人那裡接收經過加密或數字簽名的電子郵件時,顯式地選擇以接受證書。
向證書頒發機構請求證書,例如需要用來訪問特定的組織資源的證書。
經過一段時間,當您使用 Internet 並連接到將證書用於身份驗證和其他目的的伺服器時,您的計算機上的證書存儲區將不斷獲得證書項。某些證書可能只有一個目的,例如伺服器身份驗證或客戶端身份驗證,同時其他證書可能服務於多個目的。頒發證書的證書頒發機構決定了證書可以服務的目的。
儘管 Internet Explorer 和 Windows 將證書存儲在相同的證書存儲區,但它們允許不同的證書存儲視圖。詳細信息,請參閱 Internet Explorer 幫助中的查看安全證書和“證書”幫助中的設置證書管理單元的顯示選項。要更好地理解證書管理單元顯示證書存儲區的方式,請參閱證書存儲區。
通過使用“證書”管理單元,可以按邏輯存儲或按目的來查看證書。如果按目的查看證書,那麼在每個定義了證書所針對目的的文件夾中,將列出有多個目的的證書。

證書管理單元


可以使用證書管理單元來管理用戶、計算機或服務的證書。
用戶和管理員可使用證書管理單元向 Windows 2000 企業證書頒發機構申請新證書。另外,用戶還可以從證書存儲區查找、查看、導入和導出證書。但是在大多數情況下,用戶不必親自管理他們的證書和證書存儲區。而是通過管理員、策略設置以及使用證書的程序來完成。
管理員是“證書”管理單元的主要用戶,同樣,他們能夠在其個人證書存儲區,以及那些他們有權管理的計算機或服務的證書存儲區中,執行多種證書管理任務。