بخشی از مقاله

بهبود امنيتي پروتکل IPSec در مقابله با وضعيت جعل کليد رمز
چکيده
پروتکل IPSec برخلاف قابليتها و انعطاف پذيري بالا و کاربرد گسترده داراي محدوديتهاي امنيتي است که در برخي موارد استفاده از آن را با چالش همراه کرده است . گستردگي زياد، پيچيدگي بالا و همپوشاني کارکرد بين برخي از بخشهاي آن مانند AH و ESP در احراز اصالت موجب شده تا از کارايي آن کاسته گردد. در IPSec از رمزنگاري متقارن در پروتکل ESP استفاده شده اما فرآيند احراز اصالت در هر دو پروتکل AH و ESP انجام مي گيرد. پروتکل IPSec بعلت اجراي پروسه احراز اصالت پس از رمزنگاري و ساختن کدهاي MAC از روي Ciphertext، در برابر حمله جعل کليد رمزگشايي آسيب پذير و قابل شکست است . در پژوهش انجام شده با ضعفهاي IPSec و شناسايي بخشهاي همپوشاني، طرح اصلاح شده اي از اين پروتکل ارائه شده که در آن با جابجايي روند پياده سازي احراز اصالت ، آسيب پذيري در برابر حمله جعل کليد رمز جبران شده و با استفاده از تکنيکهايي چون فشرده سازي بسته IPSec از افزايش زمان اجراي فرآيند جلوگيري شده است که نتايج بدست آمده نشاندهنده بهبود اين پروتکل در برابر اين حمله است .
کلمات کليدي
پروتکل IPSec، احراز اصالت ، رمزنگاري، AH،ESP ،


۱- مقدمه
پروتکل IPSec يک پروتکل امنيتي لايه شبکه بوده و کاربرد وسيعي در ايمن سازي ارتباطات مبتني بر IP مانند شبکه هاي خصوصي مجازي -VPN-، ارتباطات انتها-به -انتها و دسترسي راه دور دارد اين پروتکل سازگار با تمامي ترافيک اينترنت بوده و از آن بعنوان هسته مرکزي امنيت IP در IPv6 استفاده شده است [١]. پروتکل IPSec مجموعه اي از پروتکلها و بخش هاي گوناگون براي پياده سازي احراز اصالت ، رمزکردن ، مبادله کليدهاي مختلف ، مذاکره اوليه بر سر شرايط امنيتي است که با وجود توانايي هاي بالا، پيچيدگي زياد اين پروتکل تبديل به نقطه آسيب پذيري آن شده است . اگرچه استفاده از بسياري از بخشهاي آن بصورت اختياري و برحسب نياز طرفين مي باشد اما کوچکترين اشتباه در پياده سازي منجر به تهديدهاي زيادي خواهد شد [٢].
تاکنون ارزيابي ها و پيشنهادهاي زيادي براي بهبود اين پروتکل انجام شده مانند اصلاح ساختار مبادله کليد IKE [۳]، ايجاد يک خط مشي امنيتي بجاي IKE و SA، ايجاد يک مديريت اطمينان در برقراري ارتباط و يا بهينه سازي شروع نشست IPSec، که بيشتر آنها در زمينه بهينه سازي مديريت کليد و ساختار امنيتي در برقراري ارتباط IPSec مي باشند [٤,٥] اما اين پروتکل همچنان داراي نقاط ضعف امنيتي بوده و در برابر برخي حمله ها مانند جعل کليد رمز آسيب پذير است .
در اين مقاله ما نخست مروري بر ضعفهاي امنيتي IPSec داشته و سپس با ايجاد تغيير در چينش اجزاي اين پروتکل و فشرده سازي بسته ، آنرا اصلاح کرده و مقاومت آنرا در وضعيت جعل کليد رمز و احراز اصالت نشان خواهيم داد. براي اين منظور نخست در بخش ۲ مروري بر ساختار IPSec و پروتکلهاي زير مجموعه آن و مدهاي کاري آنها کرده و سپس در بخش ۳ ضمن ارزيابي اين پروتکل اصلاحات مورد نظر بر روي آن انجام مي شود و در بخش ۴ پروتکل اصلاح شده پياده سازي و نتايج آن در حالتهاي گوناگون حمله هاي جعل کليد رمز و کليد احراز اصالت ارزيابي خواهد شد.
۲- پروتکل IPSec
پروتکل IPSec مجموعه پروتکلي امنيتي براي ايجاد احراز اصالت ، درستي ١ و محرمانگي٢ داده ها در شبکه هاي مبتني بر IP است که توسط سازمان IETF استاندارد شده است . اين مجموعه شامل دو پروتکل ٣AH و ٤ESP است که همراه با پروتکل IKE، واحد SA و بخش هاي SAD و SPD ساختار امنيتي IP را تشکيل مي دهند [١]
که در شکل (۱) ساختار آن نشان داده شده است .

