ユーザーパスワードは10件の質問10 Aを暗号化して保存され、温家宝首相は、安全なパスワードの保存を通じて言いました

当社のデータベース著作権管理は非常に厳格で、機密情報の開発エンジニアは、プレーンテキストIすることはできませんに格納されているパスワードを見ることができませんでしたか?

いいえ。顔多くの脅威のデータベースに保存されたデータ、アプリケーションレベルがあり、データベースレベル、オペレーティングシステムレベル、部屋レベル、スタッフのレベルは、ハッカーによって盗まれない百パーセントになりたい、それは非常に困難です。

パスワードは、その後、暗号化して保存され、そうであっても、ライブラリをドラッグした場合、ハッカーは、ユーザーの平文パスワードを取得することは困難です。一人で旅行を撮るとき、あなたがそれらを使用するが、我々は確率が、彼らは助けることができる重要な瞬間ではない、その重要性、パスワードは暗号化されたユーザアカウントのパンツシステムに格納されていることをあなたの下着あなたがお金で同等の継ぎ目を言うことができます。

その例として、その後AES、暗号化パスワード、その後、暗号化アルゴリズムの下で維持され、私は平文の暗号化を解除する必要があります。

いいえ。これは、キーの一般的なユーザー情報を別々に格納されているが、復号化に使用する暗号化キーを保存する方法が含まれ、いくつかの成熟した業界、ソフトウェアまたはハードウェアに基づいて、鍵のストレージソリューションがあります。しかし、その店の利用者情報のように、あなたは不可能、キー百パーセントを開示する必要はありません。こうして暗号化されたパスワードでは、ハッカーは、クリアテキストのパスワードを取得する確率を低減することができます。しかし、キーを1回押して、ユーザの平文パスワードがない良い方法、それをリークし、妥協します。

また、ユーザー・アカウント・システムは、ユーザーの平文パスワードを保存するべきではないユーザーがパスワードを忘れたときに、パスワードリセット機能を提供ではなく、あなたのパスワードを取得します。

すべてのハッシュ値は、MD5のようなパスワードを、保存されました。それは違うのですか?

いないすべてのハッシュアルゴリズムは、正確には暗号学的ハッシュであるべきと言うことができます。暗号化ハッシュは、次の特性があります。

  • 入力のいずれかのタイプで、任意の大きさを考えると、ハッシュは非常に高速で計算します。
  • ハッシュ与えられ、ハッシュは、決して入力を対応する計算されません。
  • 入力は、小さな変化が、大きな変化はハッシュが起こるのだろうか。
  • ハッシュ同じ2つの入力を計算する方法はありません。

暗号化されたパスワードのために設計されていますが、ではないが、非常に適切な3 2,3,4暗号化ハッシュの特徴は、ユーザーのパスワードを暗号化するために使用されます。一般的な暗号ハッシュは、MD5、SHA-1、SHA-2、SHA-3 / Keccak、BLAKE2を有しています。

1976年以来、業界初のUnix墓所で見られる暗号化ハッシュ暗号化されたユーザーのパスワードを、使用し始めました。しかし、MD5、SHA-1は、もはや、ひびの入っていないパスワードを保存するのに適したされています。

私は、ユーザーのパスワードを保存SHA256値。

いいえ。ハッカーがユーザーのパスワードをクラックするために、ルックアップテーブルや虹のテーブルを使用することができます。パスワードをクラックするために注意してくださいSHA256を割れていない、その理由に合わせてコードを解読することができSHA256、ユーザーが頻繁にパスワード脳のメモリを必要とすることで、手動入力、それはあまりにも複雑ではありません、多くの場合、スペースの価値を決定するために、限られた長さを持っています。

単純なパスワードの値のショートは、ルックアップテーブルでひび割れすることができます

例えば、8桁のパスワード、可能なだけ10 ^ 8 = 100,000,000種類の合計。百万人が多くのデータは、ハッカーが、それはSHA256、SHA256のすべてを計算する0-99999999進めることができ、キーのパスワード値は、ルックアップテーブル、SHA256与えられたが、ハックする必要があるとき、あなたはテーブルから照会することができますとして格納されていることを確認していないことです。

