pki是一種遵循標準的密鑰管理平台,它能夠為所有網路套用透明地提供採用加密和數字簽名等密碼服務所必需的密鑰和證書管理。pki必須具有
1)ca、
2)證書庫、
3)密鑰備份及恢復系統、
4)證書作廢處理系統、
5)客戶端證書處理系統
等基本成分,構建pki也將圍繞著這五大系統來構建
一個pki由眾多部件組成,這些部件共同完成兩個主要功能:
1)為數據加密
2)創建數字認證。
伺服器(即後端)產品是這一系統的核心,這些資料庫管理著數字認證、公共密鑰及專用密鑰( 分別用於數據的加密和解密)。
ca資料庫負責發布、廢除和修改x.509數字認證信息,它裝有用戶的公共密鑰、證書有效期以及認證功能(例如對數據的加密或對數字簽字的驗證) 。為了防止對數據簽字的篡改,ca在把每一數字簽字傳送給發出請求的客戶機之前,需對每一個數字簽字進行認證。一旦數字認證得以創建, 它將會被自動存儲於x.500目錄中,x.500目錄為樹形結構。ldap(lightweight directory access protocol)協定將回響那些要求提交所存儲的公共密鑰認證的請求。ca為每一用戶或伺服器生成兩對獨立的公共和專用密鑰。其中一對用於信息的加密和解密, 另一對由客戶機應用程式使用,用於文檔或信息傳輸中數字簽字的創建。
大多數pki均支持證書分布,這是一個把已發布過的或續延生命期的證書加以存儲的過程。這一過程使用了一個公共查詢機制,x.500目錄可自動完成這一存儲過程。影響企業普遍接受p ki的一大障礙是不同ca之間的交叉認證。假設有兩家公司,每一家企業分別使用來自不同供應商的ca,現在它們希望相互託管一段時間。如果其後援資料庫支持交叉認證, 則這兩家企業顯然可以互相託管它們的ca,因而它們所託管的所有用戶均可由兩家企業的ca所託管。
* 認證機關
ca是證書的簽發機構,它是pki的核心。眾所周知,構建密碼服務系統的核心內容是如何實現密鑰管理,公鑰體制涉及到一對密鑰,即私鑰和公鑰, 私鑰只由持有者秘密掌握,無須在網上傳送,而公鑰是公開的,需要在網上傳送,故公鑰體制的密鑰管理主要是公鑰的管理問題,目前較好的解決方案是引進證書(certificate)機制。
證書是公開密鑰體制的一種密鑰管理媒介。它是一種權威性的電子文檔,形同網路計算環境中的一種身份證,用於證明某一主體(如人、伺服器等)的身份以及其公開密鑰的合法性。在使用公鑰體制的網路環境中, 必須向公鑰的使用者證明公鑰的真實合法性。因此,在公鑰體制環境中,必須有一個可信的機構來對任何一個主體的公鑰進行公證,證明主體的身份以及他與公鑰的匹配關係。c a正是這樣的機構,它的職責歸納起來有:
1、驗證並標識證書申請者的身份;
2、確保ca用於簽名證書的非對稱密鑰的質量;
3、確保整個簽證過程的安全性,確保簽名私鑰的安全性;
4、證書材料信息(包括公鑰證書序列號、ca標識等)的管理;
5、確定並檢查證書的有效期限;
6、確保證書主體標識的唯一性,防止重名;
7、發布並維護作廢證書表;
8、對整個證書籤發過程做日誌記錄;
9、向申請人發通知。
其中最為重要的是ca自己的一對密鑰的管理,它必須確保其高度的機密性,防止他方偽造證書。ca的公鑰在網上公開,整個網路系統必須保證完整性。
* 證書庫
證書庫是證書的集中存放地,它與網上"白頁”類似,是網上的一種公共信息庫,用戶可以從此處獲得其他用戶的證書和公鑰。
構造證書庫的最佳方法是採用支持ldap協定的目錄系統,用戶或相關的套用通過ldap來訪問證書庫。系統必須確保證書庫的完整性,防止偽造、篡改證書。
* 密鑰備份及恢復系統
* 證書作廢處理系統
* pki套用接口系統
pki的價值在於使用戶能夠方便地使用加密、數字簽名等安全服務,因此一個完整的pki必須提供良好的套用接口系統,使得各種各樣的套用能夠以安全、一致、可信的方式與p ki互動,確保所建立起來的網路環境的可信性,同時降低管理維護成本。最後,pki套用接口系統應該是跨平台的。
許多權威的認證方案供應商(例如verisign、thawte以及gte)目前都在提供外包的pki。外包pki最大的問題是,用戶必須把企業託管給某一服務提供商, 即讓出對網路安全的控制權。如果不願這樣做,則可建造一個專用的pki。專用方案通常需把來自entrust、baltimore technologies以及xcert的多種伺服器產品與來自主流應用程式供應商(如microsoft、netscape以及qualcomm)的產品組合在一起。專用pk i還要求企業在準備其基礎設施的過程中投入大量的財力與物力。
7.jaas
擴展jaas實現類實例級授權
“java 認證和授權服務”(java authentication and authorization service,jaas)
在 jaas 下,可以給予用戶或服務特定的許可權來執行 java 類中的代碼。在本文中,軟體工程師 carlos fonseca 向您展示如何為企業擴展 jaas 框架。向 jaas 框架添加類實例級授權和特定關係使您能夠構建更動態、更靈活並且伸縮性更好的企業應用程式。
大多數 java 應用程式都需要某種類實例級的訪問控制。例如,基於 web 的、自我服務的拍賣應用程式的規範可能有下列要求: