Безопасность

Безопасное управление ключами, шифрование файлов и общих настроек.

В этой таблице перечислены все артефакты в группе androidx.security .

Артефакт Стабильный релиз Кандидат на релиз Бета-версия Альфа-релиз
безопасность-криптография 1.1.0 - - -
приложение-аутентификатор безопасности 1.0.0 - - -
тестирование аутентификатора-приложения-безопасности 1.0.0 - - -
безопасность-идентификация-учетные данные - - - 1.0.0-альфа03
Последнее обновление этой библиотеки: 30 июля 2025 г.

Объявление зависимостей

Чтобы добавить зависимость от Security, необходимо добавить репозиторий Google Maven в свой проект. Подробнее см. в репозитории Google Maven .

Добавьте зависимости для необходимых артефактов в файл build.gradle вашего приложения или модуля:

Дополнительные сведения о зависимостях см. в разделе Добавление зависимостей сборки .

Обратная связь

Ваши отзывы помогают улучшить Jetpack. Сообщите нам, если вы обнаружите новые проблемы или у вас есть идеи по улучшению этой библиотеки. Пожалуйста, ознакомьтесь с уже существующими проблемами в этой библиотеке, прежде чем создавать новую. Вы можете проголосовать за существующую проблему, нажав на кнопку со звёздочкой.

Создать новый выпуск

Более подробную информацию см. в документации по системе отслеживания проблем .

Security-State Версия 1.0.0

Версия 1.0.0-beta01

26 февраля 2025 г.

Выпущена версия androidx.security:security-state:1.0.0-beta01 . Версия 1.0.0-beta01 содержит следующие коммиты .

Исправления ошибок

  • Исправлена ошибка, из-за которой getPatchedCves() не возвращал исправленные CVE для COMPONENT_SYSTEM_MODULES . ( Ice5e2 )

Версия 1.0.0-альфа05

29 января 2025 г.

Выпущена версия androidx.security:security-state:1.0.0-alpha05 . Версия 1.0.0-alpha05 содержит следующие коммиты .

Новые функции

  • Имена пакетов системных модулей по умолчанию были добавлены в манифест библиотеки, чтобы позволить клиентским приложениям получать Device SPL для системных модулей. ( Ic259c )

Изменения API

  • SecurityStateManager переименован в SecurityStateManagerCompat , добавлена дополнительная документация для публичных свойств и функций, а также методы getComponentSecurityPatchLevel и getVulnerabilityReportUrl сделаны статическими. ( I44a0c )
  • Функциональность обновления доступности (методы listAvailableUpdates() и getAvailableSecurityPatchLevel() ) на данный момент удалена из API и планируется вернуть в будущем обновлении библиотеки. ( Idbc5e )
  • Доступ к Vendor SPL теперь защищен флагом времени компиляции, который по умолчанию отключен до будущего обновления библиотеки. ( I45b58 )
  • getGlobalSecurityState() теперь возвращает глобальное состояние безопасности из системной службы для SDK 35+. ( I7b9da )

Исправления ошибок

  • Исправлен сбой, возникавший при попытке получить опубликованный SPL для ядра на старых версиях Android, где опубликованные версии ядра LTS недоступны. ( I93dff )

Версия 1.0.0-альфа04

7 августа 2024 г.

Выпущена версия androidx.security:security-state:1.0.0-alpha04 . Версия 1.0.0-alpha04 содержит следующие коммиты .

Примечание

  • Обновление compileSdk до версии 35 5dc41be

Изменения API

  • Критическое изменение: перечисление компонентов было заменено строковыми константами для расширения. ( Ia3283 )

Версия 1.0.0-альфа03

10 июля 2024 г.

Выпущена версия androidx.security:security-state:1.0.0-alpha03 . Версия 1.0.0-alpha03 содержит следующие коммиты .

Исправления ошибок

  • Исправление шаблона ASB-A для ошибок бюллетеня безопасности Android, анализ JSON для дополнительных компонентов и пакетное извлечение Webview . ( Ide86a )

Версия 1.0.0-альфа02

26 июня 2024 г.

Выпущена версия androidx.security:security-state:1.0.0-alpha02 . Версия 1.0.0-alpha02 содержит следующие коммиты .

Исправления ошибок

  • Исправлена логика получения версии ядра. ( I5602a )

