Bezpieczeństwo

Bezpieczne zarządzanie kluczami i szyfrowanie plików oraz wspólnych preferencji.

Ta tabela zawiera wszystkie artefakty w grupie androidx.security.

Artefakt Wersja stabilna Wersja kandydująca Wersja Beta Wersja alfa
security-crypto 1.0.0 - - 1.1.0-alpha06
security-app-authenticator - - 1.0.0-beta01 -
zabezpieczenia-tożsamości-dane uwierzytelniające - - - 1.0.0-alpha03
Ostatnia aktualizacja tej biblioteki miała miejsce 7 sierpnia 2024 r.

Deklarowanie zależności

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

Dodaj zależności dla artefaktów, których potrzebujesz, 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. Daj nam znać, jeśli odkryjesz nowe wydania lub masz pomysły na ulepszenie tej biblioteki. Zanim utworzysz nową bibliotekę, przejrzyj istniejące problemy w tej bibliotece. Możesz oddać swój głos do istniejącego problemu, klikając przycisk gwiazdki.

Tworzenie nowego numeru

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

Security-State w wersji 1.0

Wersja 1.0.0-alpha04

7 sierpnia 2024 r.

androidx.security:security-state:1.0.0-alpha04 został zwolniony. Wersja 1.0.0-alfa04 zawiera te zatwierdzenia.

Uwaga

  • Zaktualizuj compileSdk do wersji 35 5dc41be

Zmiany w interfejsie API

  • Zmiana powodująca przerwanie zgodności wstecznej: aby umożliwić rozszerzalność, zastąpiono enumerację komponentów stałymi ciągami znaków. (Ia3283)

Wersja 1.0.0-alpha03

10 lipca 2024 r.

androidx.security:security-state:1.0.0-alpha03 został zwolniony. Wersja 1.0.0-alpha03 zawiera te komity.

Poprawki błędów

  • Naprawiono wzór ASB-A- dotyczący błędów w informacjach o bezpieczeństwie w Androidzie, analizę JSON dla dodatkowych komponentów oraz pobieranie pakietów Webview. (Ide86a)

Wersja 1.0.0-alpha02

26 czerwca 2024 r.

androidx.security:security-state:1.0.0-alpha02 został zwolniony. Wersja 1.0.0-alpha02 zawiera te komity.

Poprawki błędów

  • Naprawiono logikę pobierania wersji jądra. (I5602a)

Wersja 1.0.0-alpha01

12 czerwca 2024 r.

androidx.security:security-state:1.0.0-alpha01 został zwolniony. Wersja 1.0.0-alpha01 zawiera te komity.

Nowe funkcje

  • Security State to nowa biblioteka, która umożliwia deweloperom uzyskiwanie przydatnych danych o wersjach aktualizowalnych komponentów systemu, aktualizacjach zabezpieczeń i zastosowanej poprawce.

Security-App-Authenticator-Testing Version 1.0

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 są dostępne. Wersja 1.0.0-beta01 zawiera te komity.

Wersja 1.0.0-alpha02

13 grudnia 2023 r.

androidx.security:security-app-authenticator-testing:1.0.0-alpha02 został zwolniony. Wersja 1.0.0-alpha02 zawiera te commity.

Poprawki błędów

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

Wersja 1.0.0-alpha01

2 czerwca 2021 r.

Usługa androidx.security:security-app-authenticator-testing:1.0.0-alpha01 została zwolniona. Wersja 1.0.0-alpha01 zawiera te commity.

Nowe funkcje