شکل (۱): ساختار IPSec
پروتکل IPSec در دو مد عملياتي تونل و انتقال قابل پياده سازي بوده در آغاز برقراري ارتباط کليه اطلاعات اوليه در قالب واحدهايي به نام SA بين طرفين مبادله شده و در بخش SAD ذخيره مي شود. اساس و پايه يک ارتباط IPSec،SA است و در واقع توافقنامه اي بين طرفين در مورد پارامترهاي امنيتي مورد نياز در برقراري ارتباط IPSec مانند نوع پروتکل (AH يا ESP)، الگوريتم ها و کليدهاي رمزنگاري، آشکارسازي، احراز اصالت و يا مد عملياتي (انتقال يا تونل ) است . در زمان برقراري ارتباط طرفين با استفاده از پيام هاي پروتکل IKE که در قالب بسته هاي UDP مبادله مي شوند در مورد پارامترهاي SA با يکديگر تبادل نظر مي کنند [١,٦].
فرايند ايجاد SA توسط IKE و در دو فاز اجرا مي شود. در فاز اول طرفين با استفاده از تبادل کليد ديفي- هلمن ، مبادله کوکي و توابع Hash اصالت يکديگر را احراز مي کنند و سپس در فاز دوم به مبادله پارامترهاي IPSec مي پردازند. اگر در ارتباطي از هر دو پروتکل AH و ESP استفاده شود به دو مجموعه SA براي هر کدام نياز است
[٢]. پس از اتمام مذاکرات IKE، هر کدام از طرفين پارامترهاي SA را در محل هايي به نام ٧SAD ذخيره مي کنند. با اتمام زمان حيات SA با SA جديدي جايگزين شده يا اينکه استفاده از آن متوقف مي شود. بخش ٨SPD در ارتباط IPSec نيازمنديهاي امنيتي پاکت هاي IP را مشخص مي کند و در طول پردازش ترافيک به عنوان يک مرجع مورد استفاده قرار مي گيرد. اين واحد نقش مهمي در کنترل جريان ترافيک دارد و بعبارتي مي توان گفت که SPD يک کنترل کننده فيلتر پاکت است [٦,٧].
۲-۱- پروتکل احراز اصالت سرآيند- AH
در پروتکل IPSec از AH براي ارايه سرويس هاي تصديق اطلاعات حقيقي، سالم نگهداري بدون اتصال ٩ اطلاعات و سرويس ضدتکرار١٠ استفاده مي شود [٨]. پروتکل AH قادر به رمز کردن پاکت ها نيست لذا هيچگونه سرويس مخفي سازي ١١ اطلاعاتي ارائه نمي کند اما با استفاده از کدهاي MAC يک سيستم تصديق رمزي قوي براي احراز اصالت و تشخيص پاکت هايي که بطور غير مشروع بازگشايي شده اند ايجاد مي کند. با استفاده از الگوريتم MAC مي توان پيام هاي با طول مختلف را با استفاده از يک کليد رمز به فرم و طول يکساني تبديل کرد. برخلاف توابع Hash که براي توليد Message digest نيازي به کليد نيست ، تابع MAC به کليد احتياج دارد [٩].
در پروتکل AH براي احراز اصالت از الگوريتم هاي MD٥ يا ١-SHA استفاده مي شود که به توافق طرفين در بخش SA در زمان برقراري ارتباط بستگي دارد [٨]. اين پروتکل در دو مد انتقال و تونل قابل پياده سازي است که در شکل (۲) نشان داده شده اند.

