Sqlserver
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Sqlserver

Cách kiểm soát những gì người dùng có thể giải mã Mã hóa khóa đối xứng SQL Server

Bạn có hai lựa chọn thay thế:

  1. Kiểm soát mật mã. Với điều này, chỉ những người dùng biết mật khẩu mới có thể giải mã dữ liệu. Nhược điểm là người dùng phải nhập mật khẩu giải mã mỗi lần họ truy cập dữ liệu. Một lỗi Báo cáo phải chứa tham số Mật khẩu mà người dùng chạy báo cáo điền vào mật khẩu truy cập dữ liệu. Ứng dụng phải yêu cầu mật khẩu từ người dùng. Các trang web phải yêu cầu mật khẩu từ khách truy cập. Vân vân và vân vân

  2. Kiểm soát truy cập. Dữ liệu được mã hóa bằng khóa mà chính SQL Server có quyền truy cập (cuối cùng thì chuỗi mã hóa sinh thái đi đến tận Khóa chính của dịch vụ và khóa này được mã hóa bằng DPAPI). Điều này không mang lại cho bạn sự bảo vệ nào khác mà việc cấp và từ chối SELECT sẽ cung cấp cho bạn:là quyền truy cập kiểm soát, không phải kiểm soát mật mã. Một sơ đồ như vậy chỉ bảo vệ chống lại việc vô tình làm mất phương tiện (ai đó tìm thấy đĩa có cơ sở dữ liệu của bạn hoặc bạn làm mất máy tính xách tay có cơ sở dữ liệu trên đó). Bạn có thể đạt được điều tương tự bằng cách sử dụng Mã hóa dữ liệu minh bạch hoặc mã hóa cấp độ tệp ( BitLocker ).

Kịch bản mã hóa dữ liệu phổ biến là mã hóa dữ liệu bằng khóa đối xứng, sau đó mã hóa khóa đối xứng bằng khóa không đối xứng (thường là khóa riêng của chứng chỉ). Sau đó, khóa không đối xứng lần lượt được mã hóa bằng mật khẩu và mật khẩu này phải được xuất trình khi cố gắng truy cập dữ liệu. Lý do chính cho việc chuyển hướng hai cấp này là thay đổi mật khẩu:khi mật khẩu hoặc khóa cá nhân bị xâm phạm, khóa đối xứng được mã hóa lại bằng khóa bất đối xứng khác hoặc khóa không đối xứng được mã hóa lại bằng mật khẩu khác. Bằng cách này, mật khẩu truy cập đã thay đổi mà không yêu cầu mã hóa lại tất cả dữ liệu . Nếu quyền truy cập sẽ được cấp trực tiếp cho khóa đối xứng thì có thể yêu cầu xâm nhập mật khẩu để mã hóa lại tất cả dữ liệu , terabyte dữ liệu có thể có.

Hai trường hợp tôi đã trình bày khác nhau ở chỗ liệu khóa không đối xứng có được mã hóa sinh thái bằng khóa chính của cơ sở dữ liệu hay không. Trường hợp 1) không phải, trường hợp 2) đúng là như vậy. Tất cả điều này được giải thích trong Hệ thống phân cấp mã hóa .




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Kiểm tra xem một hàng có tồn tại hay không, nếu không, hãy chèn

  2. Sử dụng Web.Config để thiết lập chuỗi kết nối cơ sở dữ liệu SQL của tôi?

  3. Làm cách nào để tạo Chỉ mục không gian trên Chế độ xem được lập chỉ mục?

  4. cách sử dụng openrowset để thực thi một thủ tục được lưu trữ với các tham số

  5. Đồng bộ hóa một chiều theo thời gian thực từ sql-server đến một kho lưu trữ dữ liệu khác