2010-12-30 39 views
6

Có lý do nào khiến tôi không nên sử dụng cookie/phiên cho các ứng dụng di động gốc, thường được các trình duyệt sử dụng, để xác thực với máy chủ của tôi và cho các cuộc gọi API tiếp theo không?Sử dụng cookie/phiên để xác thực ứng dụng dành cho thiết bị di động?

Làm rõ: Dường như phương pháp xác thực không thực tế trên máy khách di động là các hệ thống dựa trên mã thông báo như OAuth/XAuth. Tại sao các phương pháp trình duyệt truyền thống không đủ?

Trả lời

2

Điều này tùy thuộc vào ứng dụng của bạn (kịch bản đe dọa của bạn chính xác hơn).

Một số những mối đe dọa phổ biến nhất là - nghe trộm (-> nên mã hóa) - người đàn ông ở giữa (-> phải xác thực bên kia) - ... bạn là gì? (lưu trữ cookie của bạn an toàn như thế nào, ....)

Cookie lúc đầu chỉ giữ mã thông báo là bằng chứng cho thấy đôi khi bạn đã thực hiện thành công xác thực. Nếu cookie hợp lệ đủ dài hoặc vận chuyển không được mã hóa, sẽ có một cơ hội tốt để một người nào đó một ngày nào đó sẽ tìm ra ...

Ngoài ra, bạn phải tính đến các biện pháp bảo mật bổ sung. SSL.

Phương thức xác thực của bạn (thông tin đăng nhập nào khách hàng cần đăng nhập)? Bạn có khả năng làm việc với xác thực dựa trên cơ sở hạ tầng PPK hay là giao tiếp "ad-hoc" không?

EDIT

Wrt. để OpenAuth: theo như tôi hiểu giao thức quan tâm chính của nó là ủy nhiệm xác thực. Một tình huống mà bạn ủy quyền cho một tác nhân thực hiện một số nhiệm vụ rất cụ thể thay mặt cho một nhận dạng khác. Bằng cách này bạn không phân tán thông tin đăng nhập của bạn trên web. Nếu bạn có OpenAuth tại chỗ, khách hàng cũng có thể sử dụng giao thức trực tiếp. Vì vậy, tại sao bận tâm thêm khác. Nhưng OpenAuth tuyên bố rõ ràng rằng với một kịch bản máy khách trực tiếp, bạn lại gặp phải các vấn đề bảo mật khi mã thông báo có sẵn trên thiết bị và phải được bảo vệ tương ứng (như bạn phải làm với cookie của bạn).

+0

Cảm ơn câu trả lời của bạn. Giả sử chúng tôi sử dụng giao thông an toàn (SSL) và chính sách hết hạn hợp lý, giống như với trình duyệt web, có vẻ như bạn đang nói điều này sẽ ổn? Chúng tôi chỉ gửi người dùng/lượt truy cập như thường được thực hiện với yêu cầu POST. – Karan

+0

Ngoài ra, không chắc tôi hiểu ý bạn là "ad-hoc". Dường như cách được chấp nhận là sử dụng mã thông báo nào đó dựa trên OAuth/XAuth, nhưng mục đích của câu hỏi này là xem cookie có đủ không và nếu không, tại sao lại không? – Karan

+0

Nếu mứt/ăn cắp cookie không phải là một vấn đề cho bạn, điều đó có vẻ ổn. – mtraut

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