Sicherheit

Schlüssel sicher verwalten und Dateien und SharedPreferences verschlüsseln

In dieser Tabelle sind alle Artefakte in der Gruppe androidx.security aufgeführt.

Artefakt Stabile Version Release-Kandidat Beta-Ausgabe Alphaversion
security-crypto 1.0.0 - - 1.1.0-alpha06
security-app-authenticator - - 1.0.0-beta01 -
security-identity-credential - - 1.0.0-alpha03
Diese Bibliothek wurde zuletzt am 29. Januar 2025 aktualisiert.

Abhängigkeiten deklarieren

Wenn Sie eine Abhängigkeit von Security hinzufügen möchten, müssen Sie Ihrem Projekt das Google Maven-Repository hinzufügen. Weitere Informationen finden Sie im Maven-Repository von Google.

Fügen Sie der Datei build.gradle für Ihre App oder Ihr Modul die Abhängigkeiten für die erforderlichen Artefakte hinzu:

Weitere Informationen zu Abhängigkeiten finden Sie unter Build-Abhängigkeiten hinzufügen.

Feedback

Ihr Feedback hilft uns, Jetpack zu verbessern. Bitte teilen Sie uns mit, wenn Sie neue Probleme entdecken oder Ideen zur Verbesserung dieser Bibliothek haben. Sehen Sie sich die vorhandenen Probleme in dieser Bibliothek an, bevor Sie ein neues erstellen. Sie können einem vorhandenen Problem Ihre Stimme geben, indem Sie auf die Schaltfläche mit dem Stern klicken.

Neues Problem erstellen

Weitere Informationen finden Sie in der Dokumentation zum Issue Tracker.

Sicherheitsstatus – Version 1.0

Version 1.0.0-alpha05

29. Januar 2025

androidx.security:security-state:1.0.0-alpha05 wird veröffentlicht. Version 1.0.0-alpha05 enthält diese Commits.

Neue Funktionen

  • Die Paketnamen der Standardsystemmodule wurden dem Manifest der Bibliothek hinzugefügt, damit Client-Apps die Geräte-SPL für Systemmodule abrufen können. (Ic259c)

API-Änderungen

  • SecurityStateManager in SecurityStateManagerCompat umbenannt, zusätzliche Dokumentation für öffentliche Properties und Funktionen hinzugefügt und getComponentSecurityPatchLevel und getVulnerabilityReportUrl zu statischen Methoden gemacht. (I44a0c)
  • Die Funktion „Verfügbarkeit aktualisieren“ (listAvailableUpdates()- und getAvailableSecurityPatchLevel()-Methoden) wurde vorerst aus der API-Oberfläche entfernt. Sie soll in einem zukünftigen Update der Bibliothek wieder eingeführt werden. (Idbc5e)
  • Der Zugriff auf die SPL des Anbieters wird jetzt durch ein Flag zur Kompilierzeit geschützt, das bis zu einem zukünftigen Update der Bibliothek standardmäßig deaktiviert ist. (I45b58)
  • getGlobalSecurityState() gibt jetzt den globalen Sicherheitsstatus vom Systemdienst für SDK 35 und höher zurück. (I7b9da)

Fehlerkorrekturen

  • Ein Absturz beim Abrufen der veröffentlichten SPL für den Kernel in älteren Android-Versionen, in denen keine veröffentlichten LTS-Versionen des Kernels verfügbar sind, wurde behoben. (I93dff)

Version 1.0.0-alpha04

7. August 2024

androidx.security:security-state:1.0.0-alpha04 wird veröffentlicht. Version 1.0.0-alpha04 enthält diese Commits.

Hinweis

  • compileSdk auf 35 5dc41be aktualisieren

API-Änderungen

  • Breaking change: Das Komponenten-Enum wurde aus Gründen der Erweiterbarkeit durch Stringkonstanten ersetzt. (Ia3283)

Version 1.0.0-alpha03

10. Juli 2024

androidx.security:security-state:1.0.0-alpha03 wird veröffentlicht. Version 1.0.0-alpha03 enthält diese Commits.

Fehlerkorrekturen

  • Behebung des ASB-A-Musters für Fehler im Android-Sicherheitsbulletin, JSON-Parsing für zusätzliche Komponenten und Abruf von Webview-Paketen. (Ide86a)

