Tôi có nên áp đặt độ dài tối đa cho mật khẩu?


162

Tôi có thể hiểu rằng việc áp dụng độ dài tối thiểu cho mật khẩu có ý nghĩa rất lớn (để cứu người dùng khỏi chính họ), nhưng ngân hàng của tôi có một yêu cầu là mật khẩu dài từ 6 đến 8 ký tự và tôi bắt đầu tự hỏi ...

  • Điều này sẽ không làm cho nó dễ dàng hơn cho các cuộc tấn công vũ phu? (Xấu)
  • Điều này có nghĩa là mật khẩu của tôi đang được lưu trữ không được mã hóa? (Xấu)

Nếu ai đó với (hy vọng) một số chuyên gia bảo mật CNTT giỏi làm việc cho họ đang áp đặt độ dài mật khẩu tối đa, tôi có nên nghĩ về việc làm tương tự không? Những ưu / nhược điểm của việc này là gì?


16
Gần như chắc chắn có một chính sách "ba cuộc đình công và bạn đã hết", loại bỏ mối đe dọa của một cuộc tấn công vũ phu.
Stu Thompson

23
Không có lý do cho điều này cho các hệ thống không kế thừa, như các trang web hiện đại.
mparaz

7
Tôi không nghĩ câu trả lời hoàn toàn là CNTT. Kích thước tối thiểu (6) và giới hạn cố gắng tối đa là "có khả năng" để loại bỏ những phỏng đoán hoang dã. Tôi đoán là kích thước tối đa (8) là để giới hạn số lượng cuộc gọi (và do đó là chi phí) của hỗ trợ cho "Rất tiếc tôi quên mycode" hoặc "Tôi nhập mã nhanh" hoặc "Tôi gõ nhầm một ký tự" v.v ... Ngoài giấy mà bạn viết mật khẩu nếu bạn không thể nhớ nó ..
hãy gọi cho tôi Steve

17
Trường đại học được đăng ký có quy tắc mật khẩu cực kỳ ngu ngốc: chỉ 8 ký tự, ít nhất 1 số, nhưng không phải ở đầu hoặc cuối mật khẩu, cần ký tự từ hơn 2 hàng trên của bàn phím, v.v ... Cuối cùng họ làm cho bruteforcing dễ dàng hơn bằng cách có các quy tắc này -.-. Tôi nhận ra bạn không phải là ngu ngốc, nhưng xin đừng đưa ra những quy tắc ngớ ngẩn như thế! (Chỉ cần lấy nó ra khỏi hệ thống của tôi :))
cwap

17
@call Vâng, nếu bạn áp dụng độ dài tối đa vì lý do đó thì bạn sẽ nhận được các cuộc gọi "Tôi quên mật khẩu" từ tôi , bởi vì mật khẩu duy nhất trên trang web của tôi đều dài và giới hạn cho tôi 12 ký tự là một cách chắc chắn để đảm bảo tôi sẽ không nhớ nó
Roman Starkov

Câu trả lời:


193

Mật khẩu được băm thành 32, 40, 128, bất kỳ độ dài nào. Lý do duy nhất cho độ dài tối thiểu là để ngăn mật khẩu dễ đoán. Không có mục đích cho một chiều dài tối đa.

XKCD bắt buộc giải thích lý do tại sao bạn làm cho người dùng của mình không hài lòng nếu bạn áp đặt độ dài tối đa:

XKCD bắt buộc


6
Có lẽ ngân hàng có thể chọn giới hạn mật khẩu vì trên ATM bạn không thể nhập nhiều hơn 8 ký tự.
André Chalella

11
ít nhất là trên các máy ATM, nếu bạn thử tấn công vũ phu, nó sẽ ăn thẻ của bạn. Những gì tôi đang đề cập đến là mật khẩu để chỉ đăng nhập trực tuyến.
nickf

39
Đáng buồn là giả định rằng các mật khẩu luôn được băm. Mật khẩu có độ dài tối đa là một triệu chứng của mật khẩu được lưu trữ trong bản rõ.
jevon

14
Thở dài, ngay cả tại PayPal, " ghim pin ngựa chính xác" cao hơn 8 ký tự <kiểm duyệt> chiều dài tối đa của họ ... mũ trùm
Roman Starkov

