はBCryptは良いハッシュアルゴリズム用クライアントまで、フルのC#?どこで見ることができまのですか?[定休日]
-
20-08-2019 - |
質問
私は読み取ることがハッシュパスワードは、多くのプログラマでご使用になることをお勧めしBCryptアルゴリズムです。
私のプログラミングC#とはかなら誰でも知っての良い実装のためのBCrypt?見 このページ, がない場合は偽です。
どうすれば良い意識をお選びになる際には、パスワードハッシュ組んでいきます。はBCryptは、"良い"実行?
解決
まず、ある面で重要:
ハッシュ -の文字列を文字シーケンスできない元に戻す元の文字列になります。
対称暗号化 -(通常だとどの暗号化の為の文字列を文字シーケンスが ができ する暗号解読の文字列を通じてのものを採用することができ暗号鍵が暗号化されます。
レインボーテーブル -ルックアップテーブルを含むバリエーション全ての文字をハッシュされた特定のハッシュアルゴリズムです。
塩 -知のランダムな文字列に追加され、元の文字列ではハッシュされた.
めます。NETフレームワーク,Bcryptはなりません 確認 参考に実装されます。ですので、この点は重要であるがわからない場合があり重大な欠陥は既存の実装です。きの実装 BCryptます。純こちら.わからないについて十分に暗号化するかどうかでは良し悪しを実施。暗号化は深みのある分野です。 ないよ独自の暗号化アルゴリズム.けます。
っている場合の実施自身のパスワードのセキュリティ(ため息をつきたく、いつもの:
- を使用 比較的安全ハッシュアルゴリズム.
- 塩は各パスワードでのハッシュされた.
- を使用 独自の長塩の各パスワード, し、店舗の塩のパスワードになります。
- 力を必要とするパスワード.
残念ながら、だからこ、ハッカーができるのにパスワードのなかった。これは、チ敵: 時間.
の bcryptアルゴリズムの作品で 五 受注の大きなハッシュパスワードによMD5;(やまだよりはだいぶ長くなっていAESまたはSHA-512).このハッカーで過ごすのに多くの時間を"レインボーテーブルをルックアップをパスワードでのほうがこのパスワードの危険にさらされる侵入によ
だが、塩をハッシュパスワードは、各塩が異なるため、 そして潜在的なハッカーが成レインボーテーブルの各変異の塩, ってレインボーテーブルの一塩+ハッシュされたパスワードになります。その場合は1万人のユーザーが、ハッカーが生成1百万円レインボーテーブル.使用している場合は、同じ塩べてのユーザのサブジェクトのハッカーのみを1にレインボーテーブルに成功しhackます。
いない場合は塩パスワードを攻撃者が引きあげ、既存のレインボーテーブル毎に実施出(AES、SHA-512、MD5)だけを見れば一つの試合のハッシュ.この が行われている, では、攻撃者 せを計算する必要がありこれらのレインボーテーブル自身の.
でも、 なんかを使いいセキュリティに関する取扱い及.できない場合に成功した攻撃ベクター(クロスサイト-スクリプティング,SQLインジェクション,CSRF, していました。al. お客様のサイトが、良いパスワードによるセキュリティはどちらでも構いません。その音のような議論の余地はないですねできれば、全ユーザー情報をSQLインジェクション攻撃、または取得できますユーザーを与えてくれたクッキーを通してクロスサイト-スクリプティング, そのなか良いパスワードのセキュリティが.
その他の資源の
- Jeff Atwood: .純暗号化の簡素化 (大の概要ハッシュ)
- Jeff Atwood: 私はログインしていま
- Jeff Atwood: しょ格納パスワードを正しく
- Jeff Atwood: ハッシュ化速度
注意: くださいその際には、良い資源です。って読み込む十数論文数十名の著者が複数として書き込みをわかりやすくを対象としてのJeffます。ください編集記事としてだけます。
他のヒント
す 用してはならない BCryptます。います。す 必要 PBKDF2としては、内蔵しています。NETフレームワークの実装です。で自由に利用でき暗号法論的には確実です。純ているの アルゴリズムおすすめの標.
StackIdたBCryptに移転PBKDF2まさにこのような理由から:
の方に興味のある人は、まだハッシュパスワードとPBKDF2.Relaventコード はこちら http://code.google.com/p/stackid/source/browse/OpenIdProvider/Current.cs#1135 )により、複数の層の間接指定.前の繰り返しま たBCrypt;に移っPBKDF2で内蔵しております。当期純 枠組みはBCryptいくださいますようお願い申し上げ検証の実施 (小さな組).
編集: その意味 確認 暗号用いるような容易に理解されると、確認実施手段として暗号法論的には実施せずにエラーとなります。のコストで容易に到達$20,000以上とします。今回この研究をされているOpenSSL、読みが記載な完成品の検証プロセスに必要な十分に検証できる点は右のパスで記コスト関連している。一部の政府の要件などのマンデーのための検証暗号化アルゴリズム
のbcryptの実装です。NETでの動作検証は行っておりません.使用unverified暗号化実装できないあるいは意図的悪意のある断層などをバックドアのなかでは、暗号化または非意図的生成実施断層となる暗号法論的には安全でないデータです。
2014編集: 誰でも問題とするのimperativenessの検証cryptopgraphical algorithimsの共同研究の可能性を探るために、怒りをした heartbleed hack 実際に機能が発揮されるOpenSSL.このコストを用いunverifiedの実装です。このsecure....まではみ出来る人数が残りわずかの者で読取るだけで全体のメモリの内容をサーバーです。
の著者の変更を導入したHeartbleed、ロビンSeggelmann述べた"見逃しの妥当性を検証変数を含む長さ"と否定意図の提出が義の実装です。以下のHeartbleedの開示、Seggelmannとを第二の視点は、これOpenSSLではないの見直しによる十分な人です。
この定義のunverifiedの実装です。小さなことでも欠陥き綻のです。
2015年の編集: 除去勧告に基づく言語を交換絶対.組み込み元のケビン-モンローズコメントを残す.