سلام به همه دانش پژهان عزیز. توی این تایپیک انشالله میخوایم، از پروتکل WEP بنویسیم. سعی میکنیم که یه چیز کامل باشه، قبلش یه مقدمه نیاز داره که بخونید(زیاد جالب نیست، ولی سرسریم که شده بخونید) ولی چن خط آخر رو اکیدا توصیه میکنم که بخونید.
مقدمه
شبکه های وایرلس به خاطری مزایایی که دارند، روز به روز در حال رشد میباشند، در زیر چند مزیت مهم و همچنین عیب مهم شبکه های وایرلس اشاره شده است:
مزایا:
ü دسترسی آسان جهت ارتباط بدون نیاز به کابل کشی؛
ü قابلیت جابجایی[1] در هنگام حرکت؛
ü سرعت برقراری شبکه ارتباطی(ارتباطات موقت، نظامی و ...) و
ü ... .
معایب:
× امنیت پایین ارتباطات در برابر شنود و استراق سمع
× تداخل و محدودیت در پهنای باند
× آسیب پذیری در برابر شرایط جوی و
× ... .
در دو جدول زیر میتوانید فرق مدل های شبکه ای OSI و TCP/IP را مشاهده کنید، البته قصد ما در اینجا توضیح این دو مدل نیست، بلکه قصد نشان دادن محدوده ای داریم که میخواهیم در طول این پروژه روی آن کار کنیم. میتوان گفت در مدل TCP/IP، با لایه آخر یا Network Access Layer(که شامل دو لایه پیونده داده و لایه فیزیکی میباشد) سرو کار داریم، یا به عبارتی با ارسال اطلاعات در لایه پایین تر از لایه اینترنت، سر و کار داریم.
پایینتر از دو جدول زیر هم میتونید ببیند، که مقابل هم گذاشته شده، و دید بهتری داره(اینجا نتونستم اونجوری درستش کنم).
مدل OSI
|
Application Layer |
|
Presentation Layer |
|
Session Layer |
|
Transparent Layer |
|
Network Layer |
|
Data Link Layer |
|
|
مدل TCP/IP
|
Application Layer |
|
Transparent Layer |
|
Internet Layer |
|
Network Layer |
|
Application Layer
|
|
Application Layer
|
|
|
Presentation Layer
|
|
|
Session Layer
|
|
Transport Layer
|
|
Transport Layer
|
|
Internet Layer
|
|
Network Layer
|
|
Network Access Layer
|
|
Data Link Layer
|
|
|
Physical Layer
|
|
|
|
|
|
TCP/IP
|
|
OSI
|
در ادامه به صورت خلاصه به بیان وظایف دو لایه اول در مدل OSI میپردازیم که در طول این پروژه با بعضی از این وظایف سروکار خواهیم داشت:
لایه کاربردی: در این لایه، برنامه کاربردی، داده هایی را که میخواهد درون شبکه بفرستد، ایجاد میکند. مثلا در برنامه کاربردی یاهو مسنجر، وقتی کاربر جمله ای را تایپ کرد و دکمه اینتر را زد، داده مورد نظر، جمله تایپ شده توسط کاربر میباشد، که قرار است به گیرنده خاصی برسد؛
لایه انتقال: در یک End Edge ممکن است چندین برنامه کاربردی باشند که میخواهند داده ای را به درون شبکه بفرستند، مانند، یاهو مسنجر، گوگل کروم، اپرا و ... . وظیفه این لایه، تفکیک این برنامه ها میباشد که کدام برنامه داده ای برای ارسال تولید کرده است، یا اگر داده ای از لایه های پاینتر رسید، باید به کدام برنامه تحویل داده شود. واحد انتقال داده این لایه، پیام[2] میباشد.
لایه شبکه: وظیقه این لایه، هدایت بسته در جهت رساندن به مقصد میباشد. مثلا وقتی که یک نامه پستی قرار است از گیرنده به فرستنده ارسال شود و تحویل مامور پست داده شود، مامور پست تصمیم میگیرد که نامه به مشهد فرستاده شود نه با تبریز. همچنین واحد انتقال داده در این لایه، بسته[3] میباشد.
لایه پیوند داده: بسته هایی را که از لایه شبکه می آیند، یک head و یک Tail به آن اضافه میکند و یک فریم[4] میسازد. دید یک دستگاه در این لایه، فقط دستگاه مجاورش میباشد که میخواهد فریمی را به آن بفرستد. یکی از وظایف این لایه کنترل جریان داده با دستگاه مقصد میباشد. اگر بخواهیم ساده تر بگوییم، باید بگوییم که وظیفه این دستگاه، فرستادن یک فریم به طور صحیح و مجزا از دیگر فریم ها، به دستگاه مجاور میباشد.
لایه فیزیکی: این لایه دنباله ای از بیت ها را که از لایه پیونده داده میرسند، به طرق مختلف[5] به دستگاه مقصد میفرستد و واحد انتقال داده در این لایه بیت میباشد. عکس زیر، وظیفه این لایه را گویاتر نشان میدهد:
عکس رو بعدا باید یه جا آپلود کنم، که انشالله این کارو میکنم.
میخواهیم از طریق وایرلس، اطلاعاتی که توسط Internet Layer آماده شده است را به یک دستگاه مجاور برسانیم. چون که برای این کار پکت ها باید از هوا عبور کنند و هر کسی میتواند آنها رو شنود کند، باید دست به دامان روشی شویم که اگر یک فرد بد خواه اطلاعات ما را دریافت کرد، نتواند چیزی از آن بفهمد. اینجاست که بحث رمزنگاری به میان خواهد آمد. در ابتدا نگاه خود را بر روی پروتکل [6]WEP معطوف میکنیم و سپس به بیان روش های جایگزین میپردازیم.
نکته ای که لازم است گفته شود این است که روش هایی که بیان میکنیم، ضامن امنیت اطلاعات در طول کل رابطه نیستند، یعنی فقط در لایه یک و دو(آن هم فقط در محدوده ی پوشش وایرلس خود) سعی در تامین امنیت اطلاعات میکنیم، شاید در جاهای دیگر این امنیت ایجاد نشود. به عکس زیر توجه کنید.
در انتهای این فصل، سه قابلیت و سرویس پایه که توسط IEEE برای شبکه های بیسیم تعریف شده است، بیان میکنیم:
سرویس های پایه IEEE برای شبکه های وایرلس
تصدیق یا هویت سنجی یا اهراز هویت[7]
منظور از هویت سنجی یعنی تنها افرادی که مجاز میباشند، بتوانند به تبادل اطلاعات بپردازند، و در یک شبکه WEP یعنی اینکه تنها کسانی بتوانند با یک access point به تبادل اطلاعات بپردازند که access point آنها را تایید کرده باشد، مثلا فقط کسانی که MAC Address آنها مقدار مشخصی باشد.
در یک تقسیم بندی کلی، دو گونه خدمت هویت سنجی در پروتکل 802.11 تعریف شده که در یک نگاه به صورت شکل زیر میباشد:
ü هویت سنجی بدون رمزنگاری[8]
این روش هویت سنجی، مبتنی بر رمزنگاری نمیباشد و دارای دو روش برای شناسایی هویت فرد مورد نظر ارائه میدهد:
1. هویت سنجی سیستم باز[9]
در این روش یک SSID[10] خالی نیز برای دریافت اجازه اتصال به شبکه کافی میباشد. در واقع در این روش تمام آداپتورهایی که تقاضای اتصال به شبکه را دارند، با جواب مثبت روبرو میشوند. به همین دلیل به این روش Null Authentication نیز اطلاق میشود.
2. هویت سنجی سیستم بسته[11]
در این روش، فرد باید یک SSID را برای AP ارسال کند. اینجا AP فقط به افرادی اجازه اتصال به شبکه را میدهد که خودش بخواهد، مثلا تنها افرادی که MAC آدرسشان یک مقدار مشخص باشد.
ü هویت سنجی رمز نگاری[12] یا کلید به اشتراک گذاشته شده[13]
در روش Shared Key، آداپتور و access point اطلاعات را از طریق رمزنگاری بر مبنای یک کلید (که عملکردی مانند کلمه عبور دارد)، رد و بدل می کنند. در صورتی که آداپتور، کلید موجود در Access Point را داشته باشد عملیات موفقیت آمیز تلقی می شود، وگرنه اتصال به شبکه به وسیله AP انجام نمیشود. پروتکل WEP از این روش استفاده میکند، یعنی access point یک کلید تعریف میکند، سپس به هر کسی که بخواهد این کلید را میدهد، تا آداپتور بتواند اطلاعات خود را با این کلید رمزنگاری کند، و آنها را به access point ارسال کند، در ادامه بیشتر با این روش آشنا میشویم.
محرمانگی[14]
یکی دیگر از قابلیت هایی که توسط IEEE برای شبکه های بیسیم تعیرف شده است ،محرمانگی میباشد. این سرویس بدین معنا میباشد، اطلاعاتی که یک آداپتور با access point در حال رد و بدل کردن میباشد، توسط فردی دیگر، به سرقت نرود، و در صورتی که بسته ها را بدست آورد، نتواند از آنها چیزی بفهمد. مثلا اگر یکی از کاربران شبکه، یک بسته با محتوای « » را تولید کرد و بسته در وسط راه توسط هر فردی شنود شد، فرد موردنظر نتواند بفهمد که چه محتوایی درون بسته قرار دارد.
صحت و امانت[15] اطلاعات
مقصود از Integrity صحت اطلاعات میباشد، یعنی اگر کاربری یک بسته را تولید کرد، بسته همانطور که تولید شده است به دست گیرنده (access point) برسد. مثلا در مثال قبل اگر کاربری بسته ای با محتوای « » تولید کرد، گیرنده نیز « » را دریافت کند و مطمئن باشد، بسته ای که دریافت کرده است، همان بسته ای است که فرستنده آن را فرستاده است.
[4] - واحد انتقال داده در این لایه
[5] - این روش ها بیشتر در درس انتقال داده ها بحث میشوند.
[6] - Wired Equivalent Privacy
[9]- Open System Authentication
[10] - Service Set Identifier
[11]- Closed System Authentication
[13] - Shared Key Authentication