實務課程:會計課程稅務課程免費試聽招生方案 初當會計崗位認知會計基礎財務報表會計電算化

綜合輔導:會計實務行業(yè)會計管理會計審計業(yè)務 初當出納崗位認知現(xiàn)金管理報銷核算圖表學會計

首頁>會計信息>會計電算化> 正文

用Windows2000實現(xiàn)安全Web站點

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

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

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

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

    本操作在Web服務器端進行。具體步驟是:

    1.啟動Web服務器的“Internet信息服務”

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

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

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

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

    (二)生成服務器證書

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

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

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

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

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

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

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

    圖2(略)

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

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

    圖3(略)

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

    (三)安裝服務器證書

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

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

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

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

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

    二、設置“安全通信”屬性

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

    圖4(略)

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

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

    除此之外,還可以對證書信任列表進行設置,本文略。

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

    (一)Session對象

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

    (二)客戶證書集

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

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

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

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

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

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

    5.Seria1Number證書的序列號;

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

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

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

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

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

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

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

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

    AUTHPASSWORD當使用基本驗證模式時,客戶在密碼對話框中輸入的密碼。

    AUTHTYPE這是用戶訪問受保護的腳本時,服務器用于檢驗用戶的驗證方法。

    AUTHUSER代驗證的用戶名。

    CERTCOOKIE唯一的客戶證書ID號

    CERTFLAG客戶證書標志,如有客戶端證書,則bit0為0.如果客戶端證書驗證無效,bit1被設置為1.

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

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

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

    CERTSERIALNUMBER客戶證書的序列號字段。

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

    CERTSERVERSUBJECT服務器證書的主題字段。

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

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

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

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

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

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