الأمان

إدارة المفاتيح بأمان وتشفير الملفات والإعدادات المفضَّلة المشتركة بأمان

يسرد هذا الجدول جميع العناصر في مجموعة androidx.security.

العناصر الإصدار الثابت إصدار محتمل الإصدار التجريبي الإصدار التجريبي الأول
security-crypto 1.0.0 - - 1.1.0-alpha06
أداة مصادقة-تطبيق الأمان - - 1.0.0-beta01 -
security-identity-credential - - - 1.0.0-alpha03
تاريخ آخر تعديل على هذه المكتبة: 7 آب (أغسطس) 2024

الإعلان عن التبعيات

لإضافة تبعية على الأمان، يجب إضافة مستودع Google Maven إلى مشروعك. اطّلِع على مستودع Maven من Google لمزيد من المعلومات.

أضِف التبعيات للعناصر التي تحتاج إليها في ملف build.gradle ل تطبيقك أو وحدتك:

لمزيد من المعلومات حول العناصر الاعتمادية، يُرجى الاطّلاع على إضافة تبعيات الإصدار.

ملاحظات

تساعدنا ملاحظاتك في تحسين Jetpack. يُرجى إعلامنا إذا واجهت مشاكل جديدة أو كان لديك أفكار لتحسين هذه المكتبة. يُرجى الاطّلاع على المشاكل الحالية في هذه المكتبة قبل إنشاء مكتبة جديدة. يمكنك إضافة صوتك إلى مشكلة حالية عن طريق النقر على زر النجمة.

إنشاء مشكلة جديدة

راجِع مستندات أداة تتبُّع المشاكل للحصول على مزيد من المعلومات.

الإصدار 1.0 من Security-State

الإصدار 1.0.0-alpha04

7 آب (أغسطس) 2024

تم إصدار androidx.security:security-state:1.0.0-alpha04. يحتوي الإصدار 1.0.0-alpha04 على عمليات التنفيذ هذه.

ملاحظة

  • تعديل compileSdk إلى 35 5dc41be

