Sicurezza

Gestisci le chiavi in modo sicuro e cripta file e preferenze condivise.

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

Elemento Release stabile Candidato per l'uscita Versione beta Release alpha
crittografia di sicurezza 1.0.0 - - 1.1.0-alpha06
autenticazione-app-sicurezza - - 1.0.0-beta01 -
credenziali-identità-sicurezza - - - 1.0.0-alpha03
Ultimo aggiornamento di questa raccolta: 26 giugno 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 saperne di più sulle dipendenze, consulta Aggiungere dipendenze build.

Feedback

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

Crea un nuovo numero

Per ulteriori informazioni, consulta la documentazione di Issue Tracker.

Stato di sicurezza versione 1.0

Versione 1.0.0-alpha02

26 giugno 2024

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

Correzioni di bug

  • È stata corretta la logica per ottenere la 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à

  • Stato della sicurezza è una nuova libreria che gli sviluppatori possono utilizzare per ottenere dati utili 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

Vengono rilasciate le versioni androidx.security:security-app-authenticator:1.0.0-beta01 e androidx.security:security-app-authenticator-testing:1.0.0-beta01. La versione 1.0.0-beta01 contiene questi commit.

Versione 1.0.0-alpha02

13 dicembre 2023

Viene rilasciato androidx.security:security-app-authenticator-testing:1.0.0-alpha02. 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

Viene rilasciato androidx.security:security-app-authenticator-testing:1.0.0-alpha01. 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 presentano corrispondenze.
  • È possibile impostare identità di firma esplicita per ciascun pacchetto; l'AppAuthenticator risultante segnalerà quindi 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

Viene rilasciato androidx.security:security-app-authenticator:1.0.0-alpha03. 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. Le API ora 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 questi metodi non verrà più usato Binder#getCalling[Uid|Pid] per impostazione predefinita, 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 alle API

  • In vista del supporto del nuovo flag di protezione delle autorizzazioni knownSigner introdotto in Android 12, non è più possibile specificare l'attributo digestAlgorithm nella configurazione. Tutti i digest dei certificati devono essere calcolati utilizzando l'algoritmo SHA-256.

Correzioni di bug

  • Tutti i digest dei certificati forniti nella configurazione vengono ora normalizzati per garantire che sia possibile segnalare una corrispondenza della firma riuscita 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

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

Nuove funzionalità

AppAuthenticator è una nuova libreria mirata 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 runtime.

Versione 1.1.0

Versione 1.1.0-alpha06

19 aprile 2023

Vengono rilasciate le versioni androidx.security:security-crypto:1.1.0-alpha06 e androidx.security:security-crypto-ktx:1.1.0-alpha06. La versione 1.1.0-alpha06 contiene questi commit.

Nuove funzionalità

  • Dipendenza Tink aggiornata alla versione 1.8.0

Versione 1.1.0-alpha05

22 febbraio 2023

Vengono rilasciate le versioni androidx.security:security-crypto:1.1.0-alpha05 e androidx.security:security-crypto-ktx:1.1.0-alpha05. La versione 1.1.0-alpha05 contiene questi commit.

Correzioni di bug

Versione 1.1.0-alpha04

9 novembre 2022

Vengono rilasciate le versioni androidx.security:security-crypto:1.1.0-alpha04 e androidx.security:security-crypto-ktx:1.1.0-alpha04. La versione 1.1.0-alpha04 contiene questi commit.

Nuove funzionalità

  • Rimosso il messaggio di log "keyset non trovato, ne genererà uno nuovo" al primo avvio dell'app. (b/185219606)
  • Aggiornamento della dipendenza Tink alla versione 1.7.0.

Modifiche alle API

  • Modifica EncryptedFile#openFileInput() per generare un FileNotFoundException, anziché un IOException generico quando il file richiesto non esiste. (I80e41, b/148804719)
  • È stata aggiornata la classe "MasterKeys" per richiedere Android M anziché tutti i suoi metodi. (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

  • Versione minima dell'SDK della libreria security-crypto-ktx sincronizzata con security-crypto abbassandola alla v21 (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

Viene rilasciato androidx.security:security-crypto-ktx:1.1.0-alpha03. 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

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

Nuove funzionalità

  • Aggiornamento della release Tink alla versione stabile 1.5.0

Versione 1.1.0-alpha02

5 agosto 2020

Vengono rilasciate le versioni androidx.security:security-crypto:1.1.0-alpha02 e androidx.security:security-crypto-ktx:1.1.0-alpha02. La versione 1.1.0-alpha02 contiene questi commit.

Nuove funzionalità

  • Aggiornamento della release Tink alla versione stabile 1.4.0

Correzioni di bug

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

Contributo esterno

  • cancella mKeysChanged all'applicazione, correggi EncryptedSharedPreferences (aosp/1323026)

Versione 1.1.0-alpha01

10 giugno 2020

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

Nuove funzionalità

  • Ora è supportato Lollipop (livello API 21 o versioni successive). 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

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

Nuove funzionalità

  • Aggiunto il supporto per le funzionalità di credenziali dell'identità basate su hardware in Android 12.

Versione 1.0.0-alpha02

24 febbraio 2021

Viene rilasciato androidx.security:security-identity-credential:1.0.0-alpha02. 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

Viene rilasciato androidx.security:security-identity-credential:1.0.0-alpha01. 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 supportata dall'archivio chiavi Android. Sebbene l'implementazione supportata da Android Keystore non fornisca lo stesso livello di sicurezza e privacy, è perfettamente adeguata sia per i titolari che 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 offrono un'interfaccia a un archivio sicuro per i documenti di identità dell'utente. Queste API sono deliberatamente 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 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

  • Jetpack di credenziali di identità aggiunto. (Icf90b)

Versione 1.0.0

Versione 1.0.0

21 aprile 2021

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

Funzionalità principali di 1.0.0

Caratteristiche principali delle funzionalità

  • EncryptedFile, fornisce flussi 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

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

Correzioni di bug

  • Upgrade di Tink alla versione 1.5.0 per una maggiore stabilità.

Versione 1.0.0-rc03

5 agosto 2020

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

Nuove funzionalità

  • Aggiornamento della release Tink alla versione stabile 1.4.0

Correzioni di bug

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

Contributo esterno

  • cancella mKeysChanged all'applicazione, correggi EncryptedSharedPreferences (aosp/1323026)

Versione 1.0.0-rc02

20 maggio 2020

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

Correzioni di bug

  • Aggiornato alla versione Tink 1.4.0-rc2, che oscura il proto buf lite dep. Questo risolve il problema ampiamente segnalato di scontri con altri SDK Android. (I8a831)
  • È stato corretto apply() in EncryptedSharedPreferences. (I29069, b/154366606)

Versione 1.0.0-rc01

15 aprile 2020

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

Correzioni di bug

  • Sono stati aggiunti i controlli per garantire che, se un KeyGenParamSpec viene trasmesso a MasterKeys.getOrCreate, se getUserAuthenticationRequired restituisce true, getUserAuthenticationValidityDurationSeconds restituisca un valore 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

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

Correzioni di bug

  • È stato risolto il problema relativo al recupero delle coppie chiave-valore associate alle preferenze condivise da getAll().
  • Utilizzo bloccato delle chiavi di preferenza limitate.
  • Aggiornamenti minori di Javadoc.

Versione 1.0.0-alpha01

7 maggio 2019

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

Nuove funzionalità in evidenza

  • EncryptedFile, fornisce flussi 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.