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

Безопасное управление ключами, шифрование файлов и настроек общего доступа.
Предупреждение: Библиотеки `security-crypto` и `security-crypto-ktx` устарели, и дальнейшие их версии выпускаться не будут. Подробности см. в примечаниях к выпуску и [документации по устареванию](/privacy-and-security/cryptography#security-crypto-jetpack-deprecated).

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

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

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

Чтобы добавить зависимость от Security, необходимо добавить репозиторий Google Maven в ваш проект. Для получения дополнительной информации ознакомьтесь с информацией в репозитории Google Maven .

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

Для получения дополнительной информации о зависимостях см. раздел «Добавление зависимостей сборки» .

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

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

Создать новую задачу

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

Security-State-Provider Version 1.0

Версия 1.0.0-alpha01

24 сентября 2025 г.

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

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

  • Это первоначальная альфа-версия библиотеки security-state-provider .
  • Эта библиотека упрощает для клиентов, обновляющих систему (например, OTA-клиентов), публикацию состояния безопасности обновляемых компонентов (системы, системных модулей, ядра и т. д.) на устройстве.
  • Он предоставляет механизмы для регистрации и отмены регистрации информации об обновлениях, которая затем может быть передана другим приложениям или компонентам через ContentProvider .
  • Включает UpdateInfoProvider : ContentProvider , предоставляющий UpdateInfo в формате JSON. Поддерживает запросы, но не операции вставки, удаления или обновления.
  • Включает UpdateInfoManager : управляет хранением и извлечением объектов UpdateInfo , используя SharedPreferences для обеспечения постоянного хранения.
  • Включает UpdateInfo : класс данных для представления информации о доступном обновлении для компонента, включая URI, имя компонента, уровень исправления безопасности (SPL) и дату публикации.

Security-State Version 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-alpha05

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-alpha04

7 августа 2024 г.

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

Примечание

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

Изменения в API

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

Версия 1.0.0-alpha03

10 июля 2024 г.

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

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

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

Версия 1.0.0-alpha02

26 июня 2024 г.

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

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

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

Версия 1.0.0-alpha01

12 июня 2024 г.

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

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

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

Тестирование приложения Security-App-Authenticator, версия 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-alpha02

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-alpha01

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-alpha03

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-alpha02

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-alpha01

5 мая 2021 г.

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

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

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

Security-Identity-Credential Version 1.0.0

Версия 1.0.0-alpha03

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

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

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

  • В Android 12 добавлена ​​поддержка функций аппаратной идентификации.

Версия 1.0.0-alpha02

24 февраля 2021 г.

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

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

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

Версия 1.0.0-alpha01

19 августа 2020 г.

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

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

В этом релизе Jetpack представлена ​​версия API для управления учетными данными, добавленная в Android 11 и API уровня 30. Если устройство работает на Android 11 и поддерживает аппаратную аутентификацию, Jetpack просто перенаправляет вызовы к API платформы. В противном случае будет использоваться реализация на основе хранилища ключей Android. Хотя реализация на основе хранилища ключей Android не обеспечивает тот же уровень безопасности и конфиденциальности, она вполне подходит как для владельцев, так и для эмитентов в случаях, когда все данные подписаны эмитентом. Для работы этой библиотеки требуется API уровня 24 или более поздней версии.

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

Изменения в API

  • Добавлен пакет Jetpack для ввода учетных данных ( Icf90b ).

Security-Crypto Version 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-alpha07

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-alpha06

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-alpha05

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-alpha04

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() , теперь вместо общего IOException в случае, если запрошенный файл не существует, генерируется исключение FileNotFoundException . ( 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 Version 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-alpha03

2 декабря 2020 г.

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

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

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

Версия 1.1.0-alpha02

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-alpha01

10 июня 2020 г.

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

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

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

Security-Crypto Version 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-alpha02

23 мая 2019 г.

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

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

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

Версия 1.0.0-alpha01

7 мая 2019 г.

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

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

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