SIMカード初心者です...
JavaCard アプレットを開発し、UICC で実行しようとしています。私のアプレットは、楕円曲線暗号、CMAC などの重要な計算を行います。そのため、そのパフォーマンスが重要な問題になります。
少し実験したところ、USIM を選択して端末プロファイル (すべてのバイトが 0xFF) を送信した後、私のアプレットは通常のスマートカード リーダーではるかに高速に実行されることがわかりました。私は実際になぜこれが起こるのか分からないことを認めます...
次に、スマートフォン内でアプレットを実行しようとしました。seek-for-android API を介してアプレットにアクセスします。USIMの選択と端末プロファイルの送信は、SIMカードを挿入した後、OS(Android)によって自動的に行われると思いました。USIM を選択して端末プロファイルを送信するという「魔法の手順」が実行されていないようで、パフォーマンスはかなり悪いです。USIM 選択は 0x9000 で応答しました。その後、SEND TERMINAL PROFILE コマンドに対して 0x6E00 の応答を受け取りますが、この APDU は通常のスマートカード リーダーでは正しく機能します。
何が起こっているのか説明していただけますか?どこで情報を探せばよいですか?
この手順 (USIM と端末プロファイル) によってパフォーマンスが向上するのはなぜですか?
これはスマートフォンの OS によって自動的に行われますか?
そうでない場合、アプレットのパフォーマンスを向上させるためにプログラムで何らかの方法でそれを行うことはできますか?
seek-for-android を介して SEND TERMINAL PROFILE コマンドに対して 6E00 応答を受け取るのはなぜですか?
どうもありがとう!