Có ai có kinh nghiệm thực tế hoặc tham chiếu cho một chương trình thực hiện một lược đồ quản lý khóa tuân theo tiêu chuẩn bảo mật PCI DSS không?Làm cách nào để quản lý khóa cá nhân đúng cách
Rõ ràng có khá nhiều triển khai xung quanh vì số lượng công ty tuân thủ PCI DSS nhưng cố gắng tìm chi tiết về chúng là khó khăn. Khi nó xuống để lưu trữ dữ liệu riêng tư, cuộc thảo luận thường dừng lại ở đó sử dụng thuật toán mã hóa nào. Sau đó thường có một tuyên bố về cách lưu trữ khóa cá nhân một cách thích hợp nhưng không thảo luận về các cách thực tế để thực hiện hoặc những thứ như thay đổi định kỳ khóa hoặc cung cấp khóa cho các ứng dụng, vv. 3,5 và 3,6 của chuẩn PCI DSS.
3.5.2 Lưu khóa mã hóa an toàn ở các vị trí và biểu mẫu ít nhất có thể.
3.6.a Xác minh sự tồn tại của các thủ tục quản lý khóa cho các khóa được sử dụng để mã hóa dữ liệu của chủ thẻ. Lưu ý: Có nhiều tiêu chuẩn ngành để quản lý khóa có sẵn từ nhiều tài nguyên khác nhau, bao gồm NIST, có thể tìm thấy tại http://csrc.nist.gov.
3.6.4 Xác minh rằng các quy trình quản lý khóa được thực hiện để yêu cầu thay đổi khóa định kỳ ít nhất hàng năm.
Tôi đã có một cái nhìn tại các NIST Cryptographic publications như tài liệu yêu cầu PCI DSS gợi ý nhưng ngoài việc ghi chú gần đây của một Cryptographic Key Management Workshop có vẻ không được nhiều có theo cách của chương trình thực hiện được thật hay tiêu chuẩn.
Như những gì tôi đang cố gắng để làm điều đó là không được phép:
- Store passwords + muối là một cách băm để xác thực,
- Chọn một thuật toán symmteric mạnh mẽ để mã hóa dữ liệu,
- Tránh cần để lưu trữ dữ liệu riêng tư ngay từ đầu.
- Tránh sự cần thiết của quản lý chủ chốt với các cơ chế khác: bảo mật vật lý, an ninh cơ sở dữ liệu, con rồng và trình thuật sĩ, vv
Tất cả trong số đó là mối quan tâm hợp lệ nhưng trong trường hợp này không phải là câu trả lời. Các hạt và bu lông của các yêu cầu của tôi là trong một câu hỏi SO khác nhau .Net Design pattern for storing and retrieving sensitive per user data nhưng tất cả đều nắm chặt xuống để quản lý khóa do đó câu hỏi này tinh tế hơn.
Tò mò để biết bạn đã làm gì? Tôi đã tìm kiếm về điều này nhưng không thể tìm thấy mã khóa hoặc mã mẫu hợp lệ cho NIST SP 800-22. Webapp của tôi là trong php và thậm chí một triển khai thương mại sẽ giúp đỡ. – 3zzy
Tôi không cần phải lưu trữ dữ liệu của chủ thẻ nhưng vẫn cần mức mã hóa ứng dụng. Đối với Windows, tôi đã sử dụng chứng chỉ và khóa RSA được lưu trữ trong kho lưu trữ chứng chỉ Windows làm khóa chính cho khóa ứng dụng được mã hóa được lưu trữ trong tệp cấu hình. Đối với một số cơ sở dữ liệu MySQL Linux, tôi đã sử dụng LUKS nơi hệ thống tệp chỉ có thể được gắn sau khi cụm từ mật khẩu được nhập theo cách thủ công. – sipwiz