Nhật ký của Minh, lớp 7A trường THCS Ánh Dương. Một đêm tài khoản của mình tự gửi tin nhắn lúc 2 giờ sáng — trong khi mình đang ngủ say. Cuốn này là chuyện mình đi tìm ra vì sao, với sự trợ giúp của thầy Huy ở phòng Tin.
Hôm nay lạ lắm. Và không phải kiểu lạ hay ho đâu.
Tối nay mình mở nhóm chat của lớp lên như mọi khi, định xem có ai gửi bài tập không. Nhưng có một tin nhắn làm mình đứng hình mất mấy giây.
Tin nhắn đó gửi từ tài khoản của chính mình. Lúc 2 giờ sáng. Mà lúc đó mình đang ngủ say, làm gì có mở điện thoại lên mà nhắn tin.
Cả lớp tưởng thật, vào bình luận rần rần. Có bạn còn nhắn riêng hỏi giá. Mình phải giải thích cả buổi tối là không phải mình gửi cái đó. Xấu hổ chết mất.
Nhưng cái làm mình khó chịu nhất không phải là xấu hổ. Mà là câu hỏi cứ lởn vởn trong đầu: nếu không phải mình gõ, thì ai đã vào được tài khoản của mình?
Mình đem chuyện tối qua kể cho thầy Huy nghe, ở phòng Tin sau giờ CLB Rô-bốt.
Thầy nghe xong, không hỏi “tài khoản của em có bị hack không”, cũng không hỏi “em có cài phần mềm lạ không”. Thầy chỉ hỏi đúng một câu, rất nhẹ nhàng:
Mình... á. Đúng thật. Mình dùng ngày sinh của mình làm mật khẩu, vì dễ nhớ. Mà ngày sinh của mình thì cả lớp đều biết — hôm sinh nhật cả lớp còn hát cho mình nghe, còn viết lên bảng nữa.
Thầy Huy chỉ cười, kiểu cười làm mình hơi ngại:
“Thế thì không phải chỉ mình em biết mật khẩu đó đâu. Có tới ba mươi bạn cùng lớp cũng đoán ra được, chỉ là chưa ai thử thôi.”
Câu đó làm mình nghĩ mãi suốt buổi chiều. Nếu mật khẩu chỉ là một dãy chữ, và ai gõ trúng dãy chữ đó cũng vào được — thì làm sao máy tính biết chắc người đang gõ thật sự là mình, chứ không phải một bạn nào đó tình cờ đoán trúng?
Mình hỏi thẳng thầy Huy câu đó. Thầy bảo: “Câu hỏi hay đấy. Để thầy chỉ cho.”
Thầy Huy vẽ lên bảng trắng phòng Tin một cái ổ khóa. Mọi thứ bắt đầu rõ ra từ đó.
Thầy giải thích: mật khẩu giống hệt một chiếc chìa khóa. Ai đang cầm đúng chìa thì mở được cửa — cánh cửa không hề quan tâm người cầm chìa đó có phải chủ nhà thật hay không, nó chỉ kiểm tra “chìa này có vừa ổ không”.
Chìa càng dễ đoán — ngày sinh, “123456”, tên con vật cưng nhà mình hay khoe khắp nơi — thì cửa nhà mình càng dễ bị người lạ mở ra mà chẳng cần phá gì cả. Họ chỉ cần đoán trúng thôi.
Giả sử em đặt một mật khẩu rất dài, rất khó đoán — nhưng rồi em viết nó ra một tờ giấy và dán ngay cạnh màn hình máy tính cho khỏi quên. Mật khẩu đó còn an toàn không? Vì sao?
Thầy Huy gật gù khi mình tự trả lời được: “Chìa khó đoán tới đâu cũng vô nghĩa, nếu em dán sẵn nó ngay trước cửa cho ai đi qua cũng đọc được.”
Thầy Huy bảo cái chuyện “kiểm tra xem có đúng là em không” — trong máy tính người ta có hẳn một tên riêng cho nó.
Tên đó là xác thực (tiếng Anh gọi là authentication). Nghe hơi dài, nhưng nghĩa của nó rất đơn giản: đó là cách hệ thống trả lời câu hỏi “người đang đứng trước cửa này có đúng là chủ nhà không?”
Và mật khẩu chỉ là một cách để xác thực — không phải cách chắc chắn nhất. Vì như thầy nói, mật khẩu chỉ chứng minh được một điều: người gõ biết đúng dãy chữ đó. Nó không chứng minh được người gõ có phải là em hay không.
Có một cách chắc hơn nhiều, thầy Huy gọi là xác thực hai lớp. Cách hoạt động thế này: sau khi em gõ đúng mật khẩu, hệ thống không mở cửa ngay. Nó gửi thêm một mã số về điện thoại của em — và chỉ mình em mới đang cầm điện thoại đó.
Nghe tới đây mình mới hiểu: xác thực hai lớp không phải để thay mật khẩu. Nó là một lớp gác thứ hai, đứng sau lớp gác đầu tiên, phòng khi lớp đầu bị lộ.
Thầy Huy tóm lại cả buổi nói chuyện bằng một câu, mình chép ngay vào sổ tay.
Nói cách khác, có hai việc phải làm cùng lúc, không việc nào thay được việc kia:
Mật khẩu dài, lạ, không liên quan tới thông tin ai cũng biết như ngày sinh, tên, số điện thoại. Càng ít liên quan tới em ngoài đời, càng khó đoán.
Xác thực hai lớp — để dù mật khẩu lỡ bị lộ, cửa vẫn chưa mở được ngay. Kẻ đoán trúng còn phải vượt thêm một cửa nữa mà chỉ em mới qua được.
Tối nay em thử liệt kê 5 mật khẩu em (hoặc người thân) hay dùng. Rồi tự hỏi từng cái một: có cái nào liên quan tới ngày sinh, tên, số điện thoại không? Cái nào “lộ” nhất — đổi ngay cái đó trước.
Mình về nhà thử làm luôn buổi tối đó. Và... hơi giật mình. Ba trong năm mật khẩu nhà mình toàn liên quan tới ngày sinh hoặc tên ai đó trong nhà.
Đang ngồi nghĩ, mình chợt nhớ ra một chỗ khác cũng làm y hệt vậy — mà mình dùng suốt.
Mỗi lần theo mẹ ra cây ATM rút tiền, mẹ luôn cần hai thứ cùng lúc: cái thẻ ATM nhét vào máy, và mã PIN gõ trên bàn phím. Thiếu một trong hai là máy không nhả tiền.
Mình chạy vào khoe với thầy Huy hôm sau. Thầy cười: “Đúng luôn! Thẻ ATM là thứ em có, mã PIN là thứ em biết. Xác thực hai lớp trên điện thoại cũng y hệt — mật khẩu là thứ em biết, điện thoại nhận mã là thứ em có.”
Té ra nguyên tắc này không phải chỉ có trên mạng. Nó ở ngay cây ATM đầu ngõ nhà mình, chỉ là chưa bao giờ mình để ý gọi tên nó ra.
Thầy Huy đặt ra một câu hỏi giả định làm mình rùng mình một chút.
“Nếu không có mật khẩu, không có xác thực gì cả — chuyện gì sẽ xảy ra?”
Mình nghĩ thử: tài khoản, tin nhắn, bài tập, cả kho ảnh của mình sẽ mở toang cho bất kỳ ai gõ đúng tên mình vào là xem được hết. Chẳng còn ranh giới nào giữa “của mình” và “của người khác” nữa.
Có lần bạn Minh khoe: “Tao vừa nghĩ ra mật khẩu siêu dễ nhớ, là tên con chó nhà tao!” Minh hỏi lại: “Cậu có hay đăng ảnh con chó lên story không?” Bạn gật. Minh bảo: “Vậy mật khẩu đó không còn bí mật với ai cả đâu.”
Sau vụ đó bạn mình đổi mật khẩu ngay hôm sau. Hóa ra chỉ cần một câu hỏi đúng lúc là đủ để nhắc nhau.
Từ hôm đó mình bắt đầu để ý — và ngạc nhiên là mật khẩu/xác thực có ở khắp nơi quanh mình.
Mở khóa điện thoại bằng vân tay — đó cũng là xác thực, chỉ khác là dùng đặc điểm cơ thể thay vì một dãy chữ. Đăng nhập email cũng vậy. Và mình chợt nhận ra: chìa khóa nhà mình cũng là một dạng “mật khẩu vật lý” — chỉ ai cầm đúng hình dạng răng cưa đó mới mở được cửa.
Giả sử em được giao thiết kế hệ thống đăng nhập cho một app học sinh cấp 2 dùng. Em sẽ bắt buộc mật khẩu tối thiểu bao nhiêu ký tự? Và có bắt buộc xác thực hai lớp không? Vì sao em quyết định như vậy?
Mình nghĩ mãi câu đó tối hôm đó. Không có đáp án đúng duy nhất — nhưng lần đầu tiên mình hiểu vì sao mấy app hay bắt “mật khẩu phải có ít nhất 8 ký tự, có chữ hoa, có số” — không phải để làm khó mình, mà để làm khó người đoán trộm.
Trước khi viết tiếp trang cuối, mình tự kiểm tra lại xem mình đã hiểu đúng chưa.
Bấm vào câu trả lời em nghĩ đúng nhất. Đọc kỹ ở các chặng trước là trả lời được ngay.
1. Vì sao “đoán trúng mật khẩu” và “là đúng chủ tài khoản” không phải lúc nào cũng là một chuyện?
2. Xác thực hai lớp giải quyết đúng vấn đề gì mà một mật khẩu, dù rất khó đoán, không tự giải quyết được?
3. Vân tay có phải một “mật khẩu” không thể bị đánh cắp không?
Không cần đúng, không cần đủ ý — chỉ cần là điều em thật sự còn thắc mắc.
Chưa có câu hỏi nào được lưu. Câu đầu tiên em nghĩ ra thường là câu đáng hỏi nhất.
Cuộn nốt xuống dưới nhé — sắp xong trang này rồi!
Đây là câu mình chép cuối sổ tay, để lỡ quên hết mọi thứ khác thì vẫn còn câu này.
Thứ Năm Mình đổi mật khẩu rồi. Không còn liên quan gì tới ngày sinh nữa — dài hơn, lạ hơn, chẳng ai đoán ra được trừ khi có siêu năng lực đọc suy nghĩ.
Mình cũng bật luôn xác thực hai lớp thầy Huy chỉ, gắn với điện thoại của mình. Giờ thì... ai mà đoán được ngày sinh của mình nữa cũng chịu thua, vì vẫn còn phải qua được cửa thứ hai.
Tối nay đóng sổ tay lại, mình thấy nhẹ hẳn người. Không phải vì tài khoản an toàn tuyệt đối — thầy Huy bảo chẳng có gì an toàn tuyệt đối cả — mà vì lần đầu tiên mình hiểu vì sao nó lại an toàn hơn, chứ không phải chỉ làm theo vì được bảo thế.