値が比較的複雑であり、より長いパスワードはレインボーテーブルでひび割れすることができます

そのような10としては、数字、文字に敏感なパスワードを可能にする、(10 + 26 + 26)の合計は、一緒になって、すべてのルックアップテーブルを保持するために非常に困難で記録することが可能兆に84 ^ 10 =。今回のハッカーは、時間と空間の妥協点を解決するため、一般的なコンピュータの世界の問題の考え方で、虹のテーブルをクラックする技術と呼ばれる虹のテーブルを使用します。

内部この例では、スペースは、いくつかの時間を費やし、その後、十分ではありません。レインボーテーブル、すべてSHA256値は、その算出し、ブレーク最初SHA256ハッシュチェーンのどちらに存在する与えるためにチェックインすると、唯一頭と尾ハッシュチェーンを保存し、ハッシュチェーンのいくつかの部分と同じ長さに変換することができます。ユーザーのパスワードをクラックするために、リアルタイムの比較を通じて、ハッシュ・チェーン上のすべてのSHA256。

ユーザーパスワードは10件の質問10 Aを暗号化して保存され、温家宝首相は、安全なパスワードの保存を通じて言いました

 

ハッシュ・チェーンにハッシュ値を使用する必要性は、Rの関数コードの値がRの衝突確率関数を低減するために、背面空間にマッピングするので、虹のハッシュテーブル3の鎖長の図を示し、ハッシュ・チェーンの長さK、虹のテーブルは、k個のR関数である、パスワードスペースを使用してバックR関数の各反復マップは同じではないので、この方法は亀裂レインボーテーブル攻撃と呼ばれています。

実際の状況は、すべての84億億のSHA256は、いずれかを保存し、そのような私たちの例のように、長い前の例よりもよりも、ハッシュチェーンは、100万社のチェーンの840億長さに変換することができます。レインボーテーブル原則興味を持って、あなたはウィキペディアでそれを読むことができます。

インターネット上で、さらにいくつかは、虹のテーブルが直接使用することができる計算しているので、店舗ユーザパスワードのSHA256は非常に安全ではありません。

虹のテーブルの攻撃を避けるためにどのように?

簡単に言えば、それは塩です。一般的には、ユーザーのパスワードは、塩は私たちの世代の文字列の塩である、文字列のキーです。私たちは、元のキーがハッシュ値HASH(キー)で保存され、そして今、私たちは、ハッシュ値HASH(キー+塩)を一緒にスプライスキーと塩を保存します。

このようなハッカーは虹のテーブルを生成するために、コンピューティング推進、それはすべて失敗します。

塩は、ランダムな文字列を生成生成する方法をすべきですか?

それはいい質問だ、とたくさんのストレスの塩を形成するために、安全のために塩を追加しません。

代わりに、通常の乱数アルゴリズムを使用CSPRNG(暗号的に安全な擬似乱数ジェネレータ)塩形成、。

ランド()メソッド内で、このようなC言語の標準ライブラリとして普通で乱数を生成するためにCSPRNGアルゴリズムは、我々は非常に異なっています。その名のとおり、CSPRNGはそれがよりランダムで予測不可能で乱数を生成することを意味暗号化セキュリティ、です。次のように一般的なプログラミング言語は、CSPRNGを提供します。

ユーザーパスワードは10件の質問10 Aを暗号化して保存され、温家宝首相は、安全なパスワードの保存を通じて言いました

 

 塩は短すぎることはできません

塩が非常に短い場合には、原則として、ルックアップテーブルと虹のテーブルは、その長さの文字列からなるパスワード+塩を意味し、値のスペースが限られていると思います。ハッカーは+塩のすべての組み合わせは、パスワードのレインボーテーブルを構築することができます。

塩は再利用することはできません

すべてのユーザー・パスワードは、同じ塩を使用して暗号化されている場合。だから、どんなに複雑な塩、どのくらいの長さ、ハッカーが簡単に固定されたレインボーテーブル塩を再確立するためにこれを使用することはできません、ユーザーのパスワードのすべてを割りました。あなたが言うなら、私はあなたがAES暗号化を使用する理由は十分に安全ではないについての私の答えを再読み込みする必要があり、他の人がああ知らせて、固定塩を保存することができます。

