thắc mắc Hỏi về cách lưu mật khẩu trong database

  • Người tạo chủ đề Người tạo chủ đề hieple97
  • Ngày bắt đầu Ngày bắt đầu
ví dụ case dùng bcrypt để mã hóa rồi lưu password
giả sử như như bị lộ sạch db đã mã hóa
theo thím thì làm cách nào để dịch ngược ra lại password ban đầu :(
ko có cách nào, có thể chờ quantum computer
OANgL56.png


Theo thím chrome có mã hoá ko. Khi vào manage pass nó có chức năng show pass đó

Sent using vozFApp
passwords cá nhân lưu trên server của chrome có thể nó được mã hóa với key = account password của user đó, để khi thằng nắc cơ nó chôm được db thì nó ko biết N account password thì nó ko giải mã được pw của N ví dụ là 1 triệu users. Còn nếu ví dụ bị mất laptop còn mở chrome thì nó xem hết password của mình được nhưng cái đó chỉ "hack" có 1 thằng user và là lỗi của user chứ đéo phải lỗi của server nên ko xao

ví dụ login vào acc chrome, chrome nó send raw text password qua https, server nó hash raw text này check với hash password trùng thì ok lấy raw text đó làm key để decrypt các dữ liệu (các pw khác) rồi gửi các dữ liệu này về (được bảo vệ bằng https) cho chrome. Bây giờ hacker lấy được db của server chứa các dữ liệu này, được 1 triệu người dùng, mỗi người có từ 10-100 passwords, nhưng 10-100tr passwords này bị encrypt bằng 1 triệu keys khác nhao chứ ko phải 1 key. Mà 1 triệu keys này được bảo vệ bằng password hash nên nắc cơ nó ko làm ăn được gì
BlYu2Cr.png
server có bị cướp cũng ok. Thậm chí toy nghĩ public mọe cái db cũng ok
JiZo9zf.png
Có lẽ để lộ username thì thằng lào xài pass dễ đoán thì bị brute force phá thoy, ko phải lỗi server
JiZo9zf.png
cũng như thằng lào bị mất laptop nó vào chrome nó chôm hết pass của thằng đó thì lỗi thằng đó 1 mình nó chịu, ko phải 1tr users khác chịu.

nếu ko có password hashing xịn thì bi giờ cần đéo gì cướp nhà băng, cướp mấy trụ sở chứa đống csdl có phải lời hơn ko
JiZo9zf.png
lúc đó sợ tòa nhà server google nó được bảo vệ còn hơn dinh tổng thống ấy chứ
fJQnixL.gif
 
Sửa lần cuối:
Nên thêm salt để đảm bảo 2 raw password trùng nhau không sinh ra encrypted pwd giống nhau. Không có salt, thằng hacker/dba nó truy ngược được pwd của 1 user là lấy được pwd của những user khác có cùng encrypted pwd.

Sent using vozFApp
 
Bác cho em hỏi là làm sao để migrate được vậy? Mình lưu lại cái salt rồi cộng pass cũ với salt ạ? Em cũng đang có 1 case gần tượng tự mà chưa biết phải làm thế nào.

case này migrate dần dần thôi. gắn 1 cái flag changepassword vào.

user chưa đổi pass => changepassword = false. Khi login vào sẽ check với hash cũ => nếu đúng sẽ yêu cầu đổi lại password. Khi này mình lưu password sang kiểu hash + salt mới và gắn changepassword = true.

=))
 
case này migrate dần dần thôi. gắn 1 cái flag changepassword vào.

user chưa đổi pass => changepassword = false. Khi login vào sẽ check với hash cũ => nếu đúng sẽ yêu cầu đổi lại password. Khi này mình lưu password sang kiểu hash + salt mới và gắn changepassword = true.

:LOL:
vậy là cho user change pass từ từ đúng không ạ? Em đang đề xuất để 1 cái thông báo khi user vào web cho user thời hạn đến ngày x. Nếu sau ngày X thì em sẽ random cho user chưa đổi 1 cái pass và gửi vào mail. User vẫn còn cách khác để đổi pas bằng OTP.
Bác xem cách này được không nhỉ? Có gần 1000 user trong hệ thống.
 
