了解GlobalPlatform时如何避免卡被终止?
GlobalPlatform 智能卡标准定义了不可逆的状态更改,例如在多次失败的身份验证或初始卡初始化后卡终止。如何在不消耗数百张智能卡(价格昂贵)的情况下了解 GlobalPlatform?
The GlobalPlatform smart-card standard defines irreversible state changes, such as card termination after too many failed authentications or initial card initialization. How does one learn about GlobalPlatform without burning through hundreds of smart-cards (which is expensive)?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
使用模拟器。 JCOP 工具集包括一个在 Eclipse 中运行的模拟器,并实现 GlobalPlatform 命令。
当我自己实现安全通道协议时,我使用默认的 JCOP 密钥将我的代码生成的消息与模拟器生成的消息进行比较,直到我确定我做对了。它只是 DES/3DES,但安排要加密/验证的块很棘手。
当我对卡进行测试时,我准备了一些卡,如果身份验证失败,我会轮换卡,以确保当我解决问题时,我可以成功地对之前身份验证失败的卡进行身份验证。
我实施了 GP 安全通道协议 01 和 02,并销毁了不超过两张卡。
Use a simulator. The JCOP toolset includes a simulator that runs within Eclipse, and implements GlobalPlatform commands.
When I've implemented e.g. the Secure Channel protocols myself, I compared the messages that my code generated with the messages generated by the simulator, using the default JCOP keys, until I was certain I had it right. It's just DES/3DES, but arranging the blocks to be encrypted/verified is tricky.
When I test against cards, I have a handful ready, and if authentication fails, I rotate cards, making sure that when I solve the problem I successfully authenticate against the cards with prior authentication failures.
I implemented GP Secure Channel protocols 01 and 02, and destroyed no more than two cards.
除了 pb2q 的答案之外,某些卡可能在卡管理器旁边有额外的访问点,您可以使用它们来重置卡。显然,您需要有关如何针对特定实现执行此操作的信息,并且很可能需要一个密钥。
In addition the answer of pb2q, some cards may have additional access points next to the card manager which you may use to reset the card. Obviously, you need info on how to do it for a particular implementation, and quite possibly a key.