2017-09-17 50 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