Версия 1.0.0-альфа01

12 июня 2024 г.

Выпущена версия androidx.security:security-state:1.0.0-alpha01 . Версия 1.0.0-alpha01 содержит следующие коммиты .

Новые функции

  • Security State — это новая библиотека, которую разработчики могут использовать для получения полезных данных о версиях обновляемых компонентов системы, обновлениях безопасности и примененных исправлениях.

Security-App-Authenticator-Testing Версия 1.0.0

Версия 1.0.0

30 июля 2025 г.

Выпущены androidx.security:security-app-authenticator:1.0.0 и androidx.security:security-app-authenticator-testing:1.0.0 . Версия 1.0.0 содержит эти коммиты .

Версия 1.0.0-rc01

20 мая 2025 г.

Выпущены androidx.security:security-app-authenticator:1.0.0-rc01 и androidx.security:security-app-authenticator-testing:1.0.0-rc01 . Версия 1.0.0-rc01 содержит эти коммиты .

Версия 1.0.0-beta01

6 марта 2024 г.

Выпущены androidx.security:security-app-authenticator:1.0.0-beta01 и androidx.security:security-app-authenticator-testing:1.0.0-beta01 . Версия 1.0.0-beta01 содержит эти коммиты .

Версия 1.0.0-альфа02

13 декабря 2023 г.

Выпущена версия androidx.security:security-app-authenticator-testing:1.0.0-alpha02 . Версия 1.0.0-alpha02 содержит следующие изменения.

Исправления ошибок

  • Обновлен тест для нового поведения API, которое больше не предполагает Binder#getCalling[Uid|Pid] если он не указан в API [check|enforce]CallingAppIdentity . ( I1851b )

Версия 1.0.0-альфа01

2 июня 2021 г.

Выпущена версия androidx.security:security-app-authenticator-testing:1.0.0-alpha01 . Версия 1.0.0-alpha01 содержит следующие изменения.

Новые функции

Эта тестовая библиотека предоставляет конструктор, который можно использовать для настройки внедряемого AppAuthenticator в соответствии с требованиями теста. Эта библиотека поддерживает несколько методов настройки AppAuthenticator:

  • Можно указать общую политику тестирования, которая будет сообщать о совпадении подписей для всех пакетов, объявленных в конфигурации.
  • Можно указать отдельные пакеты, которые будут возвращать совпадение сигнатуры, в то время как все остальные пакеты будут сообщать об отсутствии совпадения.
  • Для каждого пакета можно задать явные идентификаторы подписи; полученный AppAuthenticator затем сообщит о совпадении подписи только в том случае, если предоставленный идентификатор соответствует объявлению в файле конфигурации.
  • Пакеты также можно рассматривать как не установленные или имеющие явный uid.

Security-App-Authenticator версии 1.0.0

Версия 1.0.0-rc01

20 мая 2025 г.

Выпущены androidx.security:security-app-authenticator:1.0.0-rc01 и androidx.security:security-app-authenticator-testing:1.0.0-rc01 . Версия 1.0.0-rc01 содержит эти коммиты .

Версия 1.0.0-beta01

6 марта 2024 г.

Выпущены androidx.security:security-app-authenticator:1.0.0-beta01 и androidx.security:security-app-authenticator-testing:1.0.0-beta01 . Версия 1.0.0-beta01 содержит эти коммиты .

Версия 1.0.0-альфа03

13 декабря 2023 г.

Выпущена версия androidx.security:security-app-authenticator:1.0.0-alpha03 . Версия 1.0.0-alpha03 содержит следующие изменения.

Изменения API

  • Добавлена поддержка случаев использования, когда UID/PID проверяемого пакета недоступен; API теперь поддерживают такие случаи, как startActivityForResult и действия/приемники, где идентификация вызывающего приложения передается через [Activity|Broadcast]Options#setShareIdentityEnabled .
  • Поведение [check|enforce]CallingAppIdentity(String, String) было обновлено для поддержки этих новых вариантов использования; эти методы больше не будут по умолчанию использовать Binder#getCalling[Uid|Pid] , а вместо этого будут пропускать проверку UID вызывающего пакета, если он не указан явно. ( I1851b )

Версия 1.0.0-альфа02

2 июня 2021 г.

