読み込み中…

パスキーのすべて ── 導入・UX設計・実装

パスキーのすべて ── 導入・UX設計・実装

通常価格 3,300 円(税込)
通常価格 セール価格 3,300 円(税込)
SALE 売り切れ
ネットストア在庫 詳細
    読み込み中...
My店舗在庫
    My店舗登録で在庫確認と店舗お受け取りのご利用が可能になります。(要ログイン)
  • 在庫表示のサンプル
商品説明
本書のテーマは、パスワードレス認証を実現する「パスキー」です。パスキーはApple、Google、Microsoftといった3大プラットフォーマを含む多くの企業が協力して開発している認証技術で、大手から中小企業までさまざまなサービスで導入が進んでいます。

「パスキーとは?」の疑問に答えるとともに概要はもちろんのこと、従来の認証技術の課題と比較して何が優れているのか、パスキーの導入で知っておくべき特性、パスキーの登録・認証・管理画面などのUX設計、WebサイトだけでなくiOSやAndroidの具体的な実装について徹底解説をします。

パスキーが登場する以前の歴史から最新の仕様まで「パスキーのすべて」がここに詰め込まれています。パスキーというキーワードが気になった方にはぜひ手にとっていただきたい一冊です。
目次
第1章
パスキー導入が求められる背景 ── 既存の認証方法とパスキーの背景を知ろう

1.1 パスワード
  パスワード認証のしくみとその問題点
  パスワードマネージャー
1.2 二要素認証
  二要素認証とは何か
  SMS OTP
  メールOTP
  TOTP
  プッシュ通知
  セキュリティキー
[Column]NIST SP 800-63
1.3 パスワードレス
  マジックリンク
  SMS認証
1.4 ID連携
1.5 まとめ
[Column]公開鍵暗号をざっくりと理解する

第2章
パスキーを理解する ── パスキーの特徴や利点を理解しよう

2.1 WebAuthnとFIDO2の登場
  デバイス認証
  ローカルユーザー検証
  デバイス認証の欠点
2.2 パスキーの登場
  ディスカバラブル クレデンシャル
  パスキープロバイダを使ったパスキーの同期
  同期パスキーとデバイス固定パスキー
  本書でのパスキーの定義
[Column]ディスカバラブルでないクレデンシャル
2.3 パスキーの何が優れているのか
  リモート攻撃が難しい
  脆弱なクレデンシャルを作ることができない
  公開鍵が漏れてもアカウントが盗まれる危険性は低い
  フィッシング攻撃に強い
  ログイン体験がシンプル
2.4 パスキーのよくある誤解を解く
  デバイスを失くしたらパスキーが使えなくなるのでは?
  パスキーを使うと生体情報が収集されるのでは?
  パスキーはトラッキングに使うことができるのでは?
  パスワードマネージャーの事業者は秘密鍵にアクセスできるのでは?
  Webサイト側で保存する公開鍵は暗号化しておく必要があるのでは?
  同期パスキーよりも同期しないパスキーのほうが安全なのでは?
  パスキーは二要素認証で利用するもの?
[Column]パスキーは多要素認証ではない場合もあるのでは?
2.5 パスキーも銀の弾丸ではない
  セッションCookieが盗まれたら?
  PINを盗み見たうえでデバイスを盗まれたら?
  パスワードマネージャーのログインアカウントが乗っ取られたら?
  パスキーにアクセスできなくなったら?
2.6 まとめ
[Column]アカウントのライフサイクルとパスキーの関係性

第3章
パスキーのユーザー体験 ── パスキーの体験をイメージしよう

3.1 パスキーによるアカウントの新規登録
3.2 既存アカウントへのパスキーの登録
  ログイン直後にパスキー登録を促すプロモーションを表示する
  パスキーの管理画面にパスキー登録ボタンを表示する
  アカウントリカバリ時に、新しいパスワードの代わりにパスキー登録ボタンを表示する
  パスキープロバイダからの誘導で登録する
  パスワードログイン時に自動的にパスキーを登録する
3.3 パスキーによる認証
  ワンボタンログインによるパスキー認証
  フォームオートフィルによるパスキー認証
3.4 パスキーによる再認証
  パスキーによる再認証フロー
3.5 クロスデバイス認証
3.6 パスキーの管理画面
  パスキーの一覧
  新規登録ボタン
  テストボタン
  ケーススタディ
3.7 まとめ
[Column]パスキーの他人との共有
[Column]クロスデバイス認証のしくみ

第4章
サポート環境 ── ユーザーの環境ごとに利用できる機能を確認しよう

4.1 ユーザーエージェント
  ブラウザ
  ネイティブアプリ
  WebView
  アプリ内ブラウザ
4.2 パスキープロバイダ
  パスキーの保存先
  主なパスキープロバイダ
4.3 OSごとの挙動
  Windows
  macOS
  iOS、iPadOS
  Android
  ChromeOS
  Linux
4.4 まとめ

第5章
パスキーのUXを実装する ── UXの実現に必要なメソッドやパラメータを知ろう

5.1 共通処理
  パスキー作成リクエストのサーバからの取得と作成レスポンスのサーバへの返却
  パスキー認証リクエストのサーバからの取得と認証レスポンスのサーバへの返却
5.2 パスキー登録UXの実装
  パスキーが登録できる環境かを検知する
  パスキー作成リクエスト
  サーバ処理
