mobile attack

حمله به شبكة تلفن همراه نسل دوم

mobile attack

< استفاده از مطالب سایت فراکنش با ذکر منبع مجاز است.>

با توجه به آنچه كه در فصل ويژگی‌های امنيتی GSM گفته شد، به راحتي مي‌­توان نقاط ضعف شبكة تلفن همراه نسل دوم را دريافت. یکی از مهمترين ضعف‌ها در امنيت اين شبكه آن ­است كه كلية تمهيدات در نظر گرفته شده تنها براي جلوگيري از حملة خارج از شبكه مي‌‌باشد و امنيت مربوط به حملة از داخل شبكه چندان قوي نيست. تمامي‌ رمزنگاري‌ها تنها براي ارتباط مابين دستگاه تلفن همراه و شبكة آن مي‌­باشد، اما ارتباطات داخل شبكه رمزنگاري نمي‌­شوند، و داده‌ها به صورت صريح انتقال داده مي‌­شوند. در ادامه مهمترين حملاتي كه تا كنون عليه شبكة تلفن همراه نسل دوم صورت گرفته است و یا محتمل است، بررسي خواهند شد.

برای به واقعیت پیوستن حملات، فرد نفوذگر باید یک یا چند مورد از قابلیت‌های زیر را داشته باشد:

  • استراق سمع: یعنی نفوذگر بتواند اتصالات داده یا سیگنالینگ یک کاربر با سایر کاربران را شنود نماید.
  • جعل هویت کاربر اصلی: امکان آنکه نفوذگر بتواند اطلاعات سیگنالینگ یا داده کاربر را برای شبکه بفرستد تا شبکه باور کند که این داده‌ها از طرف یک کاربر واقعی است.
  • جعل هویت شبکه: امکان آنکه نفوذگر بتواند اطلاعات سیگنالینگ یا داده کاربر را برای یک کاربر واقعی بفرستد به نحوی که کاربر تصور کند این داده‌ها از طرف یک شبکه واقعی است.
  • مرد میانی: امکان آنکه نفوذ گر بتواند خود را بین ارتباط میان کاربر واقعی و شبکه اصلی قرار دهد و امکان شنود، تغییر دادن، حذف، درخواست دوباره، ارسال مجدد و جعل پیغام‌های سیگنالینگ یا داده بین شبکه و کاربر را داشته باشد.
  • بدست آوردن و افشای بردار یا اطلاعات احراز هویت در شبکه: نفوذگر اطلاعات احراز هویت را که شامل سؤوال/پاسخ‌ها و کلید رمزنگاری می‌‌باشد، به دست می‌آورد. این اطلاعات از طریق دسترسی به یک نود در شبکه یا با استراق سمع پیغام­های سیگنالینگ در اتصالات شبکه می تواند به دست بیاید.

بدست آوردن قابلیت اول برای حمله کننده از همه ساده‌‌تر است و موارد بعدی پیچیده‌‌تر بوده و نیاز به هزینه‌‌های بیشتری از طرف حمله کننده دارد. به هر حال در این لیست نفوذگر هر یک از این قابلیت‌‌ها را داشته باشد، همه قابلیت‌‌های بالای آن در لیست را هم دارد. دو مورد اول در زمان طراحی GSM شناخته شده بودند. اما برای سایرین، تمهیداتی در زمان طراحی مشخص نشده است.

قابلیت‌های فوق به راحتی از  طریق استفاده از یک BS (ایستگاه مبنا) جعلی و همچنین حمله مرد میانی قابل حصول است.

حملات ممکن به شبکه GSM را در چند دسته می توان طبقه بندی کرد:

  1. حملاتی که منجر به ممانعت از سرویس می‌شوند.
  2. حملاتی که برای بدست آوردن شناسه و هویت کاربر واقعی شبکه می توانند مورد استفاده قرار بگیرند.
  3. حملاتی برای جعل کردن شبکه واقعی.
  4. حملاتی برای استراق سمع داده‌‌های کاربر.
  5. حملاتی برای جعل هویت کاربر برای شبکه و سوء استفاده از آن.

ايستگاه مبناي جعلي

