2023 年だけで、サイバー犯罪者は 330 億件の記録を盗むでしょう。データ侵害を特定するのに平均 196 日かかります。データ侵害のコストは 2020 年までに 1 億 5000 万ドルに達するでしょう... これらの数字は恐ろしいかもしれませんが、これはあくまで予測です。近い将来、状況はさらに悪化する可能性があります。セキュリティはここ数年のホットな話題となり、地球上のほぼすべての人が企業のデータ侵害や、誰かがハッキングされたために Facebook アカウントを失った友人について聞いたことがあるでしょう! 現在、誰も完全に安全ではありません。
最近、私は自分が持っているすべてのアカウントがユニークなパスワードを使用し、少なくとも 20 文字以上の複雑で長いもので、可能であれば二要素認証(2FA)を有効にしていることを確認するために数時間を費やしました。企業間の多くの不一致や、機能やユーザーエクスペリエンスに関する多くの問題を発見しました。この記事では、ユーザーのセキュリティを真剣に考えるウェブサイトや企業にとって、私が考える最良かつ推奨される機能を共有したいと思います。
二要素認証オプションを提供する#
それが出発点です。
ユーザーや顧客を気にかけるのであれば、二要素認証を有効にする選択肢を与えるべきです。私がアカウントを持っている約 800 のウェブサイトのうち、わずか 5% が 2FA オプションを提供しています。高度に機密性の高い情報がない場合、2FA を提供するのは過剰だと主張する人もいるかもしれません。しかし、個人情報はすべて機密性が高いと見なされる可能性があります。
ユーザーとそのセキュリティを気にかけるのであれば、2FA を有効にするオプションを与えてください。以上です。
ユーザーに 1 つの 2FA メソッドのみを選択させない#
Google、Facebook、Twitter... 彼らはすべて、テキストメッセージ、認証アプリ、セキュリティキーの同時使用方法を提供しています。一般的には、少なくともテキストメッセージと認証アプリで、セキュリティキーは特定のサービスでのみ設定されるようです。
しかし、Etsyを見て驚きました。彼らは UI でトグルを使用して、1 つのオプションのみを選択させるように強制しています。元々そのように設計されていたのかどうかもわかりません。
The two-factor options on Etsy
Bit.lyやbooking.comは、他の手段として電話を 2FA デバイスとしてのみ使用することを許可しています。したがって、電話とメールへのアクセスを失うと、困ってしまう可能性があります。
The verification code view on Booking.com
MailchimpやTumblrは、逆に認証アプリを使用した 2FA のみを提供しています。
Zapierは素晴らしいステップバイステップの 2FA 設定を提供しており、私が見つけた中でおそらく最良のものの 1 つです。彼らは複数の補完的な方法を提供し、「アカウントにロックアウトされ、認証デバイスと回復コードの両方を失った場合」と具体的に説明しています。ユーザーは、電話番号を提供することが、他の接続方法を失った場合にアカウントにアクセスできる追加の方法であることを理解します。
The two-factor set by step setup on Zapier
QR コードを画像にする#
私はかなりの間1Passwordを使用しており、QR コードをスキャンするモーダルが常に QR コードを見つけるわけではありません。その場合、QR コードをそのモーダルにドラッグアンドドロップして認識させることがありました。しかし、これはコードが画像である場合にのみ機能します。
保存またはドラッグアンドドロップできる画像形式で持つことをお勧めします。
例えば、Redditは QR コードを画像として提供していません。幸いなことに、すべての人が認証アプリケーションで使用できる QR コードのテキストバージョンを提供しています。
メールで送信するコードは、アプリやウェブサイトで要求された形式と同じ形式を保つ#
これは私にとって一度だけ起こったことです。Instagram で起こりました。
Instagramが SMS で「確認コード」を送信する際、スペースが含まれていました。そのコードを必要な場所にコピー&ペーストすると、最初に入力はスペースを受け付けず、最後の数字がペーストに含まれません。これは簡単に修正できる煩わしい問題です!
Instagram verification SMS code
回復 / バックアップコードを持つオプションを提供する#
声に出して言うと奇妙に聞こえますが、多くのウェブサイトは 2FA を有効にする際にバックアップ / 回復コードを提供しません。これは最初は驚きでした、2FA は、電話、メール、またはランダムな番号を生成するために使用するアプリへのアクセスを失った場合に常にバックアップコードを持つことを意味します。最近では、一部のウェブサイトはそのオプションを提供していません。私はそれらに非常に注意を払う傾向があります。
KickstarterやWPEngineは、回復 / バックアップコードを提供しないウェブサイトの例です。彼らがそれを改善できることを願っています。
The Kickstarter security modal
回復コードをダウンロードするオプションを常に提供する#
ほとんどのウェブサイトは回復コードをコピーするオプションを提供しています。これは最良の選択肢ではありません。
それを持つことは良いことですが、十分ではありません。私は個人的にすべての回復コードを複数の場所に保存しています:1 つはDropbox のボールトです。単純なテキストファイルをドラッグアンドペーストするだけで簡単で迅速です。
コピーのみのオプションを提供する場合、ユーザーは次のことを強制される可能性があります:
- テキストエディタを開く
- コードをペーストする
- 名前を付ける
- デバイスにファイルを保存する
テクノロジーはユーザーの時間を節約するために存在します。
例えば、Slackは「コードを印刷する」ことを許可していますが、ダウンロードすることはできません。なぜでしょうか?私は単純なテキストファイルの代わりに PDF を生成しなければなりません。最良のユーザーエクスペリエンスではありません。
The Two-Factor Authentication Backup Codes modal on Slack
回復コードのテキストファイルには、常にこれらのコードがどのプラットフォームから来ているかを書く#
Facebook でさえ間違いを犯すことがあり、これは私にとって重要です。現在、Facebook から回復コードをダウンロードすると、ファイルを開いても Facebook やアカウント名の言及が見つかりません。ファイル名facebook_recovery_codes
は役立ちますが、私の意見では十分ではありません。アカウント名とプラットフォーム名は最低限必要です。
さらに有用にするために、コードが生成された日付を追加することもできます。
良い例である Google は、ファイル名にユーザー名を使用し、さらに以下を追加します:
バックアップコードを保存してください
これらのバックアップコードを安全でアクセス可能な場所に保管してください。
コードのリスト
([email protected])
* 各バックアップコードは一度だけ使用できます。
* もっと必要ですか? https://g.co/2sv を訪問してください。
* これらのコードは次の日付に生成されました:日付、2021年。
ユーザーに回復 / バックアップコードを再生成する機能を許可する#
ユーザーに回復コードを再生成する能力を与えることは重要です。一部のウェブサイトはこの便利なオプションを提供していません。
1 つ以上のコードを提供する(かもしれません)#
これはそれほど重要ではありませんが、回復 / バックアップコードに関する重要な違いを言及したいと思います。
ほとんどの企業は、使用できる複数のコードのリストではなく、1 つのコードのみを提供しています。どちらのアプローチを擁護するのが難しいですが、1 つ以上のコードを持っていると気分が良くなることは知っています。
セキュリティキーについて#
セキュリティキーは、アカウントを保護するための一般的でない方法です。公人や高い責任を持つ人であれば、セキュリティキーを持つことで少し安心感を得られるかもしれません。しかし、普通のユーザーにとっては過剰かもしれません。それでも、私は自分のアカウントのセキュリティを最大限に高めたいと思い、最近Titan Security Keyを Google から購入しました。USB バージョンはどのコンピュータでも動作し、Bluetooth バージョンは iPhone や iPad を使用している場合に使用します。
The box of the Titan Security Keys by Google
どちらも安くはありませんが、セキュリティは「無制限の予算」の一部であるべきです、食べ物と同様に。
結論#
私はセキュリティの専門家ではなく、セキュリティに関する知識は限られています。しかし、ソフトウェアエンジニアとして、特にユーザーとして、ほとんどのプラットフォームがユーザーの安全なアクセスを確保するためのすべてのツールを実装するまでには長い道のりがあると信じています。
要約:
- 二要素認証オプションを提供する
- ユーザーに 1 つの 2FA メソッドのみを選択させない
- QR コードを画像にする
- メールで送信するコードは、アプリやウェブサイトで要求された形式と同じ形式を保つ
- 回復 / バックアップコードを持つオプションを提供する
- 回復コードをダウンロードするオプションを常に提供する
- 回復コードのテキストファイルには、常にこれらのコードがどのプラットフォームから来ているかを書く
- ユーザーに回復 / バックアップコードを再生成する機能を許可する
- 1 つ以上のコードを提供する(かもしれません)
お読みいただきありがとうございます。これらの提案が、より良い UX を実現し、2FA の実装を改善するのに役立つことを願っています。
コメントで何でもお気軽にお尋ねください!