2009-05-28 8 views
1

MS SQL Server 2005および2008のWITH ENCRYPTION節を使用して、すべてのコードオブジェクト(procs、関数、ビュー)を暗号化する際に、リモートでデプロイされた製品に含まれるデータベースの欠点はありますか?SQL Server 2005+オブジェクトの暗号化の欠点?

利点は、フィールドの「カスタム」の変更を抑止して、1つのニーズを解決しながら多くを作成することです。目標は、IPやデータを保護することではなく、オブジェクトを変更する権利を管理できない場合(セキュリティは開発者の手にはないが、他の人が原因で発生した問題を解決する責任がある場合)、不正なコードの変更を防ぐことです。

このアプローチをとることによって生じる可能性のある新しい問題は何ですか?

答えて

2

マイクロソフトでは、このためにこの機能を特に作成しました。私が見ることができる唯一の欠点は、保護が弱いことです。公開されているスクリプトで回避することができ、SQLプロファイラを使用して復号化されたプロシージャのクリアテキストを表示することができます。しかしそれは効果的な抑止力として依然として作用するはずです。

+0

プロファイラと暗号化されたオブジェクトに関するいくつかのドキュメントを読んでいますが、詳細を表示するためにプロファイリングするときにDACを使用しましたか? – MattK

+0

こちらを参照してくださいます。http:?//books.google.com/books ID = 8uY_oSL7TWoC&PG = PA245&LPG = PA245&DQ = SQL +サーバー+ 2005 +オブジェクト+暗号化&ソース= BL&OTS = xNNBCwldol&SIG = SoWv8nOtp6a-LKI5ApaUXAMNF0k&HL = EN&EI = utQeSoa0FqeElAe08I2GBg&SA = X&OI = book_result&CT =結果とresnum = 2 –

+0

私は実際にそれを自分でやっていない。あなたのユーザーはそれを理解するのに十分な洗練された(または十分にマゾキスな)のですか? –

0

エンジニアリングは、指示された理由とリバースエンジニアリングを抑制するために、200以上のサイトに展開したエンタープライズ製品で暗号化を実装しました。

私たちの場合、それは価値があるよりも多くのトラブルでした。私たちのクライアントは何も変えたことはなく、現場で問題をデバッグすることは困難でした。プロファイラは、すべてが暗号化されているときに必要な詳細情報を提供しません。私たちはしばしば、問題をデバッグするために暗号化されていないバージョンのSPROCなどをロードする必要があります。

また、スキーマを変更するのが難しくなります。スキーマは、期待しているバージョンと一貫しています。ほとんどの差分ツールでは、暗号化されたオブジェクトを比較することはできません。

0

あなたは間違った経路を下っています。 WITH ENCRYPTIONは、SQL 2000日の時代遅れのオプションです。その周りの道はよく知られており、minimal google search skillsと誰でも発見することができます。適切な方法はcode signingを使用することです。最善の方法は、証明書を作成し、手順に署名してから秘密鍵を削除することです。この方法では誰も、あなたではなく、署名を破棄することなくコードを変更することができます。これにより誰も手続きを修正することはできませんが、修正されると署名シールが破棄され、改ざんが明らかになります。あなたはそれをさらに一歩進めて、プロシージャ自体に目的を実行する権限がないことを確認することができます(つまり、アクセスしようとするテーブルを読み取ることはできません)が、署名はその署名から導き出されます必要な権利)。このようにすれば、コードを改ざんするだけでなく、シールを破壊するだけでなく、システムを停止させることもできます。これらの行動の結果を説明することは、通常、強力な抑止力です。

+1

質問に答えることで典型的な "私にあなたのためにGoogleに答えてください"という応答をお願いします。暗号強度や変更を検出する能力は問題ではありません。問題は、コードの暗号化によって引き起こされる潜在的な問題について、権限のない変更に影響を与える手段がない環境で問題が発生したことです。 – MattK

+1

公開フォーラムでは、多くの人が回答を読んでいます。もしあなたに役に立たないなら、私はあまり気にすることができませんでした。そして、いいえ、私は非常に密接に関係していた機能のためのGoogleにする必要はありません... –

+0

@リムスに同意、私はこれを知らなかった! –

0

SQL Server内のストアドプロシージャを復号化するツールはたくさんあります。 暗号化メカニズムを変更するSQLシールドと呼ばれる市販のツールがあり、ソースコードを公開し変更するのがずっと難しくなります。 しかし、私は、暗号化の手順によって、保守がより困難になると言わなければなりません。

関連する問題