2017-09-17 144 views
2

智能卡ISO7816-3标准指出某些卡没有义务支持字符重复(由于奇偶校验错误)。现在我们假设接口设备(ID)在ATR(复位应答)期间从未知卡接收奇偶校验错误数据。它(ID)向卡发出错误信号,但不知道卡是否支持重复,它如何确定卡上的下一个字符是重复的(有奇偶错误)还是下一个(如果卡没有支持重复)。智能卡答复重置

回答

1

据我理解标准,错误检测工作在以下方式:

  • T=0错误信号和字符重复使用

  • 为他人总是有用于错误检测的帧校验和(TCK应答复位中的字节,LRC/CRC,T=1帧)


引述的ISO/IEC 7816-3:2006,部分 “复位应答”,分段 “字符和编码约定”:

误差信号,并根据7.3字符重复是强制性的提供T = 0的卡;对于接口设备和其他卡是可选的 。

根据第援引第“检查字节TCK”,“回答一复位”:

如果只有T = 0被指示时,可能通过默认,然后TCK应空缺。如果存在T = 0和T = 15,并且在其他情况下全部为 ,则TCK应存在。当存在TCK时,排除所有字节T0至TCK(包括 )应给出'00'。任何其他值都是无效的。


上面意味着ATR的正确传输是通过误差信号/字符重复对纯T=0卡检查。并通过TCK字节为休息。

在你的场景中,接口设备在奇偶校验错误后确实无法区分重复字符和未重复字符,但是如果卡不支持错误信号/字符重复,则生成的TCK字节(在此情况下为强制)应该很有可能出错。

免责声明:这是我的标准的解释,请大家验证我的想法...

祝你好运!

+0

对我来说确实很有意义,虽然我问自己为什么在某些情况下(奇偶校验检测)我有机会获得重复的字符,而在其他情况下(无TCK),我可以知道某些事情并不正确。但是,假设这背后应该有一些历史原因。虽然我接受了这个答案,但我几乎无法验证它 - 请参阅[链接] https://electronics.stackexchange.com/questions/329913/smart-card-parity-error-notification .. – Djole

+0

@Djole我希望我有一个验证回答你(也许别人给了一个更好的)。 [这里](https://github.com/vlp/ssim/blob/master/src/common/me_io。公司)是一个非常简单的(忙等待)卡侧执行PIC与错误检测。祝你好运! – vlp

+0

我将阅读您指出的代码,但PIC对于我们正在讨论的问题具有很好的功能 - 它会在停止位的一半(来自应用说明[链接] http:// ww1的声明中宣布错误。 microchip.com/downloads/en/AppNotes/01370A.pdf)。目前我决定忽略平价,因为还有很多问题,除了这个平价问题之外,我必须说清楚。 – Djole