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