Bezpieczeństwo

Bezpieczne zarządzanie kluczami oraz szyfrowanie plików i ustawień udostępnionych.

Ta tabela zawiera listę wszystkich artefaktów w grupie androidx.security.

Artefakt Wersja stabilna Wersja kandydująca do publikacji Wersja Beta Wersja alfa
security-crypto 1.0.0 1.1.0-rc01 - -
security-app-authenticator - 1.0.0-rc01 - -
security-app-authenticator-testing - 1.0.0-rc01 - -
security-identity-credential - - - 1.0.0-alpha03
Ostatnia aktualizacja tej biblioteki: 2 lipca 2025 r.

Deklarowanie zależności

Aby dodać zależność od biblioteki Security, musisz dodać repozytorium Google Maven do projektu. Więcej informacji znajdziesz w repozytorium Maven Google.

Dodaj zależności dotyczące potrzebnych artefaktów w pliku build.gradle aplikacji lub modułu:

Więcej informacji o zależnościach znajdziesz w artykule Dodawanie zależności kompilacji.

Opinia

Twoja opinia pomoże nam ulepszyć Jetpacka. Jeśli odkryjesz nowe problemy lub masz pomysły na ulepszenie tej biblioteki, daj nam znać. Zanim utworzysz nową kartę, zapoznaj się z dotychczasowymi problemami w tej bibliotece. Możesz dodać swój głos do istniejącego problemu, klikając przycisk gwiazdki.

Tworzenie nowego problemu

Więcej informacji znajdziesz w dokumentacji narzędzia Issue Tracker.

Security-State Version 1.0.0

Wersja 1.0.0-beta01

26 lutego 2025 r.

Zostanie wycofaneandroidx.security:security-state:1.0.0-beta01 Wersja 1.0.0-beta01 zawiera te zmiany.

Poprawki błędów

  • Rozwiązaliśmy problem, który uniemożliwiał getPatchedCves() zwracanie załatanych luk CVE w przypadku COMPONENT_SYSTEM_MODULES. (Ice5e2)

Wersja 1.0.0-alpha05

29 stycznia 2025 r.

Zostanie wycofaneandroidx.security:security-state:1.0.0-alpha05 Wersja 1.0.0-alpha05 zawiera te commity.

Nowe funkcje

  • Nazwy pakietów domyślnych modułów systemowych zostały dodane do pliku manifestu biblioteki, aby umożliwić aplikacjom klienckim uzyskiwanie poziomu SPL urządzenia dla modułów systemowych. (Ic259c)

Zmiany w interfejsie API

  • Zmieniliśmy nazwę SecurityStateManager na SecurityStateManagerCompat, dodaliśmy dodatkową dokumentację dotyczącą publicznych właściwości i funkcji oraz przekształciliśmy getComponentSecurityPatchLevelgetVulnerabilityReportUrl w metody statyczne. (I44a0c)
  • Funkcja aktualizacji dostępności (metody listAvailableUpdates()getAvailableSecurityPatchLevel()) została tymczasowo usunięta z interfejsu API. Planujemy przywrócić ją w przyszłej aktualizacji biblioteki. (Idbc5e)
  • Dostęp do interfejsu Vendor SPL jest teraz chroniony przez flagę czasu kompilacji, która jest domyślnie wyłączona do czasu przyszłej aktualizacji biblioteki. (I45b58)
  • getGlobalSecurityState() zwraca teraz globalny stan bezpieczeństwa z usługi systemowej w przypadku pakietu SDK w wersji 35 lub nowszej. (I7b9da)

Poprawki błędów

  • Naprawiliśmy błąd powodujący awarię podczas próby uzyskania opublikowanego poziomu SPL dla jądra w starszych wersjach Androida, w których opublikowane wersje LTS jądra są niedostępne. (I93dff)

Wersja 1.0.0-alpha04

7 sierpnia 2024 r.

Zostanie wycofaneandroidx.security:security-state:1.0.0-alpha04 Wersja 1.0.0-alpha04 zawiera te zmiany.

