首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >EEPROM损伤症状

EEPROM损伤症状
EN

Stack Overflow用户
提问于 2015-06-04 06:28:04
回答 2查看 1.2K关注 0票数 3

假设Java Card applet中有一个bug :一个临时字节数组存储在EEPROM中,而不是RAM中。此外,假设这个字节数组被每个APDU覆盖。

这个错误迟早会损坏卡片。

我们能预料到什么症状?数组中没有任何显式警告或错误的不正确值?访问此数组时引发的一些异常?小程序是不可选的?整张卡片完全没有反应?

是否应该“一劳永逸”地损坏这张卡,还是会越来越频繁地发生这些故障?

在我的实验(J2E145)中,在5000例APDU后出现了首次失败,症状是卡根本没有发送R,只是死亡。但是,下一个APDU再次正常,然后10000中大约有一个APDU失败(随着频率的增加),最后在510万个APDU之后,卡永远停止通信。

是否有标准规定在EEPROM损坏时应发生什么情况?(我在找,但没有找到。)

我知道这个问题很广泛,它可能取决于特定的芯片(我对NXP芯片特别感兴趣),但我认为您的评论、答案和经验可以帮助许多Java Card开发人员,他们在部署后发现了代码中的错误。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-06-05 08:17:54

我想找到一些非NDA信息的最佳方法是特定平台的公共标准安全目标。

来自NXP的硬件平台示例:NXP安全智能卡控制器P5Cx128V0A/P5Cx145V0A,MSO (BSI-DSZ-CC-0645)

  • 从TOE概览来看: 非易失性EEPROM .包含高可靠性单元,保证数据完整性。..。安全功能保护所有内存的内容。
  • 来自安全特性SF.OPC: 一个例外是由.单故障注入检测电路。如果启用了次要配置选项“反向EEPROM错误更正”.当检测错误时,检测故障注入错误的概率增加,纠错逻辑产生异常。
  • 来自安全特性SF.PHY: EEPROM能够纠正每个字节内的1位错误...。EEPROM在没有用户交互的情况下自动纠正错误.

因此,该硬件平台能够检测EEPROM信元故障,甚至可以自动纠正每个字节内的1位错误。对于所有其他检测到的错误,它将引发一个可由软件处理的异常。

这适用于硬件平台(没有OS / JCRE)。因此,让我们看看JCOP的安全目标告诉我们什么。我选择了NXP J3A128和J3A095安全智能卡控制器修订版3 (BSI-DSZ-CC-0731)

  • 来自安全特性SF.Audit: 根据可能违反TSP的迹象,脚趾可能作出以下反应:
代码语言:javascript
复制
- Throw an exception
- Terminate the card (Life cycle state: TERMINATED)
- Reinitialize the Java Card System (warm reset)
- [...] The EEPROM is able to correct a 1-bit error within each byte. [...] The EEPROM corrects errors automatically without user interaction [...]
- Lock the card session (simply stops processing; escape with reset the session/Card tearing)

基于这些类型的响应/反应,上面列出的事件将具有以下映射:

代码语言:javascript
复制
- EEPROM failure audited through exceptions in the read/write operations and consistency/integrity check: **Lock card session**
- self test mechanism on start-up: **Lock card session**
- Corruption of check-summed objects: **Lock card session**
  • 来自安全特性SF.SecureManagement: TSF在初始启动期间(每次启动时)运行一组自我测试,以演示TSF的正确操作,验证TSF数据的完整性,并验证存储的TSF可执行代码的完整性。此包括检查EEPROM完整性。如果检测到错误,则TOE进入安全状态(锁卡会话)。 TSF监视用户数据D.APP_CODE、D.APP_I_DATA,D.PIN、D.APP_KEYs 是否存在完整性错误。如果发生错误,TSF 将保持安全状态(锁卡会话)

因此,该软件平台能够(再次)检测EEPROM信元故障,甚至可以自动纠正每个字节内的1位错误。对于所有其他检测到的EEPROM错误,它将“锁定卡会话”,这意味着它只是停止处理和执行重置。这似乎符合你的观察“症状是卡根本没有发送R,只是死了”。

票数 3
EN

Stack Overflow用户

发布于 2015-06-04 20:39:31

这里是来自本机操作系统的图片:当向非易失性内存写入新值时,硬件例程会自行检查该值是否可以正确写入,否则返回错误状态。这被转换为65 81的SW1/SW2。受影响的文件或对象被标记为已损坏,以后访问它的尝试将被彻底拒绝。如果它对应用程序是必要的,这将不再能够工作。

如果我没记错的话,我们的硬件(非NXP)甚至会发出预先警告,表明虽然这一次可以正确地写入值,但内存单元即将达到其极限。

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

https://stackoverflow.com/questions/30636485

复制
相关文章

相似问题

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