あなたは、ユーザーごとにランダムな塩を生成する場合であっても、ユーザーは再利用のパスワードを変更塩ので、セキュリティは、まだ十分ではありません。それはあなたが新しいパスワードを保存する必要があるたびに、新しい塩を生成し、暗号化されたハッシュ値と一緒に保存する必要があります。

注意:一部のシステムでは、塩の暗号化パスワードとして、各ユーザー、UID、電話番号または何か別のフィールドを使用します。これは、上記生成されたすべての3つの塩のルールに反しているほとんど良いアイデアではありません。

そのハッシュアルゴリズムは、ハッカーが知らない自分自身を設計し、その亀裂の方法で、あなたのものは無効です。

ではありません。

あなたが暗号の専門家でないならまず、セキュアハッシュアルゴリズムを設計することは困難です。満足していない、あなたは私が上記の暗号化ハッシュに再びそれを見て、そのプロパティの4つのすべてを満たすためにどのように独自のデザインのアルゴリズムを考えることができます。あなたがデザインが暗号化ハッシュの既存の基盤に基づいてアップされている場合でも、デザインされた後、新しいアルゴリズム暗号ハッシュはまだ要件を満たしていることを確認することは困難です。あなたのアルゴリズムは、安全性の要件を満たしていないならば、より多くの方法は、あなたがハッカーにユーザーのパスワードをクラックしやすいを与えます。

あなたは、人々が暗号化ハッシュアルゴリズムを知らない設計することができたとしても、あなたはあなたのアルゴリズムを知っていることはないハッカーを保証することはできません。ハッカーは、多くの場合、あなたのコードにアクセスする能力を持っている、またはカークハフシャノンは原則キロメートルと思います:

パスワード・システムは、誰もが操作ステップのシステムがまだ安全である場合でも、ことを知っていなければなりません。

異なるパスワードのそれぞれのためにそれを保存し、HASHを行い、高品質の塩と結合されています。それは正しいでしょうか?

可能にするために使用、今私はできません。コンピュータハードウェアの急速な発展、近代的な汎用CPUがGPUクラスタコンピューティングSHA256ながら、月額倍の速度何百万人でSHA256を計算することができ、毎秒10以上10億回までです。これは、ハッカーがもはやルックアップテーブルや虹のテーブルに依存している、それが可能な力のパスワードをブルートすることができませんが、カスタムハードウェアと独自のアルゴリズムを使用して、すべての可能な直接、リアルタイム亀裂ユーザのパスワードを計算します。

どのようにそれを行うには?暗号ハッシュ特性、前記第一と上記リコール。

入力のいずれかのタイプで、任意の大きさを考えると、非常に高速なハッシュ計算

暗号化ハッシュ暗号化パスワードがために設計されていない、それが現在の状況では、この機能は、他のアプリケーションシナリオに非常に有用である非常に高速演算し、コンピュータハードウェア、パスワード不適切な暗号化するために使用されます。この時点では、暗号学者は、このようなパスワードハッシュと呼ばれるパスワードを暗号化するために使用されるハッシュアルゴリズムとしてPBKDF2、bcryptの、SCRYPTを考案しました。彼らのアルゴリズムの中で、多くの場合、我々は、ブルートフォースハッキングのコストが増加する、ハッシュを計算速度を遅く、暗号化ハッシュを何度も計算する必要があります。パスワードハッシュが必要に応じて計算過程が遅くなることができ、設計の原則であり、ハードウェアが加速する可能性はないといえます。

どちらのパスワードハッシュを使用する必要がありますか?

PBKDF2、bcryptの、SCRYPT 3つの最も一般的に使用されるパスワードハッシュアルゴリズムに一度、最高の年の暗号学者が決定的ではなかったのアルゴリズムとして。しかし、これらの3つのアルゴリズムが完璧ではない、と短所ことは確かです。それはGPU / ASIC加速することができるので、PBKDF2計算プロセスは、より少ないメモリを必要とする、請求項bcryptのメモリフットプリントFPGAをサポートしていない加速、容易に調整、調節は、個々SCRYPT計算時間やメモリをサポートしていない、及び占有することができ、攻撃を加速ASICをバイパスしています可能。

