1. 程式人生 > >免費 SSL 安全證書

免費 SSL 安全證書

為了保證網上傳輸資訊的安全而在自己的 Linode VPS部署 SSL 加密服務。商業 CA 較貴,所以使用了自己簽發的 CA。網友神愛留言提到了 StartSSL 的免費 CA,稍做了一些調查,在此分享兩個發放免費 CA 的機構:StartSSL 和 CAcert。

 

目錄 Contents

Let’s Encrypt

為了推動更加廣泛的網路安全,Mozilla、思科、Akamai、IdenTrust、EFF 和密歇根大學研究人員聯合

宣佈Let’s Encrypt CA 專案,計劃為網站提供免費的基本 SSL 證書,以加速網際網路從 HTTP 向 HTTPS 過渡。Let’s Encrypt CA 將由非贏利組織 Internet Security Research Group (ISRG) 運營。

Let’s Encrypt 設計為部署之後向網站通過程式自動化更新和部署安全證書,證書有效期為 90 天的安全證書,到期自動更新。一旦部署,後續的維護工作幾乎可以忽略。這個應該是目前最具競爭力的免費 CA 證書了吧。

StartSSL

注意(2016.10.02):

StartSSL 早已被 WoSign(一家中國 CA)收購,且背後有 360 作為股東。已有報道 WoSign 在簽發 SSL 證書方面的違規行為。故不再建議使用該公司的證書。

相關報道應該很容易搜尋到,這裡就不再多說了。

StartSSL 隸屬於一家以色列商業公司 StartCOM,是 StartCom Linux 作業系統的生產供應商。由 StartCom 提供的大多數解決方案都基於開源技術和開放標準。StartCom 自 2005 年開始經營 StartCom 認證機構(StartCOM CA),即由 StartSSL 負責運營。2011年6月,該公司因遭受黑客攻擊而暫停簽發數字證書和相關服務幾個星期(via)。

StartCom 免費提供供個人使用的 StartSSL™ Free 服務,基於 Class 1 級別的 X.509  SSL 安全證書,提供對 Web 伺服器(SSL / TLS)以及電子郵件加密(S / MIME)的認證。它還提供了2級和3證書以及擴充套件驗證證書,費用不菲。

在前面介紹部署 SSL 加密服務和安裝 SSL CA 的文章中已經對自己簽發(Self-signed)的安全證書做了不少介紹,這裡不再贅述。下面直接列舉 StartSSL 免費簽發的 CA 與我們自己簽發的 CA 的區別。

StartSSL 免費簽發的安全證書(CA)的特點是:

  1. 屬於“中級證書頒發機構”頒發的 CA。(我們自己簽發的當然就是自己了,沒有被認證的。)
  2. 不是擴充套件驗證證書(Extended Validation Certificate)。(注:如果是 EV Certificate  的話,通過瀏覽器訪問的時候,位址列會顯示綠色背景,通常稱為“綠欄”證書。)
  3. 有效期 1 年,到期還可以免費再續。(自己簽發的證書可以隨意設定有效期限。)
  4. 對 Windows 友好(在 IE 和 Chrome 中使用不會提示證書錯誤)。
  5. Firefox 對安全的控制較嚴格,在這一點上,StartSSL 簽發的免費證書與自己簽發的證書沒區別。要用起來方便的話可以將證書自行新增到受信任的證書頒發結構列表中。

以上記錄都經過了水景一頁的測試和檢查。

根據維基百科上的記錄,自 2009年9月開始,所有的微軟 Windows 作業系統、蘋果 Mac OS X10.5 版本(Leopard)以及 Mozilla Firefox 2.x 及以上版本(誤?)都預設包含了 StartSSL 證書。但是我上面說了,至少免費版本的 StartSSL 證書僅僅被認證為“中級證書頒發機構”而不是“受信任的根證書頒發機構”。而且,我目前使用的 Firefox 15 中也並沒有包含 StartSSL 證書。

另外,2010年7月27日開始 Opera 瀏覽器也預設包含了該證書。由於谷歌 Chrome、蘋果 Safari 和微軟 Internet Explorer 都是使用作業系統的證書儲存區,所以這些瀏覽器,以及使用相同核心的瀏覽器都預設支援 StartSSL 安全證書。(請注意這是作業系統相關的。)

