2FA là gì?
2FA là viết tắt của two-factor authentication — xác thực hai lớp. Ý tưởng rất đơn giản: mật khẩu thôi thì chưa đủ.
Mật khẩu là thứ bạn biết. Nếu ai đó đoán được, mua được từ một vụ rò rỉ dữ liệu, hoặc lừa bạn nhập vào một trang giả mạo, họ vào được tài khoản của bạn ngay. 2FA thêm một lớp thứ hai: một thứ bạn có — thường là điện thoại hoặc một thiết bị sinh mã.
Kết quả là kẻ tấn công biết mật khẩu của bạn vẫn không đăng nhập được, vì họ không có mã sáu chữ số kia. Đây là biện pháp bảo vệ tài khoản hiệu quả nhất mà bạn có thể bật chỉ trong hai phút.
Mã 2FA là gì và vì sao nó đổi liên tục?
Loại mã 2FA phổ biến nhất gọi là TOTP — mã dùng một lần dựa trên thời gian. Đó là dãy sáu chữ số đổi mới sau mỗi 30 giây.
Cơ chế đằng sau không hề bí ẩn. Khi bạn bật 2FA, dịch vụ đưa cho bạn một khóa bí mật — một chuỗi chữ và số như JBSWY3DPEHPK3PXP. Từ đó, cả bạn và dịch vụ cùng lấy hai thứ giống nhau:
- khóa bí mật đó, và
- thời gian hiện tại, làm tròn theo khối 30 giây
Hai bên đưa hai giá trị này qua cùng một phép toán và ra cùng một kết quả sáu chữ số. Không có gì được gửi qua mạng khi mã được tạo — đó là lý do ứng dụng xác thực vẫn chạy được khi máy bay chế độ offline.
Và cũng vì mã phụ thuộc vào thời gian, đồng hồ trên máy bạn phải chính xác. Đây là nguyên nhân phổ biến nhất khiến một khóa đúng lại sinh ra mã bị từ chối. Nếu mã liên tục sai, hãy kiểm tra cài đặt ngày giờ tự động trước khi nghĩ đến chuyện khác.
Mã OTP và mã 2FA có phải là một?
Hai cách gọi này bị dùng lẫn nhau rất nhiều, và sự nhầm lẫn đó khiến không ít người loay hoay ở bước thiết lập. Phân biệt cho rõ:
- OTP (one-time password — mật khẩu dùng một lần) là tên gọi chung cho mọi loại mã chỉ dùng được một lần. Mã ngân hàng gửi qua SMS là OTP. Mã trong ứng dụng xác thực cũng là OTP.
- TOTP là một loại OTP cụ thể: mã được tính từ thời gian, nên nó tự đổi sau mỗi 30 giây mà không cần ai gửi cho bạn.
- Mã 2FA không phải một dạng mã riêng. Đó chỉ là cách nói về công dụng của mã: nó là lớp xác thực thứ hai sau mật khẩu. Mã 2FA của bạn có thể là OTP qua SMS, hoặc TOTP từ ứng dụng.
Vì sao điều này quan trọng? Vì khi một dịch vụ cho bạn một khóa bí mật Base32 (dạng JBSWY3DPEHPK3PXP), nó đang yêu cầu TOTP. Khóa đó không gửi SMS cho ai cả — bạn phải tự sinh mã từ nó. Đó chính là việc mà công cụ trên trang này làm.
Ngược lại, nếu dịch vụ chỉ gửi mã về số điện thoại và không bao giờ đưa bạn một khóa bí mật, thì không có gì để dán vào đây cả. Bạn chỉ có thể chờ tin nhắn.
Vì sao SMS là lựa chọn 2FA yếu nhất
Nếu được chọn, hãy tránh 2FA qua SMS. Không phải vì nó vô dụng — có vẫn hơn không — mà vì nó yếu hơn hẳn các phương án khác, do ba lý do cụ thể:
- Đổi SIM (SIM swap). Kẻ tấn công thuyết phục nhà mạng chuyển số của bạn sang SIM của chúng. Mọi tin nhắn OTP từ đó về máy chúng. Bạn không nhận được cảnh báo nào ngoài việc điện thoại mất tín hiệu.
- Tin nhắn đi qua mạng của người khác. SMS không được mã hóa đầu cuối. Nó qua nhà mạng, qua các hệ thống trung gian, và mỗi điểm đó là một chỗ có thể rò rỉ.
- Phụ thuộc sóng. Mất sóng, đi nước ngoài, hay đổi số là mất luôn khả năng đăng nhập.
TOTP không có vấn đề nào trong số đó. Mã được tính ngay trên thiết bị từ khóa bí mật, không ai gửi gì cho bạn, nên không có đường truyền nào để chặn và không có nhà mạng nào để lừa.
Cách lấy mã 2FA ngay bây giờ
Nếu bạn đang có khóa bí mật Base32 trong tay và cần mã ngay, bạn không bắt buộc phải cài ứng dụng.
- Mở công cụ tạo mã 2FA.
- Dán khóa bí mật vào ô nhập.
- Mã sáu chữ số hiện ra ngay, kèm vòng đếm ngược cho biết còn bao nhiêu giây.
- Bấm vào mã để sao chép, rồi dán vào chỗ cần đăng nhập.
Toàn bộ phép tính diễn ra ngay trong trình duyệt của bạn. Khóa không được gửi tới máy chủ nào cả — bạn có thể tự kiểm chứng bằng cách mở tab Network trong công cụ dành cho nhà phát triển, hoặc đơn giản là ngắt mạng sau khi trang đã tải xong và thấy công cụ vẫn chạy.
Tìm khóa bí mật ở đâu?
Khi bật 2FA lần đầu, dịch vụ thường hiển thị một mã QR. Gần như lúc nào cũng có một liên kết nhỏ bên cạnh kiểu "không quét được mã?" hoặc "nhập khóa thủ công". Bấm vào đó và bạn sẽ thấy khóa dạng văn bản — chính là chuỗi Base32 cần dùng.
Khóa này chỉ hiện ra một lần duy nhất, lúc thiết lập. Nếu bạn đã bỏ qua và chỉ quét mã QR, không có cách nào lấy lại — bạn phải tắt 2FA rồi bật lại để nhận khóa mới.
Google Authenticator là gì? Có bắt buộc dùng không?
Google Authenticator là một ứng dụng điện thoại tạo mã TOTP. Nó phổ biến vì ra đời sớm, chứ không phải vì nó đặc biệt.
Điều nhiều người không biết: TOTP là một tiêu chuẩn mở, được định nghĩa trong RFC 6238. Bất kỳ công cụ nào tuân theo tiêu chuẩn đó — Google Authenticator, Microsoft Authenticator, Authy, hay công cụ trên trang này — đều cho ra đúng cùng một mã từ cùng một khóa. Không có "mã của Google" hay "mã của Authy" riêng biệt.
Nghĩa là bạn không bị khóa chặt vào một ứng dụng nào. Giữ được khóa bí mật là bạn chuyển đổi thoải mái.
Nên chọn ứng dụng xác thực nào?
Vì mọi ứng dụng tuân theo RFC 6238 đều cho ra cùng một mã, bạn không chọn theo "ứng dụng nào sinh mã đúng hơn". Bạn chọn theo cách nó xử lý chuyện sao lưu — và đây mới là điểm khác biệt thật sự:
- Google Authenticator — nay đã có đồng bộ qua tài khoản Google. Tiện, nhưng nghĩa là khóa của bạn nằm trên máy chủ Google. Nếu mất quyền vào tài khoản Google, bạn mất cả hai lớp cùng lúc.
- Microsoft Authenticator — tương tự, đồng bộ qua tài khoản Microsoft, kèm tính năng duyệt đăng nhập cho tài khoản Microsoft.
- 2FAS, Aegis (Android), Raivo (iOS) — mã nguồn mở, cho bạn tự xuất file sao lưu đã mã hóa và tự quyết định lưu ở đâu. Đây là lựa chọn tốt nhất nếu bạn muốn nắm quyền kiểm soát.
- Trình quản lý mật khẩu (Bitwarden, 1Password…) — gộp mật khẩu và mã 2FA vào một chỗ. Rất tiện, nhưng cũng có nghĩa một lần bị xâm nhập là mất cả hai lớp. Chấp nhận được với tài khoản thường, không nên với tài khoản quan trọng nhất.
Một nguyên tắc đáng giữ: đừng để khóa 2FA nằm chung chỗ với mật khẩu của chính tài khoản đó, nếu tài khoản ấy thực sự quan trọng với bạn.
Bật 2FA trên các tài khoản phổ biến
Đường dẫn cài đặt thay đổi theo thời gian, nhưng chỗ cần tìm thì gần như luôn giống nhau: phần Bảo mật trong cài đặt tài khoản.
- Tài khoản Google — Quản lý tài khoản Google → Bảo mật → Xác minh 2 bước. Chọn "Ứng dụng Authenticator" để lấy khóa thay vì dùng SMS.
- Facebook và Instagram — Cài đặt → Trung tâm tài khoản → Mật khẩu và bảo mật → Xác thực hai yếu tố. Chọn "Ứng dụng xác thực".
- Sàn giao dịch tiền mã hóa (Binance, OKX…) — thường bắt buộc TOTP, và đây đúng là loại tài khoản nên dùng ứng dụng trên thiết bị riêng, không dùng công cụ web.
- Shopee, Lazada, Tiki — phần lớn vẫn dựa vào OTP qua SMS hoặc qua ứng dụng, chưa cho bạn khóa Base32 để tự sinh mã.
- GitHub, GitLab, Discord, Steam — đều hỗ trợ TOTP đầy đủ và đều hiển thị khóa bí mật khi bạn chọn cách nhập thủ công.
Ở mỗi dịch vụ, khi màn hình hiện mã QR, hãy tìm dòng chữ nhỏ kiểu "nhập khóa thủ công" — đó là nơi khóa Base32 xuất hiện.
Khi nào nên dùng công cụ trên web, khi nào thì không
Đây là phần mà phần lớn các trang cùng loại sẽ không nói với bạn.
Dán khóa bí mật vào một trang web — kể cả trang này — đồng nghĩa với việc bạn tin rằng trang đang chạy đúng như người vận hành dự định. Điều đó thường đúng, nhưng không tuyệt đối.
- Với tài khoản ngân hàng, email chính, ví tiền mã hóa hay trình quản lý mật khẩu — hãy dùng khóa bảo mật phần cứng hoặc ứng dụng xác thực trên thiết bị của riêng bạn. Không phải công cụ web nào cả.
- Công cụ web phù hợp với tài khoản dùng chung trong nhóm, môi trường thử nghiệm, tài khoản giá trị thấp, lúc bạn không cầm điện thoại, hoặc để kiểm tra nhanh xem một khóa vừa nhận có hoạt động không.
Chi tiết đầy đủ nằm ở trang bảo mật (tiếng Anh).
Những lỗi thường gặp
Mã luôn bị báo sai. Gần như chắc chắn là đồng hồ thiết bị lệch. Bật đồng bộ thời gian tự động rồi thử lại.
Khóa bị báo không hợp lệ. Base32 chỉ dùng chữ A–Z và số 2–7. Không có số 0, 1, 8 hay 9. Nếu bạn thấy những chữ số đó, nhiều khả năng bạn đang chép nhầm thứ khác.
Mất điện thoại và không vào được tài khoản. Đây là lý do bạn nên lưu mã dự phòng (backup code) ở nơi an toàn ngay khi bật 2FA. Không có chúng, bạn phải đi qua quy trình khôi phục tài khoản, thường rất chậm.
Mã dự phòng: việc cần làm ngay sau khi bật 2FA
Đây là bước bị bỏ qua nhiều nhất, và cũng là nguyên nhân phổ biến nhất khiến người ta mất tài khoản vĩnh viễn.
Khi bật 2FA, gần như mọi dịch vụ đều đưa cho bạn một danh sách mã dự phòng (backup codes) — thường là tám đến mười mã, mỗi mã dùng được một lần. Chúng tồn tại cho đúng một tình huống: bạn không còn thiết bị sinh mã nữa.
Hãy lưu chúng ngay lúc đó, vì sau này không xem lại được. Lưu ở đâu cho hợp lý:
- In ra giấy và để cùng chỗ với giấy tờ quan trọng. Nghe thủ công, nhưng không hỏng, không bị hack, và không cần mật khẩu để đọc.
- Trong trình quản lý mật khẩu, ở một mục riêng — miễn là tài khoản quản lý mật khẩu đó không dùng chính bộ mã này để bảo vệ.
- Đừng chụp ảnh rồi để trong thư viện ảnh đồng bộ lên mây, và đừng gửi cho chính mình qua tin nhắn hay email.
Nếu đã mất thiết bị mà không có mã dự phòng, con đường duy nhất còn lại là quy trình khôi phục tài khoản của dịch vụ: gửi giấy tờ, chờ xét, và trong nhiều trường hợp là không lấy lại được. Mười lăm giây lưu mã dự phòng lúc thiết lập giúp bạn tránh toàn bộ chuyện đó.
Vài điều nhiều người hiểu sai
"Bật 2FA là tài khoản an toàn tuyệt đối." Không. 2FA chặn gần hết các cuộc tấn công bằng mật khẩu bị lộ, nhưng không chặn được việc bạn tự nhập mã vào một trang giả mạo đang chuyển tiếp nó sang trang thật ngay lúc đó. Luôn kiểm tra tên miền trước khi nhập bất cứ mã nào.
"Mã hết hạn sau 30 giây nên phải nhập cực nhanh." Phần lớn dịch vụ chấp nhận cả mã của khoảng thời gian liền trước, nên thực tế bạn có khoảng một phút. Nếu mã vừa đổi trong lúc đang gõ, cứ dùng mã mới.
"Mỗi tài khoản cần một ứng dụng riêng." Một ứng dụng xác thực lưu được không giới hạn khóa, mỗi khóa một dòng. Không cần cài thêm gì.
"Mất điện thoại là mất khóa." Chỉ đúng nếu bạn chưa sao lưu. Khóa bí mật là văn bản — xuất ra được, mã hóa lại được, và dùng lại được trên thiết bị mới.
Bắt đầu ngay
Đã có khóa rồi? Tạo mã 2FA ngay tại đây — miễn phí, không cần đăng ký, và khóa của bạn không bao giờ rời khỏi trình duyệt.