(※この記事は、2023年5月29日に更新されました。)
ユーザがパスワードを忘れてしまった際には、システムからパスワードリセットメールを配信します。
しかし、パスワードリセットメール設計が不適切だとメールがユーザに届かなかったり、認証手続きの不備でセキュリティ事故につながってしまう可能性があります。
メールを確実に受信者に届け、安全にパスワードリセットを行うためにどのようなことに意識するべきでしょうか。
本記事では、「パスワードリセットの流れ」と「自動送信メールのベストプラクティス」を解説します。
認証機能があるシステムを構築する方は、ぜひ参考にしてください。
トランザクションメールの配信に強みを持つメール配信ソフトです。ダッシュボードからメールの配信状況を確認・エラーメールへの迅速な対応が可能 🔧
パスワードをリセットすることを促すためのトランザクションメールです。
ユーザーがパスワードを忘れてしまったため、パスワードをリセットしたい場合や、不正アクセスの疑いがあるためパスワードのリセットを促す際に送信されます。
メールの内容は、アカウント情報を変更するためのリンクや一時的利用のためのワンタイムパスワードなどが記載されています。
ユーザがパスワードを忘れた場合に備えて、ほとんどのログイン画面には「パスワードを忘れた場合」というリンクが設けられています。
このリンク先から自身のアドレスを入力するとシステムからメールが届き、送られてきたメールからパスワードの復旧が可能になります。
この時、セキュリティ対策が不十分だと第三者が勝手にパスワードを変更してしまいアカウントの乗っ取りが発生する恐れがあります。
システム開発者は、ユーザの利便性とセキュリティを維持しつつ、認証とパスワードリセットを行う必要があります。
まず、パスワードを忘れたユーザに対してメールアドレス・ユーザIDを入力を要求します。
この時、入力されたメールアドレスやユーザIDが実際にシステムに登録されているかどうかは、入力者からはわからないようにします。
具体的には
「登録されているアドレスにメールを送信しました。メールが届かない場合にはアカウントが存在しないか、入力したメールアドレスが間違っています。」
のように、アカウントの有無を特定しないメッセージ設計を行いましょう。
理由としては、悪意のある第三者がユーザIDやアドレスをランダムに打ち込んでいる際に、アカウントが存在していることがわかるメッセージが表示されると重点的に攻撃されてしまう可能性が高まるためです。
入力されたメールアドレス・ユーザIDが存在した場合は、次にユーザ認証を行います。
ユーザ認証では、ランダムに生成されたトークンを付与したURLを作成して、ユーザに対してメールで送付する方式が推奨されています。
ユーザIDによってユーザが知っている情報に対する認証(知識要素)を行い、メール送信によってユーザが持っている端末に対する認証(所有要素)での多要素認証を実現できます。
「秘密の質問」を用いているサービスがありますが、「秘密の質問」は知識要素に該当するため「秘密の質問」と「ユーザID」のように、知識要素のみでの認証は信頼性が低く推奨されません。
ユーザ認証後、システム側でパスワードリセットを行います。
第三者の不正操作があった場合にユーザが気がつけるよう、パスワードリセット後は完了メールで通知しましょう。
この時、再設定されたバスワード自体を完了メールに記載してはいけません。
また、パスワードリセット後はトークンを付与したURLを利用できないように無効化します。
何度も利用できてしまうと、第三者にURLが知られた場合にアカウント乗っ取りの危険があるためです。
トランザクションメールの配信に強みを持つメール配信ソフトです。ダッシュボードからメールの配信状況を確認・エラーメールへの迅速な対応が可能 🔧
パスワードリセットの手順を理解した後は、実際にパスワードリセットメールの内容の検討を行いましょう。
メールの内容がわかり辛かったり、パスワードリセットまでのステップが多すぎるとユーザ満足度の低下を招いてしまうため注意が必要です。
ここではパスワードリセットメールに含めるべき内容を3つ解説します。
前章でも解説したトークン付きのURLを記載します。
ユーザが最も必要としているのはこのリンクのため、本文のわかりやすいところに明記しましょう。
送信者企業がどこであるかが一目でわかるようにしましょう。
認証情報を変更する際にはユーザも慎重になっているため、不審なメールと間違われるような内容のメールを送ってしまうとシステムへの信頼低下を招いてしまいます。
信頼性向上のために自社のロゴマークを入れるなどして送信者を明確にしましょう。
前章では、パスワードリンクは一度使用したら停止するということを解説しました。
しかし、機密情報を扱うシステムでは使用後に利用不可にするだけではセキュリティとしては不十分です。
リンクが使われていない場合でも、トークン発行から一定時間後に使用できなくなるように設定することをお勧めします。
パスワードリセットメールは、ユーザの依頼に応じてシステムから自動配信されます。
このようなユーザからのアクションに応じて自動配信されるメールをトランザクションメールといいます。
トランザクションメールを遅延なくユーザのもとに届けることで、システムへの信頼性向上につながります。
本章では、トランザクションメールを確実にユーザに届けるために意識すべき点を解説します。
近年、企業のトランザクションメールになりすましてアカウント乗っ取りを行うという事例が発生しています。
毎回送信者のアドレスが異なると、メールが本当に企業から配信されたものかなりすましによるものかの区別がつかずユーザに不信感を与えてしまいます。
なりすましの対策のために企業側はIPレピュテーションを良好に保った固定のIPアドレスからメールを配信するようにしましょう。
トランザクションメールには、マーケティングメールやプロモーションメールのように広告情報を記載するべきではありません。
ユーザの希望はパスワードをリセットすることであるため、関連のない情報が多いメールを配信してしまうとユーザからの好感度が低下してしまいます。
メールの本文には必要な情報を端的に記載するよう心がけましょう。
マーケティングメールとは異なりトランザクションメールは、配信停止方法を記載する義務はありません。
しかし、受信サーバ側では迷惑メールを区別するための手段として配信停止方法の記載有無を確認しているケースがあります。
そのため、配信停止方法を記載しておくことで迷惑メールに振り分けられる可能性を下げることができます。
認証機能を持つシステムにおいて、パスワードリセット機能は必要不可欠です。
一方で、設計を誤るとユーザアカウントの漏洩やアカウント乗っ取りの危険性があります。
また、パスワードリセットメールの内容次第では、受信サーバで迷惑メールとして振り分けられてしまい、受信者の手元まで届かないこともあります。
認証の流れやトランザクションメールを配信する上でのポイントを理解し、安全性の高いパスワードリセットを実現しましょう。
加えて、到達率の高いトランザクションメールを送りたい場合はメール配信ソフトを利用することもおすすめです。
クラウドメール配信システムのMailer To Goは、herokuのアプリケーションから独自のドメインを用いてメールを送信することができます。
サービスの利用開始後すぐに到達率が99%のトランザクションメールを送信することが可能です。
アプリ開発でメール配信が必要となる場合には、ぜひ試してみてはいかがでしょうか。
おすすめ記事:トランザクションメールとは?到達率を高めるコツとマーケティングメールとの違い
おすすめ記事:問い合わせ自動返信メールの例文5ケース!自動返信メール作成のポイント解説
トランザクションメールの配信に強みを持つメール配信ソフトです。ダッシュボードからメールの配信状況を確認・エラーメールへの迅速な対応が可能 🔧
Mailer To Goは、高い到達率とスムーズなインテグレーションが特徴的なディベロッパーのためのクラウドメール配信システムです。最短で当日からメールを送信できます。
メールを送ってみる