Tôi bắt đầu viết một ứng dụng web nhỏ và đã bắt đầu suy nghĩ về việc bảo mật thông tin đăng nhập (chỉ được sử dụng để quản trị).Xác thực bảo mật mà không cần SSL
Nếu có thể, tôi sẽ cài đặt chứng chỉ SSL CACert hoặc tự ký, vì hiện tại tôi sẽ là người duy nhất đăng nhập nhưng máy chủ của tôi không quá sức chứa.
Có bất kỳ tùy chọn hợp lý nào để đảm bảo trang web không có SSL không? Tôi đã suy nghĩ về các tùy chọn xác thực:
Thực hiện băm muối trong JavaScript. Khi trang đăng nhập được tải, tạo ra một máy chủ muối bên. Gửi nó cho khách hàng trong rõ ràng và lưu nó trong một biến phiên.
Xác thực thông báo. Tôi chỉ tìm thấy ý tưởng này duyệt SO, và nó có thể là hợp lý hơn rất nhiều so với cán auth của riêng tôi.
OpenID. Đó là một tiêu chuẩn mở, không yêu cầu mật khẩu (và tôi có thể "xâm nhập" SSL của nhà cung cấp OpenID của tôi để thêm bảo mật cho quá trình đăng nhập), nhưng tôi không biết OpenID hoạt động như thế nào hoặc bảo mật như thế nào. (Nhu cầu nghiên cứu Ví dụ, một xác thực OpenID có thể được thực hiện lại.?)
Vấn đề với tất cả trong số đó là:
- phiên có thể bị bắt cóc
- Chỉ đăng nhập là an toàn, tất cả mọi thứ khác là trong rõ ràng
Tùy chọn duy nhất tôi có thể nghĩ đến để bảo mật ứng dụng sau khi đăng nhập là một số JavaScript kinh tởm và gửi mã hóa ASCII qua lại. Tôi không muốn làm điều này.
Có mã hóa nào (để tải trang và POST) có thể được triển khai bằng ngôn ngữ kịch bản lệnh phía máy chủ mà không có sự gia trì hoặc sự tham gia của máy chủ của tôi, nhưng trình duyệt đó có hỗ trợ không? Các phiên có thể được bảo vệ khỏi bị tấn công (thực tế) mà không có SSL không?
Bạn sẽ làm gì trong tình huống như thế này?
làm thế nào để thực hiện điều này u nói? –