Solved: Làm sao để dùng 10 mật khẩu mạnh khác nhau nếu dùng 10 tài khoản?

Bạn có 10 tài khoản?

Tuyệt, theo như lời khuyên từ các chuyên gia bảo mật, bạn cần dùng 10 mật khẩu mạnh và khác nhau.

Nhưng các chuyên gia không nói làm sao để nhớ nó mà không cần lưu mật khẩu?

—> Đọc bài viết này trên Medium…

Bản chất của các trình quản lí là đều lưu mật khẩu ở đâu đó, chạy ngầm, rất bất tiện và có khả năng mất mật khẩu nếu lỡ format đĩa phải không?

Sau đây mình sẽ đề xuất một cách để tạo ra 10 mật khẩu khác nhau, mạnh, dễ nhớ nhưng không thể bị đánh cắp hoặc mất =]]]

Bạn có bao giờ nghĩ làm sao tạo mật khẩu từ tên của bạn? Rất dễ nếu bạn dùng hàm băm.

Ví dụ mình có email là [email protected], mình có thể dùng hàm MD5 để băm cái địa chỉ mail này và dùng lại nó như mật khẩu: 48ddb93f0b30c475423fe177832912c5bcdce3cc72872f8051627967ef278e08

Nếu bạn nghi ngờ về độ mạnh, bạn có thể dùng passwordmeter(.)com để kiểm tra.

Nó thật sự khá mạnh nhưng rất là dễ nhớ. Bởi vì bạn chỉ cần nhớ công thức, còn mật khẩu bạn không cần quan tâm tới, bạn chỉ cần biết là đầu ra là một mật khẩu mạnh.

Nhưng sẽ có nhiều người lo lắng công thức quá dễ lần ra. Không sao, vậy hãy dùng tổ hợp:

mail_password = sha256(md5(mail_address))

Mình nghĩ hiếm có hacker nào đủ nổ lực để tìm ra con bò từ đống thịt bò xay. Tất nhiên input không nhất định phải là email mà có thể là những gì bạn dễ nhớ nhất, ví dụ mình có 5 tài khoản của 5 trang web khác nhau, nhưng tên tài khoản giống nhau.

Lúc này để đảm bảo sự khác biệt, mình có thể dùng vần tắt của trang mình muốn đăng nhập để gắn vào làm tiền tố, ví dụ ttaccount, fbaccount,… tất nhiên input không cần quá dài, chỉ cần dễ nhớ và thay đổi là đủ, bởi vì với cùng 1 công thức, chỉ cần input đầu vào sai khác một chút thì output đầu ra đã không thể nào tìm ra quy luật.

Với hơn 81 thuật toán mà ứng dụng cung cấp, bạn sẽ biến hóa như 81 phép của Tề Thiên, chỉ có Chúa và bạn biết công thức tạo ra mật khẩu. Và chỉ có Chúa mới nhớ mật khẩu đầu ra là gì.

Đó chính là quy tắc cốt lõi của bảo mật: dùng mật khẩu mạnh, khác nhau và không lưu mật khẩu. Nhưng vẫn đáp ứng về độ dễ nhớ.

Bây giờ bạn có 10 tài khoản? Bạn có thể dùng 10 mật khẩu và hoàn toàn khác nhau dễ dàng.

BẠN CHỈ CẦN GIỮ BÍ MẬT VỀ CÔNG THỨC CỦA BẠN Ở TRONG ĐẦU!!!

Link tải ở đây:

3 Likes

Hi vọng nhận được góp ý để mình hoàn thiện ứng dụng hơn, mình làm dạng core functions để thêm thắt bám sát nhu cầu của người dùng.
Tương lai sau khi refactoring lại source mình sẽ opensource để mn phát triển
Hi vọng sẽ tạo ra phương pháp mới giúp mọi người tự bảo vệ mình dễ dàng hơn!

mình nghĩ điều này giúp ích nhiều cho các bạn dễ quên, dùng nhiều tài khoản hoặc không rành công nghệ.

4 Likes

cũng từng có ý định tự viết 1 hash function cho bản thân, nhưng hơi làm biếng với lại cảm thấy mức độ bảo mật của bản thân khá tốt nên thôi.
đọc bài này làm cảm hứng trở lại, chăc là nên thử làm :smiley:

4 Likes

bạn có thể góp ý và mình format lại source để sớm opensource ra.
có thể phương pháp này trở thành cuộc cách mạng luôn nếu đủ contributors :v

3 Likes

mật khẩu ai đi băm mà ko có muối để lưu bao giờ :V

sao ko có Argon2 :V

5 Likes

hehe muối là tùy ý :v chỉ bạn mới biết cho bao nhiêu muối để ra cái mã băm đó, thứ mà bạn dùng làm mk

