-1

私はC#とASP.NETを初めて使用するので、今すぐプロジェクトを実行する必要があります。会社の従業員の機密データを扱うため、暗号化する必要があります。自分の暗号化アルゴリズムを使いこなせるかどうかはわかりません。既存のアルゴリズムを使用する場合、キーを保存するための絶対確実な方法を見つける必要があると言われました。

正直なところ、暗号化における「キー」という用語はよくわかりません。誰かにそれについて簡単に説明してもらい、このプロジェクトをどのように進めるべきかを手伝ってもらいたいです。

4

3 に答える 3

2

http://en.wikipedia.org/wiki/Key_%28cryptography%29

わからないが、多分そこから始めますか?

于 2013-01-26T16:33:30.847 に答える
1

暗号化の最初のルール-博士号を取得していない限り、独自のアルゴリズムを使用しないでください。そして、他のいくつかの博士号は、それでも、公的監査の後でのみ使用するのに役立ちます。

キーの保存について彼らが意味するのは、キーがどこにも公開されてはならないということです。攻撃者がキーを取得できれば、データベース内のすべてのデータを復号化できます。現在、これを行う既知の方法はありません。キーをウェブサイトのルートフォルダ外のファイルに保存できます。この方法では、サーバー自体が危険にさらされるか、アプリが危険にさらされる必要があります(たとえば、「../../ key.txt」ファイルを表示するようにするなど)。 Webルートの下に降順)またはアプリをだまして、攻撃者に対して透過的にデータを暗号化/復号化する必要があります(たとえば、認証バイパスを許可するバグがあるため、アプリを使用してデータベースと通信できるようになります)。

質問の最後の部分については、@Haxxの回答を使用してください:)

于 2013-01-26T16:44:19.457 に答える
1

私見では:

  • すでにアドバイスされているように、「独自の」ものを作り上げるのではなく、広範囲にテストされたフレームワークで既存のアルゴリズムを使用してください。彼らがどんな弱点を持っていても、あなたが自分で作り上げることができるものよりも(おそらく)まだ優れています.

  • 何を暗号化する必要があるかを理解することは、ある時点で復号化する必要があることを意味し、ハッシュ化する必要があるデータ(一方向 - パスワードなど) と比較します。

  • これをアプリケーション側で行うか、データベース側で (データを保存するために) SQL サーバーのようにリソースを利用できる場合は (DBA と話し合ってください)、決定します。暗号化とハッシュの両方を SQL サーバーだけで行うことができます。

  • web.configアプリケーション側では、db 接続文字列 (web.config の接続セクションの暗号化) の場合と同様に、キーを格納し、その後そのセクションを暗号化することを考えることができます。このようにして、キーでさえプレーンテキストではありません。

于 2013-01-26T17:46:18.177 に答える