-1

こんにちは、私はアンドロイド開発者です。私はすでにAndroid NFCリーダーとライター、およびビームを構築しています。したがって、ライターを使用すると、NFC タグに単純なデータを書き込むことができ、リーダーを使用してタグからデータを読み取ることができます。ビームを使用して、2 つの NFC 対応デバイス間でデータを送信できます。だから今まではすべてうまくいっています。今はNFC決済に取り組みたいと思っています。私はアンドロイドプラットフォームに取り組んでいます。私の質問は、支払いに使用される NFC リーダーがどのように機能するかということです。それらは Beam で動作しますか、それとも私たちのデバイスは NFC リーダーの nfc タグとして機能し、デバイスからデータを読み取るだけです. Android の HCE について読みましたが、これは概念を理解するのに大いに役立ちます。しかし、読者の概念とそこにある作業シナリオに関して、私は少し混乱しています。このことを理解するために私を助けてくれる人はいますか、助けが必要です。ありがとうございました。

4

1 に答える 1

5

支払いについて話すとき、AmEx、Discover、JCB、MasterCard、VISA などのよく知られたクレジット カード スキームに基づく支払いを指していると思います。それらの支払いプロトコルは EMVCo で標準化されています。異なるアプローチを使用する他の (それほど広く普及していない) 支払いスキームがあることに注意してください。

EMV ベースの支払いカードの非接触型プロトコルの場合、通常は次のスキームに従います。

  • ISO/IEC 14443 衝突防止およびアクティベーション (タイプ A またはタイプ B)
  • ISO/IEC 14443-4 トランスポート プロトコル
  • ISO/IEC 7816-4 APDU
  • 支払いスキーム固有のコマンド セット (これらのコマンド セットのリーダー側は、EMVCo の EMV Contactless Specifications for Payment Systems で標準化されており、クレジット/デビット カード スキームごとに 5 つの異なるカーネルに分けられています)

(Android のリーダー/ライター モードの NFC API 用語では、「ISO/IEC 14443 衝突防止および有効化 (タイプ A またはタイプ B のいずれか)」は、「ISO/IEC 14443 衝突防止および有効化 (タイプ A またはタイプ B のいずれか)」の組み合わせとなりNfcAますNfcB) A またはタイプ B)」および「ISO/IEC 14443-4 トランスポート プロトコル」はIsoDep.)

したがって、支払い端末 (POS など) は、上記のプロトコル スタックのリーダー側を実装します。ユーザー側の支払いデバイス (プラスチック製のクレジット カード、仮想クレジット カードを備えた携帯電話など) は、これらのプロトコルのカード側を実装します。

だからあなたの質問に:

  • Beam (または NFC のピアツーピア モード) は、これらの支払いカード スキームには関与しません。

  • NFC のリーダー/ライター モード (Android デバイスに実装されている) は、ほとんどの場合、これらのスキームの支払い端末側を実装できます。

  • その文脈で「NFCタグとして機能する」という用語は好きではありません。NFC タグ ( NFC Forumで定義) は、読み取り (およびオプションで書き込み) アクセスが可能な純粋なデータ コンテナーであり、NDEF メッセージを保存できます。ただし、支払いカードは、処理機能 (つまり、プログラム コードを実行する)、安全なデータ ストレージ、および暗号化機能を備えた (非接触) スマートカードです。自由に読み取り可能な静的データに加えて、通常、リーダー側からの要求を処理するプログラム ロジックも含まれており、支払いトランザクションなどの署名生成に使用される秘密鍵 (従来の手段ではカードから読み取ることができない) も含まれています。

  • Android の HCE 機能により、開発者は上記のプロトコル スタックを Android デバイスに実装できます。したがって、HCE と Android デバイスを使用すると、非接触型スマートカードとして機能し、ISO/IEC 7816-4 スマートカード コマンド (APDU) を解釈するモードにすることができます。

于 2013-12-07T11:13:45.900 に答える