| 情報セキュリティと サイバーセキュリティ |
|---|
| 対象別カテゴリ |
| 隣接領域 |
| 脅威 |
| 防御 |
FIDO(ファイド)は、Fast IDentity Online(素早いオンライン認証)の略語で、従来のパスワード認証に代わる認証技術の1つ。FIDO2に基づくパスキーが広く使われている。
業界団体であるFIDO Allianceによって規格の策定と普及推進が行われている。
ユーザーから見たFIDOの特徴は生体認証などを利用するため「ユーザーはパスワードを憶える必要がない」という点になる。また、生体認証を端末側で行うことで「生体情報そのものはネットワーク上に流れない、サーバーで保持しない」ためインターネット上には生体情報が流通せず、情報漏洩のリスクが軽減されていることが特徴となる。
ネットワークにおける本人認証として長らくID/パスワードによる認証方式が採用されてきた。しかしながら、このパスワード方式は、パスワードの漏洩が問題視されていた。パスワード認証の不備を補うために、複数の認証キーを用いる多要素認証が開発された。暗号鍵を埋め込んだUSBキー(セキュリティトークン)、端末ごとに生成した端末ID、指紋や虹彩といった生体情報、SMSでその場限りのワンタイムパスワードを本人に送信するといったような認証方法がある。生体情報による認証を除けば、「鍵」となる媒体を物理的に盗まれた場合には不正ログインが可能となる。このため、多要素認証として指紋や虹彩、顔、静脈(指、手のひら)といった生体情報を認証に使う方式が注目を集めてきた。
FIDOは、公開鍵暗号方式を基盤とした認証プロトコルである。利用者のFIDO認証器(スマートフォンや外部セキュリティキーなどのデバイス、FIDO オーセンティケータともいう)内で生成された秘密鍵はデバイス外部に出ることなく、認証サーバーには対応する公開鍵のみが登録される。これにより、サーバー側での認証情報漏洩リスクを大幅に低減できる。また、認証時にはサーバーから送られるチャレンジ(一度きりの乱数)に対して秘密鍵でデジタル署名を行うため、リプレイ攻撃にも強い耐性を持つ。認証時には、生体認証やセキュリティキーのタッチといった簡単な操作で認証が完了するため、簡便な操作で認証を行うことができる。
これらのように、FIDOは「高いセキュリティ」「利便性の向上」「プライバシー保護」といった点で、従来のパスワード方式より利点がある。
2012年に生体認証をベースとした手軽でセキュアなオンライン認証基盤を実現するためにFIDO Allianceが結成された。
FIDOの認証は、大きく「登録処理」と「認証処理」の2つのフェーズに分けられる。いずれも、公開鍵暗号方式を応用したものになっている。
利用者が初めてサービスにFIDO認証を登録する際のプロセスである。
登録完了後、利用者がサービスにログインする際のプロセスである。
FIDO認証器(FIDO オーセンティケータ)は、FIDO の技術仕様に基づき、パスワードレス認証を実現するためのデバイスまたはソフトウェア機能である。一般に「セキュリティキー」とも呼ばれる。その中核的な役割は、公開鍵暗号方式に基づき、公開鍵と秘密鍵の鍵ペアを生成する。生成された秘密鍵は、TPM (Trusted Platform Module) や SE (Secure Element) といった耐タンパー性能を持つ専用のハードウェアチップ内に保管される。
FIDO Allianceは、FIDO認証器の機能、セキュリティレベル、生体認証部品を検証し、認定を行っている。FIDO認証器には、その仕様に応じて、レベル1~レベル3+まで、認証器レベルが設定されている。認定済みのFIDO認証器の情報は、FIDO Allianceのサーバーに登録される。サービス提供者は、提供するサービスの利用を許可する生体認証方式やデバイスの型番などを制限できる。 FIDO認証器は、デバイスの形態によって主に2種類に大別される。
PCやスマートフォンなどのデバイス本体に内蔵された認証器である。OSやプラットフォームが提供するセキュリティ機能(セキュアチップなど)を利用して秘密鍵を保護する。利用者は普段使っているデバイスでシームレスに認証を行えるのが利点である。
独立した物理的なデバイスであり、利用者が持ち運んで様々なクライアント端末(PCやスマートフォン)に対し、USB、NFC、BLEなどで接続することで利用できる認証器である。一般的に「セキュリティキー」と呼ばれるものはこのタイプを指す。一つの認証器をど複数の環境で利用でき、物理的に所有していることが認証の条件となるため、セキュリティレベルが非常に高い。一方で、紛失のリスクが伴う。
FIDO 1.0仕様の技術として Universal Authentication Framework (UAF) と Universal Second Factor (U2F) がオープンな規格として仕様公開されている。
UAF1.0は2014年12月に公開された。UAFはUniversal Authentication Framework(汎用的な認証基盤)の略。FIDO認証器を利用して、パスワードを使わない生体認証で認証を行う仕組み。
U2Fは2015年5月に公開された。U2FはUniversal Second Factor(汎用的な第2要素)の略。FIDO認証器が不要。主としてブラウザから利用をする。ID/パスワードの1段階めの認証に加えて、セキュリティコードやセキュリティキーなどを使った二要素認証を採用している。セキュリティーキーとして、USBキーに加えて、BluetoothとNFCをサポートした仕様となっている。
FIDO2は、上記のUAFとU2Fを統合した仕様で、以下の2つから構成される。FIDO2に基づくものとしてパスキーがある。
W3C(World Wide Web Consortium)が正式に勧告したWeb認証仕様。Webブラウザと、認証を必要とするWebサーバ間の通信仕様である。FIDO認証のサポートを可能にするためにブラウザやプラットフォームに組み込まれている標準的なウェブAPIを定義している。
FIDO認証器とクライアント間の通信を制御する通信仕様。2019年3月4日にウェブ標準として承認された。これに伴い、Universal Second Factor (U2F) は CTAP1 に改名された。