پروتکل اینترنت نسخه ۶

امنیت در IPv6

امنیت یکی از مشخصات داخلی پروتکل IPv6 است که دارای هر دو مشخصه تصدیق هویت(Authentication) و رمزنگاری(Encryption) در لایه IP پروتکل جدید است. IETF سازمانی است که به گروه کاری امنیت در IP معروف است. این سازمان وظیفه دارد که مکانیزم‌های امنیتی مورد نیاز در لایه‌های مختلف IP را هم در IPv6 و هم در IPv4 جهت گسترش و بهبود استانداردهای مورد نیاز بر عهده گیرد. همچنین این گروه وظیفه دارد پروتکل‌های مدیریتی کلید عمومی(Key Management Protocols) را جهت استفاده بیشتر در شبکه جهانی اینترنت توسعه و گسترش دهد. تصدیق(Authentication) این قابلیت را به گیرنده بسته می‌دهد که مطمئن شود آدرس مبدأ معتبر بوده و بسته در طول زمان انتقال دچار تغییر و دستکاری نخواهد شد. رمز نگاری(Encryption) اطمینان می‌بخشد که تنها گیرنده اصلی بسته می‌تواند به محتویات آن دست یابد. به عبارت دیگر رمز نگاری باعث می‌شود که تنها گیرنده‌ای که بسته به نام او ارسال شده‌است، می‌تواند به محتویات آن دسترسی داشته باشد. برای بررسی و تحلیل این مزایا یک سیستم کلیدی بکار گرفته می‌شود که به موجب آن فرستنده‌ها و گیرنده‌ها بر روی یک مقدار کلیدی که مورد استفاده قرار می‌گیرد با هم به توافق می‌رسند. سیستم مدیریت کلید عمومی که توسط طراحان IPv6 پذیرفته شده‌است، مکانیزم ISAKMP می‌باشد، که با ایجاد و تولید کلید رمز سر و کار دارد و روش‌های اجرای عمومی پروتکل مدیریت کلید را تأمین می‌کند. پیغام‌های ISAKMP با استفاده از پروتکل UDP رد و بدل می‌شوند و از شماره پورت ۵۰۰ استفاده می‌کند. [۴]
IPv6 لزوم IPSEC را اجباری می‌کند و در نتیجه یک قالب امنیتی یکپارچه برای ارتباطات اینترنتی ایجاد می‌کند. IPSEC برای پیاده‌سازی رمزنگاری و نیز تصدیق استفاده می‌شود. در بسیاری از پیاده‌سازی‌های IPv4 امکان فعال‌سازی IPSEC نمی‌باشد و در نتیجه سطح امنیت کاهش می‌یابد.

پروتکل امنیت در لایه شبکه IPSec

همانگونه که ذکر شد، بحث امنیت داده‌ها و اطلاعات در IPv6 از اهمیت بالایی برخوردار است. با گسترش حملات کامپیوتری، اصالت، جامعیت، هویت‌شناسی و محرمانگی اطلاعات خصوصاً اطلاعات حیاتی افراد و سازمان‌ها در معرض خطر قرار خواهد گرفت. از این رو استفاده از پروتکل IPSec، باعث ایمن‌سازی فضای اطلاعات خواهد شد. پروتکل IPSec یکی از استانداردهای VPN است که با استفاده از مکانیزم‌های هویت‌شناسی و رمزنگاری مانع از گوش دادن به داده‌ها یا دستکاری و خراب کاری آن‌ها می‌شود. قابل توجه‌ترین موارد استفاده از آن به صورت شبکه به شبکه و نیز دسترسی از راه دور(کامپیوتر به شبکه) می‌باشند. در واقع امنیت شبکه‌های خصوصی مجازی VPN از چندین روش امکانپذیر می‌باشد که عبارتند از دیوار آتش، IPSec , AAA Server و کپسوله سازی. اما روش IPSec به علت امن بودن، پایداری بالا، ارزان بودن، انعطاف‌پذیر بودن و مدیریت بالا مورد توجه قرار گرفته‌است. مطابق با تعریف IETF پروتکل IPSec به این شکل تعریف می‌شود:
”یک پروتکل امنیتی در لایه شبکه که خدمات رمزنگاری را تأمین می‌کند. خدماتی که به صورت منعطف به پشتیبانی ترکیبی از تأیید هویت، جامعیت، کنترل دسترسی و محرمانگی می‌پردازد”.
پروتکلIPSec از IKE به عنوان مدیریت کلید استفاده می‌کند. این پروتکل مخصوصاً برای بسته‌های پروتکل IP طراحی شده و بر خلاف PPTP امنیت را برای سایر پروتکل‌ها فراهم نمی‌آورد. به‌علاوه شامل دو مد رمزنگاری است که transport و tunnel نام دارند و هر یک سطحی از امنیت را فراهم می‌آورند.
امروزه این پروتکل یکی از مورد توجه‌ترین پروتکل‌های امنیتی محسوب می‌شود و از جمله اینکه هر دو شرکت بزرگ Cisco و Microsoft در محصولات خود پشتیبانی از IPSec را گنجانده‌اند…

