ISO 7816 如何多次使用Calculate Signature Command APDU

ISO 7816 How to Use Calculate Signature Command APDU Multiple Times

我按照以下步骤使用符合 ISO7816 标准的智能卡对单个数据进行签名。

  1. Select 中频
  2. Select东风
  3. 验证引脚
  4. 管理安全环境
  5. 计算数字签名

如果我想签署多个数据,那么我会按照以下步骤操作:

  1. Select 中频
  2. Select东风
  3. 验证引脚
  4. 管理安全环境
  5. 计算数字签名1
  6. 验证引脚
  7. 管理安全环境
  8. 计算数字签名2
  9. 验证引脚
  10. 管理安全环境
  11. 计算数字签名3

我每次都必须执行 VerifyPin 和管理安全环境步骤吗?

如果我尝试这些步骤:

  1. Select 中频
  2. Select东风
  3. 验证引脚
  4. 管理安全环境
  5. 计算数字签名1
  6. 计算数字签名2

我在第 6 步中收到 69 82(不满足安全条件。)。

您描述的是通常称为批量签名的概念。某些卡支持它,但这很可能需要在发行前修改用于设置卡的个性化序列或不同的订购选项。更安全的标准行为(如您在示例中观察到的那样)是,所获得的访问权限已被签名过程耗尽。

存在严重的法律障碍,因为数字签名被视为故意行为,因此通过输入 PIN 表明您知道自己签署的内容并打算这样做.在要求 批量签名 的情况下,通常必须为环境补充相当多的组织安全规定,因此打算签署电子处方的医生必须使卡片看起来合理reader 受到 his/her 持续监督。

有更多受限形式的批量签名,其中不必每次都输入 PIN,但例如每隔10次,无限签名能力太危险了

澄清一下:如果卡被硬连线用于每个 PIN 输入的单一签名,则应用程序无法执行任何操作来实现批量签名。

总结:虽然 PIN 条目证明了合法持卡人的存在,但这对于数字签名的故意行为方面是不够的。