天天看點

Windows Server2008 R2 CA部署【上】

PKI、SSL網站與郵件安全

當你在網絡上發送資料時,這些資料可能會在發送過程中被截獲、修改、而PKI(Public Key Infrastructure,公開密鑰基礎架構)可以確定電子郵件、電子商務交易、檔案發送等各類資料發送的安全性。

PKI概述

                   使用者通過網絡将資料發送給接收者,可以利用PKI所提供的以下兩種功能來確定資料發送的安全性:

                   1:将發送的資料加密(encryption)。

                   2:接收者的計算機收到資料後,會驗證該資料是否由發件人本人所發送(authentication)。同時還可以确認資料的完整性(integrity),也就是檢查資料在發送過程中是否被修改。

         PKI根據Public Key Cryptography(公開密碼編碼學)來提供上述功能,而使用者需要有用以下一組密鑰來支援這些功能:

                   一、公鑰:使用者的公鑰(Public Key)可以公開給其他使用者。

                   二、私鑰:使用者的私鑰(Private key)是該使用者私有的,且是存儲在使用者的計算機内,隻有他能夠通路。

         使用者需要通過向證書頒發機構(Certification Authority,CA)申請證書(Certificate)的方法來擁有與使用這一組密鑰。

         公鑰加密

         資料加密後,必須經過解密才讀的到資料的内容。PKI使用公鑰加密(Public Key Encryption)來将資料加密與解密。發件人利用就收方的公鑰将資料加密,而接收方利用自己的私鑰将資料解密,如下圖就是使用者jack發送一封經過加密的電子郵件給使用者Mary的流程。

         圖中Jack必須先取得Mary的公鑰,才可以利用此密鑰來将電子郵件加密,而因為Mary的私鑰之存儲在他的計算機内,故隻有她的計算機可以将此郵件解密,是以她可以正常讀取此郵件,其他使用者即使攔截這封郵件也無法讀取郵件内容,正常情況下他們沒有Mary的私鑰,無法将其解密。

         提示:

         公鑰加密使用一組密鑰:公鑰與私鑰,其中公鑰用來加密,而私鑰用來解密,這種方法又成為非對稱(asymmetric)加密。還有一種加密是私鑰加密(secret key encryption),又成為對稱(symmetric)加密,其加密、解密都是使用同一個密鑰。

         公鑰驗證:

         發件人可以利用公鑰驗證(Public Key Authentication)來将要發送的資料“數字簽名”(digital signature),而接收方在收到資料後,便能夠通過此數字簽名來驗證資料是否确實是由發件人本人所發出的,同時還會檢查資料在發送的過程中是否被修改。

         發件人是利用自己的私鑰将資料簽名,而接收方會利用發件人的公鑰來驗證此份資料,下圖即為使用者Jack發送一封經過簽名的電子郵件給使用者Mary的流程。

         由于圖中的郵件是經過Jack的私鑰簽名,而公鑰與私鑰是一對的,是以接收方Mary必須先取得發件人Jack 的公鑰後,才可以利用此密鑰來驗證這封郵件是否由Jack本人所發送過來的,并檢查這封郵件是否被修改。

         數字簽名是如何産生的?又如何用來驗證身份的,可以參考下圖流程。

以下簡要解釋下圖中的流程:

1、發件人的電子郵件經過消息雜湊演算法(Message hash algorithm)的運算處理後,産生一個消息再要(Message digest),它是數字指紋(digital finderprint)。

2、發件人的電子郵件軟體利用發件人的私鑰将此消息摘要加密,所使用的加密方法為公鑰加密算法(public key encryption algorithm),加密後的結果被稱為數字簽名。

3、發件人的電子郵件軟體将原電子郵件與數字簽名一起發送給接收方。

4、接收方的電子郵件軟體會将收到的電子郵件與數字簽名分開處理:

         ·電子郵件重新經過消息雜湊演算法的運算後,産生一個新的message digest。

         ·數字簽名經過公鑰加密算法的解密處理後,可得到發件人傳來的原message digest。

