[Depolyment] Outlook 2010 郵件憑證加密與簽章
有一次在公司跟同事討論PKI的實作運用下,我們討論到在郵件的部分如何加密。
資訊安全其中有3個要求
1. 資料完整性
2. 資料隱密性
3. 不可否認性
看到這3個資訊,一開始都會覺得很像在考試時候要背的考題答案一樣,有夠饒舌。
其實在這部分我都喜歡用線上股票下單來比喻。假設你有在線上買股票過的話,
在整個下單機制流程中你的資訊必須要符合這三個原則。
1. 資料完整性- 當你在線上下單股票後,資料必須被保證送到證卷行時,這段過程不會被竊取封包與串改吧。
不然的話本來下單10張股票,被人竊取封包後竄改變成100張。這樣是很可怕的。
2. 資料隱密性- 機密的資料就是要確保你的資料只有你跟證卷商兩邊可以看到,所以當封包被竊取的時候,第三者並看不見內容。
3. 不可否認性- 當你在線上下單時,當你下完單。股票立刻大跌,總不能讓你否認,說你下單只有下1張不是下10張。
這次的習題我們來研究一下Outlook 2010 的加密以及簽章這兩個概念。在數位簽章與憑證的應用上有兩個要釐清的觀念:
1. 簽章是要用自己的私鑰簽章,對方用你的公鑰驗證簽章。
2. 加密是要用對方的公鑰加密,對方會用他的私鑰解密。
更詳細運作的資訊請參考底下的網址:
瞭解公開金鑰加密
http://technet.microsoft.com/zh-tw/library/aa998077(EXCHG.65).aspx
瞭解數位憑證
http://technet.microsoft.com/zh-tw/library/bb123848(EXCHG.65).aspx
在我的Lab環境中我架了三台Hyper-V的虛擬機器。功能分別如下:
1. Lab_Exch10_Server : 包含Windows Server 2008 DC (Example.com)、Exchange 2010 跟 CA Server
2. Lab_Exch10_Win701 : Windows 7 and Outlook 2010
3. Lab_Exch10_Win702 : Windows 7 and Outlook 2010
這邊我們就不詳細討論怎麼安裝 DC 跟 Exchange 2010。CA腳色的安裝也是很簡單的。
我們在Windows Server 2008 主機上去新增伺服器腳色中的 "Active Directory 憑證服務"。
在DC主機裡面我們新增兩個使用者帳號,分別是User001與User002。
接著我們用User001登入Windows 7主機,然後我們登入MMC主控台介面去申請一個新的憑證。
在使用者申請的憑證裡面就包含著私密金鑰。
新增完成後我們來到Outlook 2010,開啟Oulook 2010。一開始我們在選項標籤裡面看到權限功能旁邊是沒有加密以及簽署的功能的。
我們接著要設定可以讓Outlook可以支援加密以及簽署。我們可以觀察下圖,待會的設定步驟會啟用這兩項功能。
接著到檔案—>選項去,點兩下開啟 Outlook 選項。
接著到信任中心,然後點兩下信任中心設定。
然後選擇電子郵件安全性,選擇設定。
可以看到簽章、雜湊演算法與加密演算法都已經被設定了。接著就把憑證發佈到GAL去,。,。,。
發佈到 GAL 按鈕
Outlook 便會將使用者的 ExchangeUserSignature 與 ExchangeUser 憑證,以 PKCS #7 的格式發佈至 Active Directory 中使用者物件的 userSMIMECertificate 屬性上。
此功能也可以將使用者的 ExchangeUser 憑證,以 DER 編碼的格式發佈至 Active Directory 中使用者物件的 userCertificate 屬性上。
此按鈕的功能在於,讓使用者能夠將憑證發佈到他們從其他來源所取得的公司目錄上。此發佈作業可略過組織中針對數位憑證處理而建立的程序。
此外,系統管理員還可以使用 [Active Directory 使用者及電腦] 中的 [已發行憑證] 索引標籤,將憑證新增至 userCertificate 屬性中,
但不能將相同的憑證新增至 userSMIMECertificate 屬性中。不同的憑證若由不同的電子郵件用戶端使用,將造成問題。如需相關資訊,
請參閱<當使用具有 S/MIME 控制項的 Outlook 及 Outlook Web Access 時,使用不同的憑證>。您可能要想要求 Outlook 系統管理員停用此按鈕。
若您針對 PKI 使用 Windows CA,建議您停用這個按鈕,以降低憑證不符的可能性。
然後我們來測試一封簽署的郵件,我們從User001發信給User002。填寫好內容的時候我們按下選項中的"簽署",再寄出這封郵件。
接著我們到另一台電腦上用User002來收郵件,收到的郵件上面會帶有數位簽章的訊息。因為我這邊沒有把我們自己建立的CA伺服器的憑證設為信任,
所以你會看到Outlook提醒你這張憑證可能有問題。
把CA憑證中心加入信任的憑證後,就不會再跳出簽章有問題的錯誤了。
我們再去檢視這張憑證內容,可以看到這個數位簽章是由User001加簽的資訊。
接著我們要在User002回寄一封加密的郵件給,你必須User002也要有憑證。若你沒有去申請憑證會遇到以下的錯誤。
加密 Microsoft Outlook 2010 中的電子郵件會將可讀的純文字轉換為雜湊加密文字,以保護郵件的私密性。
收件者必須持有私密金鑰 (私密金鑰:留在寄件者電腦上的秘密金鑰,寄件者使用它將收件者的郵件進行數位簽章,
並將來自收件者的郵件解密 (解除鎖定)。私密金鑰應受密碼保護。)
並與用來加密訊息的公開金鑰 (公開金鑰:寄件者將此金鑰提供給收件者,以便收件者可以驗證寄件者的簽章並確認郵件未變更。
收件者還可使用公開金鑰來加密 (鎖定) 給寄件者的電子郵件。)進行配對,才能將訊息解密後加以讀取。
任何收件者若未持有對應的私密金鑰,都將看到亂碼文字。
附註
傳送與檢視加密的電子郵件需要寄件者和收件者雙方分享各自的數位 ID (數位 ID:包含留在寄件者電腦上的私密金鑰及憑證 (含有公開金鑰)。
憑證是使用數位簽章的郵件傳送的。收件者儲存憑證並使用公開金鑰加密給寄件者的郵件。) (公開金鑰憑證)。
這表示您與收件者必須互寄一封數位簽章郵件給對方,讓兩人可將另一方的憑證新增到 [連絡人]。
如果沒有數位 ID,便無法加密電子郵件。當您傳送加密的郵件時,若收件者的電子郵件設定不支援加密,Outlook 將會通知您並提供選項以讓您傳送未加密格式的郵件。
這項程序也會對加密的郵件所夾帶傳送的任何附件進行加密。
其他相關參考資訊:
在 PKI 中支援 Outlook
http://technet.microsoft.com/zh-tw/library/aa998753(EXCHG.65).aspx
以數位簽章保護電子郵件的安全
http://office.microsoft.com/zh-tw/outlook-help/HP010355563.aspx?CTT=5&origin=HP010355559
加密電子郵件
http://office.microsoft.com/zh-tw/outlook-help/HP010355559.aspx?CTT=5&origin=HP010355563
瞭解公開金鑰加密
http://technet.microsoft.com/zh-tw/library/aa998077(EXCHG.65).aspx
瞭解數位憑證
http://technet.microsoft.com/zh-tw/library/bb123848(EXCHG.65).aspx