3
@kleinfreund vì nếu nó được băm, độ dài mật khẩu sẽ không quan trọng với chúng (hàm băm chuyển đổi một chuỗi độ dài bất kỳ thành độ dài cố định).
Vicky Chijwani

75

Độ dài tối đa được chỉ định trên trường mật khẩu phải được đọc dưới dạng CẢNH BÁO BẢO MẬT . Bất kỳ người dùng có ý thức, bảo mật nào cũng phải thừa nhận điều tồi tệ nhất và mong đợi rằng trang web này đang lưu trữ mật khẩu của bạn theo nghĩa đen (nghĩa là không được băm, như được giải thích bởi epochwolf).

Trong đó là trường hợp:

  1. Tránh sử dụng trang web này như bệnh dịch hạch nếu có thể. Họ rõ ràng không biết gì về an ninh.
  2. Nếu bạn thực sự phải sử dụng trang web, hãy đảm bảo mật khẩu của bạn là duy nhất - không giống như bất kỳ mật khẩu nào bạn sử dụng ở nơi khác.

Nếu bạn đang phát triển một trang web chấp nhận mật khẩu, đừng đặt giới hạn mật khẩu ngớ ngẩn, trừ khi bạn muốn nhận được tarred với cùng một bàn chải.

[Trong nội bộ, tất nhiên mã của bạn chỉ có thể coi các byte 256/1024 / 2k / 4k / (bất cứ thứ gì) là "đáng kể", để tránh bị bẻ khóa mật khẩu voi ma mút.]


17
Tôi cũng gửi cho các trang web đó một email tiêu chuẩn, đề cập rằng họ buộc tôi sử dụng mật khẩu ngắn hơn, kém an toàn hơn, tôi cũng tình cờ sử dụng lại trên mọi trang web áp đặt các giới hạn ngớ ngẩn đó. Điều này cho họ biết rằng đó là một vấn đề và cũng có thể cung cấp cho Joe Coder một số đòn bẩy để hiển thị cho những người cấp cao hơn: bằng chứng cho thấy người dùng thực sự nghĩ xấu về trang web là kết quả của việc này.
Roman Starkov

3
Tôi không chắc bạn nên cho rằng mật khẩu tối đa có nghĩa là họ đang lưu trữ mật khẩu văn bản đơn giản. Đôi khi, họ đang cắt bớt đầu vào và chỉ cần chuyển các ký tự x đầu tiên vào hàm băm (). (Cách kiểm tra được đặt mật khẩu vượt quá giới hạn, sau đó thử đăng nhập bằng một biến thể của các ký tự mật khẩu vượt quá độ dài tối đa).
benc

5
@benc chắc chắn, điều đó là có thể, nhưng vấn đề là với tư cách là một người dùng, bạn không có cách nào để biết liệu đây có phải là những gì họ đang làm hay không. Độ dài tối đa (đặc biệt là một đoạn ngắn) là một dấu hiệu cảnh báo và tôi nghĩ tốt nhất là giả định điều tồi tệ nhất (hoặc liên lạc với nhà cung cấp để họ xác nhận).
trễ

1
Xin hãy giải thích. Câu trả lời này chỉ là một tuyên bố.
kleinfreund

1
Mật khẩu tối đa không nhất thiết có nghĩa là nó được lưu trữ dưới dạng văn bản thuần túy; có thể vì lý do kỹ thuật, ví dụ bcrypt chỉ cho phép mật khẩu tối đa 72 ký tự.
emorris

58

Cho phép độ dài mật khẩu hoàn toàn không bị ràng buộc có một nhược điểm lớn nếu bạn chấp nhận mật khẩu từ các nguồn không đáng tin cậy.

Người gửi có thể cố gắng cung cấp cho bạn một mật khẩu dài đến mức dẫn đến việc từ chối dịch vụ cho người khác. Ví dụ: nếu mật khẩu là 1GB dữ liệu và bạn dành toàn bộ thời gian để chấp nhận nó cho đến khi hết bộ nhớ. Bây giờ giả sử người này gửi cho bạn mật khẩu này nhiều lần bạn sẵn sàng chấp nhận. Nếu bạn không cẩn thận về các thông số khác có liên quan, điều này có thể dẫn đến một cuộc tấn công DoS.