Ta biblioteka testów udostępnia kreator, który umożliwia skonfigurowanie modułu AppAuthenticator do wstrzyknięcia zgodnie z wymaganiami testu. Biblioteka ta obsługuje kilka metod konfigurowania biblioteki AppAuthenticator:

  • Można określić ogólną zasadę testową, która zgłasza dopasowanie sygnatury dla wszystkich pakietów zadeklarowanych w konfiguracji.
  • Możesz określić poszczególne pakiety, aby zwrócić dopasowanie podpisu do wszystkich innych pakietów, które nie zgłaszają dopasowania.
  • Dla każdego pakietu można ustawić jawne tożsamości podpisywania. Powstały w ten sposób AppAuthenticator zgłasza dopasowanie podpisu tylko wtedy, gdy podana tożsamość pasuje do deklaracji w pliku konfiguracji.
  • Pakiety mogą być też traktowane jako nieinstalowane lub mieć jawny identyfikator UID.

Security-App-Authenticator Version 1.0.0

Wersja 1.0.0-alpha03

13 grudnia 2023 r.

androidx.security:security-app-authenticator:1.0.0-alpha03 został zwolniony. Wersja 1.0.0-alpha03 zawiera te commity.

Zmiany interfejsu API

  • Dodano obsługę przypadków, w których identyfikator UID lub PID pakietu do weryfikacji jest niedostępny. Interfejsy API obsługują teraz przypadki takie jak startActivityForResult oraz czynności / odbiorniki, w których tożsamość aplikacji wywołującej jest udostępniana za pomocą [Activity|Broadcast]Options#setShareIdentityEnabled.
  • Zachowanie 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 pomijać weryfikację identyfikatora UID wywoływanego pakietu, jeśli nie zostanie on wyraźnie podany. (I1851b)

Wersja 1.0.0-alpha02

2 czerwca 2021 r.

Usługa androidx.security:security-app-authenticator:1.0.0-alpha02 została zwolniona. Wersja 1.0.0-alfa02 zawiera te zatwierdzenia.

Zmiany w interfejsie API

  • W ramach przygotowań do obsługi nowego parametru ochrony uprawnień knownSigner wprowadzonego w Androidzie 12 nie można już określać w konfiguracji atrybutu digestAlgorithm. Zamiast tego wszystkie skróty certyfikatów należy obliczać za pomocą algorytmu SHA-256.

Poprawki błędów

  • Wszystkie podsumowania certyfikatów podane w konfiguracji są teraz normalizowane, aby zapewnić możliwość zgłaszania dopasowania podpisu zarówno wtedy, gdy podsumowanie jest obliczane w czasie wykonywania, jak i gdy zdefiniowana jest jawna tożsamość podpisu podczas korzystania z biblioteki testowej.

Wersja 1.0.0-alpha01

5 maja 2021 roku

androidx.security:security-app-authenticator:1.0.0-alpha01 został zwolniony. Wersja 1.0.0-alpha01 zawiera te commity.

Nowe funkcje

AppAuthenticator to nowa biblioteka, która ma na celu uproszczenie weryfikacji zaufania do aplikacji na podstawie tożsamości podpisywania. Aplikacja musi tylko określić plik konfiguracji XML zawierający nazwy pakietów i tożsamości podpisywania zaufanych aplikacji. Biblioteka zajmie się weryfikacją tożsamości podpisywania aplikacji w czasie wykonywania.

Wersja 1.1.0

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 są dostępne. Wersja 1.1.0-alfa06 zawiera te zatwierdzenia.

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 są dostępne. Wersja 1.1.0-alpha05 zawiera te commity.

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 są dostępne. Wersja 1.1.0-alpha04 zawiera te commity.

Nowe funkcje

  • Usunięto komunikat w dzienniku „Nie znaleziono klucza. Wygeneruję nowy” podczas pierwszego uruchamiania aplikacji. (b/185219606)
  • Uaktualniono zależność Tink do wersji 1.7.0.

Zmiany w interfejsie API

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

Poprawki błędów

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

Darowizna zewnętrzna

Security-Crypto-Ktx w wersji 1.1.0-alpha03

18 maja 2021 r.

androidx.security:security-crypto-ktx:1.1.0-alpha03 został zwolniony. Wersja 1.1.0-alpha03 zawiera te commity.

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

