gpt4 book ai didi

javacard - JavaCard 侧 channel 上的 Util.* 函数是否具有抗性?

转载 作者:行者123 更新时间:2023-12-01 01:51:37 26 4
gpt4 key购买 nike

我想知道 JavaCard 中的 Util.* 函数是否通常是抗侧 channel 的。
是否存在一些具有侧 channel 抗性 Util.* 功能的 JavaCard?
我查看了几个公共(public) JavaCard 安全目标。但两者都没有列出 Util.* 函数的安全声明。

在没有 native 代码帮助的情况下,在 Java 本身中实现侧 channel 阻力似乎很难,如果不是不可能的话。因此,JavaCard 应该具有抗侧 channel 的 Util.* 函数,对吗?

最佳答案

不,我不认为我见过这样的事情。但似乎很少需要:

  • arrayCopy(byte[] src, short srcOff, byte[] dest, short destOff, short length)
  • arrayCopyNonAtomic(byte[] src, short srcOff, byte[] dest, short destOff, short length)
  • arrayFill(byte[] bArray, short bOff, short bLen, byte bValue)
  • arrayFillNonAtomic(byte[] bArray, short bOff, short bLen, byte bValue)

  • 复制和填充操作通常不会对数组内的位做任何事情。他们复制或替换字节,但不管字节的内容如何,​​他们都会这样做。只有在 EEPROM 或闪存级别可能会发生泄漏 - 这不太可能在 Java Card 级别上解决。

    警告 : 仍应避免数据的虚假复制,尤其是写入持久内存可能会泄漏信息。

  • getShort(byte[] bArray, short bOff)
  • makeShort(byte b1, byte b2)
  • setShort(byte[] bArray, short bOff, short sValue)

  • 现在这些函数也基本上不考虑字节的内容。他们只是将内存的值复制或移动到正确的位置,同样与内容无关。

    对于复制和短处理函数,理论上你可以创建一个对侧 channel 攻击不安全的函数,但总的来说你应该是安全的:使它们不安全实际上比使它们安全更难。

  • arrayCompare(byte[] src, short srcOff, byte[] dest, short destOff, short length)

  • 现在,这需要特定的编程来避免侧信道攻击。

    目前似乎没有 arrayCompare 的侧 channel 安全版本.这有点烦人,因为在 3.0.5 中它可以提供使用 SensitiveResult 保护数组比较结果的功能。 .

    这应该在规范中进行修改,但现在你可能会被困在自己编程上。

    当然,特定的供应商可能会获得这个电话;这是有道理的。但是,依赖特定的供应商功能会使您的小程序在实现之间的可移植性降低。

    检查您的平台文档,数据访问是否以及如何容易受到攻击和特定平台的缓解。

    关于javacard - JavaCard 侧 channel 上的 Util.* 函数是否具有抗性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44126307/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com