Đặt giới hạn trên cho thứ gì đó như 256 ký tự dường như quá hào phóng theo tiêu chuẩn ngày nay.


35
Bạn vẫn có thể gửi 1gb dữ liệu với giới hạn tối đa. Phần mềm thực hiện giới hạn hầu như luôn đứng sau máy chủ web.
epochwolf

6
Bạn vẫn có thể bỏ tất cả trừ 256 bảng đầu tiên trước khi thực hiện một thao tác tính toán chuyên sâu nào. Chạy băm sha trên 1gb dữ liệu sẽ mất nhiều thời gian hơn so với băm tương tự trên 256 ký tự.
RCreswick

2
@Eyal: Bất kỳ điều gì xảy ra ở phía máy khách của ứng dụng web vốn không đáng tin cậy; do đó, hàm băm trở thành một mật khẩu tương đương, làm cho điều này trở thành một bài tập vô ích. (một trình duyệt web có thể sẽ không chấp nhận một đầu vào văn bản 1-GB, và một khách hàng tùy chỉnh có thể gửi một chuỗi 1 GB trong lĩnh vực hình thức "thisisthehashedpassword")
Piskvor rời xây dựng

4
@Piskvor: Nhưng không có cách nào để ngăn chặn chuỗi 1 GB. Người dùng luôn có thể yêu cầu example.com/?password=abcabcabcabc ... và thực hiện yêu cầu của mình lớn như anh ta muốn. DoS tiêu chuẩn.
Mắt

4
@Piskvor và Eyal, may mắn thay, Apache và IIS (và có lẽ là các máy chủ trưởng thành khác) giới hạn độ dài của các trường được truyền qua URL: boutell.com/newfaq/misc/urllength.html
sampablokuper

21

Đầu tiên, đừng cho rằng các ngân hàng có các chuyên gia bảo mật CNTT giỏi làm việc cho họ. Rất nhiều không .

Điều đó nói rằng, chiều dài mật khẩu tối đa là vô giá trị. Nó thường yêu cầu người dùng tạo một mật khẩu mới (tranh luận về giá trị của việc sử dụng các mật khẩu khác nhau trên mỗi trang web vào lúc này), điều này làm tăng khả năng họ sẽ viết chúng xuống. Nó cũng làm tăng đáng kể tính dễ bị tấn công, bởi bất kỳ vectơ nào từ lực lượng vũ phu đến kỹ thuật xã hội.


Đã đồng ý! Hãy nhìn vào chuỗi các thất bại bảo mật truy cập trực tuyến của ngân hàng Anh trong vài năm qua ...
Stu Thompson

6
Tôi đã sử dụng một mật khẩu khác nhau trên mỗi trang web thông qua sơ đồ cho phép tôi nhớ tất cả chúng, nhưng chúng đều khá dài. Các websies duy nhất có mật khẩu tôi viết trên các ghi chú dán là những web áp đặt các giới hạn độ dài tối đa của moronic và do đó buộc tôi tránh xa mật khẩu duy nhất ưa thích của mình ...
Roman Starkov

@romkyns Tôi lấy nó, lược đồ của bạn không sử dụng ký hiệu? Tôi đã có một kế hoạch như vậy một lần tạo ra các mật khẩu khó sử dụng ngắn, nhưng tôi đã phải từ bỏ nó khi 10-20% các trang web tôi sử dụng cấm các ký tự đặc biệt phổ biến.
Sparr

không có ký tự đặc biệt, không, nhưng nó luôn thêm số và ký tự viết hoa, bởi vì tôi biết một số trang web yêu cầu điều đó. Ước gì tôi đã biết về giới hạn độ dài tối đa khi tôi nghĩ ra nó ... Nhưng những kế hoạch (đơn giản hơn) mà tôi đã tạo ra cho những người thân thiết đã hoạt động hoàn hảo cho đến nay!
Roman Starkov

