【问题标题】:Best way to store data using APDU's?使用 APDU 存储数据的最佳方式?
【发布时间】:2013-11-08 13:38:18
【问题描述】:

我的 offcard 应用程序中有一堆记录,我想将它们全部保存在 javacard 中, 问题是:

  • 将数据传输到 Java Card 的最佳方式是什么?
  • 我应该逐条传输所有数据记录(每个记录都带有一个 APDU)还是只在一个 APDU 中发送所有记录?

我当然知道 APDU 的大小限制,并且我正在使用扩展 APDU 以便仅在一个超过 255 字节的扩展 APDU 中发送所有数据..

【问题讨论】:

    标签: javacard apdu multiple-records


    【解决方案1】:

    如果您在一个扩展长度的 APDU 或一个单一的 APDU 安全方面发送数据,这并不重要。然而,使用单独的 APDU 发送不相关的信息要好得多。这将使您的应用程序更加模块化。请注意,如果您使用单独的 APDU 发送相关信息,则可能需要在这些 APDU 之间保持状态以进行验证(例如,您可能必须不发送或发送全部,或者按特定顺序发送 APDU)。

    此外,ISO 7816-4 仅定义了 2 个字节的状态字以发送回发送者,例如8A80 表示命令数据中有任何错误。这意味着无法从状态字判断哪些记录包含故障信息。

    最后,肯定还有一些阅读器和软件在处理扩展长度的 APDU 时存在问题。因此,如果您的软件将被其他方使用,您可能希望坚持使用正常长度的 APDU。

    【讨论】:

    • 非常感谢,假设这是一个病人处方,处方的标题和正文,您现在有什么看法?
    • 我个人会使用单独的 APDU。我在我当前的产品中使用单独的 APDU,使用扩展长度以防万一。完整包装的密钥不适合 APDU。
    • 通过扩展 APDU 我的意思是链接,为什么包装的密钥不适合扩展 APDU
    • 如果您的意思是链接,我不会使用术语“扩展 APDU”,链接和使用扩展长度 APDU 之间存在一些差异,并且该术语肯定暗示了后者。如果包装的密钥是包含所有参数的非对称密钥,则它可能不适合 APDU;例如2048 位的 RSA 密钥永远无法容纳 255 个字节。
    猜你喜欢
    • 2013-09-10
    • 1970-01-01
    • 1970-01-01
    • 2018-12-01
    • 2014-07-28
    • 2012-05-10
    • 2011-11-26
    • 2018-12-11
    • 1970-01-01
    相关资源
    最近更新 更多