So sánh phương thức đăng nhập bằng mã QR qua ứng dụng gốc và passkeys để xác thực an toàn, tiện lợi. Khám phá phương pháp tốt nhất cho tổ chức của bạn.
Vincent
Created: August 8, 2025
Updated: August 8, 2025
See the original blog version in English here.
Our mission is to make the Internet a safer place and passkeys provide a superior solution to achieve that. That's why we want to keep you updated with the latest industry insights here.
Các phương thức xác thực an toàn và tiện lợi ngày càng trở nên quan trọng hơn bao giờ hết. Với số lượng dịch vụ trực tuyến chúng ta truy cập hàng ngày trên các thiết bị khác nhau ngày càng tăng, các hệ thống dựa trên mật khẩu truyền thống đang trở nên kém hiệu quả và rườm rà hơn. Đặc biệt đối với các công ty có số lượng lớn người dùng trên các ứng dụng gốc của họ (ứng dụng iOS hoặc Android), điều này đã dẫn đến nhu cầu ngày càng tăng về việc đăng nhập bằng mã QR, mang lại một cách nhanh chóng và dễ dàng để xác thực người dùng mà không cần phải nhập mật khẩu phức tạp hay thậm chí là tên người dùng.
Trong bối cảnh này, các câu hỏi như sau xuất hiện:
Native QR Code Revolut Passkeys QR Code Apple
Các ví dụ nổi bật về mã QR trong đăng nhập ứng dụng gốc là các dịch vụ ưu tiên ứng dụng như WhatsApp, TikTok hoặc Revolut. Đồng thời, có một danh sách các công ty hỗ trợ đăng nhập bằng passkey đang phát triển nhanh chóng.
Trong bài viết này, chúng ta sẽ khám phá các kỹ thuật xác thực bằng mã QR. Chúng ta sẽ không tập trung vào mã QR TOTP được sử dụng để khởi tạo yếu tố thứ hai (với các ứng dụng bổ sung như Authy hoặc Google Authenticator)**.
Chúng ta cũng sẽ so sánh các phương thức xác thực dựa trên mã QR khác nhau, xem xét điểm mạnh, điểm yếu và các lỗ hổng tiềm ẩn của chúng.
Khi đọc xong, bạn sẽ hiểu rõ hơn liệu xác thực bằng mã QR có phải là lựa chọn phù hợp cho nhu cầu bảo mật của mình hay không.
Recent Articles
🔑
Passkeys & WebAuthn PRF cho Mã hóa End-to-End (2025)
📖
WebAuthn pubKeyCredParams & credentialPublicKey: Tìm hiểu về CBOR & COSE
📖
Gợi ý về Thông tin xác thực Khóa công khai WebAuthn / Gợi ý User-Agent
📖
Giao thức (CXP) & Định dạng (CXF) Trao đổi Thông tin xác thực WebAuthn
🔑
Các Phương Pháp Đăng Nhập và Xác Thực Bằng Mã QR
Mã QR, hay mã Phản hồi nhanh (Quick Response), là mã vạch hai chiều có thể lưu trữ nhiều loại thông tin, từ URL đến văn bản thuần túy. Được phát triển lần đầu vào năm 1994 bởi Denso Wave, một công ty con của Tập đoàn Toyota, mã QR được thiết kế để theo dõi các bộ phận ô tô một cách nhanh chóng và hiệu quả. Kể từ đó, mã QR đã phát triển và tìm được vị trí của mình trong nhiều ngành công nghiệp khác nhau nhờ khả năng lưu trữ một lượng lớn dữ liệu trong một hình vuông nhỏ, có thể quét được.
Thuật ngữ "QR Code" thực chất là một nhãn hiệu của Denso Wave, mặc dù công nghệ này đã được áp dụng rộng rãi và không bị hạn chế bởi nhãn hiệu đó. Mã QR được đặc trưng bởi các mẫu hình vuông đen trắng, có thể được quét bằng điện thoại thông minh hoặc thiết bị quét chuyên dụng (máy quét QR) để truy cập thông tin được mã hóa.
Việc hỗ trợ mã QR đã được tích hợp vào các hệ điều hành di động như iOS và Android trong nhiều năm. Cả hai nền tảng đều hỗ trợ quét mã QR nguyên bản thông qua ứng dụng máy ảnh tương ứng, giúp người dùng tương tác với mã QR dễ dàng hơn mà không cần phần mềm bổ sung.
Nói chung, mã QR được sử dụng cùng với các ứng dụng tận dụng các URL tùy chỉnh hoặc liên kết ứng dụng. Các liên kết này có thể kích hoạt ứng dụng tự động mở nếu nó được cài đặt trên thiết bị. Nếu ứng dụng chưa được cài đặt, mã QR có thể hướng người dùng đến cửa hàng ứng dụng liên quan để tải xuống và cài đặt ứng dụng, từ đó tạo điều kiện cho trải nghiệm người dùng mượt mà. Dưới đây bạn có thể thấy danh sách các đường dẫn mà Revolut đã đăng ký để Xử lý Ứng dụng:
https://revolut.com/.well-known/apple-app-site-association{ "applinks": { "apps": [], "details": [ { "appID": "QUZEZSEARC.com.revolut.revolut", "paths": ["/app/*"] }, { "appID": "QUZEZSEARC.com.revolut.test", "paths": ["/app/*"] }, { "appID": "QUZEZSEARC.com.revolut.retail.india", "paths": ["/app/*"] }, { "appID": "QUZEZSEARC.com.revolut.retail.india-debug", "paths": ["/app/*"] }, { "appID": "QUZEZSEARC.com.revolut.invest", "paths": ["/app/*"] }, { "appID": "QUZEZSEARC.com.revolut.invest-debug", "paths": ["/app/*"] }, { "appID": "QUZEZSEARC.com.revolut.revolutx", "paths": ["/app/*"] }, { "appID": "QUZEZSEARC.com.revolut.revolutx-debug", "paths": ["/app/*"] } ] } }
Như bạn có thể thấy, tất cả các liên kết bắt đầu bằng "/app/*" đều được xử lý, bạn sẽ thấy một ví dụ trong phần tiếp theo. Bằng cách nhúng các URL tùy chỉnh và liên kết ứng dụng vào mã QR, các doanh nghiệp và nhà phát triển có thể tạo ra các trải nghiệm phù hợp, dẫn người dùng trực tiếp đến ứng dụng hoặc dịch vụ mong muốn, nâng cao cả sự tiện lợi và bảo mật trong tương tác của người dùng.
Đăng nhập bằng mã QR qua ứng dụng gốc tận dụng sự tương tác liền mạch giữa máy ảnh của thiết bị di động và các URL cụ thể được nhúng trong mã QR. Quá trình này thường bắt đầu bằng việc người dùng quét mã QR hiển thị trên một trang web hoặc một thiết bị khác bằng máy ảnh của điện thoại thông minh. Mã QR chứa một URL tùy chỉnh được thiết kế đặc biệt để tương tác với một ứng dụng gốc cụ thể, chẳng hạn như các ứng dụng trên thiết bị iOS hoặc Android.
Ví dụ, một dịch vụ như Revolut có thể sử dụng mã QR với một URL như https://revolut.com/app/challenges/qr/e2d78521-d38a-4773-b1b8-27a902a36b4b. URL này được thiết lập để ứng dụng Revolut đã cài đặt trên thiết bị của người dùng nhận dạng.
Khi mã QR được quét, ứng dụng sẽ tự động bắt liên kết này, nhận dạng nó và hiển thị ứng dụng tương ứng (trong ví dụ trên, bạn có thể thấy “Revolut” được xác định là Ứng dụng phù hợp), và tiến hành xử lý quá trình đăng nhập nội bộ. Tương tác này được hỗ trợ bởi các cơ chế liên kết sâu (deep linking) mà cả iOS và Android đều hỗ trợ, cho phép các liên kết cụ thể mở trực tiếp trong một ứng dụng đã cài đặt thay vì trong trình duyệt web:
Nếu ứng dụng chưa được cài đặt trên thiết bị, hệ điều hành thường sẽ nhắc người dùng cài đặt ứng dụng bằng cách chuyển hướng họ đến cửa hàng ứng dụng phù hợp, có thể là Apple App Store cho thiết bị iOS hoặc Google Play Store cho thiết bị Android.
Điều này đảm bảo rằng ngay cả khi người dùng chưa cài đặt ứng dụng ban đầu, họ vẫn có thể nhanh chóng và dễ dàng tải về, tiếp tục quá trình sau khi cài đặt.
Trong hầu hết các trường hợp, những khách hàng hiện tại đã cài đặt ứng dụng sẽ trải nghiệm một quá trình đăng nhập mượt mà. Họ quét mã QR, ứng dụng tự động mở ra và việc xác thực được hoàn tất mà không cần nhập tên người dùng hoặc mật khẩu. Phương pháp này chủ yếu mang lại sự tiện lợi cho người dùng, vì không có thông tin nhạy cảm nào được truyền đi trong quá trình quét mã QR.
Về mặt kỹ thuật, điều xảy ra là một phiên đăng nhập hiện có trên điện thoại di động được sử dụng để xác thực một phiên mới trên máy tính để bàn. Có nhiều kỹ thuật khác nhau để làm điều đó. Một phiên bản rất chi tiết được công bố trong Sách trắng Bảo mật của WhatsApp dưới mục Đăng ký Máy khách à Đăng ký Thiết bị Đồng hành à Liên kết bằng Mã QR.
Trích từ https://engineering.fb.com/2021/07/14/security/whatsapp-multi-device/
Vì WhatsApp hỗ trợ truy cập đa thiết bị và mã hóa đầu cuối từ năm 2021, kiến trúc này không hoàn toàn phù hợp cho việc xác thực – vì giao thức chủ yếu được thiết kế cho một ứng dụng nhắn tin đa thiết bị. Có những cách tiếp cận đơn giản hơn để đạt được một quá trình bắt tay an toàn, tùy thuộc vào việc triển khai xác thực thực tế. Điều cần ghi nhớ là bạn luôn cần đảm bảo xử lý an toàn các phiên người dùng và các kênh giao tiếp giữa thiết bị và máy chủ. Bất kể sự phức tạp của việc triển khai đăng nhập xác thực bằng mã QR, một số nguyên tắc bảo mật chính cần luôn được tuân thủ:
Bằng cách tuân theo các phương pháp tốt nhất này, các công ty có thể triển khai xác thực bằng mã QR vừa thân thiện với người dùng vừa an toàn, tận dụng sự tiện lợi của thiết bị di động trong khi vẫn duy trì các biện pháp bảo mật mạnh mẽ để bảo vệ dữ liệu và phiên của người dùng.
Bây giờ chúng ta hãy xem xét việc đăng nhập bằng mã QR qua passkeys.
Xác thực dựa trên Passkey cung cấp một hệ thống xác thực chéo thiết bị an toàn được tích hợp vào hệ sinh thái iOS và Android và được quy định trong tiêu chuẩn WebAuthn. Hiện tại, chỉ có passkeys được tạo trên iOS hoặc Android mới có thể được sử dụng cho xác thực chéo thiết bị (CDA) qua mã QR.
Hãy phân tích cách hoạt động của việc đăng nhập bằng mã QR với passkeys. Biểu đồ sau đây cho thấy một cái nhìn tổng quan cấp cao về các bước khác nhau.
Đối với cả iOS và Android, passkeys được lưu trữ trong trình xác thực gốc của nền tảng (ví dụ: Face ID, Touch ID hoặc Sinh trắc học Android). Điều này đảm bảo rằng passkeys của người dùng có sẵn trên tất cả các thiết bị của họ đã đăng nhập vào cùng một Apple ID (đối với iOS) hoặc tài khoản Google (đối với Android) trên các phiên bản hệ điều hành hiện đại.
Khi triển khai Xác thực chéo thiết bị (CDA) dựa trên passkey, điều quan trọng là phải cung cấp hướng dẫn rõ ràng cho người dùng về quy trình. Người dùng nên được thông báo rằng một mã QR sẽ được hiển thị và họ cần sử dụng điện thoại di động của mình để quét nó.
Theo quan điểm của chúng tôi, điều quan trọng là phải đảm bảo rằng mã QR không được hiển thị nếu người dùng không có passkey có thể được sử dụng cho CDA. Ngoài ra, cần phải xác minh rằng hệ điều hành và trình duyệt hiện tại của người dùng hỗ trợ CDA trước khi hiển thị mã QR.
Để quản lý các tình huống này một cách hiệu quả, chúng tôi đã nêu ra tất cả các trường hợp quan trọng trong bài viết này, vì vậy chúng tôi sẽ không đi vào chi tiết ở đây. Hệ thống thông minh passkey của chúng tôi được thiết kế để tự động xử lý các tình huống này, đảm bảo rằng mã QR chỉ được hiển thị khi thích hợp và hướng dẫn người dùng một cách mượt mà qua quá trình xác thực. Điều này đảm bảo một trải nghiệm liền mạch trong khi vẫn duy trì bảo mật cao và khả năng tương thích trên các thiết bị và hệ điều hành khác nhau.
Trong phần này, chúng ta sẽ tóm tắt hai phương thức đăng nhập bằng mã QR chính đã được thảo luận trong bài viết này: đăng nhập bằng mã QR qua ứng dụng gốc và đăng nhập bằng mã QR qua passkeys. Mỗi phương pháp đều có những ưu điểm riêng và phù hợp với các trường hợp sử dụng khác nhau dựa trên các yếu tố như bảo mật, trải nghiệm người dùng và độ phức tạp của việc triển khai.
Hãy xem cả hai phương pháp so sánh như thế nào và có những đặc điểm khác nhau ra sao:
Bảng so sánh: Đăng nhập bằng mã QR qua ứng dụng gốc vs. Đăng nhập bằng mã QR qua Passkeys
Đặc điểm | Đăng nhập bằng mã QR qua ứng dụng gốc | Đăng nhập bằng mã QR qua Passkeys |
---|---|---|
Yêu cầu ứng dụng | Có, yêu cầu ứng dụng gốc | Không |
Yêu cầu triển khai Passkey | Không, độc lập | Có, người dùng cần chọn tham gia passkeys |
Nỗ lực triển khai | Cao | Cao |
Chống lừa đảo (phishing) MFA | Không | Có (chống lừa đảo & MFA) |
Kiểm tra khoảng cách | Không | Có |
Trải nghiệm người dùng | Liền mạch nếu ứng dụng được cài đặt | Liền mạch nếu passkey tồn tại |
Mức độ bảo mật | Trung bình | Rất cao |
Chúng tôi đã tập trung vào các đặc điểm dựa trên xác thực trong bảng so sánh, và các yêu cầu xung quanh được nêu trong phần ba áp dụng cho cả hai lựa chọn thay thế. Các hạn chế dựa trên vị trí và thời gian không cần thiết với passkeys, vì chúng sử dụng khả năng chống lừa đảo (phishing) và kiểm tra khoảng cách qua WebAuthn.
Như đã nêu trong phần giới thiệu, chúng ta đã xem xét hai kịch bản phổ biến nhất của xác thực chéo thiết bị, hãy tóm tắt ngắn gọn chúng:
Để trả lời các câu hỏi của chúng ta từ phần giới thiệu:
Bất kể việc đánh giá hiện tại về giải pháp nào phù hợp với kiến trúc xác thực hiện có, cần lưu ý rằng passkeys là một khoản đầu tư vào tương lai của xác thực, vì hệ sinh thái rõ ràng đang đi theo hướng này. Bắt đầu sớm để thu thập passkeys có thể được kết hợp với các chiến lược CDA khác nhau.
Enjoyed this read?
🤝 Join our Passkeys Community
Share passkeys implementation tips and get support to free the world from passwords.
🚀 Subscribe to Substack
Get the latest news, strategies, and insights about passkeys sent straight to your inbox.
Related Articles
Table of Contents