1
@romkyns các vấn đề khác với các chương trình như vậy: các trang web chia sẻ mật khẩu. Nếu lược đồ của bạn giống như nameofwebsitefO0 (googlefO0 yahoustO0, v.v.) thì làm thế nào để bạn nhớ rằng bạn nên sử dụng "yahoustO0" trên flickr.com hoặc stackoverflowfO0 trên Askubfox.com? các trang web hết hạn mật khẩu. sau đó bạn cần mở rộng chương trình để bao gồm một phần có thể thay đổi. nhưng điều đó không thành công nếu quy tắc hết hạn kiểm tra các chuỗi con.
Sparr

13

Đặt độ dài mật khẩu tối đa dưới 128 ký tự hiện không được khuyến khích bởi Bảng cheat xác thực OWASP

https://www.owasp.org/index.php/Authentication_Cheat_Sheet

Trích dẫn toàn bộ đoạn văn:

Mật khẩu dài hơn cung cấp sự kết hợp nhiều ký tự hơn và do đó khiến kẻ tấn công khó đoán hơn.

Độ dài tối thiểu của mật khẩu nên được thực thi bởi ứng dụng. Mật khẩu ngắn hơn 10 ký tự được coi là yếu ([1]). Mặc dù việc thực thi độ dài tối thiểu có thể gây ra vấn đề với việc ghi nhớ mật khẩu giữa một số người dùng, các ứng dụng nên khuyến khích họ đặt cụm mật khẩu (câu hoặc kết hợp các từ) có thể dài hơn nhiều so với mật khẩu thông thường và dễ nhớ hơn nhiều.

Độ dài mật khẩu tối đa không nên được đặt quá thấp, vì nó sẽ ngăn người dùng tạo cụm mật khẩu. Độ dài tối đa thông thường là 128 ký tự. Cụm mật khẩu ngắn hơn 20 ký tự thường được coi là yếu nếu chúng chỉ bao gồm các ký tự Latin viết thường. Mỗi nhân vật đều có giá trị !!

Đảm bảo rằng mọi ký tự mà người dùng nhập vào thực sự được bao gồm trong mật khẩu. Chúng tôi đã thấy các hệ thống cắt ngắn mật khẩu với độ dài ngắn hơn so với những gì người dùng cung cấp (ví dụ: cắt ngắn ở 15 ký tự khi họ nhập 20). Điều này thường được xử lý bằng cách đặt độ dài của TẤT CẢ các trường nhập mật khẩu chính xác bằng cùng độ dài với mật khẩu độ dài tối đa. Điều này đặc biệt quan trọng nếu độ dài mật khẩu tối đa của bạn ngắn, như 20-30 ký tự.


11
Nguồn này không khuyến khích giới hạn độ dài mật khẩu tối đa, nó không khuyến khích giới hạn độ dài mật khẩu tối đa thấp (dưới 128 ký tự).
Matthew

9

Một lý do tôi có thể tưởng tượng để thực thi độ dài mật khẩu tối đa là nếu giao diện phải có giao diện với nhiều phụ trợ hệ thống cũ, một trong số đó tự thực thi độ dài mật khẩu tối đa.

Một quá trình suy nghĩ khác có thể là nếu người dùng bị buộc phải sử dụng một mật khẩu ngắn, họ có nhiều khả năng phát minh ra sự vô nghĩa ngẫu nhiên hơn là một cụm từ hoặc biệt danh dễ hiểu (bởi bạn bè / gia đình của họ). Cách tiếp cận này tất nhiên chỉ hiệu quả nếu frontend thực thi việc trộn số / chữ cái và từ chối mật khẩu có bất kỳ từ nào trong từ điển, kể cả các từ được viết bằng l33t-speak.


1
Trong khi có thể hiểu được, các hệ thống di sản đôi khi phải ra lệnh thiết kế. Bất cứ khi nào có thể họ KHÔNG nên ảnh hưởng đến nó. Điều cuối cùng bạn muốn trong một hệ thống mới là một chính sách bảo mật được thiết kế trước khi các cuộc tấn công bảo mật hiện đại thậm chí còn phổ biến. Hoặc tệ hơn, phần mềm mới hơn nhưng được thiết kế không chính xác ngay từ đầu. Một hệ thống doanh nghiệp hiện tại có thể sử dụng HTTP nhưng đó không phải là lý do để không sử dụng SSL trong một hệ thống hoặc tiện ích mở rộng mới. Tương tự như vậy, các chính sách mật khẩu không nên tiếp tục dễ bị tổn thương chỉ vì những kẻ LAST đã làm sai. Và nếu giữ, tốt hơn là nên có một nghiên cứu chi phí / lợi ích lớn.
Chuyến đi Katastic