Uwagi

  • Zaktualizuj compileSdk do 35 5dc41be

Zmiany w interfejsie API

  • Zmiana powodująca niezgodność: wyliczenie komponentu zostało zastąpione stałymi ciągami znaków, aby zwiększyć możliwości rozbudowy. (Ia3283)

Wersja 1.0.0-alpha03

10 lipca 2024 r.

Zostanie wycofaneandroidx.security:security-state:1.0.0-alpha03 Wersja 1.0.0-alpha03 zawiera te commity.

Poprawki błędów

  • Poprawki wzorca ASB-A- w przypadku błędów w biuletynie zabezpieczeń Androida, analizowanie JSON-a w przypadku dodatkowych komponentów i Webview pobieranie pakietów. (Ide86a)

Wersja 1.0.0-alpha02

26 czerwca 2024 r.

Zostanie wycofaneandroidx.security:security-state:1.0.0-alpha02 Wersja 1.0.0-alpha02 zawiera te zmiany.

Poprawki błędów

  • Naprawiliśmy logikę pobierania wersji jądra. (I5602a)

Wersja 1.0.0-alpha01

12 czerwca 2024 r.

Zostanie wycofaneandroidx.security:security-state:1.0.0-alpha01 Wersja 1.0.0-alpha01 zawiera te zmiany.

Nowe funkcje

  • Security State to nowa biblioteka, której deweloperzy mogą używać do uzyskiwania przydatnych danych o wersjach komponentów systemowych, które można aktualizować, aktualizacjach zabezpieczeń i zastosowanych poprawkach.

Security-App-Authenticator-Testing Version 1.0.0

Wersja 1.0.0-rc01

20 maja 2025 r.

androidx.security:security-app-authenticator:1.0.0-rc01androidx.security:security-app-authenticator-testing:1.0.0-rc01 zostały opublikowane. Wersja 1.0.0-rc01 zawiera te commity.

Wersja 1.0.0-beta01

6 marca 2024 roku

androidx.security:security-app-authenticator:1.0.0-beta01androidx.security:security-app-authenticator-testing:1.0.0-beta01 zostały opublikowane. Wersja 1.0.0-beta01 zawiera te zmiany.

Wersja 1.0.0-alpha02

13 grudnia 2023 r.

Zostanie wycofaneandroidx.security:security-app-authenticator-testing:1.0.0-alpha02 Wersja 1.0.0-alpha02 zawiera te zmiany.

Poprawki błędów

  • Zaktualizowany test nowego zachowania interfejsu API, który nie zakłada już wartości Binder#getCalling[Uid|Pid], gdy nie jest ona podana w interfejsach API [check|enforce]CallingAppIdentity. (I1851b)

Wersja 1.0.0-alpha01

2 czerwca 2021 r.

Zostanie wycofaneandroidx.security:security-app-authenticator-testing:1.0.0-alpha01 Wersja 1.0.0-alpha01 zawiera te zmiany.

Nowe funkcje

Ta biblioteka testowa udostępnia narzędzie do tworzenia, za pomocą którego można skonfigurować wstrzykiwalny obiekt AppAuthenticator, aby spełniał wymagania testu. Ta biblioteka obsługuje kilka metod konfigurowania AppAuthenticator:

  • Można określić ogólną zasadę testowania, która zgłasza dopasowanie podpisu w przypadku wszystkich pakietów zadeklarowanych w konfiguracji.
  • Można określić, że poszczególne pakiety mają zwracać dopasowanie podpisu, a wszystkie inne pakiety mają zgłaszać brak dopasowania.
  • Dla każdego pakietu można ustawić jawne tożsamości podpisywania. W takim przypadku obiekt AppAuthenticator będzie zgłaszać zgodność podpisu tylko wtedy, gdy podana tożsamość będzie zgodna z deklaracją w pliku konfiguracyjnym.
  • Pakiety mogą być też traktowane jako niezainstalowane lub mające jawny identyfikator UID.

Security-App-Authenticator w wersji 1.0.0

Wersja 1.0.0-rc01

20 maja 2025 r.