Выпущена версия androidx.security:security-app-authenticator:1.0.0-alpha02 . Версия 1.0.0-alpha02 содержит следующие изменения.

Изменения API

  • В рамках подготовки к поддержке нового флага защиты разрешений knownSigner , представленного в Android 12, атрибут digestAlgorithm больше не может быть указан в конфигурации; вместо этого все дайджесты сертификатов должны вычисляться с использованием SHA-256.

Исправления ошибок

  • Все дайджесты сертификатов, предусмотренные в конфигурации, теперь нормализованы, что гарантирует возможность сообщения об успешном сопоставлении подписей как при вычислении дайджеста во время выполнения, так и при явном определении личности подписи при использовании тестовой библиотеки.

Версия 1.0.0-альфа01

5 мая 2021 г.

Выпущена версия androidx.security:security-app-authenticator:1.0.0-alpha01 . Версия 1.0.0-alpha01 содержит следующие изменения.

Новые функции

AppAuthenticator — это новая библиотека, призванная упростить проверку доверия приложений на основе подписи. Приложению достаточно указать XML-файл конфигурации, содержащий имена пакетов и подписи доверенных приложений, и библиотека возьмет на себя проверку подписи приложений во время выполнения.

Безопасность-Идентификация-Учетные данные Версия 1.0.0

Версия 1.0.0-альфа03

1 сентября 2021 г.

Выпущена версия androidx.security:security-identity-credential:1.0.0-alpha03 . Версия 1.0.0-alpha03 содержит следующие изменения.

Новые функции

  • Добавлена поддержка аппаратных функций удостоверения личности в Android 12.

Версия 1.0.0-альфа02

24 февраля 2021 г.

Выпущена версия androidx.security:security-identity-credential:1.0.0-alpha02 . Версия 1.0.0-alpha02 содержит следующие изменения.

Исправления ошибок

  • Обновление API удостоверений личности для соответствия тарифным планам Android 12 ( Iff83e )

Версия 1.0.0-альфа01

19 августа 2020 г.

Выпущена версия androidx.security:security-identity-credential:1.0.0-alpha01 . Версия 1.0.0-alpha01 содержит следующие изменения.

Новые функции

В этом выпуске Jetpack представлена версия API-интерфейсов удостоверений личности (Identity Credential), добавленная в Android 11 и API уровня 30. При работе на Android 11 и наличии аппаратной поддержки Identity Credential на устройстве Jetpack просто перенаправляет вызовы в API платформы. В противном случае будет использоваться реализация, реализованная в Android Keystore. Хотя реализация, реализованная в Android Keystore, не обеспечивает такого же уровня безопасности и конфиденциальности, она вполне подходит как для держателей, так и для эмитентов, если все данные подписаны эмитентом. Для этой библиотеки требуется API уровня 24 или выше.

API-интерфейсы для учётных данных предоставляют интерфейс к безопасному хранилищу документов, удостоверяющих личность пользователя. Эти API намеренно разработаны в достаточно общем и абстрактном ключе. Спецификация форматов сообщений и семантики взаимодействия с устройствами проверки учётных данных и органами выдачи (IA) выходит за рамки этих API, насколько это возможно. Структуры данных, от которых зависят эти API, совместимы со структурами данных стандарта ISO/IEC IS 18013-5 «Персональная идентификация — водительские права, соответствующие ISO — Часть 5: Мобильные водительские права (mDL)», который скоро будет выпущен.

Изменения API

  • Добавлен Jetpack для проверки подлинности. ( Icf90b )

Security-Crypto Версия 1.1.0

Версия 1.1.0

30 июля 2025 г.

Выпущены androidx.security:security-crypto:1.1.0 и androidx.security:security-crypto-ktx:1.1.0 . Версия 1.1.0 содержит эти коммиты .

Версия 1.1.0-rc01

2 июля 2025 г.

Выпущены androidx.security:security-crypto:1.1.0-rc01 и androidx.security:security-crypto-ktx:1.1.0-rc01 . Версия 1.1.0-rc01 содержит эти коммиты .

Версия 1.1.0-beta01

4 июня 2025 г.

Выпущены androidx.security:security-crypto:1.1.0-beta01 и androidx.security:security-crypto-ktx:1.1.0-beta01 . Версия 1.1.0-beta01 содержит эти коммиты .

