Tôi gặp sự cố mã hóa thú vị trong tầm tay. Tôi không biết nếu nó có thể được giải quyết nhưng ở đây đi:Bảo mật mã hóa hai chiều DB ngay cả từ Admin
Cơ sở dữ liệu chứa thông tin người dùng nhạy cảm. Như vậy, thông tin người dùng phải được mã hóa (mã hóa hai chiều). Người dùng có một đăng nhập/mật khẩu và chúng có thể được sử dụng trong mã hóa hai chiều. Bây giờ, mã hóa được thiết kế theo cách mà ngay cả người quản trị xem các bảng cơ sở dữ liệu cũng không thể hiểu được thông tin người dùng.
Tuy nhiên, thiết kế phải xử lý các trường hợp người dùng có thể quên mật khẩu của mình. Nếu mật khẩu được sử dụng để mã hóa, quên mật khẩu có nghĩa là thông tin bị mất - không muốn. Nếu mật khẩu người dùng được lưu trữ trong cơ sở dữ liệu bằng thuật toán hai chiều (thay vì băm một chiều) với khóa được mã hóa cứng trong tập lệnh, quản trị viên có thể khám phá khóa cứng bằng cách xem tập lệnh (quản trị viên của khóa học có quyền truy cập đến tập lệnh).
Có ai biết cách thoát khỏi điều này không?
PS: Đây là vấn đề thực sự. Công ty của tôi là một fan cuồng tín tuyệt đối (ISO 27001 và tất cả) và tôi đã được giao phó để thiết kế một hệ thống với chức năng được đề cập ở trên. Nhân tiện, tôi đang sử dụng một kịch bản PHP và MySQL.
EDIT: Có thể trước đây không rõ, người dùng cần xem/chỉnh sửa thông tin người dùng này hàng ngày.
Câu hỏi: Mã hóa dữ liệu của bạn mạnh đến mức nào? Dữ liệu obfuscation (có nghĩa là dữ liệu sẽ không được lưu trữ như văn bản rõ ràng nhưng với một nỗ lực rất ít người có thể giải mã nó) là đủ, hoặc bạn muốn có một * thực * mạnh mẽ chương trình mã hóa? – Nicolas
Mã hóa mạnh mẽ - không có khả năng dữ liệu nào được phát hiện! –
Vâng, nếu bạn không muốn dữ liệu được giải mã nhưng đồng thời cần khả năng hiển thị dữ liệu được giải mã cho người dùng ... – Nicolas