Get your free and exclusive +90-page Banking Passkey Report
Back to Overview

Nhà cung cấp Passkey: loại, AAGUID & triển khai

Tìm hiểu về nhà cung cấp Passkey (first-/third‑party), nhà cung cấp xác thực, AAGUID và cách quản lý passkeys trên Android, iOS và Web.

Vincent Delitz

Vincent

Created: December 17, 2025

Updated: December 18, 2025

passkey-providers

See the original blog version in English here.

PasskeysCheatsheet Icon

Looking for a developer-focused passkey reference? Download our Passkeys Cheat Sheet (incl. WebAuthn ceremonies, objects & Conditional UI). Trusted by dev teams at Ally, Stanford CS & more.

Get Cheat Sheet

1. Giới thiệu#

Khi sử dụng passkey hoặc làm việc trong lĩnh vực triển khai passkey, có một thành phần trở nên khá quan trọng: nhà cung cấp passkey (passkey provider). Tuy nhiên, mặc dù đây là một phần quan trọng trong hệ sinh thái passkey, nhiều người chỉ hiểu sơ qua về các nhà cung cấp passkey hoặc không biết sự khác biệt giữa nhà cung cấp passkey bên thứ nhất (first-party), nhà cung cấp passkey bên thứ ba (third-party)nhà cung cấp xác thực passkey (passkey authentication provider).

PasskeyAssessment Icon

Get a free passkey assessment in 15 minutes.

Book free consultation

Bài viết này nhằm mục đích làm sáng tỏ vấn đề đó. Dù bạn là lập trình viên, giám đốc sản phẩm, hay chỉ đơn giản là tò mò về những công nghệ mới nhất trong bảo mật web, việc hiểu rõ vai trò và các loại nhà cung cấp passkey là điều cần thiết. Bằng cách giải mã chủ đề này, chúng tôi mong muốn cung cấp kiến thức để bạn có thể tự tin hiểu và sử dụng passkey.

2. Nhà cung cấp Passkey là gì?#

Nhà cung cấp passkey đóng vai trò nền tảng trong hệ sinh thái xác thực dựa trên passkey, hoạt động như cầu nối giữa thiết bị của người dùng và quyền truy cập an toàn, liền mạch vào các relying parties (dịch vụ trực tuyến). Nhưng chính xác thì nhà cung cấp passkey là gì, nhất là khi chưa có định nghĩa chính thức và bạn sẽ tìm thấy nhiều cách giải thích khác nhau trên mạng?

Định nghĩa dưới đây phản ánh sự hiểu biết của chúng tôi và không được coi là định nghĩa chính xác duy nhất.

Nhà cung cấp passkey về cơ bản là bất kỳ thực thể nào cho phép tạo, quản lý và sử dụng passkey. Thông qua nghiên cứu, chúng tôi đã xác định hai danh mục chính để phân loại các nhà cung cấp passkey: nhà cung cấp passkey first-party / third-party và nhà cung cấp xác thực passkey.

Slack Icon

Become part of our Passkeys Community for updates & support.

Join

2.1 Nhà cung cấp Passkey Bên thứ nhất & Bên thứ ba (First- & Third-Party)#

Danh mục này bao gồm các thực thể có khả năng tạo passkey ở phía máy khách (client-side) hay ngay trên thiết bị của người dùng. Khi một passkey được tạo thông qua các nền tảng này, nó được quản lý và lưu trữ an toàn, thường là trong đám mây của nhà sản xuất hệ điều hành (ví dụ: iCloud Keychain, Google Password Manager) hoặc trong một trình quản lý mật khẩu bên thứ ba (ví dụ: KeePassXC, 1Password, Dashlane - xem thêm bên dưới).

Các hệ điều hành cho phép tạo và quản lý passkey một cách tự nhiên (natively) được coi là nhà cung cấp passkey bên thứ nhất (first-party passkey providers). Ngược lại, các trình quản lý mật khẩu của bên thứ ba tích hợp với nền tảng thông qua API được gọi là nhà cung cấp passkey bên thứ ba (third-party passkey providers).

Một nhà cung cấp passkey (dù là first-party hay third-party) đều có cùng Mã định danh duy nhất toàn cầu chứng thực trình xác thực (AAGUID), giúp cải thiện trải nghiệm người dùng (ví dụ: trong phần cài đặt tài khoản để phân biệt các passkey dễ dàng hơn). Đôi khi họ có thể sở hữu nhiều AAGUID, tất cả đều thuộc về cùng một nhà cung cấp.

Các nhà cung cấp Passkey trên thiết bị iOS 17.4

Các nhà cung cấp Passkey trên thiết bị Android 14

Credential Manager API của Android

2.2 Nhà cung cấp Xác thực Passkey (Passkey Authentication Providers)#

