2011-07-20 12 views
0

私のチームでは、ユーザーがダウンロードしてマシンにインストールするWinFormまたはWPFアプリケーションでEntity Frameworkの最新バージョンを使用することを検討しています。クライアントWinForms/WFPアプリケーションの.NET Entity Framework:セキュリティ上の問題?

これはWCFを通じてデータベースに接続され、アプリケーションはEFを通じてLINQクエリを使用してデータベースとやり取りします。

これは安全ですか?アプリケーションをリバースエンジニアリングすることはできますか?また、競合他社は当社のデータベース構造およびビジネスルールを参照することができますか?

このアーキテクチャは受け入れ可能ですか?または、リスクが高い場合は、構造体をインタフェースの後ろに抽象化する必要がありますか?

+2

これは完全な答えではないので、私はそれを1つとして投稿しませんが、ビジネスルール/データベース構造を公開したくないという状況での私の好みは、すべてのロジックをWCFサービスに抽象化することです。あなたが見たいと思わないものは、適切なエンドポイントと操作を公開するサービスに移動します。私は、アプリケーションが公衆/顧客に利用可能な場合、利用可能なアプリケーション内のコードが与えられているという根拠に基づいて作業します。 - 必ずしも真実ではありませんが、コード/構造体のセキュリティに関心があるときは十分な経験則です – Smudge202

答えて

1

私は、あなたのWCFサービスがどのように動作するかは少し異なりますと想像します。 WebサービスまたはWindowsサービス?暗号化?あなたが暗号化しておらず、返されたオブジェクトをXMLで直列化しているなら、誰かがそのXMLストリームをスヌープし、エンティティの構造を理解できる可能性があります(マッピング情報やストレージレイヤの情報はシリアル化されていませんエンティティ)。

Entity Frameworkでは、攻撃者がedmxや結果として生じるEDM構成ファイルにアクセスできない場合、データベースに直接アクセスすることはできません。 Entity Framework EDMは他のアセンブリと同様にコンパイルされます。サービスからクライアントへの輸送を確保している限り、あなたは良いものでなければなりません。

関連する問題