Изменения API

  • Отменены все API в пользу существующих API платформы и прямого использования Android Keystore.

Версия 1.1.0-альфа07

9 апреля 2025 г.

Выпущены androidx.security:security-crypto:1.1.0-alpha07 и androidx.security:security-crypto-ktx:1.1.0-alpha07 . Версия 1.1.0-alpha07 содержит эти коммиты .

Изменения API

  • Отменены все API в пользу существующих API платформы и прямого использования Android Keystore.

Версия 1.1.0-альфа06

19 апреля 2023 г.

Выпущены androidx.security:security-crypto:1.1.0-alpha06 и androidx.security:security-crypto-ktx:1.1.0-alpha06 . Версия 1.1.0-alpha06 содержит эти коммиты.

Новые функции

  • Обновлена зависимость Tink до версии 1.8.0.

Версия 1.1.0-альфа05

22 февраля 2023 г.

Выпущены androidx.security:security-crypto:1.1.0-alpha05 и androidx.security:security-crypto-ktx:1.1.0-alpha05 . Версия 1.1.0-alpha05 содержит эти коммиты.

Исправления ошибок

  • Исправлено состояние гонки в MasterKeys.getOrCreate ( I3391e , b/268572037 )

Версия 1.1.0-альфа04

9 ноября 2022 г.

Выпущены androidx.security:security-crypto:1.1.0-alpha04 и androidx.security:security-crypto-ktx:1.1.0-alpha04 . Версия 1.1.0-alpha04 содержит эти коммиты.

Новые функции

  • Удалено сообщение журнала «Набор ключей не найден, будет создан новый» при первом запуске приложения. ( b/185219606 )
  • Зависимость Tink обновлена до версии 1.7.0.

