1. ホーム
  2. security

ソルト・ジェネレーションとオープンソースソフトウェア

2023-09-08 22:48:42

質問内容

私が理解しているように、塩を生成するためのベストプラクティスは、ソースコードに格納されているいくつかの不可解な式(あるいは魔法の定数)を使用することです。

私は、オープン ソースとしてリリースする予定のプロジェクトに取り組んでいますが、問題は、ソースにソルトを生成するための秘密の公式が含まれており、したがって、私たちのサイトでレインボー テーブル攻撃を実行する能力があることです。

多くの人々が私より前にこの問題について熟考していることを理解し、ベスト プラクティスが何であるか疑問に思っています。コードがオープン ソースである場合、ソルトは簡単にリバース エンジニアリングできるので、ソルトを持つ意味はまったくないように思えます。

どうでしょうか?

どのように解決するのですか?

本当にソルトは各エントリでユニークであればいいのです。 攻撃者がソルトが何であるかを計算できるとしても、レインボー テーブルを作成することは非常に困難です。 これは、ソルトはハッシュ化される前にパスワードに追加されるため、パスワード フィールドのすべての可能な値のリストを持つためにレインボー テーブルが含まなければならないエントリの合計数が事実上追加されるからです。