شبكة Wi-Fi لمشغِّل شبكة الجوّال

شبكة Wi-Fi لمشغِّل شبكة الجوّال هي ميزة الاتصال التلقائي (باستخدام رقم التعريف الدولي للمشترك في خدمات الجوّال (IMSI)) المتاحة في الإصدار 9 من نظام Android والإصدارات الأحدث يسمح هذا الخيار للأجهزة بالاتصال تلقائيًا بشبكة Wi-Fi التي ينفّذها مشغّل شبكة الجوّال. جديدة. في المناطق ذات الازدحام الشديد أو ذات الحد الأدنى من التغطية الخلوية مثل ملعب أو محطة قطار تحت الأرض، فيمكن استخدام شبكة Wi-Fi لشركة النقل لتحسين المستخدِمين تجربة الاتصال وتفريغ حركة المرور.

يتم تلقائيًا ربط الأجهزة المزوّدة بميزة "شبكة Wi-Fi من مشغّل شبكة الجوّال" شبكات Wi-Fi لمشغّل شبكة الجوّال التي تم ضبطها (الشبكات التي تستخدم شهادة مفتاح عام). فعندما قطع اتصال المستخدم يدويًا من شبكة Wi-Fi لمشغِّل شبكة الجوّال، فإن الشبكة القائمة السوداء لمدة 24 ساعة (بدون اتصال تلقائي). يمكن للمستخدمين الاتصال يدويًا الشبكات المضافة إلى القائمة السوداء في أي وقت.

على الأجهزة التي تعمل بالإصدار 9 من نظام التشغيل Android أو الإصدارات الأحدث والتي تستخدم فيها مشغّل شبكة الجوّال شبكة Wi-Fi، الاتصال التلقائي عبر شبكة Wi-Fi لمشغّل شبكة الجوّال متوقف تلقائيًا. إشعار يتم إرسال الرسالة إلى المستخدم عندما يحاول الجهاز الاتصال بشبكة Wi-Fi لمشغّل شبكة الجوّال. لأول مرة.

التنفيذ

على الشركات المصنّعة للأجهزة ومشغّلي الأجهزة تنفيذ ما يلي لتنفيذ مشغّل شبكة الجوّال. Wi-Fi.

الشركات المصنّعة

بالنسبة إلى الأجهزة التي تعمل بنظام التشغيل Android 11 والإصدارات الأحدث، عليك استخدام واجهة برمجة تطبيقات اقتراح Wi-Fi لإضافة ملفات تعريف Wi-Fi لكل مشغّل شبكة جوّال.

بالنسبة إلى الأجهزة التي تعمل بالإصدار 10 من نظام التشغيل أو الإصدارات الأقدم، يمكنك إضافة الملفات الشخصية لشبكة Wi-Fi من خلال ضبط المَعلمة carrier_wifi_string_array لكل مشغّل شبكة جوّال في إدارة إعدادات مشغِّل شبكة الجوّال.

  • carrier_wifi_string_array: يشير هذا المصطلح إلى مصفوفة سلسلة يكون فيها كل إدخال سلسلة هو معرِّف SSID لشبكات Wi-Fi بترميز Base64. نوع EAP مفصولاً بفاصلة، حيث يكون نوع EAP عددًا صحيحًا (راجع تسجيل بروتوكول المصادقة الموسعة (EAP)). على سبيل المثال، الضبط التالي لـ SOME_SSID_NAME باستخدام EAP-AKA وSome_Other_SSID باستخدام EAP-SIM:

    config {
      key: "carrier_wifi_string_array"
      text_array {
        item: "U09NRV9TU0lEX05BTUUK,23"
        item: "U29tZV9PdGhlcl9TU0lECg==,18"
      }
    }
    

في جلسة المعمل، مدير إعداد مشغّل شبكة الجوّال اضبط المَعلمات التالية لكل مشغّل شبكة جوّال:

  • imsi_key_availability_int: يحدد ما إذا كان المفتاح المستخدَم لتشفير IMSI متاحًا لشبكة WLAN (تم ضبط بت 1) أو EPDG (تم ضبط بت 0) أو كليهما (كلتا البت 0 والبت 1 هي تعيين). على سبيل المثال، تشير عملية الإعداد التالية إلى أنّ رقم التعريف الدولي للمشترك في خدمات الجوّال (IMSI) يتوفّر التشفير لشبكة WLAN، ولكن ليس لبروتوكول EPDG:

    config {
      key: "imsi_key_availability_int"
      int_value: 2
    }
    
  • imsi_key_download_url_string: عنوان URL الذي تم استخدامه من قِبل النموذج الأولي الذي يحتوي على المفتاح العام لمشغِّل شبكة الجوّال يتم تنزيل تشفير IMSI. على سبيل المثال، قد تتضمن عملية الضبط التالية عنوان URL محددًا:

    config {
      key: "imsi_key_download_url_string"
      text_value: "https://www.some_company_name.com:5555/some_directory_name/some_filename.json"
    }
    
  • allow_metered_network_for_cert_download_bool: علامة تشير إلى ما إذا كان للسماح بتنزيل المفتاح العام لمشغِّل شبكة الجوّال عبر شبكة (خلوية). إذا لم يتم ضبط هذه العلامة، يعني هذا الجهاز الجديد عدم توفُّر شبكة Wi-Fi لن يكون بإمكان الاتصال الاتصال بشبكة Wi-Fi لمشغّل شبكة الجوّال لأنّ لن يتم السماح بتنزيل المفتاح.

    config {
      key: "allow_metered_network_for_cert_download_bool"
      bool_value: true
    }
    

