18

Chúng tôi đã làm việc trên ứng dụng web, nơi chúng tôi cần triển khai chức năng ứng dụng web truyền thống để truy xuất mật khẩu. Theo các xu hướng có các cách tiếp cận như ..Các kỹ thuật hiệu quả để truy xuất mật khẩu trong các ứng dụng web hiện đại

  1. Gửi liên kết đặt lại mật khẩu đến email của người dùng.
  2. Đặt câu hỏi bí mật cho người dùng để khôi phục Mật khẩu.
  3. Đặt lại mật khẩu hiện có và tạo mật khẩu mới và gửi mật khẩu cho người dùng. Điều này cũng có thể buộc người dùng phải thay đổi mật khẩu khi đăng nhập tiếp theo.

Chúng tôi có bất kỳ kỹ thuật phi truyền thống nào để triển khai cơ chế truy xuất mật khẩu không? Bạn đã thử phương pháp nào khác cho điều này?

Cảm ơn.

+1

Bởi "phi truyền thống", tôi lấy nó có nghĩa là "tệ hơn?" Truyền thống tồn tại vì một lý do. – mquander

+5

Tôi mạnh mẽ từ chối tình cảm của mquander, nhưng tôi cũng không biết gì hơn so với phương pháp truyền thống được liệt kê, tất cả đều hợp lý mạnh mẽ – annakata

+0

gửi mật khẩu mới (tùy chọn 3) tương đương với gửi liên kết còn lại (tùy chọn 1) thay đổi mật khẩu của mình. – jrharshath

Trả lời

18

Tùy thuộc vào mức độ bảo mật bạn đang nhắm tới, chi phí hỗ trợ và mối quan tâm về khả năng sử dụng.

gửi email liên kết đặt lại mật khẩu là phương pháp ưa thích đối với một số lý do:

  • Chi phí Hỗ trợ - Đây là yếu tố lớn nhất từ ​​góc độ kinh doanh. Người dùng thường quên ngay cả những gợi ý mật khẩu của họ hoặc sử dụng địa chỉ gửi thư giả hoặc quên tên người dùng của họ. Tất cả những điều này là những mối quan tâm chính đáng mà bạn có thể nhận được yêu cầu hỗ trợ. Điều này lần lượt tạo ra một vấn đề khác, bạn phải thiết lập tính hợp pháp của người dùng bằng cách hỏi họ về hoạt động tài khoản gần đây và những gì không. Nếu bạn không cung cấp mức hỗ trợ đó, nhiều người dùng mới làm quen sẽ thất vọng. Gửi email liên kết đặt lại mật khẩu sẽ giảm nhẹ những mối quan tâm này vì người dùng thường có một hoặc hai địa chỉ email và họ có thể dễ dàng khôi phục tên người dùng/mật khẩu của họ bằng cách cung cấp địa chỉ email của họ.

  • Mối quan tâm về bảo mật - Đây là yếu tố lớn nhất từ ​​góc độ kỹ thuật. Có nhiều mối quan tâm ở đây mà bạn phải cân nhắc. Tài khoản email bị xâm phạm có nghĩa là hacker có thể truy cập tất cả các dịch vụ của người dùng cho phép liên kết đặt lại mật khẩu được gửi qua email. Bạn có thể giải quyết cho nền tảng trung gian là gửi email liên kết đặt lại mật khẩu cho người dùng, từ đó sẽ hỏi người dùng một câu hỏi gợi ý mật khẩu sau đó nó cho phép họ đặt lại mật khẩu của họ. Một lần nữa, bạn không bao giờ nên để lộ mật khẩu của người dùng trong bất kỳ phương tiện nào. Trong thực tế, nếu bạn có khả năng hiển thị mật khẩu của họ, hệ thống của bạn đã không an toàn vì nó ngụ ý bạn không lưu trữ chúng bằng cách sử dụng băm an toàn như SHA-1 và nhà phát triển trong công ty của bạn có thể lấy mật khẩu của mọi người.

  • Tính khả dụng - Đây là yếu tố lớn nhất từ ​​góc độ người dùng. Gửi email liên kết đặt lại mật khẩu yêu cầu người dùng truy cập và kiểm tra địa chỉ email của họ, điều đó có nghĩa là thời gian để đạt được nhiệm vụ có thể lên đến 2 hoặc thậm chí 3 phút. Tuy nhiên, tôi nghĩ rằng đây không phải là một vấn đề lớn.Hầu hết người dùng dường như không quan tâm đến điều này bởi vì họ cảm thấy họ có lỗi và đây là biện pháp an ninh vì lợi ích tốt nhất của họ. Tôi chỉ giả thuyết từ kinh nghiệm cá nhân và người dùng nói chung có thể cảm thấy khác nhau. Tôi sẽ đặt bảo mật là ưu tiên cao hơn trải nghiệm người dùng vì người dùng hiếm khi cần truy xuất mật khẩu của họ (người dùng chưa đăng nhập trong một thời gian dài và quên mật khẩu của mình; người dùng đã lưu mật khẩu của mình trong trình duyệt đã được cài đặt lại và một số trường hợp cạnh khác).

