讚賞碼 & 聯繫方式 & 個人閒話
【實驗名稱】證書應用和證書管理
【實驗目的】
1.瞭解PKI體系和用戶進行證書申請和CA頒發證書過程
2.掌握認證服務的安裝及配置方法
3.掌握使用數字證書配置安全站點的方法
4.掌握使用數字證書發送簽名郵件和加密郵件的方法
5.掌握CA通過自定義方式查看申請信息的方法
6.掌握備份和還原CA的方法和吊銷證書和發佈CRL的方法
【實驗原理】
一.PKI簡介
PKI是Public Key Infrastructure的縮寫,通常譯爲公鑰基礎設施。稱爲“基礎設施”是因爲它具備基礎設施的主要特徵。PKI在網絡信息空間的地位與其他基礎設施在人們生活中的地位非常類似。電力系統通過延伸到用戶端的標準插座爲用戶提供能源;PKI通過延伸到用戶的接口爲各種網絡應用提供安全服務,包括身份認證、識別、數字簽名、加密等。一方面PKI對網絡應用提供廣泛而開放的支撐;另一方面,PKI系統的設計、開發、生產及管理都可以獨立進行,不需要考慮應用的特殊性。
PKI的主要目的是通過自動管理密鑰和證書,爲用戶建立起一個安全的網絡運行環境,使用戶可以在多種應用環境下方便的使用加密和數字簽名技術,從而保證網上數據的完整性、機密性、不可否認性。數據的完整性是指數據在傳輸過程中不能被非法篡改;數據的機密性是指數據在傳輸過程中,不能被非授權者偷看;數據的不可否認性是指參加某次通信交換的一方事後不可否認本次交換曾經發生過。
二.標準證書文件格式
可以用以下格式導入和導出證書。
1.個人信息交換(PFX文件格式)
“個人信息交換”格式(PFX,也稱爲PKCS #12)允許證書及其相關私鑰從一臺計算機傳輸到另一臺計算機或可移動媒體。PKCS #12是業界格式,適用於證書及其相關私鑰的傳輸或備份和還原。
2.加密消息語法標準(PKCS#7)
PKCS#7格式允許將證書及證書路徑中的所有證書從一臺計算機傳輸到另一臺計算機或可移動媒體。PKCS#7文件通常使用.p7b擴展名且與ITU-T X.509標準兼容。
【實驗內容】
實驗一 證書應用
本練習主機A、B、C爲一組。實驗角色說明如下:
實驗主機 |
實驗角色 |
主機A |
CA(證書頒發機構) |
主機B |
服務器 |
主機C |
客戶端 |
一.安全Web通信
1.無認證(服務器和客戶端均不需要身份認證)
通常在Web服務器端沒有做任何加密設置的情況下,其與客戶端的通信是以明文方式進行的。
(1)客戶端啓動協議分析器,選擇“文件”|“新建捕獲窗口”,然後單擊工具欄中的按鈕開始捕獲;
客戶端在IE瀏覽器地址欄中輸入http://服務器IP,訪問服務器Web服務。成功訪問到服務器Web主頁面後,單擊協議分析器捕獲窗口工具欄中的按鈕刷新顯示,在“會話分析”視圖中依次展開“會話分類樹”|“HTTP會話”|“本機IP與同組主機IP地址間的會話”,在端口會話中選擇源或目的端口爲80的會話,在右側會話視圖中選擇名爲“GET”的單次會話,並切換至“協議解析”視圖。
開始監聽並訪問同網段的其他主機:
結束監聽,看到如下記錄:
查看GET,切換至“協議解析”視圖:
通過協議分析器對HTTP會話的解析中可以確定,在無認證模式下,服務器與客戶端的Web通信過程是以明文實現的。
2.單向認證(僅服務器需要身份認證)
(1)CA(主機A)安裝證書服務
主機A依次選擇“開始”|“設置”| “控制面板”|“添加或刪除程序”|“添加/刪除Windows組件”,選中組件中的“證書服務”,此時出現“Microsoft證書服務”提示信息,單擊“是”,然後單擊“下一步”。在接下來的安裝過程中依次要確定如下信息:
- CA類型(選擇獨立根CA)
- CA的公用名稱(userGXCA,其中G爲組編號(1-32),X爲主機編號(A-F),如第2組主機D,其使用的用戶名應爲user2D)
- 證書數據庫設置(默認)
在確定上述信息後,系統會提示要暫停Internet信息服務,單擊“是”,系統開始進行組件安裝。安裝過程中,在彈出的“所需文件”對話框中指定“文件複製來源”爲D:\ExpNIC\CrypApp\Tools\WindowsCA\i386即可(若安裝過程中出現提示信息,請忽略該提示繼續安裝)。
「注」 若安裝過程中出現“Windows文件保護”提示,單擊“取消”按鈕,選擇“是”繼續;在證書服務安裝過程中若網絡中存在主機重名,則安裝過程會提示錯誤;安裝證書服務之後,計算機將不能再重新命名,不能加入到某個域或從某個域中刪除;要使用證書服務的Web組件,需要先安裝IIS(本系統中已安裝IIS)。
在啓動“證書頒發機構”服務後,主機A便擁有了CA的角色。
(2)服務器(主機B)證書申請
「注」 服務器向CA進行證書申請時,要確保在當前時間CA已經成功擁有了自身的角色。
- 提交服務器證書申請
服務器在“開始”|“程序”|“管理工具”中打開“Internet信息服務(IIS)管理器”,通過“Internet信息服務(IIS)管理器”左側樹狀結構中的“Internet信息服務”|“計算機名(本地計算機)”|“網站”|“默認網站”打開默認網站,然後右鍵單擊“默認網站”,單擊”屬性”。
在“默認網站 屬性”的“目錄安全性”頁籤中單擊“安全通信”中的“服務器證書”,此時出現“Web服務器證書嚮導”,單擊“下一步”。
在“選擇此網站使用的方法”中,選擇“新建證書”,單擊“下一步”
選擇“現在準備證書請求,但稍後發送”,單擊“下一步”。
填入有關證書申請的相關信息,單擊“下一步”。
在“證書請求文件名”中,指定證書請求文件的文件名和存儲的位置(默認c:\certreq.txt)。單擊“下一步”直到“完成”。
- 通過Web服務向CA申請證書
服務器在IE瀏覽器地址欄中輸入“http://CA的IP/certsrv/”並確認。服務器依次單擊“申請一個證書”|“高級證書申請”|“使用base64編碼...提交一個申請”進入“提交一個證書申請或續訂申請”頁面。
打開證書請求文件certreq.txt,將其內容全部複製粘貼到提交證書申請頁面的“保存的申請”文本框中,然後單擊“提交”。
通告CA已提交證書申請,等待CA頒發證書。
- CA爲服務器頒發證書
在服務器提交了證書申請後,CA在“管理工具”|“證書頒發機構”中單擊左側樹狀結構中的“掛起的申請”項,會看到服務器提交的證書申請。右鍵單擊服務器提交的證書申請,選擇“所有任務”|“頒發”,爲服務器頒發證書(這時“掛起的申請”目錄中的申請立刻轉移到“頒發的證書”目錄中,雙擊查看爲服務器頒發的證書)。
CA收到申請:
爲服務器頒發證書(3號申請):
通告服務器查看證書。
(3)服務器(主機B)安裝證書
- 服務器下載、安裝由CA頒發的證書
通過CA“證書服務主頁”|“查看掛起的證書申請的狀態”|“保存的申請證書”,進入“證書已頒發”頁面,分別點擊“下載證書”和“下載證書鏈”,將證書和證書鏈文件下載到本地。
在“默認網站”|“屬性”的“目錄安全性”頁籤中單擊“服務器證書”按鈕,此時出現“Web服務器證書嚮導”,單擊“下一步”。
選擇“處理掛起的請求並安裝證書”,單擊“下一步”。
在“路徑和文件名”中選擇存儲到本地計算機的證書文件,單擊“下一步”。
在“SSL端口”文本框中填入“443”,單擊“下一步”直到“完成”。
此時服務器證書已安裝完畢,可以單擊“目錄安全性”頁籤中單擊“查看證書”按鈕,查看證書的內容,回答下面問題。
證書信息描述: 無法將這個證書驗證到一個受信任的證書頒發機構 。
頒發者: USBR1C(CA) 。
打開IE瀏覽器點擊“工具”|“Internet選項”|“內容”|“證書”,在“受信任的根證書頒發機構”頁籤中查看名爲userGX的頒發者(也就是CA的根證書),查看其是否存在 不存在 。
- 服務器下載、安裝CA根證書
右鍵單擊certnew.p7b證書文件,在彈出菜單中選擇“安裝證書”,進入“證書導入嚮導”頁面,單擊“下一步”按鈕,在“證書存儲”中選擇“將所有的證書放入下列存儲”,瀏覽選擇“受信任的根證書頒發機構”|“本地計算機”如圖6-1-2所示。
單擊“下一步”按鈕,直到完成。
再次查看服務器證書,回答下列問題:
證書信息描述: 保證遠程計算機的身份 。
頒發者: USER1C(CA) 。
再次通過IE瀏覽器查看“受信任的根證書頒發機構”,查看名爲userGX的頒發者(也就是CA的根證書),查看其是否存在 存在 。
(4)Web通信
服務器在“默認網站”|“屬性”的“目錄安全性”頁籤“安全通信”中單擊“編輯”按鈕,選中“要求安全通道SSL”,並且“忽略客戶端證書”(不需要客戶端身份認證),單擊“確定”按鈕使設置生效。
客戶端重啓IE瀏覽器,在地址欄輸入http://服務器IP/並確認,此時訪問的Web頁面出現如圖信息。
客戶端啓動協議分析器,設置過濾條件:僅捕獲客戶端與服務器間的會話通信,並開始捕獲數據。
客戶端在IE瀏覽器地址欄中輸入“https://服務器IP/”並確認,訪問服務器Web服務。此時會出現“安全警報”對話框提示“即將通過安全連接查看網頁”,單擊“確定”,又出現“安全警報”對話框詢問“是否繼續?”,單擊“是”。
此時客戶端即可以訪問服務器Web頁面了。
訪問成功後,停止協議分析器捕獲,並在會話分類樹中找到含有客戶端與服務器IP地址的會話。在協議解析頁面可觀察到,服務器與客戶端的Web通信過程是以密文實現的,如下圖所示。
3.雙向認證(服務器和客戶端均需身份認證)
(1)服務器要求客戶端身份認證
服務器在“默認網站”|“屬性”的“目錄安全性”頁籤中單擊“編輯”按鈕,選中“要求安全通道SSL”,並且“要求客戶端證書”,單擊“確定”按鈕使設置生效。
(2)客戶端訪問服務器
客戶端在IE瀏覽器地址欄中輸入“https://服務器IP”訪問服務器Web服務。此時彈出“安全警報”對話框,提示“即將通過安全連接查看網頁”,單擊“確定”,又彈出“安全警報”對話框詢問“是否繼續?”,單擊“是”。出現“選擇數字證書”對話框,但是沒有數字證書可供選擇。單擊“確定”,頁面出現提示“該頁要求客戶證書”。
(3)客戶端(主機C)證書申請
「注」 客戶端向CA進行證書申請時,要確保在當前時間CA已經成功擁有了自身的角色。
- 登錄CA服務主頁面
客戶端在確認CA已經啓動了“證書頒發機構”服務後,通過IE瀏覽器訪問http://CA的IP/certsrv/,可以看到CA證書服務的主頁面。
- 客戶端提交證書申請
在主頁面“選擇一個任務”中單擊“申請一個證書”,進入下一頁面。
在證書類型頁面中選擇“Web瀏覽器證書”,進入下一頁面。
在“Web瀏覽器證書 - 識別信息”頁面中按信息項目填寫自己相關信息。
上述信息填寫完畢後,單擊“提交”按鈕提交識別信息,當頁面顯示“證書掛起”信息時,說明CA已經收到用戶的證書申請,但是用戶必須等待管理員頒發證書。
單擊頁面右上角的“主頁”回到證書服務主頁面。在“選擇一個任務”中單擊“查看掛起的證書申請的狀態”進入下一頁面,會看到“Web瀏覽器證書(提交申請時間)”。單擊自己的證書申請,這時會看到證書的狀態依然是掛起狀態。
接下來請CA爲客戶端頒發證書。
- CA爲客戶端頒發證書(4號申請)
頒發證書:
通告客戶端查看證書。
- 客戶端下載、安裝證書鏈
客戶端重新訪問CA證書服務主頁面,單擊“查看掛起的證書申請的狀態”,然後單擊自己的證書申請。此時頁面顯示“證書已頒發”。單擊“安裝此證書”,對於彈出的“安全性警告”對話框選擇“是”。
這時頁面顯示信息“您的新證書已經成功安裝”
(4)客戶端查看頒發證書
客戶端單擊IE瀏覽器的“工具”|“Internet選項”|“內容”|“證書”,會在“個人”頁籤中看到同組主機CA頒發給自己的證書,如圖所示。
(5)客戶端再次通過https訪問服務器
客戶端重新運行IE瀏覽器並在地址欄中輸入“https://服務器IP/bbs”並確認,訪問服務器的Web服務。此時出現“安全警報”對話框提示“即將通過安全連接查看網頁”,單擊“確定”,又出現“安全警報”對話框詢問“是否繼續?”,單擊“是”。
出現“選擇數字證書”對話框,選擇相應的數字證書,單擊“確定”。出現“安全信息”提示“是否顯示不安全的內容”,單擊“否”。此時,客戶端即可以訪問服務器的Web服務。
實驗二 證書管理
本練習主機A、B爲一組,C、D爲一組,E、F爲一組。實驗角色說明如下:
實驗主機 |
實驗角色 |
主機A、C、E |
CA(證書頒發機構) 、服務器 |
主機B、D、F |
客戶端 |
下面以主機A、B爲例,說明實驗步驟。
首先使用“快照X”恢復Windows系統環境。
一.安裝證書服務
主機A安裝證書服務,具體步驟見練習一|安全Web通信|單向認證。
在啓動“證書頒發機構”服務後,主機A便擁有了CA的角色。
二.CA操作
1.CA自動頒發證書
(1)CA通過“開始”|“程序”|“管理工具”|“證書頒發機構”打開“證書頒發機構”。
(2)在“證書頒發機構”的左側樹狀結構中右鍵單擊“CA的名稱”|“屬性”,打開“屬性”選項卡,單擊“策略模塊”|“屬性”。在“請求處理”頁籤中選擇“如果可以的話,按照證書模板的設置。否則,將自動頒發證書”。單擊“應用”按鈕,出現重啓證書服務提示信息,單擊“確定”直到完成設置,重啓證書服務。
2.客戶端以高級方式申請證書
「注」 客戶端向CA進行證書申請時,要確保在當前時間CA已經成功擁有了自身的角色。
(1)客戶端通過IE瀏覽器訪問http://CA的IP/certsrv/,通過“申請一個證書”|“高級證書申請”|“創建並向此CA提交一個申請”進入證書申請頁面。
在“識別信息”中填入相關信息。
在“需要的證書類型”中選擇“客戶端身份驗證證書”。
在“密鑰選項”中選中“標記密鑰爲可導出”,其它項保持默認設置。
單擊“提交”按鈕提交信息。由於CA已經設置“自動頒發證書”策略,所以申請被立刻批准,此時頁面顯示“證書已頒發”,客戶端單擊”安裝此證書”。這時出現對話框“潛在的腳本衝突”,單擊“是”。
這時頁面顯示信息“證書已安裝”。
(2)CA查看“頒發的證書”,操作“添加/刪除列”。
在“頒發的證書”目錄中,雙擊信息條目即可以查看證書。
如果要查看證書的單獨項,右鍵單擊“信息條目”,選擇“所有任務”|“導出二進制數據”,彈出“導出二進制數據”對話框,在其中選擇相應的項。如果不能顯示,則應該在“添加/刪除列”中選擇相應的列。
在“證書頒發機構”的左側樹狀結構中右鍵單擊“頒發的證書”|“查看”|“添加/刪除列”來自定義要顯示的項目。其它幾個目錄如“掛起的申請”等也可以進行這項操作。
3.CA的備份和還原
(1)CA在“證書頒發機構”的左側樹狀結構中右鍵單擊“CA的名稱”|“所有任務”|“備份CA”,此時出現“證書頒發機構備份嚮導”,單擊“下一步”。
在“選擇要備份的項目”中選中兩個選項。
“備份到這個位置中”選擇一個新建的空目錄,單擊“下一步”。
輸入密碼並確認密碼,單擊“下一步”直到“完成”。
在“頒發的證書”目錄中,選擇一個證書右鍵單擊此證書選擇“所有任務”|“吊銷證書”。
此時彈出對話框要求指定“理由碼”,選擇任意“理由碼”單擊確定。
此時選擇的證書已經轉移到“吊銷的證書”目錄中,右鍵單擊此證書選擇“所有任務”|“解除吊銷證書”,此時出現提示信息“取消吊銷命令失敗…”,單擊“確定”。
(2)CA在“證書頒發機構”的左側樹狀結構中右鍵單擊“CA的名稱”|“所有任務”|“還原CA”,此時出現“證書頒發機構還原嚮導”提示要立即關閉證書服務,單擊“確定”。出現“證書頒發機構還原嚮導”,單擊“下一步”。
在“選擇要還原的項目”中選中兩個選項。“從這個位置還原”選擇CA備份的目錄,單擊“下一步”。
輸入密碼,單擊“下一步”直到“完成”。
“證書頒發機構還原嚮導”提示要啓動證書服務,單擊“是”啓動證書服務。
此時檢查剛纔被吊銷的證書,已經從“吊銷的證書”目錄中還原回“頒發的證書”目錄中。
4.證書吊銷
(1)主機A申請服務器證書。
請根據練習一中服務器證書申請實驗步驟,爲主機A生成服務器證書請求,並安裝服務器證書和證書鏈。
(2)主機A在IIS中設置SSL,要求安全通道和客戶端證書。
(3)客戶端訪問服務器。
客戶端在IE瀏覽器地址欄中輸入“https://服務器IP”並確認。此時出現“安全警報”對話框提示“即將通過安全連接查看網頁”,單擊“確定”,又出現“安全警報”對話框詢問“是否繼續?”,單擊“是”。出現“選擇數字證書”對話框,選擇相應的數字證書,單擊“確定”即可以訪問服務器的Web服務了。
(4)CA將客戶端證書吊銷,併發布CRL。
CA在“頒發的證書”中找到客戶端使用的Web瀏覽器證書。右鍵單擊此證書“所有任務”|“吊銷證書”,選擇任意“理由碼”,單擊“確定”,此時證書即轉移到“吊銷的證書”目錄中。在左側樹狀結構中右鍵單擊“吊銷的證書”|“所有任務”|“發佈”,出現對話框“發佈CRL”,單擊“確定”。在左側樹狀結構中右鍵單擊“吊銷的證書”|“屬性”彈出“吊銷的證書的屬性”對話框,單擊“查看CRL”頁籤,單擊“吊銷列表”按鈕,可以查看剛發佈的CRL。
(5)客戶端訪問服務器。
重新訪問服務器的證書服務,此時發現不能訪問服務器,頁面顯示“該頁要求有效的SSL客戶證書”。說明此時客戶端證書已經不被信任。
【小結或討論】
在實驗中我們可以發現,在無認證模式下服務器與客戶端的Web通信過程是以明文實現的。而在單向認證中,首先CA(主機A)需要安裝證書服務,接着服務器(主機B)向CA申請證書,在CA批准後,服務器(主機B)會安裝證書。但是此時CA是並沒被服務器信任的,所有服務器需要安裝CA根證書,這樣CA對服務器的認證證書就完全合法了。在要求安全通道SSL並且忽略客戶端證書後,發現使用https才能順利訪問,並且服務器與客戶端的Web通信過程是以密文實現的。
對於雙向認證,也就是說不光客戶機會驗證服務器,服務器也要對客戶機的身份進行驗證。因此客戶端(主機C)需要向CA申請證書。在CA爲客戶端頒發證書後,服務器選中要求客戶端證書,客戶端再次通過https訪問服務器,選擇相應的數字證書便可順利訪問網站。
實驗二主要演示了CA自動頒發證書、客戶端以高級方式申請證書的操作以及備份和還原CA的方法和吊銷證書和發佈CRL的方法。