Đôi nét về lịch sử phát triển của mật khẩu
Trong thế kỷ 20, cùng với sự ra đời của máy tính là sự phát triển của các công nghệ như điện thoại, Internet.… Nhờ những phát minh này mà cuộc sống của loài người trở nên thuận tiện và thoải mái hơn. Tuy nhiên, mặt trái của những công nghệ này là sự tiềm ẩn không ít các nguy cơ mất an toàn thông tin. Một trong những vấn đề phổ biến nhất của Internet là lộ, lọt thông tin cá nhân. Để phòng tránh việc lộ, lọt thông tin, một giải pháp mà người dùng sử dụng nhiều nhất hiện nay là đặt mật khẩu cho máy tính, tài khoản ngân hàng.…
Mật khẩu thường là một xâu, chuỗi, loạt các ký tự mà các dịch vụ Internet, phần mềm, hệ thống máy tính hay các thiết bị... yêu cầu người dùng nhập vào bằng bàn phím trước khi có thể tiếp tục sử dụng một số tính năng nhất định. Công nghệ đảm bảo an toàn bằng mật khẩu xuất hiện gần như cùng lúc với máy tính. Ban đầu, phương pháp này chỉ yêu cầu người dùng nhập các chuỗi ký tự được lưu trữ trước đó, nếu nhập chính xác thì hệ thống sẽ chấp nhận truy cập. Đến năm 1960, công nghệ đảm bảo an toàn bằng mật khẩu đã được cải tiến, hoàn thiện hơn trước và tiếp tục được phát triển, sử dụng cho đến ngày nay. Dạng mật khẩu sau khi được cải tiến có tên gọi là Alpha – Numeric Password (kết hợp cả ký tự alphabet và chữ số).
Vào năm 1979, hai nhà nghiên cứu người Mỹ là Morris và Thompson đã thực hiện một nghiên cứu, trong đó thu thập và phân tích 3.289 mật khẩu do người dùng tạo ra. Họ chia chúng thành nhiều loại dựa trên độ dài, thành phần và nhận thấy rằng 2.831 mật khẩu có thể được phục hồi trong vài ngày (chiếm tỷ lệ lên tới 86,07%). Đến năm 1999, hai nhà nghiên cứu Zviran và Haga đã chỉ ra rằng, 50% mật khẩu do người dùng tạo ra chỉ bao gồm tối đa 5 ký tự và 80% mật khẩu chỉ gồm toàn ký tự hoặc toàn chữ số.
Một nghiên cứu lớn về mật khẩu lần đầu được thực hiện vào năm 2007 bởi hai nhà nghiên cứu Florencio và Herley. Họ đã thu thập 500.000 mật khẩu do người dùng tạo ra. Kết quả nghiên cứu cho thấy, độ dài trung bình của mật khẩu đã tăng lên 6 ký tự. Tuy nhiên, phần lớn người dùng vẫn tạo mật khẩu chỉ bao gồm các ký tự chữ thường. Đến năm 2016, nghiên cứu của Shen và các đồng nghiệp đã công bố độ dài của mật khẩu đã là 9,46 ký tự và người dùng có xu hướng chọn các ký tự ngẫu nhiên thường xuyên hơn.
Ngày nay, mật khẩu được lưu dưới dạng hàm băm, nên độ an toàn của mật khẩu phụ thuộc vào việc kẻ tấn công mất bao nhiêu thời gian để khôi phục mật khẩu ban đầu từ giá trị hàm băm thu được trong quá trình tấn công. Trong một nghiên cứu gần đây, nhà nghiên cứu Qui đã sử dụng hệ thống gồm 8 GPU nVidia GeForce GTX 1080 Ti để thử nghiệm khôi phục mật khẩu từ hàm băm bcrypt và GPU AMD HD7970 với hàm băm SHA-1. Kết quả thử nghiệm được công bố như sau:
Thời gian khôi phục mật khẩu hai thuật toán băm SHA-1 chạy trên GPU AMD HD7970 và bcrypt sử dụng hệ thống 8 GPU nVidia GTX 1080 Ti
Như vậy, một mật khẩu với độ dài 8 ký tự có thể khôi phục được trong thời gian gần 1 ngày (23 giờ 12 phút). Có thể thấy rằng, để tạo ra và ghi nhớ một mật khẩu với độ dài 8 ký tự bao gồm chữ hoa, chữ thường và chữ số là vấn đề khó khăn với đa số người dùng. Vì vậy, người dùng cần cân nhắc giữa việc sử dụng mật khẩu văn bản và các phương thức xác thực khác như:
- Sử dụng mật khẩu đồ thị: giúp người dùng dễ ghi nhớ vì tính trực quan của chúng.
- Sử dụng mã xác thực bổ sung: cho phép tăng độ an toàn, tuy nhiên có thể gây bất tiện cho người dùng.
- Sử dụng sinh trắc học: dễ sử dụng đối với người dùng, không yêu cầu ghi nhớ hoặc cần mã xác thực bổ sung. Tuy nhiên, phương pháp này có độ chính xác thấp, chi phí cao, khi sử dụng cần đảm bảo an toàn tuyệt đối cho cơ sở dữ liệu đặc điểm sinh trắc học của người dùng.
Đặng Bảo
Đinh Văn Hùng, Lê Thị Bích Hằng