見出し画像

セキュリティ用語の基礎知識パスワードレスを実現するFIDO認証の仕組みとは

ITの世界では、個人に対する「認証」は「相手が本人であるかどうかを確認する手段」を意味しています。長い間、認証にはユーザー名(ID)とパスワードの組み合わせが利用されてきました。しかし、このパスワードの情報が漏洩したり、特定されたりするセキュリティ事案が増えていくにつれ、パスワードによる認証が安全とは言えなくなっています。

そこで登場したのが、パスワードを使用しないFIDO認証です。今回はスマートフォンなどのローカルデバイスを利用することで、パスワードレスを実現するFIDO認証について解説します。

FIDO認証とは

FIDO(Fast Identity Online)認証とは、非営利の標準化団体である「FIDO Alliance」が主導して標準化を進める認証技術の国際規格です。パスワードを利用することなく(パスワードレス)、相手が本人であることを特定するための認証技術の開発と標準化を目指しています。

FIDOには「FIDO UAF」「FIDO U2F」「FIDO2」の3つの種類が存在しますが、現在の業界標準は「FIDO2」と、このFIDO2をWeb技術の標準化団体であるW3C(World Wide Web Consortium)がWebの標準規格として策定した「Web Authentication(WebAuthn)」でしょう。

パスワードレスを実現するため、FIDO2ではスマートフォンなどのデバイス内に保存した認証のための資格情報である「クレデンシャル」を用いて認証します。また、サーバーとデバイス間でやり取りされる認証情報は、公開暗号鍵方式によって暗号化されます。

公開暗号鍵方式によるFIDO認証の仕組み

公開鍵暗号方式では、「秘密鍵」と「公開鍵」という2種類の鍵を利用してデータの暗号化と復号化を行います。データを暗号化するには秘密鍵を用いますが、暗号化されたデータを復号化するには、秘密鍵から作られた公開鍵が必要になります。

FIDO認証では、秘密鍵をユーザーのデバイスに保存しています。ユーザーはクレデンシャル(資格情報)を保存しているデバイスに対し、指紋認証や顔認証などの生体認証、あるいはPINなどの入力によって本人であることを証明します。一方、Webサービスを提供しているサーバー側は、保存されている公開鍵によって、デバイスから送られてきたクレデンシャルが正しいことを確認するという仕組みになっています。

認証処理の大まかな流れは、次のようになっています。

1.ユーザーがWebサービスなどを提供しているサーバーに対してログインを要求する
2.サーバーはユーザーにクレデンシャルを要求する
3.ユーザーはデバイスに保存されている秘密鍵で暗号化したクレデンシャルを送信する
4.サーバーは保存している公開鍵で暗号化されたクレデンシャルを復号化する

クレデンシャルが復号化できれば「本人であることを証明した」ことになり、認証が成功します。

このような仕組みにより、FIDO認証はパスワードをやり取りするのに比べて高い安全性を担保しています。

急速な普及を後押ししたのは「パスキー」

FIDO認証のメリットはその安全性の高さにあります。ただし、クレデンシャルをユーザーが所有するスマートフォンなどに保存することで“外部に持ち出さない”ことで安全性を高める仕組みであることから、デバイスの紛失や破損、あるいは機種変更時には、改めてクレデンシャルを登録しなおさなければならないなどのデメリットがありました。

ところが2022年になってFIDO Allianceが発表した「パスキー(Passkeys)」という仕組みを使えば、FIDO認証必要なクレデンシャルやFIDO認証に関する設定をクラウド上に保存し、複数のデバイスで利用できるようになったのです。すでに主要なOSベンダーであるApple、Google、Microsoftがパスキーへの対応を表明しており、サービスの提供も開始されています。

パスキーという技術そのものは決して新しいわけではないのですが、安全性向上のために利便性が損なわれてしまうFIDO普及の障壁を打ち破る技術になったことは事実です。日本でもYahoo! Japan、KDDI、ドコモをはじめとする多くのベンダーがパスキーへの対応を表明しており、FIDOおよびWebAuthnに対応するWebサービスも増えています。
これからはFIDO認証によってパスワードレスに認証できるサービスが普通になっていくかもしれません。

まとめ

・FIDO認証とは、FIDO Allianceが主導して標準化を進める認証技術の国際規格
・現在の業界標準は「FIDO2」で、W3CでもWebの標準認証規格の「WebAuthn」として採用
・FIDO2ではスマートフォンなどのデバイスにクレデンシャルを保存して認証に使用する


この記事が気に入ったらサポートをしてみませんか?