5、新message digest與原message digest應該相同,否則表示這封電子郵件被改動或是假冒身份者發來的。

         SSL網站安全連接配接

         SSL(Secure Socket Layer)是一個以PKI為基礎的安全協定,若要讓網站擁有SSL安全連接配接功能的話,就必須為網站向證書頒發機構(CA)申請SSL證書(網頁伺服器證書),證書内包含了公鑰、證書的有效期限,發放此證書的CA、CA的數字簽名等資料。

         在網站擁有SSL證書之後,用戶端與網站之間就可以通過SSL安全連接配接來通信,也就是将URL路徑中的http改成https,例如網站為www.itchenyi.com。則用戶端是利用https://www.itchenyi.com來連接配接網站。

         下圖中,說明用戶端與網站之間如何建立SSL安全連接配接,建立SSL安全連接配接時,需要建立一個雙方都同意的會話密鑰(session key),并利用此私鑰來将雙方所發送的資料加密、解密并确認資料是否被篡改。

         1、用戶端在浏覽器内通過https://www.itchenyi.com來連接配接網站,其中的https表示要與網站之間建立SSL安全連接配接。

         2、網站收到用戶端的請求後,會将網站本身的證書資訊(内含公鑰)發送給用戶端的浏覽器。

         3、浏覽器與網站雙方開始協商SSL連接配接的安全級别,例如選擇40或128位的加密方式,加密位數越多,越難以破解,資料就越安全,但網站性能就越差。

         4、浏覽器根據雙方同意的安全級别來建立會話密鑰,利用網站的公鑰将會話加密,将加密過後的會話密鑰發送給網站。

         5、網站利用它自己的私鑰來将會話密鑰解密。

         6、之後網站與浏覽器雙方互相之間發送的所有資料,都會利用這個會話密鑰将其加密與解密。

         “證書頒發機構(CA)”概述與根CA的安裝

         無論是電子郵件保護或SSL網站安全連接配接,都必須申請證書(certifietion),才可以使用公鑰與私鑰來執行資料加密與身份驗證操作。證書就好像是機動車駕駛證一樣,必須擁有機動車駕駛證(證書)才能開車(使用密鑰)。而負責發放證書的機構就是被成為證書頒發機構(Certification Authority,CA)。

         在申請證書時,需要輸入姓名、位址與電子郵件位址等資料,這些資料會被發送到一個成為CSP(cryptographic service provider,密碼學服務提供者)的程式,此程式已經被安裝在申請者的計算機内或此計算機可以通路的裝置裡。

         CSP會自動建立一對密鑰:一個公鑰和一個私鑰。CSP會将私鑰存儲到申請者計算機的系統資料庫(registry)中,然後将證書申請資料與公鑰一起發送到CA。CA檢查這些資料無誤後,會利用自己的私鑰将要發放的證書就加以簽名,然後發放此證書。申請者收到證書後,将證書安裝到他的計算機。

         證書内包含了證書的發放對象(使用者或計算機)、證書有效期限、發放此證書CA與CA的數字簽名,(類似于機動車駕駛證上的交通管理局蓋章),還有申請者的姓名、位址、電子郵件位址、公鑰等資料。

         使用者計算機若有安裝卡片閱讀機的話,他可以利用智能卡來登入,不過也需要通過類似程式來申請證書,CSP會将私鑰存儲到智能卡中。

         CA的信任

         在PKI架構之下,當使用者利用某CA所發放的證書來發送一份簽名的電子郵件時,接收方的計算機應該信任(Trust)由此CA所發放的證書,否則接收方的計算機會将此電子郵件視為有問題的郵件。

         又例如用戶端利用浏覽器連接配接SSL網站時,用戶端計算機也必須信任發放SSL證書給網站的CA,否則用戶端浏覽器會顯示警告資訊。

         Windows系統預設已經自動信任了一些知名商業CA,以Windows7來說可以通過【打開浏覽器Internet Explorer → 工具菜單 → Internet選項 → 内容标簽 → 證書 → 下圖所示,受信任的根證書頒發機構标簽】來檢視此計算機已經信任的CA。

         你可以向上述商業CA來申請證書,例如Versign,但如果公司隻是希望在各分公司、企業合作夥伴、供應商與客戶之間,能夠安全通過網際網路發送資料的話,則可以不用向上述商業CA申請證書,因為你可以利用Windows Server 2008 R2的Active Directory證書服務(Active Directory Certificate Services,AD CS)來自行架設CA,然後利用此CA來發放證書給員工、客戶與供應商等,并讓他們的計算機來信任此CA。

         雖然明晨個為Active Directory Certificate Services (AD CS),但即使沒有Active Directory域環境,還是可以通過它來提供CA的服務。

         AD CS的CA種類

         若通過Windows Server 2008 R2的Active Directory 證書服務(AC CS)來提供CA服務的話,則你可以選擇将CA設定為以下角色之一:

         1:企業根CA(enterprise root CA)

         企業根CA需要Active Directory域,你可以将企業根CA安裝到域控制站或成員伺服器。企業根CA發放證書的對象僅限域使用者,當域使用者來申請證書時,企業根CA可以從Active Directory來得知該使用者的相關資訊,并據以确定該使用者是否用權利來申請所需證書。大部分新款夏,企業根CA主要應該用來發放證書給與子級CA,雖然企業根CA還是可以發放保護電子郵件安全、網站SSL安全連接配接等證書,不過應該将發放這些證書的工作交給子級CA來負責。

         2:企業子級CA(enterprise subordinate CA)

         企業子級CA也需要Active Directory域,企業子級CA适合于用來發放保護電子郵件安全、網站SSL安全連接配接等證書,企業子級CA必須向其父級CA(例如企業根CA)取得證書之後,才會正常運作。企業子級CA也可以發放證書給再下一層的子級CA。

         3:獨立根CA(standalone root CA)

         獨立根CA的角色與功能類似于企業根CA,但不需要Active Directory域,扮演獨立根CA角色的計算機可以是獨立伺服器、成員伺服器或域控制器。無論是否域使用者,都可以向獨立根CA申請證書。

         4:獨立子級CA(standalone subordinate CA)

         獨立子級CA的角色與功能類似于企業子級CA,但不需要Active Directory域,扮演獨立子級CA角色的計算機可以是獨立伺服器、成員伺服器或域控制器。無論是否域使用者,都可以向獨立子級CA申請證書。

         安裝AD CS 與架設根CA

         我們需要通過添加Active Directory證書服務角色的方式來将企業或獨立根CA安裝到Windows Server 2008 R2計算機:

         1:若要安裝企業根CA,需要用域Administrator身份登入。

         2:單擊左下角伺服器管理器→單擊角色界面右邊的添加角色。

         3:出現開始之前的界面時單擊下一步。

         4:如下圖,選擇Active Directory證書服務後單擊下一步。

         5:在Active Directory 證書服務簡介界面中單擊下一步。

         6:除了預設的證書頒發機構外,選擇證書頒發機構Web注冊(如下圖)并在跳出的界面中單擊添加所需的角色服務來安裝IIS網站,以便讓使用者可以利用浏覽器來申請證書。

