Seguridad
En esta tabla, se enumeran todos los artefactos del grupo androidx.security
.
Artefacto | Versión estable | Versión potencial | Versión beta | Versión Alfa |
---|---|---|---|---|
security-crypto | 1.0.0 | - | - | 1.1.0-alpha06 |
security-app-authenticator | - | - | 1.0.0-beta01 | - |
security-identity-credential | - | - | - | 1.0.0-alpha03 |
Cómo declarar dependencias
Para agregar una dependencia en Security, debes agregar el repositorio de Maven de Google a tu proyecto. Lee el repositorio Maven de Google para obtener más información.
Agrega las dependencias de los artefactos que necesites en el archivo build.gradle
de tu app o módulo:
Para obtener más información sobre las dependencias, consulta Cómo agregar dependencias de compilación.
Comentarios
Tus comentarios ayudan a mejorar Jetpack. Avísanos si descubres nuevos errores o tienes ideas para mejorar esta biblioteca. Consulta los errores existentes de esta biblioteca antes de crear uno nuevo. Puedes agregar tu voto a un error existente haciendo clic en el botón de la estrella.
Consulta la documentación sobre la Herramienta de seguimiento de errores para obtener más información.
Security-State versión 1.0
Versión 1.0.0-alpha04
7 de agosto de 2024
Lanzamiento de androidx.security:security-state:1.0.0-alpha04
. La versión 1.0.0-alpha04 contiene estas confirmaciones.
Nota
- Se actualizó
compileSdk
a 35 5dc41be
Cambios en la API
- Cambio rotundo: La enumeración de componentes se reemplazó por constantes de cadena para la extensibilidad. (Ia3283).
Versión 1.0.0-alpha03
10 de julio de 2024
Lanzamiento de androidx.security:security-state:1.0.0-alpha03
. La versión 1.0.0-alpha03 contiene estas confirmaciones.
Correcciones de errores
- Se corrigió el patrón ASB-A- para errores de boletines de seguridad de Android, análisis de JSON para componentes adicionales y recuperación de paquetes
Webview
. (Ide86a).
Versión 1.0.0-alpha02
26 de junio de 2024
Lanzamiento de androidx.security:security-state:1.0.0-alpha02
. La versión 1.0.0-alpha02 contiene estas confirmaciones.
Correcciones de errores
- Se corrigió la lógica para obtener la versión del kernel. (I5602a).
Versión 1.0.0-alpha01
12 de junio de 2024
Lanzamiento de androidx.security:security-state:1.0.0-alpha01
. La versión 1.0.0-alpha01 contiene estas confirmaciones.
Nuevas funciones
- El estado de seguridad es una biblioteca nueva que los desarrolladores pueden usar para obtener datos prácticos sobre versiones de componentes del sistema actualizables, actualizaciones de seguridad y correcciones aplicadas.
Security-App-Authenticator-Testing versión 1.0
Versión 1.0.0-beta01
6 de marzo de 2024
Lanzamiento de androidx.security:security-app-authenticator:1.0.0-beta01
y androidx.security:security-app-authenticator-testing:1.0.0-beta01
. La versión 1.0.0-beta01 contiene estas confirmaciones.
Versión 1.0.0-alpha02
13 de diciembre de 2023
Lanzamiento de androidx.security:security-app-authenticator-testing:1.0.0-alpha02
. La versión 1.0.0-alpha02 contiene estas confirmaciones.
Correcciones de errores
- Se actualizó la prueba del nuevo comportamiento de la API que ya no supone
Binder#getCalling[Uid|Pid]
cuando no se proporciona a las APIs de[check|enforce]CallingAppIdentity
. (I1851b)
Versión 1.0.0-alpha01
2 de junio de 2021
Lanzamiento de androidx.security:security-app-authenticator-testing:1.0.0-alpha01
. La versión 1.0.0-alpha01 contiene estas confirmaciones.
Nuevas funciones
Esta biblioteca de prueba proporciona un compilador que se puede usar para configurar un AppAuthentable que se puede insertar a fin de cumplir con los requisitos de la prueba. Esta biblioteca admite varios métodos para configurar AppAutenticador:
- Se puede especificar una política de prueba genérica que informa una coincidencia de firma para todos los paquetes declarados en la configuración.
- Se pueden especificar paquetes individuales para mostrar una coincidencia de firma con todos los demás paquetes que no coincidan.
- Se pueden establecer identidades de firma explícitas para cada paquete. Luego, el AppAuthenticator que se arroje como resultado solo informará una coincidencia de firma si la identidad proporcionada coincide con la declaración en el archivo de configuración.
- Los paquetes también se pueden tratar como no instalados o que tienen un uid explícito.
Security-App-Authenticator versión 1.0.0
Versión 1.0.0-alpha03
13 de diciembre de 2023
Lanzamiento de androidx.security:security-app-authenticator:1.0.0-alpha03
. La versión 1.0.0-alpha03 contiene estas confirmaciones.
Cambios en la API
- Se agregó compatibilidad con casos de uso en los que el UID o el PID del paquete que se debe verificar no están disponibles. Las APIs ahora admiten casos como
startActivityForResult
y actividades o receptores en los que la identidad de la app que realiza la llamada se comparte a través de[Activity|Broadcast]Options#setShareIdentityEnabled
. - Se actualizó el comportamiento de
[check|enforce]CallingAppIdentity(String, String)
para admitir estos nuevos casos de uso. Estos métodos ya no usaránBinder#getCalling[Uid|Pid]
de forma predeterminada, sino que omitirán la verificación del UID del paquete de llamada si no se proporciona de forma explícita. (I1851b).
Versión 1.0.0-alpha02
2 de junio de 2021
Lanzamiento de androidx.security:security-app-authenticator:1.0.0-alpha02
. La versión 1.0.0-alpha02 contiene estas confirmaciones.
Cambios en la API
- A fin de admitir la nueva marca de protección de permisos del elemento
knownSigner
que se introdujo en Android 12, el atributo digestAlgorithm ya no se puede especificar en la configuración. En su lugar, todos los resúmenes de certificados se deben calcular mediante SHA-256.
Correcciones de errores
- Todos los resúmenes de certificados que se proporcionan en la configuración ahora se normalizan para garantizar que se pueda informar una coincidencia de firma exitosa cuando se calcula el resumen en el tiempo de ejecución y también cuando se define una identidad de firma explícita cuando se usa la biblioteca de pruebas.
Versión 1.0.0-alpha01
5 de mayo de 2021
Lanzamiento de androidx.security:security-app-authenticator:1.0.0-alpha01
. La versión 1.0.0-alpha01 contiene estas confirmaciones.
Nuevas funciones
AppAuthenticator es una nueva biblioteca que simplifica la forma de verificar que las apps sean de confianza en función de la identidad de las firmas. Las apps solo deben especificar un archivo de configuración XML que contenga los nombres de paquetes y las identidades de las firmas de las apps de confianza. La biblioteca se encargará de verificarlas durante el tiempo de ejecución.
Versión 1.1.0
Versión 1.1.0-alpha06
19 de abril de 2023
Lanzamiento de androidx.security:security-crypto:1.1.0-alpha06
y androidx.security:security-crypto-ktx:1.1.0-alpha06
. La versión 1.1.0-alpha06 contiene estas confirmaciones.
Nuevas funciones
- Se actualizó la dependencia de Tink a la versión 1.8.0.
Versión 1.1.0-alpha05
22 de febrero de 2023
Lanzamiento de androidx.security:security-crypto:1.1.0-alpha05
y androidx.security:security-crypto-ktx:1.1.0-alpha05
. La versión 1.1.0-alpha05 contiene estas confirmaciones.
Correcciones de errores
- Se corrigió una condición de carrera en
MasterKeys.getOrCreate
(I3391e, b/268572037).
Versión 1.1.0-alpha04
9 de noviembre de 2022
Se lanzaron androidx.security:security-crypto:1.1.0-alpha04
y androidx.security:security-crypto-ktx:1.1.0-alpha04
. La versión 1.1.0-alpha04 contiene estas confirmaciones.
Nuevas funciones
- Se quitó el mensaje de registro que indicaba que no se encontró el conjunto de claves y se generaría uno nuevo cuando se inicia la app por primera vez (b/185219606).
- Se actualizó la dependencia de Tink a la versión 1.7.0.
Cambios en la API
- Se cambió
EncryptedFile#openFileInput()
para que arroje unFileNotFoundException
, en lugar de unIOException
genérico cuando el archivo solicitado no existe (I80e41, b/148804719). - Se actualizó la clase "MasterKeys" para que requiera Android M en lugar de cada uno de sus métodos (I8b4b8).
- Se cambiaron todos los métodos get de preferencias en
EncryptedSharedPreferences
(p. ej.,#getString
y#getInt
) para que arrojenSecurityException
en circunstancias excepcionales en las que el tipo de valor no pueda coincidir con una de las variantes de tipo enum definidas (b/241699427).
Correcciones de errores
- Se sincronizó la versión mínima del SDK de la biblioteca security-crypto-ktx con security-crypto reduciendo la versión a 21 (b/193550375).
- Se corrigió un error de simultaneidad que ocurría cuando se compilaban varios
EncryptedFile
(b/136590547).
Contribución externa
- Se recibió una corrección para
EncryptedSharedPreferences.Editor#remove
de chr.ibbotson@gmail.com (b/224994760, b/134197835, f44d44d).
Security-Crypto-Ktx versión 1.1.0-alpha03
18 de mayo de 2021
Lanzamiento de androidx.security:security-crypto-ktx:1.1.0-alpha03
. La versión 1.1.0-alpha03 contiene estas confirmaciones.
Se actualizó para que coincida con androidx.security:security-crypto:1.1.0-alpha03
.
Versión 1.1.0-alpha03
2 de diciembre de 2020
Lanzamiento de androidx.security:security-crypto:1.1.0-alpha03
. La versión 1.1.0-alpha03 contiene estas confirmaciones.
Nuevas funciones
- Se actualizó Tink a la versión estable
1.5.0
.
Versión 1.1.0-alpha02
5 de agosto de 2020
Lanzamiento de androidx.security:security-crypto:1.1.0-alpha02
y androidx.security:security-crypto-ktx:1.1.0-alpha02
. La versión 1.1.0-alpha02 contiene estas confirmaciones.
Nuevas funciones
- Se actualizó Tink a la versión estable
1.4.0
.
Correcciones de errores
- La actualización de Tink debería solucionar los problemas de R8 y ProGuard mediante la dependencia Protobuf de sombras.
- La actualización de Tink debería resolver fácilmente las fallas de simultaneidad de AndroidKeyStore.
Contribución externa
- Borra
mKeysChanged
cuando se lo aplique a fin de corregir EncryptedSharedPreferences (aosp/1323026).
Versión 1.1.0-alpha01
10 de junio de 2020
Lanzamiento de androidx.security:security-crypto:1.1.0-alpha01
. La versión 1.1.0-alpha01 contiene estas confirmaciones.
Nuevas funciones
- Ahora se admite Lollipop (nivel de API 21 y versiones posteriores). Ten en cuenta que no se usa AndroidKeyStore en las API 21 y 22. (I7c12d, b/132325342)
- La nueva clase MasterKey brinda más opciones para las claves y también retira MasterKeys a fin de admitir nuevas funciones y versiones de Android que no tienen KeyGenParamSpec.
Security-Identity-Credential versión 1.0.0
Versión 1.0.0-alpha03
1 de septiembre de 2021
Lanzamiento de androidx.security:security-identity-credential:1.0.0-alpha03
. La versión 1.0.0-alpha03 contiene estas confirmaciones.
Nuevas funciones
- Se agregó compatibilidad para funciones Identity Credential con copia de seguridad en hardware en Android 12.
Versión 1.0.0-alpha02
24 de febrero de 2021
Lanzamiento de androidx.security:security-identity-credential:1.0.0-alpha02
. La versión 1.0.0-alpha02 contiene estas confirmaciones.
Correcciones de errores
- Actualizamos la API de Identity Credential para que coincida con los planes de Android 12. (Iff83e)
Versión 1.0.0-alpha01
19 de agosto de 2020
Lanzamiento de androidx.security:security-identity-credential:1.0.0-alpha01
. La versión 1.0.0-alpha01 contiene estas confirmaciones.
Nuevas funciones
Esta versión de Jetpack incluye una versión de las API de credenciales de identidad para Jetpack, que se agregó a Android 11 y al nivel de API 30. Si se ejecuta en Android 11 y el dispositivo tiene compatibilidad con credenciales de identidad con copia de seguridad en hardware, esta versión de Jetpack simplemente reenviará las llamadas a la API de la plataforma. De lo contrario, se usará una implementación con copia de seguridad en Android Keystore. Si bien esta implementación no brinda el mismo nivel de seguridad y privacidad, es totalmente adecuada tanto para entidades titulares y las emisoras en casos en los que todos los datos estén firmados por estas últimas entidades. Esta biblioteca requiere un nivel de API 24 o superior.
Las API de credenciales de identidad proporcionan una interfaz para lograr un almacenamiento seguro de los documentos de identidad de los usuarios. Estas API son intencionalmente generales y abstractas. En la medida de lo posible, la especificación de los formatos de mensajes y la semántica de la comunicación con los dispositivos de verificación de credenciales y las Autoridades emisoras (IA) están fuera del alcance de estas API. Las estructuras de datos de las que dependen las API son compatibles con aquellas en el estándar próximo a publicarse ISO/IEC DIS 1801-5 Identificación personal - Licencia de conducir conforme a ISO — Parte 5: Solicitud de licencias de conducir en dispositivos móviles (mDL).
Cambios en la API
- Se agregó Credenciales de Identidad para Jetpack. (Icf90b)
Versión 1.0.0
Versión 1.0.0
21 de abril de 2021
Lanzamiento de androidx.security:security-crypto:1.0.0
. La versión 1.0.0 contiene estas confirmaciones.
Funciones principales de la versión 1.0.0
Características principales
EncryptedFile
proporciona transmisiones de entrada y salida encriptadas para leer o escribir datos encriptados en un archivo.EncryptedSharedPreferences
proporciona una implementación de SharedPreferences que encripta y desencripta automáticamente todas las claves y los valores.- Proporciona una generación de claves simple mediante MasterKeys.
- Se basa en Tink 1.5.0 para aumentar la estabilidad.
Versión 1.0.0-rc04
13 de enero de 2021
Lanzamiento de androidx.security:security-crypto:1.0.0-rc04
. La versión 1.0.0-rc04 contiene estas confirmaciones.
Correcciones de errores
- Se actualizó Tink a la versión 1.5.0 para aumentar la estabilidad.
Versión 1.0.0-rc03
5 de agosto de 2020
Lanzamiento de androidx.security:security-crypto:1.0.0-rc03
. La versión 1.0.0-rc03 contiene estas confirmaciones.
Nuevas funciones
- Se actualizó Tink a la versión estable
1.4.0
.
Correcciones de errores
- La actualización de Tink debería solucionar los problemas de R8 y ProGuard mediante la dependencia Protobuf de sombras.
- La actualización de Tink debería resolver fácilmente las fallas de simultaneidad de AndroidKeyStore.
Contribución externa
- Borra
mKeysChanged
cuando se lo aplique a fin de corregir EncryptedSharedPreferences (aosp/1323026).
Versión 1.0.0-rc02
20 de mayo de 2020
Lanzamiento de androidx.security:security-crypto:1.0.0-rc02
. La versión 1.0.0-rc02 contiene estas confirmaciones.
Correcciones de errores
- Se actualizó a la versión 1.4.0-rc2 de Tink, que corrige la dependencia del búfer de protocolo en modo lite. Esto soluciona el problema ampliamente denunciado del conflicto con otros SDK de Android (I8a831).
- Se corrigió
apply()
enEncryptedSharedPreferences
(I29069, b/154366606).
Versión 1.0.0-rc01
15 de abril de 2020
Lanzamiento de androidx.security:security-crypto:1.0.0-rc01
. La versión 1.0.0-rc01 contiene estas confirmaciones.
Correcciones de errores
- Se agregaron marcas para garantizar que, si se pasa un
KeyGenParamSpec
aMasterKeys.getOrCreate
,getUserAuthenticationRequired
muestratrue
ygetUserAuthenticationValidityDurationSeconds
muestra un valor > 0 (I911f5) (b/152644939).
Versión 1.0.0-beta01
18 de marzo de 2020
Lanzamiento de androidx.security:security-crypto:1.0.0-beta01
sin cambios desde 1.0.0-alpha02
. La versión 1.0.0-beta01 contiene estas confirmaciones.
Versión 1.0.0-alpha02
23 de mayo de 2019
Lanzamiento de androidx.security:security-crypto:1.0.0-alpha02
.
Para conocer las confirmaciones incluidas en esta versión, consulta el registro de confirmaciones.
Correcciones de errores
- Se solucionó un problema que se generaba al recuperar claves/valores asociados con las preferencias compartidas de
getAll()
. - Se bloqueó el uso de claves de preferencia restringidas.
- Se realizaron actualizaciones menores en Javadoc.
Versión 1.0.0-alpha01
7 de mayo de 2019
Lanzamiento de androidx.security:security-crypto:1.0.0-alpha01
. Para conocer las confirmaciones incluidas en esta versión, consulta este artículo.
Nuevas funciones destacadas
EncryptedFile
proporciona transmisiones de entrada y salida encriptadas para leer o escribir datos encriptados en un archivo.EncryptedSharedPreferences
proporciona una implementación deSharedPreferences
que encripta y desencripta automáticamente todas las claves y los valores.- Proporciona una generación de claves simple mediante MasterKeys.