vậy là cho user change pass từ từ đúng không ạ? Em đang đề xuất để 1 cái thông báo khi user vào web cho user thời hạn đến ngày x. Nếu sau ngày X thì em sẽ random cho user chưa đổi 1 cái pass và gửi vào mail. User vẫn còn cách khác để đổi pas bằng OTP.
Bác xem cách này được không nhỉ? Có gần 1000 user trong hệ thống.
tôi là user tôi đấm cho, ai mượn đổi pass giùm?
 
gắn flag, người dùng đăng nhập thì update lại mật khẩu trong db theo cách mới => flag true, lần sau không đổi nữa
mình tự update code chỗ login thoi chứ đâu cần thông báo người dùng đâu ha thím?
Nhưng gần đây user phàn nàn rất nhiều về chuyện bị mất tài khoản, mk nên là em bị dí. Hệ thống thì cũ lắm rồi, anh trước làm thì mã hoá bằng 1 thuật toán quá dễ để xem plaintext. Nên sếp em mới bắt là làm lại cái đấy. Mà user thì mù tech nên thỉnh thoảng tài khoản bị gì cái là lại phải đi reset.
 
Nhưng gần đây user phàn nàn rất nhiều về chuyện bị mất tài khoản, mk nên là em bị dí. Hệ thống thì cũ lắm rồi, anh trước làm thì mã hoá bằng 1 thuật toán quá dễ để xem plaintext. Nên sếp em mới bắt là làm lại cái đấy. Mà user thì mù tech nên thỉnh thoảng tài khoản bị gì cái là lại phải đi reset.

Vkl nếu đã quá dễ biết plaintext sao thím không migrate thẳng từ plaintext đó luôn.

Sent using vozFApp
 
Nhưng gần đây user phàn nàn rất nhiều về chuyện bị mất tài khoản, mk nên là em bị dí. Hệ thống thì cũ lắm rồi, anh trước làm thì mã hoá bằng 1 thuật toán quá dễ để xem plaintext. Nên sếp em mới bắt là làm lại cái đấy. Mà user thì mù tech nên thỉnh thoảng tài khoản bị gì cái là lại phải đi reset.
biết plain text thì tự chơi một mình luôn chứ cần méo gì user xác nhận nữa thím
encode qua cách mới rồi save lại hết thôi
đổi lại code chỗ login là xong
 
biết plain text thì tự chơi một mình luôn chứ cần méo gì user xác nhận nữa thím
encode qua cách mới rồi save lại hết thôi
đổi lại code chỗ login là xong
Vkl nếu đã quá dễ biết plaintext sao thím không migrate thẳng từ plaintext đó luôn.

Sent using vozFApp
em có đề xuất như vậy rồi nhưng sếp bảo thế là không đảm bảo an toàn gì đấy nên em mới tìm cách để user đổi pass nhanh nhất. Chứ 2 hôm user lại xin reset tk thì em cũng chết
 
Khiếp, ngủ tí dậy mấy thím Quote lắm thế :D Giờ mà vẫn còn người lưu pwd ở dạng text thuần chắc chỉ có học sinh mẫu giáo làm quen code. Ít nhất hiện nay cũng áp dụng mã hoá 1 chiều. Bảo mật hơn thì salt vài lớp. Đôi khi nó hash lại chính cái đoạn đã áp mã 1 chiều rồi.
Mấy cái trang bốc phét decode pass md5 .v.v. Bản chất nó cũng là trang cho mã hoá online rồi lưu data của user vào db phục vụ việc so sánh chứ đào đếu đâu ra mà dịch ngược được.

Vấn đề mình muốn nói là site quan trọng là dữ liệu user, lộ db rồi thì user lòi hết thông tin thì quan tâm làm gì pwd mã hoá ntn. Chưa kể khi đã chọt tới db khả năng lộ source cũng tương đồng. Việc tìm ra pwd dùng phương thức bảo mật nào để dò danh sách pass trung lặp thiếu gì cách. Hacker nó có quyền edit db thì pass trời nó cũng login được khi đã nắm source.

Đấy là vấn đề kĩ thuật, mấy thím nói đa phần mang yếu tố social engineering. Đã liên quan yếu tố con người thận nó còn hack được nữa là ba cái pwd.



