Tôi có ứng dụng ASP.Net C# cần kết nối với API bên ngoài bằng cách sử dụng dịch vụ web mỗi 5 phút.Thực tiễn tốt nhất để lưu trữ và cập nhật mật khẩu API bên ngoài
Các yêu cầu của Webservice bên ngoài là như sau:
- Username và Password được yêu cầu
- tôi phải chuyển tên người dùng và mật khẩu với mỗi yêu cầu webservice
- Passwords hết hạn mỗi 90 ngày và phải thay đổi trước ngày hết hạn
- Mật khẩu không thể thay đổi theo cách thủ công (theo con người), ứng dụng của tôi phải kết nối với một Dịch vụ Web thay đổi mật khẩu riêng biệt để thay đổi mật khẩu.
- Ứng dụng của tôi phải tạo mỗi mật khẩu mới dựa trên một bộ quy tắc.
- Không thể sử dụng lại mật khẩu.
- SSL, Giấy chứng nhận và Firewall IP hạn chế được yêu cầu
tôi đã xây dựng tất cả các trước, nhưng tôi hiện đang có một vấn đề. Phương pháp hay nhất để lưu trữ mật khẩu hiện tại và lịch sử là gì?
Rõ ràng việc lưu trữ mật khẩu thô là một giải pháp tồi. Tôi cần có khả năng để webservice của tôi đọc mật khẩu và truyền nó với mỗi yêu cầu. Tôi cũng cần có thể truy cập tất cả mật khẩu lịch sử để đảm bảo rằng mật khẩu mới được tạo của tôi không trùng lặp.
Lý tưởng nhất, tôi muốn lưu trữ mỗi mật khẩu (mã hóa) trong cơ sở dữ liệu của mình và giải mã nó bất cứ khi nào tôi cần gọi dịch vụ web. Có cách nào tốt nhất tôi nên theo dõi? Tôi có nên mã hóa mỗi mật khẩu bằng Microsoft.Practices.EnterpriseLibrary.Security.Cryptography.Cryptographer.EncryptSymmetric (..)?
Lưu ý: Rất tiếc, tôi không có quyền truy cập để thay đổi cách các chức năng API bên ngoài. Tôi phải tuân thủ các quy tắc được cung cấp.
Stick một bộ đếm 5 chữ số ở phần cuối của mật khẩu, với những tháng số từ năm 2010? –