مشغّلو شبكات الجوّال

لتنفيذ اتصال Wi-Fi من خلال مشغّل شبكة الجوّال، على مشغِّل شبكة الجوّال تفعيل ميزة حماية خصوصية رقم التعريف الدولي للمشترك في خدمات الجوّال (IMSI) تقديم مفتاح عام.

حماية خصوصية رقم التعريف الدولي للمشترك في خدمات الجوّال (IMSI)

يحمي Android سرية الهوية الدائمة للمشترك (IMSI) باستخدام تشفير المفتاح العام. يوفر Android النطاق اللاسلكي الواسع مواصفات التحالف (WBA) في حماية خصوصية رقم التعريف الدولي للمشترك في خدمات الجوّال (IMSI) لشبكة Wi-Fi عند تفعيل حماية خصوصية IMSI للاتصال، تكون لا يتم نقل هوية المشترك بشكل واضح عبر شبكة غير سلكيّة.

تشفير دائم للهوية

يكون تنسيق الهوية الدائمة المشفرة على النحو التالي:

  • تكون الهوية الدائمة بتنسيق <EAP-Method><IMSI>@<NAI realm>.
  • بادئة طريقة EAP هي ثماني بتات واحد تحدد طريقة EAP التي المستخدمة للمصادقة:
    • 0: بروتوكول المصادقة القابلة للتوسيع (EAP-AKA)
    • 1: EAP-SIM
    • 6: EAP-AKA
  • يُعد نطاق NAI مكان wlan.mncXXX.mccYYY.3gppnetwork.org تم استبدال XXX برمز شبكة الجوّال (MNC) لشريحة SIM، وYYY هو برمز بلد الجوّال (مركز عملائي).
  • يتم تشفير الهوية الدائمة باستخدام مفتاح عام RSA يوفره شركة النقل. يتم تضمين المفتاح العام في X.509.
  • مخطط التشفير RSAES-OAEP باستخدام خوارزمية SHA-256 كدالة تجزئة مشفرة. يستخدم نظام التشفير هذا تضمن نصًا تشفيرًا فريدًا في كل مرة يتم فيها استخدام النظام، ومن ثم يتم تجنب هوية ثابتة أخرى يمكن تتبعها.
  • يبلغ طول مفتاح RSA 2048 بت.
  • يبلغ حجم المخزن المؤقت للتشفير 256 بايت.
  • يتم تشفير نص التشفير باستخدام Base64:
  • يبلغ طول الهوية الدائمة المشفرة الناتج 344 بايت.
Encrypted Permanent Identity = Base64(RSAES-OAEP-SHA-256(<EAP-Method><IMSI>@<NAI Realm>))
معرّف المفتاح

معرّف المفتاح هو زوج اختياري من قيمة السمة يرفقه مشغّل شبكة الجوّال إلى شهادة للسماح للخادم بتحديد موقع المفتاح الخاص المناسب أثناء المصادقة. مثال على معرّف المفتاح CertificateSerialNumber=123456 إذا تم توفير معرّف المفتاح، سيتم إرساله بوضوح كجزء من عملية المصادقة.

تعديلات على طرق مصادقة بروتوكول المصادقة القابلة للتوسيع (EAP) المستندة إلى شريحة SIM

عند تفعيل ميزة حماية خصوصية IMSI على اتصال، لا يرسل النظام بيانات الهوية الدائمة عند استلام EAP-Request/Identity، بدلاً من ذلك يستجيب مع تسجيل دخول مجهول:

SERVER: EAP-Request/Identity
UE: EAP-Response/Identity AT_IDENTITY=<prefix>|anonymous@<NAI Realm>

وتكون السمة <prefix> اختيارية. إذا كانت شركة الجوّال enable_eap_method_prefix_bool على true، وهو الحرف الأول من الهوية (قبل anonymous) إلى الخادم بشأن نوع طريقة EAP المستخدمة قبل بدء تبادل EAP.

  • 0: بروتوكول المصادقة القابلة للتوسيع (EAP-AKA)
  • 1: EAP-SIM
  • 6: EAP-AKA

إذا تم ضبط إعدادات مشغّل شبكة الجوّال على false، لن يتم تضمين هذه البادئة في الرسالة.

وعند الاستجابة لذلك، يرسل الخادم رسالة EAP-Request/AKA-Identity النظام بالتنسيق التالي:

