「パスキーのすべて」という本を書きました。1 月 28 日に発売する本書の内容について軽く紹介します。

パスキーのすべて
パスキーのすべて

「パスキーのすべて」は米国 OpenID Foundation 理事、OpenID ファウンデーション・ジャパン KYC WG リーダの小岩井さんと、OpenID ファウンデーション・ジャパン 理事・エバンジェリストのくらと一緒に書きました。小岩井さんとは昨年開催したパスキーハッカソンでもご協力頂きましたし、同じイベントで登壇する機会も多く、最近 FIDO 関連に限らず色々とお世話になっています。くらとはもう 10 年以上、ID 界隈のコミュニティで仲良くしてもらっています。二人共気の置けない愉快な仲間たちです。大まかに分担はしましたが、全員が全体に責任を持つという体制で執筆を行い、終盤は何度かみんなで技術評論社の会議室に篭って執筆・レビューするなど、作業そのものを楽しませて頂きました。編集の菊池さんには、休日にも関わらず大変お世話になりました。

本書はタイトルの通り、パスキーの技術的な側面だけでなく、成り立ち、エコシステム、周辺状況など、我々の知識を余す所なく盛り込んだ内容になっています。大まかな内容については目次を見て頂くのがベストと思いますが、個人的なハイライトをいくつかご紹介します。

  • PM やデザイナーが知っておくべき基本的な情報がまとまっている
  • エンジニアが知っておくべきパスキーの実装に必要なエッセンスが詰まっている
  • 上級者向けの情報をふんだんに盛り込んでいる

PMやデザイナーが知っておくべき基本的な情報がまとまっている #

はじめに
はじめに

本書は、パスキーに取り組むチーム内の幅広いメンバーに読んでもらうことを想定し、パスキーとは何か、使うことのメリット、パスキーのユーザー体験、事例、よくある誤解とその正解、落とし穴といった、PM やデザイナーの方にも役立つような情報を多く掲載しています。特に OS やブラウザ、パスワードマネージャーを跨いだ各プラットフォームのパスキー対応状況は、サービスをデザインする上で非常に役に立つのではないかと思います。

サポート環境
サポート環境

また、パスワードや二要素認証、ID連携など、すでに広く使われている認証方法の特徴や使用方法を紹介し、パスキー以外の認証方法にどういったものがあるのか、それらをどう扱うべきなのか、パスキーが使えなくなった場合にどうすればよいのかといった部分についても触れています。認証機能をデザインする上で考えなければならないのは、パスキーだけではありません。

エンジニアが知っておくべきパスキーの実装に必要なエッセンスが詰まっている #

本書では各種サンプルコードを掲載することで、基本的なユーザー体験に沿ったブラウザ側の実装や WebAuthn の API リファレンスだけでなく、サーバ側の実装方法についても掲載しています。また、Android や iOS のネイティブアプリ向けの実装についても紹介しており、特に日本語情報の少ない iOS アプリ向けにはサンプルコードも提供しています。

パスキーのUXを実装する
パスキーのUXを実装する

上級者向けの情報をふんだんに盛り込んでいる #

より広くパスキーを使ってもらうためには、様々な工夫が必要になります。そういったニーズに答えるため、上級者向けの情報もふんだんに盛り込んでいます。パスキーの保存先を知る方法、複数ドメインで同じパスキーを利用可能にする方法、Attestationとは何か、エンタープライズにおけるセキュリティキーを使ったパスキーの実装方法、クレデンシャルのペイロードの詳細、各種Extensionなどについてもカバーしています。

賞味期限の短いテクノロジー業界ですが、本書は、これから利用可能になることが期待される WebAuthn Level 3 の最新仕様もカバーしているため、この先 2 年は安心して参照できる内容になっています。

最後に #

パスワードは手軽に使える一方、落とし穴が非常に多く、誰もが安心して使うには注意事項があまりにも多過ぎ、その弊害としてアカウント乗っ取りが跡を絶ちません。パスキーは、正しく実装すれば誰でも使いやすく、今までの技術では実現できなかった安全性を確保してくれる認証機能です。まだ伸び代があるとはいえ、すでに機は熟しています。パスキーの実装を検討し始めるなら今です。

普段、仕事としてイベントやソーシャルメディア、たまに趣味としてこのブログや雑誌を通じてパスキーの情報を発信してきました。今回書籍というフォーマットにチャレンジしたのは、手元でまとまった情報を得られる媒体という安心感に改めて気付いた、という点があります。パスキーを学ぶのであれば、ぜひ本書をお手元に置いて取り組んで頂ければと思います。