Trừng phạt người dùng vì mật khẩu không an toàn [đã đóng]


13

Tôi đang suy nghĩ về việc giới hạn quyền của người dùng chọn mật khẩu không an toàn (độ không an toàn của mật khẩu được xác định theo độ dài, có bao nhiêu loại ký tự (chữ hoa / chữ thường, số, ký hiệu, v.v.) được sử dụng và liệu nó có thể nằm trong bảng cầu vồng) để hạn chế mức độ thiệt hại mà tài khoản của họ có thể gây ra nếu bị xâm phạm.

Tôi chưa có ứng dụng cho ý tưởng này, nhưng nói rằng tôi đang viết một diễn đàn hoặc một cái gì đó: Người dùng sử dụng mật khẩu 1234 có thể phải điền captcha trước khi đăng hoặc phải chịu các biện pháp chống thư rác nghiêm ngặt như vậy như thời gian chờ hoặc bộ lọc Bayes từ chối nội dung của chúng. Nếu diễn đàn này rất phân cấp, cho phép "quảng bá" cho người điều hành hoặc bằng bất kỳ cách nào, điều này sẽ ngăn họ giành được đặc quyền hoặc nói với họ rằng họ có đặc quyền, nhưng không cho phép họ thực hiện chúng mà không thay đổi để an toàn hơn mật khẩu.

Tất nhiên đây không thể là biện pháp bảo mật duy nhất, nhưng nó có thể hoạt động tốt bên cạnh các biện pháp bảo mật tốt.

Bạn nghĩ sao? Đây có phải là việc làm quá sức, đánh cắp sự tập trung khỏi các thực tiễn bảo mật quan trọng hơn hay là một cách tốt để hạn chế rủi ro và khuyến khích người dùng sử dụng mật khẩu an toàn hơn (và hy vọng thuyết phục những người bạn đang sử dụng các thực tiễn bảo mật tốt)?


24
Lợi ích của việc này là gì khi bạn đã có thể hạn chế người dùng có mật khẩu không chính xác ngay cả khi truy cập hệ thống của bạn?
Pete

12
Hầu hết mọi người có thể sẽ tiếp tục sử dụng "letmein" bất kể bạn hạn chế bất kỳ hạn chế nào. Thực thi các quy tắc mật khẩu khi tạo / thay đổi mật khẩu hoặc không.
John Straka

3
@Carson Myers: Không phải nếu bạn kết nối nó với cáp Cat6 thì không phải: D
Piskvor rời khỏi tòa nhà vào

13
Đầu tiên, người dùng cái gì? Tôi mệt mỏi với các trang web yêu cầu đăng nhập để xem hình ảnh được đăng trên diễn đàn, sau đó yêu cầu mật khẩu phải là trường hợp 10 ký tự với các chữ số và ký tự đặc biệt và KHÔNG gạch chân và số 1. Đặt yêu cầu mật khẩu tỷ lệ với giá trị dữ liệu được bảo vệ.
SF.

6
Ở Florida, những người chậm thanh toán hóa đơn truyền hình cáp đôi khi bị giới hạn ở một kênh. CSPAN. Nó làm việc cho họ. <nhún>
Mike Sherrill 'Nhớ lại mèo'

Câu trả lời:


35

YAGNI , KISS , DRY , quy tắc 10 giây và thực tế là "[u] không quan tâm đến BẠN" có lẽ nên thu hẹp nó thành một giải pháp: Đừng.

  • Đó là công việc phát triển hơn cần nhiều thử nghiệm để đáng tin cậy và an toàn.
  • Nó có thể làm giảm tính bảo mật của trang web bất kỳ cách nào bạn nhìn vào nó. Cơ hội của một số lỗi dẫn đến leo thang đặc quyền với một mật khẩu khủng là quá lớn.
  • Nó làm tăng sự phức tạp cho nhà phát triển, người thử nghiệm, người bảo trì, DBA, sysadmin và người dùng.
  • Càng phức tạp, càng khó tránh khỏi việc lặp lại chính mình theo một cách nào đó.
  • Người dùng không có khoảng chú ý để đọc thông tin của bạn và theo dõi thông tin đó. Chúng được sử dụng để điều chỉnh biểu mẫu đăng ký cho đến khi nó chấp nhận đầu vào, cho đến khi chúng đạt đến một mức lý tưởng.
  • Người dùng không quan tâm.

