نمط السلسلة/الخوارزمية للدبوس و puk الذي تم إنشاؤه من MSIN

StackOverflow https://stackoverflow.com/questions/3922932

سؤال

أتساءل كيف تولد شركات الهواتف المحمولة كل من 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 المرشح الأكثر شيوعًا لهذا الغرض.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top