最近要做這方面的工作,收集點資料,理解一下
何謂數字證書?
數字證書是一個經證書認證中心(CA)數字簽名的包含公開密鑰擁有者信息以及公開密鑰的數據文件。認證中心的數字簽名可以確保證書信息的真實性,用戶公鑰信息可以保證數字信息傳輸的完整性,用戶的數字簽名可以保證數字信息的不可否認性。
數字證書是各類終端實體和最終用戶在網上進行信息交流及商務活動的身份證明,在電子交易的各個環節,交易的各方都需驗證對方數字證書的有效性,從而解決相互間的信任問題。
認證中心(CA)作為權威的、可信賴的、公正的第三方機構,專門負責為各種認證需求提供數字證書服務。認證中心頒發的數字證書均遵循X.509 V3標準。X.509標準在編排公共密鑰密碼格式方面已被廣為接受。
數字證書的功能主要包括:身份驗證、信息傳輸安全、信息保密性(存儲與交易)、信息完整性、交易的不可否認性。
數字安全證書的工作流程
如果客戶A想和銀行B通信,他首先必須從數據庫中取得銀行B的證書,然后對它進行驗證。如果他們使用相同的CA(證書認證中心),事情就很簡單,客戶A只需驗證銀行B證書上CA的簽名。如果他們使用不同的CA,問題就較為復雜。客戶A必須從CA的樹形結構底部開始,從底層CA往上層CA查詢,一直追蹤到同一個CA為止,找出共同的信任CA。目前個人獲取網上銀行安全證書的途徑都是通過銀行申請,所以雙方肯定采用同一證書認證中心頒發的證書。
現在假設客戶A向銀行B傳送數字信息,為了保證信息傳送的真實性、完整性和不可否認性,需要對要傳送的信息進行數字加密和數字簽名,其傳送過程如下:
(1)客戶A準備好要傳送的數字信息(明文)。
(2)客戶A對數字信息進行哈希(hash)運算,得到一個信息摘要。
3)客戶A用自己的私鑰(SK)對信息摘要進行加密得到客戶A的數字簽名,并將其附在數字信息上。
4)客戶A隨機產生一個加密密鑰(DES密鑰),并用此密鑰對要發送的信息進行加密,形成密文。
5)客戶A用雙方共有的公鑰(PK)對剛才隨機產生的加密密鑰進行加密,將加密后的DES密鑰連同密文一起傳送給乙。
6)銀行B收到客戶A傳送過來的密文和加過密的DES密鑰,先用自己的私鑰(SK)對加密的DES密鑰進行解密,得到DES密鑰。
7)銀行B然后用DES密鑰對收到的密文進行解密,得到明文的數字信息,然后將DES密鑰拋棄(即DES密鑰作廢)。
8)銀行B用雙方共有的公鑰(PK)對客戶A的數字簽名進行解密,得到信息摘要。銀行B用相同的hash算法對收到的明文再進行一次hash運算,得到一個新的信息摘要。
9)銀行B將收到的信息摘要和新產生的信息摘要進行比較,如果一致,說明收到的信息沒有被修改過。
MSN:
posted on 2008-01-22 10:50
kylixlu 閱讀(2254)
評論(3) 編輯 收藏 所屬分類:
Others