2011-01-12 47 views
6

Sự hiểu biết của tôi về xác thực dựa trên mã thông báo là khi xác thực (có thể trên ssl), mã thông báo được chuyển tới người dùng để xác minh người dùng giá rẻ khi đang di chuyển. Một triển khai thực hiện điều này sẽ là tạo một cookie được chuyển cho người dùng để quản lý phiên.Bảo mật xác thực dựa trên mã thông báo

Nhưng, sự hiểu biết của tôi là xác thực dựa trên mã thông báo (ít nhất là thông qua cookie) dễ bị người đàn ông trong các cuộc tấn công trung gian như firesheep.

Có phương pháp triển khai nào khác đề cập đến vấn đề bảo mật lớn này hay tôi có hiểu lầm cơ bản về tba?

Trả lời

10

Hiểu biết của bạn tốt. Về cơ bản, về cách ứng dụng nhìn thấy nó, một mã thông báo cũng có thể là tên người dùng và mật khẩu. Nếu ai đó có mã thông báo, họ có thể tự xác thực với ứng dụng của bạn. Mục đích chính trong trường hợp của một cookie http là để tránh rò rỉ tên người dùng và mật khẩu nếu ai đó có được cookie bằng phương tiện của một lỗ hổng tập lệnh cross-site (XSS) hay cách khác. Có, trong trường hợp thích hợp, họ có thể "phát lại" mã thông báo này cho ứng dụng dưới dạng "người ở giữa" nhưng họ không thể tìm ra cặp tên người dùng/mật khẩu từ nó nhưng lại không được đảm bảo nếu mã thông báo thuật toán tạo yếu, ví dụ như nếu bạn quyết định BASE64 mã hóa tên người dùng và mật khẩu được nối với nhau và sử dụng nó làm giá trị.

Thông thường bạn giữ mã thông báo -> ánh xạ người dùng an toàn ở phía máy chủ. Vì vậy, cuối cùng bảo mật của bạn dựa trên việc giữ mã thông báo an toàn và đảm bảo rằng thời gian tồn tại của nó được kiểm soát (ví dụ: hết hạn và/hoặc chỉ hợp lệ khi được cấp cho bạn từ cùng một IP như được nhà cung cấp ban đầu của thông tin đăng nhập sử dụng - một lần nữa, chỉ là ví dụ)

Hope this helps,

-Oisin

+0

Tuyệt vời, nhờ Oisin. – Devin

Các vấn đề liên quan