了解 digital credentials 如何增强在线身份验证流程。我们将介绍网站如何整合 digital credentials api,以便请求访问“钱包”中的身份证件所包含的信息。我们还将探讨 app 如何利用新的 identitydocumentservices 框架提供 app 内的身份证件进行在线验证。

视频封面
视频地址

此文章由AI生成,可能存在错误,如有问题,请联系djs66256@163.com

在网页上验证身份证件:数字凭证API与IdentityDocumentServices框架详解

引言

在当今数字化时代,身份验证流程的便捷性与安全性成为用户体验的关键环节。传统的实体证件验证方式存在诸多不便,而基于移动证件(mdoc)格式的数字身份证件正逐渐成为解决方案。苹果在WWDC演讲中展示了如何利用数字凭证API和IdentityDocumentServices框架优化在线身份验证流程,为开发者和用户带来更高效、安全的体验。

数字身份证件的优势

传统的实体证件在线验证方式要求用户拍摄证件照片上传,这种方式对用户体验和机构验证都带来挑战。相比之下,数字身份证件(mdoc)基于ISO 18013-5标准,具有三大核心优势:

  1. 跨平台互操作性:遵循国际标准确保在不同系统和平台间无缝工作
  2. 精准信息共享:用户仅需分享验证方必需的信息,而非全部证件内容
  3. 增强安全性:通过发行机构加密签名确保验证方收到的信息真实可靠

苹果钱包中的身份证件功能正是基于mdoc格式构建的实例,目前已经在美国特定机场、商户和Apple Store等场景得到应用。

Web集成:数字凭证API详解

工作原理

网站集成数字凭证API进行身份验证包含三个关键步骤:

  1. 请求构建:服务器生成并签署文档请求
  2. 浏览器传递:通过W3C数字凭证API将请求传递给浏览器
  3. 验证响应:服务器接收并解密加密响应

以太空船租赁网站为例,请求包含设备请求和加密信息两部分:

const request = {
  challenge: crypto.getRandomValues(new Uint8Array(32)),
  documentRequest: {
    documents: [ {
      docType: "org.iso.18013.5.1.mDL",
      elements: [ "org.iso.18013.5.1.given_name",
                 "org.iso.18013.5.1.family_name",
                 "org.iso.18013.5.1.birth_date" ]
    } ]
  },
  encryption: {
    scheme: "HPKE",
    encapsulatedPublicKey: new Uint8Array([...]),
    recipientPublicKey: new Uint8Array([...])
  }
}

安全机制

数字凭证API构建了四层安全防护体系:

  1. 请求认证:通过证书签名明确标识请求方身份
  2. 响应加密:采用HPKE标准(RFC-9180)实现端到端加密
  3. 发行方认证:验证数据签发者的可信度
  4. mdoc认证:防止文档跨设备复制

验证过程中需执行以下关键检查:

// 验证文档签名证书链
verifyCertificateChain(documentSigningCertificate, trustedRoots);

// 通过移动安全对象验证返回要素哈希摘要
verifyMobileSecurityObject(returnedElements, mso);

// 使用设备公钥验证文档来源
verifyDeviceKeySignature(document, devicePublicKey);

应用集成:IdentityDocumentServices框架

对于希望提供身份证件验证服务的应用开发者,苹果引入了IdentityDocumentServices框架。主要实施步骤包括:

  1. 注册扩展:通过IdentityDocumentProviderRegistrationStore注册文档类型和信任证书机构
  2. 构建UI:在扩展中创建授权界面展示请求方信息和所需要素
  3. 处理请求:验证原始请求签名并构建加密响应
  4. 提供取消选项:确保用户随时可以中止验证流程

关键创新是”部分请求”机制,该系统先验证请求签名后才向应用扩展提供部分请求用于UI构建,用户授权后才会释放完整ISO 18013设备请求,有效防范未经用户交互的原始数据解析风险。

实施建议与资源

网站开发者建议

  • 注册Apple Business Connect获取必要证书
  • 遵循W3C数字凭证API标准实现请求流程
  • 对接不同证件提供应用时需满足各自特定要求

应用开发者建议

  • 实现Identity Document Provider扩展目标
  • 深入研读ISO 18013系列相关标准文档
  • 正确实施请求验证和响应加密机制

总结

数字凭证API和IdentityDocumentServices框架为在线身份验证提供了标准化、安全的解决方案。通过采用mdoc格式和ISO标准,这些技术既提升了用户体验,又增强了安全性。随着数字身份证件的普及,这些API将为各类身份验证场景提供更灵活的解决方案。

相关资源

开发者可进一步参考以下资源深入了解相关技术:

相关视频

进一步了解声明式网页推送
Safari 浏览器和 WebKit 的新功能
钱包与 Apple Pay 的新功能

文档资源

作为身份文档提供者实施指南
在网页上请求移动文档