2009-02-16 28 views
11

Tôi đã xem xét 981 dòng mã cho phiên bản hiện tại của http://supergenpass.com và không tìm thấy bất kỳ điều gì, tuy nhiên tôi có thể đã bỏ lỡ điều gì đó. Tôi chỉ muốn xác nhận rằng nó không truyền tải bất cứ điều gì vì vậy tôi có thể sử dụng nó và đề xuất nó cho người khác. Tôi đã sử dụng KeePassX để lưu trữ mật khẩu và các thông tin khác. Và tôi thích lý thuyết đằng sau việc sử dụng SuperGenPass (và kịch bản gốc) vì nó tạo ra một mật khẩu duy nhất cho mỗi trang web dựa trên tên miền và mật khẩu chủ của bạn.Trình tạo mật khẩu bookmarklet từ SuperGenPass.com có ​​an toàn để sử dụng không?

Dưới đây là một liên kết đến tập tin javascript: http://supergenpass.com.nyud.net:8090/SGPv4.js

là Password Generator Bookmarklet từ SuperGenPass.com an toàn để sử dụng không?

+0

Đây có phải là câu hỏi lập trình không? –

+0

Vâng. [javascript] [code-review] –

Trả lời

5

Mối quan tâm của tôi với SGP thực sự không phải là việc truyền tải ẩn. Một khi ai đó nghi ngờ bạn đang sử dụng SGP (nó là khá rõ ràng nếu họ có bất kỳ cách nào để xem một trong các mật khẩu của bạn) họ biết các thuật toán chính xác cho cách bạn mã hóa mật khẩu của bạn. Nếu kẻ tấn công có thể nắm giữ một ví dụ duy nhất về mật khẩu được tạo SGP và url trang web (ví dụ: bất kỳ quản trị viên nào cho bất kỳ trang web nào bạn sử dụng SGP), họ có chỗ đứng tốt để bẻ khóa toàn bộ danh sách mật khẩu của bạn. Vì ý tưởng chung với mật khẩu chính là cho phép bạn sử dụng một cái gì đó 'đơn giản', họ có thể bắt đầu trò chơi đoán thông thường cho đến khi chúng khớp với băm cho trang web mà họ biết và thì bạn hoàn toàn bị xâm phạm.

+1

vì vậy nếu bạn sử dụng mật khẩu rất phức tạp, hãy nói mật khẩu được tạo từ https://www.grc.com/passwords.htm hoặc tương tự. Điều đó có làm tăng tính bảo mật không? Tôi sẽ không sử dụng nó cho Ngân hàng chỉ là các trang web thành viên. –

+5

Ý tưởng không phải là thay thế tất cả mật khẩu của bạn bằng mật khẩu chính đơn giản mà chỉ có một mật khẩu thực sự mạnh mẽ để ghi nhớ. Bạn cần phải làm cho mật khẩu chủ của bạn mạnh mẽ như bạn sẽ làm cho tất cả các mật khẩu cá nhân của bạn là bạn không sử dụng SuperGenPass. – Ferruccio

1

Không, nó không truyền tải bất cứ thứ gì.

+0

cảm ơn bạn đã xác nhận. –

+0

@airportyh, Chi tiết xin vui lòng. Ví dụ. Những bước bạn đã làm và làm thế nào bạn đi đến kết luận này. – Pacerier

2

Rõ ràng, bạn sẽ không muốn đưa tệp trực tiếp từ trang web đó. Trong trường hợp đó, nó có thể được thay đổi bất cứ lúc nào để ghi lại các mật khẩu được đưa ra.

+1

mẹo hay và tôi hoàn toàn đồng ý. Tôi sẽ đặt nó trên trang web của tôi và ổ đĩa địa phương. g –

3

SuperGenPass is not safe, nếu bạn không thể tin tưởng trang web bạn sử dụng hoàn toàn.

+2

Để ghi lại, lỗ hổng này chỉ dành cho bookmarklet - không phải là khái niệm hay thuật toán. –

10

Như một câu trả lời khác đã nêu, có một lỗ hổng bảo mật nghiêm trọng trong SGP: http://akibjorklund.com/2009/supergenpass-is-not-that-secure.

Tuy nhiên, bạn có thể thực hiện các bước để làm cho SuperGenPass an toàn hơn. Điều này được thực hiện bằng cách tạo bookmarklet tùy chỉnh của riêng bạn. Bạn có thể làm như vậy tại liên kết này: http://supergenpass.com/customize/?advanced.

1) Tùy chỉnh SGP của bạn thành độ dài mật khẩu mặc định dài hơn (tôi đề xuất 11 - 15 ... nữa và bạn sẽ gặp sự cố trên một số trang web giới hạn độ dài mật khẩu).

