ويژگیهای امنیتی در شبکه GSM
< استفاده از مطالب سایت فراکنش با ذکر منبع مجاز است.>
همانطور که در بخش قبل نیز گفته شد، یکی از تصمیمهای بسیار مهم و برجسته در طراحی نسل دوم شبکههای سنتی بیسیم، انتقال از سیستم آنالوگ به سیستم دیجیتال بود. این تصمیم، امنیت سیستمها را به میزان قابل توجهی بهبود بخشید. استراق سمع اتفاقی به وسیله radiohobbyist ها با استفاده از الگوریتم کدگذاری گفتاری، GMSK، مدولاسیون دیجیتالی، نوسان فرکانس کم و TDMA، به طور عمده ای مشکلتر شد چرا که با این شرایط، نفوذگران، برای رسیدن به اهداف خود نیازمند استفاده از تجهیزات گران قیمتتر و مجهزتر ازpolice scanner بودند. در این راستا، استفاده از سیستم دیجیتالی، تنها یکی از تمهیدات امنیتی است که برای نسل دوم سیستمهای بیسیم طراحی شده بود. در این بخش، امنیت در شبکههای GSM مورد بحث و بررسی قرار میگیرد.
به یاد آورید که شبکههای بیسیم از تکامل شبکههای تلفن ثابت و با هدف گسترش خدمات ارتباط صوتی به مشترکان وسیلههای همراه ایجاد شدهاند. بنابراین عجیب نیست یکی از اهداف طراحان شبکه GSM، ایجاد امنیت در این شبکه آن هم به اندازه امنیت شبکه تلفنهای ثابت باشد.
برای درک این مطلب، باید دانست که شبکه تلفنهای ثابت، محیط کنترل شدهای است. در واقع، گروه کوچکی از اپراتورها در سراسر جهان، شبکه مرکزی تلفن ثابت را کنترل و بر آن نظارت میکنند. با محدود کردن دستیابی فیزیکی به بیشتر بخشهای شبکه تلفن همراه از امنیت در این شبکه اطمینان حاصل میشود. این مطلب هم در سطح شبکه دستیابی و هم در سطح شبکه مرکزی صادق است. در GSM شبکه دستیابی ( اتصال دهنده ME/MS به BTS) تنها شبکهای است که یک محیط عملیاتی، مخرب محسوب میشود. بنابراین هدف، ایجاد امنیت در این بخش از شبکه GSM است.
سرويسهاي امنیتی که GSM سعي در فراهم کردن آن دارد، شامل موارد زير است:
- ناشناسی: براي ممانعت از دنبال کردن موقعيت کاربر يا شناسايي تلفنهايي که زده يا دريافت ميشود از طريق استراق سمع روي مسير راديويي است(براي اين کار از شناسه موقتی استفاده ميشود).
- تشخیص هويت: که اپراتور شبکه ميتواند هويت اعضا را تاييد کند.
- حفظ محرمانگي: صدا، داده و اطلاعات سيگنالهاي حساس در مسير راديويي در برابر استراق سمع محافظت ميشوند.
برخی خصوصيات امنيتي که با این سرویسها در شبکه GSM پياده سازي شدند عبارتند از:
- تایید هویت عضو
- استقلال فرایند مديريت کليد از دستگاه تلفن همراه
- محافظت از هويت عضو با استفاده از انتصاب هويت موقت در طي ارائه سرويس
- امکان تشخيص دستگاههاي دزديده شده
- محافظت از سيگنالها و دادههاي کاربر در مسير راديويي با استفاده از رمزنگاري
در ادامه، به جزییات ویژگیهای امنیتی شبکه GSM خواهیم پرداخت.
ناشناسی در GSM
یکی از نخستین کارهایی که ME در زمان roaming در حوزه تحت پوشش باید انجام دهد، شناساندن خود به شبکهای است که از آن درخواست خدمات میکند. به یاد آورید که IMSI عددی منحصر به فرد است که در SIM است و شبکه به وسیله آن، فرد مشترک را برای اهداف ارسال سیگنال تماس شناسایی میکند. به عبارتی دیگر، شبکههای سنتی بیسیم از IMSI برای تعیین مسیر تماس استفاده میکنند. بنابراین برای شبکه الزامی است از جای هر یک از IMSI در همه زمانها آگاه باشد. این قابلیت در شبکه یعنی ردیابی جای هر یک از IMSI ( کاربر)، به عنوان مدیریت موقعیت شناخته میشود. اگر چه جزییات این موضوع از حوزه بحث این مستند خارج است، مفهوم کلی مدیریت موقعیت آن است که هر بار که مشترک از مرز سلول عبور میکند، ME باید موقعیت جدید IMSI را به اطلاع شبکه برساند. این کار موجب میشود که شبکه، تماس در حال برقراری را به سلول درست برساند.
به طور خلاصه، پیامهای بهروز شده موقعیت از ME به شبکه، نیاز به حمل شناسه فرد مشترک دارند به طوری که شبکه جایی را که یک تماس ورودی را در زمان معین مسیریابی میکند، میشناسد. این مورد را با این حقیقت که نسبت دهی یک به یک میان IMSI (شماره تلفن) و شناسه مشترک به طور عمومی در دسترس است، ترکیب کنید. بدان معنی که اگر فردی که استراق سمع میکند، بتواند IMSI را از طریق هوایی به دست آورد، میتواند شناسه مشترکان و موقعیتهای آنان را تعیین نماید. به بیان ساده تر، در صورت استفاده از تلفن همراه در هر کجای دنیا، میتوان موقعیت جغرافیايی آن محل را به آسانی تعیین نمود. این موضوع از طرف بسیاری از مشترکان قابل پذیرش نیست، در نتیجه این «ویژگی» به عنوان یکی از تهدیدهای امنیتی در شبکههای بیسیم سنتی محسوب میشود.
قابلیت ناشناس نگه داشتن برای محافظت از مشترک در برابر افرادی که IMSI وی را می دانند طراحی شده است چرا که فرد استراق سمع کننده میتواند با کمک رابطهای هوایی از این اطلاعات برای ردیابی موقعیت وی یا برای تعیین تماسهای تلفنی که به او یا از سوی او شده است، استفاده کند. GSM از مشترک در برابر ردیابی موقعیت وی با استفاده از TMSI محافظت میکند. بر خلاف IMSI که به طور جهانی منحصر به فرد است، TMSI تنها اهمیت محلی دارد؛ یعنی نسبت IMSI-TMSI در VLR/MSC نگهداری میشود. زمانی که SIM به وسیله شبکه، تعیین هویت شد،
شبکه یک TMSI به مشترک اختصاص میدهد. در همه ارتباطات با SIM، شبکه از این TMSI برای ارجاع به SIM استفاده میکند. با کاربرد TMSI آشکار بودن IMSI در رابط هوایی به حداقل کاهش می یابد؛ بنابراین، احتمال آن که فرد استراق سمع کننده بتواند شناسه مشترک و موقعیت وی را تعیین کند نیز را به حداقل میرسد.
ایجاد کلید در GSM
پس از آن که مشترک خود را به شبکه معرفی نمود، گام بعدی آن است که به شبکه اثبات شود ME واقعاً همان کسی است که ادعا میکند: این فرایند، فرایند تعیین هویت نامیده میشود. فرایند تعیین هویت که در شبکه GSM به کار برده میشود، در بخش بعدی، مورد بحث قرار خواهد گرفت. پیش از ورود به این بحث، ابتدا به رویه ایجاد کلید که در شبکه GSM به کار میرود، اشاره نماییم. رویه ایجاد کلید برای ایجاد کلید رمز میان دو بخش در حال ارتباط مورد استفاده قرار میگیرد. این رمز اشتراکی، بنیان ایجاد امنیت در شبکه را تشکیل میدهد.
مدل امنیتی GSM از کلید امنیتی پیش اشتراکی 128 بیتی (Ki) برای ایجاد امنیت در رابط ME به BTS استفاده میکند. به عبارت دیگر، هیچ پروتکل ایجاد کلید در معماری مدل امنیتی GSM وجود ندارد. به جای آن، در هر SIM، Ki منحصر به فردی جا گذاری میشود؛ یعنی، هر مشترک دارای Ki منحصر به فردی است. از آن جایی که این رمز «اشتراکی» میان کاربر و شبکه مشترک است، واضح است که کلید نیز در مکانی در شبکه ذخیره شود. این «مکان» مرکز تعیین هویت(AuC) است که پایگاه دادهای برای ذخیره Ki همه مشترکان است. رمز اشتراکی (Ki) میان SIM و مرکز تعیین هویت است که پایهای برای ایجاد امنیت در رابط دستیابی در شبکههای GSM را تشکیل میدهد.
تایید هویت در GSM
وقتی ME سوییچ میشود، مجموعه معینی از فرکانسها را برای اتصال به شبکه، آن را جستجو میکند. پس از یافتن شبکه بیسیم برای اتصال، ME-SIM برای درخواست دستیابی به شبکه یک پیام sign-on برای BTS ارسال میکند. سپس BTS برای اتخاذ تصمیم درباب اینکه به ME-SIM اجازه دستیابی به شبکه داده شود یا نه با MSC تماس میگیرد. به منظور اخذ این تصمیم، MSC از HLR میخواهد تا پنج مجموعه از سهتاییهای امنیتی –که به آن بردار تاييد هویت نیز میگویند- برای
آن آماده کند. سهتایی امنیتی شامل سه شماره است: RAND (شماره تصادفی 128 بیتی)، SRES ( پاسخ ورودی 32 بیتی به RAND که با استفاده از Ki پیش اشتراکی تولید شده است) و کلید session یعنی Kc ( کلید رمز که با استفاده از Ki تولید شده ). HLR با استفاده از Ki از مرکز شناسایی، این سه تاییها را برای MSC تامین میکند. سپس MSC یکی از این پنج مجموعه از سه تاییها را برای استفاده در «session» فعلی انتخاب میکند. سپس RAND حاصل از این سهتایی به عنوان یک challenge به MS ( از طریق BSC و BTS) ارسال میشود. سپس انتظار می رود ME-SIM برای این RAND با استفاده از الگوریتم A3 و Ki ذخیره شده در SIM ( همان گونه که در شکل 4-2 نشان داده شده ) یک SRES تولید کند. این SRES به MSC (از طریق BTS و BSC) ارسال میشود. MSC، SRES دریافت شده از ME را با SRES موجود در سهتایی دریافتی از HLR مقایسه میکند. در صورت هماهنگ بودن این دو با هم، MSC میتواند به طور ایمن نتیجه گیرد که SIM موجود در ME حاوی Ki معتبر است. با این تایید، MSC مجوز دستیابی ME به شبکه را به صورت ایمن میدهد. از سویی دیگر، اگر دو SRES با هم هماهنگ نباشند، MSC اجازه دستیابی ME به شبکه را نخواهد داد. فرایند تعیین هویت در GSM در شکل زیر نشان داده شده است.
همان گونه که در شکل نشان داده شده است، فرایند تعیین هویت میان SIM و MSC انجام میشود. SIM از Ki که الگوریتمهای A8 و A3 را برای تولید SRES و کلید session یعنی Kc ذخیره کرده و اجرا میکند، استفاده می نماید. توجه به این نکته مهم است که Ki، IMSI و الگوریتمهای A3 و A8 در SIM ذخیره شدهاند. از همه مهم تر اینکه، Ki ( که زیربنای همه موارد امنیتی در شبکههای GSM را تشکیل میدهد) هرگز از SIM خارج نمیشود . تعداد دفعات و زمانهاي لازم براي فرایند تشخيص هويت توسط اپراتور تعيین ميگردد.
در فرایند تعیین هویت که پیشتر بحث شد، به روابط مطمئن میان HLR و MSC توجه داشته باشید. چنین رابطه مطمئنی میان BSC و MSC و دوباره میان BSC و BTS نیز وجود دارد. این مطلب، ما را به ویژگی مهم مدل امنیتی GSM رهنمون می سازد: هدف گیری ایجاد امنیت در بخش سیار شبکه GSM. با دیدگاه قدیمی، ممکن است این نکته به عنوان یک نقص در نظر گرفته شود اما به یاد بیاورید شبکه GSM از تکامل شبکه تلفن ثابت ایجاد شده و هدف طراحان شبکه GSM ایجاد امنیت در شبکه GSM به اندازه شبکه تلفنهای ثابت است. البته باید دانست که شبکه تلفنهای ثابت به شدت کنترل میشد ( و هنوز هم میشود). تعداد ارایه کنندههای خدمات شبکه تلفنهای ثابت بسیار محدود بوده و در نتیجه دستیابی به شبکه مرکزی ساده نیست. به بیانی دیگر، در شبکه مرکزی تلفن ثابت، با محدود کردن دستیابی فیزیکی به شبکه امنیت ایجاد میشود. طراحان شبکه GSM بر اساس این اصول، پیش میروند. شبکه مرکزی در معماری GSM به شبکه اطراف BSC اطلاق میشود و از آن جا که به وسیله ارایه کنندههای خدمات کنترل شده و دستیابی به آن نیز به شدت کنترل میشود به عنوان شبکه «ایمن» در نظر گرفته میشود. بنابراین، هدف طراحان امنیتی در GSM، تنها ایمن سازی شبکه دستیابی بیسیم بود. با این حال، حتی با این فرض که شبکه GSM
– این مطلب را با این حقیقت که در نسل اول شبکههای بیسیم، ESN به طور آشکار در حد واسطهای هوایی ارسال میشود مقایسه کنید.
– از سویی دیگر، دستیابی به شبکه دستیابی تلفن ثابت در مقایسه با شبکه مرکزی آسان تر بوده و لذا به مخاطره افتادن امنیت شبکه مرکزی نیز آسانتر است.
مرکزی، به وسیله ارایه کننده خدمات ( یا با محدود کردن دستیابی فیزیکی به شبکه یا دیگر روشهای مناسب دیگر) ایمن میشود، یک گمراه کننده ارتباط نیز وجود دارد این گمراه کننده ارتباط، میان BTS و BSC اعمال میشود. به خاطر داشته باشید این ارتباط، جزء شبکه مرکزی نیست. این مطلب را با این حقیقت که در GSM شیوه ای که BTS و BSC باید از آن طریق اتصال یابند مشخص نمیشود. در عمل، برای BTS و BSC اتصال از طریق میکروویو ( لینکهای بیسیم) عادی است. GSM روشی برای ایجاد امنیت در اتصال بیسیم میان BTS و BSC مشخص نمیکند، در نتیجه این لینک مستعد حمله است.
یکی دیگر از ویژگیهای مهم فرایند تعیین هویت GSM نیز وجود دارد که بحث در مورد آن بسیار ارزشمند است. تعیین هویت در GSM بر عهده SIM بوده و بر عهده کاربر نیست. به بیان دیگر، شبکه، سیم کارت را تعیین هویت میکند نه کاربر سیم کارت را. به یاد داشته باشید که فرایند تعیین هویت بر پایه رمز پیش اشتراکی (Ki) میان SIM و مرکز تعیین هویت قرار دارد. در طی فرایند تعیین هویت، MSC تایید میکند که SIM در حال تلاش برای دستیابی به شبکه دارای Ki معتبر است یا نه. اگر ME به سرقت رود و برای برقراری تماس به کار رود و از خدمات GSM دیگری استفاده کند، چه اتفاقی میافتد؟
GSM تمهیداتی چند برای محافظت از تجهیزات در برابر سارقان دارد. به عنوان اقدام اول، پایگاه دادهای از کل تجهیزات معتبر در شبکه مرکزی GSM نگه داری میشود. این پایگاه دادهها ثبت کننده شناسه تجهیزات (EIR) نامیده میشود. اگر یکی از مشترکان، ME خود را گم کند، باید این اتفاق را به ارایه کننده خدمات گزارش دهد. پیش از تایید هویت ME در شبکه، MSC نیز مطمئن میشود که ME در تلاش برای تعیین هویت به شبکه از زمره MEهایی نیست که پیش تر به مخاطره افتاده است. در این رهیافت، ممکن است ارایه کنندههای خدمات نیز فهرستی از SIMهای به مخاطره افتاده را نگه دارند. با دریافت گزارش سرقت SIM، ارایه کننده خدمات، IMSI و Ki متناظر با آن را به عنوان Ki در مخاطره علامت گذاری میکند. اگر SIM در مخاطره، تلاش کند تا به شبکه اتصال یابد، درخواست آن مورد تایید واقع نشده و رد میشود.
توجه کنید که با تکمیل فرایند تعیین هویت در GSM، زمینهای امنیتی نیز تولید میشود: کلید session Kc که میتوان آن را برای ایجاد محرمانگی در شبکه نیز به کار برد. کلید رمزی پیش اشتراکی (Ki) میان SIM و مرکز شناسایی، اساس ایجاد کلید session را تشکیل میدهد. همان گونه که در شکل زیر نشان داده شده، GSM از الگوریتم A8 برای ایجاد کلید session از Ki استفاده میکند.
دو شکل بالا را با هم مقایسه کنید. هدف از الگوریتم A8 به دست آوردن کلیدهای Session (Kc) با طول 64 بیت از Ki با طول 128بیت و RAND با طول 128 بیت است. از سویی
دیگر، هدف از الگوریتم A3 به دست آوردن SRES با طول 32 بیت از همان دو داده ( Ki و RAND) است. نکته مهمیکه باید در این جا ذکر شود آن است که A3 و A8 فی نفسه الگوریتم نیستند، بلکه فقط عناوینی (نامهای مرجع) برای الگوریتم اند. به بیان دیگر، ارایه کننده خدمات برای تولید RES را از Ki و RAND در استفاده از هر الگوریتمی آزادند. در مشخصات و ویژگیهای مربوط به GSM از نام A3 تنها برای ارجاع به چنین الگوریتمی استفاده میشود. به همین ترتیب، ارایه کننده خدمات کاربردی برای ایجاد کلیدهای Kc از Ki نیز در انتخاب الگوریتم آزاد بوده و A8 در ویژگیهای GSM تنها عنوانی برای ارجاع به این الگوریتم است. در بیشتر GSMها، قابلیت A3 و A8 ترکیب شده و از الگوریتم واحدی برای نیل به هر دو هدف استفاده میشود. الگوریتم COMP128، که به عنوان الگوریتم مرجع در ویژگیهای GSM مشخص شده است، Ki با طول 128 بیت و RAND با طول 128 بیت را به عنوان داده گرفته و SRES با طول 32 بیت و یک شماره با طول 54 بیت تولید مینماید. به این شماره، 10 صفر اضافه میشود تا کلید session با طول 64 بیت یعنی Kc را تشکیل دهد. در بخشهای بعدی روشی را که از کلید session در محرمانگی استفاده میشود را مشاهده خواهیم نمود.
GSM به ارایه کنندههای خدمات اجازه میدهد تا زمانی که از رومینگ بدون شکاف میان شبکههای ارایه کنندههای مختلف اطمینان حاصل نکردهاند، یک الگوریتم برای انجام A3 و A8 انتخاب کنند. این انتخاب، انتخاب مهمی است. به این دلیل که حتی در صورت انجام اگر فرایند شناسایی میان ME و MSC سرویس دهنده، MSC سرویس دهنده از HLR متعلق به ME برای تعیین هویت شبکه استفاده مینماید. بنابراین به طور غیر مستقیم، شبکه خانگی ME است که ME را برای دیگر شبکههای ارایه کننده خدمات تعیین هویت میکند. از آن جا که الگوریتمهای A3 و A8 تنها در HLR و SIM اجرا میشوند ( هر دوی آنها « متعلق» به ارایه کننده خدماتاند.) میتوانند الگوریتمهای مناسبی باشند.. در مرجع اطلاعات تکنيکي الگوريتمهاي A3 و A8 به طور کامل آورده شده است.
یکی از جزییات ظریف فرایند تعیین هویت در GSM، استفاده از پنج مجموعه سه تایی امنیتی است که MSC از HLR گرفته است. اگر چه برای تعیین هویت یک مشترک به شبکه تنها به یک مجموعه از این سهتاییها نیاز باشد، هر پنج مجموعه برای بهبود عملکرد رومینگ درخواست میشود. زیرا ME در هر بار ورود به شبکه از شبکههای دیگر ارایه کننده خدمات نیاز به تعیین هویت با یک MSC دارد. MSCبه جای تماس با HLR برای سه تاییهای امنیتی، درهر بار که ME به حوزه تحت پوشش جدیدی میرود، پنج مجموعه از سهتاییها را از HLR می گیرد: یکی برای فرایند شناسایی فعلی و چهار تا برای کاربردهای آتی. این کار زمان roaming/handover کاهش داده و عملکرد سیستم را بهبود میبخشد.
محرمانگی در GSM
در بخش قبل، روشی را که فرایند شناسایی GSM بستر امنیتی ( کلید session، Kc ) را ایجاد میکند، مشاهده نمودیم. کلید session برای ایجاد محرمانگی در رابطهای بیسیم (ME-BTS) استفاده میشود. الگوریتمیکه برای بستههای رمزنگاری کننده در رابطهای هوایی مورد استفاده قرار میگرفت، الگوریتم A5 بود. بر خلاف A3 و A8 که در استاندارد GSM تنها عناوینی برای ارجاع به الگوریتمهای تعیین شده به وسیله اپراتور استفاده میشوند، A5 یک الگوریتم رمزنگاری واقعی است که به وسیله استاندارد GSM مشخص شده است. دلیل تصمیم برای انجام چنین طراحی، نیاز به پشتیبانی از رومینگ بدون شکاف در سرتاسر شبکههای ارایه کنندههای خدمات گوناگون است. با توجه به آن که فرایند تعیین هویت میان SIM و HLR ارایه کننده خدمات انجام میشود، انتخاب A3 یا A8 را میتوان به اپراتور سپرد. از سویی دیگر، فرایند رمزنگاری باید الزاما میان BTS و ME بدون شامل شدن بر شبکه خانگی انجام شود. برای دست یابی به رومینگ بدون شکاف میان شبکههای مختلف، الزامی است که همه ارایه کنندههای خدمات، الگوریتم رمزنگاری یکسانی را به کار ببرند.
الگوریتم A5 اساسا یک رمزنگار رشتهاي است که با استفاده از کلید session با طول 64 بیت (Kc) و شماره سریال فریم به عنوان ورودی، رشته کلید یکسانی برای هر یک از بستهها تولید میکند. از آن جا که شماره سریال هر بسته را میتوان به آسانی تعیین نمود، محرمانگی هر بسته به پنهان سازی کلید session (Kc) بستگی دارد. به همین دلیل در GSM اقداماتی برای تغییر کلید رمزنگار Kc پیش بینی شده است: این اقدامات موجب مقاوم تر شدن سیستم در برابر استراق سمع میشود. ممکن است کلیدهای رمزنگاری را در فواصل منظم یا در هنگام نیاز ارایه کننده خدمات تغییر داد.
پس از آن که کلید رمزنگاری میان SIM و شبکه ایجاد شد، به محض آن که شبکه GSM درخواست مد رمزنگاری را به ME ارسال کرد، رمزنگاری پیامهای سیگنال دهنده و ترافیک دادههای کاربر شروع میشود. توجه داشته باشید که برخلاف الگوریتمهای A3 و A8، الگوریتم رمزنگاری A5 در ME به کار گرفته میشود.
الگوريتم A5 داراي دو نسخه است:
- A5/1 که نسخه قوي آن ميباشد و در اروپا آز آن استفاده ميشود.
- A5/2 نسخه ضعيف که ساير کشورهاي جهانسوم از جمله ایران، به آن دسترسي دارند.
یک نکته قابل توجه آنست که اگر شماره TMSI (قبلي) مشترک در VLR ناشناخته باشد، مشترک مي بايست از IMSI خود استفاده کند و اگر در اين فاز واحد رمزنگاري غير فعال باشد آنگاه مشترک مجبور به ارسال شماره IMSI خود بدون رمز کردن ميباشد که اين امر موجب کاهش محرمانگي مشترک ميگردد. البته اجراي اين حالت فقط تحت شرايط خاص و زير نظر و کنترل اپراتور انجام ميپذيرد.
امنيت SIM كارت
سيم كارت يك كارت هوشمند رمزنگاري است كه برنامههاي خاص سيستم GSM در آن قرار گرفته است. به دليل اينكه SIM كارت در گروه كارتهاي هوشمند قرار ميگيرد بسياري از خصوصيات امنيتي كارتهاي هوشمند را دارا ميباشد.
ابتدا كارتهاي هوشمند در كاربردهايي كه نياز به امنيت بالايي داشتند مانند مديريت كردن اطلاعات مالي و تجاري مورد استفاده قرار گرفتند. كارتهاي هوشمند مزاياي بسياري از جمله قابل حمل بودن و فراهم كردن انبارة امن براي دادهها و مقادير براي سيستمهاي محاسباتي و تجاري دارند. دلائل بسيار زيادي در استفاده از كارتهاي هوشمند وجود دارد ولي يكي از مهمترين دلايل خصوصيات امنيتي در ساختار كارتهاي هوشمند ميباشد. ميكروپروسسور كارت داراي كليدها و الگوريتمهاي رمزنگاري براي انجام عمليات رمزنگاري روي دادههاي كارت ميباشد. از طرف ديگر ساختار سيستم فايل سيستم عامل روي كارت مانع از قابليت خوانده شدن فايلها از خارج از كارت ميشود.
خصوصيات امنيتي تراشة كارت هوشمند: در طي توليد تراشة كارتهاي هوشمند لازم است ريزمدارهاي آن تست شوند. بعد از آن بايد تراشه به طور تغيير ناپذيري به شكلي تغيير يابد كه دسترسي به مدارهاي داخلي تراشه مثلا دسترسي به حافظه از خارج غير ممكن باشد. يكي از آخرين
پروسهها در ساخت تراشه برقراري جريان الكتريكي در تراشه براي ايجاد اتصالات دائمي روي تراشه ميباشد. گاهي اوقات، بعضي از كارخانهها در عوض اتصالات قابل گداخت محلي در EEPROM را تغيير ميدهند كه به صورت منطقي تراشه را تغيير مي دهد.
سيستم عامل كارت اتصال برقرار شده را تشخيص داده و يا اين محل حافظه را ميخواند و حالت فعلي را تشخيص ميدهند. به محض انجام اين تغييرات در كارخانه، غيرممكن است كه بتوان حالت سيستم عامل را به حالت سرويسدهي بازگردانيد. اين محلي است كه اپراتور GSM ميخواهد كليد يكتاي عضو شبكه را براي هر عضو در طي پروسة شخصي سازي كارت قرار دهد.
يك خصوصيت امنيتي ديگر تراشه، قرار دادن اجزاء اصلي درون تراشه در محلهاي غيرقابل دسترسي ميباشد. مثلاً ROM در پايينترين لايههاي سيليكون قرار ميگيرد تا از مهندسي معكوس سيستم عامل كارت جلوگيري شود. مسيرهاي دادهها و آدرس داخلي كه اجزاء اصلي را روي تراشه به هم متصل مي كنند با هم مخلوط شدهاند، بنابراين رساناهاي مستقل تغيير داده شدهاند تا براي حمله كننده تشخيص عملكردشان مشكلتر شود.
ارتباطات بين اجزاء روي تراشه روي بعضي از تراشههاي كارت هوشمند رمز شده است. براي ممانعت از مانيتور كردن سيگنالهاي متصاعد شده الكترونيكي در فراخواني حافظه، محوطه اطراف EEPROM درون تراشه با پوشش فلزي پوشانده شده است. برداشتن اين پوشش منجر به خراب شدن تراشه خواهد شد. همچنين تراشه با يك لايه ديگر پوشانده شده تا نتوان با اشعة فرابنفش حافظه تراشه را پاك كرد.
كارتهاي هوشمند مدارهايي براي تشخيص تغييرات خارجي روي تراشه دارند. همچنين مدارهايي براي تشخيص ولتاژهاي خيلي بالا يا خيلي پايين يا فركانسهاي زماني خيلي بالا يا خيلي پايين يا حتي گاهي اوقات دماهاي بسيار پايين را دارند.
خصوصيات امنيتي سيستم عامل كارت: يكي از نقاط قوت كارتهاي هوشمند سيستم عامل آن ميباشد. همه دسترسيهاي به حافظه بايد از طريق CPU انجام شود. بنابراين طراحي سيستم عامل كارت براي پياده سازي امنيت در سطح منطقي و نحوة سازمان دهي فايلهاي اختصاصي (DF) بسيار مهم ميباشد. مثلا وقتي يك DF انتخاب شود سيستم عامل امكان دسترسي به دادهها درون ساير DFها نميدهد.
دسترسي به فايلهاي درون كارت هوشمند ميتواند با يك شماره شخصي شناسايي محافظت شود. اگر يك PIN نادرست وارد شد آن گاه بعد از چند بار تلاش كارت هوشمند غيرفعال ميشود. تعداد دفعاتي كه به كاربر اجازه وارد كردن PIN داده ميشود به صادر كنندة كارت بستگي دارد. بر اساس طراحي كارت هوشمند صادر كنندة كارت ميتواند كارتي كه غيرفعال شده را فعال كند. امكان استفاده از PINهاي متفاوت براي محافظت از دادهها در دايركتوريهاي مختلف وجود دارد.
خصوصيات امنيتي واسط كارت: در طراحي هر سيستمي بايد به مسئله دسترسي به داده در حين انتقال و محافظت از آنها توجه شود. يك حمله كننده ميتواند كارت هوشمند را درون يك كارت خوان برنامهريزي شده قرار دهد و جريان داده بين كارت هوشمند و كارت خوان را استراق سمع كند.
رمز كردن دادههاي حساسي كه از كارت هوشمند خارج ميشود ميتواند اين حمله را خنثي كند. به علاوه اين خصوصيات مشترك بين SIM كارت و كارت هوشمند SIM كارت خصوصيات زير را هم دارد:
* سيم كارت بخاطر كوچكي قابليت جابجا شدن و نصب سريع بين گوشيهاي مختلف را دارد.
* مشترك شبكه GSM از طريق يك PIN شناسايي ميشود.
* سيم كارت يك شمارنده دارد كه تعداد تلاشهاي مجاز براي وارد كردن PIN نادرست را مشخص ميكند و بعد از آن SIM كارت تنها با استفاده از شمارهPUK قابل باز شدن است.
* برنامههاي روي SIM كارت ميتوانند از طريق صفحه كليد يا دستگاههاي متصل شونده به آن و يا حتي از طريق سيستم واسط هوايي به روز شوند.
* سيم كارتي كه در اختيار اعضاي شبكه است متعلق به اپراتور محسوب ميشود. اين اپراتور را قادر ميكند تا برنامههاي مجاز براي SIM كارت را مديريت كرده و وضعيت كارت را كنترل كند.
* سيم كارت ميتواند IMSI را ذخيره كند.
همانطور که گفته شد، در GSM هر عضو به طور يكتا با يك شماره IMSI شناسايي ميشود. علاوه بر آن هر گوشي تلفن همراه هم يك شماره يكتاي IMEI دارد كه مانند آدرس MAC در کامپیوتر عمل ميكند و به همراه كليد احراز هویت كاربر، اطلاعات شناسايي بسيار مهمي هستند كه بايد در طي انتقال محافظت شوند. در شبکه از IMEI (شماره سريال گوشي) به منظور جلوگيري از نفوذ تجهيزات غيرمجاز به شبکه استفاده ميشود.
خصوصيات امنيتي GPRS
GPRS همان سرويسهاي امنيتي GSM را که شامل محرمانگی و احراز هويت و محرمانگي دادهها و سيگنالهاي کاربر بين MS و SGSN را، عرضه ميکند. علاوه بر اينها امنيت زيرساختGPRS هم در آن مورد توجه قرار گرفته است. شکل 4-4 سناريوي احراز هويت و استخراج کليد را نشان مي دهد.
در ابتدا MS يک در خواست احراز هويت براي شبکه ارسال ميکند که به وسيله SGSN دريافت شده و براي HLR و AuC ارسال ميشود. AuC سه مقدار را توليد کرده و بر ميگرداند. اين مقادير شامل يک عدد تصادفي (RAND) و پاسخ امضا شده (SRES ) و کليد رمزنگاري (GPRS-Kc ) ميباشد. دو مقدار اول به عنوان challenge و response براي شناسايي SIM Card به کار مي روند.
از طرف ديگر SGSN، RAND را براي MS ارسال کرده و SRES محاسبه شده بوسيله او را دريافت ميکند. اگر عمليات احراز هويت نشان دهد که کاربر اصلي است. ميتوان انتظار داشت که کليد رمزنگاري صحيح را هم داشته باشد و بنابراين از اينجا به بعد اطلاعات رمز ميشوند. (اين سناريو مانع از hijacking کانال هم ميشود).
در شبکه GPRS نيز براي احراز هويت و استخراج کليد از همان الگوريتمهاي A3/A8 استفاده ميشود ( انتخاب اين الگوريتمها بسته به نظر اپراتور دارد). ولي براي رمز کردن اطلاعات از الگوريتم جديد GEA استفاده ميکند که به جاي A5 در GSM استفاده شده و تا کنون سه نسخه GEA1،GEA2،GEA3 استاندارد شده است. البته تنها مشخصات GEA3 به طور عمومی منتشر شده است (3GPP TS 55.216) [Niemi04]. بنابراین الگوريتمهاي GEA نيز به طور محدود توزيع شده و مشکلات آن کاملا مشخص نميباشد.
خود GPRS امنيت end to end اي را پشتيباني نميکند ولي استانداردهاي مختلف سعي دارند روشهاي مختلفي براي رمزنگاری end to end را فراهم کنند ( مثل راه حلهاي WAP Forum ) و يا از پرتکلهاي امنيتي اينترنت که با IPSEC پوشش داده ميشوند هم ميتوان استفاده کرد. همچنين با استفاده از شبکه GPRS سازمانها ميتوانند از VPNها براي دسترسي به اطلاعات سازمان روي يک اتصال رمز شده استفاده کنند.
البته بعضي از اين تکنيکها اطلاعات را در مقابل اپراتور و کاربر محافطت نميکند. بنابراين احتمالاًت مختلف براي روش انتخابي را بايد به دقت بررسي کرد.
در نسل سوم شبکههاي موبايل سعي شده است با استفاده از تجربيات فراواني که از سيستمهاي قبل به دست آمده بود، سرويسهاي امنيتي بهتري عرضه شده، مشکلات موجود حل شود. بنابراين با وجود اينکه راهاندازي چنين سيستمهايي در کشور در آينده نزديک محتمل به نظر نمي رسد ولي بررسي اين سيستمها براي استفاده احتمالي از راهکارهاي ارائه شده در آن خالي از فايده به نظر نمي رسد.
هدف از GPRS اتصال دادهای ME، به سرویس دهندههای مختلف وب است. از آن جا که دادهها نسبت به صوت به پهنای باند بیشتری نیاز دارند، شبکه GSM با تخصیص timeslotهای چندتایی به ME در حال تلاش برای دستیابی به سرویس خدمات، به این مهم دست می یابد. این کار موجب تغییرات اساسی در معماری شبکه میشود. به یاد آورید که در تماسهای صوتی رمزنگاری و رمزگشایی در BTS در سمت شبکه اتفاق میافتد. این کار در الگوریتم A5، به سبب آن که BTS کلید
رمزنگار Kc را میشناسد و به طور قطع میتواند شماره سریال را به دست آورد، امکان پذیر است. برای اجرای الگوریتم A5 تنها به دو ورودی نیاز است. در معماری GPRS، از آن جا که ME، timeslotهای چندتایی برای مخابره و ارسال دارد، تخصیص timeslots چندتایی به کانالهای متعلق به BTSهای مختلف برای اتصال به شبکه امکانپذیر است. برای مثال ممکن است این کار در طی roaming روی دهد. بدان معنا که BTS نمیتواند به طور قطع شماره سریال یک بسته را استخراج کند. برای حل این مشکل، در GPRS مسؤولیت رمزنگاری و رمزگشایی در جانب شبکه از BTS به SGSN انتقال یافته است. SGSN هم ارز VLR و MSC است. بدان معنا که معماری GPRS به طور کارآمد، از استراق سمع در شبکه زیرساخت میان BTS و SGSN نیز ممانعت میکند.
مهمترین تغییر در امنیت GPRS نسبت به GSM اوليه، جایگزینی الگوریتم رمز A5 – که مربوط به لایه اول رادیويي است- با الگوریتم رمز GEA -که در لایه سوم شبکه رادیویی جای میگیرد- است. البته تغییر لایه نسبت به تغییر الگوریتم رمز مهمتر است.
کاستیهای طرح امنیتی GSM
احتمالا آشکارترین آسیبپذیری معماری امنیتی در GSM آن است که هیچ گونه اقدام امنیتی در زمینه محافظت از صحت دادهها یا پیامها در آن وجود ندارد. در این معماری، تعیین هویت و محرمانگی مورد بررسی قرار گرفته اما به محافظت از دادهها و پیامها از نظر صحت توجهی نشده است. عدم حضور سازوکارهای محافظت از صحت دادهها و پیامها بدین معناست که دریافت کننده نمیتواند دست بردن یا نبردن در پیام را تایید کند. این کار، راه تغییرات گوناگون با حملات دستکاری در میان راه در شبکه GSM را باز میکند.