智能卡的数字签名卡

时间:2008-11-24

  需要有一个安全的硬件环境来存储并使用私有签名密钥。智能卡为这一需求的理想方案,因为它们的实体小,不昂贵并提供了很高的水平的保护以防止从外部读出或修改所存储的数据,可以毫无保留地断言,只有智能卡的出现,才使数字签名成为可能。

  用于这一目的的加密算法由具有补充数字处理单元NPU(Supplementaty Numeric ProcessingUnit)的微控制器调用,以便在可以接受的时间长度内产生与检验签名。从理论上说,一签署的文档也可以在签名卡之外检验,因为所有必需的信息都已经在那儿可用了。在实践中这一点是否会变得很重要还有待观察。就安全性而言,无论如何,在卡内执行还是要好些。

  数字签名卡的公开和私有密钥可以用集中的或非集中的方式产生,参看图1。在任何情况下,密钥都必须在加密的安全环境中产生,例如在安全模块或智能卡中。之后,同样重要的是公开密钥要由信用中用其秘密密钥签署。这是必需的,以保证信用中心对签名卡的秘密和公开密钥的真实性的验证,没有这种验证,第3方就无法核实电子文档的数字签名真正出自数字签名系统的真实用户。

  图1   签名卡密钥产生的可能的选项

  如果密钥是集中产生的,所有密钥对在一处产生并在它们产生之后立即用信用中心的秘密密钥签署。密钥的产生和信用中心的签署均可在卡内(on card)产生或在卡外(off card)产生,参看图2。非集中密钥的产生只能在卡内实行,因为在此情况下只有卡才是加密的安全环境,这两种方法的优缺点已罗列在表1。实践中,密钥的集中产生可能会成为主流,因为它非常安全并满是智能卡通常的制造过程。

  图2  密钥产生的三种基本方法和密钥
  在签名卡和信用中心之间的分发

  在德国,关于签名卡接口的重要的文档是前面提到的DIN规范。它广泛地描述了数字

  签名卡必需的命令,文件和处理。

  表1  产生密钥的三种方法之比较:中间一行所列为现实的大型应用通常所选取的

  签名文件位于直接在ME之下的DE中,DIN规范为此应用提供了9个BF,它们包含了应用必需的所有数据。所有数据元均采用TLV编码。Ⅲ和它们的内容已概述于表2中。

  表2  按照德国签名法的签名卡简化文件树,仅示出重要的文件

  下列命令是用于签名卡的:

  ·APPEND RECORD;                                        ·READ BINARY;

  ·EXTERNAL AUTHENTICATE;                          ·READ RECORD;

  ·GET CHALLENGE;                                           ·SELECT FILE;

  ·INTERNAL AUTHENTICATE;                           ·UPDATE BINARY;

  ·MANAGE SECURITY ENVIRONMENT;              ·MANAGE CHANNEL(可选的):

  ·PERFORM SECURITY OPERATION;                 ·GET RESPONSE(T=0时是可选的)。

  被批准用于德国签名卡的散列函数和签名算法有:SHA-1,RIPEMD-160,RSA,DSA和ECC。因为,在智能卡内计算一大型电子文档的散列值会占用太长的时间,散列值可在一PC内算出后再传送给卡以便签署。另外,可以在PC中将散列值计算到某一字组,接着此字组可从文档的相应部分起在智能卡中去继续完成全部计算而后再签署。也有可能在智能卡中完成散列值的计算,但由于众所周知的卡的性能限制,这经常是不实际的。

  欢迎转载,信息来源维库电子市场网(www.dzsc.com


  
上一篇:智能卡的信用中心(TO)
下一篇:智能卡的概要和期望

免责声明: 凡注明来源本网的所有作品,均为本网合法拥有版权或有权使用的作品,欢迎转载,注明出处。非本网作品均来自互联网,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。

相关技术资料