banner

[Rule] Rules  [Home] Main Forum  [Portal] Portal  
[Members] Member Listing  [Statistics] Statistics  [Search] Search  [Reading Room] Reading Room 
[Register] Register  
[Login] Loginhttp  | https  ]
 
Messages posted by: hvthang  XML
Profile for hvthang Messages posted by hvthang [ number of posts not being displayed on this page: 0 ]
 

conmale wrote:

Dựa trên những điểm nào mà bồ "nghĩ" như thế? 

Dựa trên một số điểm như là:
1. Các ứng dụng web sẽ rất đa dạng, và không phải cái nào cũng được xây dựng tốt. Nếu tính an toàn của cả hệ thống phụ thuộc vào nó thì sẽ rất khó quản lý vì mỗi ứng dụng có mức độ an toàn khác nhau.
2. Nếu xử lý được việc quản lý định danh một cách độc lập (tức là nó không phụ thuộc quá nhiều vào ứng dụng) như vậy sẽ an toàn hơn.
3. Thực tế người ta cũng đã làm như vậy: sử dụng one time password, certificate thay cho việc xác thực bằng mỗi password. Nó sẽ đảm bảo an toàn trên cả lý thuyết (các chứng minh toán học,...) và thực tế. Tuy nhiên nó chỉ ứng dụng ở nhưng giao dịch cần bảo mật cao.
4. Em không phủ nhận độ an toàn của phương pháp hash password này. Cái em băn khoăn vẫn là bị tấn công bằng cách giả mạo ứng dụng và sử dụng giá trị hash. Có lẽ em hiểu còn cạn nên chưa rõ vấn đề. Mong các bác khai sáng cho bằng một số giải thích cụ thể, chứ đừng phản biện em nhiều quá. (Em đọc cái "đặt câu hỏi thông minh của nhà mình rồi ạ").

conmale wrote:

Không được ở chỗ người dùng vẫn phải đăng nhập mật khẩu và ứng dụng web phải hash cái mât khẩu ấy để so sánh với giá trị có trong CSDL. Ứng dụng web vẫn nhận cái hash đó nhưng nó sẽ "đối xử" cái hash ấy như một password và sẽ hash cái hash rồi so sánh với giá trị có sẵn trong CSDL --> kết quả sẽ sai vì giá trị hash của cái hash không bao giờ là giá trị hash của cái password nguyên thủy. 

Cảm ơn bác, em đã hiểu, như vậy: xét về mặt an toàn trong trường hợp này "ứng dụng web sẽ quyết định tất cả". Và cách để tấn công giả mạo ứng dụng kiểu này em nghĩ là không khó. (Em nghĩ thôi ạ).

khanhqhi wrote:
Theo em ý bạn ấy là một mật khẩu được hash ra thành "AKNsa2434234234" chẳng hạn mà ai đó bắt được gói tin có chứa cái pass đã hash này thì người ta dùng nó để gửi luôn cái này cho server để xác thực luôn, không cần phải có pasword dạng clear text nữa. Hi theo em hiểu và cũng thắc mắc là thế 

Cảm ơn bác. mỗi bác hiểu em smilie

Trước tiên nên xác định thế nào là mã hóa (encrypt), giải mã (decrypt) và tạo "băm" một chiều (one-way hashing) để tránh ngộ nhận. Mã hóa có nghĩa là biến a thành b dựa trên một số điều kiện nào đó và có thể chuyển b trở thành a lại (giải mã) dựa trên một số điều kiện nào đó. Trong khi đó, tạo "băm" một chiều có nghĩa là biến x thành y nhưng không thể chuyển y thành x được nữa. Bởi thế mới có cụm "một chiều". 

Cái này em hiểu, trong tình huống này em muốn hỏi cái thao tác băm password, và cái này do phần mềm máy trạm thực hiện. (Đúng không ạ)

Hành động brute force các "băm" để giá trị nguyên thủy trước khi bị "băm" do thuật toán của nó vẫn có thể bị collision thường bị hiểu lầm là "giải mã". Thật sự brute force không phải là hành động giải mã dựa trên các điều kiện nào đó mà đó là hành động dò. "Brute force" thường mất rất nhiều thời gian (tính theo đơn vị ngày, giờ, tháng hoặc thậm chí năm) vì phải dò. Trong khi đó, "giải mã" chỉ xảy ra trong tích tắc vì đã có sẵn các điều kiện thực thi. 

Cái này đúng là không phải giải mã, và cũng không phải tìm đụng độ. Cách thông dụng nhất để "dịch ngược giá trị hash" là dùng từ điển. Ví dụ, em có giá trị hash và em sẽ "tra" từ điển xem cái đó nó là kết quả của việc hash chuỗi đầu vào nào.

