Sicurezza

Gestisci in sicurezza le chiavi e cripta file e sharedpreferences.

Questa tabella elenca tutti gli elementi nel gruppo androidx.security.

Elemento Release stabile Candidato per la release Versione beta Versione alpha
security-crypto 1.0.0 - - 1.1.0-alpha06
security-app-authenticator - - 1.0.0-beta01 -
credenziali-identità-sicurezza - - - 1.0.0-alpha03
Ultimo aggiornamento di questa raccolta: 7 agosto 2024

Dichiarazione delle dipendenze

Per aggiungere una dipendenza alla sicurezza, devi aggiungere il Repository Maven di Google al tuo progetto. Per ulteriori informazioni, consulta il repository Maven di Google.

Aggiungi le dipendenze per gli elementi necessari nel file build.gradle per la tua app o il tuo modulo:

Per saperne di più sulle dipendenze, consulta Aggiungere dipendenze build.

Feedback

Il tuo feedback ci aiuta a migliorare Jetpack. Facci sapere se riscontri nuovi problemi o hai idee per migliorare questa raccolta. Prima di crearne uno nuovo, dai un'occhiata ai problemi esistenti in questa raccolta. Puoi aggiungere il tuo voto a un problema esistente facendo clic sul pulsante a forma di stella.

Creare un nuovo problema

Per ulteriori informazioni, consulta la documentazione di Issue Tracker.

Security-State versione 1.0

Versione 1.0.0-alpha04

7 agosto 2024

Viene rilasciato androidx.security:security-state:1.0.0-alpha04. La versione 1.0.0-alpha04 contiene questi commit.

Nota

  • Aggiorna compileSdk alla versione 35 5dc41be

Modifiche alle API

  • Modifica che comporta una rottura: l'enum Component è stato sostituito con costanti di stringa per l'estensibilità. (Ia3283)

Versione 1.0.0-alpha03

10 luglio 2024

androidx.security:security-state:1.0.0-alpha03 viene rilasciato. La versione 1.0.0-alpha03 contiene questi commit.

Correzioni di bug

  • Correzione del pattern ASB-A- per i bug del bollettino sulla sicurezza di Android, analisi JSON per componenti aggiuntivi e recupero pacchettizzato Webview. (Ide86a)

Versione 1.0.0-alpha02

26 giugno 2024

androidx.security:security-state:1.0.0-alpha02 viene rilasciato. La versione 1.0.0-alpha02 contiene questi commit.

Correzioni di bug

  • È stata corretta la logica di acquisizione della versione del kernel. (I5602a)

Versione 1.0.0-alpha01

12 giugno 2024

Viene rilasciato androidx.security:security-state:1.0.0-alpha01. La versione 1.0.0-alpha01 contiene questi commit.

Nuove funzionalità

  • Security State è una nuova libreria che gli sviluppatori possono utilizzare per ottenere dati strategici sulle versioni dei componenti di sistema aggiornabili, sugli aggiornamenti della sicurezza e sulle correzioni applicate.

Security-App-Authenticator-Testing versione 1.0

Versione 1.0.0-beta01

6 marzo 2024

androidx.security:security-app-authenticator:1.0.0-beta01 e androidx.security:security-app-authenticator-testing:1.0.0-beta01 vengono rilasciati. La versione 1.0.0-beta01 contiene questi commit.

Versione 1.0.0-alpha02

13 dicembre 2023

androidx.security:security-app-authenticator-testing:1.0.0-alpha02 viene rilasciato. La versione 1.0.0-alpha02 contiene questi commit.

Correzioni di bug

  • Test aggiornato per il nuovo comportamento dell'API che non presuppone più Binder#getCalling[Uid|Pid] se non fornito alle API [check|enforce]CallingAppIdentity. (I1851b)

Versione 1.0.0-alpha01

2 giugno 2021

androidx.security:security-app-authenticator-testing:1.0.0-alpha01 viene rilasciato. La versione 1.0.0-alpha01 contiene questi commit.

Nuove funzionalità

Questa libreria di test fornisce un builder che può essere utilizzato per configurare un AppAuthenticator iniettabile per soddisfare i requisiti del test. Questa libreria supporta diversi metodi per configurare AppAuthenticator:

  • È possibile specificare un criterio di test generico che segnali una corrispondenza della firma per tutti i pacchetti dichiarati nella configurazione.
  • È possibile specificare singoli pacchetti in modo che restituiscano una corrispondenza della firma con tutti gli altri pacchetti che non segnalano alcuna corrispondenza.
  • È possibile impostare identità di firma esplicite per ogni pacchetto. L'AppAuthenticator risultante segnalerà una corrispondenza della firma solo se l'identità fornita corrisponde alla dichiarazione nel file di configurazione.
  • I pacchetti possono anche essere trattati come non installati o con un uid esplicito.

