Windows 2000 公鑰基礎結構及在電子商務中應用
Windows 2000公鑰基礎結構及在電子商務中應用 1 概述 Windwos 2000為電子商務提供了一個理想的平臺, 其安全性(包括證書管理、 CA服務、 公用密鑰基本體系), 保證了電子商務的開展。 結合Windows 2000的IIS 5.0服務, 可以快速創建一個網上電子商務的平臺。 Windows 2000中有兩種驗證協議, 即Kerberos和公鑰基礎結構(Public Key Infrastructure, PKI), 這兩者的不同之處在于: Kerberos是對稱密鑰, 而PKI是非對稱密鑰。在Internet環境中, 需要使用非對稱密鑰加密。 即每個參與者都有一對密鑰, 可以分別指定為公鑰(PK)和私鑰(SK), 一個密鑰加密的消息只有另一個密鑰才能解密, 而從一個密鑰推斷不出另一個密鑰。 公鑰可以用來加密和驗證簽名; 私鑰可以用來解密和數字簽名。 每個人都可以公開自己的公鑰, 以供他人向自己傳輸信息時加密之用。 只有擁有私鑰的本人才能解密, 保證了傳輸過程中的保密性。 關鍵是需要每個人保管好自己的私鑰。同時, 為了保證信息的完整性, 還可以采用數字簽名的方法。 接下來的問題是, 如何獲得通訊對方的公鑰并且相信此公鑰是由某個身份確定的人擁有的, 這就要用到電子證書。 電子證書是由大家共同信任的第三方--認證中心(Certificate Authority, CA)頒發的, 證書包含某人的身份信息、 公鑰和CA的數字簽名。 任何一個信任CA的通訊一方, 都可以通過驗證對方電子證書上的CA數字簽名來建立起和對方的信任, 并且獲得對方的公鑰以備使用。 Windows 2000的PKI是基于X.509協議的,X.509標準用于在大型計算機網絡提供目錄服務,X.509提供了一種用于認證X.509服務的PKI結構,兩者都屬于ISO和ITU提出的X系列國際標準,目前,有許多公司發展了基于X.509的產品,例如Visa、MasterCard 、Netscape,而且基于該標準的Internet和Intranet產品越來越多。X.509是目前唯一的已經實施的PKI系統。X.509 V3是目前的最新版本,在原有版本的基礎上擴充了許多功能,目前電子商務的安全電子交易(SET)協議也采用基于X.509 V3。 2 Windows 2000的公鑰基礎結構 如何在數字化通信中建立起信任關系, 是電子商務發展的重中之重。 因此, 建立認證中心(CA)是關鍵的一步。 Windows 2000可以作為建立CA的技術方案, 其內置了一整套頒發證書和管理證書的基礎功能。 Windows 2000 Server中有一個部件是證書服務器(Certificate Server), 是原來Windows NT 4.0的選項包中Certificate Server 1.0的升級產品。 通過認證服務器, 企業可以為用戶頒發各種電子證書, 比如用于網上購物的安全通道協議(SSL)使用的證書, 用于加密本地文件(EFS)的證書等等。 認證服務器還管理證書的失效, 發布失效證書列表等。 每個用戶或計算機都有自己的一個證書管理器, 其中既放置著自己從CA申請獲得的證書, 也有自己所信任的CA的根證書。 Windows 2000中的電子證書都是基于X.509協議的, 保證了與其他系統的互操作性。 國際標準組織CCITT建議以X.509作為X.500目錄檢索的一個組成部分, 提供安全目錄檢索服務。 X.500是CCITT建議的, 用于分布網絡中存儲用戶信息的數據庫的目錄檢索服務的協議標準。 X.509是采用公鑰基礎結構實施的認證協議, 對通信雙方按所用密碼體制規定了幾種認證識別方法, 它發表于1988年, 經多次修改, 1993年又公布了新的版本。 X.509對所用具體加密、 數字簽名、 公用密鑰以及Hash算法未作限制, 將會有廣泛的應用,已納入PEM(Privacy Enhanced Mail)系統中。 就網上購物的過程來說, 目前常用的是SSL(安全通道協議)的方式, 即設置IIS就某些特定的文件或文件目錄需要訪問者提供客戶端證書; 除非擁有電子證書及相應的私鑰, 一個訪問者的瀏覽器無法獲得這些文件和文件目錄。 SSL的方式體現在瀏覽器的訪問欄上, 應該是Https而不是普通的Http。 通過網站驗證后的訪問者, 可以被映射為活動目錄中的用戶或者用戶組, 實現合作伙伴之間外部網(Extranet)的應用。 為了安全地保管私鑰和電子證書, 在Windows 2000中, 微軟為用戶還提供了一套智能卡的結構。 智能卡因其高安全性和輕便的可移動性, 勢必將發展成為類似鼠標/鍵盤一般的計算機的標準外設。 微軟還提供了一套基于32位Windows平臺的Smart Card for Windows產品, 包括API和開發工具。 眾多的智能卡廠家, 如Gemplus, 只要生產符合國際ISO工業標準的智能卡產品, 就可以在微軟的Smart Card軟件平臺上操作。 當用戶用Internet Explorer向一個認證中心申請電子證書時, 就會有一對公鑰和私鑰自動產生出來; 私鑰可以存儲在智能卡中, 公鑰和其他身份信息(比如姓名、電子郵件地址等)發給認證中心。 如果認證中心批準該申請, 那么包含公鑰的電子證書就會被返回來, 存儲在智能卡中。 這種電子證書的申請過程也可以由管理員設定的批處理方法來進行, 用戶還可以通過LDAP來查詢CA中通訊對方的公鑰, 因為Windows 2000的認證服務器是可以與活動目錄相結合的, 所以這方面的查詢很方便。 智能卡存儲私鑰和電子證書的做法, 給最終用戶提供了對自己安全信息的最大的控制, 可以方便地從一臺機器攜帶到另一臺機器使用; 可以在任何一個地點使用。 一般來說, 智能卡還會用一個個人密碼(PIN)保護起來, 在要求高安全性的場合, PIN可以是一些生物信息, 比如指紋等。 智能卡中存儲的信息是加密的, 即使破壞了智能卡也得不到里面的內容。 智能卡的閱讀器也越來越普遍, 有USB型的, 也有PC卡型的, 甚至Windows終端上也會有智能卡插槽。 智能卡正在逐漸走向大眾化。 如果企業實施了基于Windows 2000的智能卡體制, 由企業保安機構給每個員工頒發一個智能卡。 員工就可以用這個卡完成很多的工作, 比如打開公司的大門, 打開自己的抽屜, 登錄到計算機和網絡; 加密自己的郵件和文件, 這樣即使管理員有完全控制的權限, 管理員也不能獲知其中的內容; 員工還可以上網購物, 比如購買一張機票, 然后直接到飛機艙前劃卡即可上飛機; 還可以作為電話卡、 信用卡使用; 作為市政交費卡使用, 支付水、電、煤氣等費用; 作為電子錢包式的儲值卡來使用, 支付小額的午餐費、 出租車費等等。 可以說智能卡的應用在Windows 2000推出之后, 會有一個長足的進步。 '公用密鑰基本體系'通常簡稱為PKI(Public Key Infrastructure), 是一個數字認證、 證書授權和其他注冊授權系統。 使用公用密鑰密碼檢驗及檢證電子商務中所涉及的每個機構的有效性。 公用密鑰基本體系的標準仍處于發展階段, 盡管它們作為電子商務的一個必要組成部分已得到廣泛使用。 圖1是Windows 2000 的公鑰基礎結構, 其核心是加密服務、 證書管理服務, 為應用程序的開發提供了加密API接口(CryptoAPI)。 Windows 2000 的公鑰基礎結構具有以下特點: (1) 牢靠的安全性。 Windows 2000的公鑰基礎結構包括采用智能卡的牢靠驗證, 保持公用網的保密性, 以及確保傳輸數據的完整性。 此外, 管理員可使用 Windows 2000 安全權限指派用戶證書的使用。 (2) 簡易管理。 Windows 2000的公用密鑰與活動目錄和組策略的集成, 可以對管理企業內部的委托關系進行調整, 還提供將證書直接或經 Internet Information Services 映射到活動目錄中用戶帳戶的能力。 (3) 新機遇。 可以安全地交換諸如Internet等公用網上的文件和數據, 具有實現安全 E_mail(S/MIME)的能力。此外, 作為電子商務的一個重要組成部分, 可以利用電子簽名建立發送者的無法否認機制。 圖1 Windows 2000 的公鑰基礎結構 3 Windows 2000 公鑰基礎結構的證書服務 證書基本上是一個由權威發布的電子聲明, 其作用在于擔保證書持有者的身份。 證書將公用密碼與持有相應私有密鑰的個人、 機器或服務的身份綁定在一起。 證書由各種公用密鑰安全服務和應用程序提供, 為非安全網(如 Internet )提供數據驗證、 數據完整性和安全通訊。 Windows 2000 基于證書的過程所使用的標準證書格式是 X.509 V3, X.509證書包括有關證書擁有的個人或實體的信息及證書頒發機構的可選信息。 實體信息包括實體名稱、 公用密鑰、 公用密鑰運算法和可選的唯一主體 ID。 版本 3 證書的標準制定了以下規定: 密鑰標識符、 密鑰用法、 證書策略、 替換名稱和屬性、 證書路徑約束以及對證書撤消原因和列表分區。 Windows 2000 Server 證書服務是 Windows 2000 中的組件, 證書服務用于創建和管理證書頒發機構(CA)。 證書頒發機構負責建立和擔保證書持有者的身份。 證書頒發機構還會在證書失效時, 將其撤消并發布證書撤消列表, 供證書檢驗機構使用。 最簡單的公用密鑰基本體系只有一個證書頒發機構。 事實上, 大多數配置公用密鑰基本體系的組織使用多個證書頒發機構, 并將其有組織地形成證書分層結構。 Windows 2000的證書服務按證書頒發機構類型分為: (1)企業根CA,是企業中最受信任的證書頒發機構,應該在網絡上的其它證書頒發機構之前安裝,需要 Active Directory. (2) 企業從屬CA,是標準證書頒發機構可以給企業中的任何用戶或機器頒發證書,必須從企業中的另一個證書頒發機構獲取證書頒發機構證書,需要 Active Directory. (3) 獨立根CA,是證書頒發機構體系中最受信任的證書頒發機構,不需要 Active Directory. (4)獨立從屬CA,是標準的證書頒發機構可以給任何用戶或機器頒發證書;必須從另一個證書頒發機構獲取證書頒發機構證書,不需要 Active Directory。 證書服務的一個單獨組件是證書頒發機構的Web注冊頁。 這些網頁是在安裝證書頒發機構時默認安裝的, 它允許證書請求者使用Web瀏覽器提出證書請求。 此外, 證書頒發機構網頁可以安裝在未安裝證書頒發機構的 Windows 2000 服務器上, 在這種情況下, 網頁用于向不希望直接訪問證書頒發機構的用戶服務。 如果選擇為組織創建定制網頁訪問 CA, 則 Windows 2000 提供的網頁可作為示例。 4 智能卡 智能卡是防止篡改的簡便方法,它可以向諸如客戶身份驗證、登錄到 Windows 2000 域、代碼簽名和保護電子郵件之類的任務提供安全性解決方案。通過智能卡登錄到網絡提供了很強的身份驗證方式,因為,在驗證進入域的用戶時,這種方式使用了基于加密的身份驗證和所有權證據。例如,如果某個不懷好意的人得到了用戶的密碼,就可以用該密碼在網絡上冒稱用戶的身份。很多人都選擇容易記憶的密碼,這會使密碼先天脆弱,易受攻擊。 在使用智能卡的情況下,那個不懷好意的人將必須獲得用戶的智能卡和個人識別碼 (PIN) 才能假扮用戶。因為需要有另一層信息才能假扮用戶,所以該組合明顯不易遭受攻擊。另一個優點是,連續發生幾次不成功的 PIN 輸入后,智能卡會被鎖定,使得對智能卡進行詞典攻擊非常困難。(注意 PIN 不必是一列數字,它也可以使用其他字母數字字符。) 對加密智能卡的支持是 Microsoft 集成到 Windows 2000 中的公鑰基礎結構 (PKI) 的關鍵功能。智能卡提供以下功能: (1)保護私鑰和其他形式個人信息的防篡改存儲區。 (2)將安全性關鍵計算隔絕起來包含從不必'必須知道'的其它組織部門進行的身份驗證、數字簽名和密鑰交換。 (3) 在單位、家庭或路上的不同計算機之間發憑據及其他私人信息的可攜帶性。(西安交通大學 梁晉 梁峰)
