2015-01-23 14 views
5

Tôi có yêu cầu mã hóa một số cột cơ sở dữ liệu (trong Sql Server 2012). Nó đã được quyết định rằng chúng ta nên sử dụng mã hóa mức cột (được thực hiện trong máy chủ sql). Về phía ứng dụng, tôi sẽ xây dựng một api trên một số mô hình miền phức tạp. Tôi thực sự muốn sử dụng phương pháp tiếp cận mã đầu tiên của Entity Framework, để duy trì một mô hình miền sạch). Có ai có một giải pháp khả thi ở đây mà không liên quan đến việc sử dụng lại các thủ tục được lưu trữ không? Lý tưởng nhất là tôi muốn bằng cách nào đó thao tác sql được tạo ra bởi khung thực thể để bọc các trường nhất định để thực hiện các chức năng mã hóa/giải mã sql.Khuôn khổ thực thể với mã hóa cấp độ máy chủ Sql Server

Lý tưởng nhất, một cái gì đó như:

modelBuilder.Entity<MyTable>().ToTable("Table1").Property(p => p.SensativeData).encrypt("keyName",authenticatorFunc); 
+0

Sau khi xem qua, tôi vẫn còn một số tùy chọn cho Khung thực thể. NHibernate mặt khác hỗ trợ điều này thông qua các công thức trường và các loại người dùng, để đọc và viết tương ứng. – Noel

Trả lời

3

Trong SQL Server 2012, mã hóa mức độ cột có thể được thực hiện chủ yếu theo hai cách tức,

  1. Xác định Tuỳ chỉnh Encryption chức năng trong khuôn khổ Entity. this blog
  2. SQL di Cấp Encryption thực hiện thực hiện trong khuôn khổ thực thể trong dbcontext Class (thực hiện mở đối xứng mã chủ chốt ở đây) sử dụng this blog và sử dụng thủ tục lưu trữ (có chứa mã giải mã cho lĩnh vực quy định trong bảng) lấy bộ kết quả.

Trong SQL Server 2016 có tính năng mới tức, Luôn mã hóa và có thực hiện nó trong thực thể khuôn khổ here.

0

Crypteronmiễn phí Bộ điều hợp khung thực thể, CipherDb, có thể hoạt động với bất kỳ Máy chủ SQL nào. Trong thực tế, Crypteron CipherDb làm việc với bất kỳ cơ sở dữ liệu Entity Framework tương thích nào - ngay cả MySQL, PostGreSQL và hơn thế nữa.

Bạn có thể chú thích các mô hình dữ liệu với [Secure] hoặc tên một tài sản để một cái gì đó giống như Secure_SocialSecurityNumber (các Secure_ là phần quan trọng) và CipherDb tự động thực hiện mã hóa dữ liệu, bảo vệ tamper, lưu trữ chủ chốt an toàn, phân phối khóa an toàn, bộ nhớ đệm, cuộn chính overs, ACL và hơn thế nữa. Bạn cũng có thể sử dụng để bảo vệ Crypteron suối, tập tin, các đối tượng, hàng đợi tin nhắn, NoSQL vv

Bạn có thể tìm thấy các ứng dụng mẫu trên GitHub tại https://github.com/crypteron/crypteron-sample-apps

Disclaimer: Tôi làm việc ở đó và chúng tôi có một ấn bản cộng đồng miễn phí mà bất cứ ai cũng có thể sử dụng.

Các vấn đề liên quan