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

بندانگشتی|پروتکل اینترنت نسخه ۶
**پروتکل اینترنت نسخه ۶**  یا به اختصار IPv6 جدیدترین نسخه پروتکل اینترنت (Internet Protocol) است که ارتباط‌های اینترنتی بر پایه آن شکل می‌گیرد. این نسخه قرار است جای نسخه ۴ این پروتکل (IPv4) را که هم‌اکنون استفاده می‌شود بگیرد.

IPv4 از فضای آدرسی ۳۲ بیتی استفاده می‌کند. این فضای اجازهٔ آدرس‌دهی ۲۳۲ یعنی حدود ۴ میلیارد آدرس در اینترنت را می‌دهد. با توجه به این‌که امروزه بسیاری از دستگاه‌ها افزون بر کامپیوترها مانند موبایل‌ها، دوربین‌ها و حتی لوازم خانگی و قاب عکس‌های دیجیتال به اینترنت متصل می‌شوند، این فضا رو به اتمام است و تاکنون با تمهیداتی مانند **[[برگردان نشانی شبکه]]** سعی در جبران این کمبود داشته‌اند. IPv6 اما از فضای آدرس‌دهی ۱۲۸ بیتی استفاده می‌کند که اجازه داشتن ۲۱۲۸ آدرس یگانه (یعنی 340,282,366,900,000,000,000,000,000,000,000,000,000 عدد ایپی یگانه) را به ما می‌دهد و مشکل فضای آدرسی که هم‌اکنون با آن روبرو هستیم را رفع می‌کند.

## امنیت در 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 جهت کپسوله استفاده می‌کند.

وی در شبکه‌های سرور کشور چین استفاده می‌گردد مثل کمپانی‌های شیائومی و رایتل و شاتل

## پروتکل AH
به‌طور خلاصه پروتکل AH در واقع تأمین‌کننده سرویس‌های امنیتی زیر خواهد بود:
# تمامیت داده ارسالی
# احراز هویت مبدأ داده ارسالی
# نادیده گرفتن بسته‌های دوباره ارسال شده
این پروتکل برای تمامیت داده ارسالی از HMAC استفاده می‌کند و برای انجام این کار مبنای کارش مبتنی بر کلید سری است که payload بسته و بخش‌هایی تغییرناپذیر سرآیند IP شبیه IP آدرس خواهد بود. بعد از این کار این پروتکل سرآیند خودش را به آن اضافه می‌کند در شکل زیر سرآیندها و فیلدهای AH نمایش داده شده‌است.

سرآیند AH،۲۴ بایت طول دارد. حال به توضیح فیلدهای این پروتکل می‌پردازیم.
# اولین فیلد همان Next Headerمی‌باشد. این فیلد پروتکل‌های بعدی را تعیین می‌کند. در حالت Tunnel یک دیتاگرام کامل IP کپسوله می‌شود بنابراین مقدار این فیلد برابر ۴ است. وقتی که کپسوله کردن یک دیتا گرام TCP در حالت انتقالmode) (Transport باشد، مقدار این فیلد برابر ۶ خواهد شد
# فیلدpayload length همانطورکه از نامش پیداست طول payload را تعیین می‌کند.
# فیلد Reserved از دو بایت تشکیل شده‌است. برای آینده در نظر گرفته شده‌است.
# فیلد security parameter Index یا SPI از ۳۲ بیت تشکیل شده‌است. این فیلد از SA تشکیل شده که جهت باز کردن پکت‌های کپسوله شده بکار می‌رود. نهایتاً ۹۶ بیت نیز جهت نگهداری احراز هویت پیام Hash یا (HMAC) بکار می‌رود.
# HMAC حفاظت تمامیت دادهٔ ارسالی را بر عهده دارد؛ زیرا فقط نقاط نظیر به نظیر از کلید سری اطلاع دارند که توسط HMAC به وجود آمده و توسط همان چک می‌شود.
چون پروتکل AH حفاظت دیتاگرام IP شامل بخش‌های تغییرناپذیری مثل IP آدرس‌ها نیز هست، پروتکل AH اجازه ترجمه آدرس شبکه را نمی‌دهد. NAT یا ترجمه آدرس شبکه در فیلد IP آدرس دیگری (که معمولاً IP آدرس بعداً می‌باشد) قرار می‌گیرد. و به این جهت تغییر بعدی HMAC معتبر نخواهد بود. در شکل زیر حالتهای انتقال و تونل در پروتکل AH به نمایش درآمده‌است. همان‌طور که می‌بینید این پروتکل در این دو حالت ارتباط امن بین دو نقطه انتهائی که در دو شبکه مجزا قرار دارند را فراهم می‌آورد، همچنین ارتباط امن بین دو نقطه در یک شبکه داخلی و یک نقطه انتهائی و یک مسیر یاب یا حفاظ دیواره آتش(Firewall) را ممکن می‌سازد.

