數字證書的原理與實現

2021-06-19 07:46:25 字數 4358 閱讀 2758

一.數字證書概述

數字證書是一段包含使用者身份資訊、使用者公鑰資訊以及身份驗證機構數字簽名的資料。身份驗證機構的數字簽名可以確保證書資訊的真實性,使用者公鑰資訊可以保證數字資訊傳輸的完整性,使用者的數字簽名可以保證數字資訊的不可否認性。

數字證書是各類終端實體和終端使用者在網上進行資訊交流及商務活動的身份證明,在電子交易的各個環節,交易的各方都需驗證對方數字證書的有效性,從而解決相互間的信任問題。

數字證書是乙個經證書認證中心(ca)數字簽名的包含公開金鑰擁有者資訊以及公開金鑰的檔案。認證中心(ca)作為權威的、可信賴的、公正的第三方機構,專門負責為各種認證需求提供數字證書服務。認證中心頒發的數字證書均遵循x.509 v3標準。x.509標準在編排公共金鑰密碼格式方面已被廣為接受。x.509證書已應用於許多網路安全,其中包括ipsec(ip安全)、ssl、set、s/mime。

二.應用數字證書的目的

數字資訊保安主要包括以下幾個方面:

身份驗證(authentication)

資訊傳輸安全

資訊保密性(儲存與交易)( confidentiality)

資訊完整性(integrity)

交易的不可否認性(non-repudiation)

對於數字資訊的安全需求,通過如下手段加以解決:

資料保密性----加密

資料的完整性----數字簽名

身份鑑別----數字證書與數字簽名

不可否認性----數字簽名

為了保證網上資訊傳輸雙方的身份驗證和資訊傳輸安全,目前採用數字證書技術來實現,從而實現對傳輸資訊的機密性、真實性、完整性和不可否認性。

三.數字證書內容及格式

數字證書包括證書申請者的資訊和發放證書ca的資訊,認證中心所頒發的數字證書均遵循x.509 v3標準。數字證書的格式在itu標準和x.509 v3裡定義。根據這項標準,數字證書包括證書申請者的資訊和發放證書ca的資訊。x.509數字證書內容:

證書各部分的含義:

域                                     含義

version                            證書版本號,不同版本的證書格式不同

serial number                 序列號,同一身份驗證機構簽發的證書序列號唯一

algorithm identifier         簽名演算法,包括必要的引數

issuer                               身份驗證機構的標識資訊

period of validity           有效期

subject                            證書持有人的標識資訊

subject's public  key     證書持有人的公鑰

signature                        身份驗證機構對證書的簽名

證書內容由以下兩部分組成:

(1)申請者的資訊

第一部分申請者的資訊,數字證書裡的資料報括以下資訊:

版本資訊,用來與x.509的將來版本相容;

證書序列號,每乙個由ca發行的證書必須有乙個唯一的序列號;

a所使用的簽名演算法;

發行證書ca的名稱;

證書的有效期限;

證書主題名稱;

被證明的公鑰資訊,包括公鑰演算法、公鑰的位字串表示;

包含額外資訊的特別擴充套件。

(2)發放證書ca的資訊

第二部分ca的資訊,數字證書包含發行證書ca的簽名和用來生成數字簽名的簽名演算法。任何人收到證書後都能使用簽名演算法來驗證證書是否是由ca的簽名金鑰簽發的。

四.驗證證書

持證人甲想與持證人乙通訊時,他首先查詢資料庫並得到乙個從甲到乙的證書路徑(certification path)和乙的公開金鑰。這時甲可使用單向或雙向驗證證書。

單向驗證是從甲到乙的單向通訊。它建立了甲和乙雙方身份的證明以及從甲到乙的任何通訊資訊的完整性。它還可以防止通訊過程中的任何攻擊。

雙向驗證與單向驗證類似,但它增加了來自乙的應答。它保證是乙而不是冒名者傳送來的應答。它還保證雙方通訊的機密性並可防止攻擊。

單向和雙向驗證都使用了時間標記。

單向驗證如下:

(1) 甲產生乙個隨機數ra。

(2) 甲構造一條訊息,m=(ta,ra,ib,d),其中ta是甲的時間標記,ib是乙的身份證明,d為任意的一條資料資訊。為安全起見,資料可用乙的公開金鑰eb加密。

(3) 甲將(ca,da(m))傳送給乙。(ca為甲的證書,da為甲的私人金鑰)

(4) 乙確認ca並得到ea。他確認這些金鑰沒有過期。(ea為甲的公開金鑰)

(5) 乙用ea去解密da(m),這樣既證明了甲的簽名又證明了所簽發資訊的完整性。

(6) 為準確起見,乙檢查m中的ib。

(7) 乙檢查m中的ta以證實訊息是剛發來的。

(8) 作為乙個可選項,乙對照舊隨機數資料庫檢查m中的ra以確保訊息不是舊訊息重放。

雙向驗證包括乙個單向驗證和乙個從乙到甲的類似的單向驗證。除了完成單向驗證的(1)到(8)步外,雙向驗證還包括:

(9) 乙產生另乙個隨機數,rb。

(10)乙構造一條訊息,mm=(tb,rb,ia,ra,d),其中tb 是乙的時間標記,ia是甲的身份,d為任意的資料。為確 保安全,可用甲的公開金鑰對資料加密。ra是甲在第 (1) 步中產生的隨機數。

(11)乙將db(mm)傳送給甲。

