hanhkhat
24-02-2012, 09:54 PM
Khi sử dụng mật khẩu để đăng nhập vào một hệ thống nào đó, dĩ nhiên là mật khẩu ngắn sẽ dễ nhập và dễ nhớ hơn. Đối với một số hệ thống thì có yêu cầu độ dài tối thiểu của mật khẩu, nhưng một số lại không giới hạn như vậy. Qua bài này, chúng ta sẽ xem xét vấn đề "tầm quan trọng của độ dài mật khẩu đối với bảo mật dữ liệu".
Giả sử máy tính bạn chọn mật khẩu có 2 ký tự số. Vậy là bạn có 10 lựa chọn số cho mỗi ký tự. Vậy là bạn có thể có 10x10 =100 mật khẩu (từ 00 đến 99). Vậy là nếu một người nào đó cố gắng gõ từ 00 đến 99 thì chỉ sau một thời gian ngắn, họ sẽ đăng nhập được vào tài khoản của bạn.
Bây giờ ta sẽ cải thiện bằng cách sử dụng thêm các ký tự "chữ", bao gồm cả chữ thường và chữ hoa. Vậy là với mỗi ký tự, ta có 26 + 26 +10 = 62 lựa chọn. Và số mật khẩu ta có thể có là 62x62=3844. Bây giờ ai mà mò thì cũng mệt đấy nhỉ, nhưng không phải là không thể mò được.
Bây giờ ta thêm 1 ký tự vào mật khẩu, vậy là nếu hacker muốn đột nhập thì phải thử đến 62x62x62=238328 mật khẩu khác nhau.
Bây giờ, nếu mật khẩu của bạn là một từ có nghĩa (có trong từ điển) . VD: lan, wan...thì hacker sẽ đỡ mất công hơn bằng cách sử dụng phương pháp tấn công "từ điển" (dictionary attack (http://www.thebitmill.com/articles/password_whystrong.html#typesofattack)) . Với cách tấn công này, hacker sẽ thử tất cả các ký tự có trong từ điển xem có đăng nhập được không.
Bây giờ thử sử dụng máy tính để đột nhập nhé. Với các bộ vi với tốc độ xử lý hàng triệu (hoặc hàng tỉ) phép tính hàng giây thì chương trình có thể thử tới 1 triệu mật khẩu có 3 ký tự trong 1 giây. Rất nhanh phải không.
Bây giờ thử mật khẩu có chiều dài 4 ký tự, chúng ta sẽ có 62 x 62 x 62 x 62 = 14776336 (gần 15 triệu) mật khẩu. Muốn phá thì cũng mất thêm một chút thời gian .
Rõ ràng, một mật khẩu dài hơn là một mật khẩu mạnh mẽ hơn, và với sức mạnh xử lý của máy tính hiện đại, bất kỳ mật khẩu ngắn hơn 8 ký tự hoặc đơn giản là không an toàn. Trong thực tế, hacker có thể crack thậm chí là một mật khẩu 8 ký tự trong cả tuần bằng cách sử dụng máy tính xách tay khá khiêm tốn của mình. Đơn giản bằng cách sử dụng mật khẩu dài 9-10 ký tự, hacker lại mất thêm rất nhiều thời gian để crack.
Hiện nay nhiều công ty có chính sách bắt buộc chiều dài mật khẩu lớn hơn 8 ký tự và phải thay đổi mật khẩu trong một khoảng thời gian nào đó.
Nhưng thật không may, nhiều nhân viên vì phải đổi mật khẩu quá nhiều, mà lại là mật khẩu dài, bao gồm chữ thường, chữ hoa, ký tự đặc biệt... nên đã....viết xuống bàn. Thật là nguy hiểm :)). Hacker nào mà thấy thì vớ bở :D
(Mình nhớ có một ông giám đốc mất thẻ ATM, hôm sau báo công an, tới ngân hàng kiểm tra thì thấy tiền bị rút sạch. Sau này mới biết mật khẩu được ghi luôn lên thẻ cho khỏi quên =)) )
Giải pháp phổ biến nhất cho vấn đề này là sử dụng phần mềm quản lý mật khẩu. Phần mềm Quản lý mật khẩu theo sẽ lưu của tất cả các mật khẩu người dùng trong một tập tin an toàn, thường được bảo vệ bởi một mật khẩu khác hoặc lưu ra cdrom, USB...
Hiện nay một số phần mềm đã thêm vài ký tự ngẫu nhiên vào password của người dùng để tăng chiều dài mật khẩu rồi mã hóa, giúp mật khẩu của người dùng an toàn hơn. VD trường hợp lưu mật khẩu của VBB.
Theo các chuyên gia thì muốn có một mật khẩu mạnh thì ta phải có cả ký tự hoa, thường, số và ký tự đặc biệt. Và đặc biệt là chiều dài tối thiểu phải >8. tốt nhất là >14 (Lý do tại sao mình sẽ nói ở một bài khác)
Các ví dụ về mật khẩu yếu:
admin -- quá dễ đoán
1234 -- quá dễ đoán
abc123 -- quá dễ đoán
minh -- tên riêng thông thường
password -- đoán ra dễ dàng, rất thường dùng
p@$$\/\/0rd -- leet và mật mã bằng ký tự đơn giản đều đã được lập trình trước trong các công cụ bẻ khóa
rover -- tên thú nuôi thông thường, cũng là một từ trong từ điển
12/3/75 -- ngày tháng, có thể quan trọng đối với cá nhân đó
December12 -- Sử dụng ngày bắt buộc phải đổi mật khẩu là rất phổ biến
nbusr123 -- có thể là một tên người dùng, và nếu vậy, cực kỳ dễ đoán
asdf -- chuỗi ký tự kế nhau trong nhiều loại bàn phím
qwerty -- một chuỗi ký tự kế nhau trong nhiều loại bàn phím
aaaa -- ký tự lặp đi lặp lại, dễ đoán ra
Tham khảo thêm:
http://vi.wikipedia.org/wiki/%C4%90%E1%BB%99_m%E1%BA%A1nh_c%E1%BB%A7a_m%E1%BA%A Dt_kh%E1%BA%A9u
http://www.thebitmill.com/articles/password_length.html
Ngồi dịch mệt quá :D
Giả sử máy tính bạn chọn mật khẩu có 2 ký tự số. Vậy là bạn có 10 lựa chọn số cho mỗi ký tự. Vậy là bạn có thể có 10x10 =100 mật khẩu (từ 00 đến 99). Vậy là nếu một người nào đó cố gắng gõ từ 00 đến 99 thì chỉ sau một thời gian ngắn, họ sẽ đăng nhập được vào tài khoản của bạn.
Bây giờ ta sẽ cải thiện bằng cách sử dụng thêm các ký tự "chữ", bao gồm cả chữ thường và chữ hoa. Vậy là với mỗi ký tự, ta có 26 + 26 +10 = 62 lựa chọn. Và số mật khẩu ta có thể có là 62x62=3844. Bây giờ ai mà mò thì cũng mệt đấy nhỉ, nhưng không phải là không thể mò được.
Bây giờ ta thêm 1 ký tự vào mật khẩu, vậy là nếu hacker muốn đột nhập thì phải thử đến 62x62x62=238328 mật khẩu khác nhau.
Bây giờ, nếu mật khẩu của bạn là một từ có nghĩa (có trong từ điển) . VD: lan, wan...thì hacker sẽ đỡ mất công hơn bằng cách sử dụng phương pháp tấn công "từ điển" (dictionary attack (http://www.thebitmill.com/articles/password_whystrong.html#typesofattack)) . Với cách tấn công này, hacker sẽ thử tất cả các ký tự có trong từ điển xem có đăng nhập được không.
Bây giờ thử sử dụng máy tính để đột nhập nhé. Với các bộ vi với tốc độ xử lý hàng triệu (hoặc hàng tỉ) phép tính hàng giây thì chương trình có thể thử tới 1 triệu mật khẩu có 3 ký tự trong 1 giây. Rất nhanh phải không.
Bây giờ thử mật khẩu có chiều dài 4 ký tự, chúng ta sẽ có 62 x 62 x 62 x 62 = 14776336 (gần 15 triệu) mật khẩu. Muốn phá thì cũng mất thêm một chút thời gian .
Rõ ràng, một mật khẩu dài hơn là một mật khẩu mạnh mẽ hơn, và với sức mạnh xử lý của máy tính hiện đại, bất kỳ mật khẩu ngắn hơn 8 ký tự hoặc đơn giản là không an toàn. Trong thực tế, hacker có thể crack thậm chí là một mật khẩu 8 ký tự trong cả tuần bằng cách sử dụng máy tính xách tay khá khiêm tốn của mình. Đơn giản bằng cách sử dụng mật khẩu dài 9-10 ký tự, hacker lại mất thêm rất nhiều thời gian để crack.
Hiện nay nhiều công ty có chính sách bắt buộc chiều dài mật khẩu lớn hơn 8 ký tự và phải thay đổi mật khẩu trong một khoảng thời gian nào đó.
Nhưng thật không may, nhiều nhân viên vì phải đổi mật khẩu quá nhiều, mà lại là mật khẩu dài, bao gồm chữ thường, chữ hoa, ký tự đặc biệt... nên đã....viết xuống bàn. Thật là nguy hiểm :)). Hacker nào mà thấy thì vớ bở :D
(Mình nhớ có một ông giám đốc mất thẻ ATM, hôm sau báo công an, tới ngân hàng kiểm tra thì thấy tiền bị rút sạch. Sau này mới biết mật khẩu được ghi luôn lên thẻ cho khỏi quên =)) )
Giải pháp phổ biến nhất cho vấn đề này là sử dụng phần mềm quản lý mật khẩu. Phần mềm Quản lý mật khẩu theo sẽ lưu của tất cả các mật khẩu người dùng trong một tập tin an toàn, thường được bảo vệ bởi một mật khẩu khác hoặc lưu ra cdrom, USB...
Hiện nay một số phần mềm đã thêm vài ký tự ngẫu nhiên vào password của người dùng để tăng chiều dài mật khẩu rồi mã hóa, giúp mật khẩu của người dùng an toàn hơn. VD trường hợp lưu mật khẩu của VBB.
Theo các chuyên gia thì muốn có một mật khẩu mạnh thì ta phải có cả ký tự hoa, thường, số và ký tự đặc biệt. Và đặc biệt là chiều dài tối thiểu phải >8. tốt nhất là >14 (Lý do tại sao mình sẽ nói ở một bài khác)
Các ví dụ về mật khẩu yếu:
admin -- quá dễ đoán
1234 -- quá dễ đoán
abc123 -- quá dễ đoán
minh -- tên riêng thông thường
password -- đoán ra dễ dàng, rất thường dùng
p@$$\/\/0rd -- leet và mật mã bằng ký tự đơn giản đều đã được lập trình trước trong các công cụ bẻ khóa
rover -- tên thú nuôi thông thường, cũng là một từ trong từ điển
12/3/75 -- ngày tháng, có thể quan trọng đối với cá nhân đó
December12 -- Sử dụng ngày bắt buộc phải đổi mật khẩu là rất phổ biến
nbusr123 -- có thể là một tên người dùng, và nếu vậy, cực kỳ dễ đoán
asdf -- chuỗi ký tự kế nhau trong nhiều loại bàn phím
qwerty -- một chuỗi ký tự kế nhau trong nhiều loại bàn phím
aaaa -- ký tự lặp đi lặp lại, dễ đoán ra
Tham khảo thêm:
http://vi.wikipedia.org/wiki/%C4%90%E1%BB%99_m%E1%BA%A1nh_c%E1%BB%A7a_m%E1%BA%A Dt_kh%E1%BA%A9u
http://www.thebitmill.com/articles/password_length.html
Ngồi dịch mệt quá :D