2) Tạo mật khẩu ẩn. Điều này rất quan trọng để đánh bại lỗ hổng được đề cập trước đó. Tính năng này sẽ tự động thêm "muối" vào cuối mật khẩu chính thông thường của bạn. "Muối" này không có sẵn bằng cách sử dụng lỗ hổng này.

3) Nếu bạn đang sử dụng Chrome, bạn có thể nhận phần mở rộng SGP (thay vì bookmarklet). Vì Chrome chạy các tiện ích mở rộng trong môi trường của riêng chúng nên không thể truy cập vào trang web mà bạn đang truy cập và do đó không dễ bị tấn công.

*) Chỉ người dùng nâng cao: Chỉnh sửa thuật toán băm trong bookmarklet. Sau đó, bạn sẽ có bản sao SGP cá nhân của riêng mình mà sẽ chỉ tạo băm cho bạn.

+0

Cảm ơn - các đề xuất tốt. Chỉ cần chắc chắn rằng bạn tìm được cách để có một bản ghi và quyền truy cập được bảo quản tốt cho tất cả các bản mod của bạn, vì vậy bạn không từ chối dịch vụ của mình trong những trường hợp quan trọng (như cần sử dụng nó sau khi xảy ra sự cố ổ đĩa hoặc đi nghỉ) – nealmcb

+1

Lưu ý rằng có ba tiện ích mở rộng chrome tại thời điểm này. Một số chuyên gia phân tích và tư vấn để lựa chọn trong số họ sẽ là hữu ích. Ngoài ra còn có một ứng dụng Android mã nguồn mở bởi staticfree.info. – nealmcb

6