- Chúng có tác dụng , chức năng, công dụng, ứng dụng như thế nào ?
Trên context LDAP password hashing ở đây: chúng đều tạo hash của pasword. Công dụng của nó (đúng ra là của application dùng nó) để không chứa password ở dạng clear text mà chỉ chứa password ở dạng đã được hash.  

Cái em thắc mắc là ở đây, "password ở dạng hash" là duy nhất (nếu không dùng OTP). Vậy "ông hacker" ổng xài cái này thì chả ngu gì ông lại cho phần mềm hash tiếp để ra cái hash mới như bác thangdiablo nói. Mà ông ấy sẽ dùng trực tiếp chuỗi này chuyển cho server.
Như vậy, thì có được không, tấn công có thành công không là ý em muốn hỏi.
Vấn đề này đọc thảo luận của các bác mãi không rõ.

Tại sao phải hash? Giả sử user A có password là a, password này được application "hash" nó thành 0cc175b9c0f1b6a831c399e269772661 rồi chứa vào CSDL. Khi user A login và dùng password a để đăng nhập, application sẽ hash a và so sánh giá trị vừa hash xong với giá trị đã lưu trong CSDL. Nếu chúng trùng nhau, user A được vào. Nếu hệ thống bị nhân nhượng, kẻ tấn công chỉ thu thập được hashed password và nếu muốn dùng chúng, hắn phải brute force nó (mất thời gian và ít thành công).  

Hiểu luôn.

Kihote wrote:
Mọi người muốn biết hiểu sâu hơn về lịch sử có thể tìm đọc cuốn này .

MẬT MÃ - TỪ CỔ ĐIỂN ĐẾN LƯỢNG TỬ


http://www.vinabook.com/khoa-hoc-kham-pha-mat-ma-tu-co-dien-den-luong-tu-m11i29548.html#


 

Cảm ơn bạn, mấy cái này em đọc wiki cho tiện,
Có bác nào giải thích giúp em không? smilie

thangdiablo wrote:


Ví dụ password đúng là acb. Khi bạn đăng nhập với password acb thì chương trình sẽ hash password của bạn ra thành 1 chuỗi "loằng ngoằng" và nó khớp ( match ) với cái chuỗi "loằng ngoằng" được lưu trong CSDL. Tuy nhiên, bằng 1 cách nào đó bạn lấy được chuỗi loẳng ngoằng này sau đó dùng nó để đăng nhập thì lúc này ứng dụng sẽ hash thành 1 chuỗi "loằng ngoằng mới". Và lúc này thì chuỗi mới không còn khớp (match) với chuỗi nằm trong CSDL nữa.

Kết quả là login bị fail.

Bạn nên đọc kỹ những gì anh conmale viết. 


Cảm ơn bác, tuy nhiên ý em là khi ông không có thẩm quyền đó lấy được cái giá trị hash "loằng ngoằng" đó thì ông ấy chuyển luôn cho máy chủ xác thực (không cho ứng dụng hash tiếp). Vậy thì vẫn hợp lệ chứ ạ.
Tại sao phải hash? Giả sử user A có password là a, password này được application "hash" nó thành 0cc175b9c0f1b6a831c399e269772661 rồi chứa vào CSDL. Khi user A login và dùng password a để đăng nhập, application sẽ hash a và so sánh giá trị vừa hash xong với giá trị đã lưu trong CSDL. Nếu chúng trùng nhau, user A được vào. Nếu hệ thống bị nhân nhượng, kẻ tấn công chỉ thu thập được hashed password và nếu muốn dùng chúng, hắn phải brute force nó (mất thời gian và ít thành công). 


Xin "đào mồ" chủ đề này xíu, em đọc thảo luận của các bác cũng sáng ra nhiều vấn đề. Theo em hiểu thì phương pháp hash một dữ liệu (password) thì sẽ giảm khả năng lộ password dạng đọc được trên đường truyền, và người không thẩm quyền cũng chỉ có được một chuỗi kỹ tự loằng ngoằng mà họ không đọc được. Tuy nhiên, cái em thắc mắc là khi đó họ sử dụng trực tiếp luôn cái chuỗi đó chữ không cần dịch lại làm gì cả, vì chuỗi đó là duy nhất mà (tính chất của hàm hash).
Vậy thì hash password, theo em nó chỉ che mắt được chứ không có tác dụng bảo vệ, không biết em nghĩ có sai không. Cảm ơn các bác.
 
Go to Page:  First Page Page 3 4 5 6

Powered by JForum - Extended by HVAOnline
 hvaonline.net  |  hvaforum.net  |  hvazone.net  |  hvanews.net  |  vnhacker.org
1999 - 2013 © v2012|0504|218|