همانطور كه از نام اين حمله برمي‌­آيد، در آن يك هويت اصلي جعل مي‌­شود. در واقع در اينجا يك ايستگاه جعلي خود را ايستگاه اصلي مي‌­نماياند. آنچه كه باعث بروز چنين مشكلي مي‌‌شود، مبحث شناسايي شبكه است. همانطور كه گفته شد، هر دستگاه تلفن همراه هنگام ورود به يك شبكة محلي جديد، بايد خود را به آن شبكه بشناساند، ولي شبكه هيچگاه خود را به دستگاه تلفن همراه معرفي نمي‌­كند. به عبارت ساده، يك تلفن همراه هيچگاه نمي‌­تواند دريابد كه آيا با يك شبكة مجازي در ارتباط مي‌­باشد يا خير. در نتيجه به راحتي مي‌­توان يك ايستگاه جعلي ايجاد كرده و با كمك آن با دستگاه‌‌هاي تلفن همراه ارتباط برقرار كرد. به عنوان مثال يك ايستگاه جعلي مي‌­تواند با يك تلفن همراه ارتباط برقرار كرده و به­‌جاي استفاده از الگوريتم A5/1 براي رمزنگاري از او بخواهد كه با الگوريتم A5/2 (كه الگوريتم ضعيفي است) رمزنگاري را انجام بدهد و يا به­طور كلي از رمزنگاري استفاده نكرده، داده‌ها را به ­صورت صريح ارسال دارد. با استفاده از يك ايستگاه جعلي بيهام و همكاران حمل‌هاي را طراحي كرده‌اند كه در آن سعي مي‌­شود رمزنگاري A5/2 شكسته شده و سپس با استفاده از آن، كليد Kc به دست آيد. اين كليد در ن‌هايت در الگوريتم A5/1 مورد استفاده قرار مي‌‌گيرد.

يك حمله ممكن ديگر پيدا كردن Ki دستگاه تلفن همراه مي‌­باشد. در اين حمله، ايستگاه جعلي مرتب فرايند شناسايي دستگاه را تكرار مي‌­كند. از آنجا كه ايستگاه نيازي ندارد كه خود را به تلفن همراه معرفي كند، تلفن همراه چار‌هاي جز آنكه مرتب به درخواست‌‌هاي ايستگاه پاسخ دهد نخواهد داشت. با توجه به روشي كه براي شكستن داده‌‌هاي رمز شده به كار گرفته مي‌­شود اين حمله ممكن است بين 8 الي 15 ساعت به طول انجامد. نكت‌هاي كه در اين حمله بايد توجه كرد حضور ايستگاه اصلي است. در واقع مي‌­بايست به طريقي سيگنال­‌هاي ايستگاه اصلي را از كار انداخت. اين حمله نيز توسط بيهام معرفي شده است.

پرواضح است كه مي‌­توان اين حمله را عليه مركز شناسايي به­كاربرد، چرا كه اين مركز نيز موظف است مرتب به درخواست‌‌هاي شبكه پاسخ دهد. اما نكت‌هاي كه در اينجا بايد به آن توجه داشت آن است كه سرعت اين مركز در پاسخ دادن به درخواست­ها بسيار بالاتر از SIM است، در نتيجه زمان حمله كوتاه‌تر خواهد شد.

به هر حال اين حملات تمامي‌‌بر اساس ضعف شبكه در ارتباطات داخلي بنا نهاده شده‌اند، و همانطور كه گفته شد با توجه به آنكه در ارتباطات داخلي نيازي به شناسايي نيست، به راحتي مي‌‌توان از اين مسأله براي حمله به شبكه استفاده كرد.

نكتة مهم ديگري كه وجود دارد آن است كه تمامی الگوريتم‌‌هاي رمزنگاري تنها براي ارتباطات مابين تلفن همراه و شبكة آن مورد استفاده قرار مي‌‌گيرند و ارتباطات داخلي شبكه همگي به صورت صريح و بدون انجام رمزنگاري صورت مي‌‌پذيرند. اين موضوع نيز مي‌­تواند نقطه ضعف مناسبي براي حمله به شبكة تلفن همراه و با استفاده از ايستگاه مبناي جعلي ­باشد.

در بخش‌های بعدی انواع مختلف از حملات مبتنی بر ایستگاه مبنای جعلی آمده است.

 استراق سمع داده کاربر

حملات زیر برای استراق سمع داده‌‌های کاربر هنگامی‌که بر روی شبکه واقعی ارسال می‌شوند شناسايی شده­اند.

 حملة مرد ميانی

اين حمله تا حد زيادي مشابه حملة قبل مي‌­باشد و شايد بهتر مي‌­بود كه به عنوان يكي از حملاتي كه از طريق ايستگاه جعلي مي‌­توان انجام داد، از آن ياد مي‌‌شد، اما تفاوت‌‌هاي موجود مابين اين دو حمله درخور توجه است. در حملة پيشين، ايستگاه جعلي تنها سعي در برقراري ارتباط با دستگاه تلفن همراه مي‌‌كرد و هدف به دست آوردن اطلاعات سري مانند كليد Ki بود، ولي در اين حمله هدف بدست آوردن اطلاعات سري دستگاه مزبور نيست، بلكه هدف استراق سمع است. همانطور كه گفته شد شبكه‌‌هاي آنالوگ به ­شدت مستعد چنين حملاتي بودند، اما در شبكه‌‌هاي ديجيتال، به­دليل استفاده از الگوريتم‌‌هاي رمزنگاري تقريباً به ­نظر مي‌­آيد كه چنين حمل‌هاي ممكن نباشد.