điểm mạnh, tất cả, ngoại trừ có thể KHÔ. Tại sao lại KHÔ? Ngoài ra, nó không phải phức tạp, toàn bộ "khuyến mãi để MOD" vv chỉ là một vài ví dụ thêm. Vì hầu hết các trang web đã phát hiện mật khẩu không an toàn và nhiều nền tảng phổ biến (Wordpress xuất hiện) đã cho phép bạn đăng ký với mật khẩu không an toàn, việc thêm captcha cho những người dùng này có làm tăng tất cả những lo ngại này không? Nó có thể gây phiền nhiễu, nhưng các lựa chọn thay thế khác là loại bỏ hoàn toàn người dùng hoặc để họ vào và có nguy cơ spam nhiều hơn. Ví dụ.
Carson Myers

3
+1 Đối với liên kết để sử dụng. Trang web tốt là tốt. Trớ trêu thay cho một trang web UI / UX.
StuperUser

4
+1 Đối với người dùng không quan tâm đến bạn. Nếu đó là một trang blog / Q & A ngớ ngẩn và tôi phải nhớ một combo tên người dùng / pwd phức tạp thì đơn giản là tôi sẽ không sử dụng nó.
ElGringoGrande

@ElGringoGrande Tôi không nhất thiết phải đề xuất nó cho một cái gì đó ngớ ngẩn, thay vì là một trung gian giữa "cho phép tất cả mật khẩu" và "từ chối tất cả mật khẩu xấu", nơi có rất nhiều trang web sử dụng mỗi phương pháp. Tuy nhiên, nó không được tốt lắm, haha
Carson Myers

13

