1. 程式人生 > >簽名證書、數字簽名和數字信封

簽名證書、數字簽名和數字信封

  • 簽名證書

作為檔案形式存在的證書一般有這幾種格式:
 
1.帶有私鑰的證書
   由Public Key Cryptography Standards #12,PKCS#12標準定義,包含了公鑰和私鑰的二進位制格式的證書形式,以pfx作為證書檔案字尾名。
 
2.二進位制編碼的證書
 
  證書中沒有私鑰,DER 編碼二進位制格式的證書檔案,以cer作為證書檔案字尾名。
 
  3.Base64編碼的證書
 
證書中沒有私鑰,BASE64 編碼格式的證書檔案,也是以cer作為證書檔案字尾名。由定義可以看出,只有pfx格式的數字證書是包含有私鑰的,cer格式的數字證書裡面只有公鑰沒有私鑰
 
  在pfx證書的匯入過程中有一項是“標誌此金鑰是可匯出的。這將您在稍候備份或傳輸金鑰”。一般是不選中的,如果選中,別人就有機會備份你的金鑰了。如果是不選中,其實金鑰也匯入了,只是不能再次被匯出。這就保證了金鑰的安全。
 
  如果匯入過程中沒有選中這一項,做證書備份時“匯出私鑰”這一項是灰色的,不能選。只能匯出cer格式的公鑰。如果匯入時選中該項,則在匯出時“匯出私鑰”這一項就是可選的。
 
  如果要匯出私鑰(pfx),是需要輸入密碼的,這個密碼就是對私鑰再次加密,這樣就保證了私鑰的安全,別人即使拿到了你的證書備份(pfx),不知道加密私鑰的密碼,也是無法匯入證書的。相反,如果只是匯入匯出cer格式的證書,是不會提示你輸入密碼的。因為公鑰一般來說是對外公開的,不用加密

  • 數字簽名和數字信封

隨著電子商務的不斷推廣與應用,電子商務安全作為電子商務的 瓶頸問題變得越來越突出。在電子商務活動中,如果資訊在傳輸過程

  中被截獲,可能造成使用者的定單被競爭對手獲悉,失去機密性;如果信 息在傳輸過程中被篡改,會破壞資料完整性,導致資料不可使用;如果

  資訊被假冒,會造成身份不真實;如果客戶否認曾經發送過某條資訊, 商家在事後否認曾經收到過某條訊息,當無法仲裁時,會出現交易雙方

  的否認和抵賴。數字簽名和數字信封技術能夠保證電子商務系統的機 密性、完整性、身份真實性和不可抵賴性。

 一、加密技術

  數字簽名和數字信封的理論基礎是加密技術。加密技術是一種主 動的資訊安全防範措施,其原理是利用一定的加密演算法,將明文轉換成為無意義的密文在網路上傳輸,非法使用者截獲和竊取資訊後,無法理解 原始明文,從而確保資料的機密性(如圖1)。 

