セキュリティ · 中級

パスワード、二要素認証、セッション

一行でいうと: 専用の遅いアルゴリズムでパスワードを保存し、二要素認証を有効にし、すべてのデバイスからのログアウトを可能にする。

保存

ユーザーごとにソルトを持つ、遅くメモリ集約的になるよう設計された専用のパスワードハッシュアルゴリズム。可逆な暗号化も速いハッシュも決してしない。

合理的な最小長さ、漏洩したパスワードリストに対するチェック、強制的な定期ローテーションなし——より悪いパスワードにつながる。

第二要素

認証アプリまたはハードウェアキー。SMSは何もないよりましだが弱い。バックアップコードを保持し、すべての保護を無効にしない回復パスを計画する。

セッション

期限付きトークン、サーバー側の取り消しオプション、ユーザーが見て切断できる接続デバイスのリスト。すべてのログインとすべてのパスワード変更でセッション識別子をローテートする。

さらに深く

アカウントとオリジンで試行を制限し、成長する遅延を追加する。そして重要なイベント——新しいデバイスからのログイン、メールの変更、二要素認証のオフ——についてユーザーに警告する。ユーザーはアカウント乗っ取りに最初に気づくことが多いからだ。