パスワードが不要になる未来!?さよならMFA疲れ?話題のパスキー(Passkeys)を調べてみた
2023-12-17 00:46 JST(UTC+9)
#すべて #ブログ #アドベントカレンダー #技術 

** 本記事は社内のアドベントカレンダー2023用に作成した記事です。

最近よく聞く “パスキー” を自分の理解を深めるためにも調べてみました。
間違い・誤認がありましたらご指摘いただけますと幸いです!

目次

  • そもそもパスキーってなんだ
  • まずは設定して使ってみる
  • もう少しちゃんと調べてみる
    • FIDOアライアンスって何者?
    • 2つの意味で使われる “パスキー”
    • FIDO2について
    • 生体認証は必須ではない!
    • 結局安全なの?
  • まとめ

そもそもパスキーってなんだ


私は普段コラボレーション領域を専門にしているため、この領域の専門家ではありません。
パスキーに対しては、“聞いたことあるけど、パスワードの進化系?生体認証?セキュリティ向上?” といった程度の認識です。
せっかくなので流行りの先生(生成AI)たちに “パスキーについて簡単に教えて” と聞いてみました。

まずはOpenAIからChatGPT(GPT3.5)先生
うーん、プロンプトが悪かったかな・・・


次にMicrosoftからCopilot(旧 Bing Chat)先生
引用元も記載してくれてわかりやすいですね。


最後にGoogleからBard先生
ちょっと長いかなと思ったけどわかりやすいかも。



Wikipedia 先生も見ておきます。
パスキー - Wikipedia

パスキー(英語: Passkeys)は、FIDO Alliance が策定したパスワードレス認証技術。

ふむふむ。
FIDOアライアンスが策定しているセキュリティと利便性を向上できそうな認証方法ということでしょうか。
(最初の認識とあまり変わらないじゃん!と思った方、記事後半でもう少しちゃんと調べます・・・)

まずは設定して使ってみる


“なんとなく” わかったところで、使ってみるのが一番早いと思い、実際に体感してみます。
ここ最近でパスキーに対応するサービスが増えてきているので、以下のサービスで設定してみました。

パスキーを設定したサイト (リンク先は各社の設定方法が掲載されているページ)
Adobe
Amazon
au ID
dアカウント
GitHub
Google
任天堂
PayPal
Uber
Yahoo! JAPAN
各社ヘルプページが用意されていますが、
いかに利用者にこの認証方式をわかりやすく伝えられるかが今後の普及に向けて大事になりそう
だなと感じました。
個人的には、任天堂のページが優しいと思いました。

下記のサイトで “パスキー対応サイト” がまとめられています。
Passkeys.directory
デモサイトを提供してるサービスもあります。 (ITmediaの記事で紹介されていました。)
Passkeys.io – A passkey demo and info page by Hanko

さて、私は iCloud キーチェーン1Password にパスキーを保存してみました。
すごく簡単ですね。5秒もかからないくらいでパスキーを保存できました。


実際に設定したパスキーでサインインしてみました。
サインインも5秒もかからないくらいで完了でき、とても簡単ですね。


多要素認証(MFA)よりもラクでストレスフリーです。
私はMFAを設定できるサービスは全て設定していますが、正直MFAって面倒ですよね。
ID/PWでのサインイン後に、
・スマホを開いて承認するパターン
・ワンタイムコードを確認するパターン
・SMSで認証コードが来るのを待つパターン
などなど・・・
慣れてきていますが、セキュリティを担保するには手間が必要なんだなぁと思っていました。
最近では、”MFA疲れ” を突いた攻撃もあるそうですし、
こうした面でも利用者とサービス提供者の両者にメリットがあると思いました。

もう少しちゃんと調べてみる


いい機会なので、もう少し理解を深めてみます。

FIDO アライアンスって何者?

まず、FIDOアライアンスが何の組織かを知りません。
FIDOとは ”Fast IDentity Online” の略とのことで、
パスワード無くしてセキュリティ向上、ユーザー利便性向上、サービス提供側のコスト削減しようよ!
という目的で2012年に設立されたアライアンスとのこと。

公式サイトに記載されていた目的も一応引用しておきます。
FIDOアライアンス概要 - FIDO Alliance

堅牢な認証デバイス間で相互運用性が欠如している現状を変革し、
ユーザーが複数のユーザー名とパスワードを作成して記憶しなければならないという問題の解決を目的

アライアンスのBoard Level Membersには、AmazonやApple、Google、Microsoft、Meta(旧Facebook) といったGAFAM(最近あまり聞かない言葉ですね) をはじめ、
AMEXやVisa、Master Card、PayPalといった決済系企業や、LINEヤフー、NTTドコモといった日本企業も参画しています。
私が所属しているFujitsuグループもSponsor Level Membersに入っているようです。
FIDO Alliance Member Companies & Organizations - FIDO Alliance

