FIDOアライアンスという団体が、パスワードなしでの認証を可能にするためのFIDO2という規格を作りました。
今までのパスワード認証だと知識ベースの認証と言われているため、本人とは別の意図しないユーザーがログインを試すことができてしまいます。
それを防ぐために生体認証(指紋や顔)などの所有ベースの認証1を行うことで、ユーザー本人のみが対象のサービスにログインできるようにする仕組みです。
今回はその仕組みをWordPressに組み込むための手順を追っていきたいと思います。
この記事の対象読者
- WordPress管理者でMFA(多要素認証)によるログインを検討している方
- すでにMFAは導入しているが、ログイン時のパスコードの入力が煩わしく感じている方
- WordPress寄稿者でダッシュボードへのログインを不便に感じており、もっと簡単に安全にログインできる方法はないかと管理者に提案したいと思っている方
この記事を読んで得られるメリット
- WordPressのダッシュボードへのログイン時に、パスキーを使ったMFAログインができるようになります。
- パスワードを入力する必要がないので、フィッシングサイト(偽のサイト)などで誤って入力してしまいパスワードが流出してしまう危険性がない。
従来のMFAの設定について
WordPressで従来のMFAの設定については、以下記事を参考にしてください。
パスキーとは
FIDO標準に基づくパスキーは、パスワードに代わるもので、ユーザーのデバイスにまたがるウェブサイトやアプリへのサインインを、より速く、より簡単に、より安全にする。 パスワードとは異なり、パスキーは常に強固でフィッシングに強い。
Passkeyは、アプリやウェブサイトのアカウント登録を簡素化し、使いやすく、ユーザーのほとんどのデバイスで機能し、物理的に近くにある他のデバイスでも機能する。
Fido Alliance パスキー
設定
OwnID Passwordless Loginプラグインの追加
ダッシュボードにて「プラグイン」→「新規プラグインを追加」をクリックし、右上の検索ボックスにOwnID Passwordless Loginと入力します。その後「今すぐインストール」をクリックします。
有効化ボタンをクリックします。
「インストール済みプラグイン」をクリックし、OwnID Passwordless LoginのSettingsをクリックします。
OwnIDアカウント作成
「OwnID Console」のリンクをクリックします。
画面下部の「Sign up」のリンクをクリックします。
Name、Email、TouchIDを登録し、「Continue」をクリックします。
OwnID Applicationの作成
OwnID Consoleにログインされました。WordPress用に「Create Application」ボタンをクリックします。
App nameを入力し、ConnectorsとしてWordPressを選択し、「Next」ボタンをクリックします。
Your website URLにWordPressのURLを入力して、「Continue」ボタンをクリックします。
Appの作成が完了しました。
カスタムドメイン設定
左側メニューより、「My app」をクリックし、「Start now」ボタンをクリックします。
Own ID用のカスタムドメインを設定します。お持ちのドメインからサブドメインを作成します。Enter subdomain nameにサブドメインを入力し、Request Domainボタンをクリックします。
表示されたCNAMEレコードをお使いのDNSに登録します。登録方法はお使いのDNSの操作方法に従ってください。
カスタムドメインが検証されるとVerifiedと表示されます。
アプリケーション連携
「Integration」→「WordPress」の順にクリックし、OwnID settingsにある「App ID」と「Shared Secret」をコピーし、WordPressプラグイン側のOwnID settingsの「App ID」と「Shared Secret」にそれぞれ貼り付けて「変更を保存」ボタンをクリックします。
動作確認
動作確認するためにログアウトしましょう。
Touch IDでのログインができなかったので、まだ何か設定が足りない可能性があります。
これよりTouch IDの手順は2024/03/10 10:14 記載追加
私の環境の場合CDNとしてCloudflareを挟んでいるので、Cloudflare側でUnder Attackモードになっていることが原因でした。これをOffにすることによりTouch IDは有効になりました。
Touch IDの場合
Touch IDでWordPressにサインインする旨のポップアップが表示されますので、「続ける」をクリックします。
Touch IDで指紋をスキャンするとログイン完了です。
1Passwordの場合
指紋ボタンをクリックします。
1Passowrdの通知が出てくるのでSign Inボタンをクリックします。
ダッシュボードへログインされます。
QRコードログイン
この機能はただのワンタイムパスワードログインと変わらない印象でした。
指紋ボタンをクリックします。
iPhoneのカメラで読み込むとどの方法でログインするか聞かれます。ですが上のiPhone, iPad or Android deviceを選んでしまうとまたQRコードが表示されてしまうので意味がありません。ここは右上のXで閉じます。
すると対象のアカウント宛にメールが届くので4桁の数字を入力します。
ログインが完了した旨の画面に遷移し、ダッシュボードへログインされます。
まとめ
- WordPressとOwnIDを連携させて、パスキーを使ったログインができるようになりました。
iPhoneのFace IDやMacbookのTouch IDでログインできることを期待していましたがそれは叶いませんでした。何か他にも設定が必要かもしれません。私の環境が原因でした。私の環境ではCDNとしてCloudflareを使っており、Under AtackモードになっていたことによりJavaScriptがうまく動作しなかったようです。- QRコードのログインはどれもできなかった場合の最後の砦的なログイン方法かと思われます。
私の場合パスワードマネージャに1Passwordを使っているので、パスキーログインはできましたが、iPhoneやMacbookの標準の生体認証を使ってログインできないのは今後の課題となりました。パスワードマネージャが1PasswordであろうがKeyChaninであろうがきちんと動作するところまで確認できました。
- 生体認証≠所有ベースの認証です。所有ベースの認証は物理的に持っていることを証明することです。2024/03/10(日)16:37追記 ↩︎
最後に
2024/01/27(土)にこのブログを立ち上げました。
目的は自身の為の技術情報の記録とITで困っている皆さんの問題を解決できればいいなと思って始めました。
このブログ自体はConoHa WINGのWordPressを使って運営されています。2024/01/27(土)時点で¥10,786/年で運営できており、月換算だと¥898/月となっており¥900を切っている安さです。
それでいて独自ドメインが付いてくるのでかなりお買い得なのでおすすめです。
勿論はてなブログなどその他多くの無料ブログサイトがありますが、アフィリエイト広告の掲載に制限があったりなど、色々と規約があり面倒臭そうです。
その点自身でWebサイトを立ち上げれば自由に広告を貼れるので、その辺りの面倒臭さから解消されます。
アフィリエイト広告で副収入を得てみたいという方は、ConoHa WINGは安いのでいかがでしょうか。
まだ私はブログで副収入0なので、がんばりまっす!
コメント
「Apple社が主導で立ち上げたFIDOアライアンスという団体」とありますが、AppleがFIDOアライアンスに加盟したのはかなり後で、パスキーを発表する直前です。他社によるそれまでの長い積み重ねがあってこそ実現したことですので、訂正をお願いします。
ご指摘ありがとうございます。間違い訂正致しました。