2012-04-02 16 views
1

このアプローチを使用して、SQL暗号化を使用してデータベース内のデータを暗号化しています。 SQL Encryption。主な目的は、データベースが侵害されたときにデータ盗難を防止することです。私たちはHTTP(s)証明書を使用して、サーバーからクライアントへのデータにアクセスします。SQL暗号化ストアドプロシージャ - MVC3

データはテーブルレベルで暗号化されています。データにアクセスするために、ストアドプロシージャにアクセスするためのストアドプロシージャが作成されています。

DBで使用しているシンメトリックキーと証明書を具体的に伝える必要があるため、ストアドプロシージャに依存する必要があります。

GO 
OPEN SYMMETRIC KEY mySymmetrickKey DECRYPTION 
BY CERTIFICATE myCertificate 

代わりのdatabseストアドプロシージャに応じて、我々は我々のDBに各種テーブルにアクセスするために、私たちのSQLクエリ(LINQ)で、対称鍵と証明書の名前を指定することができます。

私たちは、データアクセスのためにDBの最初のEntity Frameworkアプローチを使用しています。 これらについてアドバイスしますか?

答えて

0

この問題も見ました。

注意しなければならない領域の1つは、一般に(もちろん暗号化によって異なります)、元のデータにおよそ120%を追加することです。この量の情報をSQL Serverとhttpサーバー間で渡すと、すべてのパフォーマンスが低下します。これと比較して、データ暗号化がSQLデータベースサーバによって処理される場合、唯一のパフォーマンスヒットは暗号化/復号化中です。