最近はQRコード決済が増えているとはいえ、キャッシュレス決済といえば主力はやはりクレジットカード。クレジットカードは当然、物理的なカードを使うので1枚しか存在しません。
しかし、昨今はApple PayやGoogle Payの登場で、複数のスマートフォンにクレジットカードのデータを入れて、店頭のタッチ決済で支払えるようになりました。もちろん、オンラインの買い物であれば、どの端末でもカード情報を入れればクレジットカードで購入できます。
気になるのが、スマートフォンが必須のコード決済において、1台のスマートフォンでしか使えないサービスがあるという点です。端的に言うと不自由で不便なのですが、通常は1人で1台のスマートフォンを使っているので、大きな問題になっていないのかもしれません。
ただ、これが不便なのは間違いないので、なんとかならないか考えてみました。
SMSでダメなら回線認証
QRコード決済は、決済時に表示するQRコードがあるので、利用時にオンラインであることが必要です。そのため、オンラインの認証のため、IDとパスワードを使ってログインできるようになっています。
IDとパスワードによる認証は、もはやセキュリティレベルとしてはかなり低い水準です。家の鍵でいえば南京錠、せいぜいが(安価な)ピンシリンダー錠程度のレベル。IDとパスワードが漏えいするなどして侵入されると、誰でもログインできてしまうので、他人が勝手にQRコード決済を使って支払いをすることができてしまいます。
それを避けるために、(恐らく)すべてのコード決済サービスで「2段階認証」が用意されています。IDとパスワードが正しくても、2段階目に別の認証を挟むことでセキュリティレベルを高める手法で、あらかじめ登録した携帯番号にSMSを送信するというのが多いようです。2要素(多要素)認証は、銀行キャッシュカードが4ケタ暗証番号(記憶)と物理カード(所有物)の2要素を使うようなものですが、2要素認証のセキュリティ強度も年々下がっています。
IDとパスワードが漏えいして、犯罪者が不法にコード決済アプリにログインしようとした場合を考えてみましょう。
2段階目の認証であるSMSは、本来のユーザーの手元にあるスマートフォンに届きます。例えばauの場合、契約の電話番号あてにURLリンクが届きます。ユーザー自身がリンクをクリックしてサイトにアクセスし、アクセス元を確認してログイン許可を押すと、2要素認証をクリアできます。本人がログインしていないのに何も考えずに許可してしまうと、どこか遠くで誰かがログインできてしまうのです。
一般的な、SMSで認証番号を送る仕組みの場合、4ケタや6ケタの数字が送られてくるだけでリンクは送られてくることはありません。ユーザーが自分でサービスにアクセスしても番号入力を求められないので、この方法では攻撃は成立しません。
ですが、コード決済サービスを偽装したメール/SMSに記載されたリンクをクリックして誘導された偽サイトで、ユーザーIDとパスワード、さらには届いたSMSの認証番号を入力すると、認証番号ごと盗まれ、犯罪者にログインされてしまいます。
いずれにしても、2要素認証を突破することは可能で、実際にそういった攻撃が起きています。対策をまとめると「注意すること」ぐらいしかないのですが、あまりにも攻撃が多いからか、携帯キャリア(NTTドコモとau)は回線認証も併用する形になっています。
回線認証は、該当する電話番号の回線でアクセスしているかどうかで認証する、携帯キャリア特有の認証方法です。仮に2要素目まで突破されても、使っている回線があらかじめ登録したものでなければブロックするという、3要素目の認証となっています。
これは効果が高いようで、実際に攻撃が減ったというキャリアの報告もあります。ただこれも自社回線のユーザーが多いドコモのd払いやauのau PAYならではの手法と言え、他社回線のユーザーが増えたらどうするのかという疑問は残ります。
パスワードがなければ安全性が高まる
そんな中で有効な対策とみられているのが「パスキー」です。パスキーを利用すればもはやパスワードは不要、指紋や顔の生体認証だけでログインできるという優れもので、特にフィッシング攻撃に強いとされています。
パスキーはそれだけで2要素の認証となっているので、SMSなどの通知も不要になります。パスワードがないので漏えいのしようがなく、遠隔からの他人のログインが難しい仕組みです。最終的にはApple ID/Googleアカウント/Microsoftアカウント経由でパスキーが同期されるので、複数の端末から生体認証だけでログインできるようになります。
どうしても回線認証をしたければ、パスキーを最初に作る際に回線認証をしてもいいでしょう。auは、パスキー作成時に回線認証を必須にしています。その後、別のデバイスでログインする場合は回線認証を不要にすればユーザビリティも向上します。ただ、パスキーはアカウントが異なると同期できないので、Googleアカウント(Android)でパスキーを作成した場合、iPhoneではもう一度生体認証によるログイン設定をする必要があります。
他社回線のユーザーは、そのまま普通にパスキーへの移行を促すしかないので、それならau回線ユーザーも回線認証のないパスキーで十分に思えます。
より一層のセキュリティを重視するような場合は、マイナンバーカードを活用するのがよいのではないでしょうか。申請だけなら8,000万件を超え、運転免許証より普及する本人確認書類になり、しかも認証機能を備えています。2022年5月以降はAndroidスマートフォンにマイナンバーカード機能の一部が保管できるようになり、これを併用することでパスキーの安全性を高めることができるでしょう。
パスキーにも想定されているリスクはありますが、少なくとも昨今問題になっているパスワード漏えい、フィッシングのリスクは大きく低減できます。パスワードがなくなることでユーザーにとっても手間が減ります。
デュアルSIMや複数端末を利用する人にとって、回線認証はそれなりに手間がかかる仕組みです。「どの端末」、「どの回線」で決済をするかはユーザーの自由であるべきですが、回線認証でその自由度を奪われるのは厄介です。
auにパスキーの現状を尋ねたところ、「au契約者はパスキーでの複数端末ログイン不可」「他社回線はパスキーを使えるがSMSによる2段階認証が必要」という、かなり中途半端なサポート状態です。
パスキーはGoogleアカウントやApple ID、Microsoftアカウントを経由して複数端末で利用が可能になります。Googleアカウントなどが侵入されてパスキーが流出する危険性がある、つまりセキュリティをプラットフォーマーに依存することになるというのがauの考えのようです。そこで採用されているのが回線認証ということなのですが、使い勝手の悪さはピカイチです。
回線を問わないサービスを提供するならば、覚悟を決めて回線認証を使わないサービス設計を期待したいところです。