セキュリティ
androidx.security
グループ内のすべてのアーティファクトのリストを以下に示します。
アーティファクト | 安定版リリース | リリース候補版 | ベータ版リリース | アルファ版リリース |
---|---|---|---|---|
security-crypto | 1.0.0 | - | - | 1.1.0-alpha06 |
security-app-authenticator | - | - | 1.0.0-beta01 | - |
security-identity-credential | - | - | - | 1.0.0-alpha03 |
依存関係の宣言
Security への依存関係を追加するには、Google の Maven リポジトリをプロジェクトに追加する必要があります。詳しくは、Google の Maven リポジトリをご覧ください。
アプリまたはモジュールの build.gradle
ファイルに、必要なアーティファクトの依存関係を追加します。
依存関係について詳しくは、ビルド依存関係の追加をご覧ください。
フィードバック
お寄せいただいたフィードバックは Jetpack 改善の参考にさせていただきます。新しい問題が見つかった場合や、このライブラリを改善するアイデアをお持ちの場合は、お知らせください。新しい問題を報告していただく前に、このライブラリの既存の問題をご確認ください。スターボタンをクリックすると、既存の問題に投票できます。
詳細については、Issue Tracker のドキュメントをご覧ください。
Security-State バージョン 1.0
バージョン 1.0.0-alpha04
2024 年 8 月 7 日
androidx.security:security-state:1.0.0-alpha04
がリリースされました。バージョン 1.0.0-alpha04 に含まれる commit はこちらをご覧ください。
注
compileSdk
を 35 5dc41be に更新
API の変更
- 互換性のない変更: コンポーネント列挙型は、拡張性のために文字列定数に置き換えられました。(Ia3283)
バージョン 1.0.0-alpha03
2024 年 7 月 10 日
androidx.security:security-state:1.0.0-alpha03
がリリースされました。バージョン 1.0.0-alpha03 には、これらの commit が含まれています。
バグの修正
- Android セキュリティに関する公開情報のバグ、追加コンポーネントの JSON 解析、
Webview
パッケージ化された取得の ASB-A- パターンを修正。(Ide86a)
バージョン 1.0.0-alpha02
2024 年 6 月 26 日
androidx.security:security-state:1.0.0-alpha02
がリリースされました。バージョン 1.0.0-alpha02 に含まれる commit はこちらをご覧ください。
バグの修正
- カーネル バージョンの取得ロジックを修正しました。(I5602a)
バージョン 1.0.0-alpha01
2024 年 6 月 12 日
androidx.security:security-state:1.0.0-alpha01
がリリースされました。バージョン 1.0.0-alpha01 には、これらの commit が含まれています。
新機能
- Security State は、更新可能なシステム コンポーネントのバージョン、セキュリティ アップデート、適用された修正に関する実用的なデータをデベロッパーが取得するために使用できる新しいライブラリです。
Security-App-Authenticator-Testing バージョン 1.0
バージョン 1.0.0-beta01
2024 年 3 月 6 日
androidx.security:security-app-authenticator:1.0.0-beta01
と androidx.security:security-app-authenticator-testing:1.0.0-beta01
がリリースされました。バージョン 1.0.0-beta01 には、これらの commit が含まれています。
バージョン 1.0.0-alpha02
2023 年 12 月 13 日
androidx.security:security-app-authenticator-testing:1.0.0-alpha02
がリリースされました。バージョン 1.0.0-alpha02 に含まれる commit については、こちらをご覧ください。
バグの修正
[check|enforce]CallingAppIdentity
API に指定されていない場合にBinder#getCalling[Uid|Pid]
を想定しない新しい API 動作のテストが更新されました。(I1851b)
バージョン 1.0.0-alpha01
2021 年 6 月 2 日
androidx.security:security-app-authenticator-testing:1.0.0-alpha01
がリリースされました。バージョン 1.0.0-alpha01 に含まれる commit については、こちらをご覧ください。
新機能
このテスト ライブラリには、テストの要件を満たす挿入可能な AppAuthenticator の構成に使用できるビルダーが用意されています。このライブラリでは、AppAuthenticator を構成するいくつかの方法がサポートされています。
- 構成で宣言されたすべてのパッケージの署名の一致を報告するように、一般的なテストポリシーを指定できます。
- 一致を報告しない他のすべてのパッケージとの署名の一致を返すように、個々のパッケージを指定できます。
- 各パッケージに明示的な署名 ID を設定できます。生成される AppAuthenticator は、提供された ID が構成ファイルの宣言と一致する場合にのみ、署名の一致を報告します。
- パッケージは、インストールされていないもの、または明示的な UID が指定されているものとして扱うこともできます。
Security-App-Authenticator バージョン 1.0.0
バージョン 1.0.0-alpha03
2023 年 12 月 13 日
androidx.security:security-app-authenticator:1.0.0-alpha03
がリリースされました。バージョン 1.0.0-alpha03 に含まれる commit については、こちらをご覧ください。
API の変更
- 検証するパッケージの UID / PID が使用できないユースケースのサポートを追加しました。API は、
startActivityForResult
や、呼び出し元アプリの ID が[Activity|Broadcast]Options#setShareIdentityEnabled
を介して共有されるアクティビティ / レシーバなどのケースをサポートするようになりました。 [check|enforce]CallingAppIdentity(String, String)
の動作が更新され、これらの新しいユースケースがサポートされるようになりました。これらのメソッドはデフォルトでBinder#getCalling[Uid|Pid]
を使用するのではなく、明示的に指定されていない限り、呼び出し元のパッケージの UID の検証をスキップします。(I1851b)
バージョン 1.0.0-alpha02
2021 年 6 月 2 日
androidx.security:security-app-authenticator:1.0.0-alpha02
がリリースされました。バージョン 1.0.0-alpha02 に含まれる commit については、こちらをご覧ください。
API の変更
- Android 12 で導入された新しい
knownSigner
権限保護フラグをサポートする準備として、構成内で digestAlgorithm 属性を指定できなくなりました。代わりに、SHA-256 を使用してすべての証明書ダイジェストを計算する必要があります。
バグの修正
- 構成で提供されるすべての証明書ダイジェストが正規化され、実行時にダイジェストが計算されたときと、テスト ライブラリの使用時に明示的な署名 ID が定義されたときに、署名の一致が報告されるようになりました。
バージョン 1.0.0-alpha01
2021 年 5 月 5 日
androidx.security:security-app-authenticator:1.0.0-alpha01
がリリースされました。バージョン 1.0.0-alpha01 に含まれる commit については、こちらをご覧ください。
新機能
AppAuthenticator は、署名 ID に基づいたアプリの信頼の検証を簡素化することを目的とした新しいライブラリです。アプリでは、信頼できるアプリのパッケージ名と署名 ID を含む XML 構成ファイルを指定するだけで済みます。ライブラリが実行時にアプリの署名 ID の検証を行います。
バージョン 1.1.0
バージョン 1.1.0-alpha06
2023 年 4 月 19 日
androidx.security:security-crypto:1.1.0-alpha06
と androidx.security:security-crypto-ktx:1.1.0-alpha06
がリリースされました。バージョン 1.1.0-alpha06 に含まれる commit については、こちらをご覧ください。
新機能
- Tink の依存関係を 1.8.0 に更新しました
バージョン 1.1.0-alpha05
2023 年 2 月 22 日
androidx.security:security-crypto:1.1.0-alpha05
と androidx.security:security-crypto-ktx:1.1.0-alpha05
がリリースされました。バージョン 1.1.0-alpha05 に含まれる commit については、こちらをご覧ください。
バグの修正
MasterKeys.getOrCreate
での競合状態を修正しました(I3391e、b/268572037)
バージョン 1.1.0-alpha04
2022 年 11 月 9 日
androidx.security:security-crypto:1.1.0-alpha04
と androidx.security:security-crypto-ktx:1.1.0-alpha04
がリリースされました。バージョン 1.1.0-alpha04 に含まれる commit については、こちらをご覧ください。
新機能
- アプリの初回起動時に表示される「keyset not found, will generate a new one」というログメッセージを削除しました。(b/185219606)
- Tink の依存関係をバージョン 1.7.0 にアップグレードしました。
API の変更
- リクエストされたファイルが存在しない場合に、一般的な
IOException
ではなくFileNotFoundException
をスローするようにEncryptedFile#openFileInput()
を変更しました。(I80e41、b/148804719) - それぞれのメソッドではなく Android M を要求するよう「MasterKeys」クラスを更新しました。(I8b4b8)
- 値の型が定義済みの列挙型バリアントのいずれかと一致しないまれな状況で、
SecurityException
をスローするようにEncryptedSharedPreferences
のすべての設定のゲッター(#getString
、#getInt
など)を変更しました。(b/241699427)
バグの修正
- security-crypto-ktx ライブラリの最小 SDK バージョンを v21 に下げて security-crypto と同期しました。(b/193550375)
- 複数の
EncryptedFile
をビルドする際の同時実行バグを修正しました。(b/136590547)
外部からの協力
- chr.ibbotson@gmail.com から
EncryptedSharedPreferences.Editor#remove
の修正を受け取りました。(b/224994760、b/134197835、f44d44d)
Security-Crypto-Ktx バージョン 1.1.0-alpha03
2021 年 5 月 18 日
androidx.security:security-crypto-ktx:1.1.0-alpha03
がリリースされました。バージョン 1.1.0-alpha03 に含まれる commit については、こちらをご覧ください。
androidx.security:security-crypto:1.1.0-alpha03
に合わせて更新しました。
バージョン 1.1.0-alpha03
2020 年 12 月 2 日
androidx.security:security-crypto:1.1.0-alpha03
がリリースされました。バージョン 1.1.0-alpha03 に含まれる commit については、こちらをご覧ください。
新機能
- Tink が安定版リリース
1.5.0
に更新されました。
バージョン 1.1.0-alpha02
2020 年 8 月 5 日
androidx.security:security-crypto:1.1.0-alpha02
と androidx.security:security-crypto-ktx:1.1.0-alpha02
がリリースされました。バージョン 1.1.0-alpha02 に含まれる commit については、こちらをご覧ください。
新機能
- Tink が安定版リリース
1.4.0
に更新されました。
バグの修正
- Tink が更新されたことで、シェーディングされた Protobuf 依存関係に関する R8 と Proguard の問題が解決します。
- Tink が更新されたことで、AndroidKeyStore の同時実行エラーが適切に処理されるようになります。
外部からの協力
- EncryptedSharedPreferences の適用、修正時に
mKeysChanged
をクリアします。(aosp/1323026)
バージョン 1.1.0-alpha01
2020 年 6 月 10 日
androidx.security:security-crypto:1.1.0-alpha01
がリリースされました。バージョン 1.1.0-alpha01 に含まれる commit については、こちらをご覧ください。
新機能
- Lollipop(API レベル 21 以上)がサポートされるようになりました。API 21 と 22 では AndroidKeyStore が使用されない点にご注意ください。(I7c12d、b/132325342)
- 新しい MasterKey クラスではキーのオプションが増えました。また、KeyGenParamSpec を持たない Android バージョンと新機能をサポートするために、MasterKeys のサポートを終了しました。
Security-Identity-Credential バージョン 1.0.0
バージョン 1.0.0-alpha03
2021 年 9 月 1 日
androidx.security:security-identity-credential:1.0.0-alpha03
がリリースされました。バージョン 1.0.0-alpha03 に含まれる commit については、こちらをご覧ください。
新機能
- Android 12 のハードウェア格納型の ID 認証情報機能に対するサポートを追加しました。
バージョン 1.0.0-alpha02
2021 年 2 月 24 日
androidx.security:security-identity-credential:1.0.0-alpha02
がリリースされました。バージョン 1.0.0-alpha02 に含まれる commit については、こちらをご覧ください。
バグの修正
- ID 認証情報 API を Android 12 のプランに合わせて更新します(Iff83e)
バージョン 1.0.0-alpha01
2020 年 8 月 19 日
androidx.security:security-identity-credential:1.0.0-alpha01
がリリースされました。バージョン 1.0.0-alpha01 に含まれる commit については、こちらをご覧ください。
新機能
この Jetpack リリースでは、ID 認証情報 API の Jetpack バージョンが Android 11 および API レベル 30 に追加されました。Android 11 を搭載したデバイスでハードウェア格納型の ID 認証情報をサポートしている場合、この Jetpack は単に呼び出しをプラットフォーム API に転送します。それ以外の場合は、Android キーストアに依存する実装が使用されます。Android キーストアに依存する実装で提供されるセキュリティとプライバシーはハードウェア格納型と同じレベルではありませんが、すべてのデータに発行者の署名がある場合は、所有者と発行者の両方にとって十分適切なレベルになります。このライブラリは API レベル 24 以降を必要とします。
ID 認証情報 API は、ユーザー ID ドキュメントに対し、安全なストアへのインターフェースを提供します。これらの API は、意図的にかなり汎用的で抽象的なものになっています。認証情報検証デバイスおよび認証機関(IA)との通信に使用されるメッセージ形式とセマンティクスの仕様は、これらの API のスコープから可能な限り除外されています。API が依存するデータ構造は、まもなくリリースされる「ISO/IEC IS 18013-5 Personal identification - ISO-compliant driving licence - Part 5: Mobile driving licence (mDL)」のアプリケーション規格で規定されるデータ構造と互換性があります。
API の変更
- ID 認証情報 Jetpack を追加しました。(Icf90b)
バージョン 1.0.0
バージョン 1.0.0
2021 年 4 月 21 日
androidx.security:security-crypto:1.0.0
がリリースされました。バージョン 1.0.0 に含まれる commit については、こちらをご覧ください。
1.0.0 の主な機能
注目の機能
EncryptedFile
: 暗号化された入出力ストリームを提供し、暗号化されたデータをファイルから読み取り、ファイルに書き込みます。EncryptedSharedPreferences
: すべてのキーと値を自動的に暗号化 / 復号する SharedPreferences の実装を提供します。- MasterKeys を介した簡単なキー生成を提供します。
- 安定性を高めるため、Tink 1.5.0 を使用します。
バージョン 1.0.0-rc04
2021 年 1 月 13 日
androidx.security:security-crypto:1.0.0-rc04
がリリースされました。バージョン 1.0.0-rc04 に含まれる commit については、こちらをご覧ください。
バグの修正
- Tink を 1.5.0 にアップグレードし、安定性を向上させました。
バージョン 1.0.0-rc03
2020 年 8 月 5 日
androidx.security:security-crypto:1.0.0-rc03
がリリースされました。バージョン 1.0.0-rc03 に含まれる commit については、こちらをご覧ください。
新機能
- Tink が安定版リリース
1.4.0
に更新されました。
バグの修正
- Tink が更新されたことで、シェーディングされた Protobuf 依存関係に関する R8 と Proguard の問題が解決します。
- Tink が更新されたことで、AndroidKeyStore の同時実行エラーが適切に処理されるようになります。
外部からの協力
- EncryptedSharedPreferences の適用、修正時に
mKeysChanged
をクリアします。(aosp/1323026)
バージョン 1.0.0-rc02
2020 年 5 月 20 日
androidx.security:security-crypto:1.0.0-rc02
がリリースされました。バージョン 1.0.0-rc02 に含まれる commit については、こちらをご覧ください。
バグの修正
- proto buf lite dep をシェーディングする Tink バージョン 1.4.0-rc2 に更新しました。これにより、他の Android SDK との競合という広く報告されている問題が解決されます。(I8a831)
EncryptedSharedPreferences
のapply()
を修正しました。(I29069、b/154366606)
バージョン 1.0.0-rc01
2020 年 4 月 15 日
androidx.security:security-crypto:1.0.0-rc01
がリリースされました。バージョン 1.0.0-rc01 に含まれる commit については、こちらをご覧ください。
バグの修正
KeyGenParamSpec
がMasterKeys.getOrCreate
に渡され、getUserAuthenticationRequired
がtrue
を返した場合にgetUserAuthenticationValidityDurationSeconds
が 0 より大きな値を返すことを確認するチェックを追加しました。(I911f5)(b/152644939)
バージョン 1.0.0-beta01
2020 年 3 月 18 日
androidx.security:security-crypto:1.0.0-beta01
がリリースされました。1.0.0-alpha02
からの変更はありません。バージョン 1.0.0-beta01 に含まれる commit については、こちらをご覧ください。
バージョン 1.0.0-alpha02
2019 年 5 月 23 日
androidx.security:security-crypto:1.0.0-alpha02
がリリースされました。
このバージョンに含まれる commit については、commit ログをご覧ください。
バグの修正
getAll()
から共有設定に関連付けられた Key-Value を取得する際の問題を修正しました。- 制限された設定キーの使用をブロックしました。
- Javadoc のマイナー アップデート
バージョン 1.0.0-alpha01
2019 年 5 月 7 日
androidx.security:security-crypto:1.0.0-alpha01
がリリースされました。このバージョンに含まれる commit については、こちらをご覧ください。
新機能のハイライト
EncryptedFile
: 暗号化された入出力ストリームを提供し、暗号化されたデータをファイルから読み取り、ファイルに書き込みます。EncryptedSharedPreferences
: すべてのキーと値を自動的に暗号化 / 復号するSharedPreferences
の実装を提供します。- MasterKeys を介した簡単なキー生成を提供します。