金鑰是密碼演算法的控制引數,在加密金鑰作用下,加密演算法將明文 加密為密文;在解密金鑰作用下,解密演算法將密文解密為明文。現代密 碼演算法的安全性是基於金鑰的安全性,而不是演算法本身的細節。常用 的有兩類:對稱金鑰演算法和非對稱金鑰演算法。

  1.對稱金鑰演算法。對稱金鑰演算法,即資訊的傳送方和接收方使用 同一個金鑰去加密和解密資料。典型的對稱金鑰演算法是DES,綜合運  用了置換、代替、代數等多種密碼技術,設計精巧、實現容易,是近代密 碼的一個典範。其優點是加/解密速度快;缺點是金鑰管理困難,傳送密文前要使用安全通道交換對稱金鑰。 2.非對稱金鑰演算法。非對稱金鑰演算法,即資訊的傳送方和接收方使用不同的金鑰去加密和解密資料,這兩個金鑰是一對在數學上相關 的金鑰,每個通訊方都有一對金鑰,一個公開發布,稱為公鑰E,另一個由使用者自己祕密儲存,稱為私鑰D,如果用公鑰E加密,只能由與E配 對的私鑰D解密;如果用私鑰D加密,只能由公鑰E解密,通訊雙方不 需要預定共享的對稱金鑰。 典型的非對稱金鑰演算法是RSA,其原理是基於大整數分解的困難 性,用公鑰E推匯出私鑰D的難度相當於大整數分解的困難性,在計算 上是不可行的。RSA演算法是迄今為止理論上最為成熟完善的公開金鑰 密碼,是目前應用最廣泛的公鑰密碼演算法。優點是金鑰管理方便,通訊 過程中不需要交換對稱金鑰,安全性高;缺點是加/解密速度慢。

  二、數字簽名和數字信封的比較 1.數字信封。數字信封使用的是接收者的金鑰對,用接收者的公 鑰加密,只能由接收者的私鑰解密,其實現過程為:

  (1)資訊傳送者傳送資訊時,首先生成一個共享的對稱金鑰,用該 對稱金鑰加密要傳送的明文,形成DES密文;

  (2)資訊傳送者用接收者的公鑰加密此對稱金鑰,形成金鑰密文; (3)資訊傳送者將(1)和(2)的結果結合在一起,形成數字信封,一 並傳給資訊接收者。 資訊接收者接到密文後,使用自己的私鑰解密金鑰密文,得到共享 的對稱金鑰;再用此對稱金鑰解密DES密文,得到真正的原始明文。 數字信封結合了非對稱金鑰演算法安全性高和對稱金鑰演算法速度快 的優點,資料在網路上是以密文形式傳輸的,保證了資訊傳輸的機密 性,避免Internet上黑客竊取明文資料。

  2.數字簽名。數字簽名使用的是傳送者的金鑰對,用傳送者的私 鑰加密,只能由傳送者的公鑰解密,其實現過程為:

  (1)資訊傳送者使用單向Hash函式把明文生成一個定長的數字摘要。 單向Hash函式是單向不可逆的,採用相同的單向Hash函式,不同 的明文生成的數字摘要總是不同的,相同的明文其數字摘要必定一致, 數字摘要可用來驗證資料傳輸的完整性。

  (2)資訊傳送者使用自己的私鑰加密數字摘要,形成數字簽名。 (3)資訊傳送者把原始明文和數字簽名一起傳送給接收者。  接收者利用傳送者的公鑰對數字簽名解密,得到數字摘要;同時對 收到的明文用同樣的單向Hash函式產生一個數字摘要;將兩個數字摘 要進行對比,如兩者一致,說明傳送過程中資訊沒有被破壞或篡改過。 數字簽名不僅與簽名者的私鑰有關,而且與報文的內容有關,報文 不同,數字摘要一定不同,數字簽名也不同,因此不能將簽名者對一份 報文的簽名複製到另一份報文上,能夠防止報文的篡改,保證資訊傳輸 的完整性。

  3.數字簽名和數字信封的比較。數字簽名和數字信封都使用非對 稱金鑰演算法,但實現過程相反,使用的金鑰對不同。

 (1)數字簽名使用的是傳送方的金鑰對,傳送方用自己的私鑰進行 加密,接收方用傳送方的公鑰進行解密,這是一個一對多的關係,任何擁有傳送方公鑰的人都可以驗證數字簽名的正確性。

(2)數字信封使用的是接收方的金鑰對,這是多對一的關係,任何知道接收方公鑰的人都可以向接收方傳送加密資訊,只有惟一擁有接 收方私鑰者才能對資訊解密。

 (3)數字簽名只採用了非對稱金鑰加密演算法和數字摘要技術,能夠 保證傳送資訊的完整性;數字信封採用了對稱金鑰加密演算法和非對稱  金鑰加密演算法相結合的方法,能保證資訊傳輸的機密性。

 三、數字簽名和數字信封的應用 在電子商務活動中,結合數字簽名和數字信封技術,能夠保證電子商務系統的機密性、完整性、身份真實性和不可否認性。

 1.傳送過程。傳送者先給明文加上合法的數字時間戳,再做數字 簽名和數字信封(如圖2)。

  (1)傳送者取得數字時間戳服務系統提供的當前有效時間戳; (2)將明文和有效的時間戳合併後,生成帶數字時間戳的明文;

  (3)利用單向Hash函式,將帶時間戳的明文進行數字摘要生成,用 傳送者的私鑰加密數字摘要,形成數字簽名;

  (4)傳送者隨機生成一個共享的對稱金鑰,用該對稱金鑰加密帶時 間戳的明文,生成DES密文,再用接收者的公鑰加密該對稱金鑰,一起形 成數字信封;

 (5)將數字簽名和數字信封合併後一起傳送給接收者。

 2.接收過程。接收者收到後,先處理數字信封,再處理數字簽名。

  (1)接收者用自己的私鑰解密數字信封,得到本次會話共享的對稱 金鑰;再利用該對稱金鑰解密DES密文,得到帶時間戳的明文;利用相同的單向Hash函式對帶時間戳的明文進行運算,得到一個新的數字摘要。

 (2)接收者用傳送者的公鑰解密數字簽名,得到帶時間戳的明文的 數字摘要;

  (3)將(1)與(2)中的數字摘要進行比對,如果相同,確定資料在傳輸 過程中沒有被修改過;利用數字時間戳服務系統,對明文的時間戳進行 有效性校驗,確定得到有效的明文資訊。 3.安全分析。數字簽名利用傳送者的金鑰對和數字摘要,保證了資訊的完整性和傳送者的身份真實性,數字信封利用接收者的金鑰對和 共享金鑰,保證了資訊的機密性和接收者的身份真實性,兩者結合使用,  同時驗證了雙方身份。我國於2005年4月1日起正式實施了!中華人 民共和國電子簽名法?,在法律支援下,數字簽名可通過認證中心核實,  不可重用、不能偽造、不可否認、不能抵賴,與書面檔案簽名具有同等的 法律效力。如今,數字簽名和數字信封的應用已經滲透到電子商務的各  個領域,在電子商務安全中發揮著重要的作用。