SSL یا (Secure Sockets Layer) یکی از پروتکل های رمزنگاری است که برای تامین امنیت ارتباطات از طریق اینترنت ارائه شده است. برای اطمینان از هویت و تبادل اطلاعات از مجوز X.509 و رمزنگاری نامتقارن استفاده می کند. SSL بعنوان پروتکل امنیت انتقال اطلاعات در اینترنت برای مواردی همچون ارتباط با وب سایت ها، پست الکترونیکی، پیام های فوری اینترنتی و غیره بکارگیری می شود.
SSL روشی برای برقراری ارتباطات امن بین یک سرویس دهنده و یک سرویس گیرنده است. در واقع SSL پروتکلی است که بین لایه 3 و 4 از مدل TCP/IP قرار می گیرد. مزیت استفاده از این پروتکل، موارد امنیتی آن برای امن کردن پروتکل های غیرامن نظیر HTTP، LDAP، IMAP و... می باشد که براساس آن رمزنگاری بر روی اطلاعات plain text که قرار است از یک کانال ارتباطی غیرامن مثل اینترنت عبور کنند، اعمال می شود.
SSL توسط Netscape طراحی و ارائه شده است و سومین نسخه آن به صورت استاندارد اینترنتی شناخته می شود.
قسمتی از SSL مربوط به سرویس های مدیریتی می باشد که شامل پروتکل دست دادن، پروتکل تغییر مشخصات رمزکننده و پروتکل هشدار است. SSL اجازه می دهد که بین کلاینت و سرور یک session ایجاد شود و از آن طریق هر تعداد اتصال امن امکان پذیر خواهد بود.
برای هر session و هر اتصال به یک سری پارامترها نیاز است.
- پروتکل رکورد در SSL
- پروتکل تغییر مشخصات رمز در SSL
- پروتکل هشدار در SSL
- پروتکل دست دادن در SSL
مرحله 1: برقراری قابلیت های امنیتی
مرحله 2: احراز اصالت و تبادل کلید سرور
مرحله 3: احراز اصالت و تبادل کلید کلاینت
مرحله 4: پایان
الگوریتم های رمزنگاری پشتیبانی شده در SSL
در استاندارد SSL، معمولا الگوریتم های عمومی رمزنگاری و مبادلات کلید نظیرRSA , RC4, RC2,MD5, KEA, DSA, DES و... پشتیبانی می شود و بسته به این که سرویس دهنده و سرویس گیرنده نیز از موارد مذکور پشتیبانی می کنند، ارتباطات SSL می تواند براساس هر کدام از این الگوریتم ها صورت پذیرد.
نحوه عملکرد داخلی پروتکل SSL
SSL می تواند از ترکیب رمزنگاری متفاوتی مانند متقارن و عمومی استفاده کند. رمزنگاری کلید متقارن سریع تر از رمزنگاری کلید عمومی است و اما رمزنگاری کلید عمومی روش های احراز هویت بهتری را ارائه می کند. یک SSL Session با یک تبادل پیغام ساده به نام SSL Handshake شروع می شود. این پیغام اولیه به سرویس دهنده این امکان را می دهد تا خودش را به سرویس گیرنده دارای کلید عمومی معرفی نماید و سپس سرویس گیرنده و سرویس دهنده این اجازه را دارند که یک کلید متقارن را ایجاد کنند که برای رمزنگاری ها و رمزگشایی سریع تر در جریان ادامه ارتباط مورد استفاده قرار می گیرد.