能被瀏覽器預設支援是很有吸引力的,這樣使用者通過 HTTPS 加密連線訪問服務的時候就不會被提示證書錯誤。很多使用者看到了顯眼的證書錯誤提示可能就急忙關閉頁面或程式了。

CAcert

CAcert.org 是一個社群驅動的安全證書頒發機構,2003年7月註冊成立於澳大利亞新南威爾士州。從 2005年10月開始提供 Class 1 和 Class 3 根證書(Root Certificate),Class 3 證書是 Class 1 的具有更高安全性的分支。截止到 2012年1月,CAcert 已經擁有超過 200,000 名認證使用者,發放了超過 800,000 份證書。

CAcert 免費向所有人頒發證書。其目標是通過使用加密技術,以促進電腦保安意識和教育,特別是 X.509 標準。

對於新手,CAcert 提供一種非常簡單快捷的方法來獲得證書 —— 註冊後即可申請自動簽發,完全由程式自動完成 —— 可以用於加密電子郵件,證明電郵地址來源等。對於提供服務的管理員,CAcert 提供主機(域名)和萬用字元證書,可以用於驗證網站、POP3、SMTP 和 IMAP 連線等。並且不限制證書的強度(級別)。對於那些有極高安全加密要求的使用者,CAcert 還啟動了 CAcert 保證計劃(CAcert’s Assurance Programme)和信託網站(Web of Trust)。通過的話就可以擁有自己的身份驗證,還包括更長的證書有效期、在證書中包含個人姓名和電子郵件等額外的好處。

 

Web of Trust 是很有意思的,它要求參加認證的使用者面對面進行認證,相互驗證對方的身份證明材料。CAcert 維護使用者帳戶的認證點數(number of assurance points)。認證點數可以通過獲得“擔保人(Assurer)”的認證來積累(每次認證都由擔保人根據自己的級別來指定點數)。擁有更多認證點數的使用者就擁有更高的信任度,也就可以擁有更多的權利,比如在證書中寫入自己的姓名和擁有更長的有效期等。當擁有至少 100 個認證點數後就是“準擔保人(Prospective Assurer)”。之後可以申請參加“認證挑戰(Assurer Challenge),通過後即可成為擔保人,可以認證其他使用者。擔保人擁有的認證點數越多,就可以給通過其認證的使用者分配更多點數。這實際上也是 CAcert 為了申請將根證書加入 Firefox 所要做的準備工作之一。

介紹了這麼多背景資料,相信讀者已經大致瞭解了 CAcert 的公信力了。再來介紹一下它被系統和瀏覽器信任的情況吧。很不幸的是,因為 CAcert 是一個免費證書頒發機構,微軟以及蘋果的系統都沒有將其列入證書儲存區,各大流行的瀏覽器也沒有這麼做(目前正在努力申請加入 Firefox 證書儲存區)。不過 CAcert 在各大開源系統中倒是很受歡迎,例如(via WikiPedia):

  • Arch Linux
  • Ark Linux
  • CentOS
  • Debian
  • FreeWRT
  • Gentoo
  • Maemo (installed on Nokia Internet Tablets)(not on Nokia N900)
  • Knoppix
  • Mandriva Linux
  • MirOS BSD
  • OpenBSD
  • openSUSE
  • Ubuntu, Xubuntu, Kubuntu, Lubuntu (Not in CAcert inclusion list, but actually provided by package ca-certificates now.)

看來 CAcert 註定要成為一個遊離於政府和商業之外的組織了。

後記

目前完全免費的 SSL 證書提供者就這兩家了,其它基本上都是試用期免費。嗯,還有自己簽發的也是免費的 :D

不過如果你運行了一個開源社群(需要通過  Open Source Initiative 的認證),Go Daddy 是可以為你免費提供一個 SSL CA。興奮吧?

我一向認為網際網路上沒有絕對的安全。即便是擁有“綠欄”的 EV 證書,也不見得就能完全保證資訊保安。所以需要安全的時候,我們自己要多加小心。

另外,之前網友抵制 CNNIC CA 的時間值得做個擴充套件閱讀。©

本文發表於水景一頁。永久連結:<http://cnzhx.net/blog/free-ssl-ca/>。轉載請保留此資訊及相應連結。