6

Một lý do có khả năng hợp lệ để áp đặt một số độ dài mật khẩu tối đa là quá trình băm nó (do sử dụng chức năng băm chậm như bcrypt) chiếm quá nhiều thời gian; một cái gì đó có thể bị lạm dụng để thực hiện một cuộc tấn công DOS chống lại máy chủ.

Sau đó, một lần nữa, các máy chủ nên được cấu hình để tự động loại bỏ các trình xử lý yêu cầu mất quá nhiều thời gian. Vì vậy, tôi nghi ngờ đây sẽ là một vấn đề.


4

Tôi nghĩ rằng bạn rất đúng trên cả hai gạch đầu dòng. Nếu họ đang lưu trữ mật khẩu được băm, như họ nên, thì độ dài mật khẩu sẽ không ảnh hưởng đến lược đồ DB của họ. Có một độ dài mật khẩu kết thúc mở sẽ ném vào một biến nữa mà kẻ tấn công vũ phu phải tính đến.

Thật khó để thấy bất kỳ lý do nào để giới hạn độ dài mật khẩu, bên cạnh thiết kế xấu.


3

Lợi ích duy nhất tôi có thể thấy với độ dài mật khẩu tối đa là loại bỏ nguy cơ tấn công tràn bộ đệm do mật khẩu quá dài, nhưng có nhiều cách tốt hơn để xử lý tình huống đó.


1
Cần phải có độ dài đầu vào tối đa, vâng, nhưng chắc chắn không nên <64. Độ dài tối đa 8 hoặc 12 chỉ là vô lý.
Dan Bechard

2

Bỏ qua những người nói không xác nhận mật khẩu dài. Owasp theo nghĩa đen nói rằng 128 ký tự là đủ. Chỉ cần cung cấp đủ không gian hơi thở, bạn có thể nói thêm một chút, nói 300, 250, 500 nếu bạn cảm thấy thích nó.

https://www.owasp.org/index.php/Authentication_Cheat_Sheet#Password_Lpm

Mật khẩu Độ dài Mật khẩu dài hơn cung cấp sự kết hợp nhiều ký tự hơn và do đó khiến kẻ tấn công khó đoán hơn.

...

Độ dài mật khẩu tối đa không nên được đặt quá thấp, vì nó sẽ ngăn người dùng tạo cụm mật khẩu. Độ dài tối đa thông thường là 128 ký tự . Cụm mật khẩu ngắn hơn 20 ký tự thường được coi là yếu nếu chúng chỉ bao gồm các ký tự Latin viết thường.


Không liên quan đến các cuộc thảo luận. Câu hỏi đặt ra là liệu có lợi ích gì trong việc giới hạn độ dài không, liệu 128 có đủ không.
vikki

1

Lưu trữ là giá rẻ, tại sao giới hạn chiều dài mật khẩu. Ngay cả khi bạn đang mã hóa mật khẩu thay vì chỉ băm nó, chuỗi 64 ký tự sẽ không mất nhiều hơn chuỗi 6 ký tự để mã hóa.

Có thể hệ thống ngân hàng đang phủ lên một hệ thống cũ hơn nên họ chỉ có thể cho phép một lượng không gian nhất định cho mật khẩu.


9
Trừ khi có một lý do rất hợp lệ, mật khẩu nên được băm. Băm kết quả trong chuỗi chiều dài cố định. Không có đối số không gian để thực hiện, trừ khi hệ thống đang lưu trữ mật khẩu thực tế, đây được cho là một ý tưởng khủng khiếp.
Stu Thompson

8
Mã hóa mật khẩu là một ý tưởng khủng khiếp. Một nhân viên vô đạo đức là tất cả những gì bạn cần để rò rỉ một mật khẩu đáng kinh ngạc. Lưu rắc rối bằng cách không bao giờ lưu trữ chúng ở nơi đầu tiên.
Roman Starkov