در اين حمله باز هم از عدم شناسايي شبكه توسط تلفن همراه استفاده شده است. يك ايستگاه جعلي مرتب سيگنال­‌هاي شناسايي را منتشر مي‌­كند. با توجه به آنكه دستگاه تلفن همراه همواره سعي مي‌­كند كه از طريق ايستگاه‌هايي كه بهتر سيگنال­‌هاي آن را دريافت مي‌­كنند ارتباط برقرار كند، لازم است كه اين ايستگاه جعلي علاوه بر ارسال مرتب سيگنال­‌هاي خود، ساير ايستگاه‌‌هاي واقعي را نيز مختل كند يا قدرت ارسال و دريافت آن­ها را به شدت كاهش دهد، به طوريكه ساير تلفن‌‌هاي همراه نيز قادر به برقراري ارتباط از طريق آن(ها) نباشند. پس از آن، هرگاه تلفن همراهي قصد برقراري ارتباط از طريق اين ايستگاه جعلي را داشت، ايستگاه مي‌­تواند از تلفن همراه بخواهد ارتباط خود را به صورت رمز نشده ادامه دهد. از اين پس تمامي‌‌سيگنال­هايي كه از تلفن همراه دريافت مي‌‌شوند، از طريق اين ايستگاه جعلي به ­سمت شبكة اصلي ارسال مي‌­شوند، ضمن آنكه استراق سمع نيز مي‌‌شوند و پردازش‌‌هاي مورد نظر روي آنها انجام مي‌‌شود.

در واقع نكتة ظريفی كه در اینجا نیز ديده مي‌­شود عدم تاييد هويت در قسمت‌‌هاي داخلي شبكه مي‌‌باشد. به­عبارت ساده يك ايستگاه جعلي هيچگاه توسط ساير قسمت­ها شناسايي يا تاييد هويت نمي‌­شود و بخش­‌هاي مختلف شبكه با دريافت درخواست از ساير بخش­ها به آنها پاسخ مي‌‌دهند بدون آنكه آن بخش را شناسايي كنند.

 استراق سمع با توقف رمزنگاري

استراق سمع داده‌های کاربر با توقف رمزنگاري بین کاربر و حمله کننده و یا کاربر و شبکه واقعی حمله‌ای است که به يک BTS/MS دستکاري شده نياز دارد و از اين ضعف MS که پيام‌‌هاي دريافت شده از طريق واسط راديويي را نمي­تواند تاييد هويت کند، بهره برداري مي­نمايد. کاربر هدف از طريق اتصال به يک BTS جعلي مورد حمله قرار مي­گيرد. وقتي که کاربر هدف و يا نفوذگر يک مکالمه را آغاز مي­کنند، نفوذگر به وسيله دستکاري دستور حالت رمزنگاري از فعال کردن رمزنگاري جلوگيري مي­کند. در هر حال کاربر تماس خود را با شبکه اصلي از طريق عضويت خود، بر قرار مي­کند. سپس نفوذگر ممکن است داده‌های ارسال شده کاربر را استراق سمع کند.

jadval11

 ممانعت از سرویس

 استفاده از یک ایستگاه مبنای جعلی

استفاده حمله کننده از یک ایستگاه مبنای جعلی به خودی خود یک حمله ممانعت از سرویس محسوب می‌شود. چون کاربر واقعی بعد از آنکه از کانال­های ارتباطی یک ایستگاه مبنای جعلی استفاده کرد از دسترس شبکه واقعی و سیگنال­های پیجینگ به کلی دور خواهد شد.

حمله De-Registration

این حمله یک حمله ممانعت از سرویس است و برای انجام آن به يک MS دستکاري شده نياز دارد و از اين ضعف شبکه که پيام‌‌هاي دريافت شده از طريق واسط راديويي را نمي­تواند تاييد هويت کند، بهره برداري مي­نمايد. نفوذگر يک درخواست مبني بر از ثبت در آوردن کاربر هدف(IMSI detach) را برای شبکه جعل می­کند شبکه اطلاعات کاربر را  از پایگاه داده ناحيه‌اي که در آن کاربر در آن قرار دارد (VLR) پاک کند و به واحد HLR نيز چنين فرماني مي­دهد. در نتيجه کاربر برای سرويس‌هایی که به موبايل ختم می‌‌شود غیر قابل دسترس می‌شود.

 اعلام موقعيت جعلی

