公開金鑰基礎建設查看源代码讨论查看历史
公開金鑰基礎建設(Public Key Infrastructure,縮寫:PKI),又稱公開金鑰基礎架構、公鑰基礎建設、公鑰基礎設施、公開密碼匙基礎建設或公鑰基礎架構,是一組由硬體、軟體、參與者、管理政策與流程組成的基礎架構,其目的在於創造、管理、分配、使用、儲存以及撤銷數位憑證。
密碼學上,公開金鑰基礎建設藉著数字证书认证机构[1] (CA)將使用者的個人身分跟公開金鑰鏈結在一起。對每個憑證中心使用者的身分必須是唯一的。鏈結關係通過註冊和發佈過程建立,取決於擔保級別,鏈結關係可能由CA的各種軟體或在人為監督下完成。PKI的確定鏈結關係的這一角色稱為註冊管理中心|Registration authority(Registration Authority,RA)。RA確保公開金鑰和個人身份鏈結,可以防抵賴。在微軟的公開金鑰基礎建設之下,註冊管理中心(RA)又被叫做從屬數字證書認證機構(Subordinate CA)。
可信賴的第三者|Trusted third party(Trusted third party,TTP)也常被用來指憑證中心。PKI有時被錯誤地拿來代表公開金鑰密碼學或公開金鑰演算法。
目录
组成要素
PKI的组成要素主要有:用户(使用PKI的人或机构);认证机构(Certification Authority,CA)(颁发证书的人或机构);仓库(保存证书的数据库)。用户和认证机构称之为实体。
用户是使用PKI的人,使用PKI的人又分为两种:一种是向认证机构(CA)注册自己公钥的人,另一种是希望使用已注册公钥的人。
认证机构是对证书进行管理的人或机构。认证机构进行这几种操作:代用户生成密钥对(当然可以由用户自己生成);对注册公钥的用户进行身份验证;生成并颁发证书;作废证书。另外,对公钥注册和用户身份验证可以由注册机构(Registration Authority,RA)来完成。
仓库(repository)是存放证书的数据库。仓库也叫证书目录。
典型的用途
大部分企業級的公鑰基礎建設系統,依賴由更高階級的憑證中心發行給低階憑證中心的憑證,而層層構築而成的憑證鏈,來建立某個參與者的身份識別憑證的合法性。這產生了不只一個電腦且通常涵蓋多個組織的憑證階層,涉及到多個來源軟體間的合作。因此公開的標準對公鑰基礎建設相當重要。這個領域的標準化多由網際網路工程工作小組的PKIX工作群完成。
企業公鑰基礎建設通常和企業的資料庫目錄緊密結合,每個員工的公鑰內嵌在憑證中,和人事資料一起儲存。今日最先進的目錄科技是輕量目錄存取協定(Lightweight Directory Access Protocol,LDAP)。事實上,最常見的憑證格式X.509的前身X.500是用於LDAP的前置處理器的目錄略圖。
其他方案
信任網絡
信任網絡(Web of trust)是處理公鑰如何跨越時間、空間提供公眾認證的另類的方式,它使用自我簽署的憑證和第三者證詞。論及信任網絡,並非暗指單一信任網絡或共同信任點的存在,而可能是多個不同互連的信任網絡。這類實作如PGP和GnuPG。因為PGP和其實作允許電子郵件數位簽章使用於自我發行的公鑰,這相對更容易實現個人的信任網絡。
信任網絡的其中一個優點是它可與被某群體完全信賴的公鑰基礎建設憑證中心協同。
簡易公開金鑰基礎建設
另一個未處理公鑰認證資訊的方案是簡易公開金鑰基礎建設(Simple public key infrastructure,SPKI),它發展出三個獨立的功用以免去X.509和PGP信任網絡的複雜。簡易公開金鑰基礎建設並不鏈結個人與金鑰,正因金鑰才是真正“說話”的角色。SPKI未使用任何信任的概念,正如驗證方同時也是發行者。這被稱為『授權環』(authorization loop)。
各地区應用
- JPN:日本認證服務業2006年的產值推估為225億日圓。電子化政府服務有大量應用公開金鑰,特別是2003年發行的國家身分證智慧卡。在金融服務上,多數銀行之線上系統並沒導入公開金鑰。日本使用公開金鑰的用途十分多樣,例如公眾公證服務中心就提供合約、組織文件等資料的存證服務。
- HKG:於2005年,香港有三家CA,其中兩家為政府單位,一家為民間公司。在「數碼21新紀元」計畫的200類線上政府服務中,有交通局、稅務局、選舉事務處、差餉物業估價署、入境事務處的服務使用公開金鑰。
- ROC-TW:其憑證管理架構(簡稱CA)採用階層式的管理機制,其信賴核心是國家發展委員會委託中華電信管理的政府憑證管理中心(簡稱GRCA),GRCA將簽發的CA憑證給政府公開金鑰基礎建設(簡稱GPKI)的下層CA,而中華民國內政部憑證管理中心則屬於GPKI中的第一層下屬憑證機構,並遵循GPKI憑證政策所訂定之保證等級第三級的規定,對於在中華民國設籍登記滿18歲以上之國民進行簽發與管理其自然人公鑰憑證。
PKI 應用
安全性
網路服務面臨的安全性議題有二:一是網路與設備上的安全議題,另一是資訊的安全議題。 網路服務可以穿過傳統的網路保護機制,同時網路服務也可以攜帶籌載物(payload),還可以與企業內部應用程式溝通,如此等於大開安全之門。因此在網路安全問題上,可能會面臨假身份問題,以及利用無效的SQL語法、LDAP或是XPath作攻擊,另外,攻擊者也可以使用XML的阻斷服務攻擊(DoS)來癱瘓網路連線。另外,在內容安全議題上,由於傳遞的是XML明碼,因此極易被有心人給窺視,因此網路服務也需對其傳遞內容進行保護,以免洩漏重要資訊。
憑證應用風險規劃
電子憑證主要目的為讓網路交易雙方建立信賴關係,其法律效力在於內含之數位簽章,而非憑證本身;憑證只在確認此數位簽章的正確性與使用者身份真實性。電子憑證內含密碼學技術,且由具公信力的CA所核發,其安全性不置可否。然而,若將憑證與其他應用一起使用,例如同時作為企業內部管理的功能,則必須考慮可能造成的風險。
企業在應用電子憑證時,應有完整的風險規劃,例如憑證的選擇、CA的選擇、瞭解憑證應用範圍的限制、瞭解憑證服務契約之賠償責任、利用各項功能或機制(如黑名單機制、線上憑證狀態查詢等)控制交易風險等。如此,才能在不逾越憑證使用範圍的法律效力下,適度做好交易風險控管,達到憑證最終目的。
工商憑證應用服務
繼自然人憑證後,中華民國經濟部刻正推動公司行號之工商憑證,亦即簽發公司行號憑證IC卡,作為企業與政府之間的網路身份證,提供各項安全的網路申辦服務。現階段應用包括工商登記、領投標、公司報稅、勞保加退保等等,後續將朝向文件(如謄本)申請之電子化目標邁進,一方面減少各項文書使用量,一方面提供公司及政府單位便利的線上作業,簡化整體申辦流程,為另一項電子化政府服務。
對一般電腦使用者的
PKI對我們日常生活有何影響呢?最主要看使用者對資訊安全的需求程度而定;換句話說,只要對「資料身份識別」、「交易資料完整」、「交易不可否認」或「保密」等其中之一有所需求,就可以使用PKI。
以社區管理為例,管理委員會挨家挨戶向住戶發送通知單或收取管理費,相當耗費時間與人力;如果以e-mail或線上繳費就方便多了。住戶透過網路運用電子憑證繳費,就是使用 PKI 當中的「身分識別」與「交易不可否認」等功能–在整個過程中,管理委員會就能夠依憑證辨識用戶的身份,而用戶也不能否認其繳費動作。
PKI的應用範圍不僅於此,例如目前流行的網路銀行或網路下單等服務,都必須仰賴PKI機制並配合使用電子簽章所給予之法律地位,以確保交易雙方交易記錄的存在(「交易資料完整」與「交易不可否認」)與身份確認,使業者與消費者的權益都受到保障、以及利用網路達到安全傳遞資訊的目的。
日常生活中會接觸到的PKI應用還包括網路報稅、高速公路收費自動化智慧卡、電子郵件加密簽名、上網購物、與大樓門禁系統等。
歷史
1976年Whitfield Diffie、Martin Hellman|Hellman、Ron Rivest、Adi Shamir和Leonard Adleman等人相繼公佈了安全金鑰交換與非對稱金鑰演算法後,整個通訊方式為之改變。隨著高速電子數位通訊的發展,使用者對安全通訊的需求越來越強。
密碼協定在這種訴求下逐漸發展,造就新的密碼原型。全球網際網路發明與擴散後,認證與安全通訊的需求也更加嚴苛。光商務理由便足以解釋一切。時在網景工作的Taher ElGamal等人發展出傳輸安全層協定,包含了金鑰建立、伺服器認證等。公開金鑰基礎建設的架構因此浮現。
廠商和企業家察覺了其後的廣大市場,開始設立新公司並啟動法律認知與保護。美國律師協會計畫發行了一份對公開金鑰基礎建設操作的可預見法律觀點的詳盡分析,隨後,多個美國州政府與其他國家的司法單位開始制定相關法規。消費者團體等則提出對隱私、存取、可靠性的質疑,也被列入司法的考慮中。
被制定的法規實有不同,將公開金鑰基礎建設的機制轉換成商務操作有實際上的問題,遠比許多先驅者所想的緩慢。
21世紀的前幾年才慢慢發覺,密碼工程沒那麼容易被設計與實踐,某些存在的標準某方面甚至是不合宜的。
公開金鑰基礎建設的廠商發現了一個市場,但並非九零年代中期所預想的那個市場,這個市場發展得緩慢而且以不同的方式前進。公開金鑰基礎建設並未解決所期待的問題,某些廠商甚至退出市場。公開金鑰基礎建設最成功的地方是在政府部門,目前最大的公開金鑰基礎建設是美國防衛資訊系統局 (Defense Information Systems Agency,DISA)的共同存取卡(Common access Cards)方案。
目的與機能
公開金鑰基礎建設的設置使得未聯繫的電腦使用者可以提出認證,並使用公鑰憑證內的公鑰資訊加密給對方。解密時,每個使用者使用自己的私密金鑰解密,該金鑰通常被通行碼保護。大致而言,公開金鑰基礎建設由用戶端軟體、伺服器端軟體、硬體、法律合約與保證、操作程序等組成。簽署者的公鑰憑證也可能被第三者使用,用來驗證由該簽署者簽署的數位簽章。
通常,公開金鑰基礎建設協助參與者對話以達成機密性、訊息完整性、以及使用者認證,而不用預先交換任何祕密資訊。然而互通連成員間的公開金鑰基礎建設受制於許多現實問題,例如不確定的憑證撤銷、憑證中心發行憑證的條件、司法單位規範與法律的變化、還有信任。