Security-App-Authenticator versione 1.0.0

Versione 1.0.0-alpha03

13 dicembre 2023

androidx.security:security-app-authenticator:1.0.0-alpha03 viene rilasciato. La versione 1.0.0-alpha03 contiene questi commit.

Modifiche alle API

  • È stato aggiunto il supporto per i casi d'uso in cui l'UID / PID del pacchetto da verificare non è disponibile. Ora le API supportano casi come startActivityForResult e attività / ricevitori in cui l'identità dell'app chiamante viene condivisa tramite [Activity|Broadcast]Options#setShareIdentityEnabled.
  • Il comportamento di [check|enforce]CallingAppIdentity(String, String) è stato aggiornato per supportare questi nuovi casi d'uso. Per impostazione predefinita, questi metodi non utilizzeranno più Binder#getCalling[Uid|Pid], ma salteranno la verifica dell'UID del pacchetto chiamante se non viene fornito esplicitamente. (I1851b)

Versione 1.0.0-alpha02

2 giugno 2021

Viene rilasciato androidx.security:security-app-authenticator:1.0.0-alpha02. La versione 1.0.0-alpha02 contiene questi commit.

Modifiche all'API

  • In preparazione al supporto del nuovo flag di protezione delle autorizzazioni knownSigner introdotto in Android 12, l'attributo digestAlgorithm non può più essere specificato nella configurazione. Tutti i digest dei certificati devono essere calcolati utilizzando SHA-256.

Correzioni di bug

  • Tutti i digest dei certificati forniti nella configurazione sono ora normalizzati per garantire che sia possibile segnalare una corrispondenza della firma sia quando il digest viene calcolato in fase di esecuzione sia quando viene definita un'identità di firma esplicita durante l'utilizzo della libreria di test.

Versione 1.0.0-alpha01

5 maggio 2021

androidx.security:security-app-authenticator:1.0.0-alpha01 viene rilasciato. La versione 1.0.0-alpha01 contiene questi commit.

Nuove funzionalità

AppAuthenticator è una nuova raccolta che mira a semplificare la verifica dell'attendibilità delle app in base all'identità di firma. Un'app deve solo specificare un file di configurazione XML contenente i nomi dei pacchetti e le identità di firma delle app attendibili e la libreria si occuperà di verificare l'identità di firma delle app in fase di esecuzione.

Versione 1.1.0

Versione 1.1.0-alpha06

19 aprile 2023

androidx.security:security-crypto:1.1.0-alpha06 e androidx.security:security-crypto-ktx:1.1.0-alpha06 vengono rilasciati. La versione 1.1.0-alpha06 contiene questi commit.

Nuove funzionalità

  • dipendenza da Tink aggiornata alla versione 1.8.0

Versione 1.1.0-alpha05

22 febbraio 2023

androidx.security:security-crypto:1.1.0-alpha05 e androidx.security:security-crypto-ktx:1.1.0-alpha05 vengono rilasciati. La versione 1.1.0-alpha05 contiene questi commit.

Correzioni di bug

  • È stata corretta una condizione di gara in MasterKeys.getOrCreate (I3391e, b/268572037)

Versione 1.1.0-alpha04

9 novembre 2022

androidx.security:security-crypto:1.1.0-alpha04 e androidx.security:security-crypto-ktx:1.1.0-alpha04 vengono rilasciati. La versione 1.1.0-alpha04 contiene questi commit.

Nuove funzionalità

  • È stato rimosso il messaggio di log "keyset not found, will generate a new one" al primo avvio dell'app. (b/185219606)
  • È stato eseguito l'upgrade della dipendenza Tink alla versione 1.7.0.