این حمله نیز یک حمله ممانعت از سرویس است که به يک MS دستکاري شده نياز دارد و از اين ضعف شبکه که پيام‌‌هاي دريافت شده از طريق واسط راديويي را نمي­تواند تاييد هويت کند، بهره برداري مي­نمايد. علاوه بر درخواست مبنی بر از ثبت در آوردن نفوذگر می­تواند يک تقاضاي به روز در آوردن موقعيت به ناحيه مکاني متفاوت نسبت به مکاني که کاربر واقعی  در آن حضور دارد را جعل نماید. در نتيجه شبکه کاربر را در موقعيت جديد ثبت مي­کند و کاربر را در آن ناحیه پیج خواهد کرد. متعاقباً برای سرويس‌هایی که به موبايل ختم می‌شود غیر قابل دسترس می‌شود.

 بدست آوردن هویت کاربر

کشف هویت کاربر می تواند به صورت فعال یا غیر فعال باشد. در حمله غیرفعال به يک MS دستکاري شده نياز است و از اين ضعف شبکه که برخي مواقع ممکن است از کاربر بخواهد که هويت خود را در يک متن واضح بفرستد، بهره برداري مي­نمايد. البته این حمله به دلیل استفاده شبکه از TMSI که شناسه موقت می‌باشد تقریباً ناکارآمد است. چون در آن حمله کننده باید صبر کند تا کاربر یک درخواست به روز رسانی موقعیت ارسال کند و یا با پایگاه داده­های شبکه سرویس دهنده­اش تداخلی ایجاد شود.

يک حمله فعال برای بدست آوردن هویت کاربر به يک BTS دستکاري شده نياز دارد و از اين ضعف شبکه که برخي مواقع ممکن است از يک MS بخواهد که IMSI یا شناسه بین المللی تلفن همراه خود را در يک متن واضح ارسال کند، بهره برداري مي­نمايد. يک نفوذگر کاربر هدف را از طريق اتصال به يک BTS جعلي فريب مي­دهد و در نتيجه از کاربر درخواست مي­کند که هويت دائمي خود را در يک متن واضح ارسال کند و ممکن است از طريق يک ثبت جديد يا به وسيله ادعاي نامتناسب بودن TMSI  اختصاص داده شده به تلفن همراه اين در خواست را اعمال کند.

 جعل هویت شبکه

جعل هویت شبکه یا وانمود کردن حمله کننده به اینکه که شبکه واقعی است یکی از حملاتی است که برای دسترسی به داده‌های خصوصی کاربر یا به دست آوردن اطلاعات هویتی یا کلید‌های شناسایی یا رمزنگاری مورد استفاده قرار می­گیرد.

جعل هویت شبکه و توقف رمزنگاري بين مشترک و نفوذگر

يک حمله که به يک BTS دستکاري شده نياز دارد و از اين ضعف MS که پيام‌‌هاي دريافت شده از طريق واسط راديويي را نمي­تواند تاييد هويت کند، بهره برداري مي­نمايد. حمله کننده با یک  BTS جعلی ارتباط با کاربر مورد نظر را در اختیار می گیرد. در این صورت هنگامی که حمله کننده یا کاربر واقعی درخواست یک سرویس از شبکه را می­نماید  نفوذگر به وسيله دستکاري دستور حالت رمزنگاري، رمزنگاری را فعال نمی‌کند. نفوذگر تا زماني که نياز دارد و یا تا وقتي که حمله­اش مخفي مانده است تماس تلفنی را برقرار نگه می­دارد.

جعل هویت شبکه و توقف رمزنگاري بين مشترک و شبکه

يک حمله که به يک BTS/MS دستکاري شده نياز دارد و از اين ضعف شبکه که پيام‌‌هاي دريافت شده از طريق واسط راديويي را نمي­تواند تاييد هويت کند، بهره برداري مي­نمايد. کاربر فریب داده می‌شود تا با BTS/MS جعلي تماس برقرار کند، BTS/MS جعلي پیغام حاوی قابليت­های رمزنگاري يک MS را دستکاري مي­کند. به اين معني که باعث مي­شود شبکه تصور کند که يک عدم تطابق بين خودش و گوشی موبايل وجود دارد و سپس ممکن است تصميم بگيرد يک تماس رمزنگاري نشده را برقرار کند. پس از اتخاذ تصميم بر مبناي عدم رمزنگاري، نفوذگر ارتباط با شبکه را قطع مي­کند و خود را به جاي شبکه براي کاربر هدف جعل مي­کند.

جعل هویت شبکه برای کليد رمزنگاري از پیش تعیین شده

در این حمله نفوذگر به يک BTS دستکاري شده نياز داشته و نیز باید به یک بردار شناسایی دسترسی داشته باشد. در نتيجه از اين ضعف که کاربر کنترلي روي کليد رمزگذاری ندارد، بهره مي­برد. کاربر هدف، از طريق اتصال به يک BTS/MS جعلي مورد حمله قرار مي­گيرد. پس از اتصال کاربر به یک BS جعلی در زمان تماس کاربر به شبکه واقعی، وقتي که يک سرویس مورد استفاده قرار می‌گيرد، BTS/MS جعلي استفاده از يک کليد رمزنگاري از پیش تعیین شده را روي موبايل کاربر اجبار مي­کند. پس از آن نفوذگر تماس تلفنی را تا زمانی که لازم باشد و یا حمله اش شناسایی نشده باشد برقرار نگه می دارد.

 جعل هویت مشترک

