2007年4月27日 星期五

[OpenSSL] CA(Certificate Authority) 的建置 - 1/3

何謂 CA ?

在網路蓬勃發展的時代,安全議題越來越受到重視,因此也有許多人提出如何將傳輸在網路上的資料進行加密傳送以增加安全性;然而有了憑證(certificate)的發明,除了用來將傳輸資料加密外,還可用來驗證資料傳送者與接收者的身份。


而若要瞭解 certificate,則首先必須知道何謂 CA(Certificate Authority)!

以下有兩段解釋:
certificate authority or certification authority (CA) is an entity which issues digital certificates for use by other parties. It is an example of a trusted third party. CAs are characteristic of many public key infrastructure (PKI) schemes.
憑證管理中心(Certification Authority,CA)為具公信力第三者(Trusted ThirdParty) ,對個人及機關團體提供認證及憑證簽發管理等服務,以建立具有機密性、鑑別、完整性、不可否認性、接取控制及可用性而的資訊通信安全環境與機制。在建置營運憑證管理中心時,須依憑證管理中心之營運政策及策略,制訂憑證政策與憑證實作準則,規範其運作規定與作法,一方面讓用戶瞭解在使用上的作業規定,另一方面則藉此表明其在安全及公證性上的信賴度。

流程說明

從CA建置到憑證的簽署,步驟如下:


  1. 自行建立CA(假設沒有花錢使用公用CA的情況下)
  2. 建立 Private Key
  3. 建立 Certificate Request(憑證要求)
  4. 將 Certificate Request 送交 CA 來簽證此憑證


而在 CA server 的部分,要介紹的重點在於:

  1. 建置 CA server
  2. 簽發憑證、報廢憑證
  3. 設定 CA 簽證的 policy

其中,所有設定都必須使用到「openssl」這個指令,相關的參數用法頗為複雜,若要參考詳細的內容與使用方式,可參考 OpenSSL官方網站


CA server 種類

首先有些觀念必須說明,即是 CA server 的種類有兩種:

  • Self-Signed CA
亦可稱為 root CA。由於此種 CA 所發的憑證(certificate)是不經由任何上層 CA 所認證,而是以「自行認證」的方式進行認證。因此像是最上層的商業 CA,或是自行架設內部認證用的 CA,都可以屬於此類。
  • Signed CA
不同於 Self-Signed CA,此種 CA 所發佈的憑證,可被上層的 CA 進行認證,而兩種 CA 的關係則是「Parent CA <==> Child CA」。 而通常設定上層 CA 時,除非是內部使用,不然使用商業 CA 是必須付費的!

沒有留言:

張貼留言