Sécurité

Gérez les clés de manière sécurisée, et chiffrez les fichiers et les préférences partagées.

Ce tableau liste tous les artefacts du groupe androidx.security.

Artefact Version stable Version finale Version bêta Version alpha
security-crypto 1.0.0 - - 1.1.0-alpha06
security-app-authenticator - - 1.0.0-beta01 -
security-identity-credential - - - 1.0.0-alpha03
Dernière mise à jour de la bibliothèque: 7 août 2024

Déclarer des dépendances

Pour ajouter une dépendance à Security, vous devez ajouter le dépôt Maven de Google à votre projet. Pour en savoir plus, consultez la section Dépôt Maven de Google.

Ajoutez les dépendances correspondant aux artefacts dont vous avez besoin dans le fichier build.gradle de votre application ou de votre module :

Pour en savoir plus sur les dépendances, consultez Ajouter des dépendances de compilation.

Commentaires

Vos commentaires nous aident à améliorer Jetpack. N'hésitez pas à nous contacter si vous découvrez de nouveaux problèmes ou si vous avez des idées pour améliorer cette bibliothèque. Veuillez consulter les problèmes existants de cette bibliothèque avant d'en signaler un nouveau. Vous pouvez ajouter votre vote à un problème existant en cliquant sur le bouton en forme d'étoile.

Signaler un nouveau problème

Pour en savoir plus, consultez la documentation sur l'outil Issue Tracker.

Security-State version 1.0

Version 1.0.0-alpha04

7 août 2024

Publication d'androidx.security:security-state:1.0.0-alpha04. La version 1.0.0-alpha04 contient ces commits.

Note

  • Mise à jour de compileSdk vers 35 5dc41be

Modifications apportées à l'API

  • Changement incompatible: l'énumération des composants a été remplacée par des constantes de chaîne pour l'extensibilité. (Ia3283)

Version 1.0.0-alpha03

10 juillet 2024

Publication d'androidx.security:security-state:1.0.0-alpha03. La version 1.0.0-alpha03 contient ces commits.

Correction de bugs

  • Correction du modèle ASB-A- pour les bugs des bulletins de sécurité Android, analyse JSON pour les composants supplémentaires et récupération empaquetée Webview. (Ide86a)

Version 1.0.0-alpha02

26 juin 2024

Publication d'androidx.security:security-state:1.0.0-alpha02. La version 1.0.0-alpha02 contient ces commits.

Correction de bugs

  • Correction de la logique d'obtention de la version du kernel. (I5602a).

Version 1.0.0-alpha01

12 juin 2024

Publication d'androidx.security:security-state:1.0.0-alpha01. La version 1.0.0-alpha01 contient ces commits.

Nouvelles fonctionnalités

  • Security State est une nouvelle bibliothèque que les développeurs peuvent utiliser pour obtenir des données exploitables sur les versions des composants système pouvant être mis à jour, les mises à jour de sécurité et les correctifs appliqués.

Security-App-Authenticator-Testing version 1.0

Version 1.0.0-beta01

6 mars 2024

Publication d'androidx.security:security-app-authenticator:1.0.0-beta01 et d'androidx.security:security-app-authenticator-testing:1.0.0-beta01. La version 1.0.0-beta01 contient ces commits.

Version 1.0.0-alpha02

13 décembre 2023

Publication d'androidx.security:security-app-authenticator-testing:1.0.0-alpha02. Liste des commits de la version 1.0.0-alpha02.

Correction de bugs

  • Mise à jour du test pour le nouveau comportement de l'API qui ne suppose plus Binder#getCalling[Uid|Pid] lorsqu'il n'est pas fourni aux API [check|enforce]CallingAppIdentity. (I1851b)

Version 1.0.0-alpha01

2 juin 2021

Publication d'androidx.security:security-app-authenticator-testing:1.0.0-alpha01. Liste des commits de la version 1.0.0-alpha01

Nouvelles fonctionnalités

Cette bibliothèque de tests fournit un compilateur permettant de configurer un AppAuthenticator injectable afin de répondre aux exigences du test. Plusieurs méthodes de configuration de l'AppAuthenticator peuvent être utilisées dans cette bibliothèque :

  • Vous pouvez définir une règle de test générique qui signale une correspondance de signature pour tous les packages déclarés dans la configuration.
  • Vous pouvez définir des packages individuels pour qu'ils renvoient une correspondance de signature. Tous les autres packages ne renvoient aucune correspondance.
  • Vous pouvez définir des identités de signature explicites pour chaque package. AppAuthenticator n'affichera une correspondance de signature que si l'identité fournie correspond à la déclaration dans le fichier de configuration.
  • Les packages peuvent également être traités comme non installés ou comme s'ils présentaient un uid explicite.

