معالجة استخدام وضع التشفير غير الآمن

هذه المعلومات موجَّهة للمطوِّرين الذين لديهم تطبيقات تحتوي على وضع التشفير الأقل أمانًا AES/ECB. وقد يؤدّي تشفير المحتوى باستخدام هذا الوضع غير الآمن إلى ضعف النصوص المشفَّرة، وربما يعرِّض بيانات المستخدمين للخطر. يمكن العثور على مواقع أوضاع التشفير الأقل أمانًا في تطبيقك في إشعار Play Console الخاص بالتطبيق. إذا كان الموقع ينتهي بعبارة "(in dynamically loaded code)"، يعني هذا أنّ الموقع يُحمِّل الرمز بشكل ديناميكي من خلال التطبيق أو المكتبات التي يستخدمها التطبيق. تستخدم التطبيقات عادةً رمزًا يُحمَّل ديناميكيًا في عرض الميزات عند الطلب، على الرغم من توفّر أساليب أخرى غير مقترَحة (تنتهك بعض الأساليب غير المقترَحة أيضًا سياسة Google Play ويجب ألا يتم استخدامها). بالإضافة إلى ذلك، يمكن لبرامج تكوين الحِزم تحويل رمز التطبيق إلى رمز يُحمَّل ديناميكيًا.

طريقة إصلاح المشاكل الواردة في تنبيهات "وضع التشفير غير الآمن"

يمكنك مراجعة تطبيقك بحثًا عن الموقع الذي يحتوي على نسخة مثيلة عن الرمز. وستتضمّن أوضاع الإعدادات التالية استخدام وضع AES/ECB غير الآمن: 

  • "AES"
  • "AES/ECB/NoPadding"
  • "AES/ECB/PKCS5Padding"
  • "AES/ECB/ISO10126Padding"

على سبيل المثال، يستخدم الرمز التالي وضع AES/ECB تلقائيًا بسبب توفُّر "AES": 

// يشير تنبيه وحدة التحكم إلى هذه الطريقة
 public byte[] encryptionUtil(String key, String iv, byte[] plainText) {
    Cipher cipher = Cipher.getInstance(“AES”); 
// Employs AES/ECB mode by default
    SecretKeySpec keySpec = new SecretKeySpec(key.getBytes(), “AES”);
    cipher.init(Cipher.ENCRYPT_MODE, keySpec, paramSpec);
    cipher.init(Cipher.ENCRYPT_MODE, keySpec, paramSpec);

    return cipher.doFinal(plainText)؛

 }

تنصح Google المطوِّرين باستخدام الوضع "AES/GCM/NoPadding" بدلاً من الوضع غير الآمن المذكور أعلاه.

الخطوات التالية

  1. حدِّث تطبيقك باستخدام الخطوات الموضَّحة أعلاه.
  2. سجِّل الدخول إلى حسابك على Play Console وأرسِل إصدارًا محدَّثًا من تطبيقك.

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

تسرّنا مساعدتك

إذا كان لديك أسئلة فنية بشأن الثغرات الأمنية، يمكنك طرحها على الموقع الإلكتروني Stack Overflow واستخدام العلامة "android-security".


 

هل كان ذلك مفيدًا؟

كيف يمكننا تحسينها؟
false
القائمة الرئيسية
5688045175433693224
true
مركز مساعدة البحث
true
true
true
true
true
5016068
false
false