本文章同時發佈於:
大家好,我們都知道HTTPS如果沒有那個叫做SSL的「S」會很危險(嗯?你不知道?那可以到我的這篇文章了解一下XD),所以我們都會希望幫網站裝上SSL憑證,於是我們Google了一下各大憑證CA廠商,相信大家都會馬上有以下疑問:
本篇文章就透過由Mozilla, Cisco, Facebook, Google等等大廠贊助的免費SSL - Let's Encrypt
來介紹憑證。
Let's Encrypt
申請流程、設置、自動更新憑證先說結論:
以加解密來說:免費與付費的憑證技術都一樣安全
以證明層級來說:免費與付費的憑證能證明的事項不同
以申請的流程來說:免費與付費的憑證因為申請的難易度不同,造成安全性不同
不論免費或付費,每個CA廠商的SSL加解密的概念都是一樣的,就是「CA廠商用他的私鑰幫你Server的公鑰簽證」,更詳細的流程可以看我這篇文章,而CA廠商保護他們的私鑰的方法也大同小異,不外乎就是「將私鑰離線儲存」。
而在瀏覽器上,每間CA廠商都是有跟瀏覽器合作的,這樣才能讓瀏覽器裡面有個大CA廠商的憑證,而要有這個資格與瀏覽其合作,都要夠安全,意思就是說,每個CA廠商的安全性都是差不多的。
那你可能會問:「既然大家都一樣安全,那付費的憑證到底在付什麼?」,那就要講到證明層級的部分了
所謂的憑證,就是由一個CA廠商來「證明」這個「公鑰擁有者的資訊」,CA廠商會在簽證的時候將擁有者的資訊簽上,而這些資訊由簡單到複雜總共分為三個層級:
所以在申請SSL憑證時,其實可以考慮自己的需求,如果只是自己架站,那其實只需要DV,畢竟你也沒有公司,唯一要證明的就是此URL正常即可。
而如果是企業,就可以選擇OV,他可以證明企業是否擁有此公鑰,如果想要讓這個公鑰的威望更高,就可以再選擇EV。
DV、OV、EV的申請方式都有所不同,申請核心的判斷依據就是「申請者可以證明什麼」,所以為了要證明不同資訊,他們的驗證方法就會如下:
Let's Encrypt
來說,他會要求你在Server上產生:
Let's Encrypt
來解章,如果成功即代表「Server擁有此公私鑰對」。http://example.com
,那就會變成Let's Encrypt
在瀏覽http://example.com/abcd
時會回應1234,用以證明此「Server擁有此URL」。更詳細的說明在Let's Encrypt
的官網文件所以在安全性的部分,DV的憑證你只要「擁有此URL」就可以申請到,意思是說他的安全性就在於你怎麼保護的你URL,如果駭客可以駭入你URL管理的系統,例如:「駭客駭入管理你URL的Godaddy,那他就可以偽造憑證,因為此時他擁有了此URL」。
而OV就還必須取得公司的申報資料,並且透過電話與CA廠商驗證才能獲得憑證,這難度就更高了。而EV就更不用說,除了電話還要接受五大會計事務所的查水表呢。
有了憑證整體的概念後,接下來會介紹如何透過certbot來自動更新Let's Encrypt
的憑證。
謝謝你的閱讀,也歡迎分享討論~