Wersja 1.1.0-alpha03

Grudzień 2, 2020

Usługa androidx.security:security-crypto:1.1.0-alpha03 została zwolniona. Wersja 1.1.0-alpha03 zawiera te commity.

Nowe funkcje

  • Zaktualizowano Tink do stabilnej wersji 1.5.0

Wersja 1.1.0-alpha02

5 sierpnia 2020 r.

androidx.security:security-crypto:1.1.0-alpha02 i androidx.security:security-crypto-ktx:1.1.0-alpha02 zostały udostępnione. Wersja 1.1.0-alpha02 zawiera te commity.

Nowe funkcje

  • Zaktualizowano Tink do stabilnej wersji 1.4.0

Poprawki błędów

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

Darowizna zewnętrzna

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

Wersja 1.1.0-alpha01

10 czerwca 2020 r.

androidx.security:security-crypto:1.1.0-alpha01 został zwolniony. Wersja 1.1.0-alpha01 zawiera te commity.

Nowe funkcje

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

Security-Identity-Credential Version 1.0.0

Wersja 1.0.0-alpha03

1 września 2021 roku

androidx.security:security-identity-credential:1.0.0-alpha03 został zwolniony. Wersja 1.0.0-alpha03 zawiera te commity.

Nowe funkcje

  • Dodano obsługę funkcji związanych z tożsamością opartą na sprzęcie w Androidzie 12.

Wersja 1.0.0-alpha02

24 lutego 2021 r.

androidx.security:security-identity-credential:1.0.0-alpha02 został zwolniony. Wersja 1.0.0-alpha02 zawiera te commity.

Poprawki błędów

  • Zaktualizuj Identity Credential API, aby pasował do abonamentów na Androida 12 (Iff83e)

Wersja 1.0.0-alpha01

19 sierpnia 2020 r.

Usługa androidx.security:security-identity-credential:1.0.0-alpha01 została zwolniona. Wersja 1.0.0-alfa01 zawiera te zatwierdzenia.

Nowe funkcje

Ta wersja Jetpacka zawiera interfejs Identity Credential API w wersji Jetpack, która została dodana do Androida 11 oraz interfejsu API na poziomie 30. Jeśli Jetpack działa w systemie Android 11, a urządzenie obsługuje uwierzytelnianie tożsamości na poziomie sprzętu, to Jetpack po prostu przekierowuje wywołania do interfejsu API platformy. W przeciwnym razie zostanie użyte rozwiązanie oparte na Keystore na Androida. Chociaż implementacja obsługiwana przez Keystore na Androidzie nie zapewnia takiego samego poziomu bezpieczeństwa i prywatności, jest w pełni odpowiednia zarówno dla posiadaczy, jak i wydawców w przypadku, gdy wszystkie dane są podpisywane przez wydawcę. Ta biblioteka wymaga poziomu API 24 lub nowszego.

Interfejsy API tożsamości i dokumentów tożsamości zapewniają interfejs do bezpiecznego przechowywania dokumentów tożsamości użytkownika. Te interfejsy API są celowo ogólne i abstrakcyjne. W miarę możliwości specyfikacja formatów wiadomości i semantyki komunikacji z urządzeniami do weryfikacji danych logowania i urzędami wydającymi (Issuer Authorities, IAs) wykracza poza zakres tych interfejsów API. Struktury danych, na których są oparte interfejsy API, są zgodne ze strukturami danych w niedawno opublikowanym standardzie ISO/IEC 18013-5 Identyfikacja osobista – prawo jazdy zgodne z normą ISO – Część 5: aplikacja prawa jazdy na urządzeniu mobilnym (mDL).

Zmiany w interfejsie API

  • Dodano Jetpacka danych tożsamości. (Icf90b)

Wersja 1.0.0

Wersja 1.0.0

21 kwietnia 2021 r.