androidx.security:security-app-authenticator:1.0.0-rc01androidx.security:security-app-authenticator-testing:1.0.0-rc01 zostały opublikowane. Wersja 1.0.0-rc01 zawiera te commity.

Wersja 1.0.0-beta01

6 marca 2024 roku

androidx.security:security-app-authenticator:1.0.0-beta01androidx.security:security-app-authenticator-testing:1.0.0-beta01 zostały opublikowane. Wersja 1.0.0-beta01 zawiera te zmiany.

Wersja 1.0.0-alpha03

13 grudnia 2023 r.

Zostanie wycofaneandroidx.security:security-app-authenticator:1.0.0-alpha03 Wersja 1.0.0-alpha03 zawiera te zmiany.

Zmiany w interfejsie API

  • Dodaliśmy obsługę przypadków użycia, w których identyfikator UID lub PID pakietu do zweryfikowania jest niedostępny. Interfejsy API obsługują teraz przypadki takie jak startActivityForResult i aktywności lub odbiorniki, w których tożsamość aplikacji wywołującej jest udostępniana za pomocą [Activity|Broadcast]Options#setShareIdentityEnabled.
  • Działanie funkcji [check|enforce]CallingAppIdentity(String, String) zostało zaktualizowane, aby obsługiwać te nowe przypadki użycia. Te metody nie będą już domyślnie używać funkcji Binder#getCalling[Uid|Pid], ale zamiast tego będą pomijać weryfikację identyfikatora UID pakietu wywołującego, jeśli nie zostanie on wyraźnie podany. (I1851b)

Wersja 1.0.0-alpha02

2 czerwca 2021 r.

Zostanie wycofaneandroidx.security:security-app-authenticator:1.0.0-alpha02 Wersja 1.0.0-alpha02 zawiera te zmiany.

Zmiany w interfejsie API

  • W ramach przygotowań do obsługi nowego flagi ochrony uprawnień knownSigner wprowadzonej w Androidzie 12 atrybut digestAlgorithm nie może być już określany w konfiguracji. Zamiast tego wszystkie skróty certyfikatów powinny być obliczane przy użyciu algorytmu SHA-256.

Poprawki błędów

  • Wszystkie skróty certyfikatów podane w konfiguracji są teraz normalizowane, aby można było zgłosić udane dopasowanie podpisu zarówno wtedy, gdy skrót jest obliczany w czasie działania, jak i wtedy, gdy podczas korzystania z biblioteki testowej jest zdefiniowana jawna tożsamość podpisywania.

Wersja 1.0.0-alpha01

5 maja 2021 roku

Zostanie wycofaneandroidx.security:security-app-authenticator:1.0.0-alpha01 Wersja 1.0.0-alpha01 zawiera te zmiany.

Nowe funkcje

AppAuthenticator to nowa biblioteka, która ma uprościć weryfikację zaufania do aplikacji na podstawie tożsamości podpisu. Aplikacja musi tylko określić plik konfiguracji XML zawierający nazwy pakietów i tożsamości podpisywania zaufanych aplikacji, a biblioteka zajmie się weryfikacją tożsamości podpisywania aplikacji w czasie działania.

Security-Identity-Credential w wersji 1.0.0

Wersja 1.0.0-alpha03

1 września 2021 roku

Zostanie wycofaneandroidx.security:security-identity-credential:1.0.0-alpha03 Wersja 1.0.0-alpha03 zawiera te zmiany.

Nowe funkcje

  • Dodaliśmy obsługę funkcji poświadczeń tożsamości opartych na sprzęcie w Androidzie 12.

Wersja 1.0.0-alpha02

24 lutego 2021 r.

Zostanie wycofaneandroidx.security:security-identity-credential:1.0.0-alpha02 Wersja 1.0.0-alpha02 zawiera te zmiany.

Poprawki błędów

  • Aktualizacja interfejsu Identity Credential API zgodnie z planami dotyczącymi Androida 12 (Iff83e)

Wersja 1.0.0-alpha01

19 sierpnia 2020 r.

