私の知る限り、NFCタグは非常に単純です。それらには、数バイトから数キロバイトまでの少量のデータが含まれています。NFC/RFIDリーダーはそのデータを受信します。また、後で読み取るために一部のデータを書き戻すこともできます。
NFCによる支払いは、セキュリティ全体が1つの秘密番号に基づいている従来の磁気カードよりも安全だと思いました。
では、NFC支払いはどのように実装されますか?特にAndroidデバイスでの実装に興味があります。高レベルのアルゴリズムのみを説明してください。
少し低いレベルでは、NFCはいわゆるNDEFプロトコル(NFCデータ交換フォーマット)を使用して動作します。基本的に、メッセージ->レコード->ペイロードで構成されるNDEF。アプリケーション固有の情報が入るペイロード。どの種類のデータ/暗号化がそれらのペイロードに含まれるかは、アプリケーションにのみ依存します。
したがって、標準的な支払い方法の実装はありません。すべてがベンダーに依存します。たとえば、GoogleとVisaの担当者がデータ交換プロトコルを確立して実装する方法などです。
携帯電話が非接触型クレジットカードになることを除けば、通常のチップアンドピンと非常によく似ています。販売端末でPINを入力する必要があります。
Androidデバイスは単純なタグとしては機能せず、常に同じデータをPoSのリーダーに送信します。Secure Elementチップにキーを入れて応答に署名し、特定の購入に合わせてキーを作成して、署名を確認することでマーチャントが確認できるようにするか、オンラインマーチャントが発行銀行に直接問い合わせて確認することができます。これらの応答の信憑性。