پروتکل IPSec از دیدگاه شبکهIPSec

این پروتکل در لایه ۳ عمل می‌کند و شامل پروتکل‌های AH و ESP می‌باشد. IPSec از AH به منظور هویت‌شناسی و جامعیت مبدأ بدون استفاده از رمزنگاری بهره می‌گیرد، درحالیکه ESP هویت‌شناسی و جامعیت مبدأ را به کمک رمزنگاری فراهم می‌آورد. پروتکل IPSec دارای دو مد عملیاتی انتقال و تونل است.
در مد انتقال مکانیزم رمز نگاری روی قسمت داده‌ای بسته IP اعمال می‌شود و سرآیند بسته IP تغییر نخواهد کرد؛ بنابراین مبدأ و مقصد نهایی بسته ممکن است توسط افراد غیرمجاز مشاهده شود، اما چون در این مد سرآیند لایه ۴ رمزنگاری شده‌است، اطلاع دقیق از نوع و کیفیت بسته ارسالی برای کابران غیرمجاز امکانپذیر نخواهد بود. معمولاً از این مد زمانی استفاده می‌شود که هم مبدأ و هم مقصد پروتکل IPSec را پشتیبانی نماید. در مد تونل، تمامی بسته IP رمزنگاری می‌شود و سپس یک سرآیند جدید به بسته رمزنگاری شده الحاق می‌گردد. از این مد زمانی استفاده می‌شود که یک یا هر دو طرف اتصال IPSec دروازه‌های امنیتی باشند که از این پروتکل حمایت می‌کنند، در حالی که مبدأ و مقصد اصلی که در پشت این دروازه‌ها قرار دارند پروتکل IPSec را پشتیبانی نمی‌کنند. در این حالت مبدأ و مقصد اصلی بسته‌ها از دید کاربران غیرمجاز پنهان خواهد ماند.

پروتکلهای IPSec

خانواده پروتکل IPSec شامل دو پروتکل است. یعنی سرآیند احراز هویت یا AH (Authentication Header) وESP هر دوی این پروتکل‌ها از IPSec مستقل خواهد بود.
این پروتکل از متد ESP جهت کپسوله استفاده می‌کند.

پروتکل IKE

IKE پروتکلی است که چندین مسئله مهم در ارتباط امن را تنظیم می‌کند. احراز هویت نقاط نظیر و کلید تبادلی متقارن. این پروتکل مجمع امنیت (SA) را ایجاد کرده و درSAD یا پایگاه مجمع امنیت (Security Association data base) قرار می‌دهد. IKE پروتکلی است که عموماً نیازمند فضای کاربر فوق‌العاده‌ای است و روی سیستم‌های عامل پیاده‌سازی نمی‌شود. پروتکل IKE، از پورت شماره UDP/500 استفاده می‌کنند.
IKE از دو مرحله تشکیل شده‌است. اولین مرحله همان تشکیل مجمع امنیت مدیریت کلید (Internet Security Association and key) یا (ISAKMP SA) می‌باشد. در مرحله دوم ISAKMPSA، برای مذاکره و تنظیم IPSec , SA بکار می‌رود. احراز هویت مرحله اول نقاط نظیر معمولاً بر مبنای کلیدهای پیش اشتراک شده (Per shared Keys)، کلیدهای RSA و گواهینامه X509 به وجود می‌آید.
مرحله اول از دوحالت پشتیبانی می‌نماید. حالت اصلی (main mode) و حالت تهاجمی (aggressive mode) این دو حالت نقاط نظیر را احراز هویت کرده و ISAKMP SA را تنظیم می‌نمایند. در حالت تهاجمی تنها نصف تعداد پیام‌ها در این مورد تحت پوشش قرار می‌گیرد. به هر حال این خود یک اشکال محسوب می‌شود، زیرا این حالت نمی‌تواند از هویت نقاط نظیر پشتیبانی حفاظت نماید و از این جهت است که این حالت با داشتن کلید پیش اشتراکی (PSK) مستعد حملات میان راهی (man-in-the-middle) خواهد بود. از طرف دیگر تنها منظور از حالت تهاجمی همین است.
در حالت اصلی نه تنها از کلید پیش شرط مختلف نمی‌تواند پشتیبانی نماید بلکه نقاط نظیر به نظیر را نیز نمی‌شناسد. در حالت تهاجمی که از حفاظت هویت افراد / نقاط حمایت نمی‌کند و هویت کاربران انتهایی را چنین شفاف انتقال می‌دهد؛ بنابراین نقاط نظیر هر چیز را خواهد دانست پیش از آنکه احراز هویتی در مورد جا و کلیدهای پیش شرط بتواند بکار برد.
در مرحله دوم پروتکل IKE که SAهای پیشنهادی تبادل می‌شوند و توافقاتی بر پایه ISAKMP SA برای SA انجام خواهد شد. ISAKMP SA احراز هویت برای حفاظت از تهاجمات میان راهی را تهیه می‌بیند. دومین مرحله از حالت سریع استفاده می‌کند.
معمولاً دو نقطه نظیر روی SAKMP SA با هم مذاکره و توافق می‌کنند که هر دو طرف معمولاً روی چندین مذاکره (حداقل ۲ تا) به‌طور غیرمستقیم توافق کنند.

