熱點推薦:
您现在的位置: 電腦知識網 >> 操作系統 >> Windows系統管理 >> 正文

Windows 2000 公鑰基礎結構詳解(1)

2022-06-13   來源: Windows系統管理 

  引言
  
  Microsoft Windows 將一個綜合的公鑰基礎結構 (PKI) 引入到 Windows 平台這利用和擴展了Windows 公鑰 (PK) 加密服務(該服務是過去幾年中引入的)提供了一整套服務和管理工具以創建部署和管理基於 PK 的應用程序它允許應用程序開發人員利用 Windows NT 的共享機密安全機制或基於 PK 的安全機制作為其相應的安全機制同時企業還因此能夠基於統一工具和策略機制來管理該環境和應用程序
  
  本文最後對 Windows 中 PKI 作了概述
  
  概念
  
  加密技術是一門保護數據的科學加密算法從數學上將輸入明文數據與加密密鑰結合起來生成加密數據(暗記文)雖然有了一個好的加密算法但要逆轉加密過程並將僅以暗記文開始的數據反推成明文數據從計算角度上是不可行的此轉換過程還需要其他數據解密密鑰
  
  傳統上密鑰(或對稱密鑰)加密加密與解密密鑰是相同的因而可以共享敏感數據對於想要使用密鑰加密進行通信的雙方只有安全地交換加密/解密密鑰後才能相互交換加密數據
  
  而PK 加密基本屬性則是加密和解密使用不同的密鑰用公鑰加密密鑰進行的加密是單向功能明文雖然可以很容易地轉變為暗記文但加密密鑰卻與解密過程無關要將暗記文轉回到明文則需要解密密鑰(與加密密鑰有關但不相同)因此對於 PK 加密來說每個用戶都有一對密鑰由一個公鑰和一個私鑰組成在公鑰可用的前提下可以讓其他人將加密數據發給您而該數據只能用您的私鑰來解密相似地可用您的私鑰來轉換數據這樣其他人就會驗證出該數據是由您發送的第二種功能是數字簽名的基礎下面將對它進行論述
  
  PK 加密中公鑰與私鑰是分開的由此產生了很多新技術最重要的新技術有數字簽名分布式身份驗證使用公鑰的密鑰協議以及未預設共享機密情況下進行的批量數據加密
  
  有許多人們熟知的 PK 加密算法其中一些算法是通用的如 RSA (RivestShamirAdleman) 和 ECC (Elliptic Curve Cryptography)因為它們能支持以上所有操作其他算法則僅支持這些功能的一個子集一些示例中包括數字簽名算法 — 即 DSA是美國政府的數字簽名標准(FIPS )的一部分該算法僅用於數字簽名還包括 DiffieHellman (DH)它用於私鑰協議
  
  以下幾段簡要論述了 PK 加密的主要用途這些內容是以 Bob 和 Alice 兩個用戶為例來講述這些操作的它假定 Bob 和 Alice 可以交換信息但沒有任何預設的共享的機密
  
  數字簽名
    
  也許公鑰加密最引人注目的特征就是創建和驗證數字簽名它以數學轉換為基礎該轉換將私鑰與待簽名的數據結合在一起這樣
  
  只有擁有私鑰的人才有可能創建數字簽名
  
  任何能訪問此相應公鑰的人均能驗證該數字簽名
  
  對已簽名的數據進行的任何修改(即使只修改了大型文件的一位)都會使數字簽名無效
  
  數字簽名本身就是數據因此可將其與所保護的簽名數據一起傳輸例如Bob 可以創建一個給 Alice 的電子郵件消息並把簽名與消息文本一起發送用它給 Alice 提供驗證消息來源所需的信息此外數字簽名還提供了一種方法以驗證數據在從源到目標的傳送過程中沒有被篡改過(無論是意外的還是蓄意的)因此數字簽名可用來提供一個能高度保障數據完整性的機制
  
  身份驗證
  
  可用 PK 加密來提供可靠的分布式身份驗證服務實體身份驗證可以保證數據發件人就是收件人所認為的那個實體驗證的一種方法是數據接收人 Alice 向數據發送人 Bob 發送一個質詢該質詢是用 Bob 的公鑰進行加密的Bob 對此質詢進行解密並把它發回給 Alice證明他有與 Alice 發布質詢所用公鑰相關聯的私鑰另一種方法是Alice 向 Bob 發送一個明文質詢Bob 將該質詢與其他信息(已有數字簽名)結合起來然後Alice 就用 Bob 的公鑰來驗證該簽名並證實 Bob 有與此關聯的私鑰該質詢能夠使該消息是唯一的並可防止有敵意的第三方利用答復進行攻擊這兩種情況都稱為證明所有權協議因為發送人在此過程中證明自己有特定的私鑰
  
  使用公鑰的密鑰協議
  
  PK 加密的另一個功能是它允許雙方就使用公共的非安全通信網絡的共享機密達成一致實際就是 Bob 和 Alice 每人都生成一個隨機數分別形成了共享機密密鑰的一半然後Bob 用 Alice 的公鑰對自己的那一半機密進行加密再把機密發送給 Alice而 Alice 則用 Bob 的公鑰對自己的那一半機密進行加密再把機密發送給 Bob雙方都可以將對方發來的消息進行解密將共享機密中不是自己生成的那一半提取出來然後將兩個一半密碼結合起來生成共享機密協議完成後共享的機密就可以用於保障其他通信的安全了
  
  未預設共享機密的批量數據加密
  
  PK 加密帶來的第四個主要技術是無須建立預設共享機密就可以進行批量數據加密從計算角度上看現有的 PK 算法與密鑰算法是密切相關的這就不適於加密大量數據要既能利用 PK 加密技術又能進行有效的批量加密通常要將 PK 和密鑰技術結合起來使用
  
  它是這樣實現的先選擇一個密鑰加密算法並生成一個隨機會話密鑰進行數據加密如果 Bob 要發送消息他先用 Alice 的公鑰對該會話密鑰進行加密隨後生成的暗記文密鑰與加密數據一同發給 AliceAlice 可用她的私鑰來恢復該會話密鑰然後用該會話密鑰解密數據
  
  在私鑰加密中Alice 和 Bob 信任他們的共享機密因為他們已就此達成一致或是以安全的方式交換的他們還一致同意將其安全地進行存儲防止被有惡意的第三方竊取相反使用 PK 加密技術Alice 和 Bob 都只需要保護其各自的私鑰即可他們需要共享的唯一信息就是對方的公鑰他們需要能夠用高保障來標識彼此的公鑰但不需保密公鑰對使用 PK 加密而言能夠信任公鑰與已知實體的關系是至關重要的
  
  Alice 信任 Bob 的公鑰有可能是因為 Bob 以安全的方式將它直接傳遞給了 Alice但這是以 Alice 和 Bob 此前已有安全通信為前提的更可能是Alice 通過非安全機制(如從公共目錄)獲得了 Bob 的公鑰所以必須有其他的機制使 Alice 確信她所謂的來自Bob的公鑰的確是 Bob 的公鑰這樣的機制之一就是基於證書頒發機構(CA) 頒發的證書
  
  證書
  
  證書提供了一種機制用於確立對公鑰和擁有相應私鑰的實體之間關系的信任證書就是一種特殊類型的數字簽名式的聲明證書的主題則是一個特殊的主題公鑰該證書是由頒發者(保存另一對私鑰和公鑰)簽名的通常證書也含有與主題公鑰有關的其他信息如有相應私鑰的實體標識信息因此當頒發一個證書時頒發者就證明了主題公鑰和主題標識信息之間綁定關系的有效性
  
  現用證書的最常見格式是以 ITUT X 標准為基礎的這是 Windows PKI 中使用的一個基本技術但是它並不是唯一的證書格式例如Pretty Good Privacy (PGP) 安全電子郵件采用的是一種 PGP 獨有的證書
  
  證書頒發機構
  
  證書頒發機構 (CA) 僅是一個頒發證書的實體或服務CA 可作為綁定擔保人這是在頒發證書中包含的主題公鑰與主題標識信息之間的綁定不同的 CA 可選用不同的方法來驗證這種綁定所以在選用擔保公鑰的頒發機構之前了解該機構的策略和步驟是很重要的
  
  信任和驗證
  
  當 Alice 收到一個簽名的消息時面臨的根本問題就是她是否應該信任該簽名是有效的並的確是由自稱的簽名人簽名的Alice 可以確認該簽名數學上是有效的她可以使用已知的公鑰來驗證該簽名的完整性但是Alice 仍需確定驗證該簽名所用的公鑰是否的確屬於自稱第一個簽名的那個實體如果 Alice 並不完全相信該公鑰是屬於 Bob 的她需要獲得有力的證據證明該密鑰屬於 Bob
  
  如果 Alice 可以找到一個 Bob 公鑰的證書(由 Alice 絕對信任的 CA 頒發的)那麼Alice 就會相信Bob 的公鑰的確是 Bob 的如果 Alice 找到的證書具有以下特征她就會相信她收到的確實是 Bob 的公鑰
  
  證書具有其頒發者加密的有效簽名
  
  證書可證實名稱Bob與 Bob 的公鑰之間存在綁定關系
  
  證書是由 Alice 信任的頒發者頒發的
  
  假定 Alice 找到了 Bob 公鑰的這樣一個證書然後她可以使用頒發證書的 CA (Ira) 的公鑰來驗證其真偽(假設下一個需要驗證的是 Ira)但是Alice 再次面臨這樣的困境即她怎麼知道該公鑰是不是真的屬於 Ira 的呢?所以Alice 需要找到一個證書能證實 Ira 的身份標識以及 Ira 與Ira 的公鑰之間的綁定關系
  
  最終Alice 會建立一條證書鏈從 Bob 和Bob 的公鑰開始經過一系列 CA在頒發給 Alice 絕對信任的人的證書處結束這個證書稱為可信根證書因為它成為公鑰/標識綁定層次結構的根(頂層節點)Alice 相信它是真實的如果 Alice 明確信任某一特定可信根證書那麼也就是絕對信任了該可信根頒發的所有證書以及該可信根證實的任何從屬 CA 頒發的證書
  
  這組 Alice 明確信任的可信根證書是 Alice 必須以安全方式獲取的唯一信息這組證書是 Alice 的信任系統以及她對公鑰基礎結構的信任基石
  
  

From:http://tw.wingwit.com/Article/os/xtgl/201311/8639.html
    推薦文章
    Copyright © 2005-2022 電腦知識網 Computer Knowledge   All rights reserved.