パスワードを保護するためにWebサイトがハッシュに塩を振りかける必要がある理由

[ware_item id=33][/ware_item]

パスワードを保護するためにWebサイトがハッシュに塩を振りかける必要がある理由


欠点はありますが、パスワードは依然としてWebでの認証の事実上の標準です.

ExpressVPNは、Dicewareを使用して安全なパスワードを作成し、パスワードマネージャーを使用して、2要素認証を使用してアカウントの周りに別のセキュリティ層を構築する利点について既に書いています。.

しかし、舞台裏で何が起こるのでしょうか?パスワードを保護するためにウェブサイト運営者がとることができる、そしてすべき措置?

コンピューターハッキングの誕生

パスワードを使用した最初のコンピューターシステムは、1960年に建設されたマサチューセッツ工科大学の互換性のあるタイムシェアリングシステムでした。タイムシェアリングにより、コンピューターを分割し、複数のワークステーションとして使用できました。.

それでも、ワークステーションよりも研究者が多く、ユーザーにはシステムの限られた時間しか割り当てられていませんでした(かなり使い果たしている人もいます)。研究者が制限内に留まるようにするために、それぞれにログインするための一意のパスワードが割り当てられました.

しかし、もちろん、最初のパスワードで最初のハッカーが来ました。 1人の研究者であるAllan Scherrは、ユーザーがパンチカードを介してファイルを印刷できるシステムを利用しました(1960年代にはコンピューターには画面がありませんでした)。 Scherrはパスワードを保存したファイルを見つけて印刷し、他のユーザーとしてログインし、コンピューターをより長く使用できるようにしました。.

今日、ロシアのソーシャルメディアサイトVK.comの2016年のハッキングは、一部の大規模サイトがまだそうしていることを示していますが、パスワードをシステムにクリアテキストで保存することは非常に怠慢であると考えられています。 1億人のユーザーのVK.comパスワードが盗まれ、現在販売されています.

ハッシュ関数が一方通行である理由

ハッシュ関数は一方向の暗号化であり、指紋のように機能します。すべてのファイル、単語、またはテキスト文字列は、ハッシュ「フィンガープリント」と呼ばれ、元のファイルの正確なコンテンツを一意に識別します.

ハッシュは情報を決定するために使用できますが、データが表すものではありません。ハッシュがどのように機能するかを想像する1つの簡単な方法は、数字の合計(すべての数字の合計)です.

9807347の桁の合計は9 + 8 + 0 + 7 + 3 + 4 + 7 = 38です

987347の桁の合計が38であるのは簡単ですが、38の数字から987347を計算することはできません.

ハッシュで安全なパスワードさまざまなテキスト文字列と画像ファイル用のSHA-256ハッシュ.

SHA-256は順列の世界を提供します

信じられないほど、256ビットは一意に識別するのに十分な長さの出力です 観測可能な宇宙のすべての原子 (2 ^ 256 = 1.157920892×10⁷⁷).

ただし、理論的には、同じSHA-256ハッシュを持つ2つの異なる値が存在する可能性があります。このようなイベントはハッシュ衝突と呼ばれ、ハッシュ関数のセキュリティはそれらが発見できないことに依存しています.

SHA-2(SHA-256はバリアント)の前身である、かつて人気のあったSHA-1アルゴリズムは、ハッシュ衝突に対して脆弱であることが知られています。注目に値しますが、誰も見つけたことがありません.

かつて人気があったもう1つのハッシュであるMD5には非常に多くの脆弱性があったため、ファイルの悪意のある改ざんに対する有用な防御にはなりませんでした.

パスワードの暗号化とは別に、ハッシュ関数は、暗号化署名と同様に、変更されたテキスト文字列がハッシュキーを変更するため、ファイルが改ざんされていないことを確認するのにも役立ちます.

パスワードをクリアテキストではなくハッシュとして保存すると、パスワードをハッカーに対して脆弱なままにせずに、パスワードが正しいことを確認できます。.

