Tổng quan

Digital Credentials Provisioning API được sắp xếp theo 3 mô hình tài nguyên chính:

Tài nguyên Mô tả
Thiết bị Một phiên bản duy nhất của thiết bị thực và khoá nhận dạng.
Hiệu đính Quy trình chứng minh danh tính của người dùng trước khi phát hành một Thông tin đăng nhập.
Thông tin xác thực Chính DC đó.

Là Bên phát hành, bạn chịu trách nhiệm tạo và quản lý các tài nguyên này trong suốt vòng đời của DC.

Các giả định

Giả định chính mà API này đưa ra là việc thiết bị sử dụng Android Identity Credential API để lưu trữ DC do ISO/IEC 18013-5 xác định.

Mô hình tài nguyên

Thiết bị

Trong mô hình Digital Credentials Provisioning API (API Cung cấp thông tin xác thực kỹ thuật số), thiết bị không chỉ đơn thuần là một thiết bị chạy Android mà người dùng quản lý DC bằng ứng dụng Google Wallet. Thay vào đó, thiết bị được biểu thị dưới dạng một tổ hợp của những yếu tố sau:

  • Thiết bị thực chạy hệ điều hành Android.
  • Một cặp khoá công khai/riêng tư (được gọi là "khoá nhận dạng").
    • Bên phát hành dùng khoá công khai để xác minh danh tính của thiết bị.
    • Khoá riêng tư được lưu trữ trong bộ nhớ an toàn của thiết bị.

Khi thực hiện các lệnh gọi API, một tổ hợp thiết bị và thông tin xác thực được xác định bằng mã nhận dạng tham chiếu thiết bị (thuộc tính deviceReferenceId).

Vào lần đầu tiên giao tiếp với một Tổ chức phát hành, thiết bị sẽ được cấp một số chỉ dùng một lần duy nhất (để ngăn chặn các cuộc tấn công phát lại và đảm bảo tính mới). Số chỉ dùng một lần được ký bằng khoá nhận dạng của thiết bị và được nhúng trong chứng chỉ chứa khoá nhận dạng. Từ giờ trở đi, bạn có thể dùng chứng chỉ này để xác minh thiết bị với Tổ chức phát hành.

Để biết thêm thông tin về chứng chỉ, hãy xem tài liệu về IdentityCredential Android.

Nếu bạn mô hình hoá tài nguyên này dưới dạng một bảng cơ sở dữ liệu, thì tài nguyên này sẽ có dạng như sau. Xin lưu ý rằng thuộc tính identityKey sẽ là giá trị khoá công khai.

Ví dụ về bảng cơ sở dữ liệu cho một tài nguyên thiết bị.

Hiệu đính

Quy trình hiệu đính là sự kết hợp của những yếu tố sau:

  • Bằng chứng do người dùng cung cấp để chứng minh danh tính của họ
  • Quyết định của Tổ chức phát hành dựa trên bằng chứng được cung cấp

Quy trình xác minh dành riêng cho loại thông tin xác thực mà người dùng yêu cầu. Khi cung cấp DC, người dùng sẽ cung cấp ảnh chụp giấy tờ tuỳ thân thực tế và video về khuôn mặt của họ. Google sử dụng video này để tính toán khả năng video đó là của một người thật. Kết quả do Google cung cấp cho Nhà phát hành được gọi là "điểm số về tính chân thực". Các phương thức xác minh bổ sung sẽ được thêm vào khi các loại thông tin xác thực mới được hỗ trợ.

Các trạng thái có thể có của một bản duyệt lỗi được liệt kê trong bảng sau.

Trạng thái Mô tả Trạng thái cuối cùng
Đang chờ xử lý Tổ chức phát hành chưa đưa ra quyết định. Không
Đã chấp nhận Tổ chức phát hành đã quyết định rằng bằng chứng này là thoả đáng. Không
Bị từ chối Tổ chức phát hành cho rằng bằng chứng không thoả đáng. Có*
Thử thách Bên phát hành cần thêm thông tin để đưa ra quyết định. Không
Bị hủy Người dùng đã huỷ thao tác hiệu đính.
Đã bị thu hồi Tổ chức phát hành đã thu hồi quy trình xác minh. Có*
Đã hết hạn Người dùng không hoàn thành thử thách đúng thời gian.

Những trạng thái được đánh dấu bằng dấu hoa thị (*) có thể không phải là trạng thái cuối cùng trong trường hợp người đánh giá là con người mắc lỗi và cập nhật trạng thái theo cách thủ công.

Sơ đồ trạng thái sau đây mô tả các luồng trạng thái có thể xảy ra:

Trong một số trường hợp, Nhà phát hành có thể không đưa ra được quyết định dựa trên bằng chứng ban đầu. Để đưa ra quyết định, người dùng có thể được yêu cầu cung cấp thêm thông tin hoặc bằng chứng cho Bên phát hành. Ví dụ về các bước xác minh bao gồm trả lời thư, truy cập trang web của Nhà phát hành hoặc gửi thêm bằng chứng.

Nếu bạn mô hình hoá tài nguyên này dưới dạng một bảng cơ sở dữ liệu, thì tài nguyên này sẽ có dạng như sau.

Ví dụ về bảng cơ sở dữ liệu cho tài nguyên hiệu đính.

Thông tin xác thực

Thông tin đăng nhập đại diện cho phiên bản ảo của thông tin đăng nhập thực cho một thiết bị cụ thể. Mỗi khi một thông tin đăng nhập ảo được cung cấp cho một thiết bị thực, thông tin đăng nhập đó sẽ được chỉ định một mã nhận dạng thông tin đăng nhập. Nếu cùng một thông tin đăng nhập thực được cung cấp cho nhiều thiết bị, thì mỗi lần thông tin đăng nhập đó sẽ có một mã thông tin đăng nhập khác. Tương tự, nếu một thông tin đăng nhập được cung cấp cho một thiết bị, sau đó bị xoá và được cung cấp lại cho cùng một thiết bị, thì thông tin đăng nhập đó sẽ có một mã thông tin đăng nhập khác.

Khi thông tin chi tiết về thông tin xác thực của người dùng thay đổi (chẳng hạn như địa chỉ thay đổi đối với giấy tờ tuỳ thân), bạn phải cập nhật thông tin chi tiết này cho mọi thông tin xác thực ảo được liên kết. Một thông tin đăng nhập có thể có nhiều phiên bản tương ứng với những thay đổi đó. Phiên bản hiện tại được theo dõi bằng mã nhận dạng phiên bản thông tin đăng nhập.

Để xuất trình thông tin đăng nhập cho một bên tin cậy, trước tiên, thiết bị phải truy xuất các đối tượng bảo mật di động (MSO) từ tổ chức phát hành. MSO chứa các bản tóm tắt về thông tin đăng nhập do Nhà phát hành ký. MSO được tạo từ một khoá uỷ quyền, một khoá công khai do khoá nhận dạng của thiết bị tạo và ký. Khoá xác thực sẽ liên kết MSO với thiết bị một cách hiệu quả. Sự kết hợp giữa MSO và thông tin đăng nhập chứng minh cho các bên tin cậy rằng thông tin đăng nhập bắt nguồn từ Tổ chức phát hành.

Sau khi thông tin đăng nhập được cấp phép cho một thiết bị, thiết bị đó phải gửi một đối tượng ProofOfProvisioning trở lại cho Tổ chức phát hành. Thông báo này cho Nhà phát hành biết rằng thông tin đăng nhập đã được cung cấp thành công cho thiết bị và được lưu trữ trong bộ nhớ bảo mật của thiết bị.

Thông tin đăng nhập có thể có các trạng thái sau:

Trạng thái Mô tả
ProvisionPending

Thẻ và vé đã được phát hành cho Google Wallet, nhưng Nhà phát hành chưa nhận được bằng chứng về việc cung cấp. Thông tin đăng nhập sẽ được chuyển sang trạng thái này bất cứ khi nào mã phiên bản thông tin đăng nhập thay đổi.

Không có MSO nào được phát hành cho thông tin đăng nhập này.

Đang hoạt động

Thông tin xác thực đã được phát hành cho Google Wallet và bằng chứng về việc cung cấp đã được trả lại cho Nhà phát hành.

MSOs được cung cấp cho thông tin đăng nhập.

Đã bị thu hồi

Tổ chức phát hành đã thu hồi vĩnh viễn thông tin đăng nhập.

Không có MSO nào được phát hành cho thông tin đăng nhập này.

Google Wallet sẽ không trình bày thông tin xác thực ở trạng thái này.

Đã xóa

Người dùng hoặc Google Wallet đã xoá vĩnh viễn thông tin đăng nhập khỏi thiết bị.

Không có MSO nào được phát hành cho thông tin đăng nhập này.

Google Wallet sẽ không trình bày thông tin xác thực ở trạng thái này.

Sơ đồ trạng thái sau đây mô tả các luồng trạng thái có thể xảy ra:

Nếu bạn mô hình hoá tài nguyên này dưới dạng một bảng cơ sở dữ liệu, thì tài nguyên này sẽ có dạng như sau.

Bảng cơ sở dữ liệu mẫu cho tài nguyên thông tin đăng nhập.