(12)甲用ea解密db(mm),以確認乙的簽名和訊息的完整 性。

(13)為準確起見,甲檢查mm中ia。

(14)甲檢查mm中的tb,並證實訊息是剛傳送來的。

(15)作為可選項,甲可檢查mm中的rb以確保訊息不是重放的舊訊息。

五.數字證書使用

每乙個使用者有乙個各不相同的名字,乙個可信的證書認證中心(ca)給每個使用者分配乙個唯一的名字並簽發乙個包含名字和使用者公開金鑰的證書。

如果甲想和乙通訊,他首先必須從資料庫中取得乙的證書,然後對它進行驗證。如果他們使用相同的ca,事情就很簡單。甲只需驗證乙證書上ca的簽名;如果他們使用不同的ca,問題就複雜了。甲必須從ca的樹形結構底部開始,從底層ca往上層ca查詢,一直追蹤到同乙個ca為止,找出共同的信任ca。

證書可以儲存在網路中的資料庫中。使用者可以利用網路彼此交換證書。當證書撤銷後,它將從證書目錄中刪除,然而簽發此證書的ca仍保留此證書的副本,以備日後解決可能引起的糾紛。

如果使用者的金鑰或ca的金鑰被破壞,從而導致證書的撤銷。每乙個ca必須保留乙個已經撤銷但還沒有過期的證書廢止列表(crl)。當甲收到乙個新證書時,首先應該從證書廢止列表(crl)中檢查證書是否已經被撤銷。

現有持證人甲向持證人乙傳送數字資訊,為了保證資訊傳送的真實性、完整性和不可否認性,需要對要傳送的資訊進行數字加密和數字簽名,其傳送過程如下:

(1)甲準備好要傳送的數字資訊(明文)。

(2)甲對數字資訊進行雜湊(hash)運算,得到乙個資訊摘要。

(3)甲用自己的私鑰(sk)對資訊摘要進行加密得到甲的數字簽名,並將其附在數字資訊上。

(4)甲隨機產生乙個加密金鑰(des金鑰),並用此金鑰對要傳送的資訊進行加密,形成密文。

(5)甲用乙的公鑰(pk)對剛才隨機產生的加密金鑰進行加密,將加密後的des金鑰連同密文一起傳送給乙。

(6)乙收到甲傳送過來的密文和加過密的des金鑰,先用自己的私鑰(sk)對加密的des金鑰進行解密,得到des金鑰。

(7)乙然後用des金鑰對收到的密文進行解密,得到明文的數字資訊,然後將des金鑰拋棄(即des金鑰作廢)。

(8)乙用甲的公鑰(pk)對甲的數字簽名進行解密,得到資訊摘要。 乙用相同的hash演算法對收到的明文再進行一次hash運算,得到乙個新的資訊摘要。

(9)乙將收到的資訊摘要和新產生的資訊摘要進行比較,如果一致,說明收到的資訊沒有被修改過。

六.證書存放方式

數字證書可以存放在計算機的硬碟、隨身軟盤、ic卡或cup卡中。

使用者數字證書在計算機硬碟中存放時,使用方便,但存放證書的pc機必須受到安全保護,否則一旦被攻擊,證書就有可能被盜用。

使用軟盤儲存證書,被竊取的可能性有所降低,但軟盤容易損壞。一旦損壞,證書將無法使用。

ic卡中存放證書是一種較為廣泛的使用方式。因為ic卡的成本較低,本身不易被損壞。但使用ic卡加密時,使用者的金鑰會出卡,造成安全隱患。

使用cup卡存放證書時,使用者的證書等安全資訊被加密存放在cup卡中,無法被盜用。在進行加密的過程中,金鑰可以不出卡,安全級別最高,但相對來說,成本較高。

結束語目前在網上傳輸資訊時,普遍使用x.509v3格式的數字證書。在數字資訊傳輸前,首先傳輸雙方互相交換證書,驗證彼此的身份;然後,傳送方利用證書中的加密金鑰和簽名金鑰對要傳輸的數字資訊進行加密和簽名,這就保證了只有合法的使用者才能接收該資訊,同時保證了傳輸資訊的機密性、真實性、完整性和不可否認性 。從而保證網上資訊的安全傳輸。

數字證書原理

概念介紹 對稱加密演算法 加密和解密使用同乙個金鑰。非對稱加密演算法 加密和解密使用的金鑰不是同乙個。典型的如rsa 公鑰加密演算法 擁有一對金鑰,公鑰和私鑰,用私鑰進行解密和數字簽名,用公鈅來進行加密及驗證簽名。encryption 加密 decryption 解密 asymmetric 非對稱 ...

數字證書原理

證書,也叫做數字證書,是網路世界中的 身份證 證書將持有者的身份資訊和公鑰關聯到一起,保證公鑰確實是這個證書持有者的,通過證書就可以確認持有者的身份。證書由權威的 公正的 可信任的第三方機構頒發,我們把證書的頒發機構稱為ca certificate authority 相當於現實生活中的公安局。為什...

數字證書的原理

先說加密。明文p,加上密碼w一混淆之後,變成密文m 如果不知道w,則無法從m反推回p。也就是無法進行解密。類似這種加密方式,稱為對稱加密。也就是加密 解密使用的密碼是一樣的。實際上加解密並不是直接使用密碼,而是經由密碼生成的金鑰。這種演算法有很多,比如aes。另外還有一種神奇的加解密演算法,叫做非對...