
Tính an toàn của mật khẩu

Bảo đảm tính an toàn của mật khẩu bằng chương trình bẻ mật khẩu
Nhiều người cho rằng các chương trình bẻ mật khẩu chỉ có thể được sử dụng
bởi hacker hay vào các mục đích phạm pháp. Không phải như vậy. Chúng có
thể được dùng để bảo đảm rằng người dùng đã đặt các mật khẩu tốt
Mật khẩu - nền móng của bảo mật máy tính
Mật khẩu an toàn, chắc chắn là nền tảng của một chiến lược bảo mật hiệu
quả. Mật khẩu đảm bảo tính truy cập hợp lệ của người dùng vào một hệ thống
hay mạng làm việc. Đáng tiếc điều này không phải bao giờ cũng đúng. Mật
khẩu thường do người sử dụng máy tính tự đặt.
Các từ, ký hiệu hay ngày tháng để đặt mật khẩu thường có liên hệ đến thông
tin cá nhân của người đặt để dễ nhớ. Vấn đề là ở đây. Nhiều người dùng đặt
sự tiện lợi lên trên tính an toàn, kết quả là họ chọn các mật khẩu khá đơn
giản. Điều này có thể giúp họ dễ nhớ khi đăng nhập nhưng cũng vì thế các
hacker cũng dễ bẻ mật khẩu của họ hơn. Hacker luôn dò tìm các mắt xích yếu
của hệ thống mạng để thâm nhập và rõ ràng cách đơn giản và dễ nhất là tìm
một mật khẩu dễ đoán. Tuyến phòng thủ bảo mật đầu tiên vì thế trở thành

một trong những mắt xích yếu nhất.
Người quản trị hệ thống có trách nhiệm phải đảm bảo mọi người dùng lưu
tâm đến sự cần thiết và duy trì các mật khẩu an toàn. Có hai yêu cầu được đặt
ra ở đây: Thứ nhất, hướng dẫn người dùng về tầm quan trọng của mật khẩu
và cách để đặt mật khẩu an toàn; thứ hai, có cách đánh giá để bảo đảm mật
khẩu người dùng đặt là hiệu quả. Để đáp ứng yêu cầu thứ hai, bắt buộc người
quản trị hệ thống phải “nhanh chân” phát hiện các mật khẩu lỏng lẻo trước
khi hacker phát hiện ra. Để làm được điều này, người quản trị có thể dùng
cùng các công cụ mà hacker thường sử dụng: chương trình bẻ mật khẩu
(password-cracker).
Các kiểu bẻ mật khẩu
Dùng từ điển (word-lists): Như tên gọi, một chương trình bẻ mật khẩu là một
công cụ dùng để “bẻ” (crack) hay tìm ra một mật khẩu. Các chương trình bẻ
mật khẩu dùng nhiều cách khác nhau để thực hiện điều này. Một số các trình
bẻ mật khẩu sử dụng “từ điển”, là một danh sách các từ, đoạn văn hay kết
hợp các mẫu tự, chữ số và ký hiệu mà người dùng thường sử dụng để đặt mật
khẩu. Chương trình sẽ thử lần lượt từng từ với tốc độ cao cho đến khi tìm

thấy từ hay tập ký hiệu trùng với mật khẩu. Trên lý thuyết, nếu thử đủ một số
tổ hợp và hoán vị, đến cuối cùng sẽ tìm ra đúng chuỗi các ký tự đã tạo nên
mật khẩu. Nếu mật khẩu trùng với một mục trong “từ điển”, xem như nó đã
bị bẻ.
Một khi mật khẩu đã bị bẻ, hacker có thể giả mạo tư cách người dùng hợp
pháp và có thể truy cập vào bất kỳ dữ liệu nào người dùng đó được phép.
Nguy hiểm hơn, hacker có thể “leo thang tấn công” theo cách này để chiếm
quyền điều khiển toàn bộ hệ thống mạng. Mật khẩu được lưu ở dạng mã hóa
để không thể “thấy được” một cách dễ dàng. Đối phó với rào cản này,
chương trình bẻ mật khẩu sử dụng cùng một giải thuật mã hóa dùng để mã
hóa mật khẩu, sau đó duyệt qua “từ điển” để so sánh và tìm ra sự trùng khớp.
Thử hàng loạt (Brute-Forcing): Trong khi phương pháp “từ điển” dựa trên tốc
độ và mẹo sắp xếp các từ một cách khôn ngoan, phương pháp bẻ mật khẩu
thứ hai lại dựa hoàn toàn trên năng lực tính toán và sự lặp lại được gọi là “thử
hàng loạt” (brute forcing). Thử hàng loạt là dạng bẻ mật khẩu chỉ đơn giản
dựa trên so sánh mọi khả năng tổ hợp và hoán vị có thể có của các ký tự sẵn
có cho đến khi tìm thấy trùng khớp với mật khẩu. Phương pháp này rất mạnh

và chắc chắn cuối cùng sẽ bẻ được mọi mật khẩu, tuy nhiên tốc độ thực hiện
cực kỳ chậm do phải thử tất cả mọi tổ hợp ký tự có thể có. Ví dụ, chỉ với một
mật khẩu 3 ký tự, quá trình thử sẽ phải trải qua các tổ hợp: aaa, aab, aac...
aaA, aaB, aaC... aa0, aa1, aa2, aa3... aba, aca, ada... Mỗi tổ hợp được qua một
giải thuật mã hóa thích hợp và so sánh với mật khẩu đã lưu cho đến khi tìm ra
sự trùng khớp.
Có thể thấy, phương pháp “thử hàng loạt” khá chậm và kém hơn so với sử
dụng “từ điển”. Tuy nhiên, sự triệt để phương pháp này có thể bù đắp cho sự
hạn chế về tốc độ. “Thử hàng loạt” vẫn mang lại hiệu quả do tìm hết mọi tổ
hợp và hóa vị của ký tự, kể cả những tổ hợp vô nghĩa nằm ngoài khả năng
đoán nhận của phương pháp “từ điển”. Nói cách khác, các chương trình bẻ
mật khẩu loại này chỉ so sánh mật khẩu với tổ hợp của các ký tự và ký hiệu
đã biết.
Kết hợp giữa “thử hàng loạt” và “từ điển” (Brute-Force and Wordlist
Hybrids): Một số chương trình bẻ mật khẩu, như l0pht password crack, sử
dụng phương pháp kết hợp giữa hai kỹ thuật trên. Các chương trình này kết
hợp các điểm tốt nhất của cả hai phương pháp và cho hiệu quả khá cao.