Standards · EMVCo merchant payment QR

この加盟店決済 QR は安全に支払えますか?

レストランのテーブルやパーキングメーター、市場の屋台にある QR は、ほぼ必ず EMVCo の TLV フォーマットで動作しています。そこには加盟店名、都市、国、通貨、任意の金額、そしてペイロードが改ざんされると失敗する CRC-16 チェックサムが含まれています。本物の加盟店の QR を攻撃者の QR で覆うステッカー差し替え攻撃は、世界で最も多い QR 詐欺です。支払う前に QR を解読すれば、実際に誰に支払っているのかがわかります。

加盟店 QR をスキャン → すべての規格 →

フォーマットは何か

規格は EMVCo QR Code Specification で、チップ&ピンカードを定義したのと同じ EMVCo コンソーシアムが公開しています。2 つの方式がフォーマットの大部分を共有しています:

ほぼすべての国の即時決済スキームは、EMVCo MPM の上にいくつかの国別タグを重ねて構築されています:

フォーマットは Tag-Length-Value 形式のテキストで、暗号化はされておらず、どの QR スキャナーでも解読できます。加盟店の身元は平文でエンコードされており、これがウォレットアプリに表示される内容です。

加盟店決済 QR の構造

すべての EMVCo ペイロードは 000201(Payload Format Indicator)で始まります。続くのは一連の TLV レコードで、2 文字のタグ、2 桁の長さ、その長さ分の値、これが繰り返されます。

タグ 01、Point of Initiation

11 = 静的 QR(再利用可能、金額は自分で入力します)。
12 = 動的 QR(一回限り、金額は加盟店の POS が事前入力します)。

タグ 26-51、加盟店アカウント情報

国別の受取人識別子。Pix キー(CPF / CNPJ / メール / 電話 / EVP UUID)、UPI Virtual Payment Address、PromptPay の電話番号や国民 ID など。

タグ 52、Merchant Category Code(MCC)

ISO 18245 の 4 桁カテゴリ。5812 = レストラン、5411 = 食料品店、7011 = 宿泊、5541 = ガソリンスタンドなど。

タグ 53、通貨

ISO 4217 の数字コード。840 = USD、978 = EUR、826 = GBP、986 = BRL(ブラジルレアル)、356 = INR(インドルピー)。

タグ 54、金額

任意。動的 QR には存在し(加盟店が事前入力)、静的 QR には存在しません(自分で入力します)。

タグ 55-57、チップ / 手数料

任意。55 はチップ入力の表示有無を示し、56 / 57 は定額または定率の手数料を含みます。

タグ 58、国

ISO 3166-1 alpha-2 の国コード。決済アプリが国境を越えた送金に対応している場合に役立ちます。

タグ 59、加盟店名

最大 25 文字。これがウォレットアプリに「___ に支払います」と表示されるフィールドです。ここに入る内容は加盟店が完全に制御します。ステッカー差し替えを行う攻撃者は、ここに好きな文字列を入れます。

タグ 60、加盟店の都市

最大 15 文字。加盟店の所在地。

タグ 61、郵便番号

任意ですが詐欺検知に役立ちます:米国の加盟店で郵便番号が都市と一致しない場合は要注意です。

タグ 62、追加データフィールド

サブ TLV。内部には請求番号、携帯電話番号、店舗ラベル、ロイヤルティ番号、参照ラベル、顧客ラベル、端末ラベル、取引目的が含まれます。

タグ 63、CRC チェックサム

先行するすべて(CRC TLV 自体の「6304」ヘッダーを含む)に対する CRC-16/CCITT-FALSE。これが一致しない場合、QR は改ざんまたは破損しています。

ステッカー差し替え攻撃、世界の QR 詐欺ナンバー 1

手口は気が滅入るほど単純です:

  1. 攻撃者が自分の決済口座を指す QR を印刷します。
  2. 印刷した QR をステッカーにします(または粘着紙に直接印刷します)。
  3. 市場、レストラン街、パーキングメーターのエリアを歩き回り、正規の加盟店 QR の上に差し替え用 QR を貼ります。
  4. スキャンした利用者全員が攻撃者に支払います。

加盟店は、その日の精算で売上が足りないことに気づくまで分かりません。利用者は、ウォレットに「○○に支払いました」と表示されるため気づかず、攻撃者はタグ 59 に加盟店の本名を入れることができます。あるいはそれに近い名前(「Joe's Pizz4」「Joe's Pizzeria 2」)で、忙しい利用者が見落とすわずかな違いです。

この詐欺は、モバイル決済が普及しているすべての国で報告されています:ブラジル(パーキングメーターでの Pix ステッカー差し替え)、インド(ガソリンスタンドでの UPI ステッカー差し替え)、中国(店舗の窓ガラスでの WeChat Pay ステッカー差し替え)、シンガポール(ホーカーセンターでの PayNow)、英国(募金箱の QR 差し替え)、米国(オースティン、サンフランシスコ、ロサンゼルスのパーキングメーター)。

支払う前に決済 QR を検証する方法

当社のスキャナーが表示する内容:

スキャン前に確認すべき物理的な手がかり:

当社が識別する国別スキーム

当社のアナライザーは国別タグを認識し、該当する場合は判定結果に現地のスキーム名をラベル付けします。現在、主要な即時決済システムをすべて含む 54 か国に対応しています。スキームごとの詳細を含む全リストは規格ハブをご覧ください。

関連

支払う前にスキャン

QR をスキャナーに読み込ませてください。判定結果には、加盟店名、都市、国、金額、通貨、そして CRC チェックサムが有効かどうかが表示されます。所要時間はわずか数秒。ディナー代、あるいは 1 か月分の駐車料金を丸ごと節約できるかもしれません。

スキャナーを開く →