3

スマート カードの PIN1 を確認し、リトライ カウンターを読み取りたい。ISO 7816-4 の 54 ページ (1) によると、検証コマンドの後、リトライ カウンターは SW2 の 2 LSB (SW1 は 63 である必要があります) に格納されますが、パスワードが正しい場合は SW1 SW2 = 90 00 になります。

>> Reset
<<  3b 19 94 80 67 94 08 01 03 02 01 03
>>  ff 00 ff
<<  ff 00 ff
>>  a0 a4 00 00 02
<<  a4
>>  3f 00
<<  9f 16
>>  a0 f2 00 00 16
<<  f2 00 00 63 f4 3f 00 01 00 00 00 00 00 09 33 03 0a 08 00 83 8a 83 8a 90 00
0: pin enabled...
>>  a0 20 00 01 08
<<  20
>>  31 31 31 31 ff ff ff ff
<<  90 00

PIN1 が正しくない場合は 98 04:

>>  a0 20 00 01 08
<<  20
>>  31 31 31 32 ff ff ff ff
<<  98 04

私が逃したものは何ですか?

(1) http://www.embedx.com/pdfs/ISO_STD_7816/info_isoiec7816-4%7Bed2.0%7Den.pdf

4

2 に答える 2

7

お使いのスマート カードは GSM SIM カードのようです。クラス バイトには明らかに MSB が設定されているため、ISO 7816 には準拠していません。この場合、3GPP TS 11.11 を参照する必要があります (このリンクからダウンロードできます)。

Verify CHV コマンドについては、セクション 9.2.9、セクション 8.9、およびセクション 11.3.1 で説明されています。

このコマンドで返される可能性のあるステータス ワードの一部を以下に示します。

  1. '9000': CHV 検証の成功
  2. '9804': CHV 検証に失敗しました。少なくとも 1 回の試行が残っています。
  3. '9840': CHVがブロックされました
  4. '9808': CHV ステータスと矛盾しています (つまり、現在無効になっている PIN を検証しています)
  5. '91XX': CHV 検証も成功しましたが、保留中のプロアクティブ コマンドがあります。

残りの試行回数は、ディレクトリの SELECT が成功した場合 (MF または DF)、または STATUS コマンド (INS 'F2') を送信することで確認できます。バイト 19 の下位ニブルには、CHV1/PIN1 の残りの試行、PUK1 のバイト 20、PIN2 のバイト 21、および PUK2 のバイト 22 が含まれます。詳細については、セクション 9.2.1 を参照してください。


その他の注意事項:

  1. カードが USIM の場合、VERIFY コマンドは ISO 7816 に従います。CLA を使用して、このカードでステータス ワード'00'を検索できます。63CX
  2. PIN1 の有効または無効は、SELECT ディレクトリのバイト 14 で確認できます。 b8=0: CHV1 有効; b8=1: CHV1 無効。
于 2015-07-02T04:55:02.913 に答える
2

ダンプ形式を完全には理解していませんが、次の点に注意してください。

  • 63 Cx は、VERIFY がデータなしで送信され、アクセス権がまだ付与されていない場合にのみ返されます

  • 各カードのオペレーティング システムは、この再試行カウンターの応答を自由に実装できます。

正しい検証 (つまり、検証データを使用した VERIFY) は、明らかに、検証が成功したことを示すために 90 00 を返さなければなりません。98 04 は GSM 固有の (「独自の」) リターン コードであり、ISO 7816 では説明されていません。

于 2015-06-30T14:49:40.950 に答える