【发布时间】:2017-09-17 17:20:09
【问题描述】:
智能卡的 ISO7816-3 标准规定,某些卡没有义务支持字符重复(由于奇偶校验错误)。现在假设接口设备 (ID) 在 ATR(复位应答)期间从未知卡接收奇偶校验错误数据。它(ID)向卡发出错误信号,但不知道卡是否支持重复,它如何确定卡中的下一个字符是重复一个(有奇偶校验错误)还是下一个(如果卡不重复)支持重复)。
【问题讨论】:
标签: smartcard smartcard-reader
智能卡的 ISO7816-3 标准规定,某些卡没有义务支持字符重复(由于奇偶校验错误)。现在假设接口设备 (ID) 在 ATR(复位应答)期间从未知卡接收奇偶校验错误数据。它(ID)向卡发出错误信号,但不知道卡是否支持重复,它如何确定卡中的下一个字符是重复一个(有奇偶校验错误)还是下一个(如果卡不重复)支持重复)。
【问题讨论】:
标签: smartcard smartcard-reader
据我了解的标准,错误检测的工作方式如下:
对于T=0,使用了错误信号和字符重复
对于其他人来说,总是有一个用于错误检测的帧校验和(TCK 复位应答中的字节,LRC/CRC 中的T=1 帧)
引用 ISO/IEC 7816-3:2006,“重置答案”部分,“字符和编码约定”小节:
对于提供 T=0 的卡片,错误信号和字符重复根据 7.3 是强制性的;这是可选的 用于接口设备和其他卡。
引用“Answer-to-Reset”部分下的“Check byte TCK”小节:
如果仅指示 T=0,可能默认情况下,则 TCK 将不存在。如果存在 T=0 和 T=15 并且在所有 其他情况,TCK 应存在。当 TCK 存在时,异或所有字节 T0 到 TCK 包括在内 应给出“00”。任何其他值均无效。
上面的意思是通过纯T=0卡的错误信号/字符重复来检查ATR的正确传输。其余部分由 TCK 字节提供。
在您的场景中,接口设备在奇偶校验错误后确实无法区分重复字符和未重复字符,但如果卡不支持错误信号/字符重复,则生成 TCK 字节(在这种情况下这是强制性的) 应该很有可能是错误的。
免责声明:这是我对标准的解释,请验证我的想法...
祝你好运!
【讨论】: