PKI技術漫談
文章出處:http://5052h112.com 作者:fondcard 人氣: 發表時間:2011年09月17日
[文章內容簡介]:隨著電子商務、電子政務業務需求的不斷深入和進展,移動銀行、網上支付、網上交易等新型應用正在不斷興起。無論是何種應用,為確保參與網上交易雙方身份的合法性、正確性、以及機密性,并且保證他們在網上的交易信息不會被偷看和篡改以及雙方對自己的信息不能抵賴。目前最切實可行的安全體系是CA,實現客戶端安全的手段是基于PKI體系的智能卡,它正是滿足這種需要應運而生
隨著電子商務、電子政務業務需求的不斷深入和進展,移動銀行、網上支付、網上交易等新型應用正在不斷興起。無論是何種應用,為確保參與網上交易雙方身份的合法性、正確性、以及機密性,并且保證他們在網上的交易信息不會被偷看和篡改以及雙方對自己的信息不能抵賴。目前最切實可行的安全體系是CA,實現客戶端安全的手段是基于PKI體系的智能卡,它正是滿足這種需要應運而生。
為加深對PKI相關技術的理解,本文將對PKI的基本部分進行進一步的介紹。
1 簡 介
1.1 什么是PKI?
PKI(Public-Key Infrastruc-ture)是一組規則、過程、人員、設施、軟件和硬件的集合,可用來進行公鑰證書的發放、分發和管理。從實踐的角度來看,通過管理和控制密鑰和證書的使用,PKI在分布環境中建立了一個信任體系。如果沒有PKI的管理和認證服務,那么就無法使用基于密碼的安全機制來支持商業應用。
1.2 PKI如何與電子商務相關?
在網絡世界中,管理員最關心的是制定規則的策略和電子商務的流程。所有的PKI應當能夠根據具體的商業標準而制定的規則來進行操作和管理。因此,PKI不只是一種技術、一個軟件或產品;從本質上將,它是一個規則,所有的技術、軟件和產品都按照這種規則進行集成。設計優秀的PKI產品能夠支持多種商業應用框架。
1.3 PKI技術如何集成到應用當中?
大多數的PKI組件在網絡中作為服務程序運行。面向開發者的工具組件是個例外。開發工具幫助程序員處理底層復雜的加密服務和協議。開發工具把實現安全標準的軟件供應商和高層的接口結合起來,使得任何開發人員都可以方便地將PKI集成到他們的應用中。
1.4 主要市場動力
* 不斷增長的在線商業應用構成了實施PKI的基本商業動力:
* 無線和互聯網電子商務
* 通過公共網絡進行的電子內容的發布
* 在線支付
* 內聯網
對各種組織機構來說,在使用這些新的應用獲得巨大利益的同時,也不得不面對嚴重的安全風險:
* 假冒合法用戶
* 拒絕線上交易
* 竄改數據
* 竊聽數據
* 未經授權的訪問
1.5 電子商務的安全需求
在線的商務運營有具體的安全需求。良好設計的PKI能夠滿足所有的這些需求。PKI通過管理實體之間的關系、密鑰和證書,使得密碼技術在商業應用中發揮作用。
現在,大多數觀點都認為,只有應用中集成了PKI技術,才能更好的使用密碼技術。為了集成PKI,應用必須能夠訪問PKI資源,例如認證中心和證書目錄,同時也要能夠處理經常需要與PKI交換的對象,比如數字簽名和公鑰證書。
PKI要滿足以下需求:
* 認證。為了防止假冒,在一個實體(個人、設備、組織和角色)進行在線交易和訪問資源之前驗證它的身份。如果應用中集成了PKI,就能夠使用數字簽名和公鑰證書來驗證參加商業流程的個人、服務器、節點或其他實體的身份。
* 授權。為了防止未經授權的活動,驗證一個實體被許可參加某個活動或交易,或者被允許訪問資源。如果應用中集成了PKI,就能夠在授權(確認或拒絕)一個實體參加交易或訪問資源之前,通過一個優先級列表來交叉引用某個被其他實體認證的實體。
* 非否認。證明某個實體曾經參與過活動或訪問了資源。集成了PKI的應用可以將參與者和他的活動以及活動發生的時間綁定在一起,因為應用可以驗證數字簽名、處理公鑰證書并且維護一份審計記錄。
* 私密性。防止對數據的竊聽和未授權的訪問。集成了PKI的應用也具有對數據加密的能力。雖然PKI并不提供加密服務,但是通常提供管理和交換密鑰服務。
* 完整性。在數據的傳輸和存儲過程中,防止數據由于異常或人為的原因被竄改。數字簽名是防止數據被竄改的好方法。如果數字簽名通過驗證,那么事務的完整性就被認為得到保證,否則就認為事務的數據被改變,這些數據應該丟棄。集成了PKI的應用能夠對事務進行數字簽名,也能夠驗證數字簽名,所以可以檢驗事務的完整性。
2 PKI技術和結構
良好的PKI結構具有公開的文檔,提供了清晰的應用接口,并且支持標準。PKI技術需要實現下列功能:
* 終端實體應用(End-Entity Application,EE)
* 注冊中心(Registration Au-thority,RA)
* 證書中心(Certification Au-thority,CA)
* PKI目錄
2.1 基本的PKI結構和數據流
PKI的主要技術組成部分和操作流程如圖1所示。
2.1.1 什么是公鑰證書?
公鑰證書是一個數據對象,它將公鑰和一組標識密鑰對的擁有者(一個實體,例如人、組織、節點和網站)的信息綁定在一起。證書中的公鑰是和密鑰對中的私鑰相關的。密鑰對的擁有者稱作證書中的“主體”。安全事務依賴于準確的身份(主體)和證書中包含的公鑰。依靠可信的、準確的身份和公鑰,在執行在線事務之前,一個參與者能夠認證其他的參與者。圖2直觀地展示了證書的內容。
2.1.2 什么是數字簽名?
正如名字所說,數字簽名是傳統的手寫簽名的電子等價形式。但是,數字簽名并不像傳統的簽名,它并不能直觀地被識別。集成了PKI的應用通過訪問密鑰管理和密碼服務,可以識別(創建、存儲、傳送和認證)數字簽名。圖3顯示了生成和驗證數字簽名地一般過程。
數字簽名和公鑰證書在PKI中提供了兩個基本的安全服務:數據完整性和用戶認證。
2.1.2.1 PKI中的數據完整性
如上文指出的,為了創建數字簽名,待簽名的事務數據和用戶的私鑰都要作為簽名過程的輸入。為了驗證數字簽名,已經簽名的數據、用戶的公鑰和數字簽名本身都要作為驗證過程的輸入。由于事務數據本身總是包括在簽名和驗證的過程中,因此如果數據在簽名后被改變,那么驗證過程就不會成功。所以,數字簽名已經成為確保事務完整性的首選方法。
2.1.2.2 PKI 中的用戶認證
公鑰證書確保了用來驗證數字簽名的公鑰屬于生成簽名的用戶。前文已經描述過,證書同時包含用戶的公鑰和身份。所以,如果簽名驗證成功,那么驗證者也就知道了簽名者的確切身份,因為發放公鑰證書的CA保證了用戶的身份。
2.2 PKI的主要技術組成部分
下面是PKI的主要技術組成部分: * 終端用戶應用(EE)。它的功能包括:
* 生成、存儲和訪問用戶的公鑰對
* 完成、簽署并提交第一次證書申請
* 完成、簽署并提交證書的更新請求
* 完成、簽署并提交證書的作廢請求
* 搜索并取得證書和作廢信息
* 驗證證書并取得證書的內容
* 生成和驗證數字簽名
* 注冊中心(RA)。與EE和CA完全兼容并可以互操作,支持同樣的基本功能,包括密鑰生成、存儲、訪問,以及數字簽名和證書的處理。在PKI中,RA通常能夠支持多個EE和CA。他的主要用途是支持RA用戶的特殊任務,比如:
* 用戶注冊。用戶登記成為一個PKI的潛在的參與者的過程。RA在一個專門的數據庫中創建用戶對象。根據具體的注冊規則,用戶對象可以包括任意多個用戶屬性,比如姓名、職業和電子郵件地址等。
* 身份調查。RA通過這個過程來驗證第一次證書申請者(主體)的身份,從而確認某個具體的公鑰(要置于證書中的)屬于申請者。
* 批準終端用戶的申請。RA將批準或拒絕終端用戶的請求,比如第一次申請證書的請求或更新已經過期的證書的請求。
* 證書作廢。RA通過這個行為命令CA將某個用戶的證書作廢。根據PKI的證書作廢規則,RA可以提供作廢的原因,也可以不提供。
* 證書中心(CA)。CA是一個高度可信的簽名引擎。根據預先定義的條件,CA負責簽發證書、發出作廢申請以及處理其他事務。CA在PKI中扮演核心角色。實際上,CA負責以下功能:
* 密鑰認證。CA對主體的公鑰簽名并發放證書。
* 證書更新。當主體當前的證書過期后,發行新的證書。
* 證書作廢。使得該證書從該時刻起非法。
* 證書發布。PKI用戶可以搜索并取得該證書。
* 維護證書作廢列表。在PKI中保持作廢列表的時效性。
* 發布作廢列表。使得PKI用戶可以訪問作廢列表。
* PKI目錄。PKI目錄是一個在線的數據庫,所有PKI的參與者都可以在此處搜索并取得證書、作廢信息和策略信息。只有專門的用戶和組件具有改寫和刪除的權限。一般說來,目錄大多基于IETF的LDAP協議實現。目錄結構包括兩個主要部分:LDAP客戶端(一般在EE中實現)和LDAP服務器——一個網絡服務器,保存目錄信息,并處理搜索、讀寫、刪除和更新等由PKI中授權用戶發起的請求。這些過程見圖4。
2.2.1 PKI工具箱
如果不能與應用結合,PKI在商業中就沒有價值。因此,良好的PKI設計應該集中在應用界面。最好的方法是將應用界面和標準設計成開發工具箱。工具箱支持與應用的無縫集成,而且對資源的需求最小。雖然工具箱對于用戶和管理員是透明的,但是它卻在PKI的實施和維護中扮演重要的角色,所以也是PKI中的關鍵技術組成部分。
通用PKI工具箱:開發工具箱包括所有的PKI庫和接口,支持第三方的應用使用PKI。理想情況下,PKI中的所有其他組件(EE、RA、CA)也使用相同的工具箱開發。這種結構保證了PKI組件之間的兼容性,而且可以快速地增加和修改新特性。通過支持標準,有可能將來自不同廠商的PKI組件集成到一起。一般的PKI工具箱設計見圖5。
2.3 用在電子商務中的應用協議
一些應用協議支持電子商務。這些協議并不是電子商務應用本身,而是一些通用的協議,廣泛地應用在各種電子商務中。表1列出了經常使用的協議和它們依賴的標準。這些標準都需要PKI的支持。
* WTLS(Wireless Transport Layer Security)能夠認證參與通信的各方,并在傳輸過程中加密WML(Wireless Markup Lan-guage)數據。
* SSL(Secure Sockets Lay-er)和TLS(Transport Layer Secu-rity)和WTLS的應用方式相似,只是用于基于Web的事務。
* IPSec(Internet Protocol Security)主要用于建立VPN(Virtual Private Networks),來支持內聯網和外部網絡。該協議在IP數據包層實現了加密和完整性檢查,并在通信會話中認證發送和接收的網絡設備。
* S/MIME(Secure/Multi-purpose Internet Mail Extensions)用于加密、發送/接收電子郵件。
* 還存在許多其他的技術用來安全地發布內容。內容的種類多種多樣,包括音樂、圖書、圖片和軟件等等。但是PKI都可以支持這些應用,來安全地發布并對使用者地權限進行管理。
應用協議 對應的標準(PKI支持)
WML WTLS?穴WAP-199-
WTLS-20000218-A?雪
HTML SSL和TLS
電子郵件 S/MIME
VPN IPSEC
表1 經常使用的應用協議和對應的標準
3 PKI的策略
有兩個主要的策略決定了PKI的運營和技術實施:CP(Certificate Policy)和CPS(Certification Practice Statement)。
3.1 CPS
CPS定義了用戶能夠在什么程度上信任PKI的證書。前面已經提到,控制商業規則的策略也是PKI必須支持的策略。這些策略將控制PKI的參與者如何創建、管理、使用和訪問密鑰和證書。CPS定義了這些策略。CPS可能涵蓋了用戶和管理員的注冊過程、CA的操作規程和安全控制,以及主體和CA的義務。CPS必須定義PKI的信息級別,該級別至少要和依賴于PKI的商業事務的價值級別相同。在電子商務環境中,信任級別必須大于等于價值級別,CPS是一種定義和驗證的方法。
3.2 CP
在線商務和支持它們的PKI并不是分離的,而且在不停地增加更多地用戶、合作人和雇員。這些新的實體處于不同的商業和管理環境中,并且可能已經建立了PKI和集成了PKI的應用。因此,定義一個PKI的策略和接口就十分重要,這些策略和接口就是CP。通過定義一個好的CP,不同的PKI之間的互操作就可能比較順利。
4 結束語
PKI包含了復雜的技術,與電子商務應用協同工作。因此,應用接口和標準就十分重要。PKI技術可以支持非常廣泛的在線應用。對PKI支持的需要會與日俱增。PKI本身不只是技術,而且是技術、證書和密鑰使用和管理的方式。最終,PKI的使用和管理要符合商業規則。
本文關鍵詞:PKI,PKI技術,電子商務,公鑰證書,,KI,PKI技術,電子商務,公鑰證書,數,I,PKI技術,電子商務,公鑰證書,數字,,PKI技術,電子商務,公鑰證書,數字簽,PKI技術,電子商務,公鑰證書,數字簽名
上一篇:基于數字簽名和StarKey的網上資金結算和管理解決方案[ 09-17 ]
下一篇:攀枝花醫保管理系統IC卡數據結構分析[ 09-17 ]