PKCS#10 - 您的數位身分證申請書

在現今的網路世界裡,無論是網路購物、線上銀行,還是企業間的資料交換,我們都需要一個可靠的方式來證明「我就是我」,就像在現實生活中我們使用身分證一樣。若沒有一個可信的身份驗證機制,詐騙和假冒行為將層出不窮。

為了解決這個問題,我們需要一張「數位身分證」(也就是數位憑證)。而獲取這張憑證的第一步,就是填寫一份標準化的申請書。這份申請書,就是我們今天的主角——PKCS#10

您可以把 PKCS#10 憑證簽署請求(CSR)想像成一份官方的「數位身分證申請書」。這份標準化的表格,確保了憑證中心(CA,相當於戶政事務所)能清楚、無誤地了解您的身分,並為您核發一張具有公信力的數位憑證。image 234234

如何填寫這份「申請書」?

一份 PKCS#10 申請書主要包含以下幾個部分,就像鉅細靡遺地填寫一份正式表格一樣:

  1. 基本資料 Subject
    • 用途:這是在申請書上填寫您的詳細身份資訊,用來唯一識別您的身份。常見的欄位包括:
      • CN (Common Name):通用名稱,通常是您的網站域名,例如 www.changingtec.com
      • O (Organization):組織名稱,例如「我的股份有限公司」。
      • OU (Organizational Unit):部門名稱,例如「資訊部」。
      • L (Locality):城市,例如「台北市」。
      • ST (State or Province):省份或州。
      • C (Country):國家代碼,例如「TW」。
    • 比喻:這就像身分證申請書上,您需要清楚填寫「姓名」、「戶籍地址」、「出生年月日」等每一個欄位,缺一不可。
  2. 您的「公開印章」圖樣 Public Key
    • 用途:在申請憑證前,您會透過密碼學演算法產生一對獨一無二的「金鑰」,包含一把可以公開的「公鑰」和一把必須自己秘密保管的「私鑰」。這裡要附上的,就是那把公鑰
    • 比喻:想像您的「私鑰」是一支獨一無二、絕不離身的鋼筆,而「公鑰」則是這支筆寫出來的特殊簽名筆跡。您把「簽名筆跡」的樣本(公鑰)提供在申請書上供大家比對。未來,任何人只要看到用這支鋼筆(私鑰)簽署的文件,就能透過比對筆跡樣本(公鑰)來確認這份文件千真萬確是來自於您。
  3. 可選項目 Attributes
    • 用途:您可以在這裡提出一些特殊要求,為您的憑證增加額外的功能或資訊。例如,透過「擴充功能請求(Extension Request)」來指定:
      • 主體備用名稱 SAN:讓一張憑證可以同時適用於多個網域名稱(例如 www.changingtec.com, shop.changingtec.com, api.changingtec.com)。
      • 金鑰使用目的 Key Usage:明確標示這把鑰匙是用於數位簽章、加密,還是兩者皆可。
    • 比喻:這就像申請書上的「備註欄」或「附加選項」。您可以勾選「需要附加駕照功能」或「需要英文別名」,讓您的身分證功能更強大。

最關鍵的一步:親筆簽名 (The Signature)

填完所有資料後,最重要的一步來了。您必須在這份申請書上「簽名」,以法律效力證明這份申請確實由您本人提出,且您對所有填寫內容負責。

在 PKCS#10 的世界裡,這個「簽名」是使用您那把絕不外洩的「私鑰」(您的簽名鋼筆)來完成的。這個動作稱為「持有證明 Proof-of-Possession, PoP」,是整個流程中安全性的基石。

它向憑證中心(CA)傳達了一個無可辯駁的訊息:「這張申請書上的資料是我親手填寫的,而且上面那把公鑰(筆跡樣本)確實由我掌控,因為只有我才擁有能與之配對的私鑰(簽名鋼筆)來進行簽名。」保護好您的私鑰,就如同保護好您最重要的簽名工具一樣重要。

從申請到核發:整個流程

  1. 提交申請:您將這份填寫完整並用私鑰簽了名的「數位身分證申請書」(CSR 檔案)提交給一個有公信力的「戶政事務所」,也就是憑證中心(CA)。
  2. 審核驗證:CA 收到後,會先用您附上的公鑰來驗證您的簽名。如果驗證成功,就代表您的身分無誤(PoP 成立)。對於要求更高等級驗證的憑證(如 EV 憑證),CA 還會進行線下的身份查核,就像戶政事務所會核對您的戶口名簿一樣。
  3. 製作與核發:CA 會提取您申請書上的資料(您的身分、您的公鑰),加上 CA 自己的官方資訊(例如頒發者、有效期限),然後用 CA 自己的「官方鋼印」(CA 的私鑰)對整張憑證進行簽署。
  4. 完成與安裝:一張具有公信力的「數位身分證」(憑證)就此誕生,並發還給您。您需要將這張憑證安裝到您的網站伺服器上,這才算正式「掛牌營業」,讓所有訪客都能看到您的官方認證。

總結來說,PKCS#10 不僅僅是一串複雜的程式碼,它更像是一個嚴謹、安全且標準化的申請流程。它確保了網路世界的身份識別不是隨口說說,而是基於一套可驗證、可信賴的密碼學原理,為我們打造了一個更安全的數位環境。

也許你也會想看看