web-dev-qa-db-ja.com

Android物理的なRFIDカードを模倣するアプリケーション

Androidアプリケーションが以前に保存したRFIDカードIDをNFCリーダーに送信することは可能ですか?目的は、Androidデバイスを使用して、物理的なRFIDカードの代わりに部屋にアクセスできるようにすることです。 NFC/RFIDとカードエミュレーションに関する他の多くのスレッドを読んで、Androidで今のところ利用できないという結論に達しましたが、この特定のケースに当てはまる場合、まだ混乱しています。アプリケーションは、単にNDEFメッセージまたはAPDUコマンド内でカードIDを送信することはできませんか、それともまったく夢見ていますか?

23
user1860579

まあ、厳密に言えば。あなたがしたいことのために、あなたはカードエミュレーションを必要としません。検証できるトークンをドアロックに送信するだけです。

互換性のあるデバイスにNDEFメッセージをプッシュすることにより、Android beamでこれを行うことができます。SNEPはあなたが探しているプロトコルです。

私が好む解決策は、ドアロックデバイスにタグをエミュレートさせることです。次に、Androidアプリにそのタグのリスナーを登録します(実行する必要はありません)。タグが検出されると、アプリが起動し、安全なトークンをタグを使用してロックしますNFC SDKの関数Android SDK。

トークンの保護は別の問題です。

13
jim

Androidビュー:

簡単に言えば、それは不可能です。

長い話:

これを行うには、ハードウェアとソフトウェアの観点から可能です。 NFCチップは、ほとんどの(すべてではない)標準タグをエミュレートできます。これを行う機能は、低レベルのソフトウェアに組み込まれていますが、アプリケーションには公開されていません。

理由:タグのエミュレートは、モバイル決済インフラストラクチャ全体の基盤です。同じタイプの2つのカードエミュレーションを一度に許可することは、ほとんどの場合NFCチップは不可能であり、モバイル支払いリーダーは一度に1つのタグのみを受け入れるため、モバイル支払いも停止します(セキュリティ上の理由により)。

RIMベースのBlackberry携帯電話では物事が少し異なります。カードエミュレーションを許可します(この機能はすぐに使用できます)が、私が知る限り、現時点ではモバイル決済を行いません。

1