Version 1.0.0-alpha02

26. Juni 2024

androidx.security:security-state:1.0.0-alpha02 wird veröffentlicht. Version 1.0.0-alpha02 enthält diese Commits.

Fehlerkorrekturen

  • Die Logik zum Abrufen der Kernelversion wurde korrigiert. (I5602a)

Version 1.0.0-alpha01

12. Juni 2024

androidx.security:security-state:1.0.0-alpha01 wird veröffentlicht. Version 1.0.0-alpha01 enthält diese Commits.

Neue Funktionen

  • „Security State“ ist eine neue Bibliothek, mit der Entwickler umsetzbare Daten zu Versionen von aktualisierbaren Systemkomponenten, Sicherheitsupdates und angewendeten Fehlerkorrekturen erhalten können.

Security-App-Authenticator-Testing Version 1.0

Version 1.0.0-beta01

6. März 2024

androidx.security:security-app-authenticator:1.0.0-beta01 und androidx.security:security-app-authenticator-testing:1.0.0-beta01 werden freigegeben. Version 1.0.0-beta01 enthält diese Commits.

Version 1.0.0-alpha02

13. Dezember 2023

androidx.security:security-app-authenticator-testing:1.0.0-alpha02 wird veröffentlicht. Version 1.0.0-alpha02 enthält diese Commits.

Fehlerkorrekturen

  • Der Test wurde für das neue API-Verhalten aktualisiert. Es wird nicht mehr davon ausgegangen, dass Binder#getCalling[Uid|Pid] verwendet wird, wenn es nicht für die [check|enforce]CallingAppIdentity APIs angegeben wird. (I1851b)

Version 1.0.0-alpha01

2. Juni 2021

androidx.security:security-app-authenticator-testing:1.0.0-alpha01 wird veröffentlicht. Version 1.0.0-alpha01 enthält diese Commits.

Neue Funktionen

Diese Testbibliothek bietet einen Builder, mit dem ein injizierbarer AppAuthenticator konfiguriert werden kann, um die Anforderungen des Tests zu erfüllen. Diese Bibliothek unterstützt mehrere Methoden zum Konfigurieren des AppAuthenticators:

  • Sie können eine allgemeine Testrichtlinie angeben, die eine Übereinstimmung der Signatur für alle in der Konfiguration angegebenen Pakete meldet.
  • Einzelne Pakete können so angegeben werden, dass eine Übereinstimmung der Signatur mit allen anderen Paketen zurückgegeben wird, für die keine Übereinstimmung gemeldet wird.
  • Für jedes Paket können explizite Signaturidentitäten festgelegt werden. Der resultierende AppAuthenticator meldet dann nur eine Übereinstimmung der Signatur, wenn die angegebene Identität mit der Erklärung in der Konfigurationsdatei übereinstimmt.
  • Pakete können auch als nicht installiert oder mit einer expliziten uid behandelt werden.

Security-App-Authenticator Version 1.0.0

Version 1.0.0-alpha03

13. Dezember 2023

androidx.security:security-app-authenticator:1.0.0-alpha03 wird veröffentlicht. Version 1.0.0-alpha03 enthält diese Commits.

API-Änderungen

  • Unterstützung für Anwendungsfälle hinzugefügt, in denen die UID / PID des zu verifizierenden Pakets nicht verfügbar ist. Die APIs unterstützen jetzt Fälle wie startActivityForResult und Aktivitäten / Empfänger, bei denen die Identität der aufrufenden App über [Activity|Broadcast]Options#setShareIdentityEnabled freigegeben wird.
  • Das Verhalten von [check|enforce]CallingAppIdentity(String, String) wurde aktualisiert, um diese neuen Anwendungsfälle zu unterstützen. Bei diesen Methoden wird nicht mehr standardmäßig Binder#getCalling[Uid|Pid] verwendet, sondern die Bestätigung der UID des aufrufenden Pakets wird übersprungen, wenn sie nicht explizit angegeben wird. (I1851b)

Version 1.0.0-alpha02

2. Juni 2021

androidx.security:security-app-authenticator:1.0.0-alpha02 wird veröffentlicht. Version 1.0.0-alpha02 enthält diese Commits.

