首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >JavaCard侧通道上的Util.*函数是否具有抵抗力?

JavaCard侧通道上的Util.*函数是否具有抵抗力?
EN

Stack Overflow用户
提问于 2017-05-23 13:15:44
回答 1查看 193关注 0票数 4

我想知道JavaCard中的Util.*函数是否通常是旁路抵抗的。

是否存在一些具有抗旁路功能的JavaCards?

我查看了几个公开的JavaCard安全目标。但这两个函数都没有列出Util.*函数的安全声明。

在没有本机代码的帮助下,在Java中实现旁路抵抗似乎很难,如果不是不可能的话。因此,JavaCard应该具有抗侧信道Util.*功能,对吗?

EN

回答 1

Stack Overflow用户

发布于 2017-05-23 17:57:48

不,我想我没见过这样的事情。但似乎没有什么需要:

  • 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级别上解决。

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

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

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

对于复制和短处理函数,理论上您可以创建一个不安全的函数来抵御旁路攻击,但通常您应该是安全的:使它们不安全实际上比使它们安全更难。

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

现在,这将需要特定的编程来避免旁路攻击。

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

这是应该在规范中修改的东西,但现在您可能会坚持自己编写它。

当然,特定的供应商可能会确保此呼叫的安全;这将是有意义的。但是,依赖于特定的供应商功能会使您的applet在不同实现之间的可移植性较差。

如果数据访问易受攻击以及特定于平台的缓解措施的影响,请查看您的平台文档。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44126307

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档