ソルトとハッシュはパスワードを保護します

誰かがハッシュされたパスワードのみを含むデータベースをハッキングできた場合、理論的には、有用な情報は得られません。しかし、実際には、多くのサイトでパスワードを再利用したり、一般的な言葉を使用したりして、ハッカーがハッシュを解読するためにできることはたくさんあります。.

ExpressVPNという単語のすべてのSHA-256ハッシュは、すべてのシステムで常に同じです。そのため、ユーザー名がLexieで、パスワードとしてExpressVPNを使用する場合(使用しない場合)、ハッカーはパスワードの中からハッシュ「c9f45…3d185」を検索して、LexieのパスワードがExpressVPNであることを確認できます。.

これ自体は特に有用ではないように思えますが、最も使用されているパスワードの上位数千のリストがあります(以前のハックで知っています).

このようなリストを使用して、ハッカーは一般的なパスワードのハッシュを検索し、それらをユーザー名に一致させることができます.

このタイプの攻撃は、レインボーテーブル攻撃、または辞書攻撃と呼ばれます。攻撃者がブルートフォース攻撃で考えられるすべてのハッシュ/パスワードの組み合わせを試すのに十分な時間は宇宙に残っていません。しかし、最も一般的に使用されるパスワードを試す十分な時間があるため、おそらくデータベースのかなりの部分が危険にさらされるでしょう.

塩漬けは、固有の番号を割り当てることでパスワードを保護します

辞書攻撃から保護するために、データベース管理者は「salting」と呼ばれる方法を使用できます。この方法では、各パスワードに一意の乱数が割り当てられます。次に、ソルトとパスワードの組み合わせのSHA-256ハッシュが計算、保存、およびチェックされます.

または、パスワードをハッシュし、ソルト番号と組み合わせて、結果を再度ハッシュすることもできます.

塩漬けハッシュは余分な機能を追加します再びハッシュ化された「塩漬け」ハッシュの例.

塩漬け技術により、レインボーテーブルを作成することはもはや魅力的ではありません。ユーザーが一意のパスワードを選択しなかった場合でも、乱数によりすべてのハッシュが一意になります.

ハッカーがパスワード「Passw0rd!」でユーザーをターゲットにしたい場合、ソルト番号はデータベースを安全に保ちます.

パスワードシステムの未来

パスワードはオンライン認証に最適とはほど遠いです。良いものは覚えるのが難しく、取り消すのが難しく、一度漏れると相当な損害を引き起こす可能性があります.

パスワードマネージャーは、パスワードをより使いやすくし、独自のパスワードを作成できるようにします。また、ログイン資格情報を定期的に変更することをお勧めします。これは、優れたオンラインセキュリティに必要です。.

おそらく将来的には、公開キーと秘密キーのペアなど、おそらくハードウェアキーと組み合わせた代替の認証形式に移行するでしょう。このようなモデルでは、サインアップ時に公開キーをサーバーに一度アップロードするだけでよく、それ以降は二度とアップロードしません.

適切に実装されたパスワードソリューションよりも必ずしも安全であるとは限りませんが、公開キーと秘密キーのペアは、ユーザーとサービスの両方によって誤って適用される可能性は低くなります.

パスワードを保護するためにできること

現在使用しているサービスの多くは、すでにパスワードの制御を失っている可能性があることに注意してください。多分彼らはそれについてまだ知らないかもしれないし、あるいは公にそれを認めることを拒否しているかもしれません—ユーザーのセキュリティを犠牲にして彼らの画像を保護しています.

ランダムパスワードジェネレーターを使用して、パスワードを文字や文字の長いランダム文字列に変更します。一部のサービスで2要素認証をアクティブにして、セキュリティのレイヤーを追加することもできます.

また、サービスでユーザーデータが削除されることを期待して、使用しなくなったアカウントを削除することもお勧めします。.

パスワードを保護するためにWebサイトがハッシュに塩を振りかける必要がある理由
admin Author
Sorry! The Author has not filled his profile.