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