ブログ|NRIセキュア

パスワード不要の認証「WebAuthn」とは?|「FIDO」の構成技術を解説

作成者: 芝池 良和|2018/12/18

2018年現在、Webサービスの認証方式はIDとパスワードを用いたものが主流です。しかし、さまざまなWebサービスを利用していると、どのサービスにどんなパスワードを設定したか分からなくなったり、推測されやすいパスワードは不正利用のリスクもあるなど、多くの課題を抱えているのが現状です。

 

このような状況のなか、「WebAuthn」というパスワードに依存しない認証を実現する仕様が、ウェブ標準の最終形の「勧告」の一つ前の段階である「勧告候補」になりました。本記事では、その「WebAuthn」の特徴やメリット、今後の課題について解説します。

 

Webサービスとパスワード管理

昨今、スマートフォン等の普及もあいまって、便利なクラウドサービスやWebサービスが次々と出現し、Webサービスの利用は我々の生活に欠かせないものとなってきています。皆さんも日常的に多数のWebサービスを利用していると思いますが、そこで問題になるのは、やはり、パスワードの管理ではないでしょうか。

 

セキュリティ上、複数のサービスで同じパスワードを使いまわすことや、短くて推測されやすいパスワードを利用することは、不正利用されるリスクが高まるため推奨されません。

 

しかし、人間の記憶能力には限界があるので、多くのWebサービスを利用して、それぞれ別々の複雑なパスワードを設定していると、どのサービスでどんなパスワードを登録したのか分からなくなるといったことが起きます。特に、日頃滅多に利用しないサービスなどは、いざ利用しようとした際に、パスワードが分からずに再発行手続きをしたという経験をお持ちの方も多いのではないかと思います。

 

これからはパスフレーズ?パスワードの限界と次世代のユーザー認証

 

コンピュータが誕生してから70年以上、パスワード認証が初めて導入されたのは50年以上前ですが、2018年の現在、Webサービスの認証方式は、様々な課題を抱えながらも、いまだにIDとパスワードによる認証方式が主流という状況が続いています。

WebAuthnとは。FIDOについても解説

そんな中、2018年4月10日、Web技術の標準化を推進する団体である「W3C」[1]とオンライン認証の変革を目指す団体である「FIDOアライアンス」[2]から、「WebAuthn」というWebサービスにおける認証技術に関する仕様が勧告候補となったことが発表されました[3]。WebAuthnとは、端的に言うと、パスワードに依存しない認証を実現するための「FIDO2」という認証技術を構成する技術の一つで、ブラウザや関連するWebサービスの基盤に組み込む標準のWeb APIを定義しています。

 

FIDO2では、パスワードによる認証に代わり、指紋認証や顔認証といった生体認証やスマートフォンやセキュリティキー等の外部デバイスを用いて認証を行います。
 

WebAuthnの仕様[4]には、具体的な活用事例についても記載があります。簡単に要約すると、WebAuthnでは次のような手順でユーザはWebサービスの認証を行うことになります。

 
  1. ユーザは、携帯電話でWebサービスにアクセスし、その端末をあらかじめ設定されたPINコードや生体認証を用いて登録します。
  2. ノートPCやデスクトップPCWebサービスを利用する場合、ユーザは「携帯電話でログインする」というオプションを選択すると、登録済みの携帯電話に通知が届くので、携帯電話でIDを選択し、PINコードや生体認証を用いて認証を行うと、PC側でサインインが完了します。

上記の例では携帯電話を用いて認証を行いますが、セキュリティキーと呼ばれるような外部デバイスを用いて、USBBluetoothNFC等を通じて認証を行うこともできます。

 

また、クライアントとサーバ間の認証には公開鍵暗号の技術を用いているため、ユーザの生体情報等の機密データはネットワーク上を流れることはありません。 

パスワード認証の課題とWebAuthnの特徴

WebAuthnが導入されると、ユーザの利便性や安全性は向上するのでしょうか。その点について考えてみたいと思います。

 

まず、パスワード認証の主な問題点として以下のようなことが考えられます。

  • 複数のパスワードを記憶する必要があり忘れてしまう。再発行手続きが面倒。
  • 推測されやすいパスワードを設定していたために、不正にログインされる。
  • ブルートフォースやリスト型攻撃による被害。
  • フィッシングや中間者攻撃による被害。
  • サービス提供者側から認証情報が漏洩する可能性。

パスワード認証のセキュリティを高める方法として、二要素認証が利用できるサービスもありますが、現状では、サービス毎にトークンを管理する必要があるため、利用するサービスが多いと面倒が増えてしまいます。

これに対して、WebAuthnが普及すれば以下のようになると考えられます。

  • パスワードを覚えておく必要がなく、同じ認証方法で複数のサービスが利用できる。
  • 他人がなりすまして不正にログインすることが困難になる。
  • 認証に必要な機密情報がネットワーク上を流れないので、フィッシングや中間者攻撃の脅威が無い。
  • サービス提供者から認証に必要な情報が漏洩することがない。

WebAuthnのデメリットとしては、スマートフォン等の外部デバイスの故障や紛失時に、ログインできなくなる可能性が考えられますが、これについては、サービス提供側で何らかのバックアップ手段が用意されることになるでしょう。もちろん、バックアップ手段が脆弱であったり、手続きが非常に面倒であったりすると意味が無いので、このあたりは今後の課題と言えるかもしれません。

 

このように、WebAuthnは従来のパスワード認証に比べると、多くのユーザにとって利便性や安全性は向上するのではないかと考えられます。しかし、完全なセキュリティなどは存在しないので、WebAuthnが普及すれば、また新たな問題やリスクが発生してくることは避けられないでしょう。

 

おわりに

WebAuthnの仕様は、W3Cの標準化プロセスでも勧告候補段階であり、まだ最終的に標準化されたわけではありません。普及にあたっては、クライアント側のデバイスやブラウザ、サービス提供者側のシステムの双方で対応が必要になるため、今後普及が進むとしても、まだまだ時間はかかると考えられます。

 

しかし、Microsoft EdgeGoogle ChromeFirefoxといった主要なブラウザはWebAuthnをサポートすることを表明しており、また、既にパスワードを使わない認証方法を提供するWebサービスも出てきています[5]ので、今後、多くのサービスでWebAuthnが実装され、パスワードを使わない認証方式が一般的になっていくことは充分に期待できるのではないでしょうか。筆者としても、パスワード管理に悩まされることの無い世の中を心待ちにしています。

 

Webサービスのなりすましやリスト型攻撃等の脅威の対策については、当社においても、WAFやセキュリティログ監視などのソリューションを提供しておりますので、ご興味がある方はぜひご相談頂ければ幸いです。

 

 

[1] World Wide Web Consortium  https://www.w3.org/

[2] FiDO Alliance  https://fidoalliance.org/about/what-is-fido/

[3] ウェブ認証が、さらにシンプルで強力なステージのマイルストーンに到達

  https://www.w3.org/2018/04/pressrelease-webauthn-fido2.html.ja

[4] Web Authentication: An API for accessing Public Key Credentials Level 1

     https://www.w3.org/TR/2018/CR-webauthn-20180320/

[5] Yahoo! JAPAN各サービスで、パスワードを使わないログイン方法の導入を開始

    https://about.yahoo.co.jp/pr/release/2017/04/20a/