موضوع مقاله: پروتکل اینترنت نسخه ۶ | مخاطب: عمومی | لحن: دانشنامه‌ای | ساختار: عنوان، مقدمه، 3 بخش، جمع‌بندی | مقاله: | # پروتکل اینترنت نسخه ۶ | مقدمه: این نسخه قرار است جای نسخه ۴ این پروتکل (IPv4) را که هم‌اکنون استفاده می‌شود بگیرد. | ## بخش 1: پروتکل اینترنت نسخه ۶ | با توجه به این‌که امروزه بسیاری از دستگاه‌ها افزون بر کامپیوترها مانند موبایل‌ها، دوربین‌ها و حتی لوازم خانگی و قاب عکس‌های دیجیتال به اینترنت متصل می‌شوند، این فضا رو به اتمام است و تاکنون با تمهیداتی مانند برگردان نشانی شبکه سعی در جبران این کمبود داشته‌اند. IPv6 اما از فضای آدرس‌دهی ۱۲۸ بیتی استفاده می‌کند که اجازه داشتن ۲۱۲۸ آدرس یگانه (یعنی 340,282,366,900,000,000,000,000,000,000,000,000,000 عدد ایپی یگانه) را به ما می‌دهد و مشکل فضای آدرسی که هم‌اکنون با آن روبرو هستیم را رفع می‌کند. این سازمان وظیفه دارد که مکانیزم‌های امنیتی مورد نیاز در لایه‌های مختلف IP را هم در IPv6 و هم در IPv4 جهت گسترش و بهبود استانداردهای مورد نیاز بر عهده گیرد. به عبارت دیگر رمز نگاری باعث می‌شود که تنها گیرنده‌ای که بسته به نام او ارسال شده‌است، بتواند به محتویات آن دسترسی داشته باشد. برای بررسی و تحلیل این مزایا یک سیستم کلیدی بکار گرفته می‌شود که به موجب آن فرستنده‌ها و گیرنده‌ها بر روی یک مقدار کلیدی که مورد استفاده قرار می‌گیرد با هم به توافق می‌رسند. سیستم مدیریت کلید عمومی که توسط طراحان IPv6 پذیرفته شده‌است، مکانیزم ISAKMP می‌باشد، که با ایجاد و تولید کلید رمز سر و کار دارد و روش‌های اجرای عمومی پروتکل مدیریت کلید را تأمین می‌کند. [۴] IPv6 لزوم IPSEC را اجباری می‌کند و در نتیجه یک قالب امنیتی یکپارچه برای ارتباطات اینترنتی ایجاد می‌کند. پروتکل امنیت در لایه شبکه IPSec همانگونه که ذکر شد، بحث امنیت داده‌ها و اطلاعات در IPv6 از اهمیت بالایی برخوردار است. با گسترش حملات کامپیوتری، اصالت، جامعیت، هویت‌شناسی و محرمانگی اطلاعات خصوصاً اطلاعات حیاتی افراد و سازمان‌ها در معرض خطر قرار خواهد گرفت. پروتکل IPSec یکی از استانداردهای VPN است که با استفاده از مکانیزم‌های هویت‌شناسی و رمزنگاری مانع از گوش دادن به داده‌ها یا دستکاری و خراب کاری آن‌ها می‌شود. قابل توجه‌ترین موارد استفاده از آن به صورت شبکه به شبکه و نیز دسترسی از راه دور (کامپیوتر به شبکه) می‌باشند. اما روش IPSec به علت امن بودن، پایداری بالا، ارزان بودن، انعطاف‌پذیر بودن و مدیریت بالا مورد توجه قرار گرفته‌است. مطابق با تعریف IETF پروتکل IPSec به این شکل تعریف می‌شود: ”یک پروتکل امنیتی در لایه شبکه که خدمات رمزنگاری را تأمین می‌کند. خدماتی که به صورت منعطف به پشتیبانی ترکیبی از تأیید هویت، جامعیت، کنترل دسترسی و محرمانگی می‌پردازد”. این پروتکل مخصوصاً برای بسته‌های پروتکل IP طراحی شده و برخلاف PPTP امنیت را برای سایر پروتکل‌ها فراهم نمی‌آورد. IPSec از AH به منظور هویت‌شناسی و جامعیت مبدأ بدون استفاده از رمزنگاری بهره می‌گیرد، درحالی‌که ESP هویت‌شناسی و جامعیت مبدأ را به کمک رمزنگاری فراهم می‌آورد. در مد انتقال مکانیزم رمز نگاری روی قسمت داده‌ای بسته IP اعمال می‌شود و سرآیند بسته IP تغییر نخواهد کرد؛ بنابراین مبدأ و مقصد نهایی بسته ممکن است توسط افراد غیرمجاز مشاهده شود، اما چون در این مد سرآیند لایه ۴ رمزنگاری شده‌است، اطلاع دقیق از نوع و کیفیت بسته ارسالی برای کابران غیرمجاز امکانپذیر نخواهد بود. معمولاً از این مد زمانی استفاده می‌شود که هم مبدأ و هم مقصد پروتکل IPSec را پشتیبانی نماید. در مد تونل، تمامی بسته IP رمزنگاری می‌شود و سپس یک سرآیند جدید به بسته رمزنگاری شده الحاق می‌گردد. از این مد زمانی استفاده می‌شود که یک یا هر دو طرف اتصال IPSec دروازه‌های امنیتی باشند که از این پروتکل حمایت می‌کنند، در حالی که مبدأ و مقصد اصلی که در پشت این دروازه‌ها قرار دارند پروتکل IPSec را پشتیبانی نمی‌کنند. | ## بخش 2: پروتکل اینترنت نسخه ۶ | وی در شبکه‌های سرور کشور چین استفاده می‌گردد مثل کمپانی‌های شیائومی و رایتل و شاتل پروتکل AH به‌طور خلاصه پروتکل AH در واقع تأمین‌کننده سرویس‌های امنیتی زیر خواهد بود: تمامیت داده ارسالی احراز هویت مبدأ داده ارسالی نادیده گرفتن بسته‌های دوباره ارسال شده این پروتکل برای تمامیت داده ارسالی از HMAC استفاده می‌کند و برای انجام این کار مبنای کارش مبتنی بر کلید سری است که payload بسته و بخش‌هایی تغییرناپذیر سرآیند IP شبیه IP آدرس خواهد بود. بعد از این کار این پروتکل سرآیند خودش را به آن اضافه می‌کند در شکل زیر سرآیندها و فیلدهای AH نمایش داده شده‌است. HMAC حفاظت تمامیت دادهٔ ارسالی را بر عهده دارد؛ زیرا فقط نقاط نظیر به نظیر از کلید سری اطلاع دارند که توسط HMAC به وجود آمده و توسط همان چک می‌شود. چون پروتکل AH حفاظت دیتاگرام IP شامل بخش‌های تغییرناپذیری مثل IP آدرس‌ها نیز هست، پروتکل AH اجازه ترجمه آدرس شبکه را نمی‌دهد. NAT یا ترجمه آدرس شبکه در فیلد IP آدرس دیگری (که معمولاً IP آدرس بعداً می‌باشد) قرار می‌گیرد. همان‌طور که می‌بینید این پروتکل در این دو حالت ارتباط امن بین دو نقطه انتهائی که در دو شبکه مجزا قرار دارند را فراهم می‌آورد، همچنین ارتباط امن بین دو نقطه در یک شبکه داخلی و یک نقطه انتهائی و یک مسیر یاب یا حفاظ دیواره آتش(Firewall) را ممکن می‌سازد. الگوریتم‌های رمزنگاری متقارن اگر از IV استفاده نکنند، مورد تهاجم متوالی روی پکت قرار می‌گیرد. این پروتکل HMAC است که مانند پروتکل HA از تمامیت و سلامت داده‌های ارسالی حفاظت می‌کند. همان‌طور که می‌بینید این پروتکل در این دو حالت ارتباط امن بین دو نقطه انتهائی که در دو شبکه مجزا قرار دارند را فراهم می‌آورد، همچنین ارتباط امن بین دو نقطه در یک شبکه داخلی و یک نقطه انتهائی و یک مسیر یاب یا حفاظ دیواره آتش(Firewall) را ممکن می‌سازد. IKE پروتکلی است که عموماً نیازمند فضای کاربر فوق‌العاده‌ای است و روی سیستم‌های عامل پیاده‌سازی نمی‌شود. به هر حال این خود یک اشکال محسوب می‌شود، زیرا این حالت نمی‌تواند از هویت نقاط نظیر پشتیبانی حفاظت نماید و از این جهت است که این حالت با داشتن کلید پیش اشتراکی (PSK) مستعد حملات میان راهی (man-in-the-middle) خواهد بود. در حالت اصلی نه تنها از کلید پیش شرط مختلف نمی‌تواند پشتیبانی نماید بلکه نقاط نظیر به نظیر را نیز نمی‌شناسد. در حالت تهاجمی که از حفاظت هویت افراد / نقاط حمایت نمی‌کند و هویت کاربران انتهایی را چنین شفاف انتقال می‌دهد؛ بنابراین نقاط نظیر هر چیز را خواهد دانست پیش از آنکه احراز هویتی در مورد جا و کلیدهای پیش شرط بتواند بکار برد. معمولاً دو نقطه نظیر روی SAKMP SA با هم مذاکره و توافق می‌کنند که هر دو طرف معمولاً روی چندین مذاکره (حداقل ۲ تا) به‌طور غیرمستقیم توافق کنند. مزیت استفاده از این پروتکل بهره‌گیری از موارد امنیتی تعبیه شده آن برای امن کردن پروتکل‌های غیرامن لایه کاربردی نظیرHTTP ,LDAP ,IMAP و… می‌باشد که براساس آن الگوریتم‌های رمزنگاری بر روی داده‌های خام (plain text) که قرار است از یک کانال ارتباطی غیرامن مثل اینترنت عبور کنند، اعمال می‌شود و محرمانه ماندن داده‌ها را در طول کانال انتقال تضمین می‌کند. به بیان دیگر شرکتی که صلاحیت صدور و اعطاء گواهی‌های دیجیتال SSL را دارد برای هر کدام از دو طرفی که قرار است ارتباطات میان شبکه‌ای امن داشته باشند، گواهی‌های مخصوص سرویس‌دهنده و سرویس‌گیرنده را صادر می‌کند و با مکانیزم‌های احراز هویت خاص خود، هویت هر کدام از طرفین را برای طرف مقابل تأیید می‌کند، البته غیر از این‌کار می‌بایست تضمین کند که اگر اطلاعات حین انتقال مورد سرقت قرار گرفت، برای رباینده قابل درک و استفاده نباشد که این‌کار را با کمک الگوریتم‌های رمزنگاری و کلیدهای رمزنگاری نامتقارن و متقارن انجام می‌دهد. ملزومات یک ارتباط مبتنی بر پروتکل امنیتی SSL برای داشتن ارتباطات امن مبتنی بر SSL عموماً به دو نوع گواهی دیجیتال SSL یکی برای سرویس‌دهنده و دیگری برای سرویس‌گیرنده و یک مرکز صدور و اعطای گواهینامه دیجیتال یا CA نیاز می‌باشد. وظیفه CA این است که هویت طرفین ارتباط، نشانی‌ها، حساب‌های بانکی و تاریخ انقضای گواهینامه را بداند و براساس آن‌ها هویت‌ها را تعیین نماید. دوم: در همان ابتدای شروع مبادلات، سرویس‌دهنده و گیرنده بر سر نوع الگوریتم رمزنگاری تبادلی توافق می‌کنند. چهارم: در صورت استفاده از تکنیک‌های رمزنگاری مبتنی بر کلید عمومی، می‌توانند کلیدهای اشتراکی مخفی را ایجاد نمایند. | ## بخش 3: پروتکل اینترنت نسخه ۶ | البته بسته به طول کلید مورد استفاده در الگوریتم و قدرت ذاتی الگوریتم می‌توان آن‌ها را در رده‌های مختلفی قرار دارد که توصیه می‌شود با توجه به سناریوهای موردنظر، از الگوریتم‌های قوی‌تر نظیر 3DES با طول کلید ۱۶۸ بیت برای رمزنگاری داده‌ها و همچنین الگوریتم 1-SHA برای مکانیزم‌های تأیید پیغام MD5 استفاده شود یا این‌که اگر امنیت در این حد موردنیاز نبود، می‌توان در مواردی خاص از الگوریتم رمزنگاری RC4 با طول کلید ۴۰ بیت و الگوریتم تأیید پیغام MD5 استفاده نمود. (شکل زیر) نحوه عملکرد داخلی پروتکلSSL همان‌طور که می‌دانید SSL می‌تواند از ترکیب رمزنگاری متقارن و نامتقارن استفاده کند. رمزنگاری کلید متقارن سریع‌تر از رمزنگاری کلید عمومی است و از طرف دیگر رمزنگاری کلید عمومی تکنیک‌های احراز هویت قوی‌تری را ارائه می‌کند. این پیغام اولیه به سرویس‌دهنده این امکان را می‌دهد تا خودش را به سرویس‌دهنده دارای کلید عمومی معرفی نماید و سپس به سرویس‌گیرنده و سرویس‌دهنده این اجازه را می‌دهد که یک کلید متقارن را ایجاد نمایند که برای رمزنگاری‌ها و رمزگشایی سریع‌تر در جریان ادامه مبادلات مورد استفاده قرار می‌گیرد. گام‌هایی که قبل از برگزاری این جلسه انجام می‌شوند براساس الگوریتم RSA Key Exchange عبارتند از: - سرویس گیرنده، نسخه SSL مورد استفاده خود، تنظیمات اولیه دربارهٔ نحوه رمزگذاری و یک داده تصادفی را برای شروع درخواست یک ارتباط امن مبتنی بر SSL به سمت سرویس‌دهنده ارسال می‌کند. - سرویس‌دهنده نیز در پاسخ نسخه SSL مورد استفاده خود، تنظیمات رمزگذاری و داده تصادفی تولید شده توسط خود را به سرویس‌گیرنده می‌فرستد و همچنین سرویس‌دهنده گواهینامه خود را نیز برای سرویس‌گیرنده ارسال می‌کند و اگر سرویس‌گیرنده از سرویس‌دهنده، درخواستی داشت که نیازمند احراز هویت سرویس‌گیرنده بود، آن را نیز از سرویس‌گیرنده درخواست می‌کند. - سپس سرویس‌گیرنده با استفاده از اطلاعاتی که از سرویس‌دهنده مجاز در خود دارد، داده‌ها را بررسی می‌کند و اگر سرویس‌دهنده مذکور تأیید هویت شد، وارد مرحله بعدی می‌شود و در غیر این‌ صورت با پیغام هشداری به کاربر، ادامه عملیات قطع می‌گردد. - سرویس‌گیرنده یک مقدار به نام Secret Premaster را برای شروع جلسه ایجاد می‌کند و آن را با استفاده از کلید عمومی (که اطلاعات آن معمولاً در سرویس‌دهنده موجود است) رمزنگاری می‌کند و این مقدار رمز شده را به سرویس‌دهنده ارسال می‌کند. - اگر سرویس‌دهنده به گواهینامه سرویس‌گیرنده نیاز داشت می‌بایست در این گام برای سرویس‌دهنده ارسال شود و اگر سرویس‌گیرنده نتواند هویت خود را به سرویس‌دهنده اثبات کند، ارتباط در همین‌جا قطع می‌شود. - سرویس‌گیرنده پیغامی را به سرویس‌دهنده می‌فرستد تا به او اطلاع دهد، داده بعدی که توسط سرویس‌گیرنده ارسال می‌شود به وسیله کلید جلسه رمزنگاری خواهد شد و در ادامه، پیغام رمز شده نیز ارسال می‌شود تا سرویس‌دهنده از پایان یافتن Handshake سمت سرویس‌گیرنده مطلع شود. - سرویس‌دهنده پیغامی را به سرویس‌گیرنده ارسال می‌کند تا او را از پایان Handshake سمت سرویس‌دهنده آگاه نماید و همچنین این که داده بعدی که ارسال خواهد شد توسط کلید جلسه رمز می‌شود. (همانند شکل فوق) حملات تأثیرگذار برSSL SSL نیز از حملات و نفوذهای مختلف در امان نیست. به عنوان یک تعریف بسیار ساده می‌توان SSH را این گونه بیان کرد: SSH یک روش قدرتمند و پر استفاده و البته نرم‌افزاری است که برای دستیابی به امنیت شبکه طراحی شده‌است. هربار که داده‌ای از طرف کامپیوتر به شبکه فرستاده می‌شود، به صورت خودکار توسط SSH کدگذاری می‌شود. بدین صورت کاربران نهایی درگیر پروسه کدگذاری و کدگشایی نخواهند شد و از ارتباط امن خود می‌توانند به خوبی استفاده کنند. Clientها با استفاده از تنظیمات سرور مربوط به آن وصل می‌شوند و سرور وظیفه تأیید هویت و قبول یا رد ارتباط را به عهده دارد. با اینکه SSH تمامی مشکلات را حل نخواهد کرد، اما در مورد بسیاری از موارد می‌تواند راه حل مناسبی باشد. برخی از این موارد عبارتند از: یک پروتکل خادم/مخدوم امن برای کدگذاری و انتقال داده‌ها در شبکه. | ## جمع‌بندی | بدون هیچ تغییر در استفاده کاربر نهایی (End User) پیاده شده و قابلیت پیاده‌سازی بر روی بیشتر سیستم‌عامل‌ها را دارد.