5.3 パスワードログイン時に自動でパスキー登録するUXの実装
5.4 ワンボタンログインUXの実装
  パスキーで認証できる環境かを検知する
  ワンボタンログイン認証リクエスト
  サーバ処理
5.5 フォームオートフィルログインUXの実装
  フォームオートフィルログインが利用できる環境かを検知する
  フォームオートフィルログイン認証リクエスト
  サーバ処理
5.6 再認証UXの実装
  ワンボタンログイン方式の再認証リクエスト
  フォームオートフィルログイン方式の再認証リクエスト
  サーバ処理
5.7 クロスデバイスUXの実装
  クロスデバイスのパスキー作成リクエスト
  サーバ処理
  クロスデバイス認証後にパスキー登録を訴求する
5.8 パスキー作成・認証の中断操作の実装
5.9 管理画面UXの実装
  パスキーの一覧
  新規登録ボタン
  テストボタン
  パスキー削除とユーザー名・表示名の変更の注意点
5.10 まとめ
[Column]PINを使わず、生体認証だけでパスキーを利用できるようにすることはできますか?

第6章
WebAuthn APIリファレンス ── クライアントとサーバの実装の詳細を確認しよう

6.1 実装の概要
  クライアント
  Relying Party
  認証器
6.2 パスキーに関する各種機能が利用可能かを確認する
  プラットフォーム認証器の利用可否
  フォームオートフィルログインの利用可否
  利用可能な機能をまとめて確認する
6.3 パスキーを作ってみる
  パスキーを作成する
  パスキー作成リクエスト ── 呼び出しパラメータの概要
  パスキー作成レスポンス ── 返却パラメータの概要
  サーバ処理
6.4 パスキーを使って認証してみる
  パスキーを使って認証する
  パスキー認証リクエスト ── 呼び出しパラメータの概要
  パスキー認証レスポンス ── 返却パラメータの概要
  サーバ処理
  事前準備
  パスキー認証リクエストの生成
  パスキー認証レスポンスの検証
6.5 パラメータの深掘り
  authenticatorSelection
  authenticatorSelection.authenticatorAttachment
  authenticatorSelection.userVerification
  excludeCredentials
  allowCredentials
6.6 まとめ
[Column]パスキーの同期を禁止する方法はある?

第7章
スマホアプリ向けの実装 ── AndroidとiOSにおける実装を確認しよう

7.1 iOS/iPadOS
  ASWebAuthenticationSessionを利用して、Webサイト上でパスキーでログインし、その結果を受け取る
  ASAuthorizationPlatformPublicKeyCredentialProviderを利用して、ネイティブで実装する
7.2 Android
  Custom Tabsを利用して、Webサイト上でパスキーを使用し、その結果を受け取る
  Credential Managerを利用して、ネイティブで実装する
  originの扱いについて
7.3 まとめ
[Column]アプリで利用している生体認証とパスキーは何が違うの?

第8章
パスキーのより高度な使い方 ── より効果的な活用とUX向上方法を知ろう

8.1 パスキーの保存先パスキープロバイダを知る
8.2 パスキーが作成可能なことをパスキープロバイダやブラウザに知らせる
  AndroidのGoogleパスワードマネージャーの挙動
8.3 複数ドメインで同じRP IDのパスキーを利用可能にする
  ブラウザサポート状況とRelated Origin Requests利用判定方法
  類似する機能の補足
  Related Origin Requests以外の実現方法
8.4 パスキーの表示名変更や削除をパスキープロバイダに通知する
  見つからないパスキーを削除する
  パスキーのリストを更新する
  パスキーのユーザー名と表示名を更新する
8.5 より高いセキュリティのためのセキュリティキー
  セキュリティキーが求められるユースケース
  セキュリティキーによる認証を強制するには
8.6 認証器の信頼性を証明するためのAttestation
  認証器を判別するしくみ
  Attestationの種類
  Attestationの要求と検証方法
  Attestation Objectを構成するパラメータ一覧
8.7 ユーザーがパスキーにアクセスできなくなったらどうする?
  パスキーだけではダメなのか
  アカウントリカバリの方法
  認証方法やアカウントリカバリに正解はない
8.8 まとめ

第9章
パスキー周辺のエコシステム ── 標準化の流れや開発者向け情報を確認しよう

9.1 パスキーの仕様を読み解くための手引き
  W3C(World Wide Web Consortium)
  WebAuthn仕様の策定経緯
  Credential Managementのクレデンシャルタイプ
  FIDOアライアンス
  UAF
  U2F
  CTAP
  FIDO関連仕様の一覧
9.2 パスキーの実装をサポートするエコシステム
  認定プログラム
  開発者向けリソース
9.3 まとめ

付録A
クライアント用Extensionの解説 ── 後方互換や先進的な活用のための拡張機能をみてみよう

A.1 FIDO AppID Extension(appid)
A.2 FIDO AppID Exclusion Extension(appidExclude)
A.3 Credential Properties Extension(credProps)
A.4 Pseudo-random function extension(prf)
A.5 Large blob storage extension(largeBlob)
A.6 Extensionの利用可否を判定する

付録B
iOS実装サンプル ── サンプルアプリを動かしてみよう

B.1 概要
B.2 動作の紹介
B.3 動かす方法
詳細を表示する

カスタマーレビュー

honto本の通販ストアのレビュー(0件)

並び順:
1/1ページ

最近チェックした商品