Ngày xuất bản: 4 tháng 9 năm 2024, Ngày cập nhật gần đây nhất: 16 tháng 10 năm 2024
Bản dùng thử theo nguyên gốc cho API Thông tin xác thực kỹ thuật số sẽ bắt đầu từ Chrome 128. Digital Credentials API là một API nền tảng web mới cho phép các trang web yêu cầu một cách chọn lọc thông tin có thể xác minh về người dùng thông qua thông tin xác thực kỹ thuật số, chẳng hạn như giấy phép lái xe hoặc thẻ căn cước công dân được lưu trữ trong ví điện tử.
Thông tin khái quát
Danh tính kỹ thuật số trong thế giới thực đang trở thành hiện thực khi nhiều pháp nhân công và tư bắt đầu phát hành thông tin xác thực kỹ thuật số liên kết với thiết bị. Ví dụ: giờ đây, bạn có thể cấp giấy phép lái xe và giấy tờ tuỳ thân dạng kỹ thuật số ở một số tiểu bang của Hoa Kỳ (chẳng hạn như Arizona, California, Colorado, Georgia và Maryland) cho các ứng dụng ví điện tử như Google Wallet trên thiết bị di động. Các quy định liên quan đến việc chấp nhận thông tin xác thực kỹ thuật số cho một số quy trình xác minh trực tuyến cũng đang xuất hiện, ví dụ: eIDAS 2.0.
Các tính năng của chứng chỉ kỹ thuật số phụ thuộc vào định dạng của chứng chỉ đó, mặc dù chúng thường bao gồm:
- Bảo mật và quyền riêng tư nâng cao: Việc sử dụng phương thức mã hoá nâng cao và phương pháp xác thực mạnh mẽ giúp bảo vệ dữ liệu nhạy cảm và đảm bảo hoạt động truy cập an toàn. Ví dụ: việc hiển thị thông tin xác thực thường được bảo vệ sau khi xác thực người dùng thông qua ứng dụng ví.
- Tiết lộ có chọn lọc: Bên phụ thuộc (RP) có thể yêu cầu một số thông tin từ thông tin xác thực, cho phép người dùng giới hạn dữ liệu được chia sẻ ở mức cần thiết cho trường hợp sử dụng. Ví dụ: bạn có thể chia sẻ thông tin về việc người dùng có trên 18 tuổi hay không mà không tiết lộ ngày sinh của người dùng.
- Khả năng tương tác: Chứng chỉ danh tính phải tuân thủ các tiêu chuẩn quốc tế, cho phép tương thích giữa các hệ thống và quốc gia khác nhau, tạo điều kiện cho việc chấp nhận xuyên biên giới.
- Khả năng xác minh: Dữ liệu thông tin xác thực được chia sẻ được bên phát hành ký bằng chữ ký số; RP có thể xác minh chữ ký này để xác minh tính xác thực của dữ liệu.
Do tính chất có thể xác minh của thông tin xác thực kỹ thuật số, nên thông tin này có thể hỗ trợ các trường hợp sử dụng như:
- Xác minh độ tuổi: Yêu cầu cung cấp độ tuổi để xác minh độ tuổi của một người trước khi phân phát nội dung bị giới hạn độ tuổi hoặc mua các mặt hàng bị giới hạn độ tuổi.
- Xác minh danh tính: Yêu cầu tên và địa chỉ để xác minh danh tính của một người nhằm tuân thủ pháp luật hoặc phòng chống gian lận.
- Kiểm tra đặc quyền lái xe: Xác minh xem một người có đủ điều kiện lái xe hay không (ví dụ: khi thuê xe ô tô).
Khi các trang web bắt đầu giao tiếp trực tiếp với các ứng dụng ví di động (chẳng hạn như bằng cách sử dụng giao thức URL tuỳ chỉnh) để yêu cầu thông tin xác thực kỹ thuật số cho nhiều trường hợp sử dụng, trình duyệt sẽ có cơ hội giúp hoạt động tương tác này an toàn hơn, chống lại hành vi lạm dụng và dễ sử dụng hơn thông qua một API được xây dựng cho mục đích cụ thể.
Ra mắt API Thông tin xác thực kỹ thuật số
Digital Credentials API là một API mới trên nền tảng web cho phép các trang web bên bị hạn chế (RP) yêu cầu trình bày thông tin xác thực kỹ thuật số qua các ứng dụng ví. API này có trong Chrome dưới dạng bản dùng thử theo nguyên gốc kể từ Chrome 128.
API này không phụ thuộc vào giao thức, cho phép RP chỉ định một giao thức dựa trên các yêu cầu của họ. Khi một RP đưa ra yêu cầu, trình duyệt sẽ gửi yêu cầu đó đến hệ điều hành di động để tìm thông tin xác thực phù hợp trong các ứng dụng ví đã cài đặt. Nếu tìm thấy, hệ điều hành di động sẽ nhắc người dùng chọn một ví và gửi yêu cầu đến ví mà người dùng đã chọn. Sau khi xác thực cục bộ, ví sẽ trả về một phản hồi chứa dữ liệu thông tin xác thực được yêu cầu.
Trước tiên, Chrome sẽ hỗ trợ API trong Chrome trên Android để yêu cầu thông tin xác thực từ các ứng dụng ví trên cùng một thiết bị. Trong tương lai, chúng tôi dự định hỗ trợ Chrome phiên bản máy tính để yêu cầu thông tin xác thực trên nhiều thiết bị từ một thiết bị di động khác.
Khi ra mắt, Google Wallet sẽ tích hợp với API thông tin xác thực kỹ thuật số, cho phép các doanh nghiệp và tổ chức được chọn bắt đầu yêu cầu người dùng xuất trình giấy tờ tuỳ thân trực tuyến, thông qua Chrome trên Android và xác minh tính xác thực của dữ liệu được truyền bằng cách kiểm tra chữ ký mật mã. Để tham gia, hãy điền vào biểu mẫu này để bày tỏ sự quan tâm đến việc chấp nhận giấy tờ tuỳ thân điện tử từ Google Wallet.
Tài khoản Google cũng sẽ sớm sử dụng API này để xác minh ngày sinh của một số người dùng. Người dùng cư trú tại một tiểu bang được hỗ trợ ở Hoa Kỳ sẽ có thể sử dụng giấy tờ tuỳ thân hoặc giấy phép lái xe do tiểu bang cấp được cung cấp trong các ứng dụng ví hiện có (bao gồm cả Google Wallet) để chỉ chia sẻ thông tin ngày sinh với Google mà không cần chia sẻ thông tin chi tiết khác về danh tính của họ. Điều này cho phép người dùng chứng minh với Google theo cách bảo đảm quyền riêng tư rằng họ đáp ứng các yêu cầu về độ tuổi liên quan đến tài khoản.
Dùng thử
Yêu cầu:
- Dịch vụ Google Play phiên bản 23.40 trở lên
- Chrome 128 trở lên
- Bật cờ tại
chrome://flags#web-identity-digital-credentials
Để dùng thử API Thông tin xác thực kỹ thuật số, hãy làm theo hướng dẫn sau:
- Cài đặt ứng dụng ví minh hoạ theo hướng dẫn.
- Tải ứng dụng ví minh hoạ xuống thiết bị Android của bạn. Bạn có thể tìm thấy mã nguồn tại Kho lưu trữ thông tin xác thực danh tính của OpenWallet Foundation.
- Chạy lệnh
adb install -t <path-to-apk>
để cài đặt ứng dụng.
- Chạy ứng dụng IC Wallet (Ví điện tử của IC) và cấp giấy phép lái xe trên thiết bị di động (mDL) minh hoạ.
- Nhấn vào nút trình đơn rồi chọn Thêm tài liệu tự ký.
- Truy cập vào https://digital-credentials.dev bằng Chrome 128 trở lên.
- Nhấn vào Yêu cầu thông tin xác thực (OpenID4VP).
Hãy xem bản minh hoạ sử dụng https://digital-credentials.dev, một trang web thử nghiệm để nhà phát triển tạo yêu cầu thông tin xác thực cho nhiều thuộc tính:
Sau đây là cách hoạt động của bản minh hoạ theo từng bước:
Cách hoạt động của API này
API Thông tin xác thực số được xây dựng dựa trên nền tảng của API Quản lý thông tin xác thực, nhưng từ một giao diện API độc lập: navigator.identity
. Bằng cách gọi navigator.identity.get()
, trang web có thể yêu cầu thông tin xác thực kỹ thuật số được lưu trữ trên ứng dụng ví di động. .
// Gets a CBOR with specific fields out of mobile driver's license as an mdoc
const controller = new AbortController();
const {protocol, data} = await navigator.identity.get({
signal: controller.signal,
digital: {
providers: [{
protocol: "openid4vp",
request: {
response_type: "vp_token",
nonce: "n-0S6_WzA2Mj",
client_metadata: {...},
presentation_definition: {...}
}
}],
}
});
Giao diện API cơ bản tương tự như navigator.credentials.get()
, ngoại trừ việc chỉ chấp nhận loại thông tin xác thực "digital"
. Trong loại thông tin xác thực kỹ thuật số, hãy thêm mảng providers
chứa IdentityRequestProvider
với các tham số cơ bản sau:
protocol
: Chỉ định giao thức trao đổi bằng chuỗi. Tại thời điểm thử nghiệm nguồn gốc, giao thức chính đang được phát triển là"openid4vp"
.request
: Điền các tham số mà ứng dụng ví điện tử chấp nhận cho giao thức đã chỉ định. Đối với"openid4vp"
, các tham số được xác định trong quy cách OpenID for Verifiable Presentation (OID4VP) cho API Thông tin xác thực kỹ thuật số của W3C.
Ví dụ về tải trọng cho loại thông tin xác thực kỹ thuật số bằng OID4VP:
{
protocol: 'openid4vp',
request: {
response_type: 'vp_token',
nonce: 'gf69kepV+m5tGxUIsFtLi6pwg=',
client_metadata: {},
presentation_definition: {
id: 'mDL-request-demo',
input_descriptors: [{
id: "org.iso.18013.5.1.mDL",
format: {
mso_mdoc: {
alg: ["ES256"]
}
},
constraints: {
limit_disclosure: "required",
fields: [
{
path: ["$['org.iso.18013.5.1']['family_name']"],
intent_to_retain: false
}, {
path: ["$['org.iso.18013.5.1']['given_name']"],
intent_to_retain: false
}, {
path: ["$['org.iso.18013.5.1']['age_over_21']"],
intent_to_retain: false
}
]
}
}],
}
}
}
Với yêu cầu này, những ví có mDL trên thiết bị sẽ cung cấp một bộ thông tin xác thực có thể xác minh chứa:
- Họ của người dùng.
- Tên của người dùng.
- Giá trị boolean cho biết người dùng đã trên 21 tuổi hay chưa.
Dưới đây là ví dụ về tải trọng phản hồi:
{
data: '{\n "vp_token": "o2d2ZXJzaW9uYz..."\n}'
id: '',
protocol: 'openid4vp',
type: 'digital'
}
Trong ví dụ này, thông tin xác thực được yêu cầu bằng giao thức "openid4vp"
và phản hồi chứa "vp_token"
trong thuộc tính data
. Vui lòng xem thông số kỹ thuật OpenID for Verifiable Presentation (OID4VP) for the W3C Digital Credentials API (OpenID cho bản trình bày có thể xác minh (OID4VP) cho API thông tin xác thực kỹ thuật số của W3C) để tìm hiểu cách phân tích cú pháp phản hồi và xác minh thông tin xác thực.
API Thông tin xác thực kỹ thuật số được hỗ trợ trên Chrome trên Android dưới dạng bản dùng thử theo nguyên gốc. Chrome trên máy tính và iOS hiện không hỗ trợ tính năng này. Đối với các công cụ trình duyệt khác, các cuộc trò chuyện đang diễn ra đang được hỗ trợ thông qua Nhóm cộng đồng của Chương trình ươm tạo web W3C.
Tham gia thử nghiệm về nguồn gốc
Để phát triển, bạn có thể bật API Thông tin xác thực kỹ thuật số trên máy bằng cách bật cờ Chrome chrome://flags#web-identity-digital-credentials
trong Chrome 128 trở lên.
Tính năng này cũng được cung cấp dưới dạng bản dùng thử theo nguyên gốc. Bản dùng thử theo nguyên gốc cho phép bạn dùng thử các tính năng mới và đưa ra ý kiến phản hồi về khả năng hữu dụng, tính thực tế và hiệu quả của các tính năng đó cho cộng đồng tiêu chuẩn web. Để biết thêm thông tin, hãy xem bài viết Bắt đầu thử nghiệm nguồn gốc. Để đăng ký sử dụng bản dùng thử này hoặc một bản dùng thử khác theo nguyên gốc, hãy truy cập vào trang đăng ký.
- Yêu cầu mã thông báo cho nguồn gốc của bạn.
- Thêm mã thông báo vào các trang của bạn. Có hai cách để thực hiện việc đó:
- Thêm thẻ
origin-trial
<meta>
vào đầu mỗi trang. Ví dụ: mã này có thể có dạng như sau:<meta http-equiv="origin-trial" content="TOKEN_GOES_HERE">.
- Nếu có thể định cấu hình máy chủ, bạn cũng có thể thêm mã thông báo bằng tiêu đề HTTP
Origin-Trial
. Tiêu đề phản hồi thu được sẽ có dạng như sau:Origin-Trial: TOKEN_GOES_HERE.
- Thêm thẻ
Chia sẻ ý kiến phản hồi
Nếu bạn có ý kiến phản hồi về API Thông tin xác thực kỹ thuật số, hãy gửi ý kiến đó đến công cụ theo dõi lỗi Chromium chuyên dụng.