mình con fko biết tồn tại hàm băm tên Argon2 luôn đó :rofl::rofl::rofl:

băm mật khẩu ko có muối thì khác gì vẽ đường cho hươu chạy vào chỗ chết :V

the password-hashing function that won the Password Hashing Competition (PHC).

:sneezing_face:

4 Likes

nếu có nhu cầu dùng file làm key cũng đơn giản, thay vì băm chuỗi ta chọn file để băm làm mk, mất file coi như mất mk :v:

tại sao lại phải dùng file? :V :V Người ta hash file là để kiểm tra xem file có bị chỉnh sửa hay ko, có phải để làm mật khẩu đâu :V

ko có muối thì hacker tra rainbow table 1 tí là ra mật khẩu ban đầu :V

4 Likes

bởi vì mọi người đều nghĩ như vậy :blush: mình nghĩ file cũng có thể dùng như 1 chìa khóa, bởi vì mã hash của nó gần như là duy nhất

file bự, hash nhỏ, vậy khả năng trùng hash là rất cao :V Tại sao ko dùng 128-bit ngẫu nhiên nào đó làm password? :V

3 Likes

mail_password = sha256(md5(mail_address))

toàn vẽ đường cho hươu vào chỗ chết :V :V Địa chỉ email ai cũng thấy, hàm sha256 và md5 ai cũng biết, ngồi gõ 1 phát là ra cái mail_password, vậy an toàn chỗ nào :V

user rất là vô tư, bạn bảo x thì họ sẽ làm x, đừng nghĩ bạn chỉ x họ làm xyz. Ko nên viết ra cái dòng nguy hiểm này rồi cho đó là “an toàn” :V

ví dụ hacker thấy bạn viết 1 bàn nổ to thế này, họ lại lượn 1 vòng đi xem email các nạn nhân là gì, rồi áp dụng sha256(md5(email)) ra được cái hash kia, ra đúng “mật khẩu” là cái hash đó. Rồi copy paste vào là hack mất tài khoản, chết người xài cái app của bạn :V


nếu muốn tạo mật khẩu thì đừng bao giờ hash cái gì cả, mà đi lấy random bytes của OS tạo ra, rồi encode nó lại thành chữ, ví dụ base64 hay base32 gì đó.

3 Likes

mình sẽ trả lời từng đoạn:

  1. Công thức:
    -Công thức đó chỉ là mẫu, không phải công thức chung. Hàm cung cấp cũng không chỉ có sha256 và md5. Ví dụ user có thể dùng một tiền tố (x + tên tài khoản) và thông qua bước băm khác. Công thức do user giữ bí mật.

tại sao lại mất công đi băm như vậy? Gọi OS random lấy ra ví dụ 80 bit ngẫu nhiên rồi encode xài base32 lại là ra mật khẩu 16 chữ, cần gì phải hash?

2 Likes

bởi vì mật khẩu mạnh 16 chữ ngẫu nhiên rất khó nhớ
dẫn tới 2 trường hợp khi user có nhiều tài khoản:

  1. lưu mật khẩu
  2. dùng chung mật khẩu

dẫn tới 2 vấn đề:

  1. việc lưu mật khẩu có thể bị hack tại thiết bị lưu, mất mk do format thiết bị
  2. user dùng lại mk tại 5 webs. Mỗi web có 1 tỉ suất bị hack thì 5 webs tỉ suất sẽ cộng dồn, chỉ cần 1 web bị hack dẫn đến lộ mk tại 4 webs còn lại

xài 1 cái password manager là xong, nếu đã xài app này app kia rồi :V Tội gì phải xài app hash x khi đã có 1 cái app ghi thẳng x dùm mình, mình chỉ nhớ 1 master password là xong :V

mà hash x1 x2 x3 thì cũng phải nhớ x1 x2 x3, vậy đi hash làm gì, chả lẽ nhớ 1 x mà đi hash nhiều lần khác nhau à??? :V :V :V Vậy cũng phải nhớ acc này xài hàm hash gì, băm bao nhiêu lần, v.v…, sao ko xài password manager luôn cho tiện…

4 Likes

mình có dẫn 2 vấn đề ở trên đó, bạn cho ý kiến nha
cảm ơn bạn

vậy bây giờ user có 10 tài khoản, băm thế nào để ra 10 “mật khẩu” khác nhau? Với điều kiện chỉ cần nhớ 1 mật khẩu x.

2 Likes

mình nghĩ quá trình băm có thể tối ưu lại thành 1 lần nhấn
nếu có góp ý gì bạn góp ý cho mình hoàn thiện và giải quyết khúc mắc nhé!
cảm ơn bạn!

83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?