Las credenciales digitales son documentos digitales verificables de forma criptográfica que los usuarios pueden usar para proporcionar información sobre sí mismos y para autenticarse o autorizarse. Las credenciales digitales se basan en el estándar de la industria de la API de Digital Credentials de W3C. En Android, esto se implementa a través de la API de Digital Credentials del Administrador de credenciales.
Beneficios de las credenciales digitales
Las credenciales digitales ofrecen varias ventajas sobre las credenciales físicas y los documentos digitales no estandarizados:
- Mayor seguridad y confianza: Las credenciales digitales están encriptadas, lo que garantiza la integridad y la autenticidad de los datos. Esto afirma la certeza de que la credencial se emitió desde una fuente verificable y no se alteró.
- Mayor privacidad: Muchos formatos de credenciales digitales admiten la divulgación selectiva, lo que permite a los usuarios compartir solo la información necesaria. Por ejemplo, un usuario podría compartir un comprobante de calificación de conducción sin revelar su fecha de nacimiento.
- Almacenamiento consolidado: Los usuarios pueden almacenar varias credenciales de diferentes emisores en contenedores digitales en su dispositivo, lo que reduce la necesidad de llevar tarjetas físicas.
- Interoperabilidad: Si se siguen los estándares abiertos, las credenciales digitales pueden funcionar en diferentes sistemas operativos, dispositivos y plataformas.
Casos de uso
La API de Digital Credentials se puede usar en una amplia variedad de casos de uso, como los siguientes:
- Aceptar IDs emitidos por el gobierno: Las apps pueden solicitar y usar atributos de documentos oficiales del gobierno para flujos que incluyen la verificación de edad, la recuperación de la cuenta y el proceso de Conoce a tu cliente (KYC).
- Verificar números de teléfono: Las apps pueden usar la API para la verificación del número de teléfono. Para ello, intercambian credenciales digitales derivadas de la tarjeta SIM del teléfono directamente con el operador del usuario. Esto elimina la necesidad de contraseñas de un solo uso (OTP), mejora la seguridad y reduce los costos de transmisión. Para obtener más información, consulta la guía de verificación del número de teléfono.
- Verificar direcciones de correo electrónico: La API permite que tu app recupere correos electrónicos verificados directamente desde el dispositivo del usuario, lo que elimina la necesidad de OTP para el registro, el acceso y la recuperación de la cuenta sin problemas. Para obtener más información, consulta la guía de verificación por correo electrónico.
- Credenciales personalizadas: La extensibilidad de la API permite que cualquier app comience a emitir sus propias credenciales digitales personalizadas, que los verificadores correspondientes pueden solicitar.
- Confirmar credenciales y transacciones de pago: La API te permite proteger las autorizaciones de pago y las credenciales de pago digitales (DPC) con una confirmación de billetera nativa y vinculada de forma criptográfica.
Cómo funcionan las credenciales digitales
El ecosistema de credenciales digitales incluye tres categorías principales de apps:
- Emisores: Son apps que crean y emiten credenciales de forma segura.
- Contenedores (billeteras): Son apps en el dispositivo de un usuario que almacenan credenciales. Deben poder compartir estas credenciales con las apps solicitantes a través de un proceso de presentación.
- Verificadores: Son apps que verifican y usan credenciales digitales.
La API de Digital Credentials del Administrador de credenciales organiza la interacción entre las apps de emisores, contenedores y verificadores.
Cuando un verificador realiza una solicitud de credencial digital, envía una solicitud al sistema Android a través de la API. Luego, el Administrador de credenciales muestra las credenciales digitales aptas de varios contenedores dentro de una IU del sistema de confianza. Una vez que el usuario acepta continuar, el Administrador de credenciales invoca al contenedor correspondiente para generar la respuesta.
Experiencia del usuario
De manera similar a cómo Credential Manager tiene interfaces de usuario integradas para flujos de autenticación, como con llaves de acceso, contraseñas y Acceder con Google, también hay interfaces estandarizadas para los diversos casos de uso de la API de Digital Credentials.
Existen variantes de la IU adaptadas a casos de uso específicos. Cuando se usa la API, el sistema Android renderiza automáticamente hojas inferiores sensibles al contexto, como en los siguientes casos:
- Verificación de correo electrónico: La interfaz muestra un selector de cuentas con la dirección de correo electrónico verificada y el proveedor de identidad.
- Verificación del número de teléfono: La interfaz incluye una tarjeta de verificación con los operadores de red representados.
- Varias credenciales: Esta vista apila varias tarjetas y permite agrupar elementos relacionados en un solo toque.
- Credenciales de pagos digitales: Esta hoja de finalización de la compra muestra los detalles de la tarjeta de pago , la información del comercio y el importe total de la transacción para la confirmación inmediata.
Estándares de la industria
Las credenciales digitales se basan en estándares de la industria para garantizar la compatibilidad multiplataforma. Los estándares abiertos de uso común son los siguientes:
- Uso compartido: Las credenciales digitales se solicitan con el estándar OpenID4VP .
- Emisión: Las credenciales digitales se emiten con el estándar OpenID4VCI.
- Formato de almacenamiento de credenciales: Las credenciales digitales se representan en formatos estandarizados que mantienen diferentes organismos de estándares, principalmente los siguientes:
Estos estándares se usan ampliamente en varias plataformas y sistemas operativos, lo que permite un funcionamiento sin problemas en navegadores web, dispositivos móviles y otros factores de forma. Esto permite que los desarrolladores intercambien credenciales digitales con otras apps, independientemente de la plataforma en la que se encuentren.
Probar
Para probar el flujo de credenciales digitales multiplataforma, instala las apps de ejemplo de contenedor y verificador en un dispositivo que ejecute Android.
Para probar el flujo, completa los siguientes pasos:
- Instala las apps de ejemplo en el dispositivo que ejecute Android: Utiliza uno de los
siguientes métodos para instalar las apps en tu primer dispositivo:
- Usa los APK compilados previamente:
- Descarga la app de contenedor: Accede a tu cuenta de GitHub,
navega a la página de GitHub Actions de la app de contenedor,
selecciona la compilación exitosa más reciente y descarga el
app-debug.apkarchivo de la sección Artifacts. Esta app se llama CMWallet. - Descarga la app de verificador: Para la app de verificador de ejemplo, obtén el APK del repositorio de muestras de Identity. Luego, instala el APK en tu dispositivo que ejecute Android. Esta app se llama Digital Credentials Demo.
- Descarga la app de contenedor: Accede a tu cuenta de GitHub,
navega a la página de GitHub Actions de la app de contenedor,
selecciona la compilación exitosa más reciente y descarga el
- Compila desde la fuente: Clona los repositorios mencionados y, luego, instala la app con Android Studio.
- Usa los APK compilados previamente:
- Abre la app de contenedor de ejemplo: Abre la app de contenedor de ejemplo. Esto registra las credenciales del contenedor con Credential Manager.
- Abre la app de verificador de ejemplo: Abre la app de verificador de ejemplo. Luego, selecciona la opción para solicitar credenciales digitales de las billeteras. Debería aparecer una hoja inferior que muestre las credenciales disponibles de CMWallet.
- Selecciona una credencial: Selecciona una credencial para enviarla de vuelta a la app de verificador. La app de verificador ahora debería mostrar los campos de la credencial que se devolvió.
Recursos
- Para obtener más información sobre la emisión de credenciales digitales, consulta la guía del emisor.
- Para obtener más información sobre las apps de contenedor, consulta la guía del contenedor.
- Para obtener más información sobre la verificación de usuarios en función de las credenciales digitales, consulta la guía del verificador.
- Para obtener más información sobre las credenciales digitales en la Web, consulta Credenciales digitales en la Web.