在智能卡中,通常需要使用PKI体系来保证卡内信息的安全性,而在PKI体系中如何保障密钥在导入、导出的传输过程中的安全就是一个急需解决的问题。于是,数字信封就成为智能卡密钥传输中的重要应用。下面我们就来了解一下数字信封在智能卡密钥传输中的应用。

数字信封在智能卡密钥传输中的应用

对称密钥的导入

对称密钥的导入就是将外部产生的一个对称密钥导入到智能卡内。数字信封技术保证了密钥传输的安全性,可以按照以下步骤导入:

  1. 智能卡产生一对非对称RSA密钥对,存储于智能卡内存中。设置私钥不能被外部读取,也不能被外部使用,公钥能被外部读取;
  2. 外部读出公钥参数E和N,得到公钥;
  3. 用读出的公钥加密外部对称密钥,此时对称密钥需要进行填充,我们可以使用PKCS11规范中的2种填充方式进行填充。一种是:00 01 FF FF FF 00对称密钥;另外一种是:00 02 RR RR RR RR(RR表示非零随机数)00对称密钥。加密填充好的对称密钥得到密文数据;
  4. 将密文数据送入智能卡内;
  5. 完成密钥导入。

密文数据送入智能卡内,智能卡通过产生出来的RSA密钥对的私钥对密文数据进行解密,去掉填充就可以得到对称密钥的明文。此时,对称密钥的导入完成,智能卡产生出来的RSA密钥对作用消失。

数字信封

对称密钥的导出

对称密钥的导出则是将智能卡内的对称密钥导出。智能卡可以通过随机数发生器产生出一个单倍长或者双倍长的密钥。数字信封系统可以安全的将密钥从智能卡内导出,可以按照以下步骤导出:

  1. 外部产生一对非对称RSA密钥对,分别保存公钥和私钥;
  2. 将RSA公钥导入到智能卡中,最好存储于卡内存中;
  3. 智能卡内产生单倍长或者双倍长密钥,并按照PKCS11规范中的2种填充方式进行填充。一种是:00 01 FF FF FF 00对称密钥;另外一种是:00 02 RR RR RR RR(RR表示非零随机数)00对称密钥;
  4. 将填充好的对称密钥加密得到密文数据,并送出智能卡;
  5. 外部用刚才产生的私钥解密,得到密钥的明文。

数字信封

安全性分析

数字信封的使用很好的解决了智能卡对称密钥传输过程中的安全问题。

首先,对称密钥在传输过程中都是密文传输。对称密钥在导入或者导出智能卡前,对称密钥都需要用非对称密钥的公钥进行加密。公钥是公开的,但是私钥却不能公开。对称密钥导入时,私钥只有智能卡才能知道,外部不能得到私钥,也不能使用这个私钥,这样可以成功防止冒名者用窃取的密文数据调用智能卡解密功能进行解密,得到密钥明文。

其次,对称密钥导出时,RSA密钥对是由外部产生的,外部通过安全措施保存私钥,同时将公钥导入智能卡中,智能卡只是将对称密钥用导入的公钥进行加密,送出密文,这样就算得到了密文数据,没有私钥也不能得到密钥的明文。

数字信封

最后,数字信封体系传输密钥过程中使用的密钥对都是临时密钥对,也就是说此密钥对在这次密钥传输过程中使用后,功能将消失。私钥不能被读取。密钥导入过程中私钥只能被卡使用,外部不能使用这个私钥进行解密操作,这样可以防止窃取者将密文数据窃取后用解密功能完成解密操作。

免责声明:素材源于网络,如有侵权,请联系删稿。