نمط السلسلة/الخوارزمية للدبوس و puk الذي تم إنشاؤه من MSIN
-
29-09-2019 - |
سؤال
أتساءل كيف تولد شركات الهواتف المحمولة كل من PIN و PUK لبطاقات SIM الخاصة بهم؟
لديّ قاعدة بيانات كبيرة من الرموز التي تم إنشاؤها بالفعل ، تحتوي قاعدة البيانات هذه على 3 أعمدة: * MSIN: رقم التعريف المشترك بين الجوال (10 أرقام) * PIN: رقم التعريف الشخصي (4 أرقام) * PUK: رمز إلغاء الحظر الشخصي (8 أرقام)
حتى الآن ، ربما يتم إنشاء كل من PIN و PUK من MSIN لأن عمود MSIN يتزايد ، في حين أن الآخرين ، يتم إنشاؤه مع منطق ، شيء مثل ؛
MSIN PIN PUK 1000000000 3234 20005627 1000000001 5993 92870018 1000000002 3465 30327846 ...
هل من الممكن معرفة كيفية توليد هذه المسلسلات؟ باستخدام قاعدة البيانات الحالية ، هل من الممكن تخمين Algo المستخدم؟
أطلب من ذلك من أجل المعرفة فقط عدم استخدام المعلومات المقدمة في أي نشاط غير قانوني ؛)
شكرا.
تحديث
لقد بحثت عن عدد المرات التي تتكرر فيها بعض رموز الدبوس ووجدت هذا
0000 –> 261 times 1111 –> 429982 times 2222 –> 275 3333 –> 233 4444 –> 279 5555 –> 277 6666 –> 242 7777 –> 263 8888 –> 249 9999 –> 242
يستخدم PIN 1111 أكثر من الآخرين! لذلك ربما يتم تغيير Algo من وقت لآخر .. أو لا يوجد منطق على الإطلاق :(
تحديث 2
راجعت MSIN ووجدت أنها تقدم قفزات في النظام المتزايد ، لذلك على سبيل المثال ؛
1011000000 1011000001 … here they followed incrementing until 1011499999 1011499999 and they jumped to 1031000000 1031000000 … the same thing here 1031299999 1131000000 …
هذا يؤدي إلى فكرة أنه كلما أرادوا إصدار بطاقات جديدة ، يتيح أن يقول 500000 بطاقة ، فإنهم يبدأون بـ MSIN جديد لا يتبع القاعدة المتزايدة في قاعدة البيانات وقد يغيرون Algo وراء توليد الكود (لهذا السبب نجد في بعض الحالات أنهم أصدروا جميع البطاقات التالية مع PIN 1111)
المحلول
يمكن أن ينتقل الجواب من سهل حقا إلى معقدة جدا.
إذا اضطررت إلى تصميم النظام ، f
وظيفة (Pin,Puk) = f(MSIN)
لن يكون من السهل تخمينه ، وعلاوة على ذلك ، لا يمكن عكسها (بمعنى إذا كنت تعرف (PIN ، PUK) لا يمكنك تخمين MSIN).
نظرًا لأن الموضوع حول الأمان والدفع ، فربما يمكنك توقع وظيفة معقدة.
ما لم يتم توثيقه في مكان ما على الشبكة (التي أشك) فمن غير المرجح أن تجد الوظيفة f
.
نصائح أخرى
إذا وضعنا افتراض أن PUK/PIN يتم إنشاؤه من MSIN ، فهناك عدد لا حصر له من الطرق التي يمكن أن يفعلوها. لأخذ مثال واحد (معقول) ، يمكن أن يستخدموا HMAC. حتى على افتراض أنك تعرف خوارزمية التجزئة التي يستخدمونها ، فلا يزال يتعين عليك تحديد المفتاح السري ، ومساحة البحث لذلك بترتيب 2^160 (لـ HMAC -SHA1) - غير عملي تمامًا للبحث.
الفرصة الوحيدة التي تتاح لها هي إذا كانوا يفعلون شيئًا غبيًا ، مثل استخدام خوارزمية خميرة أو مصممة بسهولة لإنشاء دبوس/PUK - وليس هناك إجراء ميكانيكي عملي للعمل ، فقط التجربة والخطأ والحدس.
عادة ما لا يكون مشغل شبكة الجوال الذي يولد الدبوس و PUK. تقوم الشركة المصنعة لبطاقة SIM بهذا ما لم يتم طلبها من قبل المشغل.
ما الذي يجعلك تصدق أنه يمكن للمرء حساب SIM و/أو puk من MSIN؟ لن يتمتع مشغل الشبكة أو الشركة المصنعة SIM بأي ميزة من هذا. أفترض أن PIN و PUK عشوائيين كما هو ممكن من الناحية الاقتصادية من أجل تنفيذ الأمن المقصود.
ومع ذلك ، أجد 1111 الشذوذ مثير للاهتمام. هل عينة من التصنيع؟ أو هل حصلت على تفريغ HLR؟ قد يقدم هذا الأخير شرحًا لتراكم 1111: يغير الأشخاص دبوسهم إلى شيء سهل تذكره والكتابة ، سيكون 1111 المرشح الأكثر شيوعًا لهذا الغرض.