برخلاف مد انتقال ، در مد تونل پاکت IP در داخل پاکت جديدي کپسول شده و در هر دو مد، پروتکل AH کل پاکت (شامل هدر IP) را احراز اصالت مي کند. اين خاصيت موجب افزايش قدرت احراز اصالت شده بطوريکه کوچکترين تغيير و دستکاري در بسته IP موجب برهم خوردن نتيجه احراز اصالت در گيرنده و تشخيص دستکاري پاکت مي شود. اما از سوي ديگر موجب بروز مشکلاتي در اجراي احراز اصالت هنگاميکه پاکت ها از درگاههاي NAT (که منجر به تغيير آدرس هاي IP مي شود) عبور مي کنند، خواهد شد. به اين صورت که فرستنده با استفاده از پروسه ICV، MAC مربوط به هر بسته را بدست آورده و آنرا در بخش مربوطه در هدر AH ثبت کرده و بسته را ارسال مي کند. مقدار ICV از روي کل پاکت شامل هدر IP و آدرس ها بدست مي آيد. با گذر پاکت از NAT يا دروازه امنيتي و تغيير آدرس هاي IP، در گيرنده مقدار ICV بدست آمده با مقدار ارسالي مغايرت داشته و لذا پاکت حقيقي تصديق نشده و دور انداخته مي شود. اين موضوع در هر دو مد انتقال و تونل قابل مشاهده بوده و يکي از مشکلات مرتبط با استفاده از IPSec در يک شبکه عمومي است .
براي رفع ناسازگاري اشاره شده پروتکل NAT-T معرفي شده است . با استفاده از اين پروتکل بسته IPSec در داخل يک بسته UDP کپسول شده و ارسال مي گردد. درگاههاي NAT و دروازه هاي امنيتي آدرس IP و مقدار Checksum هدر پاکت UDP را تغيير مي دهند و بسته IPSec بدون تغيير ارسال خواهد شد. با استفاده از NAT-T ناسازگاري IPSec با NAT ها برطرف مي گردد اما خود مشکلاتي چون افزايش طول پاکت و افزايش بار پردازش سيستم را به همراه خواهد داشت که بايد به آن توجه داشت [١٠].
۲-۲- پروتکل کپسول سازي ايمن بار-ESP
از پروتکل ESP براي ارايه سرويس هاي تصديق اطلاعات حقيقي، سالم نگهداري بدون اتصال اطلاعات ، ضدجايگزيني و سرويسهاي محرمانه نگهداري اطلاعات و محرمانه نگهداري جريان ترافيک محدود١٦ استفاده مي شود [١١]. از بين اين سرويس ها سه سرويس اول مشابه با AH و دو سرويس آخر مختص ESP است .
در اين پروتکل از الگوريتم هاي رمز کليد متقارن براي محرمانه نگهداشتن اطلاعات استفاده شده و محرمانه نگهداري جريان ترافيک با رمز کردن آدرس هاي مبدا و مقصد در سرآيند IP در مد تونل بدست مي آيد.
همانند AH پروتکل ESP نيز در دو مد عملياتي انتقال و تونل قابل پياده سازي است که در شکل ۳ نشان داده شده است .