Hoặc buộc mật khẩu an toàn khi thay đổi đăng ký hoặc sử dụng OpenId (2c của Jeff Atwood: http : //www.codinghorror.com/blog/2010/11/your-iNET-drivers-license.html ). Sau đó tập trung vào chức năng thú vị hơn.

Đối với một điều, người dùng đã quen với việc buộc phải tạo mật khẩu an toàn hoặc sử dụng OpenId của họ, vì vậy thật đơn giản đối với họ.


Tôi đồng ý rằng OpenId là tuyệt vời cho loại điều này, nhưng tôi nghĩ bạn có thể bị thiên vị khi nghĩ rằng hầu hết người dùng đã quen với một trong những điều đó. Hầu hết những người tôi biết chưa bao giờ nghe nói về OpenId và thậm chí nhiều người sử dụng mật khẩu không an toàn
Carson Myers

1
Điểm tốt. Tôi đã không sử dụng OpenId trước SE, nhưng tôi đã bị từ chối mật khẩu do thiếu sự phức tạp. Nếu đó là giữa việc giữ một cái gì đó đơn giản và an toàn, thì bảo mật sẽ được ưu tiên hàng đầu, ngay cả khi trách nhiệm giáo dục người dùng của bạn thuộc về bạn. Bạn phải dành nỗ lực giáo dục họ về trách nhiệm của họ dựa trên mức độ phức tạp của mật khẩu, có vẻ tốt hơn là sử dụng nó để giáo dục họ về bảo mật / thúc đẩy đăng nhập chung.
Người sử dụng Stuper

một thông tin đăng nhập chung là lý tưởng, nhưng nếu bản chất ứng dụng không mang tính kỹ thuật, một phần tốt người dùng sẽ chọn chỉ sử dụng cùng một mật khẩu của họ (hoặc để lại nếu không có sẵn). Trong ví dụ của tôi, tôi tự hỏi liệu có nên từ chối để từ chối người dùng hay không (bằng cách từ chối mật khẩu của họ) hoặc cho họ trải nghiệm hình ảnh (chúng tôi không thể để bạn làm điều đó vì chúng tôi không biết liệu mật khẩu xấu của bạn có tài khoản của bạn bị xâm phạm) để cho họ thấy các vấn đề được tạo bởi mật khẩu xấu
Carson Myers

Hầu hết người dùng sẽ có tài khoản facebook hoặc hotmail hoặc Gmail (cần có tài khoản thư để truy xuất thông tin xác thực trên nhiều trang web), làm rõ cách sử dụng những tài khoản này để đăng ký / đăng nhập có thể hữu ích.
StuperUser

Tôi đoán tôi đã quên kết nối facebook, v.v.
Carson Myers

12

Tại sao cho phép mật khẩu bạn cảm thấy xấu ngay từ đầu? Dừng vấn đề tại nguồn sẽ giúp bạn tiết kiệm rất nhiều thời gian thiết kế khi cố gắng tìm ra các lớp mật khẩu ánh xạ tới vai trò nào. Vì một quản trị viên, theo định nghĩa, sẽ có toàn quyền, bạn sẽ cần chức năng để đảm bảo anh ta không nhập mật khẩu sẽ hạn chế anh ta.

Câu trả lời của tôi thực sự đi xuống KISS .


1
Đây không phải là một giải pháp, bởi vì điều này có xu hướng thúc đẩy người dùng áp dụng các biện pháp đối phó đã phá vỡ chính sách bảo mật của bạn.
deadalnix

@deadalnix sao vậy? Tôi nghĩ rằng anh ta chỉ nói từ bỏ toàn bộ ý tưởng và từ chối mật khẩu xấu, đồng thời cung cấp một ví dụ về lý do tại sao ý tưởng của tôi có thể gây ra nhiều khó chịu hơn mức cần thiết
Carson Myers

@deadalnix nghĩa là gì? Những biện pháp đối phó với mật khẩu an toàn mà người dùng sẽ áp dụng?
StuperUser

7
@StuperUser: Điều này, đáng chú ý nhất: chuyển một lỗ hổng này sang lỗ hổng khác.
Piskvor rời khỏi tòa nhà

1
@StoolUser: Nếu người dùng đang sử dụng lại cùng một mật khẩu cho mọi trang web và họ được thông báo "mypassword" thì không thể chấp nhận được vì nó không chứa bất kỳ số nào, rất có khả năng họ sẽ chỉ đưa vào "mypassword1"
elwyn

7

Là người dùng, điều đó có thể sẽ thuyết phục tôi không sử dụng trang web của bạn. Ý tôi là, nghiêm túc, ngân hàng của tôi nói với tôi mã 6 chữ số hoàn toàn an toàn cho ngân hàng trực tuyến, nhưng khi tôi muốn viết bình luận cho một số blog ít được biết đến, tôi phải nhớ một mật khẩu duy nhất chứa ít nhất 8 mật khẩu - và các ký tự chữ thường, một chữ số, một ký tự đặc biệt và ký hiệu Hy Lạp hoặc Cyrillic chỉ có thể được nhập nếu bạn biết chuỗi unicode theo trái tim. Và thay đổi nó thường xuyên.

Đừng hiểu lầm tôi, an ninh là quan trọng. Nhưng nếu bạn không nên làm phiền người dùng của mình trừ khi bạn có lý do thực sự mạnh mẽ để tin rằng ai đó sẽ cố gắng bẻ khóa mật khẩu của họ để có quyền truy cập vào trang web của bạn. Nếu trang web của bạn tình cờ cung cấp quyền truy cập VPN vào mạng FBI, hãy tiếp tục, gây phiền nhiễu. Nhưng nếu đó là một diễn đàn người dùng nơi bất kỳ ai có địa chỉ email đều có thể đăng ký, thì thực sự vấn đề là gì?


Đối với một người, nếu chúng ta đang nói về một trang web cộng đồng, thư rác có thể là một vấn đề (và thực sự đã có trong một dự án mà tôi đã tham gia). IMO nó sẽ khiến nhiều người dùng từ chối hoàn toàn từ chối mật khẩu của họ và nếu chúng tôi sẽ giảm thiểu thư rác bằng cách sử dụng captchas (không phổ biến) thì tốt hơn để gây phiền toái cho người dùng có thể gây ra mật khẩu, phải không?
Carson Myers

Ngoài ra, tôi nghĩ rằng đó là một quan niệm sai lầm phổ biến rằng rất hiếm khi bị phá vỡ nếu bạn nhỏ. Tôi đã tham gia vào một vài cộng đồng trực tuyến vừa và nhỏ và đó luôn là một vấn đề. Câu hỏi ServerFault này dường như hỗ trợ điều đó .
Carson Myers

5
Tại sao những kẻ gửi thư rác sử dụng mật khẩu ngắn hơn? Tại sao họ cố gắng bẻ khóa mật khẩu của người khác, nếu họ chỉ có thể tạo một tài khoản mới? Tôi không thấy lợi thế của mật khẩu dài ở đây.
nikie

Tôi không biết, tôi mới nghĩ ra nó một lúc trước và quyết định xem nó đứng lên để xem xét như thế nào :) không tốt, có vẻ như ...
Carson Myers

