數(shù)字信封在智能卡密鑰傳輸中的應(yīng)用

在智能卡中,通常需要使用PKI體系來保證卡內(nèi)信息的安全性,而在PKI體系中如何保障密鑰在導(dǎo)入、導(dǎo)出的傳輸過程中的安全就是一個急需解決的問題。于是,數(shù)字信封就成為智能卡密鑰傳輸中的重要應(yīng)用。下面我們就來了解一下數(shù)字信封在智能卡密鑰傳輸中的應(yīng)用。

數(shù)字信封在智能卡密鑰傳輸中的應(yīng)用

對稱密鑰的導(dǎo)入

對稱密鑰的導(dǎo)入就是將外部產(chǎn)生的一個對稱密鑰導(dǎo)入到智能卡內(nèi)。數(shù)字信封技術(shù)保證了密鑰傳輸?shù)陌踩?,可以按照以下步驟導(dǎo)入:

  1. 智能卡產(chǎn)生一對非對稱RSA密鑰對,存儲于智能卡內(nèi)存中。設(shè)置私鑰不能被外部讀取,也不能被外部使用,公鑰能被外部讀取;
  2. 外部讀出公鑰參數(shù)E和N,得到公鑰;
  3. 用讀出的公鑰加密外部對稱密鑰,此時對稱密鑰需要進(jìn)行填充,我們可以使用PKCS11規(guī)范中的2種填充方式進(jìn)行填充。一種是:00 01 FF FF FF 00對稱密鑰;另外一種是:00 02 RR RR RR RR(RR表示非零隨機(jī)數(shù))00對稱密鑰。加密填充好的對稱密鑰得到密文數(shù)據(jù);
  4. 將密文數(shù)據(jù)送入智能卡內(nèi);
  5. 完成密鑰導(dǎo)入。

密文數(shù)據(jù)送入智能卡內(nèi),智能卡通過產(chǎn)生出來的RSA密鑰對的私鑰對密文數(shù)據(jù)進(jìn)行解密,去掉填充就可以得到對稱密鑰的明文。此時,對稱密鑰的導(dǎo)入完成,智能卡產(chǎn)生出來的RSA密鑰對作用消失。

數(shù)字信封

對稱密鑰的導(dǎo)出

對稱密鑰的導(dǎo)出則是將智能卡內(nèi)的對稱密鑰導(dǎo)出。智能卡可以通過隨機(jī)數(shù)發(fā)生器產(chǎn)生出一個單倍長或者雙倍長的密鑰。數(shù)字信封系統(tǒng)可以安全的將密鑰從智能卡內(nèi)導(dǎo)出,可以按照以下步驟導(dǎo)出:

  1. 外部產(chǎn)生一對非對稱RSA密鑰對,分別保存公鑰和私鑰;
  2. 將RSA公鑰導(dǎo)入到智能卡中,最好存儲于卡內(nèi)存中;
  3. 智能卡內(nèi)產(chǎn)生單倍長或者雙倍長密鑰,并按照PKCS11規(guī)范中的2種填充方式進(jìn)行填充。一種是:00 01 FF FF FF 00對稱密鑰;另外一種是:00 02 RR RR RR RR(RR表示非零隨機(jī)數(shù))00對稱密鑰;
  4. 將填充好的對稱密鑰加密得到密文數(shù)據(jù),并送出智能卡;
  5. 外部用剛才產(chǎn)生的私鑰解密,得到密鑰的明文。

數(shù)字信封

安全性分析

數(shù)字信封的使用很好的解決了智能卡對稱密鑰傳輸過程中的安全問題。

首先,對稱密鑰在傳輸過程中都是密文傳輸。對稱密鑰在導(dǎo)入或者導(dǎo)出智能卡前,對稱密鑰都需要用非對稱密鑰的公鑰進(jìn)行加密。公鑰是公開的,但是私鑰卻不能公開。對稱密鑰導(dǎo)入時,私鑰只有智能卡才能知道,外部不能得到私鑰,也不能使用這個私鑰,這樣可以成功防止冒名者用竊取的密文數(shù)據(jù)調(diào)用智能卡解密功能進(jìn)行解密,得到密鑰明文。

其次,對稱密鑰導(dǎo)出時,RSA密鑰對是由外部產(chǎn)生的,外部通過安全措施保存私鑰,同時將公鑰導(dǎo)入智能卡中,智能卡只是將對稱密鑰用導(dǎo)入的公鑰進(jìn)行加密,送出密文,這樣就算得到了密文數(shù)據(jù),沒有私鑰也不能得到密鑰的明文。

數(shù)字信封

最后,數(shù)字信封體系傳輸密鑰過程中使用的密鑰對都是臨時密鑰對,也就是說此密鑰對在這次密鑰傳輸過程中使用后,功能將消失。私鑰不能被讀取。密鑰導(dǎo)入過程中私鑰只能被卡使用,外部不能使用這個私鑰進(jìn)行解密操作,這樣可以防止竊取者將密文數(shù)據(jù)竊取后用解密功能完成解密操作。

免責(zé)聲明:素材源于網(wǎng)絡(luò),如有侵權(quán),請聯(lián)系刪稿。