
< استفاده از مطالب سایت فراکنش با ذکر منبع مجاز است.>
با توجه به آنچه كه در فصل ويژگیهای امنيتی GSM گفته شد، به راحتي ميتوان نقاط ضعف شبكة تلفن همراه نسل دوم را دريافت. یکی از مهمترين ضعفها در امنيت اين شبكه آن است كه كلية تمهيدات در نظر گرفته شده تنها براي جلوگيري از حملة خارج از شبكه ميباشد و امنيت مربوط به حملة از داخل شبكه چندان قوي نيست. تمامي رمزنگاريها تنها براي ارتباط مابين دستگاه تلفن همراه و شبكة آن ميباشد، اما ارتباطات داخل شبكه رمزنگاري نميشوند، و دادهها به صورت صريح انتقال داده ميشوند. در ادامه مهمترين حملاتي كه تا كنون عليه شبكة تلفن همراه نسل دوم صورت گرفته است و یا محتمل است، بررسي خواهند شد.
برای به واقعیت پیوستن حملات، فرد نفوذگر باید یک یا چند مورد از قابلیتهای زیر را داشته باشد:
- استراق سمع: یعنی نفوذگر بتواند اتصالات داده یا سیگنالینگ یک کاربر با سایر کاربران را شنود نماید.
- جعل هویت کاربر اصلی: امکان آنکه نفوذگر بتواند اطلاعات سیگنالینگ یا داده کاربر را برای شبکه بفرستد تا شبکه باور کند که این دادهها از طرف یک کاربر واقعی است.
- جعل هویت شبکه: امکان آنکه نفوذگر بتواند اطلاعات سیگنالینگ یا داده کاربر را برای یک کاربر واقعی بفرستد به نحوی که کاربر تصور کند این دادهها از طرف یک شبکه واقعی است.
- مرد میانی: امکان آنکه نفوذ گر بتواند خود را بین ارتباط میان کاربر واقعی و شبکه اصلی قرار دهد و امکان شنود، تغییر دادن، حذف، درخواست دوباره، ارسال مجدد و جعل پیغامهای سیگنالینگ یا داده بین شبکه و کاربر را داشته باشد.
- بدست آوردن و افشای بردار یا اطلاعات احراز هویت در شبکه: نفوذگر اطلاعات احراز هویت را که شامل سؤوال/پاسخها و کلید رمزنگاری میباشد، به دست میآورد. این اطلاعات از طریق دسترسی به یک نود در شبکه یا با استراق سمع پیغامهای سیگنالینگ در اتصالات شبکه می تواند به دست بیاید.
بدست آوردن قابلیت اول برای حمله کننده از همه سادهتر است و موارد بعدی پیچیدهتر بوده و نیاز به هزینههای بیشتری از طرف حمله کننده دارد. به هر حال در این لیست نفوذگر هر یک از این قابلیتها را داشته باشد، همه قابلیتهای بالای آن در لیست را هم دارد. دو مورد اول در زمان طراحی GSM شناخته شده بودند. اما برای سایرین، تمهیداتی در زمان طراحی مشخص نشده است.
قابلیتهای فوق به راحتی از طریق استفاده از یک BS (ایستگاه مبنا) جعلی و همچنین حمله مرد میانی قابل حصول است.
حملات ممکن به شبکه GSM را در چند دسته می توان طبقه بندی کرد:
- حملاتی که منجر به ممانعت از سرویس میشوند.
- حملاتی که برای بدست آوردن شناسه و هویت کاربر واقعی شبکه می توانند مورد استفاده قرار بگیرند.
- حملاتی برای جعل کردن شبکه واقعی.
- حملاتی برای استراق سمع دادههای کاربر.
- حملاتی برای جعل هویت کاربر برای شبکه و سوء استفاده از آن.
ايستگاه مبناي جعلي
همانطور كه از نام اين حمله برميآيد، در آن يك هويت اصلي جعل ميشود. در واقع در اينجا يك ايستگاه جعلي خود را ايستگاه اصلي مينماياند. آنچه كه باعث بروز چنين مشكلي ميشود، مبحث شناسايي شبكه است. همانطور كه گفته شد، هر دستگاه تلفن همراه هنگام ورود به يك شبكة محلي جديد، بايد خود را به آن شبكه بشناساند، ولي شبكه هيچگاه خود را به دستگاه تلفن همراه معرفي نميكند. به عبارت ساده، يك تلفن همراه هيچگاه نميتواند دريابد كه آيا با يك شبكة مجازي در ارتباط ميباشد يا خير. در نتيجه به راحتي ميتوان يك ايستگاه جعلي ايجاد كرده و با كمك آن با دستگاههاي تلفن همراه ارتباط برقرار كرد. به عنوان مثال يك ايستگاه جعلي ميتواند با يك تلفن همراه ارتباط برقرار كرده و بهجاي استفاده از الگوريتم A5/1 براي رمزنگاري از او بخواهد كه با الگوريتم A5/2 (كه الگوريتم ضعيفي است) رمزنگاري را انجام بدهد و يا بهطور كلي از رمزنگاري استفاده نكرده، دادهها را به صورت صريح ارسال دارد. با استفاده از يك ايستگاه جعلي بيهام و همكاران حملهاي را طراحي كردهاند كه در آن سعي ميشود رمزنگاري A5/2 شكسته شده و سپس با استفاده از آن، كليد Kc به دست آيد. اين كليد در نهايت در الگوريتم A5/1 مورد استفاده قرار ميگيرد.
يك حمله ممكن ديگر پيدا كردن Ki دستگاه تلفن همراه ميباشد. در اين حمله، ايستگاه جعلي مرتب فرايند شناسايي دستگاه را تكرار ميكند. از آنجا كه ايستگاه نيازي ندارد كه خود را به تلفن همراه معرفي كند، تلفن همراه چارهاي جز آنكه مرتب به درخواستهاي ايستگاه پاسخ دهد نخواهد داشت. با توجه به روشي كه براي شكستن دادههاي رمز شده به كار گرفته ميشود اين حمله ممكن است بين 8 الي 15 ساعت به طول انجامد. نكتهاي كه در اين حمله بايد توجه كرد حضور ايستگاه اصلي است. در واقع ميبايست به طريقي سيگنالهاي ايستگاه اصلي را از كار انداخت. اين حمله نيز توسط بيهام معرفي شده است.
پرواضح است كه ميتوان اين حمله را عليه مركز شناسايي بهكاربرد، چرا كه اين مركز نيز موظف است مرتب به درخواستهاي شبكه پاسخ دهد. اما نكتهاي كه در اينجا بايد به آن توجه داشت آن است كه سرعت اين مركز در پاسخ دادن به درخواستها بسيار بالاتر از SIM است، در نتيجه زمان حمله كوتاهتر خواهد شد.
به هر حال اين حملات تماميبر اساس ضعف شبكه در ارتباطات داخلي بنا نهاده شدهاند، و همانطور كه گفته شد با توجه به آنكه در ارتباطات داخلي نيازي به شناسايي نيست، به راحتي ميتوان از اين مسأله براي حمله به شبكه استفاده كرد.
نكتة مهم ديگري كه وجود دارد آن است كه تمامی الگوريتمهاي رمزنگاري تنها براي ارتباطات مابين تلفن همراه و شبكة آن مورد استفاده قرار ميگيرند و ارتباطات داخلي شبكه همگي به صورت صريح و بدون انجام رمزنگاري صورت ميپذيرند. اين موضوع نيز ميتواند نقطه ضعف مناسبي براي حمله به شبكة تلفن همراه و با استفاده از ايستگاه مبناي جعلي باشد.
در بخشهای بعدی انواع مختلف از حملات مبتنی بر ایستگاه مبنای جعلی آمده است.
استراق سمع داده کاربر
حملات زیر برای استراق سمع دادههای کاربر هنگامیکه بر روی شبکه واقعی ارسال میشوند شناسايی شدهاند.
حملة مرد ميانی
اين حمله تا حد زيادي مشابه حملة قبل ميباشد و شايد بهتر ميبود كه به عنوان يكي از حملاتي كه از طريق ايستگاه جعلي ميتوان انجام داد، از آن ياد ميشد، اما تفاوتهاي موجود مابين اين دو حمله درخور توجه است. در حملة پيشين، ايستگاه جعلي تنها سعي در برقراري ارتباط با دستگاه تلفن همراه ميكرد و هدف به دست آوردن اطلاعات سري مانند كليد Ki بود، ولي در اين حمله هدف بدست آوردن اطلاعات سري دستگاه مزبور نيست، بلكه هدف استراق سمع است. همانطور كه گفته شد شبكههاي آنالوگ به شدت مستعد چنين حملاتي بودند، اما در شبكههاي ديجيتال، بهدليل استفاده از الگوريتمهاي رمزنگاري تقريباً به نظر ميآيد كه چنين حملهاي ممكن نباشد.
در اين حمله باز هم از عدم شناسايي شبكه توسط تلفن همراه استفاده شده است. يك ايستگاه جعلي مرتب سيگنالهاي شناسايي را منتشر ميكند. با توجه به آنكه دستگاه تلفن همراه همواره سعي ميكند كه از طريق ايستگاههايي كه بهتر سيگنالهاي آن را دريافت ميكنند ارتباط برقرار كند، لازم است كه اين ايستگاه جعلي علاوه بر ارسال مرتب سيگنالهاي خود، ساير ايستگاههاي واقعي را نيز مختل كند يا قدرت ارسال و دريافت آنها را به شدت كاهش دهد، به طوريكه ساير تلفنهاي همراه نيز قادر به برقراري ارتباط از طريق آن(ها) نباشند. پس از آن، هرگاه تلفن همراهي قصد برقراري ارتباط از طريق اين ايستگاه جعلي را داشت، ايستگاه ميتواند از تلفن همراه بخواهد ارتباط خود را به صورت رمز نشده ادامه دهد. از اين پس تماميسيگنالهايي كه از تلفن همراه دريافت ميشوند، از طريق اين ايستگاه جعلي به سمت شبكة اصلي ارسال ميشوند، ضمن آنكه استراق سمع نيز ميشوند و پردازشهاي مورد نظر روي آنها انجام ميشود.
در واقع نكتة ظريفی كه در اینجا نیز ديده ميشود عدم تاييد هويت در قسمتهاي داخلي شبكه ميباشد. بهعبارت ساده يك ايستگاه جعلي هيچگاه توسط ساير قسمتها شناسايي يا تاييد هويت نميشود و بخشهاي مختلف شبكه با دريافت درخواست از ساير بخشها به آنها پاسخ ميدهند بدون آنكه آن بخش را شناسايي كنند.
استراق سمع با توقف رمزنگاري
استراق سمع دادههای کاربر با توقف رمزنگاري بین کاربر و حمله کننده و یا کاربر و شبکه واقعی حملهای است که به يک BTS/MS دستکاري شده نياز دارد و از اين ضعف MS که پيامهاي دريافت شده از طريق واسط راديويي را نميتواند تاييد هويت کند، بهره برداري مينمايد. کاربر هدف از طريق اتصال به يک BTS جعلي مورد حمله قرار ميگيرد. وقتي که کاربر هدف و يا نفوذگر يک مکالمه را آغاز ميکنند، نفوذگر به وسيله دستکاري دستور حالت رمزنگاري از فعال کردن رمزنگاري جلوگيري ميکند. در هر حال کاربر تماس خود را با شبکه اصلي از طريق عضويت خود، بر قرار ميکند. سپس نفوذگر ممکن است دادههای ارسال شده کاربر را استراق سمع کند.

ممانعت از سرویس
استفاده از یک ایستگاه مبنای جعلی
استفاده حمله کننده از یک ایستگاه مبنای جعلی به خودی خود یک حمله ممانعت از سرویس محسوب میشود. چون کاربر واقعی بعد از آنکه از کانالهای ارتباطی یک ایستگاه مبنای جعلی استفاده کرد از دسترس شبکه واقعی و سیگنالهای پیجینگ به کلی دور خواهد شد.
حمله 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 دقيقه و در زماني كه صاحب تلفن همراه فاصلة خانه تا محل كارش را كه فاقد ايستگاه ميباشد، طي ميكند صورت داد.
در 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 ميباشد.

بنابراين مراحل گام به گام الگوريتم به قرار زير ميباشند:
تماميرجيسترها با صفر پرميشوند و بدون در نظر گرفتن قانون اكثريت 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).

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