ربودن مکالمه‌‌هاي خروجي

این حمله به يک BTS/MS دستکاري شده نياز دارد. وقتي که کاربر هدف به يک ايستگاه مبناي جعلي متصل مي­شود نفوذگر، به کاربر هدف وانمود می‌‌کند که یک تماس ورودی دارد. سپس کاربر يک روند مکالمه را تحت نظر نفوذگر با شبکه سرویس‌دهنده آغاز مي­کند و در اين ميان نفوذگر، بخش‌های سيگنالینگ را بصورتی دستکاري مي­کند که کاربر هدف، براي شبکه سرويس دهنده به عنوان یک مبداء که تمايل به برقراري يک مکالمه تلفني را دارد، بنظر برسد. اگر شبکه رمزنگاري را فعال نکند، پس از تاييد هويت، نفوذگر ارتباط با کاربر مقصد را قطع مي­کند و از ارتباط با شبکه جهت سوء استفاده از اشتراک کاربر هدف استفاده مي­کند.

اگر شبکه رمزنگاري را فعال کند، به علاوه حمله قبلي اين بار نفوذگر بايد سعي کند که رمزنگاري را نيز به وسيله پيامي که MS جهت مطلع کردن شبکه از قابليت رمزنگاري­اش مي­فرستد، غیرفعال نمايد.

ربودن مکالمه‌‌هاي ورودی

يک حمله که به يک BTS/MS دستکاري شده نياز دارد. وقتي که کاربر هدف به يک ايستگاه مبناي جعلي متصل مي­شود، همکار نفوذگر يک مکالمه با شماره کاربر هدف را به وجود مي­آورد. نفوذگر تا زماني که تاييد هويت و برقراري مکالمه بين کاربر هدف و شبکه سرويس دهنده انجام گيرد به عنوان يک ايستگاه تقويت کننده بين شبکه و کاربر هدف عمل مي­کند. اگر شبکه رمزنگاري را فعال نکند، پس از تاييد هويت و برقراري مکالمه، نفوذگر کاربر هدف را رها مي­کند و از ارتباط با شبکه جهت پاسخ دادن به مکالمه همکار خود، با  اشتراک کاربر هدف استفاده مي­کند؛ در حاليکه کاربر هدف مجبور به پرداخت هزينه در roaming است. اگر شبکه رمزنگاري را فعال کند، به علاوه حمله قبلي اين بار نفوذگر بايد رمزنگاري را نيز بازگشایی نمايد.

استراق سمع پاسخ تاييد هويت

يک حمله که به يک MS دستکاري شده نياز دارد و از اين ضعف که يک بردار تاييد هويت ممکن است چندين بار استفاده شود، بهره مي­برد. نفوذگر پاسخ تاييد هويت فرستاده شده از طرف کاربر را استراق سمع مي­کند و در صورتي که بعداً يک challenge مشابه فرستاده شد، از آن جهت جعل هويت مشترک در نزد شبکه و قسمت‌‌هاي ديگر استفاده مي­کند.

 يكسان‌سازي

در اين حمله نياز به دسترسي فيزيكي به يك تلفن همراه وجود دارد. همانطور كه گفته شد تمامي‌‌الگوريتم‌‌هاي رمزنگاري كه در شبكة تلفن‌‌هاي همراه وجود دارند بر اساس كليد Ki كار مي‌‌كنند. بنابراين اگر بتوان اين كليد را به دست آورد، مي‌­توان SIM جديدي كه Ki آن دقيقاً با Ki موبايل قبلي يكسان مي‌­باشد توليد كرد. البته براي كامل شدن حمله شمارة IMSI نيز مورد نياز است.

به هر حال در اين حمله فرد به دسترسي فيزيكي نياز دارد. با داشتن اين دسترسي فيزيكي مي‌‌توان شمارة IMSI و كليد Ki هر دو را به دست آورد. در حقيقت تأكيد اساسي روي دسترسي فيزيكي به SIM مي‌­باشد. پس از دسترسي به آن مي‌­توان اطلاعات آن را با روش­‌هاي شكستن رمز به دست آورد[IssaClo].

براي به دست آوردن اين اطلاعات ابزار‌هاي مناسبي وجود دارند[Echelon]. اين ابزارها قادرند در زمان مناسبي اطلاعات را از SIM خارج كنند. چنانچه اين اطلاعات بدست آمده در SIM ديگري وارد شوند، از اين پس مي‌‌توان با استفاده از اين SIM جديد با شبكه ارتباط برقرار كرد، درحاليكه تمامي‌‌هزينه به حساب صاحب SIM قبلي مي‌­رود.

