- 研究者らは、決済端末が読み取る有効期限が電子署名で保護されていないため、期限切れのコンタクトレスカードでも実際の購入処理を完了できてしまうことを実証しました
- この攻撃には廃棄されたカードの物理的な入手と、一般的なスマートフォン2台が必要です。銀行によって結果は異なり、テストではVisaカードが影響を受けやすいことが判明しました
- 既存のEMVプロトコルにはリレー攻撃を検知できる仕組みがあるものの、これはオプション扱いであり、テストしたどのカードや端末でも有効化されていませんでした。またVisaも通知を受けた銀行側も、修正に着手しているとは確認していません
一般の人にとって、クレジットカードに印字された日付は絶対的な締め切りのように見えますが、実際には必ずしもそうとは限らないようです。
マサチューセッツ大学アマースト校の研究者らは、有効期限が切れた「ゾンビカード」であっても、実在の決済端末でコンタクトレス決済を完了させることが可能であることを発見しました。これは実際のセキュリティ上の脅威となり得ます。
皮肉なことに、この問題はEMV暗号方式自体が何らかの形で回避されているというわけではありません。むしろ、コンタクトレス決済における有効期限のチェックは、カード自体に固定された属性としてではなく、当事者間のポリシーチェックとして別の方法で実施されている点に原因があります。興味深いことに、その当事者たちは、実際に誰がチェックを行っているのかを常に把握しているわけではないのです。
「使えなくなったはずのカード」が一定条件下では決済に使える理由
先ほどの話を踏まえると、コンタクトレス取引にはカード、決済端末、加盟店の銀行、カードネットワーク、そして発行会社が関わっています。それぞれが、最終的に取引の承認または拒否という判断に至るまでの一部の情報を保持しています。
EMVのコンタクトレス処理フローは選択的にしか認証されていません。一部のフィールドはカードと端末の間で暗号化されないままやり取りされ、後になってから暗号的な検証と結び付けられます。これが、期限切れカードに物理的にアクセスできるユーザーにとって、攻撃の糸口となり得るのです。
ここでの問題は、これらのフィールドが読み取られること自体ではありません。というのも有効期限はもともとカードに印字されているからです。問題は、そのフィールドが比較的容易に書き換え可能だという点にあります。決済端末が読み取る「アプリケーション有効期限」は、保護されていない領域に存在しています。
研究チームがテストしたVisaの構成では、このフィールドはカードのデジタル署名の対象に含まれておらず、その結果、発行会社がオンライン承認要求時に参照する有効期限の値と暗号的に結び付けられていません。
本来こうあるべきではないのですが、この仕様の隙により、カードと決済処理を行う端末の間に介在するデバイスが、有効期限の値を単純に「まだ有効な日付」に書き換えることで攻撃が可能になってしまいます。この問題をさらに厄介にしているのが2つ目の問題です。カードには、カードと端末間の通信を確立するために使われるデジタル証明書内にも有効期限が含まれているのですが、研究者らはこの証明書上の有効期限が、カード本体に印字された日付よりも長く有効であることを発見しました。つまり、本来ならこの問題を検知できたはずのチェック機構が、実際にはより先の時計を見てしまっているというわけです。
ただし、この攻撃が及ぶ範囲は限定的です。影響を受けるのはVisaのコンタクトレスカードのみで、Mastercard、Discover、American Expressでは改ざんされた有効期限は即座に拒否されました。また、この攻撃を成立させるにはカードへの物理的なアクセスとスマートフォン2台が必要であり、控えめに言っても、それなりに手間のかかる手口と言えるでしょう。
皮肉なのは、EMVにはこうした攻撃をそもそも無効化できるはずの保護機構が存在するという点です。それが「リレー耐性プロトコル(Relay Resistance Protocol)」で、タイミングを計測することで挿入されたリレーを検知し、取引そのものを停止させることができます。しかし、これはオプション機能にとどまっており、研究者らがテストしたどの端末・カードにおいても有効化されていませんでした。
研究チームは2025年5月、そして2025年12月にも改めて、Visaおよび関連する銀行各社に対し、再現手順書、取引記録のトレース、動画を添えて通報を行いました。Visaへの報告は初期審査を通過し、同社のレッドチームが再現作業に着手していました。
しかし、本記事の公開時点で、Visaも通知を受けた銀行各社も、緩和策への取り組みを確認していません。また、VisaはThe Registerからの取材依頼にも応じませんでした。
しかし、この問題の根本的な原因は、決済に関する判断がチップ、端末、ネットワーク、銀行といった複数のアーキテクチャにまたがって分散してしまっており、それぞれが「有効期限のチェックは他の誰かの責任だ」と考えている点にあります。このような姿勢は、いずれ企業自身とその顧客に跳ね返ってくる可能性があります。修正が展開されるまでの間、研究者らの助言は依然として重要です。使われなくなったカードを無害なものとして扱うのをやめ、内蔵チップを破壊し、カード番号を切断することで悪用を防ぐべきだとしています。