2FA là gì?
Nói ngắn gọn: khi đăng nhập, ngoài mật khẩu bạn còn cần thêm một thứ khác (thường là mã 6 số trên điện thoại) thì mới vào được. Ngay cả khi mật khẩu bị lộ, kẻ tấn công cũng không thể đăng nhập. Bài viết này giải thích nguyên lý, các phương thức và mức độ an toàn của từng loại.
"Hai yếu tố" cụ thể là gì?
Có ba loại "yếu tố" xác thực (bạn chọn 2 trong 3 là tạo thành 2FA):
- Điều bạn biết — mật khẩu, mã PIN.
- Điều bạn có — điện thoại, khóa bảo mật cứng, mã khôi phục.
- Điều bạn là — vân tay, Face ID (thường chỉ dùng để mở khóa thiết bị).
Chỉ có mật khẩu = 1 yếu tố. Mật khẩu + mã 6 số trên điện thoại = 2 yếu tố — đó chính là 2FA.
So sánh các phương thức 2FA phổ biến
| Phương thức | Độ an toàn | Trường hợp dùng |
|---|---|---|
| Khóa bảo mật cứng (YubiKey) | Cao nhất | Email, quản lý mật khẩu, admin GitHub |
| Passkey | Rất cao | Dịch vụ hỗ trợ: Apple, Google, GitHub |
| Ứng dụng xác thực (TOTP) | Cao | Phổ biến nhất — nên dùng làm mặc định |
| Thông báo đẩy | Trung bình | Khi dịch vụ tự hỗ trợ |
| SMS | Thấp | Khi không có lựa chọn nào khác |
Mã TOTP được tạo ra thế nào?
TOTP (Time-based One-Time Password, RFC 6238) là thuật toán đứng sau Google Authenticator, Authy và 2FAA. Nguyên lý đơn giản:
- Khi bật 2FA, dịch vụ cung cấp một khóa bí mật (chuỗi Base32), thường hiển thị qua mã QR.
- Ứng dụng xác thực kết hợp khóa bí mật với thời gian hiện tại để tính ra mã 6 số.
- Mã thay đổi mỗi 30 giây. Dịch vụ dùng cùng thuật toán để xác minh mã bạn nhập có khớp không.
- Khóa bí mật không bao giờ đi qua mạng — không có gì để kẻ trung gian chặn.
Thử 2FA trong 60 giây
2FAA là trình xác thực TOTP miễn phí trên trình duyệt, không cần cài app, không cần đăng ký.
Câu hỏi thường gặp
2FA chính xác là gì?
2FA là viết tắt của Two-Factor Authentication (xác thực hai yếu tố). Khi đăng nhập, ngoài mật khẩu, bạn còn phải cung cấp một yếu tố thứ hai — thường là mã 6 số trên điện thoại. Ngay cả khi mật khẩu bị lộ, kẻ tấn công cũng không thể đăng nhập nếu thiếu yếu tố thứ hai.
2FA và xác thực 2 bước có khác nhau không?
Trong sử dụng thực tế, hai khái niệm này là một. Google gọi là 'Xác thực 2 bước', Discord và GitHub gọi là '2FA', PayPal gọi là 'xác minh 2 bước' — bản chất đều là thêm một lớp bảo vệ ngoài mật khẩu.
Phương thức 2FA nào an toàn nhất?
Từ an toàn nhất đến kém an toàn nhất: Khóa bảo mật cứng (như YubiKey) > Passkey > Ứng dụng xác thực (TOTP) > Thông báo đẩy > SMS. SMS là yếu nhất vì dễ bị tấn công đổi SIM, nhưng có vẫn tốt hơn không.
Có nên bật 2FA cho mọi tài khoản?
Nên bật cho các tài khoản quan trọng: email, ngân hàng, trình quản lý mật khẩu, mạng xã hội, GitHub, Discord, tài khoản game có gắn thanh toán. Tài khoản ít giá trị thì tùy chọn.
2FA có thể bị bẻ khóa không?
SMS 2FA có thể bị tấn công đổi SIM. App 2FA có thể bị lừa qua trang đăng nhập giả mạo (phishing proxy). Khóa cứng và Passkey kiểm tra domain thật nên chống được phishing. 2FA không tuyệt đối nhưng chặn được hầu hết các cuộc tấn công thông thường.