先日の話なんだけど、ブログの記事を書いていたら突然、パスワードリセットのメールが飛んできた。WordPress.comで運用しているので、誰かが間違えてアカウント名を入力してパスワードをリセットしようとしたのかもしれないが、悪意のあるクラッキングのチャレンジの可能性も否定できない。
パスワードリセットのメールは、リセットのリクエストが本当のものなのかを確認するものなので、メール本文にあるURLを踏まなければ何も起こらない。ただ、間違えてクリックするだけでパスワードがリセットになるのも怖いし、今後もクラッキング被害に遭わないとはいえないので、これを機にセキュリティーを強化することにした。
そこで二要素認証を使ってみることにしたけど、WordPress.comでは二段階認証となっている。アプリやSMSによる認証を追加する方式なので結果としては同じだけど、厳密には二要素認証と二段階認証は異なる。
二段階認証とは、その名の通り認証のプロセスを二段階にする方式で、パスワードのほかにメールや秘密の質問、第二パスワードなどで追加の認証を求めるものである。二段階の認証ということだ。
それに比べて二要素認証とは、ふたつの要素に基づく認証ということだ。要素は3要素あり、知識情報(SYK: Something You Know)、所持情報(SYH: Something You Have)、生体情報(SYA:Something You Are)で、このうちのいずれかふたつで認証を行う。
パスワードは記憶しているので知識情報(SYK: Something You Know)となり、追加でアプリで認証を行う場合、モバイルデバイスなどの所持しているもののアプリで認証を行うので、所持情報(SYH: Something You Have)となる。
所持情報の認証でよく使われるのがTime-based One-time Password(TOTP)で、数字6桁が表示されて制限時間の円グラフが減っていき、ゼロになったら数字が更新されるというもので、一定の時間だけに生成された数字で認証を行うものだ。有名どころのアプリだと、Google AuthenticatorとかMicrosoft AuthenticatorやAuthyなどがある1。
僕の場合、パスワード管理1Passwordを使っていて、ワンタイムパスワードも一緒に管理する機能があるので、それを活用することにした。
WordPress.comの場合は設定はまずブラウザーから行うことになる。アカウントのアイコンを選び、アカウント情報の画面になったら「セキュリティ」メニューを選択する。「2段階認証」を選んで有効化すると手順が指示されるので、指示に従って有効化する。有効化する際のQRコードを1PasswordのワンタイムパスワードフィールドのQRコード読み取り機能で取得する。1PasswordですべてTOTPのワンタイムパスワードも管理できるので、別のアプリをインストールしなくてもいいのが便利だ。
WordPress.comの二段階認証は、TOTPを登録してもJetpsckアプリが別のデバイスにインストールされていれば、アプリから通知が表示され、アプリ上で認証を承認するという操作だけで二段回目の認証が完了することだ。いちいち、TOTPアプリを起動してワンタイムパスワードを入力しなくてもいいのだ。
あとはいざというときのバックアップコードをコピーしたり、印刷したり、ダウンロードすれば設定が完了だ。基本的に画面の指示通りに進めていけば問題なく設定できる。
ということで、セキュリティーを強化するなら二要素認証(二段階認証)を導入するといいことがわかった。
- 銀行などは自前のアプリの使用を強要するので無駄にインストールするアプリが増えるやつだ。 ↩︎