API-Änderungen

  • Zur Vorbereitung auf die Unterstützung des neuen knownSigner-Flags für den Berechtigungsschutz, das in Android 12 eingeführt wurde, kann das Attribut „digestAlgorithm“ nicht mehr in der Konfiguration angegeben werden. Stattdessen sollten alle Zertifikats-Digests mit SHA-256 berechnet werden.

Fehlerkorrekturen

  • Alle in der Konfiguration angegebenen Zertifikats-Digests werden jetzt normalisiert, damit eine erfolgreiche Übereinstimmung der Signatur sowohl bei der Laufzeitberechnung des Digests als auch bei der Definition einer expliziten Signaturidentität bei Verwendung der Testbibliothek gemeldet werden kann.

Version 1.0.0-alpha01

5. Mai 2021

androidx.security:security-app-authenticator:1.0.0-alpha01 wird veröffentlicht. Version 1.0.0-alpha01 enthält diese Commits.

Neue Funktionen

AppAuthenticator ist eine neue Bibliothek, die die Überprüfung der App-Vertrauenswürdigkeit anhand der Signaturidentität vereinfachen soll. Eine App muss lediglich eine XML-Konfigurationsdatei mit den Paketnamen und Signaturidentitäten vertrauenswürdiger Apps angeben. Die Bibliothek kümmert sich dann um die Überprüfung der Signaturidentität von Apps zur Laufzeit.

Version 1.1.0

Version 1.1.0-alpha06

19. April 2023

androidx.security:security-crypto:1.1.0-alpha06 und androidx.security:security-crypto-ktx:1.1.0-alpha06 werden freigegeben. Version 1.1.0-alpha06 enthält diese Commits.

Neue Funktionen

  • Tink-Abhängigkeit auf 1.8.0 aktualisiert

Version 1.1.0-alpha05

22. Februar 2023

androidx.security:security-crypto:1.1.0-alpha05 und androidx.security:security-crypto-ktx:1.1.0-alpha05 werden freigegeben. Version 1.1.0-alpha05 enthält diese Commits.

Fehlerkorrekturen

Version 1.1.0-alpha04

9. November 2022

androidx.security:security-crypto:1.1.0-alpha04 und androidx.security:security-crypto-ktx:1.1.0-alpha04 werden freigegeben. Version 1.1.0-alpha04 enthält diese Commits.

Neue Funktionen

  • Die Protokollmeldung „keyset not found, will generate a new one“ (Schlüsselsatz nicht gefunden, wird ein neuer generiert) beim ersten Starten der App wurde entfernt. (b/185219606)
  • Die Tink-Abhängigkeit wurde auf Version 1.7.0 aktualisiert.

