什麼是自簽名證書?自簽名SSL證書的優缺點?

RacentYY發表於2021-10-19

自簽名證書可以指許多不同的證書型別,包括 SSL/TLS證書、S/MIME證書、程式碼簽名證書等,其中最常見的證書型別是自簽名 SSL 證書 。與CA頒發的SSL證書不同,自簽名證書通常指的是那些未經第三方驗證,直接上傳到私有公鑰基礎結構 (PKI) 的證書檔案。

什麼是自簽名SSL證書?

自簽名證書是由不受信的CA機構頒發的數字證書,也就是自己簽發的證書。與受信任的CA簽發的傳統數字證書不同,自簽名證書是由一些公司或軟體開發商建立、頒發和簽名的。雖然自簽名證書使用的是與 X.509證書相同的 ,但是卻缺少受信任第三方(如Sectigo)的驗證。在頒發過程中缺乏獨立驗證會產生額外的風險,這就是為什麼對於面向公眾的網站和應用程式來說,自簽名證書是不安全的。

自簽名證書有什麼優勢?

雖然使用自簽名證書有風險,但也有其用途。

l   免費 。自簽名證書是免費提供的,任何開發人員都可以申請。

l   隨時簽發 。自簽名證書可以隨時隨地簽發,不用等待第三方證書頒發機構的驗證和簽發。

l   加密 。自簽名SSL證書使用與其他付費SSL/TLS證書相同的方法加密傳輸資料。

l   方便 。自簽名證書不會在一段時間後過期或需要續訂,但CA頒發的證書卻會在一段時間後過期,還需要續訂。

雖然自簽名證書看起來很方便,但這也是這些證書的主要問題之一,因為它們無法滿足針對發現的漏洞進行安全更新,也不能滿足當今現代企業安全所需的證書敏捷性。因此,很少人使用自簽名SSL證書。此外,自簽名證書無法撤銷證書,如果證書被遺忘或保留在惡意行為者開放的系統上,則會暴露所使用的加密方法。不幸的是,即便如此,一些 IT 部門認為,證書頒發機構頒發的證書的成本超過了降低額外驗證和漏洞支援的風險。

自簽名證書有什麼缺陷?

1、 不受瀏覽器信任,易丟失使用者。

每當使用者訪問使用自簽名證書的站點時,他們會收到“不安全”警告,顯示諸如“error_self_signed_cert”或“err_cert_authority_invalid”之類的錯誤,要求使用者確認他們願意承擔風險繼續瀏覽。這些警告會給網站訪問者帶來恐懼和不安,使用者會認為該網站已被入侵,無法保護他們的資料,最後選擇放棄瀏覽該站點轉而訪問不會提示安全警告的競爭對手網站。另外,不受瀏覽器信任的自簽名證書,位址列不會顯示安全鎖和HTTPS協議頭。下圖為SSL證書在瀏覽器位址列中的狀態顯示,左邊為自簽名SSL證書,右邊為受信CA頒發的SSL證書:

2、 不安全。

由於自簽名證書支援超長有效期,因此也無法在發現新的漏洞後進行安全更新,容易受到中間人攻擊破解。自簽名 SSL 證書沒有可訪問的吊銷列表,也容易被黑客偽造、假冒網站利用,不能滿足當前的安全策略,存在諸多的不安全隱患。

企業可以使用自簽名證書嗎?

如前所述,使用自簽名證書會帶來很多風險,特別是在公共站點上使用自簽名證書的風險更大。對於處理任何個人敏感資訊的網站,包括健康、稅務或財務記錄等資訊,萬萬不可使用自簽名證書。類似這樣的資料洩露會損害使用者對品牌的信任度,還會遭到隱私法規的處罰,損害企業的經濟利益。

許多人認為在公司內部的員工門戶或通訊站點部署自簽名證書沒有風險,但事實並非如此。因為在這些站點使用自簽名證書仍會導致瀏覽器安全警告。雖然可以忽略這些警告,但卻無意中助長了員工忽略安全警告的習慣。這種行為習慣可能會使企業今後面臨更大的風險。

雖然我們不推薦企業使用自簽名證書,但它也並不是沒有用處。一般來說,自簽名證書可以用於內部測試環境或限制外部人員訪問的 Web 伺服器。

如何建立自簽名證書?

雖然自簽名證書存在一定的安全隱患,但有它的優勢,這裡給大家分享一下建立自簽名證書的方法。其實,建立自簽名SSL證書很簡單,主要取決於您的伺服器環境,如Apache或Linux伺服器。方法如下:

1、 生成私鑰

要建立SSL證書,需要私鑰和證書籤名請求(CSR)。您可以使用一些生成工具或向CA申請生成私鑰,私鑰是使用RSA和ECC等演算法生成的加密金鑰。生成RSA私鑰的程式碼示例:openssl genrsa -aes256 -out servername.pass.key 4096,隨後該命令會提示您輸入密碼。

2、 生成CSR

私鑰生成後,您的私鑰檔案現在將作為 servername.key 儲存在您的當前目錄中,並將用於生成CSR。自簽名證書的CSR的程式碼示例:openssl req -nodes -new -key servername.key -out servername.csr。然後需要輸入幾條資訊,包括組織、組織單位、國家、地區、城市和通用名稱。通用名稱即域名或IP地址。

輸入此資訊後,servername.csr 檔案將位於當前目錄中,其中包含 servername.key 私鑰檔案。

3、 頒發證書

最後,使用server.key(私鑰檔案)和server.csr 檔案生成新證書(.crt)。以下是生成新證書的命令示例:openssl x509 -req -sha256 -days 365 -in servername.csr -signkey servername.key -out servername.crt。最後,在您的當前目錄中找到servername.crt檔案即可。

建立自簽名證書的方法很簡單,不需要第三方驗證。所以,它是可以在內部測試環境中使用,但不建議企業在使用者環境中使用。企業或組織應該選擇受信 CA 頒發的 SSL 證書, 銳成資訊 提供 Digicert Sectigo Globalsign 等全球最受信的 CA 機構頒發的 SSL 證書,這些證書能幫助您規避使用者流失、資料洩露和中間人攻擊等安全風險。千萬不要為了省小錢而花大錢,要有長遠的眼光,才能獲得長久的利益!

 

 本文轉載於https://www.racent.com/blog/what-is-a-self-signed-certificate


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69998338/viewspace-2838148/,如需轉載,請註明出處,否則將追究法律責任。

相關文章