تغييرات واجهة برمجة التطبيقات

  • تغيير جذري: تم استبدال قائمة العناصر المحددة مسبقًا للمكوّنات بثوابت سلاسل من أجل قابلية التوسيع. (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-App-Authenticator-Testing Version 1.0

الإصدار 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 على هذه المراجعات.

إصلاح الأخطاء

  • اختبار معدَّل لسلوك واجهة برمجة التطبيقات الجديد الذي لم يعُد يفترض أنّه Binder#getCalling[Uid|Pid] في حال عدم تقديمه إلى واجهات برمجة التطبيقات [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 الناتج عن ذلك إلا بمطابقة التوقيع إذا كانت الهوية المقدَّمة تتطابق مع البيان في ملف الإعدادات.
  • يمكن أيضًا التعامل مع الحِزم على أنّها غير مثبّتة أو أنّها تحتوي على معرّف مستخدم صريح.

الإصدار 1.0.0 من Security-App-Authenticator

الإصدار 1.0.0-alpha03

13 كانون الأول (ديسمبر) 2023

تم طرح androidx.security:security-app-authenticator:1.0.0-alpha03. يحتوي الإصدار 1.0.0-alpha03 على هذه المراجعات.

تغييرات واجهة برمجة التطبيقات

  • تمت إضافة دعم لحالات الاستخدام التي لا يتوفّر فيها المعرّف الفريد (UID) أو معرّف PID للحزمة المطلوب التحقّق منها، وأصبحت واجهات برمجة التطبيقات متوافقة الآن مع حالات مثل startActivityForResult والأنشطة أو المستلِمات التي تتم فيها مشاركة هوية تطبيق الاتصال عبر [Activity|Broadcast]Options#setShareIdentityEnabled.
  • تم تعديل سلوك [check|enforce]CallingAppIdentity(String, String) ليشمل حالات الاستخدام الجديدة هذه، ولن يتم استخدام Binder#getCalling[Uid|Pid] تلقائيًا بعد الآن لهذه الطرق، ولكن بدلاً من ذلك ستتخطّى عملية التحقق من المعرّف الفريد لحزمة الاتصال في حال عدم توفيره بشكل صريح. (I1851b)

الإصدار 1.0.0-alpha02

2 حزيران (يونيو) 2021

تم إصدار androidx.security:security-app-authenticator:1.0.0-alpha02. يحتوي الإصدار 1.0.0-alpha02 على هذه المراجعات.

تغييرات واجهة برمجة التطبيقات

  • استعدادًا لإتاحة علامة حماية إذن 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 يحتوي على أسماء الحِزم وهويات التوقيع للتطبيقات الموثوق بها، وستتولى المكتبة التحقّق من هوية التوقيع للتطبيقات أثناء التشغيل.

الإصدار 1.1.0

الإصدار 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 على هذه المراجعات.

إصلاح الأخطاء

الإصدار 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.

تغييرات واجهة برمجة التطبيقات

  • تغيير EncryptedFile#openFileInput() لعرض FileNotFoundException بدلاً من IOException العام عندما لا يكون الملف المطلوب متوفّرًا (I80e41، b/148804719)
  • تم تعديل فئة MasterKeys لتطلب استخدام Android M بدلاً من كل طريقة من طرقها. (I8b4b8)
  • تغيير جميع أدوات الحصول على الإعدادات المفضّلة في EncryptedSharedPreferences (مثل #getString و#getInt) لطرح SecurityException في حالات نادرة لا يمكن فيها مطابقة نوع القيمة مع أحد الصيغ المحدّدة للعدد الإجمالي. (b/241699427)

إصلاح الأخطاء

  • مواءمة الحد الأدنى لإصدار حزمة تطوير البرامج (SDK) لـ security-crypto-ktx مع security-crypto من خلال خفضه إلى الإصدار 21 (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-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 على هذه عمليات التنفيذ.

الميزات الجديدة

  • أصبح نظام التشغيل Lollipop (المستوى 21 من واجهة برمجة التطبيقات والإصدارات الأحدث) متوافقًا الآن. يُرجى العلم أنّه لا يتم استخدام AndroidKeyStore مع واجهتَي برمجة التطبيقات 21 و22. (I7c12d، b/132325342)
  • توفّر فئة MasterKey الجديدة المزيد من الخيارات للمفاتيح، كما يتم إيقاف MasterKeys نهائيًا لإتاحة الميزات والإصدارات الجديدة من Android التي لا تتضمّن KeyGenParamSpec.

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 على عمليات التنفيذ هذه.

إصلاح الأخطاء

  • تعديل Identity Credential API لتتوافق مع خطط Android 12 (Iff83e)

الإصدار 1.0.0-alpha01

19 آب (أغسطس) 2020

تم إصدار androidx.security:security-identity-credential:1.0.0-alpha01. يحتوي الإصدار 1.0.0-alpha01 على هذه المراجعات.

الميزات الجديدة

يقدّم إصدار Jetpack هذا إصدارًا من Jetpack لواجهات برمجة التطبيقات Identity Credential API التي تمت إضافتها إلى Android 11 والمستوى 30 لواجهة برمجة التطبيقات. إذا كان الجهاز يعمل بنظام التشغيل Android 11 وكان متوافقًا مع "بيانات اعتماد الهوية" المستنِدة إلى الأجهزة، سيعيد تطبيق Jetpack توجيه الطلبات إلى واجهة برمجة تطبيقات النظام الأساسي. وبخلاف ذلك، سيتم استخدام عملية تنفيذ مستندة إلى "متجر مفاتيح Android". على الرغم من أنّ التنفيذ المستند إلى "متجر مفاتيح Android" لا يقدّم المستوى نفسه من الأمان والخصوصية، إلا أنّه مناسب تمامًا لكل من حاملي الشهادات وجهات الإصدار في الحالات التي تكون فيها جميع البيانات موقَّعة من جهة الإصدار. تتطلّب هذه المكتبة المستوى 24 من واجهة برمجة التطبيقات أو إصدارًا أحدث.

توفّر واجهات برمجة تطبيقات Identity Credential واجهات لمساحة تخزين آمنة لمستندات هوية المستخدمين. وهذه الواجهات برمجة التطبيقات عامة ومجرّدة إلى حدّ كبير عن قصد. لا تتناول واجهات برمجة التطبيقات هذه، إلى أقصى حدّ ممكن، مواصفات تنسيقات الرسائل ودلالات التواصل مع أجهزة إثبات صحة بيانات الاعتماد والهيئات المُصدِرة (IA). إنّ هياكل البيانات التي تعتمد عليها واجهات برمجة التطبيقات متوافقة مع هياكل البيانات الواردة في معيار ISO/IEC IS 18013-5 Personal identification — ISO-compliant driving licence — Part 5: Mobile driving licence (mDL) application standard الذي سيتم إصداره قريبًا.

تغييرات واجهة برمجة التطبيقات

  • تمت إضافة حزمة Jetpack لبيانات الاعتماد الخاصة بالهوية. (Icf90b)

الإصدار 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 على هذه المراجعات.

إصلاح الأخطاء

  • تم التحديث إلى الإصدار 1.4.0-rc2 من Tink، والذي يحلّ مشكلة تعارض حزمة تطوير البرامج (SDK) لنظام التشغيل Android الأخرى التي تم الإبلاغ عنها على نطاق واسع. (I8a831)
  • تم حلّ المشكلة apply() في EncryptedSharedPreferences. (I29069، b/154366606)

الإصدار 1.0.0-rc01

نيسان (أبريل) 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.