甚麼是 EST(Enrollment Over Secure Transport,安全傳輸註冊)協議?
Enrollment over Secure Transport 協議(EST)是一種用於自動化公鑰基礎設施(PKI)客戶端x.509 數碼證書簽發流程的協議,這些客戶端包括網頁伺服器、終端裝置、用戶身份,以及所有使用 PKI 數碼證書的其他場景,同時該協議也用於處理從受信任證書頒發機構(CA)獲取關聯數碼證書的流程。EST 協議定義於RFC 7030,它標準化了與 CA 之間經過身份認證的請求與響應交互流程,相比手動傳遞所需資訊的方式,安全性更高,同時能讓 IT 團隊更快速、便捷地在系統和裝置上部署數碼證書。
EST 以易用性和安全特性著稱,包括採用HTTPS 實現安全傳輸和傳輸層安全(TLS)保障客戶端與伺服器端的安全。它還支援橢圓曲線密碼學(ECC)、橢圓曲線數碼簽名算法(ECDSA)等更多加密算法,這一點有別於其他廣泛使用的證書管理協議,比如由思科主導、在 20 世紀 90 年代開發的簡單證書註冊協議(SCEP)。因此,互聯網工程任務組(IETF)工作組已提出將 EST 作為 SCEP 的替代方案。
為何使用安全傳輸註冊協議?
儘管公鑰基礎設施(PKI)提供的數碼身份是目前安全性最強、最易用的身份認證與加密解決方案,但手動管理 PKI 數碼證書本身存在諸多潛在隱患。企業需要 EST 這類數碼證書管理自動化標準,來確保數碼證書在無需人工干預的情況下完成大規模正確配置與部署。
事務繁忙的 IT 團隊難以承擔手動部署和管理數碼證書的成本,這種方式風險高、耗時長且極易出錯。無論是企業僅為網頁伺服器部署單張 SSL 證書,還是需要管理組織內所有聯網終端、流動裝置、用戶身份對應的數百萬張數碼證書,單張數碼證書從簽發、配置到部署的流程就可能耗費數小時。
此外,手動管理數碼證書會讓企業面臨極高風險還會導致數碼證書易被遺忘直至過期,進而造成關鍵業務系統突然業務中斷,使企業面臨惡意攻擊風險。
EST 實現的自動化水平不但有助降低風險,更可協助 IT 管理員在繁忙的日常工作中節省寶貴時間。
證書註冊場景下的 EST 與 SCEP 對比
與 EST 類似,SCEP 同樣是協助 IT 管理員自動簽發證書的證書管理協議。作為企業安全的重要組成部分,SCEP 已在企業環境中獲得廣泛應用。EST 和 SCEP 均為適用於自動化證書註冊的協議,且註冊流程相近。
但 IETF 工作組已將 EST 確立為 SCEP 的替代方案。作為較新的協議,EST 提供易用的證書管理解決方案及更新的功能,為現今的企業公鑰基礎設施(PKI)環境帶來多項核心優勢,包括:
- 安全傳輸:與生俱來的安全性:客戶端與伺服器之間所有請求和回應均通過 TLS 傳輸,無需如 SCEP 般使用共享密鑰標識對訊息編碼以完成認證,亦無需像自動化證書管理環境協議(ACME)般通過質詢密碼完成訊息認證。
- 指定證書請求方:在 EST 協議下,證書簽名請求(CSR)可與經 TLS 認證的特定可信請求方綁定。而使用 SCEP 時,CSR 需通過客戶端與證書頒發機構(CA)之間的共享密鑰完成認證,一旦共享密鑰丟失或泄露,就會引入安全風險。
- 密碼敏捷性與算法支援:EST 支援 ECC 和 ECDSA 算法,而 SCEP 並不支援——因為 SCEP 用於數據保護的 PKCS 7 方法僅依賴 RSA 加密算法。此外,這種算法獨立性令 EST 具備一定的密碼敏捷性,可原生支援未來的密碼算法。
- 自動化證書續期:EST 的設計原生支援自動重新註冊。儘管近期提交的 SCEP 更新草案引入了續期訊息,但此前 SCEP 並不支援重新註冊。因此,許多現有的 SCEP 實現需要 IT 團隊對其管理系統進行大幅改造,才可支援自動化證書續期。
- 服務端密鑰生成:對於資源公鑰基礎設施(RPKI)環境,或是無法生成隨機密鑰的資源受限設備,服務端密鑰生成是必需功能。SCEP 僅支援客戶端生成密鑰,而 EST 允許由伺服器生成密鑰。
- 支援信任根增量更替的過渡期:在證書頒發機構(CA)更替或需要變更信任根的場景下,EST 採用證書管理協議(CMP)的 CA 證書更替模型,但並未使用 CMP 的訊息語法或協議。EST 提供的模型可在過渡期內通過三張證書完成信任根更新,過渡期支援所有證書逐步完成向新根 CA 的更替,同時維持客戶端與 EST 伺服器之間的通訊。反觀 SCEP,要求所有證書必須在指定日期一次性完成 CA 更替,若更替過程出現問題,可能導致關鍵業務系統面臨服務中斷風險。
- 證書吊銷:EST 沒有用於獲取證書吊銷狀態的機制。但這一問題影響不大,因為其缺少證書吊銷列表(CRL)獲取功能並不構成使用障礙——在線證書狀態協議(OCSP)和 OCSP 裝訂提供了完整的吊銷狀態查詢能力,應當使用這些技術實現該功能。SCEP 的確提供了 CRL 獲取訊息,允許端點獲取特定證書的吊銷狀態,但該功能價值有限:近期 Firefox 已棄用 CRL,轉而使用 OCSP。
EST 協議的工作原理是什麼?
EST 註冊服務對客戶端與證書頒發機構(CA)之間證書簽發所需的互操作性和安全訊息交換進行了標準化,可廣泛應用於多種證書註冊場景,包括 Web 伺服器、DevOps、端點設備、IoT 設備、用戶身份、電郵服務,以及其他所有使用公鑰基礎設施(PKI)證書的場景。
在公鑰基礎設施(PKI)架構中,EST 服務部署於客戶端與證書頒發機構(CA)之間,承擔傳統上分配給註冊機構(RA)角色的多項職能,負責驗證 EST 客戶端是否應當獲得其申請的證書。若驗證通過,EST 服務會將請求轉發給 CA,再將簽發完成的證書返回給客戶端。客戶端與 EST 伺服器通訊,EST 伺服器通過標準 URL 路徑監聽請求,客戶端僅需知道伺服器的 IP 地址即可發起請求。
EST 註冊流程的設計目標是簡化從可信證書頒發機構(CA)自動化簽發證書的部署,常規的客戶端/伺服器交互流程如下:
- 客戶端與 EST 伺服器建立經 TLS 加密的 HTTP 會話,並驗證伺服器提供的證書。
- 客戶端向伺服器請求並驗證信任鏈,包括根 CA 與 EST CA 之間的所有中間證書,同時存儲根證書。
- 客戶端生成密鑰和 CSR,隨後構造 PKCS#10 證書請求並發送給伺服器。
- EST 伺服器向證書頒發機構(CA)請求並接收其簽發的證書,隨後將簽名後的證書以 PKCS#7 格式返回給客戶端,以便存儲在客戶端設備上。
此外,EST 用戶端可透過向 EST 伺服器提交重新註冊請求,完成現有用戶端數碼證書的續期或密鑰更新。EST 還可傳輸其他可選請求以支援更多數碼證書操作,例如傳遞證書頒發機構(CA)可能需要的 CSR 屬性,以及支援伺服器端密鑰對生成。
用戶端可調用的標準化請求功能及其對應 URI 路徑包括:
- CA 數碼證書分發(/cacerts)
- 用戶端註冊(/simpleenroll)
- 用戶端重新註冊(/simplereenroll)
- 基於 CMS (CMC) 的全量數碼證書管理(/fullcmc)
- 伺服器端密鑰生成(/serverkeygen)
- CSR 屬性(/csrattrs)
Sectigo 支援
Sectigo 充分認知企業數碼證書需求的複雜性與規模。企業依賴公鑰基礎設施(PKI)數碼證書完成各類對象的身份認證與加密,覆蓋雲端與本地的 Web 伺服器、聯網裝置、流動裝置、用戶身份、電郵系統、網絡設備、IoT 設備、DevOps 環境、數碼簽署等諸多場景。Sectigo 提供支援 EST 的 SSL、代碼簽署、S/MIME 及其他 X.509 數碼證書,同時提供自動化端到端證書生命週期管理(CLM)系統,支援企業透過統一視圖實現數碼證書的規模化管理。
配置 Sectigo EST 服務操作簡便,可按照以下步驟執行:
- 作為前置條件,Sectigo 會為您部署一個 EST 實例,並提供 EST 配置應用的 URL 及身份認證憑據。
- 您可透過瀏覽器登入配置應用,啟動配置流程。
- 建立一個或多個適配器,將 EST 服務與 Sectigo 數碼證書簽發系統對接。
- 隨後建立一個或多個範本,將傳入請求映射至對應的適配器,由此控制哪些用戶端可以申請特定類型的數碼證書。
完成上述步驟後,您即可透過 Sectigo EST 服務測試並執行數碼證書註冊或重新註冊操作。
有關使用 Sectigo Certificate Manager 配置 EST 的完整指南(包括適配器與範本的建立方法),請造訪 Sectigo 知識庫並參考《Sectigo Certificate Manager 管理指南》。
有關配置檔案中需指定的參數取值詳情,請聯絡您的Sectigo 客戶經理。
