Tiêu chuẩn · FIDO CTAP 2.2 hybrid (passkey QR)

Tôi có nên quét QR đăng nhập passkey này không?

Chỉ khi BẠN vừa bắt đầu đăng nhập passkey trên thiết bị đang hiển thị QR. Nếu ai khác tạo QR này, đừng quét.

Kiểm tra QR passkey → Tất cả các tiêu chuẩn →

Cách đăng nhập passkey đa thiết bị hoạt động

Passkey là một thông tin xác thực — một cặp khóa công khai/riêng tư — được gắn với một trong các thiết bị của bạn. Nếu bạn đã đăng ký passkey cho example.com trên điện thoại, thì chỉ điện thoại của bạn mới có thể ký thách thức đăng nhập cho example.com.

Điều đó ổn khi bạn đăng nhập TRÊN điện thoại. Nhưng điều gì xảy ra khi đăng nhập trên laptop tại thư viện trong khi passkey ở trên điện thoại? Bạn có ba lựa chọn:

  1. Nhập mật khẩu, mất đi toàn bộ lợi ích của passkey.
  2. Đăng ký passkey mới trên laptop, ổn, nhưng chỉ khi bạn tin tưởng laptop này lâu dài.
  3. Dùng passkey trên điện thoại qua truyền tải đa thiết bị, laptop hiển thị QR, điện thoại quét và xác thực.

Lựa chọn 3 là những gì FIDO CTAP 2.2 "hybrid" định nghĩa. QR là cầu nối khởi động — nó mang đủ thông tin để hai thiết bị thiết lập kênh mã hóa được xác thực qua Bluetooth và/hoặc máy chủ relay, sau đó điện thoại ký xác nhận đăng nhập.

Bên trong QR có gì

URI trông như sau:

FIDO:/0123456789012345678901234567890123456789...

Các chữ số thập phân là mã hóa base10 của bản đồ CBOR. Sau khi giải mã base10 + phân tích CBOR, bản đồ có các trường sau:

Khóa 0, khóa công khai ngang hàng

Byte khóa công khai X9.62 không nén (33 byte cho P-256). Điện thoại dùng cái này để thiết lập kênh mã hóa đã thỏa thuận.

Khóa 1, bí mật QR / tunnel nonce

10 byte dữ liệu ngẫu nhiên. Xác định QR cụ thể này; quảng cáo BLE phát một hash của nó để điện thoại có thể tìm thấy laptop.

Khóa 2, gợi ý hoạt động

0 = make-credential (đăng ký passkey mới), 1 = get-assertion (đăng nhập), 2 = discoverable-credential.

Khóa 3, tên miền máy chủ tunnel

Máy chủ HTTPS làm trung gian đường hầm giữa hai thiết bị khi kết nối BLE trực tiếp không khả dụng (ví dụ: qua NAT). Thường là máy chủ do nhà cung cấp vận hành như cable.ua5v.com (Google) hoặc cable.auth.com (Apple/MS).

Khóa 4, dấu thời gian

Giây kể từ epoch khi QR được tạo. Dùng để bảo vệ chống phát lại — điện thoại tuân thủ từ chối QR cũ hơn ngưỡng (thường 5 phút).

Khóa 5, cờ hỗ trợ trạng thái

Boolean. Cho biết liệu laptop có muốn điện thoại tham gia duy trì trạng thái thụ động hay không (chủ yếu để đồng bộ BLE).

Mô hình mối đe dọa: ai đã nhấn "Đăng nhập bằng passkey" trước?

Giao thức về mặt mật mã học là đáng tin cậy. Kiểm tra Bluetooth gần đây là có thực — nó ngăn chặn các cuộc tấn công relay từ xa. Nhưng nó không bảo vệ bạn trước kỹ thuật xã hội về phía khởi tạo.

Thông qua kỹ thuật xã hội ở giai đoạn khởi tạo. Kẻ tấn công bắt đầu đăng nhập passkey trên trang ngân hàng thật của bạn, lấy QR, rồi thuyết phục bạn quét nó.

Nếu bạn quét, điện thoại của bạn chuyển tiếp chữ ký passkey về phiên của kẻ tấn công. Kẻ tấn công giờ đã đăng nhập thành công vào tài khoản của bạn.

Lưu ý rằng việc kiểm tra khoảng cách gần không có ích — kẻ tấn công đang hiện diện vật lý. Nội dung mã QR cũng không giúp được — chúng hợp lệ về mặt mật mã. Địa điểm đăng nhập cũng không giúp được — đó là trang web đúng mà bạn có passkey. Điều duy nhất có tác dụng là nhận ra tình huống: bạn không bao giờ nên quét mã QR FIDO mà chính bạn không tự tạo ra bằng cách nhấp “Đăng nhập” trên thiết bị của mình.

Những gì máy quét hiển thị

Khi bạn thả QR FIDO vào máy quét, kết quả hiển thị:

Loại mối đe dọa luôn là đáng ngờ, không phải vì giao thức có lỗi mà vì không thể biết ai đã khởi tạo phiên đăng nhập. Đây là cách thiết kế đúng cho bối cảnh kiểm tra bảo mật.

Khi nào an toàn (và khi nào không)

An toàn: bạn ngồi vào laptop, mở trang ngân hàng hoặc email, nhấp "Đăng nhập bằng passkey" và laptop hiển thị QR này. Bạn quét bằng điện thoại để hoàn tất đăng nhập.

Không an toàn: bất kỳ ai khác đã khởi tạo đăng nhập. Điều này gồm cả kẻ tấn công qua mạng gửi QR qua tin nhắn, email hoặc hiển thị nó trên màn hình.

Nếu bạn không chắc QR có phải từ đăng nhập BẠN đã khởi tạo hay không, hãy hủy đăng nhập trên thiết bị gốc và thử lại.

Liên quan

Kiểm tra QR FIDO

Thả hình ảnh vào hoặc dán URI FIDO:. Kết quả hiển thị hoạt động, máy chủ tunnel, dấu thời gian và đánh giá rủi ro rõ ràng.

Mở máy quét →