مفاهیم اساسی

با استفاده از پروتکل IPsec شما می‌توانید پنهان کردن داده‌ها، صحت داده‌ها، اعتبار یا سندیت و Anti Reply Protection را برای ترافیک شبکه به صورت زیر ایجاد کنید:
-ایجاد امنیت انتها به انتها از کاربر به کارگزار، از کارگزار به کارگزار و از کاربر به کاربر در مد انتقال IPSec
-ایجاد دسترسی راه دور امن از کاربر به دروازه بر روی اینترنت با استفاده از پروتکل تونل‌سازی لایه ۲ (L2TP) امن شده به وسیلهٔ IPSec.
-IPSec یک اتصال دروازه به دروازه امن را روی WAN اختصاصی یا یک اتصال تحت اینترنت با استفاده از تونل L2TP/IPSec یا مد تونل IPSec فراهم می‌کند. (مد تونل IPSec برای کار با VPN دسترسی راه دور طراحی نشده‌است)
سیستم‌عامل WIN2000 پیکربندی و مدیریت امنیت شبکه را به وسیلهٔ IP Security آسان کرده‌است.

SSL چیست؟

(SSL یا Secure Socket Layer) راه‌حلی جهت برقراری ارتباطات ایمن میان یک سرویس‌دهنده و یک سرویس‌گیرنده‌است که توسط شرکت Netscape ارائه شده‌است. در واقع SSL پروتکلی است که پایین‌تر از لایه کاربرد (لایه ۴ از مدل TCP/IP) و بالاتر از لایه انتقال (لایه سوم از مدل TCP/IP) قرار می‌گیرد. مزیت استفاده از این پروتکل بهره‌گیری از موارد امنیتی تعبیه شده آن برای امن کردن پروتکل‌های غیرامن لایه کاربردی نظیرHTTP ،LDAP ،IMAP و… می‌باشد که براساس آن الگوریتم‌های رمزنگاری بر روی داده‌های خام (plain text) که قرار است از یک کانال ارتباطی غیرامن مثل اینترنت عبور کنند، اعمال می‌شود و محرمانه ماندن داده‌ها را در طول کانال انتقال تضمین می‌کند.
به بیان دیگر شرکتی که صلاحیت صدور و اعطاء گواهی‌های دیجیتال SSL را دارد برای هر کدام از دو طرفی که قرار است ارتباطات میان شبکه‌ای امن داشته باشند، گواهی‌های مخصوص سرویس‌دهنده و سرویس‌گیرنده را صادر می‌کند و با مکانیزم‌های احراز هویت خاص خود، هویت هر کدام از طرفین را برای طرف مقابل تأیید می‌کند، البته غیر از این‌کار می‌بایست تضمین کند که اگر اطلاعات حین انتقال مورد سرقت قرار گرفت، برای رباینده قابل درک و استفاده نباشد که این‌کار را با کمک الگوریتم‌های رمزنگاری و کلیدهای رمزنگاری نامتقارن و متقارن انجام می‌دهد.

ملزومات یک ارتباط مبتنی بر پروتکل امنیتی SSL

برای داشتن ارتباطات امن مبتنی بر SSL عموماً به دو نوع گواهی دیجیتال SSL یکی برای سرویس‌دهنده و دیگری برای سرویس‌گیرنده و یک مرکز صدور و اعطای گواهینامه دیجیتال یا CA نیاز می‌باشد. وظیفه CA این است که هویت طرفین ارتباط، نشانی‌ها، حساب‌های بانکی و تاریخ انقضای گواهینامه را بداند و براساس آن‌ها هویت‌ها را تعیین نماید.

نحوه عملکرد داخلی پروتکلSSL

