ساختار ارتباطی شبکه های بی سیم ، بستری مناسب برای هک و دسترسی های بدون مجوز ایجاد نموده است . بنابرین IEEE 802.11 ، راه حلهایی ارائه نمود تا امنیت ارتباطات بی سیم را افزایش دهد . این راهکار امنیتی ، ارائه پروکل WEP یا Wired Equivalency Privacy بود . در ابتدا تصور بر این بود که این پروتکل ، مشکلات امنیتی شبکه های بی سیم را به طور کامل حل می نماید ، اما با گسترش شبکه های بی سیم و تمرکز محققین بر روی این تکنولوژی ، آسیب پذیری این پروتکل نیز کشف گردید.
WEP از الگوریتم RC4 برای رمز کردن بسته های ارسالی از Access Point یا
کارت شبکه بی سیم ، استفاده می نماید. الگوریتم RC4 در SSL هم به کار می
رود . بنابرین WEP با رمزنگاری ارتباط مستقیم دارد.
کار را با Data شروع می کنیم . Data مورد نظر ما یک پیغام می باشد که از طریق یک برنامه IM مثل Yahoo! Messenger ، قصد ارسال آن را بوسیله شبکه بی سیم داریم . پیغام ما طولانی می باشد ، پس ابتدا به قطعات کوچکتر تقسیم می شود تا مدیریت آن راحت تر باشد . هر قطعه ( chunk) توسط الگوریتم CRC-32 پردازش شده تا یک مقدار به نام CS یا Checksum بدست بیاید . این مقدار برای محاسبه صحت پیغام به کار برده می شود و هر CS به انتهای Data مورد نظر اضافه می شود .
بعد از کامل شدن این مرحله ، نوبت به اعمال RC4 به کل Data و CS می باشد .
در این مرحله ، RC4 برای اجرا احتیاج به یک کلید دارد . قطعاً این کلید
باید ، هم در پروسه رمزنگاری و هم در پروسه رمزگشایی مورد استفاده قرار
بگیرد . حالا سوال اینجاست که این کلید چگونه باید ساخته شود و چگونه باید
محرمیت آن در طول برقراری ارتباط حفظ شود ؟
برای ساخت کلید مورد نظر ، از دو فاکتور استفاده می شود . فاکتور اول یک
کلمه عبور است که بین گیرنده و فرستنده ، مشترک می باشد . یعنی دو طرف
ارتباط باید این کلمه عبور را بدانند . بنابرین احتیاج به ارسال کلمه عبور
به همراه packet نمی باشد. فاکتور دوم یک متغیر24 بیتی می باشد که به نام
IV یا Initiation vector معروف می باشد . مقدار IV اتفاقی می باشد و در
هر ارسال تغییر می کند . بنابرین در هر Block یک کلید جدید ساخته می شود
.مقدار IV در هر Packet برای انجام عمل رمزگشایی ارسال می گردد .
بعد از آماده شدن دو فاکتور مورد نظر برای ساختن کلید ، اولین مرحله از
اجرای الگوریتم RC4 فراخوانی می شود . در این بخش با استفاده از دو فاکتور
ذکر شده ، طی پروسه ای به نام KSA یا Key Scheduling Algoritm یک Seed
ساخته می شود.
سپس خروجی KSA ، وارد پروسه ی دیگری بنام PRGA یا Pseudo Random
Generation Algoritm می گردد . ( در بعضی از منابع ، این پروسه تحت عنوان
PRNG یا Pseudo Random Number Generator هم نامیده شده است ) هدف از اجرای
این پروسه ایجاد یک Key Stream به اندازه ی طول Data + CS هست . بعد از
ایجاد Key Stream ، کلید فوق و Data+CS که به صورت plaintext می باشد ، با
هم XOR می شوند و محصول نهایی پیغام رمزشده می باشد . سپس قبل از ارسال ،
مقدار IV به صورت plaintext به پیغام رمز شده اضافه شده و هدر های لازم
تشکیل شده و packet ارسال می گردد .
در سمت گیرنده نیز ، هنگام دریافت packet ، ابتدا IV از آن استخراج شده و
به همراه کلمه عبور ، از پروسه KSA و PRGA عبور کرده و Key Stream ساخته
شده و توسط آن ، پیغام رمز گشایی شده ، سپس CRC-32 بر روی آن اجرا شده و
در صورت برابر بودن CS ها ، پیغام صحیح تشخیص داده شده و به برنامه
کاربردی واگذار می شود .
تنظیم WEP بر روی شبکه بی سیم کار چندان سختی نیست. ابتدا بر روی Access
Point مقدار طول کلید را انتخاب نمایید (مثلاً 64 بیت ) و سپس کلمه عبور
مورد نظرکه تحت نام passphrase مشخص می باشد را انتخاب نموده و دکمه done
را کلیک نمایید .