diverta / onecard-fido

MIT License
0 stars 0 forks source link

[障害] OATHアカウント一覧取得処理時、無効なデータが混入 #746

Closed makmorit closed 1 year ago

makmorit commented 1 year ago

概要

Windows版管理ツールOATH機能から、OATHアカウント一覧を取得したところ、一番最後に無効なデータが混入する不具合が確認されております。

不具合確認時のレスポンス例

2023/03/06 10:51:28 [info] OATHアカウント一覧の取得を開始します。
2023/03/06 10:51:28 [debug] CCIDデバイス[Diverta Inc. Secure Dongle 0]を検出しました。
2023/03/06 10:51:28 [debug] CCIDデバイス[Diverta Inc. Secure Dongle 0]に接続しました。
2023/03/06 10:51:28 [debug] DoResponseAccountList: SW=0x9000, 57 bytes
71 0f 47 69 74 48 75 62 3a 6d 61 6b 6d 6f 72 69 
74 75 02 21 06 71 18 45 78 61 6d 70 6c 65 3a 61 
6c 69 63 65 40 67 6f 6f 67 6c 65 2e 63 6f 6d 75 
02 21 06 71 00 75 02 00 00 
2023/03/06 10:51:28 [debug] CCIDデバイス[Diverta Inc. Secure Dongle 0]から切断しました。
2023/03/06 10:51:28 [info] OATHアカウント一覧の取得が成功しました。

レスポンスデータ末尾の71 00 75 02 00 00という部分が、無効なデータになります。 (71に続いて、本来アカウント名が設定されるはずですが、設定されていません)

makmorit commented 1 year ago

調査結果

レスポンスデータ末尾の71 00 75 02 00 00という部分が、無効なデータになります。 (71に続いて、本来アカウント名が設定されるはずですが、設定されていません)

本日現在のファームウェアでは、アカウント登録時にアカウント名未設定の場合、認証器に登録できないようになっています。

ご参考までに下記は、アカウント名未設定のデータを認証器に登録しようとした時の単体テストログです。 (エラーコード0x6a80[SW_WRONG_DATA]を戻し、登録処理が失敗しています)

bash-3.2$ python TestOATH_PUTDUMMY.py
card name  ['Diverta Inc. Secure Dongle']
Request  00 A4 04 00 07 A0 00 00 05 27 21 01
Response 
SW       90 00
Request  00 01 00 00 02 71 00
Response 
SW       6A 80
bash-3.2$ 

従いまして、本日現在の管理ツール/認証器の組み合わせでは、本事象が再現不能と判断しております。