البته شايد نتوان به راحتي به SIMي كه هنوز اطلاعات در آن وارد نشده دسترسي داشت و حتي  با وجود دسترسي به چنين SIMي معمولاً دسترسي به تجهيزاتي كه قادرند اين اطلاعات را در آن وارد كنند به ­راحتي میسر نمي‌‌باشد، چرا كه معمولاً در ایران و بسیاری كشور‌هاي دیگر دسترسي به اين تجهيزات براي افراد عادي غيرقانوني مي‌‌باشد.

شكستن الگوريتم‌‌هاي رمزنگاري

با توجه به آنكه ارتباطات بين دستگاه تلفن همراه و شبكه رمز شده مي‌­باشند، دور از ذهن نيست كه حملاتي بر اساس شكستن اين رمزها وجود داشته باشد. با شکستن این الگوریتم­ها برای بدست آوردن کلید Ki برای یکسان سازی SIM و یا بدست آوردن سایر کلید‌ها استفاده کرد. بعلاوه همانطور كه گفته شد داده‌ها بين دستگاه و شبكه به كمك الگوريتمA5  رمز مي‌­شوند. اين الگوريتم در ادامه آمده است و سپس حملاتي كه براي شكستن آن طراحي شده­اند بررسي مي‌­شوند.

یافتن كليد­‌هاي SIM از طريق استراق سمع

مراكز تحقيقاتي SDA[1] و ISAAC[2] ثابت كرده­اند كه امكان بدست آوردن كليد‌هاي SIM از طريق استراق سمع موجود مي‌­باشد و لذا مي‌­توان حملة يكسان‌سازي را از اين طريق نيز انجام داد. اما از آنجايي كه تجهيزات مورد نياز براي اين كار در آمريكا براي استفاده عموم غيرمجاز مي‌‌باشد، آنها هرگز نتوانستند نظرية خود را در عمل ثابت كنند. اساس حمله بر اين استوار است كه تلفن همراه مجبور است به تمامي‌‌درخواست‌‌هاي  ارسالي از طرف شبكه براي شناسايي و تاييد هويت پاسخ گويد. در نتيجه حمله مي‌تواند به صورت سيل­آسا درخواست‌‌هاي تاييد هويت زيادي را براي دستگاه ارسال كند و با تحليل پاسخ‌‌هاي دريافتي به يافتن كليد اقدام كند. پرواضح است كه تا زماني كه تلفن همراه مزبور از برد ايستگاه خارج نشود، مي‌­توان حمله را ادامه داد. اين حمله بين 8 الي 15 ساعت به طول مي‌انجامد. تنها نكت‌هاي كه بايد به آن توجه كرد حضور ايستگاه اصلي است. در واقع حضور ايستگاه اصلي مي‌­تواند باعث مشكل شود كه براي اين موضوع مي‌­توان حمله را در مناطقي كه ايستگاه مجاز وجود ندارد انجام داد. البته در اين صورت تنها زماني حمله امكان پذير است كه دستگاه روشن باشد. معمولاً صاحب دستگاه از اين حمله نمي‌­تواند با خبر شود مگر آنكه متوجه شود كه باتري دستگاه وي به طور غيرعادي خالي شده است. براي جلوگيري از اين موضوع مي‌­توان حمله را در چندين مرحله انجام داد. به عنوان مثال مي‌­توان آن را هر روز به مدت 20 دقيقه و در زماني كه صاحب تلفن همراه فاصلة خانه تا محل كارش را كه فاقد ايستگاه مي‌‌باشد، طي مي‌‌كند صورت داد.

  • تشريح الگوريتم رمز A5

در GSM قاب­‌هاي  ارسالي هر 6/4 ميلی‌­ثانيه ارسال مي‌­شوند. هر قاب شامل 114 بيت براي ارتباط A با B و 114 بيت براي ارتباط B با A مي‌­باشد. هر قاب با يك كليد متفاوت رمزنگاري مي‌­شود. ورودي الگوريتم كليد Kc و شمارة قاب Fn مي‌­باشد. الگوريتم از اين دو ورودي جهت ايجاد يك حالت اوليه استفاده مي‌­كند. سپس با شروع از اين حالت اوليه، 228 بيت توليد مي‌­كند كه با XOR كردن آنها با 228 بيت قاب، قاب رمز شده براي ارسال آماده مي‌­شود.