## پروتکل (Encapsulation Security Payload(ESP
پروتکل ESP سرویس‌های امنیتی زیر را ارائه می‌کند:
# محرمانگی
# احراز هویت مبدأ داده ارسالی
# رد بسته‌های دوباره ارسال شده

در واقع پروتکل ESP هم امنیت تمامیت داده (سلامت داده‌های ارسالی) پکت‌هایی که از HMAC استفاده می‌کنند را تأمین کنید و هم محرمانگی از طریق اصول رمزنگاری (Encryption principle) بکار گرفته شده. بعد از رمزنگاری پکت و محاسبات مربوط به HMAC، سرآیند ESP محاسبه و به پکت اضافه می‌شود. سرآیند ESP شامل دو بخش است که مطابق شکل زیر نمایش داده شده‌است.
# اولین ۳۲ بیت سرآیند ESP همان SPI است که درSA بکار گرفته شده و جهت بازگشایی پکت کپسوله شده ESP بکار می‌رود.
# دومین فیلد همان شماره توالی یا Sequence Number می‌باشد که به جهت حفاظت از تهاجمات داده‌های بازگشتی استفاده می‌شود.
# سومین فیلد همان بردار مقدار اولیه یاInitialization Vector (IV) می‌باشد. این فیلد نیز برای پردازش رمزنگاری بکار می‌رود. الگوریتم‌های رمزنگاری متقارن اگر از IV استفاده نکنند، مورد تهاجم متوالی روی پکت قرار می‌گیرد. IV این اطمینان را می‌دهد تا دو مشخصه Payload روی دو Payload رمز شده مختلف قرار گیرد. پردازش رمزنگاری در IPSec در دو بلوک رمز (Cipher) بکار می‌رود؛ بنابراین اگر طول Payloadها تک تک باشند. Payload , IPSecها را به شکل لایه لایه قرار می‌دهد؛ و از اینرو طول این لایه‌ها همواره در حال اضافه شدن است. طول لایه (Pad length) 2 بایت است.
# فیلد بعدی که همان Next header می‌باشد، سرآیند بعدی را مشخص می‌کند.
# این پروتکل HMAC است که مانند پروتکل HA از تمامیت و سلامت داده‌های ارسالی حفاظت می‌کند. فقط این سرآیند است که می‌تواند به Payload اعتبار دهد. سرآیند IP شامل پروسه محاسبه نمی‌باشد.
NAT هیچ ارتباطی به کار ESP ندارد و این بخش هنوز هم ممکن است بخشی از IPSec باشد و با آن ترکیب گردد. NAT پیمایشی (NAT-Traversal) راه حلی است در کپسوله کردن پکت‌های ESP به همراه پکت‌های UDP. در شکل زیر حالتهای انتقال و تونل در پروتکلESP به نمایش درآمده‌است.

همان‌طور که می‌بینید این پروتکل در این دو حالت ارتباط امن بین دو نقطه انتهائی که در دو شبکه مجزا قرار دارند را فراهم می‌آورد، همچنین ارتباط امن بین دو نقطه در یک شبکه داخلی و یک نقطه انتهائی و یک مسیر یاب یا حفاظ دیواره آتش(Firewall) را ممکن می‌سازد.

## پروتکل 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 Record Protocol که نوع قالب‌بندی داده‌های ارسالی را تعیین می‌کند.
# SSL Handshake Protocol که براساس قالب تعیین شده در پروتکل قبلی، مقدمات ارسال داده‌ها میان سرویس‌دهنده‌ها و سرویس‌گیرنده‌های مبتنی بر SSL را تهیه می‌کند.

بخش‌بندی پروتکل SSL به دو زیر پروتکل دارای مزایای چندی است. ازجمله:

اول: در ابتدای کار و طی مراحل اولیه ارتباط (Handshake) هویت سرویس‌دهنده برای سرویس‌گیرنده مشخص می‌گردد.

دوم: در همان ابتدای شروع مبادلات، سرویس‌دهنده و گیرنده بر سر نوع الگوریتم رمزنگاری تبادلی توافق می‌کنند.

سوم: در صورت لزوم، هویت سرویس گیرنده نیز برای سرویس‌دهنده احراز می‌گردد.

چهارم: در صورت استفاده از تکنیک‌های رمزنگاری مبتنی بر کلید عمومی، می‌توانند کلیدهای اشتراکی مخفی را ایجاد نمایند.