2つの意味で使われる “パスキー”

次に、本題 “パスキー” について詳しく調べてみます。

“パスキー” とここまで書いてきましたが、正しく理解するにはややこしい表現のようです。
本来の意味での “パスキー” は、FIDO認証における
“資格情報(秘密鍵)をマルチデバイスで同期できるようにした仕組み、あるいは同期可能な秘密鍵そのもの” のことを指しています。
さらには、FIDOアライアンス が正式に定義している呼称ではないようです。(ホワイトペーパー P7より)

では、ここまで記載してきた “パスキー” は何かと言うと、
“この認証方式を一般にわかりやすく伝えるために表現された広義的な意味” のようです。
確かに、 “パスワード” から ”パスキー” にしましょう ならすっと入ってきますよね。
一般利用者に伝える分にはこの言い方がシンプルで良いですね。
実際、FIDOアライアンス 側も広義的な意味で使うことに肯定的なようです。


FIDO2 について

FIDO認証をブラウザやOSで実現できるように標準Web APIの “Web Authn(Web認証)”
それを補完するクライアントと認証器の連携のためのプロトコル “CTAP(Client to Authenticator Protocols)” があります。
“CTAP” には “CTAP1” と “CTAP2” があり、“CTAP2” では、MFAだけではなくパスワードレス認証に関しても定義され、
FIDOセキュリティキーだけではないスマートデバイスも活用した仕様になっています。
これらを総称して、“FIDO2” と呼ばれています。

生体認証は必須ではない!

パスキーを使用するには、生体認証が必須だと思いこんでいました。
しかし、FIDOアライアンスが公開している仕様をよく読むと
“指をスワイプしたり、カメラを見たり、マイクに向かって話したり、PINを入力したりするなどのローカル認証メカニズムを選択すること”
と記載があります。
つまり、PIN入力でも問題ないため、生体認証は必須ではないと言えます。(それでいいのかという気持ちはありますが・・・)
確かに、スマートフォンのロックをPINだけにしている方もいたり、生体認証が使えない時にパスワードを入力したりしますもんね。
ちなみに、任天堂のFAQにはこの件も記載されていました。
【ニンテンドーアカウント】パスキーは生体認証を使用しないで設定することはできますか? (nintendo.co.jp)

結局安全なの?

パスキー認証は、“公開鍵暗号方式” に基づいて認証されます。
上記の図中にも記載していますが、デバイスからサーバーにパスワード情報を送信することはなく、認証自体はデバイス側で実施されます。
デバイスからサーバーには署名付きの認証結果のみが送信されるため、パスワード認証より安全と言えると思います。
そして、パスワードのようにサーバーに認証情報が保存されないため、攻撃者によってサーバーが攻撃されても認証情報が漏れる心配もなくなります。

安全を高めるために利用者側が意識すべきことを考えました。
・共有デバイスにはパスキーを保存しない
 パスキーがデバイスに保存される=デバイスを使える人がその情報で認証できる可能性がある。
・デバイスのロック解除には生体認証を使う
 仕様としてはPINなどでも良いとはあるものの、デバイス側の防御のためにも生体認証で本人以外が突破できないようにするべき。

ところで1つ疑問があります。
iCloudキーチェーンに保存したパスキーを使用するときは、
都度デバイスのローカル認証を求められますが、1Passwordでは都度ローカル認証を求められません
1Passwordとしては、一度1Password自体をロック解除したことで
ローカル認証を済ませていることにしていると思われますが、果たしてこれはどうなのでしょうか・・・。

まとめ


今回パスキーについて調べましたが、従来の認証方式よりも安全に、高い利便性を意識して策定された認証方式だと感じました。
今回は触れませんでしたが、サービス提供者側もMFAのためにSMS送信コストなどを抑えられるのではないかと思います。
(サービスにパスキーを導入するハードルは今回調査・検証できていないですが・・・)

しばらくは、従来の認証方式と共存していきそうですが、今後パスキーが主流になる日が来るかもしれません。
利用者の立場としても、正しく理解して使っていきたいと思います。

参考文献


iOS・Androidも対応「パスキー」とはなにか? パスワード時代の終焉 - Impress Watch
「パスキー」って一体何だ? パスワード不要の世界がやってくる(1/4 ページ) - ITmedia NEWS
さよならパスワード 導入進む「パスキー」 | 日経クロステック(xTECH) (nikkei.com)
パスワードレス認証「パスキー」対応のアカウント総数は70億以上に、FIDOアライアンスが発表 - INTERNET Watch (impress.co.jp)
パスキーの概要 - Apple Developer
パスキーによるパスワードレス ログイン | Authentication | Google for Developers
仕様概要 - FIDO Alliance
ホワイトペーパー:マルチデバイス対応FIDO認証資格情報 - FIDO Alliance

最後までお読みいただきありがとうございました!