2013 NIST(アメリカ国立標準技術研究所)は、一緒にいくつかの暗号技術者を招待し、パスワードを暗号化するために使用される標準的なハッシュアルゴリズムを見つけることを意図した暗号ハッシュアルゴリズムコンテスト(パスワードハッシュ競争)を、整理、およびへ業界では、ユーザーのパスワードを保存するために、暗号化の重要性を促進します。コンテストのエントリーは攻撃アルゴリズムが直面する可能性が記載されています:

  • 暗号化アルゴリズム解除するには(コスト削減、ハッシュ衝突を、すなわち、2,3,4記事は、特徴的な暗号化ハッシュを満たしている必要があります)。
  • ルックアップテーブル/レインボーテーブル攻撃。
  • CPUの最適化攻撃。
  • GPU、FPGA、ASICや他の特別なハードウェア攻撃。
  • バイパス攻撃。

2015年7月の最終、Argon2アルゴリズムは、この競争に勝った、NISTは、最良のパスワードハッシュアルゴリズムとして同定されています。アルゴリズムが新しすぎるので、しかし、そこに聞いていない、どの大企業では、パスワードの暗号化Argon2で行っています。

ユーザーパスワードを暗号化されてどのように大きな、疲れを超えるすべての方法を掲載し、あなたが私に例を与えることができますか?

今年(2016年)、ユーザーのパスワードデータ侵害のDropboxの部分が発生している、それはCTOが、彼らは、パスワード、ユーザーの信頼を暗号化するために彼らの方法の自信を持っていると述べました。その後、Dropboxのは、ユーザーのパスワードの暗号化ストレージ・ソリューションについて、その公式の技術的なブログで「Dropboxのは、安全にパスワードを保存する方法」と題した記事を掲載しました。

ユーザーパスワードは10件の質問10 Aを暗号化して保存され、温家宝首相は、安全なパスワードの保存を通じて言いました

 

 

上記のように、ドロップボックスは、最初の64バイトに、ユーザのパスワードハッシュされたパスワードのSHA512を作った後、SHA512 bcryptのアルゴリズムの結果を算出する(各ユーザが独立に強度10を、塩)、および最後にAESを使用して使用アルゴリズムと結果bcryptのグローバルに一意のキーの暗号化アルゴリズムとセーブ。

ブログの記事、Dropboxが暗号化の3層理由を説明します。

最初の使用のSHA512、ユーザーのパスワードは64バイトのハッシュ値を正常化しました。二つの理由:1のパスワードは、ユーザが入力した場合、bcryptの計算応答時間に影響を与えるために遅すぎるをもたらす可能性が長く、敏感bcryptのを入力する作業であり、他は長い入力された72バイトに直接切り捨て一部bcryptのアルゴリズムを実現します、につながる情報理論、エントロピユーザ情報の観点から言えば小さいです。

そして、bcryptのアルゴリズムを使用します。選択理由bcryptのアルゴリズムがあり、より経験豊富な、パラメータの選択基準に精通しているチューニングするDropboxのエンジニアは約100ミリ秒で結果を計算することができ、オンラインでのDropbox APIサーバ。また、決定的も良く、暗号技術を、アルゴリズムbcryptのとScryptに。一方、Dropboxがまた、暗号学的ハッシュアルゴリズム新人Argon2を懸念している、それは適切なタイミングで導入されるであろう。

最後に、AES暗号化を使用しました。bcryptのアルゴリズムは完璧ではないので、Dropboxのはさらに危険にさらされているパスワードのリスクを軽減するためにAESおよびグローバルキーを使用して、鍵の漏洩を防ぐために、Dropboxが、専用のハードウェアキーストレージを使用しています。Dropboxのは、最終的な使用のAES暗号化の別の利点を述べ、そのキーは、キーの妥協がもたらす/ユーザー情報のリスクを軽減するために定期的に交換することができます。

 

おすすめ

転載: www.cnblogs.com/CQqf2019/p/11124748.html