用戶端憑證認證機制 - Client certificate authentication
快速分類速查 架構成熟 應用廣泛 建置成本低 用戶端憑證設定 憑證建置設定教學
在二十一世紀的現在,人們可透過網際網路完成很多以前只能自己親自跑一趟的事情,例如:上銀行理財、轉帳、購物、繳水電瓦斯費、繳稅、老闆發薪水、學生排隊註冊選課等等。雖然生活著實方便許多,但是我們知道誰是幕後功臣嗎?答案是:完備的線上用戶端認證機制成就了線上的交易。否則,對方憑著什麼來相信「我們」是「我們」呢?
一般來說,業界中使用的認證方式分三大類:
1. 只有被授權者或使用者本人才知道的密碼字串,例如:dwo1yK83t2zC。複雜度越高雖然越難記住但是不易被猜安全度越高。
2. 只有被授權者或使用者本人才使用的電子憑證,例如:用戶端的 TLS 憑證。比如由Openssl發給Apache/IIS伺服器的使用者專屬TLS憑證檔案,可儲存在應用程式裡、作業系統中、USB 硬體安全容器。只要伺服器及應用程式支援,安全又好用。
3. 只有被授權者或使用者本人才擁有的私人特徵,例如:指紋,視網膜,聲紋。將上述的特徵透過掃瞄並以數位方式儲存方便未來身份驗證之用。價格不斐。
經過深思熟慮之後,EVO 決定提供架構成熟、應用廣泛、建置本本低的「雙因素認證」或「 雙因認證」(Two-factor authentication, TFA, T-FA 或 2FA) 機制。雙因素?哪兩個呢?一個是密碼,另一個是用戶端憑證
除了密碼之外,為何多了一個憑證呢?密碼不論再怎樣複雜,還是有人可以以超強的記憶力背下來。但是 TLS 憑證的內容則是跟一小篇文章一樣多的文字,被硬背下來的機率接近於零。從資安的角度來看,著實安全許多。
1. 強度夠強的密碼(軟件式的驗證條件):EVO 內建「自動密碼產生」功能,。能產生大小寫英文字母、數字、符號所組合成的密碼。建議郵件管理者規範使用者在登入時輸入這類的複雜密碼。就算是有駭客使用猜密碼戰術也不能輕易猜中。一旦猜測次數達到一個頻率時就會遭到 EVO 的「禁止猜密碼者 IP 位址」功能封鎖。
2. 用戶端憑證認證機制(硬件式的驗證條件):EVO 內建的 CA (Certificate Authority) 發出符合 PKCS#12 格式的憑證。此憑證可放置於符合 PKCS#11 規範的容器中,例如: USB Key、Smartcard、Windows Certificate STORE、Security Token 等等。上述的 PKCS#11 和 PKCS#12 (公鑰加密規範)是由 RSA Laboratories 研發出來的跨平台加密機制規範。
1. 雙因素認證在我們的日常生活中已經被廣泛應用,只是我們沒有太去注意。例如:
Ⅰ. 我們去自動提款機提款時,第一個要素是「密碼」,第二個要素是「晶片提款卡」。晶片上含有與銀行加密機制交涉的憑證。
Ⅱ. 信用卡,我們在購物刷卡時,除了簽名之外,信用卡背後的條碼內也含有認證資訊。
Ⅲ. 就連近年來政府提倡的自然人憑證讓我們能夠在政府機關的網站上報稅或查詢私人資料,也是必須輸入密碼和讀卡機讀入自然人憑證的晶片資料。
Ⅳ. 電影「不可能的任務」中,經典的 CIA 竊取資料的橋段中,密碼、視網膜、聲紋、感應卡都用上了,堪稱為安全性極高的環境。當然啦~ 湯姆‧克魯斯還是「不意外」地完成了該任務。
2. 不僅僅如此,各位看到很多跨國公司來台的白領走在路上時,胸前也掛了一個像大姆哥之類的 USB 裝置。大家不要以為那只是一般的記憶體而已。實際上,那是該公司發給員工的身份識別的憑證裝置。他們在與公司作連線時,一定都會將 USB Key 插入電腦或是從 USB Key 上面的小螢幕中讀取一個與公司伺服器同步的數字串。另外再加上一組複雜的密碼字串。以達到安全的帳戶登入。
3. 在二十一世紀裡,電子郵件所扮演的角色越來越吃緊,因為越來越多的資訊是透過電子郵件來傳輸。這也代表越來越多重要與私密的資料也會經由此類管道在流通。我們不得不對先做好防護措施。讓駭客光有密碼也無可奈何,因為他也需要屬於該帳號的 TLS 憑證。
1. 請多加利用「使用者帳戶編輯」的「自動產生密碼」產生複雜度夠高的密碼。
2. EVO 內建的 CA 幫您產生憑證檔案 info.p12 。不用大費周章去兜憑證建置機制。您需要考量的只有將用戶端憑證放在哪裡?
EVO郵件伺服器專屬的用戶端憑證(TLS client certificate)可存放在下面的環境中:
1. 將憑證放在內建於用戶端郵件軟體的憑證容器內,例如:Thunderbird 的「安全模組與裝置」或 Opera 的「憑證管理員」或 Mac OS X 的 Keychain Manager(目前 Outlook 2010 的「信任中心」尚不支援這種功能)。換句話說,若是將憑證資料放置於這類型的憑證容器內,使用者只能於該定點使用憑證登入。但是請注意郵件軟體可能有匯出的功能。雖然方便使用者在他處再次匯入同一憑證,在安全性上仍得留意非合法的匯入及匯出。
2. USB security token(USB安全裝置),例如:Aladdin 的 eToken PRO 或是 SafeNet iKey 2032。將憑證檔案匯入 USB security token 的優點是 info.p12 憑證檔案內的私密金鑰一經匯入皆不得匯出。與 1. 的郵件軟體內建的憑證容器比較之下,相對安全。目前僅 Thunderbird 支援USB安全裝置的憑證認證模式。目前市場上的品牌不多,CP 值高的屬 eToken PRO 及 iKey 2032,單支價格約新台幣一千五百以下,量大另有折扣。另外,此兩種型號支援到 EVO 支援的 2048 位元RSA非對稱加密演算法。
建立 TLS 憑證身份驗證登入之前的須知:
1. 目前,Thunderbird 9 郵件軟體只能在 IMAP 下支援「TLS 憑證 Only」的登入方式(AUTHENTICATE EXTERNAL)。POP3下以 TLS 憑證登入 的模式皆需要同時搭配密碼輸入,此外 Opera IMAP,Opera POP3 儘管以憑證登入但仍須輸入帳戶與密碼,但EVO已經領先內建支援POP3的AUTH EXTERNAL SASL方式。
2. 目前,Mac OS X 的 Apple MAIL 軟體可以完美支援 IMAP 以及 POP3 以TLS憑證登入(外部認證),使用 AUTHENTICATE EXTERNAL & AUTH EXTERNAL 指令。
3. TLS 憑證認證只支援 ACAP, IMAP, POP3 模式,目前 RFC 尚無定義支援在 SMTP 上的 TLS 憑證身份驗證。
4. 建議在「使用者帳戶編輯」的「登入認證方式」的預設值為「密碼或 TLS 憑證」以符合與大部分郵件軟體的相容度。
1. 請到「帳戶」中的「使用者帳戶管理列表」中,選擇適用於用戶端憑證登入的使用者,點擊滑鼠左鍵進入「使用者帳戶編輯」。
2. 在「使用者帳戶編輯」的畫面中,下拉至「電子郵件使用者帳戶 → 登入認證方式」,選擇「密碼或 TLS 憑證」(建議使用此種方式以維持相容性)、「TLS 憑證」、「密碼及 TLS 憑證」。
3. 同時,在「使用者帳戶編輯」的「TLS 憑證」項目中,先點擊「建立」,然後點擊「發送」。此時,用戶端憑證會透過電子郵件的方式發送至使用者的電子郵件信箱中。所發的憑證序號皆以上方畫面中的「憑證序號」顯示的為準。因此,若使用者無法登入時,請確認該序號和用戶端郵件軟體中的憑證序號是一致的。
4. 此時,EVO 上的部分已經完成,請到用戶端的電腦並參考下方的教學動畫做後續設定。
2. Thunderbird 使用 Aladdin eToken PRO / SafeNet iKey 2032
4. Apple MAIL 使用 Mac OS X 作業系統內建 Keychain (鑰匙圈)憑證容器
5. Apple MAIL 使用 Aladdin eToken PRO / SafeNet iKey 2032
用戶端憑證在用戶端完成設定之後,基於安全理由,請務必將內含用戶端 TLS 憑證的通知信刪除;另外,請將已經另存新檔的 TLS 檔案開啟後「刪除內容」後,「儲存」,再將該檔案予以「刪除」,如此可防止有心人士將該檔案反刪除並做他用。