Modifiche all'API

  • Modifica EncryptedFile#openFileInput() in modo da generare un FileNotFoundException anziché un IOException generico quando il file richiesto non esiste. (I80e41, b/148804719)
  • Aggiornamento della classe "MasterKeys" in modo che richieda Android M anziché ogni suo metodo. (I8b4b8)
  • Modifica tutti i getter di preferenza su EncryptedSharedPreferences (ad esempio #getString, #getInt) per generare SecurityException in rare circostanze in cui il tipo di un valore non può essere abbinato a una delle varianti enum definite. (b/241699427)

Correzioni di bug

  • È stata sincronizzata la versione SDK minima della libreria security-crypto-ktx con security-crypto abbassandola alla versione 21 (b/193550375)
  • È stato corretto il bug di contemporaneità durante la creazione di più elementi EncryptedFile (b/136590547)

Contributo esterno

Security-Crypto-Ktx versione 1.1.0-alpha03

18 maggio 2021

androidx.security:security-crypto-ktx:1.1.0-alpha03 viene rilasciato. La versione 1.1.0-alpha03 contiene questi commit.

Aggiornata in base a androidx.security:security-crypto:1.1.0-alpha03.

Versione 1.1.0-alpha03

2 dicembre 2020

androidx.security:security-crypto:1.1.0-alpha03 viene rilasciato. La versione 1.1.0-alpha03 contiene questi commit.

Nuove funzionalità

  • Aggiornamento di Tink alla release stabile 1.5.0

Versione 1.1.0-alpha02

5 agosto 2020

androidx.security:security-crypto:1.1.0-alpha02 e androidx.security:security-crypto-ktx:1.1.0-alpha02 vengono rilasciati. La versione 1.1.0-alpha02 contiene questi commit.

Nuove funzionalità

  • Aggiornamento di Tink alla release stabile 1.4.0

Correzioni di bug

  • L'aggiornamento di Tink dovrebbe risolvere i problemi di R8 e Proguard con la dipendenza da Protobuf ombreggiata.
  • L'aggiornamento di Tink dovrebbe gestire in modo corretto gli errori di concorrenza di AndroidKeyStore.

Contributo esterno

  • clear mKeysChanged on apply, fix for EncryptedSharedPreferences (aosp/1323026)

Versione 1.1.0-alpha01

10 giugno 2020

androidx.security:security-crypto:1.1.0-alpha01 viene rilasciato. La versione 1.1.0-alpha01 contiene questi commit.

Nuove funzionalità

  • Lollipop (livello API 21 e versioni successive) è ora supportato. Tieni presente che AndroidKeyStore non viene utilizzato per le API 21 e 22. (I7c12d, b/132325342)
  • La nuova classe MasterKey offre più opzioni per le chiavi, inoltre ritira MasterKey per supportare nuove funzionalità e versioni di Android che non dispongono di KeyGenParamSpec.

Security-Identity-Credential versione 1.0.0

Versione 1.0.0-alpha03

1° settembre 2021

androidx.security:security-identity-credential:1.0.0-alpha03 viene rilasciato. La versione 1.0.0-alpha03 contiene questi commit.

Nuove funzionalità

  • È stato aggiunto il supporto per le funzionalità delle credenziali di identità basate su hardware in Android 12.

Versione 1.0.0-alpha02

24 febbraio 2021

androidx.security:security-identity-credential:1.0.0-alpha02 viene rilasciato. La versione 1.0.0-alpha02 contiene questi commit.

Correzioni di bug

  • Aggiornamento dell'API Identity Credential in base ai piani di Android 12 (Iff83e)

Versione 1.0.0-alpha01

19 agosto 2020

androidx.security:security-identity-credential:1.0.0-alpha01 viene rilasciato. La versione 1.0.0-alpha01 contiene questi commit.

Nuove funzionalità

Questa release di Jetpack include una versione Jetpack delle API Identity Credential, che è stata aggiunta ad Android 11 e al livello API 30. Se utilizzi Android 11 e il dispositivo supporta le credenziali dell'identità basate su hardware, questo Jetpack inoltra semplicemente le chiamate all'API della piattaforma. In caso contrario, verrà utilizzata un'implementazione basata su Android Keystore. Sebbene l'implementazione basata su Android Keystore non fornisca lo stesso livello di sicurezza e privacy, è perfettamente adeguata sia per i titolari sia per gli emittenti nei casi in cui tutti i dati siano firmati dall'emittente. Questa libreria richiede il livello API 24 o versioni successive.

Le API Identity Credential forniscono un'interfaccia a un archivio sicuro per i documenti di identità utente. Queste API sono volutamente piuttosto generali e astratte. Nella misura del possibile, la specifica dei formati dei messaggi e della semantica della comunicazione con i dispositivi di verifica delle credenziali e le autorità di emissione (AE) non rientra nell'ambito di queste API. Le strutture di dati da cui dipendono le API sono compatibili con le strutture di dati nello standard ISO/IEC IS 18013-5 di identificazione personale - patente di guida conforme allo standard ISO - Parte 5: standard di applicazione per la patente di guida mobile (mDL).

Modifiche alle API

  • È stato aggiunto Jetpack per le credenziali di identità. (Icf90b)

Versione 1.0.0

Versione 1.0.0

21 aprile 2021

androidx.security:security-crypto:1.0.0 viene rilasciato. La versione 1.0.0 contiene questi commit.

Funzionalità principali della versione 1.0.0

Caratteristiche principali

  • EncryptedFile, fornisce stream di input e output criptati per leggere/scrivere dati criptati in un file.
  • EncryptedSharedPreferences fornisce un'implementazione di SharedPreferences che cripta/decripta automaticamente tutte le chiavi e tutti i valori.
  • Fornisce la generazione di chiavi semplice tramite MasterKeys.
  • Si basa su Tink 1.5.0 per una maggiore stabilità.

Versione 1.0.0-rc04

13 gennaio 2021

androidx.security:security-crypto:1.0.0-rc04 viene rilasciato. La versione 1.0.0-rc04 contiene questi commit.

Correzioni di bug

  • È stato eseguito l'upgrade di Tink alla versione 1.5.0 per una maggiore stabilità.

Versione 1.0.0-rc03

5 agosto 2020

androidx.security:security-crypto:1.0.0-rc03 viene rilasciato. La versione 1.0.0-rc03 contiene questi commit.

Nuove funzionalità

  • Aggiornamento di Tink alla release stabile 1.4.0

Correzioni di bug

  • L'aggiornamento di Tink dovrebbe risolvere i problemi di R8 e Proguard con la dipendenza da Protobuf ombreggiata.
  • L'aggiornamento di Tink dovrebbe gestire in modo corretto gli errori di concorrenza di AndroidKeyStore.

Contributo esterno

  • clear mKeysChanged on apply, fix for EncryptedSharedPreferences (aosp/1323026)

Versione 1.0.0-rc02

20 maggio 2020

androidx.security:security-crypto:1.0.0-rc02 viene rilasciato. La versione 1.0.0-rc02 contiene questi commit.

Correzioni di bug

  • Aggiornamento alla versione 1.4.0-rc2 di Tink, che oscura la dipendenza da proto buf lite. In questo modo viene risolto il problema ampiamente segnalato di conflitto con altri SDK Android. (I8a831)
  • apply() corretto in EncryptedSharedPreferences. (I29069, b/154366606)

Versione 1.0.0-rc01

15 aprile 2020

androidx.security:security-crypto:1.0.0-rc01 viene rilasciato. La versione 1.0.0-rc01 contiene questi commit.

Correzioni di bug

  • Sono stati aggiunti controlli per garantire che, se un KeyGenParamSpec viene passato a MasterKeys.getOrCreate, se getUserAuthenticationRequired restituisce true, getUserAuthenticationValidityDurationSeconds restituisca un valore > 0. (I911f5) (b/152644939)

Versione 1.0.0-beta01

18 marzo 2020

androidx.security:security-crypto:1.0.0-beta01 viene rilasciato senza modifiche dal giorno 1.0.0-alpha02. La versione 1.0.0-beta01 contiene questi commit.

Versione 1.0.0-alpha02

23 maggio 2019

androidx.security:security-crypto:1.0.0-alpha02 viene rilasciato. I commit inclusi in questa versione sono disponibili in questo log dei commit.

Correzioni di bug

  • È stato risolto il problema di recupero delle chiavi/dei valori associati alle preferenze condivise da getAll().
  • Utilizzo bloccato delle chiavi delle preferenze con limitazioni.
  • Aggiornamenti minori del Javadoc.

Versione 1.0.0-alpha01

7 maggio 2019

androidx.security:security-crypto:1.0.0-alpha01 viene rilasciato. I commit inclusi in questa versione sono disponibili qui.

Punti salienti delle nuove funzionalità

  • EncryptedFile, fornisce stream di input e output criptati per leggere/scrivere dati criptati in un file.
  • EncryptedSharedPreferences fornisce un'implementazione di SharedPreferences che cripta/decripta automaticamente tutte le chiavi e tutti i valori.
  • Fornisce una semplice generazione di chiavi tramite MasterKeys.