API-Änderungen

  • Ändert EncryptedFile#openFileInput() so, dass bei nicht vorhandener angeforderter Datei ein FileNotFoundException statt eines generischen IOException ausgegeben wird. (I80e41, b/148804719)
  • Die Klasse „MasterKeys“ wurde aktualisiert, sodass nicht mehr für jede Methode, sondern für die gesamte Klasse Android M erforderlich ist. (I8b4b8)
  • Alle Preference-Getter für EncryptedSharedPreferences (z. B. #getString, #getInt) werden so geändert, dass in seltenen Fällen, in denen der Typ eines Werts nicht mit einer der definierten Enum-Varianten übereinstimmt, SecurityException geworfen wird. (b/241699427)

Fehlerkorrekturen

  • Die Mindest-SDK-Version der security-crypto-ktx-Bibliothek wurde mit security-crypto synchronisiert, indem sie auf Version 21 herabgesetzt wurde (b/193550375)
  • Fehler beim gleichzeitigen Erstellen mehrerer EncryptedFiles behoben (b/136590547)

Externer Beitrag

Security-Crypto-Ktx Version 1.1.0-alpha03

18. Mai 2021

androidx.security:security-crypto-ktx:1.1.0-alpha03 wird veröffentlicht. Version 1.1.0-alpha03 enthält diese Commits.

Aktualisiert auf androidx.security:security-crypto:1.1.0-alpha03.

Version 1.1.0-alpha03

2. Dezember 2020

androidx.security:security-crypto:1.1.0-alpha03 wird veröffentlicht. Version 1.1.0-alpha03 enthält diese Commits.

Neue Funktionen

  • Tink auf stabile Version 1.5.0 aktualisiert

Version 1.1.0-alpha02

5. August 2020

androidx.security:security-crypto:1.1.0-alpha02 und androidx.security:security-crypto-ktx:1.1.0-alpha02 werden freigegeben. Version 1.1.0-alpha02 enthält diese Commits.

Neue Funktionen

  • Tink auf stabile Version 1.4.0 aktualisiert

Fehlerkorrekturen

  • Durch das Tink-Update sollten R8- und Proguard-Probleme mit getönten Protobuf-Abhängigkeiten behoben werden.
  • Das Tink-Update sollte AndroidKeyStore-Parallelisierungsfehler ordnungsgemäß behandeln.

Externer Beitrag

  • mKeysChanged beim Anwenden löschen, Fehlerbehebung für EncryptedSharedPreferences (aosp/1323026)

Version 1.1.0-alpha01

10. Juni 2020

androidx.security:security-crypto:1.1.0-alpha01 wird veröffentlicht. Version 1.1.0-alpha01 enthält diese Commits.

Neue Funktionen

  • Lollipop (API-Level 21 und höher) wird jetzt unterstützt. Der AndroidKeyStore wird für API 21 und 22 nicht verwendet. (I7c12d, b/132325342)
  • Die neue MasterKey-Klasse bietet mehr Optionen für Schlüssel. Außerdem werden MasterKeys eingestellt, um neue Funktionen und Versionen von Android zu unterstützen, die keine KeyGenParamSpec haben.

Security-Identity-Credential Version 1.0.0

Version 1.0.0-alpha03

1. September 2021

androidx.security:security-identity-credential:1.0.0-alpha03 wird veröffentlicht. Version 1.0.0-alpha03 enthält diese Commits.

Neue Funktionen

  • Unterstützung für hardwaregestützte Funktionen für Identitätsnachweise in Android 12 hinzugefügt.

Version 1.0.0-alpha02

24. Februar 2021

androidx.security:security-identity-credential:1.0.0-alpha02 wird veröffentlicht. Version 1.0.0-alpha02 enthält diese Commits.

Fehlerkorrekturen

  • Identity Credential API an Android 12-Pläne anpassen (Iff83e)

Version 1.0.0-alpha01

19. August 2020

androidx.security:security-identity-credential:1.0.0-alpha01 wird veröffentlicht. Version 1.0.0-alpha01 enthält diese Commits.

Neue Funktionen

Diese Jetpack-Version enthält eine Jetpack-Version der Identity Credential APIs, die in Android 11 und API-Level 30 hinzugefügt wurden. Wenn Android 11 verwendet wird und das Gerät hardwaregestützte Anmeldedaten unterstützt, leitet dieser Jetpack-Dienst Aufrufe einfach an die Plattform-API weiter. Andernfalls wird eine vom Android Keystore unterstützte Implementierung verwendet. Die Android Keystore-gestützte Implementierung bietet zwar nicht dasselbe Sicherheits- und Datenschutzniveau, ist aber sowohl für Inhaber als auch Aussteller in Fällen, in denen alle Daten vom Aussteller signiert sind, völlig ausreichend. Für diese Bibliothek ist API-Level 24 oder höher erforderlich.

Die Identity Credential APIs bieten eine Schnittstelle zu einem sicheren Speicher für Dokumente zur Nutzeridentität. Diese APIs sind bewusst ziemlich allgemein und abstrakt. Die Spezifikation der Nachrichtenformate und der Semantik der Kommunikation mit Geräten zur Bestätigung von Anmeldedaten und Ausstellern (Issuing Authorities, IAs) fällt nicht in den Zuständigkeitsbereich dieser APIs. Die Datenstrukturen, auf die die APIs angewiesen sind, sind mit den Datenstrukturen im bald erscheinenden ISO/IEC IS 18013-5 „Personal identification – ISO-compliant driving licence – Part 5: Mobile driving licence (mDL) application standard“ (Persönliche Identität – ISO-konformer Führerschein – Teil 5: Standard für mobile Führerscheine (mDL)) kompatibel.

API-Änderungen

  • Jetpack-Anmeldedaten für Identitäten hinzugefügt. (Icf90b)

Version 1.0.0

Version 1.0.0

21. April 2021

androidx.security:security-crypto:1.0.0 wird veröffentlicht. Version 1.0.0 enthält diese Commits.

Wichtige Funktionen von 1.0.0

Funktionshighlights

  • EncryptedFile stellt verschlüsselte Eingabe- und Ausgabestreams bereit, um verschlüsselte Daten in eine Datei zu lesen/schreiben.
  • EncryptedSharedPreferences bietet eine Implementierung von SharedPreferences, die alle Schlüssel und Werte automatisch verschlüsselt/entschlüsselt.
  • Ermöglicht die einfache Schlüsselgenerierung über MasterKeys.
  • Verwendet Tink 1.5.0 für eine verbesserte Stabilität.

Version 1.0.0-rc04

13. Januar 2021

androidx.security:security-crypto:1.0.0-rc04 wird veröffentlicht. Version 1.0.0-rc04 enthält diese Commits.

Fehlerkorrekturen

  • Tink auf Version 1.5.0 aktualisiert, um die Stabilität zu verbessern.

Version 1.0.0-rc03

5. August 2020

androidx.security:security-crypto:1.0.0-rc03 wird veröffentlicht. Version 1.0.0-rc03 enthält diese Commits.

Neue Funktionen

  • Tink auf stabile Version 1.4.0 aktualisiert

Fehlerkorrekturen

  • Durch das Tink-Update sollten R8- und Proguard-Probleme mit getönten Protobuf-Abhängigkeiten behoben werden.
  • Das Tink-Update sollte AndroidKeyStore-Parallelisierungsfehler ordnungsgemäß behandeln.

Externer Beitrag

  • mKeysChanged beim Anwenden löschen, Fehler bei EncryptedSharedPreferences beheben (aosp/1323026)

Version 1.0.0-rc02

20. Mai 2020

androidx.security:security-crypto:1.0.0-rc02 wird veröffentlicht. Version 1.0.0-rc02 enthält diese Commits.

Fehlerkorrekturen

  • Aktualisierung auf Tink-Version 1.4.0-rc2, durch die die Abhängigkeit von Protobuf Lite ausgeblendet wird. Dadurch wird das häufig gemeldete Problem behoben, dass es zu Konflikten mit anderen Android-SDKs kommt. (I8a831)
  • apply() in EncryptedSharedPreferences wurde korrigiert. (I29069, b/154366606)

Version 1.0.0-rc01

15. April 2020

androidx.security:security-crypto:1.0.0-rc01 wird veröffentlicht. Version 1.0.0-rc01 enthält diese Commits.

Fehlerkorrekturen

  • Es wurden Prüfungen hinzugefügt, die dafür sorgen, dass getUserAuthenticationValidityDurationSeconds einen Wert größer als 0 zurückgibt, wenn KeyGenParamSpec an MasterKeys.getOrCreate übergeben wird und getUserAuthenticationRequired true zurückgibt. (I911f5) (b/152644939)

Version 1.0.0-beta01

18. März 2020

androidx.security:security-crypto:1.0.0-beta01 wird seit 1.0.0-alpha02 unverändert veröffentlicht. Version 1.0.0-beta01 enthält diese Commits.

Version 1.0.0-alpha02

23. Mai 2019

androidx.security:security-crypto:1.0.0-alpha02 wird veröffentlicht. Die in dieser Version enthaltenen Commits finden Sie in diesem Commit-Log.

Fehlerkorrekturen

  • Problem beim Abrufen von Schlüsseln/Werten behoben, die mit freigegebenen Einstellungen aus getAll() verknüpft sind.
  • Blockierte Nutzung eingeschränkter Einstellungsschlüssel.
  • Kleinere Javadoc-Änderungen.

Version 1.0.0-alpha01

7. Mai 2019

androidx.security:security-crypto:1.0.0-alpha01 wird veröffentlicht. Die Commits, die in dieser Version enthalten sind, finden Sie hier.

Neue Funktionen

  • EncryptedFile stellt verschlüsselte Eingabe- und Ausgabestreams bereit, um verschlüsselte Daten in eine Datei zu lesen/schreiben.
  • EncryptedSharedPreferences bietet eine Implementierung von SharedPreferences, die alle Schlüssel und Werte automatisch verschlüsselt/entschlüsselt.
  • Ermöglicht die einfache Schlüsselgenerierung über MasterKeys.