SERVER: EAP-Request/AKA-Identity AT_ANY_ID_REQ
UE: EAP-Response/AKA-Identity AT_IDENTITY=<prefix>|<Encrypted Permanent Identity>|","|"<attribute>=<value>"

يُعلم الحرف الأول من الهوية الخادم إما بأنه استخدام الهوية، أو نوع طريقة استخدام واجهة برمجة التطبيقات (EAP) التي تم ضبطها:

  • \0: هوية دائمة مشفّرة
  • 0: بروتوكول المصادقة القابلة للتوسيع (EAP-AKA)
  • 1: EAP-SIM
  • 6: EAP-AKA

إنّ زوج قيمة سمة معرّف المفتاح اختياري ولا يتم إلحاقه بالسمة نهاية الهوية الدائمة المشفرة إذا لم تكن قيد الاستخدام.

في هذه المرحلة، يحدد الخادم موقع المفتاح الخاص من معرف المفتاح (إذا فك تشفير الهوية المشفرة باستخدام المفتاح الخاص لمشغِّل شبكة الجوّال سيواصل تدفق EAP العادي.

وبعد نجاح المصادقة، يمكن أن يوفر الخادم هوية إعادة المصادقة السريعة أو هوية مؤقتة (اسم مستعار)، وهي في الاتصالات اللاحقة. وفي حال عدم تقديم أي هويات مؤقتة من قِبل يرسل النظام الهوية المشفرة في الاتصال اللاحق.

استرداد شهادة مشغّل شبكة الجوّال وتاريخ انتهاء صلاحيتها وإبطالها

وفي حال عدم تثبيت أي شهادة في النظام، يستخدم النظام تم تقديم عنوان URL في إعدادات مشغِّل شبكة الجوّال في imsi_key_download_url_string للنطاق الزمني التالي: تنزيل شهادة باستخدام طريقة HTTP GET. يستخدم النظام بيانات شبكة الجوّال فقط في حال كان مشغّل شبكة الجوّال allow_metered_network_for_cert_download_bool تم ضبط الإعداد على true. بخلاف ذلك، سينزِّل النظام الشهادة. عند توفر اتصال Wi-Fi فقط.

يفرض النظام انتهاء صلاحية الشهادة. يبدأ النظام في محاولة لتجديد الشهادات قبل 21 يومًا من تاريخ انتهاء صلاحية الشهادة، واستخدام عنوان URL نفسه لتنزيل الشهادة الجديدة.

وفي حالة عدم تمكن الخادم من فك تشفير الهوية المشفرة، فإن الخادم إرسال رسالة EAP-Request/AKA-Notification تحتوي على رمز AT_NOTIFICATION General Failure (16384) لإنهاء تبادل EAP.

وفي حالة إبطال الشهادة أو انتهاء صلاحيتها، يرسل الخادم رسالة رسالة واحدة (EAP-Request/AKA-Notification) تحتوي على رمز AT_NOTIFICATION Certificate Replacement Required (16385) لإنهاء تبادل EAP. استجابةً لذلك، يطبّق النظام إرشادات داخلية لتحديد ما إذا كان يجب إزالة الشهادة ومحاولة تنزيل شهادة جديدة من المنصة عنوان URL.

تقديم المفتاح العام

توفير عنوان URL عام لأحد الخوادم، ويُفضَّل استخدام HTTP عبر بروتوكول أمان طبقة النقل (TLS)، الذي يستضيف العنوان شهادة شركة النقل حيث:

  1. يمكن استخراج المفتاح العام وتاريخ انتهاء الصلاحية من الشهادة.
  2. وتكون المعلومات الواردة من الخادم بتنسيق JSON على النحو التالي:

    Property: key-identifier
    Type: String
    Encoding: UTF-8
    Description: Specifies an identifier that the carrier would like to attach to the certificate.
    Optional: Yes
    
    Property: certificate
    Property alternative name: public-key
    Type: String
    Encoding: Base64
    Description: The content of the carrier's X.509 certificate.
    Optional: No
    
    Property: key-type
    Type: String
    Encoding: UTF-8
    Description: Specifies the module that will use the key. The value for type must be either WLAN or EPDG.
    Optional: Yes. If the key-type property isn't included, then its value defaults to WLAN.
    

    فيما يلي مثال على المفتاح العام.

    {
    "carrier-keys" : [ {
      "key-identifier" : "CertificateSerialNumber=5xxe06d4",
      "public-key" : "-----BEGIN CERTIFICATE-----\r\nTIIDRTCCAi2gAwIBAgIEVR4G1DANBgkqhkiG9w0BAQsFADBTMQswCQYDVQQGEwJVUzELMAkGA1UE\r\nCBMCTkExCzAJBgNVBAcTAk5BMQswCQYDVQQKEwJOQTELMAkGA1UECxMCTkExEDAOBgNVBAMTB1Rl\r\nc3RiT6N1/w==\r\n-----END CERTIFICATE-----"
    } ]
    }