Zostanie wycofaneandroidx.security:security-identity-credential:1.0.0-alpha01 Wersja 1.0.0-alpha01 zawiera te zmiany.

Nowe funkcje

Ta wersja Jetpacka zawiera wersję interfejsów Identity Credential API, które zostały dodane do Androida 11 i API na poziomie 30. Jeśli aplikacja działa na Androidzie 11, a urządzenie obsługuje tożsamość wspieraną sprzętowo, ta biblioteka Jetpack po prostu przekazuje wywołania do interfejsu API platformy. W przeciwnym razie używana będzie implementacja oparta na Android Keystore. Implementacja oparta na usłudze Keystore w Androidzie nie zapewnia takiego samego poziomu bezpieczeństwa i prywatności, ale w przypadku, gdy wszystkie dane są podpisane przez wydawcę, jest w pełni wystarczająca zarówno dla posiadaczy, jak i wydawców. Ta biblioteka wymaga poziomu API 24 lub nowszego.

Interfejsy Identity Credential API zapewniają interfejs do bezpiecznego magazynu dokumentów tożsamości użytkownika. Te interfejsy API są celowo dość ogólne i abstrakcyjne. W miarę możliwości specyfikacja formatów wiadomości i semantyki komunikacji z urządzeniami do weryfikacji poświadczeń i instytucjami wydającymi (IAs) wykracza poza zakres tych interfejsów API. Struktury danych, od których zależą interfejsy API, są zgodne ze strukturami danych w standardzie ISO/IEC IS 18013-5 Personal identification – ISO-compliant driving licence – Part 5: Mobile driving licence (mDL) application, który wkrótce zostanie opublikowany.

Zmiany w interfejsie API

  • Dodano Jetpack do danych logowania tożsamości. (Icf90b)

Security-Crypto w wersji 1.1.0

Wersja 1.1.0-rc01

2 lipca 2025 r.

androidx.security:security-crypto:1.1.0-rc01androidx.security:security-crypto-ktx:1.1.0-rc01 zostały opublikowane. Wersja 1.1.0-rc01 zawiera te zmiany.

Wersja 1.1.0-beta01

4 czerwca 2025 r.

androidx.security:security-crypto:1.1.0-beta01androidx.security:security-crypto-ktx:1.1.0-beta01 zostały opublikowane. Wersja 1.1.0-beta01 zawiera te zmiany.

Zmiany w interfejsie API

  • Wycofaliśmy wszystkie interfejsy API na rzecz istniejących interfejsów API platformy i bezpośredniego korzystania z Android Keystore.

Wersja 1.1.0-alpha07

9 kwietnia 2025 r.

androidx.security:security-crypto:1.1.0-alpha07androidx.security:security-crypto-ktx:1.1.0-alpha07 zostały opublikowane. Wersja 1.1.0-alpha07 zawiera te zmiany.

Zmiany w interfejsie API

  • Wycofaliśmy wszystkie interfejsy API na rzecz istniejących interfejsów API platformy i bezpośredniego korzystania z Android Keystore.

Wersja 1.1.0-alpha06

19 kwietnia 2023 r.

androidx.security:security-crypto:1.1.0-alpha06androidx.security:security-crypto-ktx:1.1.0-alpha06 zostały opublikowane. Wersja 1.1.0-alpha06 zawiera te zmiany.

Nowe funkcje

  • Zaktualizowano zależność Tink do wersji 1.8.0

Wersja 1.1.0-alpha05

22 lutego 2023 roku

androidx.security:security-crypto:1.1.0-alpha05androidx.security:security-crypto-ktx:1.1.0-alpha05 zostały opublikowane. Wersja 1.1.0-alpha05 zawiera te zmiany.

Poprawki błędów

Wersja 1.1.0-alpha04

9 listopada 2022 r.

androidx.security:security-crypto:1.1.0-alpha04androidx.security:security-crypto-ktx:1.1.0-alpha04 zostały opublikowane. Wersja 1.1.0-alpha04 zawiera te zmiany.

