實(shí)務(wù)課程:會(huì)計(jì)課程稅務(wù)課程免費(fèi)試聽招生方案 初當(dāng)會(huì)計(jì)崗位認(rèn)知會(huì)計(jì)基礎(chǔ)財(cái)務(wù)報(bào)表會(huì)計(jì)電算化

綜合輔導(dǎo):會(huì)計(jì)實(shí)務(wù)行業(yè)會(huì)計(jì)管理會(huì)計(jì)審計(jì)業(yè)務(wù) 初當(dāng)出納崗位認(rèn)知現(xiàn)金管理報(bào)銷核算圖表學(xué)會(huì)計(jì)

首頁>會(huì)計(jì)信息>會(huì)計(jì)電算化> 正文

用Windows2000實(shí)現(xiàn)安全Web站點(diǎn)

2004-11-19 14:30 浙江大學(xué)/鐘元生 【 】【打印】【我要糾錯(cuò)
    SSL(Security Socket Layer,簡稱安全套接字協(xié)議層)是電子商務(wù)的一種重要技術(shù),可用于實(shí)現(xiàn)安全web站點(diǎn)。但是,迄今為止,報(bào)刊上有關(guān)文章主要在于理論介紹,具體實(shí)現(xiàn)技術(shù)的介紹比較少見,其中原因主要在于商業(yè)的認(rèn)證中心(Certificate Authority,又稱CA中心)在國內(nèi)還不太成熟,向國外申請又太貴。還有些文章提到了用Windows2000來自己建立CA中心,同樣也主要是理論介紹,憑借它們加上Windows的幫助,要設(shè)計(jì)一個(gè)安全web站點(diǎn),依然有一定難度,筆者通過一段時(shí)間摸索,掌握了有關(guān)的實(shí)現(xiàn)技術(shù),特介紹之,與同行共享。

    為便于大家掌握,以下介紹采用最簡單的工作環(huán)境(見圖1),即:Web服務(wù)器Windows2000AdvancedServer作為操作系統(tǒng);認(rèn)證中心則在此基礎(chǔ)上增加了“證書頒發(fā)機(jī)構(gòu)”組件,IP地址為10.15.11.13,證書頒發(fā)策略為“立即頒發(fā)”;瀏覽器用IE4.0或IE5.0,服務(wù)器放在Intranet上,通過網(wǎng)絡(luò)頒發(fā)數(shù)字證書。假設(shè)要實(shí)現(xiàn)安全Web的站點(diǎn)名為默認(rèn)站點(diǎn)Myweb.

    一、數(shù)字證書的取得與管理

    (一)生成申請Web站點(diǎn)數(shù)字證書的文件

    本操作在Web服務(wù)器端進(jìn)行。具體步驟是:

    1.啟動(dòng)Web服務(wù)器的“Internet信息服務(wù)”

    2.在“Internet信息服務(wù)”中,右擊Myweb站點(diǎn)名,選擇快捷菜單的“屬性”命令,出現(xiàn)“Myweb屬性”對話框;

    3.單擊“Myweb屬性”對話框中“目錄安全性”頁標(biāo)簽,再單擊“服務(wù)器證書”按鈕。

    4.在“IIS證書向?qū)А睂υ捒蛑,按提示,依次選擇“創(chuàng)建一個(gè)新證書”,“現(xiàn)在準(zhǔn)備請求,但稍候發(fā)送”等,設(shè)置有關(guān)屬性,將最后的證書申請以文本文件保存,假設(shè)文件名為:E:\\certreq.txt.

    5.最后單擊“完成”即可

    (二)生成服務(wù)器證書

    首先,將證書申請文件內(nèi)容復(fù)制到剪切板。方法是,用記事本打開E:\\certreq.txt,查看申請文件內(nèi)容?梢钥吹竭@是一個(gè)純文本文件,以PKCS#10編碼格式保存,首尾兩行為申請的開始與結(jié)束。選擇“編輯/全選”,再選擇“編輯/復(fù)制”即可。

    然后生成服務(wù)器證書。緊接前一步,在Web服務(wù)器端依次執(zhí)行:

    1.啟動(dòng)IE,在地址欄打入命令:http://10.15.11.13/certsrv;

    2.選擇“申請證書”,單擊“下一步”;

    3.選擇申請類型為“高級(jí)申請”,單擊“下一步”;

    4.選擇第2項(xiàng)“使用Base64編碼的PKCS#10文件提交一個(gè)證書申請,或使用Base64編碼的PKCS#7文件更新證書申請”,單擊“下一步”;

    5.右擊中間“Base64編碼證書申請”右邊的編輯框,選擇快捷菜單項(xiàng)“粘貼”,將證書申請內(nèi)容粘貼進(jìn)去(見圖2);

    圖2(略)

    6.單擊“提交”按鈕,則完成申請功能。

    7.由于認(rèn)證中心的證書頒發(fā)策略為立即頒發(fā),因此很快,CA中心就會(huì)將證書頒發(fā)給你,屏幕上顯示“您申請的證書已發(fā)布給您”,你可以“下載CA證書及CA證書路徑”等提示(見圖3);

    圖3(略)

    8.選擇“Base64編碼”,單擊對應(yīng)的顯示,將證書以mywebcert.cer為文件名保存在桌面上。

    (三)安裝服務(wù)器證書

    再進(jìn)入到“myweb屬性”對話框中,單擊“服務(wù)器證書”,在“IIS證書向?qū)А睂υ捒蛑,按提示操作即可安裝服務(wù)器證書。其中要求:

    1.選擇“處理掛起的請求并安裝證書”;

    2.輸入證書文件名時(shí),單擊“瀏覽”,選擇桌面上的文件“mywebcert”(即存放剛才生成的服務(wù)器證書的文件),單擊“打開”,直到出現(xiàn)“完成”對話框時(shí),單擊“完成”按鈕即完成證書安裝。

    (四)查看并備份服務(wù)器證書

    接上一步,單擊“myweb屬性”對話框中的“查看證書”按鈕,將顯示服務(wù)器的證書,顯示內(nèi)容略。在“證書”對話框中單擊“詳細(xì)信息”頁,再單擊“復(fù)制到文件”將該證書以文件名mywebcert.pfx保存在桌面上。注意文件的擴(kuò)展名表示“個(gè)人信息交換”證書文件,與前面不同,文件保存了證書的公鑰與私鑰。

    二、設(shè)置“安全通信”屬性

    接上一步,單擊myweb屬性對話框中的“編輯”按鈕,選中“申請安全通道”與“申請客戶證書”(見圖4),再單擊“確定”。

    圖4(略)

    這表示客戶瀏覽器查看Myweb站點(diǎn)的內(nèi)容時(shí),必須申請安全通道。要申請安全通道,客戶端必須擁有本服務(wù)器信任的證書,否則不允許客戶瀏覽。并且必須在地址欄打入https開頭,而不是Http,進(jìn)行SSL的安全通信。具體操作過程略。

    如果允許客戶決定與web服務(wù)器通信加密,或不加密通信,則設(shè)置為“接收客戶證書”。

    除此之外,還可以對證書信任列表進(jìn)行設(shè)置,本文略。

    三、ASP與安全web站點(diǎn)有關(guān)的對象與方法

    (一)Session對象

    Session是訪問者從到達(dá)某個(gè)特定主頁到離開為止的那段時(shí)間,每個(gè)訪問者都會(huì)單獨(dú)獲得一個(gè)session.這是一個(gè)內(nèi)置對象。其中屬性Session.SessionID可作為一個(gè)用戶session的惟一標(biāo)識(shí)。我們一般設(shè)置普遍信息非加密瀏覽,敏感信息要求加密通信,例如一個(gè)電子商務(wù)網(wǎng)站,登記注冊時(shí)要求加密通信,注冊后察看一般產(chǎn)品時(shí)用非加密通信,而要輸入信用卡時(shí),又要用加密通信。為此,我們只要將兩類信息在web站點(diǎn)下面分目錄存放,其中非加密瀏覽的目錄取消其“目錄安全性”的“申請安全通道”復(fù)選框即可,方法類同2. ASP用Response.RedirectURL,將瀏覽器在不同的目錄網(wǎng)頁之間轉(zhuǎn)換。同時(shí),檢測Session對象的SessionID屬性,只要它是一樣的,Web服務(wù)器就知道還是同一個(gè)用戶瀏覽。

    (二)客戶證書集

    客戶證書可以通過Request對象來檢測,所有與該Web站點(diǎn)通信的客戶證書的信息存儲(chǔ)在集合Request.ClientCertficate(key[SubField])中。

    對于Key,該集合具有如下的關(guān)鍵字:

    1.Subject證書的主題。包含所有關(guān)于證書收據(jù)的信息,能和所有的子域后綴一起使用;

    2.Issuer證書的發(fā)行人。包含所有關(guān)于證書驗(yàn)證的信息,除了CN外,能和所有的子域后綴一起使用;

    3.ValidFrom證書發(fā)行的日期,使用VBScript格式;

    4.ValidUntel證書有效截止日期;

    5.Seria1Number證書的序列號(hào);

    6.Certificate整個(gè)證書內(nèi)容的二進(jìn)制流,使用ASN.1格式。

    對于Subfield,Subject和Issuer關(guān)鍵字可以具有如下的子域后綴:(比如SubjectOU或IssuerL)

    C表示國家,O表示公司或組織名稱,OU表示組織單元,CN表示用戶的常規(guī)名稱,L表示局部,S表示州(或。琓表示個(gè)人或公司的標(biāo)題,GN表示給定名稱,I表示初始。

    當(dāng)文件cervbs.inc(VBScript使用)或cerjavas.inc(Jscript使用)通過使用#INCLUDE包含在你的Active Server Page里時(shí),下面兩個(gè)標(biāo)志可以使用:

    ceCertPresent指明客戶證書是否存在,其值為TRUE或FALSE.

    CeUnrecongnizedIssure指明在該鏈表中的最后的證書的發(fā)行者是否未知,其值為TRUE或FALSE.

    (三)服務(wù)器環(huán)境變量中與證書有關(guān)的變量

    由環(huán)境變量的集合Request.ServerVaribles檢測,可以通過使用HTTP前綴來讀取任何頭信息。與服務(wù)器證書有關(guān)的信息,可以使用下列變量獲得。

    AUTHPASSWORD當(dāng)使用基本驗(yàn)證模式時(shí),客戶在密碼對話框中輸入的密碼。

    AUTHTYPE這是用戶訪問受保護(hù)的腳本時(shí),服務(wù)器用于檢驗(yàn)用戶的驗(yàn)證方法。

    AUTHUSER代驗(yàn)證的用戶名。

    CERTCOOKIE唯一的客戶證書ID號(hào)

    CERTFLAG客戶證書標(biāo)志,如有客戶端證書,則bit0為0.如果客戶端證書驗(yàn)證無效,bit1被設(shè)置為1.

    CERTISSUER用戶證書中的發(fā)行者字段。

    CERTKEYSIZE安全套接字層連接關(guān)鍵字的位數(shù)。如128.

    CERTSECRETKEYSIZE服務(wù)器驗(yàn)證私人關(guān)鍵字的位數(shù)。如1024.

    CERTSERIALNUMBER客戶證書的序列號(hào)字段。

    CERTSERVERISSUER服務(wù)器證書的發(fā)行者字段。

    CERTSERVERSUBJECT服務(wù)器證書的主題字段。

    CERTSUBJECT客戶端證書的主題字段。

    HTTPS如果請求穿過安全通道(SSL),則返回ON.如果請求來自非安全通道,則返回OFF.

    HTTPSKEYSIZE安全套接字層連接關(guān)鍵字的位數(shù),如128.

    HTTPSSECRETKEYSIZE服務(wù)器驗(yàn)證私人關(guān)鍵字的位數(shù),如1024.

    HTTPSSERVERISSUER服務(wù)器證書的發(fā)行者字段。

    HTTPSSERVERSUBJECT服務(wù)器證書的主題字段。
相關(guān)熱詞: Windows200