برخلاف AH، در ESP کل بسته IP احراز اصالت نمي شود بلکه بخش هاي ESP Auth Data و سرآيند IP در مد انتقال و سرآيندIP جديد در مد تونل احراز اصالت نميگردد. بنابراين قدرت احراز اصالت در AH بيشتر از ESP است . در اين پروتکل براي رمز کردن اطلاعات از الگوريتم هاي رمز AES (بجاي DES و يا DES٣ در نگارشهاي اوليه ) استفاده مي شود [٧].
۳- ارزيابي پروتکل IPSec
در يک سيستم امنيتي افزايش پيچيدگي با بالا رفتن آسيب پذيري آن ارتباط مستقيم دارد و يکي از نقاط آسيب پذيري IPSec گستردگي و پيچيدگي آن است . طراحان اين پروتکل با توسل به پارامترهاي مختلف سعي داشته اند تا با يک پروتکل هدفهاي امنيتي زيادي را تحت پوشش قرار دهند که اين امر موجب گستردگي پروتکل و پيچيده شدن آن و افزايش خطاي پياده سازي گرديده است [٧]. مهمترين دشمن يک سيستم امنيتي پيچيدگي است . در ادامه پيشنهاداتي براي اصلاح پروتکل IPSec ارائه شده و مورد بررسي قرار خواهد گرفت .
در پروتکل IPSec،AH وظيفه احراز اصالت و ESP وظيفه رمز کردن و احراز اصالت (بطور اختياري) بسته ها را بر عهده دارند که اين عمل موجب همپوشاني دو پروتکل در بخش احراز اصالت شده است [٢]. اگرچه قدرت احراز اصالت AH بيشتر از ESP است اما در مد تونل اين اختلاف چندان زياد نبوده و بنابراين پيشنهاد مي شود که : مرحله ۱: استفاده از AH را کنار گذاشته و در عوض احراز اصالت در ESP اجباري شده و رمز کردن پاکت اختياري مي شود.
در مد کاري انتقال تنها از اطلاعات لايه هاي بالايي حفاظت مي شود اما در مد تونل کل پاکت کپسول شده و از آن محافظت مي گردد. از اين رو مد انتقال بيشتر توسط Host ها و مد تونل بيشتر توسط Gateway ها مورد استفاده قرار مي گيرد [١]. با توجه به کپسول شدن کل پاکت در مد تونل اين مد نسبت به مد انتقال حفاظت بهتر و کاملتري براي پاکت ايجاد مي کند. در مقابل تنها مزيت مد انتقال نسبت به تونل استفاده از پهناي باند کمتري براي پاکت است که مي توان آنرا با فشرده سازي سرآيند پاکت در مد تونل که در ادامه تشريح خواهد شد حل نمود. بنابراين :
مرحله ۲: استفاده از مد انتقال را کنار گذارده و تنها از مد تونل استفاده گردد.
مرحله ۳: اين مرحله به بخش هاي زير تقسيم مي شود:
۱. تخصيص بيتهايي در سرآيند ESP بعنوان بيتهاي Flag و مشخص کردن بخش هاي ويژه اي در سرآيند IP جهت کنترل آنها با اين بيتها.
۲. مقايسه بخش هاي مشخص شده در سرآيند IP داخلي و بخش هاي متناظر آنها در سرآيند خارجي با يکديگر. در صورت يکسان بودن اين بخش ها با يکديگر Flag مربوطه در سرآيند ESP را On مي کنيم .
۳. در زمان ارسال کل پاکت IP را احراز اصالت مي کنيم (به همراه سرآيند IP و بيتهاي Flag در سرآيند ESP).
۴. حذف بخش هاي تکراري از سرآيند IP داخلي با توجه به بيتهاي Flag مربوطه شان در سرآيند ESP.
۵. رمز کردن پاکت بدست آمده .
تذکر: حذف بخش هاي تکراري از سرآيند IP مي بايد حتما پس از احراز اصالت و قبل از رمز کردن پاکت انجام شود. در طرف

در متن اصلی مقاله به هم ریختگی وجود ندارد. برای مطالعه بیشتر مقاله آن را خریداری کنید