1
Tôi rất thích câu trả lời của bạn bởi vì nó chỉ ra sự khôn ngoan khi nghĩ đến việc thực hiện ý tưởng này: tạo bảo mật không cần thiết cho trang web chứa dữ liệu không an toàn.
Tundey

6

Giải pháp tốt hơn: mặt cười.

Tôi nghiêm túc đấy! Đọc những cuốn sách kinh tế học hành vi như "Nudge: Cải thiện các quyết định về sức khỏe, sự giàu có và hạnh phúc" đã thuyết phục tôi về một vài điều:

  1. Bạn không thể bắt mọi người phải đưa ra quyết định sáng suốt.
  2. Mọi người thích được tự do lựa chọn, nhưng họ không thích nhiều lựa chọn.
  3. Tuy nhiên, bạn có thể ảnh hưởng đáng kể đến sự lựa chọn của họ để tốt hơn với các thủ thuật đơn giản.

Tôi thấy những nguyên tắc này áp dụng cho tình huống của bạn như thế này:

  1. Việc hạn chế người dùng dựa trên mật khẩu không an toàn rất có thể sẽ làm nản lòng và nhầm lẫn họ ... đặc biệt là đối với phần lớn những người không đọc các giải thích được viết cẩn thận trong các hộp thoại và chỉ cần gọi cho Helpdesk để nói, "Không công việc."
  2. Khi tạo mật khẩu, người dùng không cần phải xem danh sách tất cả các khả năng của các ký tự đặc biệt và họ có thể sử dụng. Tốt hơn là chỉ cho họ một cửa sổ bật lên nhỏ gợi ý rằng họ chỉ thêm một số phức tạp nếu mục nhập của họ không đáp ứng yêu cầu.
  3. Mọi người bị ảnh hưởng mạnh mẽ bởi các tín hiệu xã hội - ngay cả những người nhỏ bé như khuôn mặt hạnh phúc cho thấy chúng ta tán thành hành vi của họ, hoặc khuôn mặt nhăn nhó nếu chúng ta không. Một số trang web được thiết kế tốt hơn sẽ hiển thị thanh tiến trình được tô màu thay đổi từ màu đỏ thành Không đủ tốt :( sang màu xanh cho Công việc tốt! :) khi người dùng nhập mật khẩu và xác nhận (đề xuất) của họ. Giao diện người dùng này cung cấp cho họ một số áp lực xã hội để đáp ứng các tiêu chuẩn - để làm cho thanh chuyển sang màu xanh lục hoặc thay đổi nụ cười thành một nụ cười - khi họ tự khám phá ra cách tạo mật khẩu an toàn hơn với sự trợ giúp của phản hồi tức thì của thay đổi màu sắc.

2
Suy nghĩ ban đầu của tôi là bạn đang đề nghị người dùng sử dụng khuôn mặt cười trong mật khẩu của họ.
aslum

4
@aslum: Thật ra, khuôn mặt cười trong mật khẩu không phải là một ý tưởng tồi. Gần như tất cả chúng đều bao gồm các ký tự không phải là chữ và số, do đó, chỉ cần ném một :) vào cuối mật khẩu yếu sẽ khiến nó mạnh hơn đáng kể chỉ bằng cách tăng không gian tìm kiếm.
afrazier

@afrazier: trừ khi điều này trở thành thông lệ và chúng có thể được thêm vào danh sách các nhân vật, phải không?
phục vụ

4

Không chồng chất, nhưng tôi nghĩ ra một lý do khác để nộp cái này trong mục "Ý tưởng tồi" mà tôi chưa thấy đề cập đến - hỗ trợ khách hàng.

Nếu đây là một sản phẩm sẽ có hỗ trợ khách hàng đại diện đằng sau nó, họ sẽ không thích điều này lắm. Một trong những giả định cơ bản của hỗ trợ là họ hiểu và có thể dự đoán trải nghiệm người dùng - nếu họ đang hỗ trợ người dùng thông thường, thì Trang 1 nên có liên kết đến Trang 2, 3 và 4, nơi họ có thể thực hiện X, Y, Z , Vân vân.

