2020/06/09

一瞬で一日終わってしまうな…

 

やったこと

・AGC016A Shrinking:解説見た。最適解の求め方を考えてしまったが、全探索で良かったのか…

 

・安全なWebアプリケーションの作り方

5.1 認証

パスワードの文字種の数と桁数は、どちらかを少し増やすだけでパスワードの組み合わせ数を大幅に増加できる

パスフレーズ:短い単語の代わりに複数の語を利用するもの

パスワード認証を狙った攻撃への対策:アカウントロック

リバースブルートフォース攻撃:パスワードを固定してユーザIDを切り替えながらログイン試行する

パスワード攻撃が発生するとログイン失敗率が急激に上昇すると考えられる

メッセージダイジェスト:暗号学的ハッシュ関数を用いて計算したハッシュ値

ハッシュ解読対策のために、ハッシュ元データにソルトを加えてからハッシュ化する。ソルトにより見かけのパスワードを長くするとともに、ソルトをユーザ毎に異なるものにするtことで、パスワードが同じでも異なるハッシュ値が生成される。レインボーテーブル対策には、ソルトとパスワードを合わせた長さが20文字は必要

ストレッチング:ハッシュ計算を繰り返し行うことで、遅いハッシュ計算を遅くする

トークンによる自動ログインを実装する場合、クッキーのHttpOnly属性は必ずつけるべき

パスワードのマスク/表示処理、実装を注意しないと読み上げソフト利用時に入力中のパスワードを読み上げてしまう可能性もあり得る

ログイン失敗時のメッセージ:IDまたはパスワードが違うか、アカウントがロックされています