Windows 2000公鑰基礎(chǔ)結(jié)構(gòu)及在電子商務(wù)中應(yīng)用
1 概述
Windwos 2000為電子商務(wù)提供了一個(gè)理想的平臺(tái), 其安全性(包括證書(shū)管理、 CA服務(wù)、 公用密鑰基本體系), 保證了電子商務(wù)的開(kāi)展。 結(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ì)稱(chēng)密鑰, 而PKI是非對(duì)稱(chēng)密鑰。在Internet環(huán)境中, 需要使用非對(duì)稱(chēng)密鑰加密。 即每個(gè)參與者都有一對(duì)密鑰, 可以分別指定為公鑰(PK)和私鑰(SK), 一個(gè)密鑰加密的消息只有另一個(gè)密鑰才能解密, 而從一個(gè)密鑰推斷不出另一個(gè)密鑰。 公鑰可以用來(lái)加密和驗(yàn)證簽名; 私鑰可以用來(lái)解密和數(shù)字簽名。 每個(gè)人都可以公開(kāi)自己的公鑰, 以供他人向自己傳輸信息時(shí)加密之用。 只有擁有私鑰的本人才能解密, 保證了傳輸過(guò)程中的保密性。 關(guān)鍵是需要每個(gè)人保管好自己的私鑰。同時(shí), 為了保證信息的完整性, 還可以采用數(shù)字簽名的方法。 接下來(lái)的問(wèn)題是, 如何獲得通訊對(duì)方的公鑰并且相信此公鑰是由某個(gè)身份確定的人擁有的, 這就要用到電子證書(shū)。 電子證書(shū)是由大家共同信任的第三方--認(rèn)證中心(Certificate Authority, CA)頒發(fā)的, 證書(shū)包含某人的身份信息、 公鑰和CA的數(shù)字簽名。 任何一個(gè)信任CA的通訊一方, 都可以通過(guò)驗(yàn)證對(duì)方電子證書(shū)上的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ā)證書(shū)和管理證書(shū)的基礎(chǔ)功能。 Windows 2000 Server中有一個(gè)部件是證書(shū)服務(wù)器(Certificate Server), 是原來(lái)Windows NT 4.0的選項(xiàng)包中Certificate Server 1.0的升級(jí)產(chǎn)品。
通過(guò)認(rèn)證服務(wù)器, 企業(yè)可以為用戶(hù)頒發(fā)各種電子證書(shū), 比如用于網(wǎng)上購(gòu)物的安全通道協(xié)議(SSL)使用的證書(shū), 用于加密本地文件(EFS)的證書(shū)等等。 認(rèn)證服務(wù)器還管理證書(shū)的失效, 發(fā)布失效證書(shū)列表等。 每個(gè)用戶(hù)或計(jì)算機(jī)都有自己的一個(gè)證書(shū)管理器, 其中既放置著自己從CA申請(qǐng)獲得的證書(shū), 也有自己所信任的CA的根證書(shū)。
Windows 2000中的電子證書(shū)都是基于X.509協(xié)議的, 保證了與其他系統(tǒng)的互操作性。 國(guó)際標(biāo)準(zhǔn)組織CCITT建議以X.509作為X.500目錄檢索的一個(gè)組成部分, 提供安全目錄檢索服務(wù)。 X.500是CCITT建議的, 用于分布網(wǎng)絡(luò)中存儲(chǔ)用戶(hù)信息的數(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就某些特定的文件或文件目錄需要訪(fǎng)問(wèn)者提供客戶(hù)端證書(shū); 除非擁有電子證書(shū)及相應(yīng)的私鑰, 一個(gè)訪(fǎng)問(wèn)者的瀏覽器無(wú)法獲得這些文件和文件目錄。 SSL的方式體現(xiàn)在瀏覽器的訪(fǎng)問(wèn)欄上, 應(yīng)該是Https而不是普通的Http。 通過(guò)網(wǎng)站驗(yàn)證后的訪(fǎng)問(wèn)者, 可以被映射為活動(dòng)目錄中的用戶(hù)或者用戶(hù)組, 實(shí)現(xiàn)合作伙伴之間外部網(wǎng)(Extranet)的應(yīng)用。
為了安全地保管私鑰和電子證書(shū), 在Windows 2000中, 微軟為用戶(hù)還提供了一套智能卡的結(jié)構(gòu)。 智能卡因其高安全性和輕便的可移動(dòng)性, 勢(shì)必將發(fā)展成為類(lèi)似鼠標(biāo)/鍵盤(pán)一般的計(jì)算機(jī)的標(biāo)準(zhǔn)外設(shè)。 微軟還提供了一套基于32位Windows平臺(tái)的Smart Card for Windows產(chǎn)品, 包括API和開(kāi)發(fā)工具。 眾多的智能卡廠家, 如Gemplus, 只要生產(chǎn)符合國(guó)際ISO工業(yè)標(biāo)準(zhǔn)的智能卡產(chǎn)品, 就可以在微軟的Smart Card軟件平臺(tái)上操作。
當(dāng)用戶(hù)用Internet Explorer向一個(gè)認(rèn)證中心申請(qǐng)電子證書(shū)時(shí), 就會(huì)有一對(duì)公鑰和私鑰自動(dòng)產(chǎn)生出來(lái); 私鑰可以存儲(chǔ)在智能卡中, 公鑰和其他身份信息(比如姓名、電子郵件地址等)發(fā)給認(rèn)證中心。 如果認(rèn)證中心批準(zhǔn)該申請(qǐng), 那么包含公鑰的電子證書(shū)就會(huì)被返回來(lái), 存儲(chǔ)在智能卡中。 這種電子證書(shū)的申請(qǐng)過(guò)程也可以由管理員設(shè)定的批處理方法來(lái)進(jìn)行, 用戶(hù)還可以通過(guò)LDAP來(lái)查詢(xún)CA中通訊對(duì)方的公鑰, 因?yàn)閃indows 2000的認(rèn)證服務(wù)器是可以與活動(dòng)目錄相結(jié)合的, 所以這方面的查詢(xún)很方便。
智能卡存儲(chǔ)私鑰和電子證書(shū)的做法, 給最終用戶(hù)提供了對(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è)卡完成很多的工作, 比如打開(kāi)公司的大門(mén), 打開(kāi)自己的抽屜, 登錄到計(jì)算機(jī)和網(wǎng)絡(luò); 加密自己的郵件和文件, 這樣即使管理員有完全控制的權(quán)限, 管理員也不能獲知其中的內(nèi)容; 員工還可以上網(wǎng)購(gòu)物, 比如購(gòu)買(mǎi)一張機(jī)票, 然后直接到飛機(jī)艙前劃卡即可上飛機(jī); 還可以作為電話(huà)卡、 信用卡使用; 作為市政交費(fèi)卡使用, 支付水、電、煤氣等費(fèi)用; 作為電子錢(qián)包式的儲(chǔ)值卡來(lái)使用, 支付小額的午餐費(fèi)、 出租車(chē)費(fèi)等等。 可以說(shuō)智能卡的應(yīng)用在Windows 2000推出之后, 會(huì)有一個(gè)長(zhǎng)足的進(jìn)步。
1 概述
Windwos 2000為電子商務(wù)提供了一個(gè)理想的平臺(tái), 其安全性(包括證書(shū)管理、 CA服務(wù)、 公用密鑰基本體系), 保證了電子商務(wù)的開(kāi)展。 結(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ì)稱(chēng)密鑰, 而PKI是非對(duì)稱(chēng)密鑰。在Internet環(huán)境中, 需要使用非對(duì)稱(chēng)密鑰加密。 即每個(gè)參與者都有一對(duì)密鑰, 可以分別指定為公鑰(PK)和私鑰(SK), 一個(gè)密鑰加密的消息只有另一個(gè)密鑰才能解密, 而從一個(gè)密鑰推斷不出另一個(gè)密鑰。 公鑰可以用來(lái)加密和驗(yàn)證簽名; 私鑰可以用來(lái)解密和數(shù)字簽名。 每個(gè)人都可以公開(kāi)自己的公鑰, 以供他人向自己傳輸信息時(shí)加密之用。 只有擁有私鑰的本人才能解密, 保證了傳輸過(guò)程中的保密性。 關(guān)鍵是需要每個(gè)人保管好自己的私鑰。同時(shí), 為了保證信息的完整性, 還可以采用數(shù)字簽名的方法。 接下來(lái)的問(wèn)題是, 如何獲得通訊對(duì)方的公鑰并且相信此公鑰是由某個(gè)身份確定的人擁有的, 這就要用到電子證書(shū)。 電子證書(shū)是由大家共同信任的第三方--認(rèn)證中心(Certificate Authority, CA)頒發(fā)的, 證書(shū)包含某人的身份信息、 公鑰和CA的數(shù)字簽名。 任何一個(gè)信任CA的通訊一方, 都可以通過(guò)驗(yàn)證對(duì)方電子證書(shū)上的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ā)證書(shū)和管理證書(shū)的基礎(chǔ)功能。 Windows 2000 Server中有一個(gè)部件是證書(shū)服務(wù)器(Certificate Server), 是原來(lái)Windows NT 4.0的選項(xiàng)包中Certificate Server 1.0的升級(jí)產(chǎn)品。
通過(guò)認(rèn)證服務(wù)器, 企業(yè)可以為用戶(hù)頒發(fā)各種電子證書(shū), 比如用于網(wǎng)上購(gòu)物的安全通道協(xié)議(SSL)使用的證書(shū), 用于加密本地文件(EFS)的證書(shū)等等。 認(rèn)證服務(wù)器還管理證書(shū)的失效, 發(fā)布失效證書(shū)列表等。 每個(gè)用戶(hù)或計(jì)算機(jī)都有自己的一個(gè)證書(shū)管理器, 其中既放置著自己從CA申請(qǐng)獲得的證書(shū), 也有自己所信任的CA的根證書(shū)。
Windows 2000中的電子證書(shū)都是基于X.509協(xié)議的, 保證了與其他系統(tǒng)的互操作性。 國(guó)際標(biāo)準(zhǔn)組織CCITT建議以X.509作為X.500目錄檢索的一個(gè)組成部分, 提供安全目錄檢索服務(wù)。 X.500是CCITT建議的, 用于分布網(wǎng)絡(luò)中存儲(chǔ)用戶(hù)信息的數(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就某些特定的文件或文件目錄需要訪(fǎng)問(wèn)者提供客戶(hù)端證書(shū); 除非擁有電子證書(shū)及相應(yīng)的私鑰, 一個(gè)訪(fǎng)問(wèn)者的瀏覽器無(wú)法獲得這些文件和文件目錄。 SSL的方式體現(xiàn)在瀏覽器的訪(fǎng)問(wèn)欄上, 應(yīng)該是Https而不是普通的Http。 通過(guò)網(wǎng)站驗(yàn)證后的訪(fǎng)問(wèn)者, 可以被映射為活動(dòng)目錄中的用戶(hù)或者用戶(hù)組, 實(shí)現(xiàn)合作伙伴之間外部網(wǎng)(Extranet)的應(yīng)用。
為了安全地保管私鑰和電子證書(shū), 在Windows 2000中, 微軟為用戶(hù)還提供了一套智能卡的結(jié)構(gòu)。 智能卡因其高安全性和輕便的可移動(dòng)性, 勢(shì)必將發(fā)展成為類(lèi)似鼠標(biāo)/鍵盤(pán)一般的計(jì)算機(jī)的標(biāo)準(zhǔn)外設(shè)。 微軟還提供了一套基于32位Windows平臺(tái)的Smart Card for Windows產(chǎn)品, 包括API和開(kāi)發(fā)工具。 眾多的智能卡廠家, 如Gemplus, 只要生產(chǎn)符合國(guó)際ISO工業(yè)標(biāo)準(zhǔn)的智能卡產(chǎn)品, 就可以在微軟的Smart Card軟件平臺(tái)上操作。
當(dāng)用戶(hù)用Internet Explorer向一個(gè)認(rèn)證中心申請(qǐng)電子證書(shū)時(shí), 就會(huì)有一對(duì)公鑰和私鑰自動(dòng)產(chǎn)生出來(lái); 私鑰可以存儲(chǔ)在智能卡中, 公鑰和其他身份信息(比如姓名、電子郵件地址等)發(fā)給認(rèn)證中心。 如果認(rèn)證中心批準(zhǔn)該申請(qǐng), 那么包含公鑰的電子證書(shū)就會(huì)被返回來(lái), 存儲(chǔ)在智能卡中。 這種電子證書(shū)的申請(qǐng)過(guò)程也可以由管理員設(shè)定的批處理方法來(lái)進(jìn)行, 用戶(hù)還可以通過(guò)LDAP來(lái)查詢(xún)CA中通訊對(duì)方的公鑰, 因?yàn)閃indows 2000的認(rèn)證服務(wù)器是可以與活動(dòng)目錄相結(jié)合的, 所以這方面的查詢(xún)很方便。
智能卡存儲(chǔ)私鑰和電子證書(shū)的做法, 給最終用戶(hù)提供了對(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è)卡完成很多的工作, 比如打開(kāi)公司的大門(mén), 打開(kāi)自己的抽屜, 登錄到計(jì)算機(jī)和網(wǎng)絡(luò); 加密自己的郵件和文件, 這樣即使管理員有完全控制的權(quán)限, 管理員也不能獲知其中的內(nèi)容; 員工還可以上網(wǎng)購(gòu)物, 比如購(gòu)買(mǎi)一張機(jī)票, 然后直接到飛機(jī)艙前劃卡即可上飛機(jī); 還可以作為電話(huà)卡、 信用卡使用; 作為市政交費(fèi)卡使用, 支付水、電、煤氣等費(fèi)用; 作為電子錢(qián)包式的儲(chǔ)值卡來(lái)使用, 支付小額的午餐費(fèi)、 出租車(chē)費(fèi)等等。 可以說(shuō)智能卡的應(yīng)用在Windows 2000推出之后, 會(huì)有一個(gè)長(zhǎng)足的進(jìn)步。