Usługa androidx.security:security-crypto:1.0.0 została zwolniona. Wersja 1.0.0 zawiera te zatwierdzenia.

Najważniejsze funkcje wersji 1.0.0

Podsumowanie funkcji

  • EncryptedFile udostępnia zaszyfrowane strumienie wejściowe i wyjściowe umożliwiające odczyt i zapis zaszyfrowanych danych w pliku.
  • EncryptedSharedPreferences udostępnia implementację SharedPreferences, które automatycznie szyfruje/odszyfrowuje wszystkie klucze i wartości.
  • Zapewnia łatwe generowanie kluczy za pomocą MasterKeys.
  • Używa Tink 1.5.0, aby zwiększyć stabilność.

Wersja 1.0.0-rc04

13 stycznia 2021 r.

androidx.security:security-crypto:1.0.0-rc04 został zwolniony. Wersja 1.0.0-rc04 zawiera te zatwierdzenia.

Poprawki błędów

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

Wersja 1.0.0-rc03

5 sierpnia 2020 r.

androidx.security:security-crypto:1.0.0-rc03 został zwolniony. Wersja 1.0.0-rc03 zawiera te zatwierdzenia.

Nowe funkcje

  • Zaktualizowano Tink do stabilnej wersji 1.4.0

Poprawki błędów

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

Darowizna zewnętrzna

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

Wersja 1.0.0-rc02

20 maja 2020 r.

androidx.security:security-crypto:1.0.0-rc02 został zwolniony. Wersja 1.0.0-rc02 zawiera te zatwierdzenia.

Poprawki błędów

  • Zaktualizowano do Tink w wersji 1.4.0-rc2, co odcienia Proto buf Lite Dep. Rozwiązuje to powszechny problem kolidowania z innymi pakietami SDK Androida. (I8a831)
  • Naprawiono błąd apply() w pliku EncryptedSharedPreferences. (I29069, b/154366606)

Wersja 1.0.0-rc01

15 kwietnia 2020 roku

androidx.security:security-crypto:1.0.0-rc01 został zwolniony. Wersja 1.0.0-rc01 zawiera te zatwierdzenia.

Poprawki błędów

  • Dodano mechanizmy sprawdzania, które mają na celu zapewnienie, że jeśli KeyGenParamSpec jest przekazywane do MasterKeys.getOrCreate, a getUserAuthenticationRequired zwraca wartość true, to getUserAuthenticationValidityDurationSeconds zwraca wartość większą niż 0. (I911f5) (b/152644939)

Wersja 1.0.0-beta01

18 marca 2020 r.

androidx.security:security-crypto:1.0.0-beta01 jest publikowany bez zmian od 1.0.0-alpha02. Wersja 1.0.0-beta01 zawiera te commity.

Wersja 1.0.0-alpha02

23 maja 2019 r.

androidx.security:security-crypto:1.0.0-alpha02 został zwolniony. Zmiany zawarte w tej wersji można znaleźć w tym logu zmian.

Poprawki błędów

  • Rozwiązaliśmy problem z pobieraniem kluczy/wartości powiązanych ze współdzielonymi preferencjami z getAll().
  • Zablokowane użycie ograniczonych kluczy preferencji.
  • Drobne aktualizacje Javadoc.

Wersja 1.0.0-alpha01

7 maja 2019 r.

Usługa androidx.security:security-crypto:1.0.0-alpha01 została zwolniona. Zatwierdzenia zawarte w tej wersji znajdziesz tutaj.

Najważniejsze informacje o nowych funkcjach

  • EncryptedFile udostępnia zaszyfrowane strumienie wejściowe i wyjściowe umożliwiające odczyt i zapis zaszyfrowanych danych w pliku.
  • EncryptedSharedPreferences udostępnia implementację SharedPreferences, która automatycznie szyfruje/odszyfrowuje wszystkie klucze i wartości.
  • Zapewnia łatwe generowanie kluczy za pomocą MasterKeys.