Về bản chất thì pwd lưu ở db là 1 đoạn mã khó/ không thể dịch ngược ra text thuần của user nhập vào.
Khi login, hệ thống sẽ mã hoá text thuần theo thuật toán quy định rồi so sánh chuỗi kết quả với pwd lưu ở db. Nếu đúng thì login.


À mà FB các thím có thể login bằng pwd viết hoa thường ngược lại nhé. Ví dụ pwd là Abc12ba thì có thể login là aBC12BA :D
+1, hacker mà chiếm dc quyền DB thì nó update cái hased password của ng khác = hashed password của nó => nó login dc. Quan trọng email/phone, data của user thôi . Cái phần hashed password này làm chuẩn phổ thông thôi, ko an tâm thì dùng auth service ngoài cho khỏe .
 
em có đề xuất như vậy rồi nhưng sếp bảo thế là không đảm bảo an toàn gì đấy nên em mới tìm cách để user đổi pass nhanh nhất. Chứ 2 hôm user lại xin reset tk thì em cũng chết

Chắc thằng sếp sợ thím ghi đè pass mới lên pass cũ thôi :) ghi qua cột mới được mà. Cách này mình thấy đơn giản nhất rồi.
Còn ko làm theo như thím trên kia chỉ đó. User login ok là tiến hành update pass luôn, có điều code phần login sẽ như shit 💩

Sent using vozFApp
 
Chắc thằng sếp sợ thím ghi đè pass mới lên pass cũ thôi :) ghi qua cột mới được mà. Cách này mình thấy đơn giản nhất rồi.
Còn ko làm theo như thím trên kia chỉ đó. User login ok là tiến hành update pass luôn, có điều code phần login sẽ như shit 💩

Sent using vozFApp
Chắc em dùng cách của bác ấy vậy. Chịu khó tầm 2 tháng chắc cũng được 80% user. Số còn lại thì đợi vậy.
 
Khiếp, ngủ tí dậy mấy thím Quote lắm thế :D Giờ mà vẫn còn người lưu pwd ở dạng text thuần chắc chỉ có học sinh mẫu giáo làm quen code. Ít nhất hiện nay cũng áp dụng mã hoá 1 chiều. Bảo mật hơn thì salt vài lớp. Đôi khi nó hash lại chính cái đoạn đã áp mã 1 chiều rồi.
Mấy cái trang bốc phét decode pass md5 .v.v. Bản chất nó cũng là trang cho mã hoá online rồi lưu data của user vào db phục vụ việc so sánh chứ đào đếu đâu ra mà dịch ngược được.

Vấn đề mình muốn nói là site quan trọng là dữ liệu user, lộ db rồi thì user lòi hết thông tin thì quan tâm làm gì pwd mã hoá ntn. Chưa kể khi đã chọt tới db khả năng lộ source cũng tương đồng. Việc tìm ra pwd dùng phương thức bảo mật nào để dò danh sách pass trung lặp thiếu gì cách. Hacker nó có quyền edit db thì pass trời nó cũng login được khi đã nắm source.

Đấy là vấn đề kĩ thuật, mấy thím nói đa phần mang yếu tố social engineering. Đã liên quan yếu tố con người thận nó còn hack được nữa là ba cái pwd.



Về bản chất thì pwd lưu ở db là 1 đoạn mã khó/ không thể dịch ngược ra text thuần của user nhập vào.
Khi login, hệ thống sẽ mã hoá text thuần theo thuật toán quy định rồi so sánh chuỗi kết quả với pwd lưu ở db. Nếu đúng thì login.


À mà FB các thím có thể login bằng pwd viết hoa thường ngược lại nhé. Ví dụ pwd là Abc12ba thì có thể login là aBC12BA :D
hình như không phân biệt hoa thường thì phải, lúc trc MK của em viết hoa 1 chữ đầu mật khẩu, nhiều khi quên ko viết hoa vẫn đăng nhập được
 

Thống kê chủ đề

Ngày tạo
hieple97,
Người trả lời cuối
khoahocphothong,
Trả lời
65
Lượt xem
7.090
Quay lại
Lên đầu trang