私の質問がばかげているように聞こえる場合は、前もってお詫び申し上げます。
Android Kit-Kat で導入された比較的新しいホスト カード エミュレーションの可能性に興味があります。
以前の Secure-Element ベースの NFC アプリケーションでは、NFC コントローラーまたは「接触」インターフェイス (チップと電話の間のソケット) を介して、SE でホストされているアプレットと APDU を交換することができました。
後者は、SE と Android ユーザーランド (リモート サーバーのプロキシとして機能できる) で実行されているアプリケーションとの間の通信を可能にします。アプリケーションがアプレットと通信するための承認は、事前に SE に「注入」する必要のあるアプリケーションのある種のハッシュに基づいて付与されました — 私の知る限り、このセキュリティ メカニズムはグローバル プラットフォーム仕様の一部です。
Googleドキュメントのこのセクションを読んだので、HCEでの同様の可能性について疑問があります。
HCE アーキテクチャ自体は、セキュリティの 1 つのコア部分を提供します。サービスは BIND_NFC_SERVICE システム権限によって保護されているため、OS のみがサービスにバインドして通信できます。
ユーザーランド アプリケーションが HCE サービスと APDU を交換することは不可能だと思われます。これは、NFC コントローラーを介して「外部」からのみ行うことができます。私が間違っている場合、それを行う方法と、どのユーザーランドアプリケーションが HCE サービスと通信できるかを制御するセキュリティメカニズムはありますか?
HCE を介してエミュレートされたカードの内容を表示し、リモート サーバー (NFC リーダーとして機能する) と HCE サービスの間でトランザクションを開始できる Android アプリケーションを開発できるかどうかを知りたいので、これらの質問をしています。
御時間ありがとうございます!