Danh mục thứ hai bao gồm các nhà cung cấp xác thực mà các lập trình viên có thể tích hợp vào ứng dụng của họ để xử lý mọi khía cạnh của việc quản lý passkey. Vì vậy, đây là những nhà cung cấp làm việc nhiều hơn ở phía máy chủ (server-side) so với phía máy khách (client-side) được đề cập ở trên. Định nghĩa này cũng bao gồm các giải pháp như Corbado, cung cấp giải pháp xác thực tập trung vào passkey cho các trang web và ứng dụng. Do đó, các nhà cung cấp này nên được mô tả chính xác hơn là nhà cung cấp xác thực passkey, để phân biệt với các nhà cung cấp passkey first-party và third-party đã nói ở trên.

Trong các phần tiếp theo của bài viết này, chúng tôi sẽ sử dụng thuật ngữ "nhà cung cấp passkey" để chỉ các nhà cung cấp passkey first-party và third-party, theo định nghĩa của chúng tôi.

3. Xác định Nhà cung cấp Passkey qua AAGUID#

Khi người dùng bắt đầu sử dụng passkey cho nhiều relying parties (RP) khác nhau, việc quản lý chúng hiệu quả nổi lên như một thách thức đáng kể. Điều này cũng đúng đối với những người dùng sử dụng nhiều passkey cho một tài khoản duy nhất, vì việc phân biệt các passkey này để chỉnh sửa hoặc xóa có thể rất phức tạp đối với relying party. Bất chấp sự tiện lợi và bảo mật mà passkey mang lại, vẫn có vấn đề tiềm ẩn nếu người dùng mất một trong các passkey của họ. May mắn thay, họ vẫn có thể truy cập tài khoản của mình trên relying party bằng các passkey thay thế. Để hỗ trợ người dùng xác định các passkey cụ thể, một số nguồn khuyên nên thêm siêu dữ liệu (metadata), chẳng hạn như ngày tạo và lần sử dụng cuối cùng vào passkey trong cài đặt tài khoản. Ngoài ra, bạn nên sử dụng user agent hoặc client hints để tự động đặt tên và phân loại passkey khi tạo. Tuy nhiên, các ứng dụng Android hoặc iOS gốc cũng như các nhà cung cấp passkey bên thứ ba có thể không sử dụng user agent, hoặc họ không thêm thông tin cho biết passkey đã được tạo bởi nhà cung cấp bên thứ ba. Hạn chế này làm nổi bật nhu cầu về các phương pháp cải tiến để giúp người dùng quản lý passkey hiệu quả, bất kể nền tảng hay nhà cung cấp nào.

Trích từ thông số kỹ thuật WebAuthn của W3C

Để tạo điều kiện thuận lợi cho việc quản lý passkey này, các lập trình viên có thể sử dụng Mã định danh duy nhất toàn cầu chứng thực trình xác thực (AAGUID). AAGUID là một mã định danh duy nhất được gán cho model của authenticator (trình xác thực), chứ không phải là một phiên bản cụ thể của nó. Nó được nhúng trong dữ liệu authenticator của thông tin xác thực khóa công khai (public key credential), cung cấp cách để các relying party xác định nhà cung cấp passkey. Khả năng này rất quan trọng trong việc giúp người dùng và relying party điều hướng trong bối cảnh passkey, đảm bảo rằng mỗi passkey có thể được liên kết chính xác với nguồn tạo ra nó.

Ví dụ: nếu một passkey được tạo bằng Google Password Manager trên thiết bị Android, relying party có thể nhận được một AAGUID cụ thể cho Google Password Manager. Bằng cách tham chiếu AAGUID này, relying party sau đó có thể đánh dấu passkey tương ứng, đơn giản hóa việc quản lý và nhận dạng cho người dùng. Hơn nữa, relying party có thể ngăn chặn việc tạo nhiều passkey cho cùng một nhà cung cấp passkey bằng cách sử dụng tùy chọn máy chủ WebAuthn excludeCredentials. Điều này tiếp tục cải thiện trải nghiệm người dùng (UX) vì mỗi nhà cung cấp passkey sẽ chỉ có một passkey, do đó tránh gây nhầm lẫn cho người dùng.

{ "attestation": "none", "authenticatorSelection": { "residentKey": "preferred", "userVerification": "preferred" }, "challenge": "6V61d0VM5bNTPxWSsrv7YKz0o4awe0ryoDh1V44RPRn6-mBQwv98BTRws6nMrBhEggGn7-tk1bl3YNSwc0oZpA", "excludeCredentials": [ { "id": "1kBn2dmhv5JhuFxqeco1khCBCUBLlWYqZmFtdDujH5pM", "transports": ["internal"], "type": "public-key" } ], "extensions": { "credProps": true }, "pubKeyCredParams": [ { "alg": -7, "type": "public-key" }, { "alg": -257, "type": "public-key" } ], "rp": { "id": "Passkey Demo", "name": "passkeys.eu" }, "user": { "displayName": "Test Name", "id": "ZG1sdVkyVnxe3SFJsYzNR", "name": "Test Name" } }