<a href="http://www.itchenyi.com/wp-content/uploads/2013/01/pki6.jpg"></a>

         7:回到選擇角色伺服器界面時單擊下一步。

         8:如下圖,選擇CA類型後單擊下一步。

         如果此計算機是獨立伺服器或你不是用域系統管理者身份登入的話,将無法選擇企業CA。

         9:如下圖,選擇根CA後單擊下一步。

<a href="http://www.itchenyi.com/wp-content/uploads/2013/01/pki8.jpg"></a>

         10:如下圖,選擇建立私鑰後單擊下一步,此為CA的私鑰,CA必須擁有私鑰後才可以發放證書給用戶端。

<a href="http://www.itchenyi.com/wp-content/uploads/2013/01/pki9.jpg"></a>

         若你是在重新安裝CA的話(之前已經在這台計算機安裝過),則你可以選擇使用前一次安裝時所建立的私鑰。

         11:如下圖單擊下一步采用預設的私鑰建立方法即可。

<a href="http://www.itchenyi.com/wp-content/uploads/2013/01/pki10.jpg"></a>

         12:如下圖為此CA設定名稱後單擊下一步。

<a href="http://www.itchenyi.com/wp-content/uploads/2013/01/pki11.jpg"></a>

         13:在設定有效期界面中單擊下一步。CA的有效期預設為5年。

         14:在配置證書資料庫界面中單擊下一步來采用預設值即可。

         15:在WEB伺服器(IIS)界面中單擊下一步。

         16:在選擇角色服務界面中單擊下一步。

         17:确認在确認安裝選擇界面中的選擇無誤後單擊安裝。

         18:出現安裝結果界面時單擊關閉。

         安裝完成後可通過【開始→管理工具→證書頒發機構】來管理CA,如下圖為獨立根CA的管理界面。