Изменения API

  • Изменяет EncryptedFile#openFileInput() так, чтобы он выдавал FileNotFoundException вместо универсального IOException , когда запрошенный файл не существует. ( I80e41 , b/148804719 )
  • Обновлен класс «MasterKeys» для использования Android M, а не каждого из его методов. ( I8b4b8 )
  • Изменяет все методы получения настроек в EncryptedSharedPreferences (например, #getString , #getInt ), чтобы они вызывали исключение SecurityException в редких случаях, когда тип значения не может совпасть ни с одним из определенных вариантов перечисления. ( b/241699427 )

Исправления ошибок

  • Минимальная версия SDK библиотеки security-crypto-ktx синхронизирована с security-crypto, путем понижения ее до v21 ( b/193550375 ).
  • Исправлена ошибка параллелизма при создании нескольких EncryptedFile ( b/136590547 )

Внешний вклад

  • Получено исправление для EncryptedSharedPreferences.Editor#remove от chr.ibbotson@gmail.com ( b/224994760 , b/134197835 , f44d44d )

Security-Crypto-Ktx Версия 1.1.0-alpha03

18 мая 2021 г.

Выпущена версия androidx.security:security-crypto-ktx:1.1.0-alpha03 . Версия 1.1.0-alpha03 содержит следующие коммиты.

Обновлено для соответствия androidx.security:security-crypto:1.1.0-alpha03 .

Версия 1.1.0-альфа03

2 декабря 2020 г.

Выпущена версия androidx.security:security-crypto:1.1.0-alpha03 . Версия 1.1.0-alpha03 содержит следующие изменения.

Новые функции

  • Tink обновлен до стабильной версии 1.5.0

Версия 1.1.0-альфа02

5 августа 2020 г.

Выпущены androidx.security:security-crypto:1.1.0-alpha02 и androidx.security:security-crypto-ktx:1.1.0-alpha02 . Версия 1.1.0-alpha02 содержит эти коммиты.

Новые функции

  • Tink обновлен до стабильной версии 1.4.0

Исправления ошибок

  • Обновление Tink должно исправить проблемы R8 и Proguard с затененной зависимостью Protobuf.
  • Обновление Tink должно корректно обрабатывать сбои параллелизма AndroidKeyStore.

Внешний вклад

  • очистить mKeysChanged при применении, исправить для EncryptedSharedPreferences ( aosp/1323026 )

Версия 1.1.0-альфа01

10 июня 2020 г.

Выпущена версия androidx.security:security-crypto:1.1.0-alpha01 . Версия 1.1.0-alpha01 содержит следующие изменения.

Новые функции

  • Теперь поддерживается Lollipop (API уровня 21+). Обратите внимание, что AndroidKeyStore не используется для API 21 и 22. ( I7c12d , b/132325342 )
  • Новый класс MasterKey предоставляет больше возможностей для ключей, а также прекращает поддержку MasterKey для поддержки новых функций и версий Android, не имеющих KeyGenParamSpec.

Security-Crypto Версия 1.0.0

Версия 1.0.0

21 апреля 2021 г.

Выпущена версия androidx.security:security-crypto:1.0.0 . Версия 1.0.0 содержит следующие изменения.

Основные особенности версии 1.0.0

Основные моменты

  • EncryptedFile предоставляет зашифрованные входные и выходные потоки для чтения/записи зашифрованных данных в файл.
  • EncryptedSharedPreferences — обеспечивает реализацию SharedPreferences, которая автоматически шифрует/расшифровывает все ключи и значения.
  • Обеспечивает простую генерацию ключей с помощью MasterKeys.
  • Для повышения стабильности используется Tink 1.5.0.

Версия 1.0.0-rc04

13 января 2021 г.

Выпущена версия androidx.security:security-crypto:1.0.0-rc04 . Версия 1.0.0-rc04 содержит следующие коммиты.

Исправления ошибок

  • Обновление Tink до версии 1.5.0 для повышения стабильности.

Версия 1.0.0-rc03

5 августа 2020 г.

Выпущена версия androidx.security:security-crypto:1.0.0-rc03 . Версия 1.0.0-rc03 содержит следующие изменения.

Новые функции

  • Tink обновлен до стабильной версии 1.4.0

Исправления ошибок

  • Обновление Tink должно исправить проблемы R8 и Proguard с затененной зависимостью Protobuf.
  • Обновление Tink должно корректно обрабатывать сбои параллелизма AndroidKeyStore.

Внешний вклад

  • очистить mKeysChanged при применении, исправить для EncryptedSharedPreferences ( aosp/1323026 )

Версия 1.0.0-rc02

20 мая 2020 г.

Выпущена версия androidx.security:security-crypto:1.0.0-rc02 . Версия 1.0.0-rc02 содержит следующие изменения.

Исправления ошибок

  • Обновление Tink до версии 1.4.0-rc2, которое затеняет зависимость Proto Buf Lite. Это решает широко известную проблему конфликта с другими SDK для Android. ( I8a831 )
  • Исправлен apply() в EncryptedSharedPreferences . ( I29069 , b/154366606 )

Версия 1.0.0-rc01

15 апреля 2020 г.

Выпущена версия androidx.security:security-crypto:1.0.0-rc01 . Версия 1.0.0-rc01 содержит следующие коммиты.

Исправления ошибок

  • Добавлены проверки, гарантирующие, что если KeyGenParamSpec передается в MasterKeys.getOrCreate , то если getUserAuthenticationRequired возвращает true , то getUserAuthenticationValidityDurationSeconds возвращает значение >0. ( I911f5 ) ( b/152644939 )

Версия 1.0.0-beta01

18 марта 2020 г.

androidx.security:security-crypto:1.0.0-beta01 выпущен без изменений по сравнению с 1.0.0-alpha02 . Версия 1.0.0-beta01 содержит следующие коммиты .

Версия 1.0.0-альфа02

23 мая 2019 г.

Выпущена версия androidx.security:security-crypto:1.0.0-alpha02 . Изменения, включённые в эту версию, можно найти в этом журнале изменений .

Исправления ошибок

  • Исправлена проблема с получением ключей/значений, связанных с общими настройками, из getAll() .
  • Заблокировано использование ограниченных ключей настроек.
  • Небольшие обновления Javadoc.

Версия 1.0.0-альфа01

7 мая 2019 г.

Выпущена версия androidx.security:security-crypto:1.0.0-alpha01 . Изменения, включённые в эту версию, можно найти здесь .

Основные моменты новых функций

  • EncryptedFile предоставляет зашифрованные входные и выходные потоки для чтения/записи зашифрованных данных в файл.
  • EncryptedSharedPreferences — обеспечивает реализацию SharedPreferences , которая автоматически шифрует/расшифровывает все ключи и значения.
  • Обеспечивает простую генерацию ключей с помощью MasterKeys.