Mật khẩu (đôi khi được gọi là mật mã) đã được con người phát minh và sử dụng trong hàng nghìn năm như một phương tiện nhận dạng cá nhân giữa người với người. Và trong thời đại kỹ thuật số, nó là một chuỗi ký tự được sử dụng để xác nhận danh tính của (tài khoản) người dùng.
Mật khẩu trong bối cảnh công nghệ thông tin đã xuất hiện vào những năm 1960 với máy tính lớn (mainframe computer) - vận hành tập trung với “thiết bị đầu cuối” từ xa để người dùng truy cập. Giờ đây, chúng được sử dụng cho mọi thứ, từ mã PIN chúng ta nhập tại cây ATM, đến tài khoản đăng nhập vào máy tính cũng như website, phần mềm khác nhau.
Nhưng tại sao chúng ta cần “chứng minh” danh tính của mình với các hệ thống mà chúng ta truy cập? Và tại sao đặt mật khẩu đủ mạnh không phải là công việc đơn giản?
Điều gì tạo nên một mật khẩu tốt?
Từ trước đến nay, chúng ta thường có quan niệm rằng mật khẩu tốt có thể là một từ hoặc cụm từ có ít nhất sáu đến tám ký tự. Nhưng với sự phát triển nhanh chóng của lĩnh vực công nghệ thông tin, độ dài tối thiểu của mật khẩu cũng cần phải được quy định lại.
Khi nói về mật khẩu, cần phải chú ý tới một thuật ngữ là “entropy”. Entropy về cơ bản là thước đo khả năng dự đoán. Các phép toán dạng này không phức tạp, chẳng hạn như trong trường hợp tính toán số lượng mật khẩu có thể có trên một tập hợp ký tự cụ thể (password space - không gian mật khẩu). Ví dụ, nếu mật khẩu của bạn chỉ có duy nhất một ký tự là chữ cái viết thường, thì sẽ chỉ có 26 mật khẩu khả thi (“a” đến “z”), tương đương với 26 phép đoán khả thi. Còn nếu tính cả chữ cái viết hoa, số lượng mật khẩu khả thi sẽ tăng lên 52. Không gian mật khẩu sẽ tiếp tục mở rộng khi số lượng ký tự được tăng lên và các loại ký tự khác được thêm vào.
Nhìn vào bảng số liệu trên, có thể dễ dàng hiểu tại sao chúng ta được khuyến khích sử dụng mật khẩu dài với sự tổng hòa của các chữ cái (cả viết hoa và viết thường) số, ký hiệu. Mật khẩu càng phức tạp thì càng cần nhiều nỗ lực để đoán, hay nói các khác là không gian mật khẩu càng lớn.
Tuy nhiên, vấn đề nằm ở chỗ sự phát triển của lĩnh vực công nghệ đã tạo ra những hệ thống máy tính có hiệu suất cao trong việc lặp lại các tác vụ, bao gồm cả đoán mật khẩu.
Năm 2019, kỷ lục đã được thiết lập cho một hệ thống máy tính với khả năng đưa ra 100.000.000.000 (100 tỷ) lượt đoán dự đoán mật khâu khả thi mỗi giây. Bằng cách tận dụng sức mạnh tính toán này, tội phạm mạng có thể xâm nhập vào các hệ thống bằng cách đưa ra nhiều tổ hợp mật khẩu dự đoán nhất có thể, trong một quá trình gọi là tấn công brute-force. Ngoài ra với sự phát triển của công nghệ đám mây, việc đoán một mật khẩu gồm 8 ký tự có thể đạt được trong vòng 12 phút và tốn một khoản chi phí chỉ rơi vào khoảng 25 USD.
Mật khẩu hầu như luôn được sử dụng để cấp quyền truy cập vào dữ liệu nhạy cảm hoặc các hệ thống quan trọng, điều này thúc đẩy tội phạm mạng tích cực tìm cách để có được chúng, đồng thời hình thành nên một thị trường trực tuyến bán mật khẩu thu lời trái phép. Đặc biệt, một số mật khẩu còn đi kèm với địa chỉ email và/hoặc tên người dùng.
Mật khẩu được lưu trữ trên các trang web như thế nào?
Mật khẩu đăng nhập trên các trang web thường được bảo vệ bằng cách sử dụng một thuật toán toán học gọi là hàm băm. Mật khẩu băm không thể nhận dạng được và cũng không thể bị đảo ngược. Khi bạn cố gắng đăng nhập, mật khẩu bạn nhập được băm bằng quy trình tương tự và so sánh với phiên bản được lưu trữ trên trang web. Quá trình này lặp lại mỗi khi bạn đăng nhập. Ví dụ: mật khẩu “Pa$$w0rd” cung cấp giá trị:
02726d40f378e716981c4321d60ba3a325ed6a4c
khi được tính bằng thuật toán băm SHA1.
Khi đối mặt với một tệp chứa đầy mật khẩu băm, hacker có thể sử dụng một cuộc tấn công brute-force, thử mọi tổ hợp ký tự cho một loạt độ dài mật khẩu khác nhau. Điều này đã trở thành một thực tế phổ biến đến nỗi có những trang web liệt kê các mật khẩu phổ biến cùng với giá trị băm (được tính toán) của chúng. Bạn chỉ cần tìm kiếm hàm băm để tiết lộ mật khẩu tương ứng.
Việc đánh cắp và bán danh sách mật khẩu lưu trữ bởi một website hoặc phần mềm hiện đã quá phổ biến. Thậm chí còn có một trang web chuyên dụng có tên hasibeenpwned.com được tạo ra để giúp người dùng kiểm tra xem tài khoản của họ có đang ở trạng thái “hoang dã” hay không. Website này hiện gồm hơn 10 tỷ chi tiết tài khoản.
Nếu địa chỉ email của bạn được liệt kê trên hasibeenpwned.com, bạn chắc chắn nên thay đổi mật khẩu cho tài khoản đó, cũng như trên bất kỳ trang web nào khác mà bạn sử dụng cùng thông tin đăng nhập này.
Đặt mật khẩu phức tạp hơn có phải là giải pháp?
Có một thực tế đáng buồn là ý thức đặt mật khẩu của người dùng không có sự thay đổi lớn trong nhiều năm qua. Thống kê hàng năm của SplashData đã cho thấy rất ít thay đổi về độ phức tạp của mật khẩu trong 5 năm qua.
Suy cho cùng, giải pháp để bảo đảm an toàn tốt nhất vẫn là đặt mật khẩu thật phức tạp. Nhưng là con người, chúng ta không có đủ khả năng để ghi nhớ cùng lúc nhiều mật khẩu có độ phức tạp cao. Tin tốt là có những công cụ được sinh ra để giải quyết những vấn đề này. Hầu hết các máy tính hiện nay đều hỗ trợ lưu trữ mật khẩu trong hệ điều hành hoặc trình duyệt web, và thường có tùy chọn chia sẻ thông tin được lưu trữ trên nhiều thiết bị.
Ngoài ra, các trình quản lý mật khẩu cũng là công cụ hữu ích giúp bạn tạo mật khẩu dài, phức tạp và lưu trữ chúng ở một vị trí an toàn khi cần thiết.
Tất nhiên cũng có những lỗ hổng trong các giải pháp này, nhưng có lẽ đó là câu chuyện của ngày sau. Hãy đặt mật khẩu thật phức tạp để tự bảo vệ mình.