Tôi là nhà nghiên cứu mật mã và tôi có thể khẳng định chắc chắn rằng SuperGenPass là thiếu sót, không an toàn và sẽ cung cấp cho người dùng cảm giác an toàn sai nếu họ sử dụng.Bỏ qua sự thiếu rõ ràng của an ninh trong chương trình riêng của mình bookmarklet (đề cập ở trên), đây chỉ là một số mật mã lý do tại sao bạn không bao giờ nên sử dụng SuperGenPass:

  1. MD5 bị phản đối và đã được một thời gian. MD5 không thể dựa vào bất kỳ hình thức bảo mật nào.

  2. Tác giả tuyên bố rằng SuperGenPass là khả năng chống va chạm (điều này hoàn toàn sai, nhưng không liên quan), tuy nhiên bảo mật cơ bản của lược đồ SuperGenPass dựa vào sức đề kháng PreImage. Có vẻ như tác giả không hiểu điều này, trích dẫn nó như là 'các mối quan tâm toán học khác'. Điều này có thể dễ dàng bị đánh bại ngay cả trong MD5 128 bit thông qua việc sử dụng các bảng cầu vồng, ít hơn nhiều tác giả đã tấn công cùng phiên bản 64 bit. Ước tính của tôi cho thời gian nó sẽ mất để crack một mật khẩu được tạo ra SuperGenPass sẽ là khoảng 2 ngày trên một máy tính gia đình, dựa trên phần cứng máy tính hiện tại.

  3. Tác giả của SuperGenPass khẳng định rằng bảo mật được đảm bảo do băm không xác định số lần. Điều này rõ ràng là sai lầm vì 'không xác định' là một hàm của mật khẩu. Một lần nữa, các bảng cầu vồng dễ dàng đánh bại điều này.

  4. Tác giả hoàn toàn hiểu sai mục đích của muối. Muối nên được tạo ngẫu nhiên, không phải là sản phẩm của một số 'mật khẩu tàng hình' do người dùng định nghĩa (bất kể điều đó có nghĩa là gì). Trong quá trình thực hiện này, 'mật khẩu tàng hình' chỉ đơn thuần là obfuscation và không cung cấp thêm bảo mật mật mã. Để biết thêm thông tin, hãy xem [http://en.wikipedia.org/wiki/HMAC#Design_principles]

  5. Không có hình thức tăng cường khóa nào, nó chỉ được ghép nối với miền. Một lần nữa, điều này có thể bị đánh bại khá dễ dàng bởi các bảng cầu vồng.

  6. Vấn đề không mã hóa bổ sung: Bằng cách giới hạn miền, tác giả không tính đến nhiều trang trên cùng một miền (nghĩ [hostingprovider] .com/[người dùng] hoặc [người dùng]. [Hostingprovider ] trang kiểu .com). Nếu bạn có mật khẩu với một trang web ở đó, bất kỳ trang web nào cũng có trên đó giờ đây có thể mạo danh chúng mà không có vấn đề gì.

Tóm lại, tác giả dường như có hiệu quả là cố gắng để tạo ra một HMAC (Message Hash-based Authentication Code) và việc áp dụng nó vào một miền trang web, nhưng đã có những thay kludgy, nỗ lực nghiệp dư vào nó với ít liên quan đến các nguyên tắc mật mã được thiết lập tốt. Thông thường điều này sẽ ổn, đây là cách chúng ta học và tôi sẽ không có vấn đề gì. Tuy nhiên, khi nó liên quan đến bảo mật người dùng khác, nó là không phải là tốt vì nhiều người dùng sẽ sử dụng phương pháp này cho rằng chúng an toàn khi thực tế là không. Chắc chắn, một tài khoản diễn đàn bị đánh cắp ở đây hoặc không thực sự là một việc lớn như vậy, nhưng còn về ngân hàng thì sao? Thẻ tín dụng? Hồ sơ y tế? Xem xét hầu hết các ngân hàng Hoa Kỳ có SSN của người dùng trên hồ sơ, điều này sau đó mở ra cánh cửa để đánh cắp nhận dạng.

Tác giả vô trách nhiệm và có thể cẩu thả tội phạm bằng cách phát hành phần mềm này vì mục đích bảo mật mật khẩu mà không cần phải cố gắng đánh giá nó bởi một chuyên gia bảo mật. Nó là vô cùng vô trách nhiệm để viết phần mềm và phát hành nó dựa trên ý tưởng 'suy nghĩ' nó là an toàn, đặc biệt nếu bạn không phải là một chuyên gia về cấu trúc mã hóa hoặc bảo mật máy tính. Nếu bất cứ ai có mật khẩu của họ bị đánh cắp trong khi sử dụng SuperGenPass, tôi yêu cầu bạn nói chuyện với một luật sư. Bạn có thể có một vụ kiện dân sự chống lại tác giả.

+4

Mã của ông được phát hành theo GPL, cung cấp KHÔNG BẢO ĐẢM. Trong thực tế, trong câu hỏi thường gặp của mình nó nói rằng bạn không nên sử dụng nó nếu bạn không hoàn toàn hiểu nó hoạt động như thế nào. Với ý nghĩ đó, có một chút ngớ ngẩn khi nói rằng thậm chí có khả năng khiển trách anh ta vì bất kỳ điểm yếu nào trong SuperGenPass. –

+0

Điều đó nói rằng, tôi hoàn toàn đồng ý với điểm 1 và 3. Tôi nghĩ rằng "mật khẩu tàng hình" được đề cập ở điểm 4 có thể dễ dàng là một dạng muối di động, mặc dù không sử dụng bitpace rất tốt. Điểm 6 chỉ liên quan đến một số lượng rất hạn chế các ứng dụng và bất kỳ người dùng nào của SuperGenPass cũng sẽ nhận thức được vấn đề này. –

+5

Tất cả những gì đã nói, sử dụng SuperGenPass là tốt hơn nhiều so với một số giải pháp thay thế phổ biến: 1) sử dụng cùng một mật khẩu trên mọi trang, 2) sử dụng "băm" thủ công trên mọi trang (ví dụ: "đào". com "), 3) sử dụng nhiều mật khẩu yếu dễ nhớ, 4) quên tất cả mật khẩu của bạn vì chúng quá khó nhớ. –

2

Tôi đã triển khai trình tạo mật khẩu có tên là 1pass4all. Nó an toàn hơn SGP vì nó dựa trên SHA-2 thay vì MD5, HMAC thay vì kết nối đơn giản của tên miền và mật khẩu chủ, base94 (tất cả các ký tự có thể in) thay vì base64.Bên cạnh đó, nó hỗ trợ tùy chỉnh muối và băm lặp (để kéo dài khóa). Hơn nữa, 1pass4all có thể đưa tên người dùng vào tài khoản, có nghĩa là cùng một mật khẩu chính trên cùng một trang web sẽ dẫn đến các mật khẩu khác nhau miễn là thông tin đăng nhập khác nhau. Hướng tới người dùng cao cấp, 1pass4all cũng hỗ trợ cú pháp mật khẩu chuyên biệt để họ có thể chỉ định tên người dùng, tên miền, mật khẩu, độ dài, muối, lặp băm, bộ ký tự mật khẩu, tự động phát hiện tên người dùng, tự động đăng nhập v.v. trong trường mật khẩu (thay vì một hình thức pop-up) on-the-fly.

Nếu bạn có bất kỳ quan tâm hoặc câu hỏi nào, vui lòng để lại tin nhắn của bạn trên my blog.

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