1

Ngân hàng của tôi cũng làm điều này. Nó được sử dụng để cho phép bất kỳ mật khẩu, và tôi có một ký tự 20 ký tự. Một ngày nọ, tôi đã thay đổi nó, và lo rằng nó đã cho tôi tối đa là 8 và đã cắt bỏ các ký tự không phải là chữ và số có trong mật khẩu cũ của tôi. Không có ý nghĩa gì với tôi.

Tất cả các hệ thống back-end tại ngân hàng đều hoạt động trước đây khi tôi đang sử dụng mật khẩu 20 ký tự của mình với số không phải là số alpha, vì vậy hỗ trợ kế thừa không thể là lý do. Và ngay cả khi đó là, họ vẫn nên cho phép bạn có mật khẩu tùy ý, và sau đó tạo một hàm băm phù hợp với yêu cầu của các hệ thống cũ. Tốt hơn hết, họ nên sửa chữa các hệ thống cũ.

Một giải pháp thẻ thông minh sẽ không tốt với tôi. Tôi đã có quá nhiều thẻ vì nó ... Tôi không cần một mánh lới quảng cáo khác.


Họ đã cắt không gian phím quan trọng kéo dài thời gian cho các cuộc tấn công vũ phu khi (và ý tôi là KHI NÀO) cơ sở dữ liệu băm của họ bị đánh cắp (giả sử họ thậm chí muối / băm / kéo dài, mà tôi chắc chắn là họ không). Thời gian đổi ngân hàng.
Chris Gomez

1

Nếu bạn chấp nhận một mật khẩu có kích thước tùy ý thì người ta sẽ giả sử rằng nó đang bị cắt ngắn theo chiều dài màn vì lý do hiệu suất trước khi nó được băm. Vấn đề với việc cắt ngắn là khi hiệu suất máy chủ của bạn tăng theo thời gian, bạn không thể dễ dàng tăng chiều dài trước khi cắt vì hàm băm của nó rõ ràng sẽ khác. Tất nhiên bạn có thể có một giai đoạn chuyển tiếp trong đó cả hai độ dài được băm và kiểm tra nhưng điều này sử dụng nhiều tài nguyên hơn.


1

Cố gắng không áp đặt bất kỳ giới hạn trừ khi cần thiết. Được cảnh báo: nó có thể và sẽ cần thiết trong rất nhiều trường hợp khác nhau. Đối phó với các hệ thống di sản là một trong những lý do này. Hãy chắc chắn rằng bạn đã kiểm tra tốt trường hợp mật khẩu rất dài (hệ thống của bạn có thể xử lý mật khẩu dài 10MB không?). Bạn có thể gặp phải các sự cố từ chối dịch vụ (DoS) vì Chức năng phân tách khóa (KDF) bạn sẽ sử dụng (thường là PBKDF2, bcrypt, scrypt) sẽ tốn nhiều thời gian và tài nguyên. Ví dụ thực tế: http://arstechnica.com/security/2013/09/long-passwords-are-good-but-too-much-length-can-be-bad-for-securance/


0

Có nên có một chiều dài tối đa? Đây là một chủ đề gây tò mò trong CNTT ở chỗ, mật khẩu dài hơn thường khó nhớ hơn và do đó có nhiều khả năng bị ghi lại (LỚN không-không vì lý do rõ ràng). Mật khẩu dài hơn cũng có xu hướng bị lãng quên nhiều hơn, trong khi không nhất thiết là rủi ro bảo mật, có thể dẫn đến rắc rối hành chính, mất năng suất, v.v. Các quản trị viên tin rằng những vấn đề này đang gây áp lực có thể áp dụng độ dài tối đa cho mật khẩu.

Cá nhân tôi tin vào vấn đề cụ thể này, cho mỗi người dùng của riêng họ. Nếu bạn nghĩ rằng bạn có thể nhớ mật khẩu 40 ký tự, thì tất cả sẽ tiếp thêm sức mạnh cho bạn!