Security-App-Authenticator version 1.0.0

Version 1.0.0-alpha03

13 décembre 2023

Publication d'androidx.security:security-app-authenticator:1.0.0-alpha03. Liste des commits de la version 1.0.0-alpha03

Modifications apportées à l'API

  • Prise en charge des cas d'utilisation où l'UID / PID du package à valider n'est pas disponible. Les API prennent désormais en charge des cas tels que startActivityForResult et les activités / récepteurs où l'identité de l'application appelante est partagée via [Activity|Broadcast]Options#setShareIdentityEnabled.
  • Le comportement de [check|enforce]CallingAppIdentity(String, String) a été mis à jour pour prendre en charge ces nouveaux cas d'utilisation. Ces méthodes n'utiliseront plus par défaut Binder#getCalling[Uid|Pid], mais ignoreront la validation de l'UID du package appelant s'il n'est pas fourni explicitement. (I1851b)

Version 1.0.0-alpha02

2 juin 2021

Publication d'androidx.security:security-app-authenticator:1.0.0-alpha02. Liste des commits de la version 1.0.0-alpha02.

Modifications apportées à l'API

  • En vue de la prise en charge du nouvel indicateur de protection des autorisations knownSigner introduit dans Android 12, l'attribut digestAlgorithm ne peut plus être spécifié dans la configuration. À la place, tous les condensés de certificats doivent être calculés à l'aide de SHA-256.

Corrections de bugs

  • Tous les condensés de certificats fournis dans la configuration sont désormais normalisés afin de garantir qu'une correspondance de signature réussie soit signalée lors du calcul du condensé au moment de l'exécution et lors de la définition d'une identité de signature explicite pendant l'utilisation de la bibliothèque de tests.

Version 1.0.0-alpha01

5 mai 2021

Publication d'androidx.security:security-app-authenticator:1.0.0-alpha01. Liste des commits de la version 1.0.0-alpha01

Nouvelles fonctionnalités

AppAuthenticator est une nouvelle bibliothèque destinée à simplifier la vérification de l'approbation des applications en fonction de l'identité de signature. L'application doit simplement spécifier un fichier de configuration XML contenant les noms des packages et les identités de signature des applications approuvées. La bibliothèque se charge de valider l'identité de signature de l'application au moment de l'exécution.

Version 1.1.0

Version 1.1.0-alpha06

19 avril 2023

Publication d'androidx.security:security-crypto:1.1.0-alpha06 et d'androidx.security:security-crypto-ktx:1.1.0-alpha06. Liste des commits de la version 1.1.0-alpha06

Nouvelles fonctionnalités

  • Mise à jour de la dépendance Tink vers la version 1.8.0

Version 1.1.0-alpha05

22 février 2023

Publication d'androidx.security:security-crypto:1.1.0-alpha05 et d'androidx.security:security-crypto-ktx:1.1.0-alpha05. Liste des commits de la version 1.1.0-alpha05

Corrections de bugs

  • Correction d'une condition de concurrence dans MasterKeys.getOrCreate. (I3391e, b/268572037)

Version 1.1.0-alpha04

9 novembre 2022

Publication d'androidx.security:security-crypto:1.1.0-alpha04 et d'androidx.security:security-crypto-ktx:1.1.0-alpha04. Liste des commits de la version 1.1.0-alpha04

Nouvelles fonctionnalités

  • Suppression du message de journal "Keyset not found, will generate a new one" (Ensemble de clés introuvable ; un nouvel ensemble de clés sera généré) lors du premier lancement de l'application. (b/185219606)
  • Mise à niveau de la dépendance Tink vers la version 1.7.0.