در اين الگوريتم سه عدد رجيستر با قابليت چرخش وجود دارد. طول رجيسترها به­ترتيب 19،  22 و 23 بيت مي‌­باشد كه در مجموع طول كل آنها 64 بيت خواهد شد. خروجي الگوريتم از XOR بيت‌‌هاي پرارزش اين سه رجيستر بدست مي‌­آيد (شكل7-2). همانطور كه در شكل ديده مي‌­شود بيت‌‌هاي اين رجيسترها از راست به چپ شماره­گذاري شده­اند. الگوريتم به­صورت تكراري اجرا مي‌‌شود. در هر تكرار عمليات­ زير انجام مي‌­شود:

محاسبة خروجي: براي محاسبة خروجي بيت‌‌هاي پرارزش با يكديگر XOR مي‌‌شوند.

محاسبة بيت ورودي: در هر تكرار مي‌­بايست يك بيت به بيت كم ارزش رجيستري كه چرخش مي‌كند وارد شود. اين بيت با استفاده از بيت‌‌هاي قبلي رجيستر به دست مي‌­آيد. در هر رجيستر تعدادي بيت مشخص شده­اند كه با XOR كردن آنها بيت جايگزين بدست مي‌­آيد. شمارة اين بيت­ها براي رجيستر 19 بيتي 13، 16، 17 و 18 براي 22 بيتي 20 و 21 و براي 23 بيتي 7، 20، 21 و 22 مي‌­باشد.

چرخش رجيستر: بايد توجه كرد كه در هر تكرار رجيسترها با هم نمي‌­چرخند، بلكه چرخش بر اساس قانون اكثريت مي‌­باشد. در هر رجيستر بيت وسط (به­ترتيب بيت‌‌هاي 8 براي R1، 10 براي R2 و 10 براي R3) در قانون اكثريت شركت مي‌­كنند. آنگاه هر رجيستري كه بيت آن با قانون اكثريت موافق باشد مي‌­چرخد. به عنوان مثال فرض كنيد اين بيت­ها به­ترتيب 0، 1 و 0 باشند. پس رأي اكثريت 0 است، در نتيجه تنها رجيستر‌هاي 19 بيتي و 23 بيتي مي‌­چرخند و بيت كم ارزش آنها نيز طبق آنچه گفته شد پر مي‌­شود.

اين نحوة چرخش رجيسترها را Stop/go مي‌­گويند. با توجه به اينكه طول رجيسترها محدود است، حالت‌‌هاي هر رجيستر نيز محدود است. به عنوان مثال حالت‌‌هاي رجيستر 19 بيتي با دورة تناوب حداكثر 1-219 تكرار خواهد شد. به همين ترتيب حالت‌‌هاي رجيستر 22 بيتي با دورة تناوب 1-222 و رجيستر 23 بيتي با دورة تناوب 1-223 تكرار خواهند شد. با توجه به قانون اكثريت در هر تكرار دست­كم 2 رجيستر و حداكثر هر 3 رجيستر مي‌­چرخند، در نتيجه احتمال چرخش هر رجيستر در هر تكرار 4/3 و احتمال عدم چرخش آن نيز 4/1 مي‌­باشد.

shekl1

بنابراين مراحل گام به گام الگوريتم به قرار زير مي‌‌باشند:

تمامي‌‌رجيسترها با صفر پرمي‌­شوند و بدون در نظر گرفتن قانون اكثريت 64 بار مي‌­چرخند. در هر بار چرخش بيت كم­ارزش رجيسترها با بيت كم ارزش كليد Kc،XOR  مي‌­شود. اين كليد نيز همراه با رجيسترها از سمت بيت كم­ارزش مي‌­چرخد.

حال رجيسترها 22 بار ديگر نيز بدون در نظرگرفتن قانون اكثريت مي‌­چرخند. در هر چرخش بيت كم­ارزش آنها با بيت كم ارزش Fn،XOR  مي‌­شود.Fn  نيز همراه رجيسترها مانند كليدKc  مي‌­چرخد.

حال رجيسترها 100 بار بر اساس قانون اكثريت مي‌­چرخند. تا اين مرحله هيچ خروجي توليد نشده است. در واقع در پايان اين مرحله رجيسترها مقداردهي اوليه شده­اند.

حال رجيسترها 228 بار براساس قانون اكثريت مي‌­چرخند و در هربار چرخش يك بيت خروجي توليد مي‌­كنند. بيت خروجي از XOR كردن بيت‌‌هاي پرارزش آنها بدست مي‌­آيد.

در تمامي‌‌حملاتي كه عليه الگوريتم­ رمز A5 صورت مي‌­گيرد حمله كننده همواره فرض مي‌­كند  كه در هر قاب تعدادي از بيت‌‌هاي تصادفي كه الگوريتم توليد كرده است را دارد. اين فرض كاملاً منطقي است، زيرا در تمامي‌‌روش­‌هايي كه براي شكستن الگوريتم‌‌هاي رمز به كار مي‌­روند، فرض مي‌­شود كه قسمتي از خروجي الگوريتم موجود است. به هر حال در اينجا هدف بررسي نحوة به دست آوردن اين بيت­ها نمي‌‌باشد، بلكه فرض مي‌­شود كه اين بيت­ها موجودند و هدف استفاده از آنها جهت شكستن الگوريتم و به دست آوردن كليدها مي‌­باشد. نكت‌هاي كه بايد توجه كرد آن است كه با توجه به آنكه در شبكه موبايل هر 6/4 ميلی‌­ثانيه يك قاب ارسال مي‌­شود، پس به طور متوسط در هر ثانيه حدود 28 قاب ارسال خواهد شد.

 شكستن الگوريتم A5