Nowe funkcje

  • Usunięto komunikat dziennika „keyset not found, will generate a new one” (nie znaleziono zestawu kluczy, zostanie wygenerowany nowy) przy pierwszym uruchomieniu aplikacji. (b/185219606)
  • Zaktualizowano zależność Tink do wersji 1.7.0.

Zmiany w interfejsie API

  • Zmiany EncryptedFile#openFileInput(), aby zgłaszać FileNotFoundException zamiast ogólnego IOException, gdy żądany plik nie istnieje. (I80e41, b/148804719)
  • Zaktualizowano klasę „MasterKeys”, aby wymagała Androida M zamiast każdej z jej metod. (I8b4b8)
  • Zmienia wszystkie funkcje pobierające preferencje w EncryptedSharedPreferences (np. #getString, #getInt) tak, aby w rzadkich przypadkach, gdy typu wartości nie można dopasować do jednego ze zdefiniowanych wariantów wyliczenia, zgłaszały wyjątek SecurityException. (b/241699427)

Poprawki błędów

  • Zsynchronizowano minimalną wersję pakietu SDK biblioteki security-crypto-ktx z biblioteką security-crypto, obniżając ją do wersji 21 (b/193550375).
  • Naprawiono błąd współbieżności podczas tworzenia wielu EncryptedFile (b/136590547)

Wkład zewnętrzny

Security-Crypto-Ktx w wersji 1.1.0-alpha03

18 maja 2021 r.

Zostanie wycofaneandroidx.security:security-crypto-ktx:1.1.0-alpha03 Wersja 1.1.0-alpha03 zawiera te zmiany.

Zaktualizowano, aby pasowało do androidx.security:security-crypto:1.1.0-alpha03.

Wersja 1.1.0-alpha03

2 grudnia 2020 r.

Zostanie wycofaneandroidx.security:security-crypto:1.1.0-alpha03 Wersja 1.1.0-alpha03 zawiera te zmiany.

Nowe funkcje

  • Aktualizacja biblioteki Tink do wersji stabilnej 1.5.0

Wersja 1.1.0-alpha02

5 sierpnia 2020 r.

androidx.security:security-crypto:1.1.0-alpha02androidx.security:security-crypto-ktx:1.1.0-alpha02 zostały opublikowane. Wersja 1.1.0-alpha02 zawiera te zmiany.

Nowe funkcje

  • Aktualizacja biblioteki Tink do wersji stabilnej 1.4.0

Poprawki błędów

  • Aktualizacja Tink powinna rozwiązać problemy z R8 i Proguardem związane z zacienioną zależnością Protobuf.
  • Aktualizacja Tink powinna prawidłowo obsługiwać błędy współbieżności AndroidKeyStore.

Wkład zewnętrzny

  • wyczyść mKeysChanged po zastosowaniu, poprawka dla EncryptedSharedPreferences (aosp/1323026)

Wersja 1.1.0-alpha01

10 czerwca 2020 r.

Zostanie wycofaneandroidx.security:security-crypto:1.1.0-alpha01 Wersja 1.1.0-alpha01 zawiera te zmiany.

Nowe funkcje

  • Obsługiwany jest teraz Lollipop (poziom API 21 i nowsze). Pamiętaj, że w przypadku interfejsów API w wersjach 21 i 22 nie jest używany AndroidKeyStore. (I7c12d, b/132325342)
  • Nowa klasa MasterKey zapewnia więcej opcji kluczy, a także wycofuje MasterKeys, aby obsługiwać nowe funkcje i wersje Androida, które nie mają KeyGenParamSpec.

Security-Crypto w wersji 1.0.0

Wersja 1.0.0

21 kwietnia 2021 r.

Zostanie wycofaneandroidx.security:security-crypto:1.0.0 Wersja 1.0.0 zawiera te zmiany.

Główne funkcje wersji 1.0.0

Przegląd funkcji

  • EncryptedFile udostępnia zaszyfrowane strumienie wejściowe i wyjściowe do odczytywania i zapisywania zaszyfrowanych danych w pliku.
  • EncryptedSharedPreferences, która udostępnia implementację SharedPreferences, która automatycznie szyfruje i odszyfrowuje wszystkie klucze i wartości.
  • Umożliwia proste generowanie kluczy za pomocą MasterKeys.
  • Zwiększa stabilność dzięki korzystaniu z Tink w wersji 1.5.0.

Wersja 1.0.0-rc04

13 stycznia 2021 r.

Zostanie wycofaneandroidx.security:security-crypto:1.0.0-rc04 Wersja 1.0.0-rc04 zawiera te zmiany.

Poprawki błędów

  • Zaktualizowaliśmy Tink do wersji 1.5.0, aby zwiększyć stabilność.

Wersja 1.0.0-rc03

5 sierpnia 2020 r.

Zostanie wycofaneandroidx.security:security-crypto:1.0.0-rc03 Wersja 1.0.0-rc03 zawiera te zmiany.

Nowe funkcje

  • Aktualizacja biblioteki Tink do wersji stabilnej 1.4.0

Poprawki błędów

  • Aktualizacja Tink powinna rozwiązać problemy z R8 i Proguardem związane z zacienioną zależnością Protobuf.
  • Aktualizacja Tink powinna prawidłowo obsługiwać błędy współbieżności AndroidKeyStore.

Wkład zewnętrzny

  • wyczyść mKeysChanged po zastosowaniu, poprawka dla EncryptedSharedPreferences (aosp/1323026)

Wersja 1.0.0-rc02

20 maja 2020 r.

Zostanie wycofaneandroidx.security:security-crypto:1.0.0-rc02 Wersja 1.0.0-rc02 zawiera te zmiany.

Poprawki błędów

  • Zaktualizowano do wersji 1.4.0-rc2 biblioteki Tink, która zacienia zależność proto buf lite. Rozwiązuje to powszechnie zgłaszany problem z konfliktami z innymi pakietami SDK na Androida. (I8a831)
  • Naprawiono apply()EncryptedSharedPreferences. (I29069, b/154366606)

Wersja 1.0.0-rc01

15 kwietnia 2020 roku

Zostanie wycofaneandroidx.security:security-crypto:1.0.0-rc01 Wersja 1.0.0-rc01 zawiera te zmiany.

Poprawki błędów

  • Dodano sprawdzenie, czy jeśli do funkcji MasterKeys.getOrCreate przekazano wartość KeyGenParamSpec, a funkcja getUserAuthenticationRequired zwróciła wartość true, to funkcja getUserAuthenticationValidityDurationSeconds zwróci wartość >0. (I911f5) (b/152644939)

Wersja 1.0.0-beta01

18 marca 2020 r.

androidx.security:security-crypto:1.0.0-beta01 zostaje opublikowany bez zmian od 1.0.0-alpha02. Wersja 1.0.0-beta01 zawiera te zmiany.

Wersja 1.0.0-alpha02

23 maja 2019 r.

Zostanie wycofaneandroidx.security:security-crypto:1.0.0-alpha02 Listę zatwierdzeń zawartych w tej wersji znajdziesz w tym logu zatwierdzeń.

Poprawki błędów

  • Rozwiązaliśmy problem z pobieraniem kluczy i wartości powiązanych z ustawieniami współdzielonymi z getAll().
  • Zablokowane użycie kluczy ustawień z ograniczeniami.
  • Drobne aktualizacje dokumentacji Javadoc.

Wersja 1.0.0-alpha01

7 maja 2019 r.

Zostanie wycofaneandroidx.security:security-crypto:1.0.0-alpha01 Zmiany uwzględnione w tej wersji znajdziesz tutaj.

Najważniejsze nowe funkcje

  • EncryptedFile udostępnia zaszyfrowane strumienie wejściowe i wyjściowe do odczytywania i zapisywania zaszyfrowanych danych w pliku.
  • EncryptedSharedPreferences, która zapewnia implementację SharedPreferences automatycznie szyfrującą i odszyfrowującą wszystkie klucze i wartości.
  • Umożliwia proste generowanie kluczy za pomocą MasterKeys.