2009-08-20 38 views
11

Một nhóm trong công ty của tôi đang triển khai API REST đăng nhập một lần cho các ứng dụng của chúng tôi. Dịch vụ xác thực này có chức năng đặt lại mật khẩu. Ứng dụng sẽ gửi tên người dùng đến hàm reset. Nếu tên người dùng đó được liên kết với địa chỉ email thì email được gửi đến địa chỉ đó bằng mật khẩu tạm thời.Đặt lại mật khẩu bằng cách gửi email mật khẩu tạm thời

Cách tiếp cận khác dường như là các trang web gửi email liên kết bảo mật, tạm thời trình bày trang để người dùng nhập mật khẩu mới. Trang này chỉ tồn tại trong một khoảng thời gian ngắn.

Tôi biết rằng email không phải là giao thức bảo mật, vì vậy mọi người có thể đánh cắp lưu lượng truy cập và khôi phục mật khẩu tạm thời hoặc liên kết tạm thời.

Có bất kỳ lý do bảo mật quan trọng nào để thích phương pháp này hơn phương pháp khác không? Có cách nào khác, an toàn hơn để thực hiện việc này không?

Trả lời

9

Trong cả hai trường hợp, thông tin cá nhân (mật khẩu tạm thời hoặc liên kết đặt lại) được truyền qua cùng một phương tiện. Từ quan điểm này, không có sự khác biệt về an ninh. Tuy nhiên, liên kết đặt lại là một vài lợi thế: Bạn buộc người dùng phải chọn mật khẩu mới. Ngay sau khi anh ta làm như vậy, liên kết là vô hiệu và không thể bị lạm dụng. Mật khẩu tạm thời, ngược lại, có xu hướng không tạm thời như bạn muốn. Ngay cả khi bạn buộc người dùng chọn mật khẩu mới vào lần đăng nhập tiếp theo, anh ấy có thể sẽ nhập lại mật khẩu tạm thời.

Ngoài ra, bạn có thể đăng nhập IP của một trong những người sử dụng liên kết đặt lại, do đó, có ít nhất một cái gì đó để bàn giao cho chính quyền nếu cần thiết.

+2

Khá tầm thường để phát hiện ai đó sử dụng mật khẩu tạm thời và buộc họ thay đổi mật khẩu trước khi tiếp tục. – ceejayoz

4

Không thực sự là một cách tốt hơn cho công chúng. Nếu là ứng dụng nội bộ, bạn có thể gửi e-mail được mã hóa mà người dùng phải giải mã bằng PGP, nhưng điều đó sẽ không bao giờ bay cho người dùng bên ngoài trừ khi bạn có một sản phẩm thích hợp với giá trị rất cao.

Nếu e-mail hết, bạn phải sử dụng một số câu hỏi bảo mật, nhưng chúng có các vấn đề riêng (quan trọng hơn, theo ý kiến ​​của tôi). Các vấn đề bao gồm:

  • Có thể đoán được. Các câu hỏi như "màu yêu thích" khá dễ bị đoán các lựa chọn phổ biến như 'đỏ', 'xanh', 'xanh', v.v.
  • Có thể tìm thấy. Có nhiều thứ tắt hồ sơ Facebook/MySpace/Twitter/Flickr hoặc bằng cách khác là Googleable.
  • Không thể thực hiện được. Tôi đã chọn "địa điểm du lịch ưa thích" và sau đó một hoặc hai năm sau đó không thể nhớ những gì tôi đã chọn.
  • Khó phân tích cú pháp. Nếu tôi gõ "St. Paul" cho một tên thành phố, nhưng sau đó trở lại với "Thánh Phaolô", điều đó có được chấp nhận không?
+0

bạn có thể giải thích về các vấn đề của mình với các câu hỏi bảo mật không? – andrewWinn

+3

câu hỏi bảo mật hoặc yêu cầu một cái gì đó đã có sẵn trên hồ sơ facebook của người dùng hoặc yêu cầu một cái gì đó mà người dùng sẽ không nhớ. – Patrick

+0

Patrick nhận được nó trong một. Chúng thường có thể đoán được (chọn màu đỏ, xanh dương cho 'màu yêu thích' sẽ giúp bạn có được một tỷ lệ phần trăm tài khoản tốt), có thể tìm thấy (Google cho ai đó trên Facebook/Twitter/v.v.), hoặc quên ('địa điểm du lịch ưa thích' có thể thay đổi - bây giờ tôi có * hai * mật khẩu bị quên!). – ceejayoz

0

Có nhiều cách an toàn hơn để đặt lại mật khẩu. Tất cả chúng đều rất bất tiện cho người dùng của bạn và tốn kém để duy trì. Có mỗi người dùng gửi cho bạn một mẫu DNA và dấu vân tay và sau đó yêu cầu họ để hiển thị trong người để được xác minh nên giúp bảo mật của bạn. Tôi ngạc nhiên khi tổ chức bí mật hàng đầu của bạn cho phép bạn nhận lời khuyên bảo mật về stackoverflow. Tất cả việc đùa nản sang một bên, ứng dụng của bạn cần phải an toàn đến mức nào? Kẻ tấn công thực sự sẽ đặt lại mật khẩu của người dùng của bạn và sau đó truy cập vào email của họ?

XKCD luôn nói nó tốt nhất http://xkcd.com/538/

9

Có bất kỳ lý do bảo mật quan trọng để thích một phương pháp khác không?

Có. Nếu bạn sử dụng đường dẫn mật khẩu tạm thời thì bất kỳ ai cũng có thể làm phiền người dùng khỏi liên kết bằng cách liên tục nhấn liên kết đặt lại và đưa vào địa chỉ email của người dùng đó. Nếu bạn sử dụng liên kết đặt lại mật khẩu, người dùng chỉ có thể bỏ qua chúng và xóa email.

+0

Người dùng cũng không thể bỏ qua email mật khẩu tạm thời? Hay bạn đang nghĩ rằng tuyến đường mật khẩu tạm thời cũng đã khóa người dùng? – Patrick

+1

Tôi hy vọng rằng mật khẩu hợp lệ cũ sẽ bị vô hiệu nếu một mật khẩu mới được gửi đi. – Nifle

+0

Có, tôi nhận "mật khẩu tạm thời" có nghĩa là "mật khẩu cũ của bạn hiện không hợp lệ, đây là mật khẩu mới". –

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