استفاده از تعادل زمان-حافظه Golic: يك راه شكستن الگوريتم‌‌هاي رمزي مانند A5 به دست آوردن تمامي‌‌خروجي­ها بر اساس حالات اوليه و جستجو در بين آنها مي‌‌باشد كه توسط گوليك مطرح شده است. از آنجا كه در اين الگوريتم تعداد حالات اوليه محدود مي‌­باشند، مي‌‌توان با استفاده از اين روش به تعادل مناسبي بين حافظه و زمان اجرا دست پيدا كرد. كل حالت‌‌هاي اين الگوريتم 264 حالت است (تعداد كل بيت­­ها 19+22+23=64). ايدة اصلي در الگوريتم Golic پيش محاسبة اين حالات و نگهداري آنها در يك جدول مي‌­باشد.

تشخيص حالات با استفاده از پيشوند رشتة خروجي: هر حالت اوليه مي‌­تواند تعداد زيادي رشتة خروجي با چرخش توليد كند. مي‌­توان اين موضوع را از ديگاه ديگر بررسي كرد. هر حالت را مي‌­توان تقريباً به صورت يكتايي با استفاده از log(n) بيت اولية آن به دست آورد. پس مي‌­توان حالات اولية نامعلوم را با استفاده از مقايسة پيشوندها بدست آورد. در واقع هنگام پيش محاسبة خروجي­ها، مي‌­توان براساس پيشوند‌هاي آنها مجموع‌هاي از زوج­‌هاي مرتب  (prefix، State) تشكيل داد و آنها را ذخيره كرد. با داشتن خروجي­ها مي‌­توان تمامي‌‌پيشوند‌هاي آنها را استخراج كرد و حالات اولية متناظر آنها را به دست آورد، آنگاه با مقايسه با مجموعة قبل مي‌­توان حالات اوليه را بدست آورد.

معكوس كردن الگوريتم A5: ديدگاه جالبي كه مي‌‌توان نسبت به الگوريتم A5 داشت‏، تصور اين الگوريتم به صورت نمودار انتقال حالت است (شكل7-3).

shekle4

در واقع الگوريتم در هر حالتي باشد مي‌­تواند به يكي از حالات زير برود.

– هر سه رجيستر بچرخند.

– R1 و R2 بچرخند.

– R2 و R3 بچرخند.

– R1 وR3  بچرخند.

نكت‌ه‌اي كه بايد در نظر گرفت اين است كه برخي حالات جزو حالاتي هستند كه از هيچ حالت ديگري به دست نمي‌­آيند و ساير حالات نيز از اين حالات مشتق مي‌­شوند. پس مي‌­توان درخت حالات الگوريتم را تشكيل داد. حال با داشتن خروجي­ها مي‌­توان درخت را از برگ شروع به پيمايش كرد و حالات اولية ممكن را به دست آورد و حالاتي كه مشترك مي‌­باشند را به عنوان كانديد براي حالت اولية الگوريتم در نظر گرفت.

الگوريتم A5 به گون‌ه‌اي طراحي شده است كه پياده­سازي سخت­افزاري آن ساده باشد. اين موضوع باعث ضعف اين الگوريتم شده است. همانطور كه گفته شد الگوريتم را مي‌­توان به صورت نمودار انتقال حالت در نظر گرفت. پياده­سازي اين نمودار بدين صورت است كه به ازاي هر رجيستر مي‌­توان يك آرايه در نظر گرفت، اما براي نگهداري حالات رجيستر نياز نيست تمامي بيت‌‌هاي آن را ذخيره كرد، بلكه ذخيره كردن بيت كم ارزش آن كه در محاسبة خروجي استفاده مي‌­شود و بيتي كه در قانون اكثريت شركت مي‌­كند، كافي مي‌‌باشد. پيشوندها را مي‌‌توان مرتب كرد و به عنوان انديس آرايه‌ها در نظر گرفت. براي انتقال حالت نيز كافي است در هر حالت برداري را نگهداري كنيم كه مشخص مي‌­كند كدام بيت با پيشوند (انديس) جمع زده شود. در واقع عمليات چرخش در اينجا به عمليات جمع تبديل مي‌­شود. در ادامه دو نمونه از حمله عليه اين الگوريتم ارائه مي‌­شود.