الأمان

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

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

العناصر الإصدار المستقر سحب المرشح الإصدار التجريبي إصدار أولي
التشفير الأمني 1.0.0 - - 1.1.0-alpha06
أداة مصادقة-تطبيق الأمان - - 1.0.0-beta01 -
بيانات اعتماد الأمان والهوية - - - 1.0.0-alpha03
تم إجراء آخر تعديل لهذه المكتبة في 10 يوليو 2024.

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

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

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

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

ملاحظات

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

إنشاء عدد جديد

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

الإصدار 1.0 من حالة الأمان

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

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

  • "حالة الأمان" هي مكتبة جديدة يمكن للمطوّرين استخدامها للحصول على بيانات قابلة للتنفيذ حول إصدارات مكوّنات النظام القابلة للتحديث وتحديثات الأمان والإصلاحات المطبَّقة.

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

الإصدار 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 التي تم إطلاقها في الإصدار 12 من نظام التشغيل Android، لم يعُد من الممكن تحديد السمة sumAlgorithm في الإعدادات. بدلاً من ذلك، يجب احتساب جميع ملخصات الشهادات باستخدام خوارزمية 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 على هذه عمليات التنفيذ.

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

  • تم إصلاح حالة سباق في 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.

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

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

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

  • الحد الأدنى لإصدار حزمة تطوير البرامج (SDK) لمكتبة تشفير الأمان الذي تمت مزامنته مع التشفير الأمني من خلال خفضه إلى الإصدار 21 (b/193550375)
  • تم إصلاح خطأ التزامن عند إنشاء EncryptedFile متعددة (b/136590547)

مساهمة خارجية

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.

الإصدار 1.0.0 من Security-Identity-Credential

الإصدار 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 من واجهات برمجة تطبيقات بيانات اعتماد الهوية التي تمت إضافتها إلى الإصدار 11 من نظام التشغيل Android والمستوى 30 من واجهة برمجة التطبيقات. إذا كان الجهاز يعمل بنظام التشغيل Android 11 وكان متوافقًا مع "بيانات اعتماد الهوية" المستنِدة إلى الأجهزة، سيعيد تطبيق Jetpack توجيه الطلبات إلى واجهة برمجة تطبيقات النظام الأساسي. وبخلاف ذلك، سيتم استخدام طريقة تنفيذ متوافقة مع ملف تخزين مفاتيح Android. على الرغم من أنّ التنفيذ المستنِد إلى ملف تخزين مفاتيح Android لا يوفّر مستوى الأمان والخصوصية نفسه، إلا أنّه ملائم تمامًا لكل من المالكين وجهات الإصدار في الحالات التي تكون فيها جميع البيانات موقعة من جهة الإصدار. تتطلّب هذه المكتبة مستوى واجهة برمجة التطبيقات 24 أو إصدارًا أحدث.

توفِّر واجهات برمجة التطبيقات لبيانات اعتماد الهوية واجهةً لتخزين مستندات هوية المستخدم بأمان. تعد واجهات برمجة التطبيقات هذه عامة وتجريدية إلى حد ما. قدر الإمكان، تُعد مواصفات تنسيقات الرسائل ودلالات الاتصال باستخدام أجهزة التحقُّق من بيانات الاعتماد ومراجع الإصدار (IAs) خارج نطاق واجهات برمجة التطبيقات هذه. تتوافق بُنى البيانات التي تعتمد عليها واجهات برمجة التطبيقات مع بُنى البيانات المتوفّرة قريبًا وفقًا لمعيار ISO/IEC IS 18013-5 الذي سيتم إصداره قريبًا، وهو رخصة قيادة متوافقة مع الهيئة الدولية للمواصفات (ISO) - الجزء 5: معيار تطبيق رخصة القيادة للأجهزة الجوّالة (mDL).

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

  • تمت إضافة حزمة 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، والذي يظلل Proto buf lite dep. ويعمل هذا على حل مشكلة التعارض مع حزم 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.