Passkey là gì: đăng nhập không cần mật khẩu, và có nên thêm vào web của bạn không

Mật khẩu mạnh cũng vô dụng khi bạn nhập nó vào trang giả. Passkey chặn đúng chỗ đó. Cách hoạt động bằng lời thường, cách bật trên Google và Apple, mất điện thoại thì sao, và khi nào chủ web nên thêm.

Phát LâmĐăng 7 phút đọcCơ bản
Passkey là gì: đăng nhập không cần mật khẩu, và có nên thêm vào web của bạn không
Mục lục
  1. Passkey là gì
  2. An toàn hơn ở chỗ nào
  3. Mất điện thoại thì sao
  4. Làm thế nào để bật trên tài khoản của bạn
  5. Chủ website có nên thêm passkey không
  6. Cho bạn nào viết code
  7. Lỗi hay gặp
  8. Nên làm gì tiếp

Một buổi sáng, chủ shop nhận được email "Tài khoản của bạn vừa đăng nhập từ nước khác". Mật khẩu thì không ai đoán được, vì chính chủ shop đặt nó dài và lạ. Nhưng hôm trước chủ shop có bấm vào một đường link trong tin nhắn giả danh ngân hàng, gõ mật khẩu vào một trang trông y hệt trang thật. Mật khẩu mạnh đến mấy cũng vô dụng khi chính mình đưa nó cho kẻ lừa.

Passkey sinh ra để gỡ đúng chỗ khó này. Bài này giải thích nó là gì bằng lời thường, cách bật trên tài khoản bạn đang dùng, và nếu bạn có website thì có nên thêm không.

Passkey là gì

Mật khẩu giống một câu bí mật. Bạn nhớ nó, gõ nó, và ai nghe được câu đó cũng dùng được.

Passkey thì giống một chiếc chìa khoá riêng cho từng cửa. Chiếc chìa nằm trong điện thoại hoặc máy tính của bạn, và chỉ mở ra khi bạn xác nhận là mình bằng vân tay, khuôn mặt hoặc mã khoá màn hình. Bạn không nhớ gì, cũng không gõ gì. Theo FIDO Alliance (tổ chức đặt ra chuẩn này), passkey có thể nằm trên điện thoại, máy tính hoặc một thiết bị khoá bảo mật chuyên dụng.

Bên dưới, passkey là một cặp khoá (key pair). Một nửa là khoá riêng, ở lại trong thiết bị của bạn, không bao giờ gửi đi. Nửa kia là khoá công khai, đưa cho website. Khi đăng nhập, website gửi một câu đố ngẫu nhiên, thiết bị của bạn ký vào câu đố bằng khoá riêng rồi gửi lại. Website kiểm chữ ký bằng khoá công khai là biết đúng bạn. Khoá công khai có lộ ra cũng vô dụng với kẻ gian, giống như ổ khoá bị người lạ nhìn thấy nhưng không có chìa.

Hai cách mở cửa: gõ mật khẩu có thể bị lừa nhập vào cửa giả, còn chìa khoá riêng chỉ mở đúng cửa thật
Mật khẩu có thể bị lừa nhập vào trang giả, passkey chỉ mở đúng trang thật.

An toàn hơn ở chỗ nào

Điểm mạnh nhất là chống lừa đảo (phishing). Trình duyệt và hệ điều hành chỉ cho passkey dùng với đúng website mà nó được tạo ra. Trang giả có giống đến đâu thì passkey cũng không chịu mở, vì địa chỉ không khớp. Bạn không phải tự tỉnh táo để nhìn ra trang giả nữa, máy làm việc đó thay bạn. Đây là điều tài liệu của passkeys.dev nhấn mạnh.

Điểm thứ hai: máy chủ không giữ bí mật nào để bị trộm. Khi một website bị lộ dữ liệu, kẻ trộm lấy được toàn khoá công khai, thứ không dùng để đăng nhập được. Với mật khẩu thì khác, chỉ cần lộ là phải đổi.

Điểm thứ ba: mỗi website một passkey riêng, nên không có chuyện dùng chung một mật khẩu cho nhiều nơi rồi một nơi lộ kéo theo các nơi khác.

Cặp khoá: khoá riêng ở lại thiết bị sau lớp vân tay, máy chủ chỉ giữ khoá công khai và gửi câu đố cần ký
Khoá riêng không rời thiết bị, website chỉ giữ khoá công khai.

Mất điện thoại thì sao

Câu hỏi này đáng hỏi, và câu trả lời phụ thuộc vào loại passkey. Có hai loại. Loại đồng bộ được lưu qua dịch vụ của hệ điều hành (ví dụ iCloud Keychain của Apple hay trình quản lý mật khẩu của Google) và xuất hiện trên mọi thiết bị cùng tài khoản. Apple cho biết passkey trong iCloud Keychain được mã hoá đầu cuối, nên chính Apple cũng không đọc được. Loại gắn với một thiết bị chỉ ở lại đúng thiết bị đó, như khoá bảo mật USB.

Với người dùng bình thường, loại đồng bộ tiện nhất: mua điện thoại mới, đăng nhập tài khoản cũ, passkey theo về. Nên có thêm một đường dự phòng, ví dụ một khoá bảo mật cất ở nhà hoặc phương thức khôi phục tài khoản đã cài sẵn.

Một passkey đồng bộ qua kho mã hoá sang điện thoại, laptop, máy tính bảng, kèm khoá USB làm dự phòng
Passkey đồng bộ giữa các thiết bị; nên có thêm một đường dự phòng.

Làm thế nào để bật trên tài khoản của bạn