Tuy nhiên, mật khẩu đang nhanh chóng trở thành một chế độ bảo mật lỗi thời, Thẻ thông minh và xác thực chứng chỉ chứng minh rất khó để không thể ép buộc như bạn đã nêu là một vấn đề và chỉ một khóa công khai được lưu trữ trên máy chủ kết thúc với riêng tư chìa khóa trên thẻ / máy tính của bạn mọi lúc.


Mọi người có thể dễ dàng nhớ một bài hát yêu thích, lời kinh thánh hoặc câu nói khác. Những cái đó rất dài so với một mật khẩu thông thường. Tôi chỉ thử nghiệm một và có 79 ký tự! (Được cho phép, khả năng xảy ra lỗi trong cụm mật khẩu càng dài. Thậm chí tệ hơn khi trang web STUPID không hiển thị cho bạn ký tự cuối cùng bạn nhập vào hộp mật khẩu.)
Katastic Voyage 8/2/2017

0

Mật khẩu dài hơn, hoặc cụm từ, khó bị bẻ khóa đơn giản dựa trên độ dài và dễ nhớ hơn là yêu cầu mật khẩu phức tạp.

Có lẽ tốt nhất để đi cho một chiều dài tối thiểu (10+) khá dài, hạn chế độ dài vô dụng.


0

Các hệ thống kế thừa (đã được đề cập) hoặc can thiệp vào các hệ thống của nhà cung cấp bên ngoài có thể cần đến nắp 8 ký tự. Nó cũng có thể là một nỗ lực sai lầm để cứu người dùng khỏi chính họ. Hạn chế nó theo cách đó sẽ dẫn đến quá nhiều mật khẩu pssw0rd1, pssw0rd2, v.v. trong hệ thống.


0

Một lý do mật khẩu có thể không được băm là thuật toán xác thực được sử dụng. Ví dụ, một số thuật toán phân loại yêu cầu phiên bản mật khẩu của máy chủ tại máy chủ vì cơ chế xác thực liên quan đến cả máy khách và máy chủ thực hiện cùng một phép toán trên mật khẩu đã nhập (thường không tạo ra cùng một đầu ra mỗi lần như mật khẩu được kết hợp với một 'nonce' được tạo ngẫu nhiên, được chia sẻ giữa hai máy).

Thường thì điều này có thể được tăng cường vì phần tiêu hóa có thể được tính một phần trong một số trường hợp, nhưng không phải lúc nào cũng vậy. Một cách tốt hơn là mật khẩu được lưu trữ bằng mã hóa đảo ngược - điều này có nghĩa là các nguồn ứng dụng cần được bảo vệ vì chúng sẽ chứa khóa mã hóa.

Digst auth có mặt để cho phép xác thực qua các kênh không được mã hóa. Nếu sử dụng SSL hoặc một số mã hóa toàn kênh khác, thì không cần phải sử dụng cơ chế xác thực, nghĩa là mật khẩu có thể được lưu trữ băm thay thế (vì mật khẩu có thể được gửi qua văn bản một cách an toàn (đối với giá trị an toàn nhất định).


-4

Chỉ cần 8 char mật khẩu dài âm thanh đơn giản là sai. Nếu phải có một giới hạn, thì ít nhất 20 char là ý tưởng tốt hơn.


3
Nhưng đó là điều - không nên có một giới hạn nào cả.
Luke Stevenson

-4

Tôi nghĩ rằng giới hạn duy nhất nên được áp dụng giống như giới hạn 2000 chữ cái, hoặc một cái gì đó khác chắc chắn cao, nhưng chỉ để giới hạn kích thước cơ sở dữ liệu nếu đó là một vấn đề


9
Mật khẩu nên được băm ... Và kích thước cơ sở dữ liệu sẽ không thành vấn đề là mật khẩu được băm.
epochwolf

4
@epochwolf - Tôi có thể nghĩ ra một lý do tại sao mật khẩu không nên lúc nào cũng được băm (vì tôi phát hiện ra nó bản thân mình ngày nay): một mật khẩu mà cần phải được nộp cho một bên thứ ba trên danh nghĩa của người dùng không thể được lưu trữ như một băm giá trị. [Ví dụ: một ứng dụng cần lưu trữ thông tin đăng nhập để gửi email thông qua một tên miền bên ngoài.]
Kenny Evitt
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.