پنجم: ارتباطات بر مبنای SSL رمزنگاری می‌شوند. الگوریتم‌های رمزنگاری پشتیبانی شده درSSL
در استانداردSSL، از اغلب الگوریتم‌های عمومی رمزنگاری و مبادلات کلید (Key Exchcenge Algorithm) نظیر DES ,DSA ,KEA, MD5، RC2،RC4، RSA و RSA Key Exchauge ,SHA-1 ،Skipjack و 3DES پشتیبانی می‌شود و بسته به این‌که نرم‌افزارهای سمت سرویس‌دهنده و سرویس‌دهنده نیز از موارد مذکور پشتیبانی نمایید، ارتباطاتSSL می‌تواند براساس هر کدام این از الگوریتم‌ها صورت پذیرد. البته بسته به طول کلید مورد استفاده در الگوریتم و قدرت ذاتی الگوریتم می‌توان آن‌ها را در رده‌های مختلفی قرار دارد که توصیه می‌شود با توجه به سناریوهای موردنظر، از الگوریتم‌های قوی‌تر نظیر 3DES با طول کلید ۱۶۸ بیت برای رمزنگاری داده‌ها و همچنین الگوریتم 1-SHA برای مکانیزم‌های تأیید پیغام MD5 استفاده شود یا این‌که اگر امنیت در این حد موردنیاز نبود، می‌توان در مواردی خاص از الگوریتم رمزنگاری RC4 با طول کلید ۴۰ بیت و الگوریتم تأیید پیغام MD5 استفاده نمود. (شکل زیر)

## نحوه عملکرد داخلی پروتکل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.

## SSH چیست؟
به عنوان یک تعریف بسیار ساده می‌توان SSH را این گونه بیان کرد:
SSH یک روش قدرتمند و پر استفاده و البته نرم‌افزاری است که برای دستیابی به امنیت شبکه طراحی شده‌است. هربار که داده‌ای از طرف کامپیوتر به شبکه فرستاده می‌شود، به صورت خودکار توسط SSH کدگذاری می‌شود. هنگامی که داده به مقصد خود می‌رسد به صورت خودکار کدگشایی می‌شود. نتیجه‌ای که خواهد داشت کدگذاری نامرئی خواهد بود. بدین صورت کاربران نهایی درگیر پروسه کدگذاری و کدگشایی نخواهند شد و از ارتباط امن خود می‌توانند به خوبی استفاده کنند.
امنیت سیستم کدگذاری SSH با استفاده از الگوریتم‌های پیچیده و مدرن تضمین می‌شود. تا آنجا که امروزه در سیستم‌های حیاتی و بسیار حساس از این سیستم استفاده می‌شود. به صورت معمول محصولاتی که از SSH استفاده می‌کنند از دو بخش خادم و مخدوم (Client/Server) تشکیل می‌شوند. Clientها با استفاده از تنظیمات سرور مربوط به آن وصل می‌شوند و سرور وظیفه تأیید هویت و قبول یا رد ارتباط را به عهده دارد.
نکته: باید توجه داشته باشید تشابه نام Secure Shell با محیط‌هایی مانند Bourne shell یا C Shell نشان دهنده این نیست که SSH نیز محیطی است که وظیفه تفسیر فرمان‌ها برای سیستم‌عامل را بر عهده دارد.
با اینکه SSH تمامی مشکلات را حل نخواهد کرد، اما در مورد بسیاری از موارد می‌تواند راه حل مناسبی باشد. برخی از این موارد عبارتند از:
* یک پروتکل خادم/مخدوم امن برای کدگذاری و انتقال داده‌ها در شبکه.
* تعیین هویت کاربران به وسیله کلمه عبور، host, public key یا استفاده از Kerberos ,PGP یا PAM
* قابلیت امن کردن برنامه‌های ناامن شبکه مانند Telnet, FTP و در کل هر برنامه‌ای که بر اساس پروتکل TCP/IP بنا شده‌است.
* بدون هیچ تغییر در استفاده کاربر نهایی (End User) پیاده شده و قابلیت پیاده‌سازی بر روی بیشتر سیستم‌عامل‌ها را دارد.

## منابع و مراجع

# R. Atkinson. Security Architecture for the Internet Protocol, RFC2401
# R. Atkinson. IP Authentication Header(AH), RFC2402
# R. Atkinson. IP Encapsulating Security Payload(ESP), RFC2406
# Douglas E. Comer. Computer Networks and Internets, Prentice Hall، ۲۰۰۴
# C. Huitema. IPv6 The New Internet Protocol, Prentice Hall, New Jersey، ۱۹۹۶


رده:پروتکل اینترنت
رده:پروتکل‌های اینترنت
رده:پروتکل‌های لایه اینترنت
رده:پروتکل‌های لایه‌ای شبکه
رده:معرفی‌شده‌های ۱۹۹۶ (میلادی)
رده:معرفی‌شده‌های مرتبط با رایانه در ۱۹۹۶ (میلادی)
رده:متعلقات اینترنت بنیان‌گذاری‌شده در ۱۹۹۶ (میلادی)