Chúng tôi sẽ phát triển một ứng dụng ASP.NET . Nó sẽ lưu trữ dữ liệu trong một cài đặt SQL Server 2008 R2 . Hầu hết các dữ liệu đều nhạy cảm, vì vậy bảo mật là mối quan tâm chính. Chúng tôi sẽ là lưu trữ điều này trong một môi trường được chia sẻ, và đó là mục tiêu thiết kế mà dữ liệu sẽ không thể đọc được trong trường hợp trộm cắp.
Ok, tôi đã ngừng cười ở đây. Về cơ bản bạn cố gắng làm món bít tết bò chay.
Bảo mật EITHER là mối quan tâm chính của bạn, sau đó bạn không nên sử dụng kịch bản lưu trữ được chia sẻ nhưng phải chạy trong trung tâm dữ liệu được chứng nhận trong giá bị khóa không có quyền truy cập quản lý của máy. Trong trường hợp này, bạn sẽ sử dụng phiên bản SQL Server cao hơn và sử dụng mã hóa đĩa + hệ thống an toàn (chip TPM) để đảm bảo sau khi bị đánh cắp dữ liệu không đọc được trên đĩa. Điểm.
Hoặc bảo mật không phải là mối lo ngại của bạn, bạn có thể sử dụng nhà cung cấp dịch vụ lưu trữ dùng chung.
Bất cứ điều gì khác là hogwash. Mức độ "không, lướt ván không phải là tra tấn bởi vì nó không gây ra thiệt hại vật chất" loại tranh luận.
Vấn đề của bạn là: bạn có thể KHÔNG LÀM để dừng quyền truy cập vào dữ liệu. Vì ứng dụng của bạn phải có khả năng đọc dữ liệu không được mã hóa và do đó có quyền truy cập vào khóa được sử dụng mã hóa tp ... bất kỳ ai xâm nhập vào ứng dụng của bạn đều có quyền truy cập vào khóa (đó là lý do tại sao TPM rất đẹp - đây là phần cứng an toàn, không có cách nào để có quyền truy cập vào các phím).
Bạn có thể chơi xung quanh thực tế này, với tất cả các loại đối số vui nhộn, nhưng nếu dữ liệu bị đánh cắp, các đối số sẽ KHÔNG giữ trong bất kỳ cuộc thảo luận pháp lý nào. Và bạn sẽ nhìn xấu trên đầu trang này.
Người dùng được tạo ra trong SQL Server bảng người dùng, và chúng tôi xác thực so với khi người dùng đăng nhập thông qua giao diện web. Mục đích là rằng nếu ai đó truy cập vào cơ sở dữ liệu, họ sẽ không thể sử dụng dữ liệu. Và không có chuỗi kết nối nào với thông tin người dùng cần phải được lưu trữ trong tệp web.config.
Ok, vì vậy - tôi lấy cắp cơ sở dữ liệu. Tôi cũng ăn cắp cơ chế xác thực của bạn. Chính xác những gì bạn đạt được? Bên cạnh việc giết chết chức năng tìm kiếm của bạn? Khi tôi ahve cơ sở dữ liệu iH ave bảng người dùng và tôi bằng cách nào đó có thể xác thực là người dùng. Nếu tôi cũng ăn cắp các ứng dụng tôi có được prettym uch tất cả mọi thứ, ngay cả mã.
KHÔNG BAO GIỜ bạn có trường hợp đặc biệt mà bạn không có khóa ứng dụng (những thứ như LastPass không biết cách giải mã dữ liệu của bạn ở phía máy chủ). Môi trường lưu trữ được chia sẻ chỉ không có mức phần cứng phù hợp cho việc này.
Cảm ơn câu trả lời :) Điều này làm cho rất nhiều ý nghĩa - nếu khóa cá nhân được lưu trữ trên máy, thì ai đó ăn cắp máy sẽ có quyền truy cập vào dữ liệu - bất kể lưu trữ được chia sẻ hoặc chuyên dụng. Không có cách nào để giữ khóa TDE ở dạng được mã hóa, chỉ để được mở khóa bằng mật khẩu của người dùng được ủy quyền? Vì vậy, mật khẩu là cần thiết - ngay cả đối với những người có quyền truy cập vật lý vào PC? –
Xem cập nhật của tôi trong câu trả lời. –
Cảm ơn bạn đã giải thích. Tôi nghĩ rằng quá trình hành động hợp lý nhất là xem xét các yêu cầu bảo mật và tìm một thỏa hiệp hợp lý. –