2012-05-09 15 views
1

プロジェクトの1つでは、XMLをデータベースとして使用しています。その後、データのセキュリティが問題であることを認識しました。アプリケーションのユーザーは、ノートパッドを使用して任意のデータを変更できます。以下は、データベースを保護するためにできることです。XMLデータベースのセキュリティ

アプリケーションはドットネットで書かれていることに注意してください。

  1. 全体のXML暗号化し、プログラムを解読して使用して、暗号化を節約しながら、それを保存します。(パフォーマンスの問題)

  2. ドットネットアセンブリを使用して、我々はノードを暗号化することができます。(パフォーマンスの問題とたくさんコードのノートを暗号化および復号化するために書き込む必要がある。

ユーザーは、単にメモ帳を使用して変更することができないような方法でXMLを確保するための任意の最善の方法はあります。?

+0

Winアプリ? Webアプリケーション?どのデータベース? ... – walther

+0

あなたはプログラムを実行しているので、ユーザーは基本的に読み取りアクセスが必要であることに留意して、解読キーをどこに格納しますか?データアクセスを制御するために何らかの外部サービスが必要なように思えます。 –

+0

整合性やセキュリティが心配ですか?どのレベルで後者であれば。変更することはできません、異なった特権レベルを見ることができませんか? –

答えて

0

SQL Serverがオプションで、データのスヌーピングを防ぐことを主な目的としている場合は、SQL ServerのXML処理と組み込みの暗号化機能(例:証明書、TDEなど)を暗号化します。これにより、説明しているほとんどの手作業がなくなります。

http://technet.microsoft.com/en-us/library/bb510663.aspx

データが必要な場合は

は、プロセス全体を暗号化する(例えば、それは、アプリケーションのメモリ空間にある場合)またはデータは、ユーザーのマシン上にある場合は、SQLベースの暗号化はしません実用的または十分である。ドットネットアセンブリを使用して

我々はノードを暗号化することができます。(コードのパフォーマンスの問題と たくさんのメモを暗号化および復号化するために書き込む必要がある。

私はこれがあるとは言いませんよ正解あなたは十分な詳細を提供していないからです。しかし、私はあなたが2つの無効な仮定の下で動作していることと思います。

  • .NETでの暗号化は非常に堅牢で、コードの100未満の行を行うことができます。君は 標準の暗号化アルゴリズムを使用するか、Windows証明書サービスと統合できます。

  • もちろん、パフォーマンスの影響はありますが、現代のCPUは暗号化に必要な数学を扱う素晴らしい仕事をしています。ファイルが膨大で、毎秒何百ものファイルを処理している場合を除き、パフォーマンスに関する懸案事項に基づいて設計しません。

最終的に、データがユーザーのマシンにある場合、最大の懸案事項はキーの場所とセキュリティになります。

+0

彼はそれがXMLデータベースだと言いました。 SQL Serverが未処理のxmlファイルを記憶媒体として使用することは可能ですか? – walther

+0

@walther - ugh ...その部分を完全に誤読し、何らかの形で「SQL」を見た。それを指摘してくれてありがとう。実際には、SQLは 'FILESTREAM'を使って外部ファイルを参照するために使用できます。オプションかもしれない。 –

+0

私はちょうどデータを格納するためにプレーンテキストのXMLファイルを使用しています。すべてのデータベース管理システムを使用していません。 – Saran

関連する問題