[技術解説]
パスワードが要らなくなる? 新認証方式「FIDO」とは
2018年2月27日(火)森 英幸(IT Leaders編集部)
セキュリティ技術が高度化した現在においても、本人認証の核として使われているのは、旧来からのパスワードである。どんなに強固なセキュリティ対策を施していたとしても、パスワードが漏れてしまえば、悪意のある第三者が大手を振って侵入してきてしまう。そうした脆弱なパスワード認証に代わる認証方式として注目を集めているのが、FIDO(ファイド)認証である。本稿では、FIDO認証の成り立ちと技術的概要、現在の普及状況について解説しよう。
パスワードは最大の脆弱性
モバイルワークへの対応は、働き方改革を進める企業にとって、避けて通れない取り組みである。そのモバイルワークが本格化した際に、最大の懸念点となるのがセキュリティ面だ。
オフィス外からも不自由なく業務を遂行できる環境を構築することは、企業の情報資産にアクセスするインタフェースが外部に露出することに他ならない。当然、従前に比べて強固なセキュリティ対策が求められることになるわけだが、特に強化すべきなのが認証である。不正侵入や脆弱性、マルウェアなどへの対策がいくら高度になったとしても、本人認証を突破されてしまうと丸裸になってしまうからだ。
ところが、その重要な本人認証の根幹は、いまだパスワードに頼っているのが現状である。パスワード認証の安全性を担保するには、以下のような点に気をつけるというのが定石である。
- リストエンド・英字(大文字・小文字)と数字、記号を組み合わせた推測しにくいパスワードを設定する
- サービスごとに異なるパスワードを利用する
- 定期的にパスワードを変更する
お気づきかもしれないが、上記のパスワード認証の定石とは、すべて運用ルールである。つまり、運用でカバーしないと、パスワード認証の安全性は担保できない。そして、運用ルールに頼った安全性は、ほんの少しの逸脱で脆くも崩れ去ってしまう。
例えば、ある社員が十分な強度のパスワードを設定していたとして、その社員が同じパスワードをSNSで使用していないとは限らない。となれば、自社の管轄外で漏れ出たパスワードを使って、社内システムにアクセスされてしまう恐れがあるということでもある。
多要素認証でも安全性は不十分
パスワード認証の不備を補うために、広く使われるようになってきたのが、複数の認証キーを用いる多要素認証である。多要素認証にはさまざまな組み合わせパターンがあるが、一般的なのはパスワードと何か別の認証キーの組み合わせだ。この別の認証キーとしては、暗号鍵を埋め込んだUSBキー(USBトークン)や、端末ごとに生成した端末ID、指紋や虹彩などの生体情報、SMSでその場限りのワンタイムパスワードを送信するといったものなどがある。
なお、あまり意識しているユーザーはいないようだが、Windows 10からデフォルトになった、PINコードによる認証でも端末IDを組み合わせた多要素認証が行われている。つまり、Windows 10で設定したPINコードは、その端末でしか有効ではない。
もっとも、端末IDを使った多要素認証は、端末そのものを奪われてしまうと意味をなさない。同様に、ワンタイムパスワードをSMSで送信する方法も、PCと携帯電話を一緒に盗まれると突破されてしまう。同じことは、USBトークンの場合にも言える。せっかく多要素認証を採用していても、パスワードと組み合わせている限り、安全性がパスワード認証レベルに落ちてしまうケースがあるということである。
生体情報による認証を標準化するFIDO
そこで、パスワードに代わる本人認証手段として注目されたのが、指紋や虹彩、顔、静脈(指、手のひら)などの生体情報の活用である。
生体認証は古くから研究・開発が進められてきたが、一般ユーザーに広く使われるようになったのは、2013年のiPhone 5sで搭載された、Appleの「Touch ID」(指紋認証)の登場以降だろう。Touch IDは、iPhoneのロック解除だけでなく、アプリやコンテンツの購入時のほか、決済サービスのApple Payでも使われている。ただし、Touch IDはあくまでもApple独自の認証基盤であり、オープン標準ではない。
一方、生体認証をベースとした手軽でセキュアなオンライン認証基盤を実現するために、2012年に結成されたのがFIDO(Fast IDentity Online:ファイド)アライアンスという業界団体である。FIDOアライアンスの顔ぶれはそうそうたるものだ。Microsoft、Google、Amazon、SamsungといったIT業界の巨人のほか、MasterCard、VISA、American Express, Bank of Americaなどの金融業界を代表する企業が名を連ねており、富士通、ドコモ、LINE、大日本印刷、楽天、三菱東京UFJ、ヤフージャパンなどの日本企業も参加している。
FIDO認証では、デバイス側で生体情報を使った本人認証を行い、サーバー側ではデバイス認証を行う。具体的には、あらかじめデバイス認証用の鍵ペアを生成して、サーバー側に公開鍵を登録しておく。そして、デバイスに格納した秘密鍵のロック解除を生体認証で行うという仕組みである。このため、生体情報はサーバー側には一切渡らない。つまり、サービス事業者が攻撃を受けて、生体情報が流出するといった恐れがない。公開鍵はその名の通り公開情報なので、盗まれたとしてもセキュリティ上の脅威にはならない。
なお、FIDO 1.Xでは生体認証を使った認証方式(UAF)のほかに、「ID・パスワード」+「USBトークンなど」の2要素認証を使う方式(U2F)も規定されている。U2Fの場合、ID・パスワードを使うものの、その役割はデバイス内の秘密鍵のロックを外すことであり、認証時にサーバーにパスワードは渡らない。ちなみに、現在策定が進められているFIDO 2.0では、UAFとU2Fが統合されることになっている。
このFIDO認証、実は利用する環境はすでに広がっている。Androidスマートフォンでは、2015年からFIDO認証対応端末が出荷されているし、Windows 10に搭載された生体認証機能「Windows Hello」もFIDOに対応している。実は、現在ドラフト段階にあるFIDO 2.0は、Windows Helloの技術を取り込んだものであり、FIDO 2.0の策定はMicrosoftが中心となって進められているのだ。
Web Authentication APIで広がるFIDO認証の利用
FIDO認証に注目が集まっている理由としては、Web標準化団体のW3Cにて進められている「Web Authentication API」の標準化完了が間近に迫っているからだ。
2018年2月現在、ドラフト・バージョン7の段階にあるWeb Authentication APIは、2015年11月にFIDOアライアンスがW3Cに提出したFIDO 2.0のWeb APIそのものである。これまで、FIDO認証はFIDOアライアンスという業界団体が定めた規格だったわけだが、標準化作業が完了してW3C勧告となれば、晴れてWeb標準となるわけだ。
FIDO認証を利用するには、デバイス側とサービス事業者側の双方が対応する必要があるが、Web標準となれば採用のスピードが一気に加速することが予想される。
現在のところ、WebブラウザのWeb Authentication API対応状況は、Microsoft Edgeが初期ドラフトに対応しているだけだが、Firefoxはすでに最新ドラフトの実装が完了していて、3月には開発者バージョンに、5月には製品リリースで利用可能になる予定だ。また、Google Chromeは現在ベータ版のバージョン65にて、Web Authentication APIをサポートしている。ブラウザ側が対応すれば、サービスをFIDO認証に対応させるのは、非常に容易になる。
このように、FIDO認証を利用する環境は、着実に整いつつある。それを受けて、FIDO認証採用の動きも活発化している。例えば、みずほ銀行は、富士通の「Finplex オンライン認証サービス for FIDO」を活用することで、スマホアプリ「みずほダイレクトアプリ」をFIDO認証に対応させている。Finplex オンライン認証サービス for FIDOは、FIDO認証に必要な仕組みを提供するSaaS型のクラウド・サービスだ。こうしたサービスを利用すれば、企業は自社サービスを短期間でFIDO認証に対応させることができるし、FIDO認証に移行すれば顧客のパスワードを預かるというリスクが減る。
当面、FIDO認証は金融機関を中心に採用が進むと思われるが、上述のようにブラウザの対応が進んでいるので、Webサービス全般に広がる日も遠くはないだろう。社内システムで採用する例も増えていくはずだ。生体認証には専用の認証デバイスが必要となるが、「FUJITSU IoT Solution 生体センサー認証ソリューション オンライン生体認証サービス」のように、生体認証機能を備えたスマートフォンを、PC用の生体認証デバイスとして利用可能にするソリューションもある。自社の情報資産を保護しつつ、不自由のないモバイルワークを支える認証基盤として、FIDO認証の採用を検討する価値は大いにあるだろう。