Google. Vào myaccount.google.com/signinoptions/passkeys, bấm "Create a passkey" (Tạo khoá truy cập) và mở khoá thiết bị khi được hỏi. Làm lại trên từng thiết bị bạn hay dùng. Theo trang hướng dẫn của Google (kiểm ngày 21/10/2026), bạn cần điện thoại Android 9 trở lên hoặc iOS 16 trở lên, máy tính Windows 10, macOS Ventura hoặc ChromeOS 109 trở lên, và trình duyệt Chrome 109, Safari 16, Edge 109 hoặc Firefox 122 trở lên. Hãy bật khoá màn hình trước. Chỉ tạo passkey trên thiết bị của chính bạn, không tạo trên máy dùng chung. Google nói rõ passkey không thay thế các cách khôi phục tài khoản sẵn có.

Apple. Passkey đồng bộ qua iCloud Keychain, nên bật iCloud Keychain trong cài đặt tài khoản Apple. Khi một website hay ứng dụng hỏi "Lưu passkey?", bạn đồng ý và xác nhận bằng Face ID hoặc Touch ID. Lần sau chỉ cần chạm xác nhận.

Ngân hàng và ví điện tử. Mỗi nơi làm một kiểu, và nhiều nơi dùng cách xác thực riêng trong ứng dụng thay vì passkey đúng chuẩn. Mình không có danh sách nào kiểm chứng được nên không khẳng định ngân hàng nào hỗ trợ. Cách nhanh nhất: mở ứng dụng, vào mục Bảo mật hoặc Đăng nhập, tìm chữ "passkey" hay "khoá truy cập". Không thấy thì hỏi tổng đài. Với tài khoản tiền, dù có passkey, bạn vẫn nên giữ lớp xác nhận giao dịch của ngân hàng.

Chủ website có nên thêm passkey không

Nếu web của bạn chỉ có phần giới thiệu, không có tài khoản khách, thì không cần. Nếu khách phải đăng nhập (mua hàng, xem đơn, quản trị), passkey giúp giảm hai thứ rắc rối: khách quên mật khẩu, và tài khoản bị đánh cắp do mật khẩu bị lộ ở nơi khác. FIDO Alliance nêu lợi ích như đăng nhập nhanh hơn, ít yêu cầu đặt lại mật khẩu, ít gian lận. Các con số cụ thể trên trang của họ đến từ từng doanh nghiệp tự báo cáo và không ghi ngày, nên mình không trích ra đây.

Nên làm theo thứ tự này:

  1. Giữ cách đăng nhập hiện tại, thêm passkey như lựa chọn bổ sung. passkeys.dev cũng hướng dẫn cho các site đang dùng mật khẩu hoặc mật khẩu cộng mã một lần.
  2. Nếu web dùng WordPress hay nền tảng có sẵn, tìm xem hệ thống đăng nhập (hoặc dịch vụ đăng nhập bên thứ ba bạn đang dùng) đã hỗ trợ passkey chưa. Dùng cái có sẵn an toàn hơn tự viết.
  3. Nếu web là code riêng, nhờ dev làm theo hướng dẫn của web.dev và dùng thư viện phía máy chủ, không tự viết phần kiểm chữ ký.

Những việc web.dev dặn khi cho khách đăng ký passkey: xác minh khách bằng email, điện thoại hoặc đăng nhập liên kết trước khi cho tạo (đừng chỉ dựa vào mật khẩu), ngăn tạo trùng, và gửi email báo cho khách mỗi khi có passkey mới để họ phát hiện nếu không phải mình làm.

Cho bạn nào viết code

Phía trình duyệt chỉ cần hai lời gọi: navigator.credentials.create() khi đăng ký và navigator.credentials.get() khi đăng nhập. Phần khó nằm ở máy chủ: tạo câu đố ngẫu nhiên dùng một lần, kiểm chữ ký, lưu khoá công khai, mã khoá, thời điểm tạo. web.dev gợi ý lưu cả mã nhận dạng loại thiết bị (AAGUID) để biết người dùng đang dùng trình quản lý passkey nào. Bài này không kèm code chạy thử, vì phần đáng tin cậy là thư viện đã được cộng đồng kiểm, bạn chọn thư viện hợp ngôn ngữ của dự án.

Lỗi hay gặp

Lỗi đầu tiên là gỡ hẳn mật khẩu quá sớm. Có khách dùng máy cũ hoặc trình duyệt cũ chưa hỗ trợ, và họ sẽ không vào được web của bạn. Cứ giữ lối cũ song song một thời gian.

Lỗi thứ hai là quên đường khôi phục. Khách đổi điện thoại, mất cả máy cũ, và không còn cách nào chứng minh mình là ai. Hãy quyết định trước: khôi phục qua email đã xác minh hay qua mã dự phòng, và ghi rõ cho khách biết.

Lỗi thứ ba là khoe "không cần mật khẩu" nhưng đường khôi phục lại chỉ là một câu hỏi bí mật dễ đoán. Kẻ gian sẽ đi đường yếu nhất.

Nên làm gì tiếp

Hôm nay, bạn tự bật passkey cho tài khoản Google và Apple của mình, mất khoảng năm phút. Sau đó thử đăng nhập một lần để quen. Nếu bạn có website cần cho khách đăng nhập và muốn thêm passkey, hoặc muốn mình xem hệ thống đăng nhập hiện tại có điểm yếu nào không, cứ nhắn mình. Muốn kiểm tra tổng thể trước thì có bài Tự kiểm tra bảo mật website với OWASP Top 10 (2025).

Bảo mật full-stackWeb hardeningpasskeywebauthnfidoauthenticationphishing

Nguồn tham khảo

  1. FIDO Alliance - Passkeys
  2. passkeys.dev - What are passkeys
  3. web.dev - Passkey registration
  4. Apple Developer - Passkeys
  5. Google Account Help - Sign in with a passkey