Để xác định nhà cung cấp passkey bằng AAGUID, các relying party có thể tham khảo kho lưu trữ AAGUID do cộng đồng cung cấp. Kho lưu trữ này cung cấp các ánh xạ cần thiết để xác định nhà cung cấp passkey theo tên và có thể theo biểu tượng, giúp cung cấp giao diện người dùng trực quan hơn cho việc quản lý passkey. Tuy nhiên, điều quan trọng cần lưu ý là một số nhà cung cấp passkey có thể cố tình sử dụng AAGUID chung ("00000000-0000-0000-0000-0000000000000"), đại diện cho một nhà cung cấp ẩn danh hoặc chung chung.

Việc truy xuất AAGUID rất đơn giản với hầu hết các thư viện WebAuthn. Ví dụ: khi sử dụng SimpleWebAuthn ở phía máy chủ, các lập trình viên có thể trích xuất AAGUID từ thông tin đăng ký để khớp với nhà cung cấp đã biết, nâng cao khả năng quản lý passkey của người dùng một cách dễ dàng hơn (trích từ bài viết "Xác định nhà cung cấp passkey bằng AAGUID" của Google).

// Nhập danh sách AAGUID từ tệp JSON import aaguids from "./aaguids.json" with { type: "json" }; // ... // Sử dụng hàm tiện lợi của SimpleWebAuthn để xác minh phản hồi đăng ký. const { verified, registrationInfo } = await verifyRegistrationResponse({ response: credential, expectedChallenge, expectedOrigin, expectedRPID, requireUserVerification: false, }); // ... const { aaguid } = registrationInfo; const provider_name = aaguids[aaguid]?.name || "Unknown";

Mặc dù AAGUID cung cấp một công cụ mạnh mẽ để quản lý passkey, nhưng chúng nên được sử dụng cẩn thận. Tính toàn vẹn của một AAGUID phụ thuộc vào quy trình attestation (chứng thực), giúp xác thực tính xác thực của nhà cung cấp passkey. Nếu không có chữ ký attestation hợp lệ, AAGUID có khả năng bị thao túng. Đáng chú ý là tính đến tháng 3 năm 2024, passkey trên một số nền tảng không hỗ trợ attestation, điều này nhấn mạnh sự cần thiết phải cân nhắc kỹ lưỡng khi sử dụng.

Dưới đây là danh sách không đầy đủ các nhà cung cấp passkey first-party và third-party cho ứng dụng Android, ứng dụng iOS và ứng dụng web sử dụng các phiên bản hệ điều hành và trình duyệt phổ biến:

4. Danh sách Nhà cung cấp Passkey cho Android, iOS & Web#

Dưới đây, bạn sẽ tìm thấy một số cửa sổ bật lên (popup) của các nhà cung cấp passkey bên thứ ba để tạo/lưu passkey:

4.1 1Password#

Xem phân tích đầy đủ về 1Password tại đây.

4.2 Bitwarden#

4.3 Dashlane#

Xem phân tích đầy đủ về Dashlane tại đây.

4.4 Enpass#

4.5 KeePassXC#

Xem phân tích đầy đủ về KeePassXC tại đây.

4.6 Keeper#

4.7 NordPass#

4.8 Proton#

5. Kết luận#

Trọng tâm của việc triển khai và quản lý passkey là vai trò của các nhà cung cấp passkey, những thực thể không chỉ tạo điều kiện thuận lợi cho việc tạo và quản lý passkey mà còn đảm bảo sự tích hợp liền mạch của chúng trên nhiều nền tảng và thiết bị khác nhau.

Hiểu rõ nhà cung cấp passkey là gì, bao gồm sự phân biệt giữa nhà cung cấp first-party và third-party, cũng như vai trò quan trọng của Mã định danh duy nhất toàn cầu chứng thực trình xác thực (AAGUID) là mục tiêu của bài viết này. Việc sử dụng AAGUID, như đã thảo luận, mang lại một giải pháp hứa hẹn, cho phép xác định và quản lý passkey đơn giản hơn.

Ngoài ra, chúng tôi đã phân tích các nhà cung cấp passkey first-party và third-party nào hiện có cho Android, iOS và Windows, giúp người dùng tìm được nhà cung cấp bên thứ ba phù hợp hoặc thiết bị họ chọn.

Đối với các lập trình viên và giám đốc sản phẩm (Product Manager), những hiểu biết sâu sắc về các nhà cung cấp passkey và cách quản lý chúng không chỉ hướng dẫn việc triển khai kỹ thuật xác thực passkey mà còn phù hợp với mục tiêu rộng lớn hơn là nâng cao trải nghiệm người dùng và bảo mật.

Learn more about our enterprise-grade passkey solution.

Learn more

Share this article


LinkedInTwitterFacebook