— WordPressのWebサイトをパスキー認証で運用 —
WordPressで運用のWebサイトを、スマートフォンなどの認証に使われているPasskey認証で運用する構成です。Passkey(パスキー)認証は、スマートフォンなどの指紋や顔などの生体認証をWebサイトの認証に利用した方式です。Passkey認証は従来までのFIDO2の規格を包含した上で、複数の端末でも使える仕様です。
Passkey認証のメリット
FIDOアライアンスが推進するPasskey認証は、スマートフォンなどの指紋、顔認証(生体認証情報)を利用して、Webサイトにログインできます。パスワード認証に代わる、より安全で便利な次世代の認証方式です。
Passkey認証には以下のようなメリットがあります。
安全性: Passkey認証は生体認証情報に基づいているため、不正ログインやフィッシング詐欺などのリスクを大幅に低減できます。
利便性: パスワード不要で、スマートフォンの生体認証機能で簡単にログインできます。
拡張性: スマートフォン以外にもPCなどの様々なデバイスと連携して利用ができます。
将来性: FIDO アライアンスは、Google / Apple / MicrosoftなどIT企業とPasskey認証の普及に取り組んでおり、多くのWebサイトでPasskey認証が利用可能になることが期待できます。
KeycloakとWordPressの連携
idP として動作するKeycloakはPasskey認証をサポートしており、WordPressと認証連携させることにより、WordPressサイトへのアクセス認証をスマートフォンの生体認証で簡単・安全に行うことが出来ます。
Passkey認証は従来のパスワードと異なり、漏洩や盗難の心配が少なく、より安全に各種サービスを利用できます。認証機能を持たないスマートフォン以外のパソコンなど、複数のデバイスからのPasskey認証でWordPressサイトへのアクセスにも対応しています。
WordPressやWebサイトで利用の場合、
- 任意のディレクトリにPasskey認証を設定
しての運用ができます。
クロスデバイス認証とは
クロスデバイス認証とは、スマートフォンのパスキー認証を利用して、認証機能を持たないPCなどの端末からターゲットのWebへ認証連携でアクセスさせる機能です。
Passkey認証 ✅ | クロスデバイス認証 ☑ | クロスデバイス認証 ☑ |
Bluetooth利用時のクロスデバイス認証の手順
- PC端末のブラウザでパスキー認証のターゲットのWordPressサイトへ
- PC端末のブラウザにQRコードを表示
- QRコードをスマートフォンでスキャン
- スキャンしたQRコードをスマートフォンでパスキー認証
- Bluetooth通信によりスマートフォンとPC間で認証連携
- PC端末のブラウザでターゲットのWordPressサイトへアクセス
同期パスキーとデバイスバウンドパスキー
FIDO2の拡張規格である 「Passkey 」認証 では、秘密鍵の保存に関して
- デバイス間で同期できる同期パスキー( Synced passkeys )
- デバイスに依存して保存・利用するデバイスバウンドパスキー( Device bound passkeys )
できる2種類のパスキーをサポートしています。
主な違い
項目 | 1. 同期パスキー |
2.デバイスバウンドパスキー
|
保存方法 | クラウドサービスを利用 | 特定のデバイス内に保存 |
利用方法 | 複数のデバイスで利用可能 |
1つのデバイスのみ利用可能
|
メリット | 紛失・故障時の復旧が容易 | より高い安全性 |
デメリット | セキュリティリスクがやや高い |
複数のデバイスで利用できない
|
パスキー対応ネットワーク構成
機器構成
- Webサーバー(WordPressを運用)
- パスキー認証のidP / Keycloakサーバー
- クライアントの機器( スマートフォンやPC端末 )
- ブラウザ( プラグイン不要 )
同期パスキーを利用の場合
- iCloudキーチェーン
- Googleパスワードマネージャー
などのクラウドサービスと連携
パスキー認証のidP / Keycloakの運用
Keycloakを簡単に構築運用できる ➡「Powered BLUE for idP」を利用します
Keycloakアプライアンスの主な機能
- サーバーの設定(Network / Firewall )
- ウィザードによるKeycloakの構成(スタンドアロンやクラスター)
- DB設定
- Keycloak のバックアップ、リストア、アップグレード
- SSLサーバー証明書登録 ( トラストストア対応 )
- keycloak へのアクセスポート ( 80 / 443 )
- リバースプロキシ構成 ( 80 / 443 )
- アクティブモニタ(サービス監視・再起動・管理者への通知)
- ベースOS AlmaLinux 9.x / RockyLinux 9.x / RedHat 9.x に対応
Passkey認証連携に対応のWeb / WordPressの運用
Passkey認証連携のWeb / WordPressを簡単に構築運用できる ➡「Powered BLUE Web 」を利用します
主な機能
- Web / Mai l / DNS / ftp (インターネットサーバー機能)
- 送信ドメイン認証 (DKIM / DMARC / SPF)
- ベースOS AlmaLinux 9.x / RockyLinux 9.x / RedHat 9.x に対応
Passkey認証連携のWeb / WordPressサイトを構築&運用できます
WordPressのWebサイト | 一般的なWebサイト |
同期パスキーの機器構成
A. 同期パスキー登録による、同期パスキーを登録した同じ機器での認証&WordPressサイトへのアクセス
➡ iPadでパスキー登録 ⇒ 同一のiPadで認証
➡ Android Galaxy A23でパスキー登録 ⇒ 同一のAndroid Galaxy A23で認証
パスキー認証 = ① Passkey認証端末 + ② ユーザー
B. 同期パスキー登録による、異なる機器でのクロスデバイス認証&WordPressサイトへのアクセス
➡ iPadでパスキー登録 ⇒ Note-PC / Desktop-PC で認証連携
➡ Android Galaxy A23 でパスキー登録 ⇒ Note-PC / Desktop-PC で認証連携
クロスデバイス認証 = ① PC端末 + ②Passkey認証端末 + ③ ユーザー
WordPress検証時のバージョンです(2024年6月)
* iOS 17.x 以降でクロスデバイス認証に対応
* Android 13 以降でクロスデバイス認証に対応
* Bluetooth 4.0以降でクロスデバイス認証に対応
デバイスバウンドパスキーの機器構成 例
C. デバイスバウンドパスキーによる認証&WordPressのサイトへのアクセス
➡ USB指紋認証器でパスキー登録 ⇒ USB指紋認証器で認証
パスキー認証 = ① PC端末 + ②USB認証器 + ③ ユーザー
WordPress検証時のバージョンです(2024年6月)
* 指紋認証器としては、USB接続の「FIDO2対応の製品」が利用できます(Yubiko / 他)
Keycloakの設定手順
- レルムの作成
- Webとの連携設定
- ロールの作成
- ユーザーの作成
- ロールのアサイン
- 認証フローの作成(Webauthn Passwordless もしくはWebauthn ポリシーの設定)
- Bind flow
- 認証ポリシーの設定
1.レルムの作成
今回は、「passkey-demo」というレルムを作成します
(レルムの作成 / 画面のクリックで拡大)
2. Webとの連携設定
Webサーバ側のxmlファイルをKeycloakの「Passkey-demo」のレルムに読み込ませます。またKeycloak側のxmlファイルをWeb側に登録して、KeycloakとWebの連携を構成します。
3.ロールの作成
今回は、「passkey-demo-role」を作成します
(ロールの作成 / 画面のクリックで拡大)
4.ユーザーの作成
今回は、ユーザーアカウント「passkey-demo-user」を作成します
( ユーザーの作成 / 画面のクリックで拡大)
5.ロールのアサイン
作成したユーザーアカウント「passkey-demo-user」へロール「passkey-demo-role」をアサインします
( ロールのアサイン / 画面のクリックで拡大)
6.認証フローの作成
Passkey認証に際しては、以下のいずれかを利用して
- Webauthn Passwordless Authenticator
- Webauthn Authenticator
ポリシーを設定して 例「passkey-demo-flow」という名称で保存します
今回は、Webauthn Authenticator を利用して設定します
( 認証フローの作成 / 画面のクリックで拡大)
7.Bind flow
作成した「passkey-demo-flow」ポリシーを、「Browser flow」へバインドします。今回作成の「passkey-demo-flow」がブラウザでのログインに適用されます。
8.認証ポリシーの設定
- Webauthn Passwordless Authenticator
- Webauthn Authenticator
の認証のポリシー(詳細)を設定します
今回は、Webauthn Authenticator を設定します
( 認証ポリシーの設定 / 画面のクリックで拡大)
ポリシー項目としては、今回は以下のような設定
項目 | 設定値 | 内容 |
リーディング・パーティエンテイティ | URL | KeycloakのURL 例 https://keycloak-passkey.xxx.com/ |
署名アルゴリズム | E256 | 認証に使用する署名アルゴリズム |
期待する構成証明伝達 | Not Specified | |
オーセンティケーター・アタッチメント | Not Specified | |
常駐鍵が必要 | Not Specified | |
ユーザー検証要件 | Requried | |
タイムアウト | 設定なし | |
許容可能なAAGUID | 指定なし | |
エクストラオリジンズ | 指定なし |
A. 同期パスキー設定 / 登録したiPad本体でのアクセス認証
パスキー認証 = ① Passkey認証端末 + ② ユーザー
- iPadのsafariブラウザでターゲットのWordPressサイトへアクセス ( https://target-web.xyz.com )
- Keycloakへリダイレクト ( https://keycloak-passkey.xxx.com/……. )
- ID / Passwd の入力(Webauthn Passwordless Authenticatorの場合にはパスワード入力不要)
- 初回はユーザーのTouch IDのPublic Keyの登録
- Passkey認証(Touch ID)
- 認証後にターゲットのWordPress サイトの表示 ( https://target-web.xyz.com )
1-2-3. keycloakへリダイレクト
ID / Passwd入力
4. 初回はユーザーのTouch IDの公開鍵(Public Key)の登録
パスキー(秘密鍵)の保存先を選択
例 同期パスキーの場合は iCloud キーチェーン を選択
KeycloakへPublick Keyを保存時のラベル名を設定
例 WebAuthn Authenticator passkey-demo
5-6. Touch ID 認証後にWordPressサイトへアクセス
* Android Galaxy A23 も同様の操作手順となります
B. クロスデバイス認証 / PCでのアクセス認証連携
クロスデバイス認証 = ① PC端末 + ②Passkey認証端末 + ③ ユーザー
ペアリング
事前に、PCとiPadをBluetoothでペアリングを行います
Bluetooth を有効( iPad / デスクトップPC / ノートPC )
- iPadとノートPCをペアリング( ノートPC内蔵のBluetoothを利用 )
- iPadとデスクトップPCをペアリング( Bluetooth対応のUSBアダプタを利用 )
- ペアリングしたPCのブラウザでターゲットのRoundcubeへアクセス
- Keycloakの認証画面へリダイレクト
- 端末の選択
- QRコードが表示
- QRコードをペアリング登録済のiPadのカメラでスキャン
- iPadでのPasskey認証(Touch ID)を行う
- iPadで認証後に、ペアリングしたPCのブラウザでターゲットのRoundcubeへSSO
1-2. PCのブラウザでターゲットのWordPressサイトへアクセス / Keycloakの画面にリダイレクト
3.パスキー認証時のペアリングの端末を選択
例 今回は、iPad を選択
4.PC側にQRコードが表示される
5-6. QRコードをペアリングのiPadのカメラでスキャンして
7.iPad のTouch IDでの認証後に、PCブラウザでターゲットのWordPressサイトの表示
* Android Galaxy A23 も同様の操作手順となります
C. デバイスバウンドパスキー設定でアクセス認証
パスキー認証 = ① PC端末 + ②USB認証器 + ③ ユーザー
事前に「FIDO2対応のUSB指紋認証器」をPCに接続して、Windows Helloの機能を利用して、USB指紋認証器に「指紋を登録」しておきます
利用者はFIDO2対応のUSBタイプのセキュリティキー「指紋認証器」をPCへ接続
Windows hello を利用しての「指紋認証USB」にpinコードの設定と指紋を登録します
1. 最初に「指紋認証USB」にpin コードを設定
2. 次に指紋を登録(複数の指の登録可能)
ここまでで、事前のUSBへの指紋登録の設定は終了です
デバイスバウンドパスキーでアクセスのステップ
- USBの指紋認証器を接続した「PCのブラウザ」でターゲットのWordPress Webサイトへアクセス
- Keycloakの認証画面へリダイレクト
- 初回はユーザーの指紋認証のPublic KeyをKeycloakへ登録
- 指紋認証後にPCブラウザでターゲットのWordPress のWeb表示
1-2. USBの指紋認証器を接続した「PCのブラウザ」でターゲットのWebサイトへアクセス
3. 初回はユーザーの指紋認証のPublic KeyをKeycloakへ登録
Keycloakへ登録のPublic Keyのラベル名を設定
例 WebAuthn Authenticator passkey-usb-finger
4. 指紋認証後にPCブラウザでターゲットのWordPressのWebサイト表示
Passkey認証導入の環境 / ハードウエア&ソフトウエアは対応済
ユーザー側のデバイスは、Passkeyによる顔認証・指紋認証に対応しています。またPCもBluetooth通信やUSB接続の指紋認証器を接続してPasskeyの利用ができます。
こんな用途
- Web / WordPress サイトの認証を強化したい
- Web / WordPress サイトを生体認証にしたい
- パスワードレス認証でWeb / WordPress サイトへアクセスをさせたい
などでは、KeycloakとPasskey認証連携に対応のWebシステムを導入することで、Web / WordPress サイトのPasskey認証を簡単に実現できます。