二要素認証

パスワードに加えて SMS コードや生体認証など、異なる種類の認証要素を 2 つ組み合わせて本人確認を行うセキュリティ手法。キャッシュレス決済やオンラインバンキングにおいて、不正アクセスを防止するための重要な防御策だ。

二要素認証の 3 つの認証要素と組み合わせ

認証要素は「知識要素 (Something you know)」「所持要素 (Something you have)」「生体要素 (Something you are)」の 3 種類に分類される。知識要素はパスワードや暗証番号、所持要素はスマートフォンやハードウェアトークン、生体要素は指紋や顔認証だ。二要素認証はこのうち異なる 2 種類を組み合わせることで、1 つの要素が漏洩しても不正アクセスを防げる仕組みだ。

最も一般的な組み合わせは「パスワード (知識) + SMS コード (所持)」だが、SMS は SIM スワップ攻撃のリスクがあるため、より安全な方法として「パスワード + 認証アプリ (Google Authenticator、Microsoft Authenticator)」や「パスワード + 生体認証」が推奨されている。FIDO2/WebAuthn 規格に対応したパスキーは、パスワードレスで所持要素と生体要素を同時に満たす次世代の認証方式として普及が進んでいる。

キャッシュレス決済における二要素認証の実務的な活用

キャッシュレス決済サービスでは、ログイン時と高額決済時の 2 つの場面で二要素認証が求められることが多い。PayPay や楽天ペイなどの QR コード決済アプリでは、初回ログイン時に SMS 認証が必須で、端末変更時にも再認証が求められる。クレジットカードのオンライン決済では 3D セキュア (Visa Secure、Mastercard Identity Check) が二要素認証の役割を果たしている。

実務上の注意点として、二要素認証を有効にしていても、認証コードをフィッシングサイトに入力してしまえば突破される。リアルタイムフィッシングと呼ばれる手口では、攻撃者が正規サイトとユーザーの間に入り、入力された認証コードを即座に正規サイトに転送する。対策としては、URL を必ず確認する習慣をつけること、可能であればフィッシング耐性のあるパスキーや FIDO2 セキュリティキーを利用することが有効だ。