Modifications apportées à l'API

  • Modifie EncryptedFile#openFileInput() pour générer un FileNotFoundException, plutôt qu'un IOException générique lorsque le fichier demandé n'existe pas. (I80e41, b/148804719)
  • Mise à jour de la classe "MasterKeys" pour qu'elle utilise Android M plutôt que chacune de ses méthodes. (I8b4b8)
  • Modifie tous les getters de préférence sur EncryptedSharedPreferences (ex. #getString, #getInt) pour générer SecurityException dans les rares cas où le type d'une valeur ne peut pas être mis en correspondance avec l'une des variantes d'énumération définies. (b/241699427)

Corrections de bugs

  • Synchronisation de la version minimale du SDK de la bibliothèque security-crypto-ktx avec security-crypto en la ramenant à la version v21. (b/193550375)
  • Correction d'un bug de simultanéité lors de la création de plusieurs éléments EncryptedFile. (b/136590547)

Contribution externe

  • Réception d'un correctif pour EncryptedSharedPreferences.Editor#remove de la part de chr.ibbotson@gmail.com. (b/224994760, b/134197835, f44d44d)

Security-Crypto-Ktx version 1.1.0-alpha03

18 mai 2021

Publication d'androidx.security:security-crypto-ktx:1.1.0-alpha03. Liste des commits de la version 1.1.0-alpha03

Mise à jour pour correspondre à androidx.security:security-crypto:1.1.0-alpha03.

Version 1.1.0-alpha03

2 décembre 2020

Publication d'androidx.security:security-crypto:1.1.0-alpha03. Liste des commits de la version 1.1.0-alpha03

Nouvelles fonctionnalités

  • Mise à jour de Tink vers la version stable 1.5.0.

Version 1.1.0-alpha02

5 août 2020

Publication d'androidx.security:security-crypto:1.1.0-alpha02 et d'androidx.security:security-crypto-ktx:1.1.0-alpha02. Liste des commits de la version 1.1.0-alpha02

Nouvelles fonctionnalités

  • Mise à jour de Tink vers la version stable 1.4.0.

Corrections de bugs

  • La mise à jour de Tink devrait résoudre les problèmes de R8 et de ProGuard avec la dépendance de tampon de protocole ombré.
  • La mise à jour de Tink doit gérer normalement les échecs de simultanéité d'AndroidKeyStore.

Contribution externe

  • Effacement de mKeysChanged lors de l'application, correction d'EncryptedSharedPreferences (aosp/1323026).

Version 1.1.0-alpha01

10 juin 2020

Publication d'androidx.security:security-crypto:1.1.0-alpha01. Liste des commits de la version 1.1.0-alpha01

Nouvelles fonctionnalités

  • Prise en charge de Lollipop (niveau d'API 21 ou version ultérieure). Veuillez noter qu'AndroidKeyStore n'est pas utilisé pour les API 21 et 22 (I7c12d, b/132325342).
  • La nouvelle classe MasterKey fournit plus d'options pour les clés, et remplace les MasterKeys pour assurer la prise en charge des nouvelles fonctionnalités et versions d'Android qui ne présentent pas de KeyGenParamSpec.

Security-Identity-Credential version 1.0.0

Version 1.0.0-alpha03

1er septembre 2021

Publication d'androidx.security:security-identity-credential:1.0.0-alpha03. Liste des commits de la version 1.0.0-alpha03

Nouvelles fonctionnalités

  • Prise en charge des fonctionnalités Identity Credential intégrées au matériel dans Android 12.

Version 1.0.0-alpha02

24 février 2021

Publication d'androidx.security:security-identity-credential:1.0.0-alpha02. Liste des commits de la version 1.0.0-alpha02.

Corrections de bugs

  • Mise à jour de l'API Identity Credential pour correspondre aux prévisions d'Android 12 (Iff83e)

Version 1.0.0-alpha01

19 août 2020

Publication d'androidx.security:security-identity-credential:1.0.0-alpha01. Liste des commits de la version 1.0.0-alpha01

Nouvelles fonctionnalités

Cette version de Jetpack inclut une version des API Identity Credential pour Jetpack, qui a été ajoutée à Android 11 et au niveau d'API 30. Si l'appareil est équipé d'Android 11 et prend en charge les fonctionnalités Identity Credential intégrées au matériel, cette version de Jetpack transfère simplement les appels à l'API de la plate-forme. Sinon, une implémentation Android basée sur un keystore sera utilisée. Bien que ce type d'implémentation n'offre pas le même niveau de sécurité et de confidentialité, elle convient parfaitement aussi bien aux conteneurs qu'aux émetteurs dans les cas où toutes les données sont signées par l'émetteur. Cette bibliothèque requiert le niveau d'API 24 ou ultérieur.

Les API Identity Credential fournissent une interface à un magasin sécurisé pour les documents d'identité des utilisateurs. Ces API sont délibérément générales et abstraites. Dans la mesure du possible, la spécification des formats de messages et de la sémantique de communication avec les appareils de vérification des identifiants et les autorités d'émission n'est pas couverte par ces API. Les structures de données dont dépendent les API sont compatibles avec les structures de données de la norme ISO/IEC IS 18013-5 à paraître : Identification des personnes — Permis de conduire conforme à l'ISO — Partie 5 : Application permis de conduire sur téléphone mobile.

Modifications apportées à l'API

  • Ajout du Jetpack Identity Credential (Icf90b).

Version 1.0.0

Version 1.0.0

21 avril 2021

Publication d'androidx.security:security-crypto:1.0.0. Liste des commits de la version 1.0.0

Principales fonctionnalités de la version 1.0.0

Fonctionnalités clés

  • EncryptedFile fournit des flux d'entrée et de sortie chiffrés pour lire et écrire des données chiffrées dans un fichier.
  • EncryptedSharedPreferences implémente SharedPreferences pour chiffrer/déchiffrer automatiquement toutes les clés et les valeurs.
  • Permet de générer simplement des clés via MasterKeys.
  • Se base sur la version 1.5.0 de Tink pour une meilleure stabilité.

Version 1.0.0-rc04

13 janvier 2021

Publication d'androidx.security:security-crypto:1.0.0-rc04. Liste des commits de la version 1.0.0-rc04

Corrections de bugs

  • Mise à niveau de Tink vers la version 1.5.0 pour renforcer sa stabilité.

Version 1.0.0-rc03

5 août 2020

Publication d'androidx.security:security-crypto:1.0.0-rc03. Liste des commits de la version 1.0.0-rc03

Nouvelles fonctionnalités

  • Mise à jour de Tink vers la version stable 1.4.0.

Corrections de bugs

  • La mise à jour de Tink devrait résoudre les problèmes de R8 et de ProGuard avec la dépendance de tampon de protocole ombré.
  • La mise à jour de Tink doit gérer normalement les échecs de simultanéité d'AndroidKeyStore.

Contribution externe

  • Effacement de mKeysChanged lors de l'application, correction d'EncryptedSharedPreferences (aosp/1323026).

Version 1.0.0-rc02

20 mai 2020

Publication d'androidx.security:security-crypto:1.0.0-rc02. Liste des commits de la version 1.0.0-rc02

Corrections de bugs

  • Mise à jour vers la version 1.4.0-rc2 de Tink, qui occulte la dépendance lite des tampons de protocole. Cela permet de résoudre un problème courant de conflit avec d'autres SDK Android (I8a831).
  • Correction de apply() dans EncryptedSharedPreferences (I29069, b/154366606).

Version 1.0.0-rc01

15 avril 2020

Publication d'androidx.security:security-crypto:1.0.0-rc01. Liste des commits de la version 1.0.0-rc01

Corrections de bugs

  • Ajout de vérifications pour garantir que si une KeyGenParamSpec est transmise à MasterKeys.getOrCreate, ce getUserAuthenticationRequired renvoie true et getUserAuthenticationValidityDurationSeconds renvoie une valeur supérieure à 0 (I911f5) (b/152644939).

Version 1.0.0-beta01

18 mars 2020

Publication d'androidx.security:security-crypto:1.0.0-beta01 sans aucune modification par rapport à la version 1.0.0-alpha02. Liste des commits de la version 1.0.0-beta01

Version 1.0.0-alpha02

23 mai 2019

Publication d'androidx.security:security-crypto:1.0.0-alpha02. Les commits inclus dans cette version sont disponibles dans ce journal de commits.

Corrections de bugs

  • Résolution du problème de récupération des clés-valeurs associées aux préférences partagées à partir de getAll().
  • Blocage de l'utilisation de clés à préférence restreinte.
  • Mises à jour mineures de Javadoc.

Version 1.0.0-alpha01

7 mai 2019

Publication d'androidx.security:security-crypto:1.0.0-alpha01. Les commits inclus dans cette version sont disponibles sur cette page.

Nouvelles fonctionnalités

  • EncryptedFile fournit des flux d'entrée et de sortie chiffrés pour lire et écrire des données chiffrées dans un fichier.
  • EncryptedSharedPreferences implémente SharedPreferences pour chiffrer/déchiffrer automatiquement toutes les clés et les valeurs.
  • Permet de générer simplement des clés via MasterKeys.