2019年07月15日 23時00分 セキュリティ

パスワード認証に取って代わる2段階認証とその未来とは？

by Brian Ronald



2019年7月4日(木)に、セブン-イレブンの「7pay」で起こった大規模な不正利用被害についての謝罪会見で、運営会社であるセブン・ペイの小林強社長が2段階認証について尋ねられたところ、「2段階認証……？」と首をかしげてセキュリティ意識の浅さを露呈し、話題となりました。



これまでネットワークにおける本人認証にはIDとパスワードを使う方式が使われてきましたが、この方法はパスワードが漏えいすると本人以外でも簡単にアクセスができてしまうという問題がありました。そこで、IDとパスワードのみではなく、本人しか知り得ないような認証コードを用いるという2段階認証が採用されつつあります。そんな認証システムのこれからについて、セキュリティ企業のTrail of Bitsが解説しています。



Getting 2FA Right in 2019 | Trail of Bits Blog

https://blog.trailofbits.com/2019/06/20/getting-2fa-right-in-2019/



認証システムは既に「パスワード認証か、2段階認証か」ではなく、「どんな認証方法を採用するか」が議論される段階に進みつつあります。Trail of Bitsは、2段階認証では「ユーザー、もしくはユーザー固有の情報」を認証することが重要であり、ユーザーが知っている情報を入力するものではないと主張。また、2段階目の方法はIDとパスワードを使う1段階目の代わりになるものではなく、あくまでも「身分の証明」に過ぎないと述べています。





2段階認証には、これまで主に3つの方法が使われていました。1つはユーザーが登録した電話番号に、ランダム生成された認証コードをショートメッセージサービス(SMS)で送信するという方法。2つ目はユーザーが登録したメールアドレスに認証コードを送信する方法です。これら2つの方法は、電話番号と紐付けられたデバイスやユーザー固有のメールアカウントにのみコードが送信されるので一見すると安全ですが、SMSやメールは簡単に他者によって傍受されてしまう危険性があるため、確実に安全な認証方法とはいえません。



3つ目の方法はTime-based One-time Password(TOTP)というアルゴリズムを利用する方法です。共有鍵暗号方式(対称鍵暗号方式)であるTOTPは、認証コードを直接やりとりするのではなく、QRコードなどを使ってサーバーとクライアントで秘密鍵を共有し、その秘密鍵と時刻から認証コードを生成するというやり方です。そのため、メールやSMSを使う方法より安全性は高いといえます。



by Linux Screenshots



ただし、TOTPで共有されるのは秘密鍵と生成プログラムのみで、TOTPを採用した認証システムには端末を個別に認識する概念がありません。秘密鍵が流出してしまうと確認コードが生成できてしまい、デバイスに関係なくアクセスが可能になってしまうため、「最初に行われる秘密鍵の送受信は完全にプライバシーを守って行われなければならない」という問題があります。



特に、一般的なユーザーは2段階認証とそのシステムを理解していないため、利便性を求めるあまりセキュリティを無視しがちだとTrail of Bitsは指摘していて、以下のような行動は2段階認証がうまく働かなかったり形骸化させてしまったりする原因だと警告しています。



・TOTPの秘密鍵のQRコードをスクリーンショットして保存したままにする。

・1つの秘密鍵を複数のTOTPアプリケーションに読み込む。

・秘密鍵をテキスト出力できてしまうTOTPアプリケーションを使う。

・2段階認証回避用の回復コードをデスクトップのテキストファイルに保存する。

・2段階認証を完全に無視して、回復コードだけを使い続ける。

・古いIDや昔のキーをそのまま使おうとする。



そこで注目されるのが、2012年に次世代のオンライン認証技術規格を目指して提唱されたFIDOです。FIDOでは、虹彩や指紋などの生体認証を使った規格であるUniversal Authentication Framework(UAF)と、2要素認証規格であるUniversal 2nd Factor(U2F)という2つが設定されています。さらに、2015年11月にはこのUAFとU2Fを統合したFIDO 2.0という仕様が公開されました。



Trail of BitsがTOTPよりも安全性が高いと評価しているのが、FIDO 2.0の核となる「WebAuthn」です。FIDO 2.0のJavaScript APIであるWebAuthnを使用することで、ウェブブラウザ上でもFIDOに基づいた本人認証を行うことが可能になります。例えば、これまでのウェブサービスではIDとパスワードによる認証が求められるのみでした。しかし、WebAuthnが普及すれば、2段階認証が当たり前になるだけでなく、指紋や虹彩だけでウェブサービスへのログインも可能になります。



パスワード不要のログイン方法「WebAuthn」がウェブ標準になる - GIGAZINE





TOTPのアプリケーションは無料のものも多く、さまざまなプラットフォームで利用することができます。一方で、WebAuthnはまだ比較的新しい規格で利用可能な実装環境はまだ多くありません。Traile of Bitsによると、GoogleやAppleはモバイル端末用の2段階認証としてWebAuthnの採用に取り組んでいるとのこと。もしGoogleやAppleによるWebAuthn導入が実現して普及すれば、オンライン認証システムが従来のパスワード認証からFIDO 2.0に置き換わる流れが加速し、パスワードレスログインが当たり前になることが期待できます。