Công ty của tôi sẽ lưu trữ dữ liệu nhạy cảm cho khách hàng của chúng tôi và sẽ mã hóa dữ liệu bằng một trong các lớp thuật toán mã hóa .NET được quản lý. Hầu hết các công việc được thực hiện, nhưng chúng tôi đã không tìm ra cách/nơi để lưu trữ chìa khóa. Tôi đã thực hiện một số tìm kiếm và đọc ánh sáng và có vẻ như giải pháp phần cứng có thể là giải pháp an toàn nhất. Có ai có bất kỳ đề xuất về một giải pháp lưu trữ quan trọng hoặc phương pháp?Lưu trữ khóa đối xứng
Cảm ơn câu trả lời của bạn, mọi người.
spoulson, vấn đề thực sự là cả hai "phạm vi" mà bạn đã đề cập. Tôi cho rằng tôi nên rõ ràng hơn.
Bản thân dữ liệu, cũng như logic mã hóa và giải mã nó được trừu tượng hóa thành nhà cung cấp hồ sơ ASP.NET. Nhà cung cấp tiểu sử này cho phép cả thuộc tính hồ sơ được mã hóa cũng như các thuộc tính văn bản thuần túy. Các giá trị thuộc tính được mã hóa được lưu trữ chính xác giống như các văn bản thuần túy - với ngoại lệ rõ ràng là chúng đã được mã hóa.
Điều đó nói rằng, chìa khóa sẽ cần để có thể được triệu tập cho một trong ba lý do:
- Các ứng dụng web được ủy quyền, chạy trên một máy chủ ủy quyền, cần để mã hóa dữ liệu.
- Giống như # 1, nhưng để giải mã dữ liệu.
- Thành viên được ủy quyền trong nhóm doanh nghiệp của chúng tôi cần xem dữ liệu được mã hóa.
Cách tôi tưởng tượng rằng không ai thực sự biết khóa - sẽ có một phần mềm kiểm soát việc mã hóa và giải mã dữ liệu thực tế. Điều đó nói rằng, khóa vẫn cần phải đến từ ở đâu đó.
Tiết lộ đầy đủ - nếu bạn không thể nói, trước đây tôi chưa bao giờ làm điều gì như thế này, vì vậy nếu tôi hoàn toàn dựa vào nhận thức của tôi về cách thức hoạt động này, bằng mọi cách, hãy cho tôi biết.
Lớp SecureString trong .Net giải quyết vấn đề về phân trang thành đĩa. –