Mifare Classic は最も使用されているカードであり、HCE (ホストベースのカード エミュレーション) が ISO 14443-4 のみをサポートし、Mifare Classic タイプをサポートしない理由がわかりません。
NXP が独自のプロトコルとアルゴリズムの使用を阻止するためですか? それとも、Android OS レベルで Mifare Classic を実装していないためですか?
どんなコメントでも大歓迎です。
Mifare Classic は最も使用されているカードであり、HCE (ホストベースのカード エミュレーション) が ISO 14443-4 のみをサポートし、Mifare Classic タイプをサポートしない理由がわかりません。
NXP が独自のプロトコルとアルゴリズムの使用を阻止するためですか? それとも、Android OS レベルで Mifare Classic を実装していないためですか?
どんなコメントでも大歓迎です。
簡単な回答: Google が ISO-DEP (ISO/IEC 14443-4) よりも ISO/IEC 7816-4 のみをサポートすることを決定したためです。
彼らがそのように決めた理由についての推測:
まず、ISO-DEP 上の ISO/IEC 7816-4 は、NCI (NFC コントローラー インターフェイス) を介してアプリケーション プロセッサに通信をルーティングするために使用できる最高のプロトコル レイヤーです。下位プロトコル層のルーティングは可能ですが (「NCI プロトコルはこれをサポートしています」と読みます)、NFC コントローラーが下位層通信のルーティングをサポートする必要さえありません。
ISO-DEP を介した ISO/IEC 7816-4 では、アプリケーションごとのルーティングが許可されます。つまり、リーダが特定のアプリケーションを選択すると、NFC コントローラは、通信がセキュア エレメントに渡されるか、アプリケーション プロセッサに渡されるかを決定します。アプリケーション プロセッサは、同様のルーティング メカニズムを実行して、通信を特定のアプリにルーティングできます (これは、現在 Android で行われていることです)。
下位プロトコル層 (ISO/IEC 14443-3 など) を使用すると、アプリケーションごとのルーティングを行う方法がありません。代わりに、そのレベルのすべての通信は、セキュア エレメントまたはアプリケーション プロセッサのいずれかにルーティングされます。アプリケーション プロセッサにルーティングされた場合、オペレーティング システムには複数のアプリから選択する手段がありません。代わりに、そのタイプの通信に登録できるアプリは 1 つだけでした。しかし、Android のようなプラットフォーム向けのアプリ開発者が多数いることを考えると、1 つのアプリだけを許可することはむしろ開発を阻害することになります。
MIFARE Classic は、NXP の独自技術です。MIFARE Classic プロトコル/タグ プラットフォームの純粋なソフトウェア実装 (アプリケーション プロセッサ/Android システム上) のライセンスを彼らが取得するとは思わない。
MIFARE Classic は認証コマンドに非標準のフレーミングを使用するため、NCI フレーム RF インターフェースを介してエミュレートするのは難しいかもしれません (ただし、MF Classic エミュレーションを妨げる実際の制限があるかどうかを確認するには、そのプロトコルに十分精通していません)。