<a href="http://www.itchenyi.com/wp-content/uploads/2013/01/pki12.jpg"></a>

         企業根CA可發放的證書種類很多,而且它是根據證書模闆(如下圖)來發放證書,例如圖中右方的使用者模闆内提供了可以用來将檔案加密的證書、保護電子郵件安全的證書與驗證用戶端身份的證書。

<a href="http://www.itchenyi.com/wp-content/uploads/2013/01/pki13.jpg"></a>

         如何信任企業根CA

         Active Directory域會通過組政策讓域内所有計算機自動信任企業根CA(也就是自動将企業根CA的證書安裝到用戶端計算機),如下圖是在域内一台Windows XP計算機利用【打開Internet Explorer → 工具菜單→Internet選項→内容标簽→證書→受信任的根證書頒發機構】所看到的界面,此計算機自動信任CA“”(它是我們所假設的企業根CA)。

<a href="http://www.itchenyi.com/wp-content/uploads/2013/01/pki14.jpg"></a>

         如何手動信任企業或獨立根CA

         未加入域的計算機并未信任企業CA,還有無論是否為域成員計算機,他們預設也都沒有信任獨立根CA,但是我們我可以在這些計算機上執行手動信任企業根CA或獨立根CA的程式,一下步驟是讓一台WIN-XP的用戶端計算機來信任Windows Server 2008R2獨立根CA.

         1:執行網頁浏覽器Internet Explorer,并輸入一下URL路徑:

         http://CA的主機名、計算機名或IP位址/certsv

         如果用戶端為Windows Server 2008R2或Windows Server 2008的話,需先将Internet Explorer增強的安全配置(IE ESC)禁用,否則系統會阻止連接配接CA網站:【單擊伺服器管理器→單擊主界面的配置IE ESC→選擇管理者處的禁用】。

         2:如下圖單擊下載下傳CA憑證、證書鍊或CRL

<a href="http://www.itchenyi.com/wp-content/uploads/2013/01/pki15.jpg"></a>

         3:如下圖,單擊下載下傳CA憑證鍊(或單擊下載下傳CA憑證),然後單擊儲存以便将其存儲,預設檔案名為certnew.p7b

<a href="http://www.itchenyi.com/wp-content/uploads/2013/01/pki16.jpg"></a>

         4:俺Windows+R鍵輸入MMC後單擊回車→檔案菜單→添加/删除管理單元,從清單中選擇證書後單擊添加→如下圖選擇計算機賬戶→單擊下一步→完成→确定。

<a href="http://www.itchenyi.com/wp-content/uploads/2013/01/pki17.jpg"></a>

         5:如下圖【展開到受信任的根證書頒發機構→對着證書單擊右鍵→所有任務→導入】。

<a href="http://www.itchenyi.com/wp-content/uploads/2013/01/pki18.jpg"></a>

         6:出現歡迎使用證書導入向導界面時單擊下一步。

         7:選擇前面下載下傳的CA憑證連結檔案後單擊下一步。

<a href="http://www.itchenyi.com/wp-content/uploads/2013/01/pki19.jpg"></a>

         8:如下圖,直接單擊下一步。

<a href="http://www.itchenyi.com/wp-content/uploads/2013/01/pki20.jpg"></a>

         9:出現完成證書導入向導界面時單擊完成、接着單擊确定。

         10:下圖為完成後的界面,可以看到CA裡有了受信任的itchenyi

本文轉自 lgpqdwjh 51CTO部落格,原文連結:http://blog.51cto.com/itchenyi/1122380,如需轉載請自行聯系原作者

繼續閱讀