パスワードを安全に保護するための標準アルゴリズムである bcrypt アルゴリズムについて説明します。わかりやすくするために、2 つの記事に分けて説明します。
この記事では主に bcrypt アルゴリズムについて説明します。bcrypt アルゴリズムは KDF 関数の実装と見なすことができ、反復係数の概念も備えています。
bcrypt アルゴリズムは、Blowfish ブロック キー アルゴリズムに基づいています。bcrypt アルゴリズムには 10 年以上の歴史があり、Blowfish キー アルゴリズムには 20 年以上の歴史があります。テスト済みであるため、ハッシュ暗号化パスワードの標準アルゴリズムと見なされています。 bcrypt アルゴリズムは、ハッシュ プロセスを内部的に初期化するためにメモリを使用します。メモリが必要なため CPU 上では非常に高速に実行されますが、並列コンピューティング用の GPU 上では高速ではなく、攻撃者のクラッキング速度も低下します。 次に、PHP言語のcrypt()関数を使用して、bcryptアルゴリズムの使用方法を紹介します。ハッシュ保護パスワードについてあまり知らない場合、crypt()関数を使用するときに多くの問題が発生する可能性があります。 まず、crypt() 関数は bcrypt アルゴリズムではないことを明確にする必要があります。これは、さまざまなハッシュ アルゴリズムに基づくことができます。 この関数のプロトタイプは次のとおりです。
見た目はシンプルですが、多くのコンテンツが隠されています。 crypt() を呼び出すだけでは、オペレーティングシステムのバージョンと PHP のバージョンに応じて対応するハッシュアルゴリズムが使用され、salt が明示的に入力されていない場合は弱い salt が取得される可能性があります。したがって、多くの詳細が隠蔽されるため、この方法で crypt() 関数を呼び出すことは推奨されません。 では、bcrypt アルゴリズム (Blowfish)、反復係数、ソルトをどのように選択すればよいのでしょうか? 例を見てみましょう。
次に、上記のコードの出力を見てみましょう。
つまり、戻り値には、bcrypt アルゴリズムが使用されていること、反復係数が 7 であること、ソルトが woshiyigesaltzhi$$$$$ であること、残りがパスワードの暗号文であることなど、crypt() 関数に関連する情報が含まれています。 ここで疑問が残ります。crypt() によって計算されたパスワード暗号文に salt が含まれていると安全ではないのでしょうか? これについては次の記事で説明します。 crypt() は次のような他のハッシュ関数も使用できます。
crpyt() 関数の使い方はおそらく誰でも理解していると思いますが、使い方が少し面倒な場合もあるため、関数をパッケージ化することをお勧めします。
いずれにしても、crypt() 関数は完全に基礎となる C 関数に基づいており、動作環境もオペレーティング システムと PHP のバージョンに依存します。システムとコードを移行する際には多くの問題が発生する可能性があるため、PHP ではバージョン 5.5 以降、パスワード ハッシュ関数の使用を推奨しています。これについては次の記事で詳しく説明します。 最後に、新しいパスワード保護アルゴリズムと別のアプローチである scrypt アルゴリズムについて簡単に説明します。これはパスワード保護の業界標準アルゴリズムと見なされていますが、時間が短いため、bcrypt() アルゴリズムを使用することをお勧めします。 |
<<: AIが指紋を偽造できる場合、生体認証は依然として安全ですか?
リアルタイムで実行され、単一の NVIDIA RTX 2080 TI GPU を使用して HD 60...
[[186158]]何人かの経済学者に話を聞いてみれば、彼らはほぼ間違いなく、生産性の伸びの弱さが現...
好きなように置き換えてください。保持する必要がある領域をフレームするだけで、AI がすべてを置き換え...
少し前、匿名の人物が、Google 社内の研究者による研究メモを Discord プラットフォームに...
エネルギー産業はハイテク主導の産業です。石油・ガス業界では、過酷な条件下で大型機器を使用してさまざま...
国内の感染予防・抑制状況が基本的に安定してきたため、各地で大学や小中学校などで「授業再開」が実施され...
最近、百度文心は3つの主要機能をリリースし、カスタマイズされたマルチラベルテキスト分類、感情傾向分析...
GPT はまだ正式にリリースされていませんが、誰かがすでに「先走って」いるのでしょうか? !ほら、社...
大規模言語モデル (LLM) の開発により、実務者はより多くの課題に直面しています。 LLM からの...
倉庫業界はテクノロジー主導の革命の真っ只中にあり、企業はコストを削減し、業務を最適化し、サプライチェ...
最近、ヴィンセントのビデオモデル「Sora」が生成 AI モデルの新たな波を引き起こし、そのモデルの...
機械学習アルゴリズムは、例から一般化することで重要なタスクを実行する方法を理解できます。これを手動プ...
調査によると、人工知能(AI)ソリューションは現在急速に成長している市場であり、2020年までに1,...