Bây giờ, bạn đang cung cấp cho họ một biến khác mà họ phải theo dõi. Nếu người dùng không thấy liên kết đến Trang 4, có phải vì họ đã làm điều gì đó ngu ngốc? Hoặc là do mật khẩu của họ bị hút và hệ thống của bạn đang trừng phạt họ bằng cách từ chối họ truy cập vào Trang 4? Đợi đã ... tào lao, là từ chối truy cập vào một trong những hình phạt cho một mật khẩu xấu, hay tôi đang nghĩ về Trang 5? Hãy để tôi xem xét, chỉ một lát thôi ... được thôi, nó nói rằng đối với một mật khẩu không trộn lẫn chữ in hoa và in thường, việc truy cập vào các trang có số chẵn được cho phép nhưng bị hạn chế chỉ đọc ... được, Thưa ông, mật khẩu của bạn, nó có bao gồm tất cả chữ hoa hay chữ thường không? Trường hợp. Khi bạn chỉ cần gõ chữ cái, đó là chữ thường; Khi bạn sử dụng ca, đó là khi nó viết hoa. Bạn đã trộn các trường hợp trong mật khẩu của bạn? Mật khẩu bạn đã sử dụng để đăng nhập vào hệ thống. Một trong những bạn vừa sử dụng. Được rồi, đi đến Chỉnh sửa, sau đó chọn Tùy chọn, rồi Bảo mật. Chọn "Mật khẩu đã lưu" ... không, thưa ông, tôi không thể thấy mật khẩu của bạn từ đây ....

Vâng. Đừng làm điều này.


2

Hoặc hạn chế mật khẩu hoặc thông báo cho người dùng về những rủi ro của mật khẩu yếu. Tôi đoán nếu người dùng không quan tâm đến dữ liệu của họ, bạn có thể muốn hạn chế quyền truy cập vào dữ liệu của người khác. Có lẽ người dùng cảm thấy tự tin hơn nếu những người tuân theo các thực hành mật khẩu bất cẩn bị loại bỏ. Điểm yêu cầu mật khẩu mạnh hơn là gì nếu nó sẽ kết thúc bằng một ghi chú dán dưới bàn phím hoặc gõ vào máy tính xách tay (Không thể tạo ra thứ đó; Tôi đã thấy điều đó xảy ra.).


Một phần câu hỏi của tôi là hạn chế ảnh hưởng của người dùng đối với nhau khi họ sử dụng mật khẩu kém, vì vậy bạn không hoàn toàn gửi chúng đi, nhưng bạn đảm bảo không biến hành vi xấu của họ thành nỗi khổ của người khác. Sau cuộc thảo luận dài này, có vẻ như không đáng. Tôi nghĩ, một niềm vui, tôi nghĩ.
Carson Myers

2

và liệu nó có thể được đặt trong một bàn cầu vồng

Tôi đoán bạn có nghĩa là từ điển và không phải bảng cầu vồng. Tấn công từ điển hoạt động trên chỉ kiểm tra tất cả các từ của từ điển nếu chúng khớp với mật khẩu. Cuộc tấn công này có thể được khắc phục bằng 5 lần thử và chặn trong x phút ...

Một bảng cầu vồng sẽ chỉ được sử dụng nếu bạn băm mật khẩu và kẻ tấn công biết băm. Hơn anh ta có thể tìm thấy hàm băm trong bảng cầu vồng nếu nó chỉ là "12345" hoặc một cái gì đó tương tự.

Chỉ để hoàn thành chuyến đi khứ hồi: Để làm cho một bảng cầu vồng trở nên vô dụng, bạn nên muối mật khẩu. Và sử dụng một muối unqiue cho mỗi mật khẩu và không chỉ một cho tất cả. Nếu bạn làm điều đó, kẻ tấn công cần tạo một bảng cầu vồng với muối duy nhất cho mỗi tài khoản mà anh ta muốn truy cập. Khéo léo thực hiện bên cạnh bạn, bạn có thể tăng tốc độ băm bằng thuật toán băm nhiều lần để một thế hệ có thể mất nửa giây. Nếu bạn đã làm điều này, việc truy cập vào một tài khoản trên trang web của bạn phải có giá trị hàng ngày, có thể là tháng tạo băm để tìm một kết quả khớp với tài khoản này ... Tôi không thể nghĩ ra một kẻ tấn công sẽ cố lấy tất cả mật khẩu khi nó sẽ mất nhiều thời gian

Đối với thời gian băm: Hãy suy nghĩ về thời gian chờ đợi 500ms cho một cơ chế đăng nhập. Tôi nghĩ rằng nó có thể chấp nhận được ... (một lời nhắc nhở: gần một giây bắt tay với SSL)


Vâng, tôi có nghĩa là một từ điển, cảm ơn. Và bạn chắc chắn đúng rằng các hình thức bảo mật khác là cần thiết
Carson Myers
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.