همان‌طور که می‌دانید SSL می‌تواند از ترکیب رمزنگاری متقارن و نامتقارن استفاده کند. رمزنگاری کلید متقارن سریع‌تر از رمزنگاری کلیدعمومی است و از طرف دیگر رمزنگاری کلید عمومی تکنیک‌های احراز هویت قوی‌تری را ارائه می‌کند. یک جلسه SSL Session) SSL) با یک تبادل پیغام ساده تحت عنوان SSL Handshake شروع می‌شود. این پیغام اولیه به سرویس‌دهنده این امکان را می‌دهد تا خودش را به سرویس‌دهنده دارای کلید عمومی معرفی نماید و سپس به سرویس‌گیرنده و سرویس‌دهنده این اجازه را می‌دهد که یک کلید متقارن را ایجاد نمایند که برای رمزنگاری‌ها و رمزگشایی سریع‌تر در جریان ادامه مبادلات مورد استفاده قرار می‌گیرد. گام‌هایی که قبل از برگزاری این جلسه انجام می‌شوند براساس الگوریتم RSA Key Exchange عبارتند از:
- سرویس گیرنده، نسخه SSL مورد استفاده خود، تنظیمات اولیه دربارهٔ نحوه رمزگذاری و یک داده تصادفی را برای شروع درخواست یک ارتباط امن مبتنی بر SSL به سمت سرویس‌دهنده ارسال می‌کند.
- سرویس‌دهنده نیز در پاسخ نسخه SSL مورد استفاده خود، تنظیمات رمزگذاری و داده تصادفی تولید شده توسط خود را به سرویس‌گیرنده می‌فرستد و همچنین سرویس‌دهنده گواهینامه خود را نیز برای سرویس‌گیرنده ارسال می‌کند و اگر سرویس‌گیرنده از سرویس‌دهنده، درخواستی داشت که نیازمند احراز هویت سرویس‌گیرنده بود، آن را نیز از سرویس‌گیرنده درخواست می‌کند.
- سپس سرویس‌گیرنده با استفاده از اطلاعاتی که از سرویس‌دهنده مجاز در خود دارد، داده‌ها را بررسی می‌کند و اگر سرویس‌دهنده مذکور تأیید هویت شد، وارد مرحله بعدی می‌شود و در غیراین‌صورت با پیغام هشداری به کاربر، ادامه عملیات قطع می‌گردد.
- سرویس‌گیرنده یک مقدار به نام Secret Premaster را برای شروع جلسه ایجاد می‌کند و آن را با استفاده از کلید عمومی (که اطلاعات آن معمولاً در سرویس‌دهنده موجود است) رمزنگاری می‌کند و این مقدار رمز شده را به سرویس‌دهنده ارسال می‌کند.
- اگر سرویس‌دهنده به گواهینامه سرویس‌گیرنده نیاز داشت می‌بایست در این گام برای سرویس‌دهنده ارسال شود و اگر سرویس‌گیرنده نتواند هویت خود را به سرویس‌دهنده اثبات کند، ارتباط در همین‌جا قطع می‌شود.
- به محض این‌که هویت سرویس‌گیرنده برای سرویس‌دهنده احراز شد، سرویس‌دهنده با استفاده از کلید اختصاصی خودش مقدار Premaster Secret را رمزگشایی می‌کند و سپس اقدام به تهیه مقداری به نام Master Secret می‌نماید.
- هم سرویس‌دهنده و هم سرویس‌گیرنده با استفاده از مقدار master Secret کلید جلسه (Session Key) را تولید می‌کنند که در واقع کلید متقارن مورد استفاده در عمل رمزنگاری و رمزگشایی داده‌ها حین انتقال اطلاعات است و در این مرحله به نوعی جامعیت دادها بررسی می‌شود.
- سرویس‌گیرنده پیغامی را به سرویس‌دهنده می‌فرستد تا به او اطلاع دهد، داده بعدی که توسط سرویس‌گیرنده ارسال می‌شود به وسیله کلید جلسه رمزنگاری خواهد شد و در ادامه، پیغام رمز شده نیز ارسال می‌شود تا سرویس‌دهنده از پایان یافتن Handshake سمت سرویس‌گیرنده مطلع شود.
- سرویس‌دهنده پیغامی را به سرویس‌گیرنده ارسال می‌کند تا او را از پایان Handshake سمت سرویس‌دهنده آگاه نماید و همچنین این که داده بعدی که ارسال خواهد شد توسط کلید جلسه رمز می‌شود.
- در این مرحله SSL Handshake تمام می‌شود و از این به بعد جلسه SSL شروع می‌شود و هر دو عضو سرویس‌دهنده و گیرنده شروع به رمزنگاری و رمزگشایی و ارسال داده‌ها می‌کنند. (همانند شکل فوق)

حملات تأثیرگذار برSSL

SSL نیز از حملات و نفوذهای مختلف در امان نیست. بعضی از حملات متداولی که بر این پروتکل واقع می‌شود عبارتند ازTraffic Analysis: یا تحلیل ترافیک، حملات Certification Injection و حملات از نوع Man in the middle.