+0

Từ quan điểm khả năng sử dụng, chúng ta có thể hình dung ra những kỹ thuật nào? Đó thực sự là tiêu chí. Đối với chúng tôi, không có vấn đề gì khác nhiều như trải nghiệm Người dùng. –

+0

trong một số trường hợp, vấn đề bảo mật và quyền riêng tư nhiều hơn trải nghiệm người dùng. – jrharshath

+0

@s_ruchit, nếu trải nghiệm người dùng là mối quan tâm lớn thì bạn cũng có thể cung cấp cả hai tùy chọn, để đi với hệ thống gợi ý mật khẩu như hotmail.com và cũng cung cấp liên kết để gửi mẫu đặt lại mật khẩu qua email cho họ. Bằng cách này họ có thể chọn nhưng từ quan điểm bảo mật, nó mở ra các vectơ tấn công mới. – aleemb

6

Theo ý kiến ​​của tôi, việc gửi liên kết đặt lại mật khẩu tới email của người dùng là cách tốt nhất. Đây là cách Digg làm điều đó, và đây là cách tôi làm.

Nhưng trong phương pháp này, chúng tôi cần dựa vào người dùng có thể truy cập email của anh ấy.

Về phương thức câu hỏi bí mật: thường xuyên hơn không, câu trả lời của câu hỏi bí mật không phải là bí mật như chúng tôi muốn. Nó sẽ là lợi ích tốt nhất của người dùng của chúng tôi để chặn phương pháp này của một "tài khoản-hack".

4

Trang web và quản trị viên của nó không nên biết mật khẩu rõ ràng của người dùng. Chỉ nên có một băm một chiều của mật khẩu được lưu trữ để so sánh tại các sự kiện xác thực. Vì vậy, gửi một văn bản rõ ràng mật khẩu không phải là một lựa chọn.

Cá nhân tôi thích liên kết đặt lại mật khẩu được gửi tới người dùng. Hãy nhớ hết hạn liên kết đó. Đồng thời, thông báo cho người dùng qua email về các lần thử đặt lại mật khẩu (có thể là cùng một email với liên kết đặt lại), cũng như sau khi đặt lại thành công.

7

Các tùy chọn khác tôi thấy trong thực tế sẽ bao gồm:

  • cho phép một mật khẩu thứ hai khi họ gặp khó khăn - một cái gì đó giống như Super-PIN sử dụng với điện thoại di động.
  • tạo mã thông báo tệp (thường là khóa PGP) mà người dùng sẽ tải xuống khi tạo tài khoản và lưu trữ trên thanh USB hoặc lưu trữ để sử dụng sau này. Khi có sự cố, người dùng sẽ tải lên mã thông báo, do đó chứng minh rằng anh ta là "chủ sở hữu" của tài khoản và ứng dụng sẽ thay đổi mật khẩu để người dùng thay đổi mật khẩu. Đây có thể là mã thông báo không đổi hoặc một tệp có nhiều mã thông báo (tương tự như TANs ngân hàng trực tuyến) - mỗi khi mã thông báo được sử dụng, nó cũng bị vô hiệu.

Các phương pháp trên không đơn giản để thực hiện, nhưng khá thân thiện với người dùng (vì không có gì mới về chúng và hiện diện khác trong các tình huống từng ngày).

0

Cách tiếp cận thêm vào liên kết đặt lại mật khẩu có thể là tạo khóa ngẫu nhiên không xuất hiện trong liên kết email mà người dùng sẽ phải nhập khi liên kết đã được nhấp. Điều này sẽ giúp chống lại những người chụp email.