1

データベース キーをクライアント (WebBrowser、Silverlight など) に送信する前に暗号化しているように見えるコードを見つけました。

例として、課外活動に参加する学生のリストと、学生間の関係が定義されているとします。データが ASPX ページに書き出されるたびに、studentID と activityID が暗号化されます。書き込みまたは変更が行われるたびに、この値がサーバーに送り返され、復号化され、データベースに保存されます。

このようにデータを公開する理由は何でしょうか? これは通常の慣行ですか?

この選択的暗号化が優れた方法である場合、最適なアプローチ方法は何ですか?

4

1 に答える 1

0

これは、サイトのセキュリティ ホールを探し回るだけの人を減らす良い方法だと思います。つまり、学生 ID が連続した番号であり、人々がクエリ文字列で自分のページの ID を確認できる場合、番号を増やしてリストの次の項目にアクセスできるかどうかを確認したり、スクリプトを作成したりするのは非常に簡単です。すべての数値を反復処理します。

理想的には、アクセスを許可したくない場合は、とにかく人々がそれらのページにアクセスできないようにするためのセキュリティが必要です。しかし、情報がすべて公開されていたとしても、すべての情報を繰り返し処理するスクリプトを作成することを妨げる可能性があります。

実際に私たちの製品でこれを行うのは、データ項目のセキュリティがありますが、セキュリティが適切に適用されていることを確認するのはサイトの管理者次第であるため、URL で公開されているキーを暗号化および復号化して、管理者が何をしているのかわからず、ロックダウンする必要があるものを開いたままにしておく場合に備えて、少し安全です。

簡単な暗号化/復号化のためのこの拡張方法が好きです: http://www.extensionmethod.net/Details.aspx?ID=69

暗号化された値は、生成時に常に URL フレンドリーであるとは限らないため、必ず URL エンコードする必要があります。また、5文字のキーが約14文字のランダムに見えるものに暗号化されるなど、いくつかの醜いURLがあることも期待できます.

于 2010-11-08T13:53:43.010 に答える