Sicurezza

Gestisci le chiavi in modo sicuro e cripta i file e sharedpreferences.

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

Elemento Release stabile Candidato per la release Versione beta Release alpha
criptovalute-sicurezza 1.0.0 - - 1.1.0-alpha06
autenticazione-app-di-sicurezza - - 1.0.0-beta01 -
sicurezza-identità-credenziale - - - 1.0.0-alpha03
Ultimo aggiornamento di questa raccolta: 6 marzo 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 artefatti necessari nel file build.gradle per l'app o il modulo:

Per ulteriori informazioni sulle dipendenze, vedi Aggiungere dipendenze build.

Feedback

Il tuo feedback ci aiuta a migliorare Jetpack. Facci sapere se rilevi nuovi problemi o hai idee per migliorare la libreria. Dai un'occhiata ai problemi esistenti in questa libreria prima di crearne una nuova. Puoi aggiungere il tuo voto a un problema esistente facendo clic sul pulsante a forma di stella.

Crea un nuovo problema

Per ulteriori informazioni, consulta la documentazione di Issue Tracker.

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 viene 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 generatore 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 la corrispondenza della firma per tutti i pacchetti dichiarati nella configurazione.
  • È possibile specificare i singoli pacchetti in modo che restituiscano una corrispondenza della firma con tutti gli altri pacchetti che non segnalano corrispondenze.
  • È possibile impostare identità di firma esplicita per ogni pacchetto; il risultante AppAuthenticator segnalerà quindi una corrispondenza della firma solo se l'identità fornita corrisponde alla dichiarazione del file di configurazione.
  • Inoltre, i pacchetti possono 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

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

Versione 1.0.0-alpha02

2 giugno 2021

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

Modifiche alle API

  • In preparazione a supportare il 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 invece essere calcolati utilizzando SHA-256.

Correzioni di bug

  • Tutti i digest di certificati forniti nella configurazione ora sono normalizzati per garantire che una corrispondenza della firma riuscita possa essere riportata sia quando il digest viene calcolato in fase di runtime sia quando viene definita un'identità di firma esplicita quando si utilizza la 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 libreria finalizzata 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. La libreria si occuperà di verificare l'identità di firma delle app in fase di runtime.

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 Tink aggiornata a 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

  • Correzione di 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à

  • Rimosso il messaggio di log "Set di chiavi non trovato. Ne verrà generato uno nuovo" al primo avvio dell'app. (b/185219606)
  • Aggiornata la dipendenza di Tink alla versione 1.7.0.

Modifiche alle API

  • Modifica EncryptedFile#openFileInput() in modo da generare un FileNotFoundException, anziché un IOException generico quando il file richiesto non esiste. (I80e41, b/148804719)
  • È stata aggiornata la classe "MasterKeys" in modo che richieda Android M anziché ognuno dei suoi metodi. (I8b4b8).
  • Modifica tutti i getter di preferenza su EncryptedSharedPreferences (ad es. #getString, #getInt) in modo da generare SecurityException nei rari casi in cui il tipo di un valore non possa essere abbinato a una delle varianti enum definite. (b/241699427)

Correzioni di bug

  • Versione minima dell'SDK della libreria security-crypto-ktx sincronizzata con security-crypto abbassandola alla v21 (b/193550375)
  • Risolto il bug di contemporaneità durante la creazione di più EncryptedFile (b/136590547)

Contributi esterni

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.

Aggiornato in modo che corrisponda 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à

  • Tink aggiornato 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à

  • Tink aggiornato alla release stabile 1.4.0

Correzioni di bug

  • L'aggiornamento di Tink dovrebbe risolvere i problemi di R8 e Proguard con la dipendenza Protobuf ombreggiata.
  • L'aggiornamento di Tink dovrebbe gestire correttamente gli errori di contemporaneità di AndroidKeyStore.

Contributi esterni

  • cancella mKeysChanged all'applicazione, correggi per 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 fornisce più opzioni per le chiavi, ritirando inoltre le MasterKey per supportare nuove funzionalità e versioni di Android che non hanno 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à

  • Aggiunto il supporto per le funzionalità delle credenziali di identità supportate da 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

  • Aggiorna l'API Identity Credential in modo che corrisponda ai piani 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 Jetpack include una versione Jetpack delle API Identity Credential che è stata aggiunta ad Android 11 e al livello API 30. Se il sistema operativo è Android 11 e il dispositivo dispone del supporto per le credenziali di identità basate su hardware, questa Jetpack inoltra semplicemente le chiamate all'API della piattaforma. In caso contrario, verrà utilizzata un'implementazione supportata dall'archivio chiavi di Android. Sebbene l'implementazione supportata dall'archivio chiavi di Android 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 verso un archivio sicuro per i documenti di identità degli utenti. Queste API sono volutamente generiche e astratte. Per quanto possibile, la specifica dei formati dei messaggi e della semantica della comunicazione con i dispositivi di verifica delle credenziali e le autorità di emissione (IA) non rientrano nell'ambito di queste API. Le strutture di dati da cui dipendono le API sono compatibili con le strutture dei dati nello standard ISO/IEC IS 18013-5 di identificazione personale - patente di guida conforme allo standard ISO - Parte 5: standard applicativo della patente di guida mobile.

Modifiche alle API

  • Aggiunta del Jetpack delle 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 delle funzionalità

  • EncryptedFile, fornisce flussi di input e di output criptati per leggere/scrivere dati criptati in un file.
  • EncryptedSharedPreferences, fornisce un'implementazione di SharedPreferences che cripta/decripta automaticamente tutte le chiavi e i valori.
  • Offre una semplice generazione di chiavi tramite MasterKey.
  • 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

  • Tink aggiornato 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à

  • Tink aggiornato alla release stabile 1.4.0

Correzioni di bug

  • L'aggiornamento di Tink dovrebbe risolvere i problemi di R8 e Proguard con la dipendenza Protobuf ombreggiata.
  • L'aggiornamento di Tink dovrebbe gestire correttamente gli errori di contemporaneità di AndroidKeyStore.

Contributi esterni

  • cancella mKeysChanged all'applicazione, correggi per 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

  • Aggiornato alla versione 1.4.0-rc2 di Tink, che sfuma il dep Proto buf lite. Questo risolve il problema ampiamente segnalato di scontri 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 dei controlli per garantire che se un valore KeyGenParamSpec viene trasmesso a MasterKeys.getOrCreate, se getUserAuthenticationRequired restituisce true, il valore di getUserAuthenticationValidityDurationSeconds è maggiore di 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 del commit.

Correzioni di bug

  • È stato risolto il problema durante il recupero delle coppie chiave-valore associate alle preferenze condivise da getAll().
  • Utilizzo bloccato di chiavi preferenze limitate.
  • Aggiornamenti di minore entità 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.

Nuove funzionalità in evidenza

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