IPSec متکی بر تعدادی از راه حل های تکنولوژیکیو روش های رمزگذاری، اما عملکرد کلی IPSec را می توان به عنوان مراحل اصلی زیر خلاصه کرد:

    مرحله 1. شروع فرآیند IPSec. ترافیکی که باید طبق خط مشی امنیتی IPSec مورد مذاکره طرفین IPSec رمزگذاری شود، فرآیند IKE را شروع می کند.

    گام 2 فاز اول IKE. فرآیند IKE احراز هویت طرف‌های IPSec را تأیید می‌کند و در مورد پارامترهای ارتباط امنیتی IKE مذاکره می‌کند، که یک کانال امن برای مذاکره با پارامترهای ارتباط امنیتی IPSec در مرحله دوم IKE ایجاد می‌کند.

    مرحله 3 فاز دوم IKE. فرآیند IKE پارامترهای ارتباط امنیتی IPSec را مورد مذاکره قرار می دهد و انجمن های امنیتی IPSec مناسب را برای دستگاه های طرف ارتباط ایجاد می کند.

    مرحله 4 انتقال اطلاعات.ارتباط بین طرف های ارتباط دهنده IPSec انجام می شود که بر اساس پارامترهای IPSec و کلیدهای ذخیره شده در پایگاه داده انجمن امنیتی است.

    مرحله 5 خاتمه یک تونل IPSec. انجمن های امنیتی IPSec یا به دلیل حذف آنها یا به دلیل اینکه از حد طول عمر خود فراتر رفته اند، خاتمه می یابند.

حالت های عملیاتی IPsec

دو حالت کار برای IPSec وجود دارد: حمل و نقل و تونل.

در حالت انتقال، تنها بخش اطلاعاتی بسته IP رمزگذاری می شود. مسیریابی تحت تأثیر قرار نمی گیرد زیرا هدر بسته IP تغییر نمی کند. حالت انتقال معمولاً برای برقراری ارتباط بین میزبان ها استفاده می شود.

در حالت تونل، کل بسته IP رمزگذاری می شود. برای اینکه از طریق شبکه منتقل شود، در بسته IP دیگری قرار می گیرد. بنابراین، یک تونل IP امن به دست می آید. از حالت تونل می توان برای اتصال کامپیوترهای راه دور به یک مجازی استفاده کرد شبکه خصوصییا برای سازماندهی انتقال امن داده از طریق کانال های بازپیوند (اینترنت) بین دروازه ها برای اتصال بخش های مختلف شبکه خصوصی مجازی.

مذاکره تبدیل IPSec

در طول عملیات پروتکل IKE، تحولات IPSec (الگوریتم های امنیتی IPSec) مورد مذاکره قرار می گیرد. تبدیل های IPSec و الگوریتم های رمزگذاری مرتبط با آنها به شرح زیر است:

    پروتکل AH (Authentication Header - Authentication header).یک پروتکل امنیتی که احراز هویت و (به صورت اختیاری) یک سرویس تشخیص مجدد را فراهم می کند. پروتکل AH به عنوان یک امضای دیجیتال عمل می کند و تضمین می کند که داده های بسته IP دستکاری نشده اند. پروتکل AH سرویس رمزگذاری و رمزگشایی داده را ارائه نمی دهد. این پروتکل می تواند به تنهایی یا همراه با پروتکل ESP استفاده شود.

    پروتکل ESP (Encapsulating Security Payload).یک پروتکل امنیتی که از حریم خصوصی و حفاظت از داده ها و به صورت اختیاری یک سرویس تشخیص هویت و بازپخش را فراهم می کند. محصولات دارای IPSec سیسکو از ESP برای رمزگذاری محموله بسته های IP استفاده می کنند. پروتکل ESP را می توان به تنهایی یا همراه با AH استفاده کرد.

    استاندارد DES (Data Encription Standard - استاندارد رمزگذاری داده).الگوریتم رمزگذاری و رمزگشایی داده های بسته. الگوریتم DES هم در IPSec و هم در IKE استفاده می شود. الگوریتم DES از یک کلید 56 بیتی استفاده می کند که نه تنها به معنای مصرف بیشتر منابع محاسباتی است، بلکه رمزگذاری قوی تر نیز دارد. الگوریتم DES یک الگوریتم رمزگذاری متقارن است که به کلیدهای رمزگذاری مخفی یکسان در دستگاه های هر یک از طرف های ارتباط دهنده IPSec نیاز دارد. الگوریتم Diffie-Hellman برای تولید کلیدهای متقارن استفاده می شود. IKE و IPSec از الگوریتم DES برای رمزگذاری پیام ها استفاده می کنند.

    DES "سه گانه" (3DES).گونه ای از DES بر اساس استفاده از سه تکرار DES استاندارد با سه کلید مختلف، که به طور موثر قدرت DES را سه برابر می کند. الگوریتم 3DES در IPSec برای رمزگذاری و رمزگشایی جریان داده استفاده می شود. این الگوریتم از یک کلید 168 بیتی استفاده می کند که قدرت رمزگذاری بالایی را تضمین می کند. IKE و IPSec از الگوریتم 3DES برای رمزگذاری پیام ها استفاده می کنند.

    AES(استاندارد رمزگذاری پیشرفته)). پروتکل AES از الگوریتم رمزگذاری Rine Dale4 استفاده می کند که رمزگذاری بسیار قوی تری را ارائه می دهد. بسیاری از رمزنگاران معتقدند که AES به هیچ وجه قابل هک نیست. AES اکنون استاندارد پردازش اطلاعات فدرال است. این به عنوان یک الگوریتم رمزگذاری برای استفاده توسط سازمان های دولتی ایالات متحده برای محافظت از اطلاعات حساس اما غیر طبقه بندی شده تعریف شده است. مشکل AES این است که در مقایسه با پروتکل های مشابه به قدرت پردازش زیادی نیاز دارد.

تبدیل IPSec همچنین از دو الگوریتم هش استاندارد برای تأیید اعتبار داده ها استفاده می کند.

    الگوریتم MD5 (پیام خلاصه 5).الگوریتم هش که برای احراز هویت بسته های داده استفاده می شود. محصولات سیسکو از HMAC (کد احراز هویت پیام درهم) محاسبه شده با MD5 استفاده می کنند، که نوعی کد احراز هویت پیام است که امنیت بیشتری را از طریق هش فراهم می کند. هش کردن یک فرآیند رمزگذاری یک طرفه (یعنی غیرقابل برگشت) است که یک خروجی با طول ثابت برای یک پیام ورودی با طول دلخواه تولید می کند. IKE، AH و ESP از MD5 برای احراز هویت داده ها استفاده می کنند.

    الگوریتم SHA-1 (الگوریتم هش ایمن-1 -- الگوریتم هش ایمن 1).الگوریتم هش که برای احراز هویت بسته های داده استفاده می شود. محصولات سیسکو از نوعی کد HMAC استفاده می کنند که با استفاده از SHA-1 محاسبه می شود. IKE، AH و ESP از SHA-1 برای احراز هویت داده ها استفاده می کنند.

در پروتکل IKE، کلیدهای متقارن با استفاده از الگوریتم Diffie-Hellman ایجاد می شوند که از DES، 3DES، MD5 و SHA استفاده می کند. پروتکل Diffie-Hellman یک پروتکل رمزنگاری مبتنی بر برنامه کاربردی است کلیدهای عمومی. این به دو طرف اجازه می دهد تا در مورد مشترک توافق کنند کلید مخفیبدون داشتن یک کانال ارتباطی به اندازه کافی قابل اعتماد. اسرار مشترک برای الگوریتم های DES و HMAC مورد نیاز است. الگوریتم Diffie-Hellman در IKE برای تولید کلیدهای جلسه استفاده می شود. گروه های Diffie-Hellman (DH) - "قدرت" کلید رمزگذاری را که در روش تعویض کلید استفاده می شود، تعریف کنید. هرچه تعداد گروه بیشتر باشد، کلید "قوی تر" و ایمن تر است. با این حال، باید این واقعیت را در نظر گرفت که با افزایش تعداد گروه DH، "قدرت" و سطح امنیتی کلید افزایش می یابد، اما در عین حال بار روی پردازنده مرکزی افزایش می یابد، زیرا زمان و منابع بیشتر می شود. برای تولید یک کلید "قوی تر" مورد نیاز است.

دستگاه های WatchGuard از گروه های DH 1، 2 و 5 پشتیبانی می کنند:

    گروه DH 1: کلید 768 بیتی

    گروه DH 2: کلید 1024 بیتی

    DH group 5: کلید 1536 بیتی

هر دو دستگاهی که از طریق VPN ارتباط برقرار می کنند باید از یک گروه DH استفاده کنند. گروه DH برای استفاده توسط دستگاه ها در طول روش IPSec فاز 1 انتخاب می شود.

ما قبلاً در مورد مفهوم IPSec صحبت کرده ایم، در این مقاله ما IPSec را با جزئیات بیشتری بررسی خواهیم کرد.

بنابراین، نام IPSec از IP Security گرفته شده است.
IPSec مجموعه ای از پروتکل ها و الگوریتم هایی است که برای محافظت از بسته های IP در سطح Layer3 استفاده می شود.

IPSec به شما امکان می دهد تضمین کنید:
- محرمانه بودن - با استفاده از رمزگذاری
- یکپارچگی داده - از طریق Hashing و HMAC\
- احراز هویت - از طریق استفاده از امضاهای دیجیتال یا کلید از پیش مشترک (PSK).

ما پروتکل های اصلی IPsec را فهرست می کنیم:
ESP و AH: دو پروتکل اصلی مورد استفاده در IPsec.
محفظه محموله امنیتی (ESP)، می تواند هر کاری را که برای IPsec لازم است انجام دهد و
سربرگ احراز هویت (AH)، می تواند همه چیز را انجام دهد به جز رمزگذاری، رمزگذاری داده ها، - بنابراین، ESP اغلب استفاده می شود.
الگوریتم های رمزگذاری برای محرمانه بودن: DES، 3DES، AES.
الگوریتم های هش برای یکپارچگی: MD5، SHA.
الگوریتم های احراز هویت: کلیدهای از پیش مشترک (PSK)، امضاهای دیجیتال RSA.
مدیریت کلیدی: یک مثال می تواند Diffie-Hellman (DH) باشد که می توان از آن استفاده کرد
به صورت پویا کلیدهای متقارن را برای استفاده توسط الگوریتم های متقارن ایجاد کنید. PKI،
که از عملکرد گواهی های دیجیتال صادر شده توسط CA های مورد اعتماد پشتیبانی می کند. و اینترنت
تبادل کلید (IKE)، که بسیاری از مذاکرات و مدیریت را برای ما انجام می دهد
IPsec برای کار کردن.

چرا IPSec مورد نیاز است

توپولوژی ساده زیر را برای اتصال دو دفتر در نظر بگیرید.

ما باید این دو دفتر را به هم متصل کنیم و اهداف زیر را محقق کنیم:

  • محرمانه بودن- از طریق رمزگذاری داده ها ارائه می شود.
  • یکپارچگی داده- ارائه شده از طریق هش کردن، یا از طریق کد احراز هویت هش شده پیام (HMAC)، - روش هایی برای اطمینان از عدم تغییر داده ها.
  • احراز هویت- ارائه شده با استفاده از کلیدهای از پیش مشترک (PSK)، یا امضای دیجیتال. و هنگام استفاده از HMAC، احراز هویت همیشه اتفاق می افتد.
  • محافظت در برابر پخش مجدد- تمام بسته های VPN شماره گذاری می شوند که محافظت در برابر تکرار آنها است.

پروتکل ها و پورت های IPSec

IKEv1 فاز 1 پورت UDP 500 IKEv1 فاز 1 از UDP:500 برای مذاکره استفاده می کند.
NAT-T (NAT
پیمایش)
پورت UDP 4500 NAT Traversal توسط دستگاه ها برای عبور از NAT استفاده می شود. اگر هر دو دستگاه از طریق NAT به یکدیگر متصل شوند: آنها می خواهند یک پورت UDP جعلی 4500 قرار دهند
هدر روی هر بسته IPsec (قبل از هدر ESP) به
یک دستگاه NAT زنده بمانید که در غیر این صورت ممکن است مشکل داشته باشد
ردیابی یک جلسه ESP (پروتکل لایه 4 50)
ESP پروتکل لایه 4
50
تمام بسته های IPSec پروتکل لایه 4 ESP (پروتکل IP شماره 50) هستند، تمام داده ها در آن کپسوله می شوند. معمولاً از ESP (و نه AH) استفاده می شود. در مورد استفاده از NAT-T، هدر ESP توسط هدر UDP دوم بسته می شود.
ق پروتکل لایه 4
51
بسته های AH پروتکل لایه 4 AH (پروتکل IP شماره 51) هستند. AH از رمزگذاری بار پشتیبانی نمی کند و بنابراین به ندرت استفاده می شود.

عملیات IPSec

برای بالا بردن گاوصندوق اتصالات VPN، IPSec از پروتکل استفاده می کند تبادل کلید اینترنت (IKE).
IKE یک چارچوب ارائه شده است انجمن امنیت اینترنت، همچنین پروتکل مدیریت کلید (ISAKMP)

بنابراین در پیکربندی ما، هر دو روتر مانند عمل خواهند کرد دروازه VPNیا همتایان IPsec.

فرض کنید کاربری در شبکه 10.0.0.0 بسته ای را به شبکه 172.16.0.0 ارسال می کند.
از آنجایی که تونل هنوز ایجاد نشده است، R1 مذاکرات را با روتر دوم، R2 آغاز خواهد کرد.

مرحله 1: تونل فاز 1 IKEv1 را مذاکره کنید

اولین پله بین روترها بالا می رود تونل فاز 1 تبادل کلید اینترنت (IKE)..
چنین تونلی برای انتقال داده های کاربر در نظر گرفته نشده است، بلکه برای اهداف رسمی، برای محافظت از ترافیک مدیریت استفاده می شود.

بالا بردن تونل فاز 1 IKE را می توان در دو حالت انجام داد:
حالت اصلی
- حالت تهاجمی
حالت اصلی نیاز به مبادله تعداد زیادی بسته دارد، اما امن تر نیز در نظر گرفته می شود.

برای بالا بردن یک تونل فاز 1 IKE، عناصر زیر باید مورد مذاکره قرار گیرند:

  • الگوریتم هش: میتونه باشه الگوریتم خلاصه پیام 5 (MD5)یا هش ایمن
    الگوریتم (SHA)
    .
  • الگوریتم رمزگذاری: استاندارد رمزگذاری دیجیتال (DES)(ضعیف، توصیه نمی شود) DES سه گانه (3DES)(کمی بهتر) یا استاندارد رمزگذاری پیشرفته (AES)(توصیه می شود) AES می تواند از کلیدهایی با طول های مختلف استفاده کند: هر چه طولانی تر باشد ایمن تر است.
  • گروه Diffie-Hellman (DH) برای استفاده: "گروه" DH به اندازه مدول (طول
    کلید) برای تعویض کلید DH استفاده کنید. گروه 1 از 768 بیت استفاده می کند، گروه 2 از 1024 بیت و
    گروه 5 از 1536 استفاده می کند. گروه های DH ایمن تر بخشی از رمزگذاری نسل بعدی هستند
    (NGE):
    - گروه 14 یا 24: DH 2048 بیتی را ارائه می دهد
    - گروه های 15 و 16: پشتیبانی از 3072 بیت و 4096 بیت DH
    - گروه 19 یا 20: به ترتیب از گروه های 256 بیتی و 384 بیتی ECDH پشتیبانی می کند.

    وظیفه DH تولید مواد کلید (کلیدهای متقارن) است. این کلیدها برای انتقال داده ها استفاده خواهند شد.
    DH خود نامتقارن است، اما کلیدهای متقارن تولید می کند.

  • روش احراز هویت: می تواند به صورت باشد کلید از پیش مشترک (PSK)یا امضاهای RSA
  • طول عمر: طول عمر تونل فاز 1 IKE. تنها پارامتری که ممکن است مطابقت نداشته باشد. هرچه طول عمر کوتاه‌تر باشد، کلیدها بیشتر تعویض می‌شوند و ایمن‌تر است.

مرحله 2: تبادل کلید DH را اجرا کنید

هنگامی که روترها روی خط مشی فاز 1 IKE توافق کردند، می توانند فرآیند تعویض کلید DH را شروع کنند. DH به دو دستگاهی که هنوز اتصال ایمن بین آنها وجود ندارد اجازه می دهد تا کلیدهای متقارن را به طور ایمن مبادله کنند تا توسط الگوریتم های متقارن مانند AES استفاده شود.

مرحله 3: احراز هویت Peer

آخرین کاری که در فاز 1 IKE انجام می شود، احراز هویت میزبان متقابل است که می تواند به دو روش انجام شود (امضای دیجیتال PSK یا RSA).
اگر احراز هویت موفقیت آمیز باشد، تونل فاز 1 IKE در نظر گرفته می شود. تونل دو طرفه است.

مرحله 4: فاز 2 IKE

پس از بالا آمدن تونل فاز 1 IKE، روترها شروع به بالا بردن تونل فاز 1 IKE می کنند.
همانطور که قبلاً ذکر شد، تونل فاز 1 IKE صرفاً یک تونل خدماتی و مدیریتی است و تمام ترافیک مذاکره از آن عبور می کند تا تونل فاز 2 IKE را بالا ببرد.
تونل فاز 2 IKE همچنین از الگوریتم های هش و رمزگذاری استفاده می کند.
بالا بردن تونل فاز 2 IKE را می توان در یکی از حالت های زیر انجام داد:
- حالت سریع

تونل فاز 2 IKE در واقع از دو تونل یک طرفه تشکیل شده است. می توان گفت که آنها ایجاد شده اند:
یک تونل IKE فاز 1، که دو طرفه است، برای توابع خدمات استفاده می شود.
و دو تونل فاز 2 IKE که یک طرفه هستند و برای رمزگذاری ترافیک مفید استفاده می شوند.
به همه این تونل ها نیز می گویند قراردادهای امنیتی بین دو همتای VPNیا انجمن های امنیتی (SA).
هر SA شماره منحصر به فرد خود را دارد.

اکنون، پس از ارتقاء تونل فاز 2 IKE، تمام بسته هایی که از رابط های خارجی خارج می شوند، رمزگذاری خواهند شد.

نمونه تنظیم


مثالی از پیکربندی IPsec با استفاده از این طرح را به عنوان مثال در نظر بگیرید.

  1. ترافیک جالب را پیکربندی کنید
    ابتدا باید ترافیکی را که رمزگذاری خواهیم کرد تعریف کنیم.
    روتر R1
    IP دسترسی-لیست توسعه یافته مجوز VPN-ACL IP 192.168.1.0 0.0.0.255 192.168.2.0 0.0.0.255

    روتر R2

    ip Access-list Extended VPN-ACL permit ip 192.168.2.0 0.0.0.255 192.168.1.0 0.0.0.255
  2. پیکربندی فاز 1 (ISAKMP)
    فاز 1 یک تونل را نشان می دهد که برای اهداف خدماتی استفاده می شود: تبادل کلیدهای مخفی مشترک، احراز هویت، مذاکره درباره سیاست های امنیتی IKE و غیره.
    چندین خط مشی isakmp را می توان با اولویت های مختلف ایجاد کرد.

    روتر R1

    crypto isakmp آدرس کلید مخفی کلید 200.200.200.1

    روتر R2

    خط مشی isakmp کریپتو 1 رمزگذاری 3des hash md5 احراز هویت پیش اشتراک گروه 2
    آدرس 100.100.100.1 کلید رمزی کلید رمزارز isakmp

    در اینجا کلید PSK (کلید Preshed) است که توسط روترها برای احراز هویت فاز 1 IKE استفاده می شود.

  3. پیکربندی فاز 2 (IPSEC)
    هدف از IKE فاز 2 تونل انتقال ترافیک مفید بین میزبان دو دفتر است.
    پارامترهای تونل فاز 2 در مجموعه هایی به نام مجموعه های تبدیل گروه بندی می شوند.
    روتر R1
    crypto ipsec transform-set TRSET esp-3des esp-md5-hmac! نقشه رمزنگاری VPNMAP 10 ipsec-isakmp set peer 200.200.200.1 set transform-set TRSET match address VPN-ACL ! رابط FastEthernet0/0 نقشه رمزنگاری VPNMAP

    روتر R2

    crypto ipsec transform-set TRSET esp-3des esp-md5-hmac! نقشه رمزنگاری VPNMAP 10 ipsec-isakmp set peer 100.100.100.1 set transform-set TRSET match address VPN-ACL ! رابط FastEthernet0/0 نقشه رمزنگاری VPNMAP

    هر دو میزبان از رمزگذاری ipsec transform-set TRSET esp-3des esp-md5-hmac استفاده کردند.
    این بدان معنی است که 3des برای رمزگذاری و md5-hmac برای احراز هویت استفاده خواهد شد.

    نقشه کریپتو به رابط اعمال می شود. cryptomap ترافیکی را که پاسخ می دهد ردیابی می کند شرایط داده شده. نقشه رمزنگاری ما با یک روتر با آدرس 100.100.100.1 که توسط ترافیک داخلی ACL تنظیم شده است کار می کند و TRSET-set را برای این ترافیک اعمال می کند.

بررسی IPSec

به طور کلی لیست دستورات مفید به شرح زیر است:
سیاست isakmp کریپتو را نشان دهید
نشان دادن نقشه کریپتو
جزئیات isakmp sa کریپتو را نشان دهید
crypto ipsec sa را نشان دهید
اتصالات موتور کریپتو را فعال نشان دهید

در عمل موارد زیر بسیار مفید است:


AT دنیای مدرنفن آوری های مختلف VPN در همه جا استفاده می شود. برخی (به عنوان مثال، PPTP) در طول زمان به عنوان ناامن شناخته می شوند و به تدریج از بین می روند، در حالی که برخی دیگر (OpenVPN)، برعکس، هر سال شتاب بیشتری به دست می آورند. اما رهبر بلامنازع و قابل تشخیص ترین فناوری برای ایجاد و حفظ کانال های خصوصی امن هنوز IPsec VPN است. گاهی اوقات، هنگام پنتست کردن، می توانید یک شبکه کاملاً محافظت شده را پیدا کنید که تنها 500 امین پورت UDP بیرون زده است. هر چیز دیگری را می توان بسته، وصله کرد و به طور قابل اعتماد فیلتر کرد. در چنین شرایطی ممکن است این فکر به وجود بیاید که در اینجا کار خاصی وجود ندارد. اما همیشه اینطور نیست. علاوه بر این، به طور گسترده اعتقاد بر این است که IPsec، حتی در تنظیمات پیش فرض، غیرقابل نفوذ است و سطح مناسبی از امنیت را فراهم می کند. این دقیقاً همان وضعیتی است که امروز قرار است به آن نگاه کنیم. اما ابتدا، برای مبارزه با IPsec تا حد امکان مؤثر، باید بفهمید که چیست و چگونه کار می کند. این کاری است که ما انجام خواهیم داد!

IPsec از داخل

قبل از رفتن مستقیم به خود IPsec، خوب است به یاد بیاورید که به طور کلی چه نوع VPN وجود دارد. دسته‌بندی‌های VPN زیادی وجود دارد، اما ما عمیقاً در فناوری‌های شبکه فرو نمی‌رویم و ساده‌ترین آن‌ها را در نظر نمی‌گیریم. بنابراین، ما VPN را به دو نوع اصلی تقسیم می کنیم - اتصالات VPN سایت به سایت (همچنین می توان آنها را دائمی نامید) و VPN دسترسی از راه دور (RA، آنها نیز موقتی هستند).
نوع اول برای پیوند دائمی جزایر شبکه های مختلف، به عنوان مثال، یک دفتر مرکزی با بسیاری از شاخه های پراکنده عمل می کند. خوب، RA VPN سناریویی است که یک کلاینت برای مدت کوتاهی متصل می شود، به منابع شبکه خاصی دسترسی پیدا می کند و پس از اتمام کار، به طور ایمن قطع می شود.

این دومین گزینه ای است که برای ما جالب خواهد بود، زیرا در صورت حمله موفقیت آمیز، امکان دسترسی فوری به شبکه داخلیشرکتی که یک دستاورد کاملاً جدی برای یک پنتستر است. IPsec به نوبه خود به شما این امکان را می دهد که VPN را هم سایت به سایت و هم از راه دور پیاده سازی کنید. این فناوری چیست و از چه اجزایی تشکیل شده است؟

شایان ذکر است که IPsec یکی نیست، بلکه مجموعه ای کامل از پروتکل های مختلف است که حفاظت شفاف و ایمن از داده ها را فراهم می کند. ویژگی IPsec این است که در لایه شبکه پیاده سازی می شود و آن را به گونه ای تکمیل می کند که همه چیز به طور نامحسوس برای لایه های بعدی اتفاق می افتد. مشکل اصلی در این واقعیت نهفته است که در فرآیند برقراری ارتباط، دو شرکت کننده در یک کانال امن باید بر روی تعداد نسبتاً زیادی از پارامترهای مختلف توافق کنند. یعنی، آنها باید یکدیگر را احراز هویت کنند، کلیدها را تولید و مبادله کنند (و از طریق یک رسانه نامعتبر)، و همچنین توافق کنند که با کدام پروتکل ها داده ها را رمزگذاری کنند.

به همین دلیل است که IPsec از مجموعه ای از پروتکل ها تشکیل شده است که مسئولیت آن اطمینان از برقراری، اجرا و مدیریت یک اتصال ایمن است. کل فرآیند ایجاد اتصال شامل دو مرحله است: مرحله اول برای اطمینان استفاده می شود تبادل امنپیام های ISAKMP در حال حاضر در مرحله دوم هستند. ISAKMP (انجمن امنیت اینترنت) و کلیدپروتکل مدیریت پروتکلی است که برای مذاکره و به روز رسانی سیاست های امنیتی (SA) بین شرکت کنندگان در اتصال VPN استفاده می شود. این خط مشی ها فقط مشخص می کنند که با کدام پروتکل رمزگذاری شود (AES یا 3DES) و با کدام پروتکل احراز هویت شود (SHA یا MD5).

دو فاز اصلی IPsec

بنابراین، متوجه شدیم که در ابتدا شرکت کنندگان باید در مورد مکانیسم هایی که برای ایجاد یک اتصال امن استفاده می شود توافق کنند، بنابراین اکنون پروتکل IKE وارد عمل می شود. IKE (مبادله کلید اینترنت) برای تشکیل IPsec SA (انجمن امنیتی، همان سیاست های امنیتی)، به عبارت دیگر، برای هماهنگ کردن کار شرکت کنندگان در یک اتصال امن استفاده می شود. از طریق این پروتکل، شرکت کنندگان در مورد اینکه کدام الگوریتم رمزگذاری استفاده خواهد شد، کدام الگوریتم برای بررسی یکپارچگی و نحوه احراز هویت یکدیگر به توافق می رسند. لازم به ذکر است که امروزه دو نسخه از پروتکل وجود دارد: IKEv1 و IKEv2. ما فقط به IKEv1 علاقه مند خواهیم بود: علیرغم این واقعیت که IETF (گروه وظیفه مهندسی اینترنت) برای اولین بار آن را در سال 1998 معرفی کرد، هنوز هم بسیار رایج است، به خصوص برای RA VPN ها (شکل 1 را ببینید).

در مورد IKEv2، اولین پیش نویس آن در سال 2005 ساخته شد، به طور کامل در RFC 5996 (2010) توضیح داده شد و تنها در پایان سال گذشته به عنوان یک استاندارد اینترنتی (RFC 7296) اعلام شد. می توانید در مورد تفاوت های IKEv1 و IKEv2 در نوار کناری بیشتر بخوانید. پس از پرداختن به IKE، به مراحل IPsec برمی گردیم. در مرحله اول، شرکت‌کنندگان یکدیگر را احراز هویت می‌کنند و بر روی پارامترهای ایجاد یک اتصال ویژه که فقط برای تبادل اطلاعات در مورد الگوریتم‌های رمزگذاری مورد نظر و سایر جزئیات تونل IPsec آینده طراحی شده است، توافق می‌کنند. پارامترهای این تونل اول (که تونل ISAKMP نیز نامیده می شود) توسط خط مشی ISAKMP تعیین می شود. اول از همه، هش ها و الگوریتم های رمزگذاری توافق می شوند، سپس یک تبادل کلید Diffie-Hellman (DH) وجود دارد، و تنها پس از آن مشخص می شود که چه کسی چه کسی است. یعنی آخرین مرحله فرآیند احراز هویت یا توسط PSK- یا با کلید RSA است. و اگر طرفین به توافق برسند، یک تونل ISAKMP ایجاد می شود که فاز دوم IKE قبلاً از آن عبور می کند.

در مرحله دوم، شرکت کنندگانی که قبلاً به یکدیگر اعتماد دارند، در مورد چگونگی ساخت تونل اصلی برای انتقال مستقیم داده ها توافق می کنند. آنها گزینه های مشخص شده در پارامتر transform-set را به یکدیگر پیشنهاد می کنند و در صورت موافقت، تونل اصلی را بالا می برند. مهم است که تأکید کنیم که پس از ایجاد، تونل ثانویه ISAKMP به جایی نمی‌رسد - از آن برای به‌روزرسانی دوره‌ای SA تونل اصلی استفاده می‌شود. در نتیجه، IPsec به نوعی نه یک، بلکه دو تونل کامل ایجاد می کند.

نحوه پردازش داده ها

حالا چند کلمه در مورد transform-set. از این گذشته ، لازم است به نحوی داده هایی که از طریق تونل عبور می کنند رمزگذاری شوند. بنابراین، در یک پیکربندی معمولی، transform-set مجموعه ای از پارامترها است که به صراحت نحوه پردازش بسته را مشخص می کند. بر این اساس، دو گزینه برای چنین پردازش داده وجود دارد - اینها پروتکل های ESP و AH هستند. ESP (Encapsulating Security Payload) به طور مستقیم با رمزگذاری داده ها سر و کار دارد و همچنین می تواند یکپارچگی داده ها را بررسی کند. AH (Authentication Header)، به نوبه خود، تنها مسئول احراز هویت منبع و بررسی صحت داده ها است.

به عنوان مثال، دستور crypto ipsec transform-set SET10 esp-aes به روتر می گوید که مجموعه تبدیل به نام SET10 فقط باید با پروتکل ESP و با رمزگذاری AES کار کند. با نگاهی به آینده، می گویم که از این پس از روترها و فایروال های سیسکو به عنوان هدف استفاده خواهیم کرد. در واقع، همه چیز با ESP کم و بیش روشن است، وظیفه آن رمزگذاری و در نتیجه اطمینان از محرمانگی است، اما چرا ما به AH نیاز داریم؟ AH احراز هویت داده ها را ارائه می دهد، یعنی تأیید می کند که این داده ها از کسی است که ما با او ارتباط برقرار کرده ایم و در طول مسیر تغییر نکرده است. چیزی که گاهی اوقات محافظت ضد پخش نامیده می شود را فراهم می کند. در شبکه های مدرن، AH عملا استفاده نمی شود، فقط ESP را می توان در همه جا یافت.

پارامترهای (با نام مستعار SA) که برای رمزگذاری اطلاعات در یک تونل IPsec انتخاب می‌شوند، یک عمر دارند که پس از آن باید جایگزین شوند. طول عمر پیش فرض IPsec SA 86400 ثانیه یا 24 ساعت است.
در نتیجه، شرکت کنندگان یک تونل رمزگذاری شده با پارامترهای مناسب برای همه آنها دریافت کردند و جریان های داده را برای رمزگذاری در آنجا ارسال کردند. به طور دوره ای، مطابق با طول عمر، کلیدهای رمزگذاری برای تونل اصلی به روز می شوند: شرکت کنندگان از طریق تونل ISAKMP مجدداً متصل می شوند، مرحله دوم را طی می کنند و SA را مجدداً ایجاد می کنند.

حالت های IKEv1

ما مکانیک های اساسی نحوه عملکرد IPsec را به عنوان اولین تقریب بررسی کرده ایم، اما چند چیز دیگر وجود دارد که باید روی آنها تمرکز کرد. فاز اول، از جمله موارد دیگر، می تواند در دو حالت کار کند: حالت اصلی یا حالت تهاجمی. ما قبلاً اولین گزینه را در بالا در نظر گرفته ایم، اما به حالت تهاجمی علاقه مندیم. در این حالت از سه پیام (به جای شش پیام در حالت اصلی) استفاده می شود. در همان زمان، کسی که اتصال را آغاز می کند، تمام داده های خود را به یکباره می دهد - آنچه را که می خواهد و می تواند انجام دهد، و همچنین بخشی از تبادل DH خود را. سپس طرف دیگر بلافاصله بخش خود را از نسل DH تکمیل می کند. در نتیجه در این حالت در واقع فقط دو مرحله وجود دارد. یعنی دو مرحله اول از حالت اصلی (هماهنگی هش ها و تبادل DH) به طور معمول در یکی فشرده می شوند. در نتیجه، این حالت بسیار خطرناک تر است به این دلیل که بسیاری از اطلاعات فنیدر متن ساده و مهمتر از همه، دروازه VPN می تواند یک هش از رمز عبوری که برای احراز هویت در مرحله اول استفاده می شود را ارسال کند (این رمز عبور معمولاً کلید مشترک یا PSK نامیده می شود).

خوب، تمام رمزگذاری های بعدی، طبق معمول، بدون تغییر رخ می دهد. پس چرا هنوز از این رژیم استفاده می شود؟ واقعیت این است که سرعت آن بسیار بیشتر است، تقریباً دو برابر سریعتر. جالب توجه خاص برای pentester این واقعیت است که حالت تهاجمی اغلب در RA IPsec VPN استفاده می شود. یکی دیگر از ویژگی های کوچک RA IPsec VPN در هنگام استفاده از حالت تهاجمی: هنگامی که مشتری به سرور دسترسی پیدا می کند، یک شناسه (نام گروه) برای آن ارسال می کند. نام گروه تونل (نگاه کنید به شکل 2) نام ورودی است که شامل مجموعه ای از سیاست ها برای این اتصال IPsec است. این یکی از ویژگی های خاص تجهیزات سیسکو است.


دو فاز کافی نبود

به نظر می رسد که معلوم می شود و بنابراین خیلی زیاد نیست مدار سادهکار، اما در واقعیت هنوز کمی پیچیده تر است. با گذشت زمان مشخص شد که تنها یک PSK برای تضمین امنیت کافی نیست. به عنوان مثال، اگر ایستگاه کاری یک کارمند به خطر بیفتد، مهاجم می تواند بلافاصله به کل شبکه داخلی شرکت دسترسی پیدا کند. بنابراین، فاز 1.5 درست بین فازهای کلاسیک اول و دوم توسعه یافت. به هر حال، این مرحله معمولاً در یک اتصال VPN استاندارد سایت به سایت استفاده نمی شود، اما هنگام سازماندهی اتصالات VPN از راه دور (مورد ما) استفاده می شود. این مرحله شامل دو افزونه جدید است - احراز هویت گسترده (XAUTH) و حالت پیکربندی (MODECFG).

XAUTH یک احراز هویت اضافی کاربر در پروتکل IKE است. گاهی اوقات از این احراز هویت به عنوان دومین عامل IPsec یاد می شود. خوب، MODECFG در خدمت انتقال است اطلاعات اضافیمشتری، می تواند یک آدرس IP، یک ماسک، یک سرور DNS و غیره باشد. مشاهده می شود که این مرحله به سادگی مکمل مواردی است که قبلاً در نظر گرفته شده بود، اما مفید بودن آن غیرقابل انکار است.

IKEv2 در مقابل IKEv1

هر دو پروتکل روی پورت UDP شماره 500 کار می کنند، اما با یکدیگر ناسازگار هستند، این وضعیت برای IKEv1 در یک انتهای تونل و IKEv2 در انتهای دیگر مجاز نیست. در اینجا تفاوت های اصلی بین نسخه دوم و اول وجود دارد:

  • در IKEv2 دیگر مفهومی به عنوان حالت تهاجمی یا اصلی وجود ندارد.
  • در IKEv2، اصطلاح فاز اول با IKE_SA_INIT (مبادله دو پیام که مذاکره پروتکل های رمزگذاری / هش و تولید کلیدهای DH را تضمین می کند) و فاز دوم با IKE_AUTH (همچنین دو پیام که احراز هویت واقعی را اجرا می کنند) جایگزین می شود.
  • Mode Config (آنچه در IKEv1 فاز 1.5 نامیده می شد) اکنون مستقیماً در مشخصات پروتکل توضیح داده شده است و بخشی جدایی ناپذیر از آن است.
  • IKEv2 یک مکانیسم اضافی برای محافظت در برابر حملات DoS اضافه می کند. ماهیت آن این است که قبل از پاسخ به هر درخواست در ایجاد یک اتصال ایمن (IKE_SA_INIT) IKEv2، دروازه VPN یک کوکی به منبع چنین درخواستی ارسال می کند و منتظر پاسخ می ماند. اگر منبع پاسخ داد - همه چیز مرتب است، می توانید با آن شروع به تولید DH کنید. اگر منبع پاسخ ندهد (که در مورد حمله DoS اتفاق می افتد، این تکنیک مشابه TCP است. سیل SYN، سپس دروازه VPN به سادگی آن را فراموش می کند. بدون این مکانیسم، با هر درخواستی از هر کسی، دروازه VPN سعی می کند یک کلید DH (که یک فرآیند نسبتاً فشرده منابع است) تولید کند و به زودی با مشکل مواجه می شود. در نتیجه، با توجه به این واقعیت که اکنون همه عملیات ها نیاز به تأیید از طرف دیگر اتصال دارند، ایجاد تعداد زیادی جلسه نیمه باز در دستگاه مورد حمله غیرممکن است.

به سمت مرز می رویم

پس از فهمیدن ویژگی‌های نحوه عملکرد IPsec و اجزای آن، می‌توانیم به موضوع اصلی برویم - به حملات عملی. توپولوژی بسیار ساده و در عین حال نزدیک به واقعیت خواهد بود (شکل 3 را ببینید).


اولین قدم تعیین وجود یک دروازه IPsec VPN است. شما می توانید این کار را با انجام اسکن پورت انجام دهید، اما یک پیچ کوچک در اینجا وجود دارد. ISAKMP از پروتکل UDP، پورت 500 استفاده می کند، در حالی که اسکن پیش فرض با Nmap فقط بر پورت های TCP تأثیر می گذارد. و نتیجه یک پیام خواهد بود: همه 1000 پورت اسکن شده در 37.59.0.253 فیلتر شده اند.

به نظر می رسد همه پورت ها فیلتر هستند و هیچ پورت باز وجود ندارد. اما پس از اجرای دستور

Nmap -sU --top-ports=20 37.59.0.253 شروع Nmap 6.47 (http://nmap.org) در 2015-03-21 ساعت 12:29 GMT گزارش اسکن Nmap برای 37.59.0.253 میزبان (0.066 ثانیه با زمان تاخیر) . PORT STATE SERVICE 500/udp open isakmp

ما مطمئن می شویم که اینطور نیست و ما واقعاً یک دستگاه VPN در مقابل خود داریم.

حمله به فاز اول

اکنون ما به مرحله اول، حالت تهاجمی و احراز هویت کلید مشترک (PSK) علاقه مند خواهیم بود. در این سناریو، به یاد داشته باشید، دستگاه VPN یا پاسخ دهنده یک PSK هش شده را برای آغازگر ارسال می کند. یکی از معروف ترین ابزارهای آزمایشی برای آزمایش پروتکل IKE ike-scan است که در توزیع گنجانده شده است. کالی لینوکس. Ike-scan به شما امکان می دهد پیام های IKE را با پارامترهای مختلف ارسال کنید و بر این اساس بسته های پاسخ را رمزگشایی و تجزیه کنید. تلاش برای بررسی دستگاه مورد نظر:

[ایمیل محافظت شده]:~# ike-scan -M -A 37.59.0.253 0 handshake return; 0 برگشته اطلاع دهید

سوئیچ -A نشان می دهد که باید از حالت تهاجمی استفاده شود و -M نشان می دهد که نتایج باید خط به خط (چند خطی) برای خواندن راحت تر نمایش داده شوند. مشاهده می شود که نتیجه ای حاصل نشده است. دلیلش این است که باید همان شناسه یعنی نام گروه VPN را مشخص کنید. البته، ابزار ike-scan به شما این امکان را می دهد که این شناسه را به عنوان یکی از پارامترهای آن مشخص کنید. اما از آنجایی که هنوز برای ما ناشناخته است، بیایید یک مقدار دلخواه را برای مثال 0000 در نظر بگیریم.

[ایمیل محافظت شده]:~# ike-scan -M -A --id=0000 37.59.0.253 37.59.0.253 حالت تهاجمی Handshake بازگشت

این بار می بینیم که پاسخ دریافت شده است (نگاه کنید به شکل 5) و بسیار زیاد به ما ارائه شده است اطلاعات مفید. یک قطعه نسبتاً مهم از اطلاعات دریافتی، مجموعه تبدیل است. در مورد ما، می گوید "Enc=3DES Hash=SHA1 Group=2:modp1024 Auth=PSK".

همه این گزینه ها را می توان برای ابزار ike-scan با استفاده از سوئیچ --trans نیز مشخص کرد. برای مثال --trans=5،2،1،2 الگوریتم رمزگذاری 3DES، هش HMAC-SHA، روش احراز هویت PSK، و نوع دوم گروه DH (MODP 1024 بیتی) را می‌گویند. می توانید جداول نگاشت ارزش را در این آدرس مشاهده کنید. بیایید یک کلید دیگر (-P) اضافه کنیم تا محموله بسته را مستقیماً یا بهتر بگوییم هش PSK را نمایش دهیم.

[ایمیل محافظت شده]:~# ike-scan -M -A --id=0000 37.59.0.253 -P

غلبه بر اولین مشکلات

به نظر می رسد که هش دریافت شده است و می توانید سعی کنید آن را بی رحم کنید، اما همه چیز به این سادگی نیست. روزی روزگاری، در سال 2005، یک آسیب‌پذیری در برخی از سخت‌افزارهای سیسکو وجود داشت: این دستگاه‌ها تنها در صورتی هش را برمی‌گردانند که مهاجم مقدار ID صحیح را ارسال کند. در حال حاضر، البته، تقریباً غیرممکن است که چنین تجهیزاتی را برآورده کنید و مقدار هش شده همیشه ارسال می شود، صرف نظر از اینکه مهاجم مقدار ID صحیح را ارسال کرده است یا خیر. بدیهی است که هش اشتباه بی معنی است. بنابراین، اولین کار تعیین مقدار ID صحیح برای به دست آوردن هش صحیح است. و آسیب پذیری اخیراً کشف شده به ما در این امر کمک می کند. نکته این است که در هنگام تبادل اولیه پیام ها تفاوت جزئی بین پاسخ ها وجود دارد. به طور خلاصه، هنگام استفاده از نام گروه صحیح، چهار تلاش برای ادامه برقراری اتصال VPN، به علاوه دو بسته فاز 2 رمزگذاری شده وجود دارد. در حالی که در مورد یک شناسه نادرست، تنها دو بسته در پاسخ می‌رسند. همانطور که می بینید، تفاوت بسیار قابل توجه است، بنابراین SpiderLabs (نویسنده ابزار به همان اندازه جالب Responder) ابتدا PoC و سپس ابزار IKEForce را برای سوء استفاده از این آسیب پذیری توسعه داد.

قدرت IKE چیست؟

با اجرای دستور می توانید IKEForce را در یک دایرکتوری دلخواه نصب کنید

Git clone https://github.com/SpiderLabs/ikeforce

این در دو حالت اصلی کار می کند - حالت محاسبه -e (شمارش) و حالت brute force -b (bruteforce). وقتی به حملات بر روی عامل دوم نگاه می کنیم به دومی می رسیم، اما اکنون به عامل اول خواهیم پرداخت. قبل از شروع فرآیند واقعی تعیین ID، باید مقدار دقیق Transform-set را تنظیم کنید. قبلاً آن را تعریف کرده بودیم، بنابراین با گزینه -t 5 2 1 2 آن را مشخص می کنیم. در نتیجه، روند پیدا کردن شناسه به صورت زیر خواهد بود:

Python ikeforce.py 37.59.0.253 -e -w wordlists/group.txt -t 5 2 1 2

در نتیجه، مقدار ID صحیح به سرعت به دست آمد (شکل 7). مرحله اول گذشت، می توانید ادامه دهید.

PSK را دریافت کنید

اکنون لازم است با استفاده از نام گروه صحیح، هش PSK را در یک فایل ذخیره کنید، این کار را می توان با استفاده از ike-scan انجام داد:

Ike-scan -M -A --id=vpn 37.59.0.253 -Pkey.psk

و اکنون که مقدار شناسه صحیح انتخاب شده است و هش PSK صحیح به دست آمده است، در نهایت می توانیم brute force آفلاین را شروع کنیم. گزینه های زیادی برای چنین نیروی بی رحمانه ای وجود دارد - این ابزار کلاسیک psk-crack و John the Ripper (با یک پچ جمبو) و حتی oclHashcat است که همانطور که می دانید به شما امکان می دهد از قدرت GPU استفاده کنید. . برای سادگی، از psk-crack استفاده می کنیم که از حملات مستقیم brute force و دیکشنری پشتیبانی می کند:

Psk-crack -d /usr/share/ike-scan/psk-crack-dictionary key.psk

اما حتی بازیابی موفقیت آمیز PSK (نگاه کنید به شکل 8) تنها نیمی از کار است. در این مرحله، باید به یاد داشته باشیم که XAUTH و دومین فاکتور IPsec VPN منتظر ما هستند.

مقابله با فاکتور دوم IPsec

بنابراین، اجازه دهید به شما یادآوری کنم که XAUTH یک حفاظت اضافی، دومین عامل احراز هویت است و در فاز 1.5 است. می تواند چندین گزینه برای XAUTH وجود داشته باشد - این یک بررسی با استفاده از پروتکل RADIUS است و رمزهای عبور یکبار مصرف(OTP)، و پایگاه معمول کاربر محلی. ما روی وضعیت استانداردی که از پایگاه کاربر محلی برای بررسی عامل دوم استفاده می‌شود، تمرکز خواهیم کرد. تا همین اواخر، هیچ ابزار brute force XAUTH در دسترس عموم نبود. اما با ظهور IKEForce، این کار راه حل شایسته ای دریافت کرده است. نیروی بی رحم XAUTH به سادگی راه اندازی می شود:

Python ikeforce.py 37.59.0.253 -b -i vpn -k cisco123 -u admin -w wordlists/passwd.txt -t 5 2 1 2 [+]برنامه شروع شده در XAUTH Brute Force Mode [+]تک کاربر ارائه شده - اجبار بی رحمانه رمزهای عبور برای کاربر: admin [*]XAUTH احراز هویت با موفقیت انجام شد! نام کاربری: admin رمز عبور: cisco

در این مورد، تمام مقادیر قبلاً یافت شده نشان داده می شوند: ID (کلید -i)، PSK بازیابی شده (کلید -k) و ورود فرضی (کلید -u). IKEForce هم از جستجوی brute-force ورود و هم از تکرار در لیست ورودها پشتیبانی می کند که می تواند با پارامتر -U مشخص شود. در صورت مسدود شدن احتمالی مسابقه، گزینه -s وجود دارد که به شما امکان می دهد سرعت brute force را کاهش دهید. به هر حال، این ابزار دارای چندین فرهنگ لغت خوب است، به ویژه برای تنظیم مقدار پارامتر ID مفید است.

ورود به شبکه داخلی

اکنون که همه داده ها را در اختیار داریم، آخرین مرحله باقی می ماند - نفوذ واقعی به شبکه محلی. برای انجام این کار، ما به نوعی مشتری VPN نیاز داریم که تعداد زیادی از آنها وجود دارد. اما در مورد کالی، می توانید به راحتی از از پیش نصب شده - VPNC استفاده کنید. برای اینکه کار کند، باید یک فایل پیکربندی - /etc/vpnc/vpn.conf را تصحیح کنید. اگر وجود ندارد، باید تعدادی پارامتر واضح را ایجاد و پر کنید:

IPSec gateway 37.59.0.253 IPSec ID vpn IPSec secret cisco123 IKE Authmode psk Xauth نام کاربری admin Xauth رمز عبور سیسکو

در اینجا می بینیم که کاملاً از تمام داده های موجود در مراحل قبلی استفاده شده است - مقدار ID، PSK، ورود به سیستم و رمز عبور فاکتور دوم. پس از آن، خود اتصال با یک دستور رخ می دهد:

[ایمیل محافظت شده]:~# vpnc vpn

غیرفعال کردن نیز بسیار ساده است:

[ایمیل محافظت شده]:~# vpnc-disconnect

با استفاده از دستور ifconfig tun0 می توانید بررسی کنید که آیا اتصال کار می کند یا خیر.

نحوه ساخت حفاظ قوی

محافظت در برابر حملاتی که امروز در نظر گرفته می شود باید جامع باشد: باید وصله ها را به موقع نصب کنید، از کلیدهای از پیش مشترک دائمی استفاده کنید، که در صورت امکان، باید به طور کامل با گواهی های دیجیتال جایگزین شوند. خط مشی رمز عبور و سایر عناصر آشکار امنیت اطلاعات نیز نقش مهمی در تضمین امنیت دارند. همچنین لازم به ذکر است که وضعیت به تدریج در حال تغییر است و به مرور زمان فقط IKEv2 باقی خواهد ماند.

چه نتیجه ای دارد

ما فرآیند ممیزی RA IPsec VPN را با جزئیات پوشش داده ایم. بله، البته، این وظیفه به دور از اهمیت است. گام‌های زیادی باید برداشته شود و مشکلاتی ممکن است در انتظار هر یک از آنها باشد، اما در صورت موفقیت، نتیجه بیش از چشم‌گیر است. دستیابی به منابع داخلی شبکه گسترده ترین دامنه را برای آن باز می کند اقدامات بیشتر. بنابراین، کسانی که مسئولیت حفاظت از محیط شبکه را بر عهده دارند، نباید به قالب های پیش فرض آماده تکیه کنند، بلکه هر لایه امنیتی را به دقت در نظر بگیرند. خوب، برای کسانی که تست های نفوذ را انجام می دهند، پورت UDP شناسایی شده 500 فرصتی است برای انجام تجزیه و تحلیل عمیق امنیت IPsec VPN و احتمالاً نتایج خوب.

0 این مقاله مروری بر IPSEC (IP Security) و پروتکل‌های IPSec مرتبط موجود در محصولات Cisco و برای ایجاد شبکه‌های خصوصی مجازی (VPN) ارائه می‌کند. در این مقاله تعریف می کنیم که IPSEC چیست و چه پروتکل ها و الگوریتم های امنیتی زیربنای IPSEC هستند.

مقدمه

IP Security مجموعه ای از پروتکل هایی است که با رمزگذاری، احراز هویت و امنیت در حمل و نقل بسته های IP سروکار دارد. اکنون شامل نزدیک به 20 پیشنهاد استاندارد و 18 RFC است.

محصولات Cisco VPN از مجموعه پروتکل IPSec استفاده می کنند که امروزه استاندارد صنعتی برای ارائه قابلیت های VPN غنی است. IPSec مکانیزمی را برای انتقال ایمن داده ها از طریق شبکه های IP فراهم می کند و از محرمانه بودن، یکپارچگی و اعتبار داده های منتقل شده از طریق شبکه های ناامن مانند اینترنت اطمینان می دهد. IPSec قابلیت های VPN زیر را در شبکه های سیسکو فراهم می کند:

  • حریم خصوصی داده ها. فرستنده داده های IPSec این توانایی را دارد که بسته ها را قبل از ارسال آنها از طریق شبکه رمزگذاری کند.
  • یکپارچگی داده. گیرنده داده‌های IPSec این توانایی را دارد که طرف‌هایی را که با آن ارتباط برقرار می‌کنند (دستگاه‌ها یا نرم‌افزارهایی که تونل‌های IPSec از آنجا شروع و پایان می‌یابند) و بسته‌های IPSec ارسال شده توسط آن طرف‌ها را تأیید کند تا اطمینان حاصل شود که داده‌ها در حین انتقال اصلاح نشده‌اند.
  • احراز هویت مبدا داده ها. گیرنده IPSec این قابلیت را دارد که منبع بسته های IPSec دریافتی خود را احراز هویت کند. این سرویس به سرویس یکپارچگی داده بستگی دارد.
  • محافظت از بازی. یک گیرنده IPSec می تواند بسته های بازپخش شده را شناسایی و رد کند و از جعل شدن آنها و حملات انسان در میان جلوگیری کند.

IPSec مجموعه ای از پروتکل ها و الگوریتم های امنیتی مبتنی بر استاندارد است. فناوری IPSec و پروتکل‌های امنیتی مرتبط با استانداردهای باز که توسط IETF (گروه وظیفه مهندسی اینترنت) حفظ شده و در مشخصات RFC و پیش‌نویس‌های IETF شرح داده شده است، مطابقت دارد. IPSec در لایه شبکه عمل می کند و امنیت و احراز هویت را برای بسته های IP ارسال شده بین دستگاه های IPSec (طرفین) مانند روترهای Cisco، فایروال های PIX، مشتریان و متمرکز کننده های Cisco VPN و بسیاری از محصولات دیگر که از IPSec پشتیبانی می کنند، فراهم می کند. پشتیبانی از IPSec امکان مقیاس بندی از کوچکترین تا شبکه های بسیار بزرگ را فراهم می کند.

انجمن امنیت (SA)

IPSec یک راه استاندارد برای احراز هویت و رمزگذاری ارتباطات بین طرفین در ارتباط ارائه می کند. برای ایمن سازی ارتباطات، IPSec از الگوریتم های رمزگذاری و احراز هویت استاندارد (به عنوان مثال، فرمول های ریاضی) به نام ترجمه استفاده می کند. IPSec از استانداردهای باز برای مذاکره کلید رمزگذاری و مدیریت اتصال استفاده می کند تا قابلیت همکاری بین طرفین را فراهم کند. فناوری IPSec روش هایی را ارائه می دهد که به طرفین IPSec اجازه می دهد در مورد استفاده توافق شده از خدمات "مذاکره" کنند. IPSec از انجمن های امنیتی برای تعیین پارامترهای مذاکره استفاده می کند.

انجمن دفاع(Security Association - SA) یک سیاست یا روش توافق شده برای مدیریت داده است که قرار است بین دو دستگاه طرف ارتباط رد و بدل شود. یکی از اجزای چنین سیاستی ممکن است الگوریتم مورد استفاده برای رمزگذاری داده ها باشد. هر دو طرف می توانند از الگوریتم یکسانی برای رمزگذاری و رمزگشایی استفاده کنند. پارامترهای SA معتبر در پایگاه داده امنیت (SAD) هر دو طرف ذخیره می‌شوند.

دو کامپیوتر در هر طرف SA، حالت، پروتکل، الگوریتم ها و کلیدهای مورد استفاده در SA را ذخیره می کنند. هر SA فقط در یک جهت استفاده می شود. دو SA برای ارتباط دو طرفه مورد نیاز است. هر SA یک حالت و پروتکل را پیاده سازی می کند. بنابراین، اگر نیاز به استفاده از دو پروتکل (مانند AH و ESP) برای یک بسته باشد، دو SA مورد نیاز است.

پروتکل تبادل کلید اینترنت (IKE) یک پروتکل ترکیبی است که خدمات خاصی را برای IPSec ارائه می‌کند، یعنی احراز هویت حزب IPSec، مذاکره درباره پارامترهای ارتباط امنیتی IKE و IPSec، و انتخاب کلید برای الگوریتم‌های رمزگذاری مورد استفاده در IPSec. پروتکل IKE بر اساس پروتکل های انجمن امنیت اینترنت و پروتکل مدیریت کلید (ISAKMP) و پروتکل های Oakley است که برای کنترل تولید و پردازش کلیدهای رمزگذاری مورد استفاده در تبدیل IPSec استفاده می شود. پروتکل IKE همچنین برای ایجاد ارتباطات امنیتی بین طرف های بالقوه IPSec استفاده می شود.
هر دو IKE و IPSec از تداعی های امنیتی برای تعیین پارامترهای ارتباطی استفاده می کنند.
IKE از مجموعه ای از توابع اولیه مختلف برای استفاده در پروتکل ها پشتیبانی می کند. از جمله آنها می توان به تابع هش و تابع شبه تصادفی (PRF) اشاره کرد.

تابع هشیک عملکرد مقاوم در برابر برخورد است. منظور از مقاومت در برابر برخورد این است که یافتن دو پیام مختلف m1 و m2 غیرممکن است به طوری که

H(m1)=H(m2)، که در آن H تابع هش است.

با توجه به توابع شبه تصادفی، در حال حاضر به جای PRF های خاص، از یک تابع هش در طراحی HMAC استفاده می شود (HMAC مکانیزم احراز هویت پیام با استفاده از توابع هش است). برای تعیین HMAC، به یک تابع هش رمزنگاری (که با H مشخص می شود) و یک کلید مخفی K نیاز داریم. فرض می کنیم که H است. تابع هش، که در آن داده ها با استفاده از یک روش فشرده سازی به صورت متوالی بر روی یک توالی از بلوک های داده هش می شوند. طول این بلوک‌ها را با B نشان می‌دهیم و طول بلوک‌های به‌دست‌آمده در نتیجه هش را به صورت L (L) نشان می‌دهیم.
iPad = بایت 0x36 تکرار B بار.
opad = بایت 0x5C تکرار B بار.

برای محاسبه HMAC از داده های "متن"، باید عملیات زیر را انجام دهید:

H(K XOR opad، H(K XOR iPad، متن))

از توضیحات بر می آید که IKE از مقادیر HASH برای احراز هویت طرفین استفاده می کند. توجه داشته باشید که HASH در این مورد فقط به معنای نام Payload در ISAKMP است و این نام هیچ ارتباطی با محتوای آن ندارد.

زیرساخت IPSec

VPN های IPSec را می توان با استفاده از دستگاه های مختلف سیسکو ساخت - روترهای سیسکو، فایروال های Cisco Secure PIX، نرم افزار مشتری Cisco Secure VPN و متمرکز کننده های سری Cisco VPN 3000 و 5000. iOS، که پیچیدگی را کاهش می دهد. راه حل های شبکهو با امکان ایجاد حفاظت چند سطحی از خدمات ارائه شده، هزینه کلی VPN را کاهش می دهد. فایروال PIX عملکرد بالایی دارد دستگاه شبکه، که می تواند به نقاط انتهایی تونل خدمت کند و به آنها مقدار بالایی ارائه دهد توان عملیاتیو زیبا عملکرددیواره آتش. نرم افزارمشتری CiscoSecure VPN از سخت ترین الزامات VPN پشتیبانی می کند دسترسی از راه دوربرای عملیات تجارت الکترونیک و برنامه های کاربردی دسترسی به تلفن همراه، ارائه اجرای کامل استانداردهای IPSec و اطمینان از تعامل قابل اعتماد بین روترهای سیسکو و فایروال های PIX.

نحوه عملکرد IPSec


IPSec بر تعدادی راه حل تکنولوژیکی و روش های رمزگذاری متکی است، اما عملکرد IPSec را می توان در مراحل اصلی زیر خلاصه کرد:
  • مرحله 1: فرآیند IPSec را شروع کنید.ترافیکی که باید طبق خط مشی امنیتی IPSec مورد مذاکره طرفین IPSec رمزگذاری شود، فرآیند IKE را شروع می کند.
  • مرحله 2 فاز IKE. فرآیند IKE احراز هویت طرف‌های IPSec را تأیید می‌کند و در مورد پارامترهای ارتباط امنیتی IKE مذاکره می‌کند، که یک کانال امن برای مذاکره با پارامترهای ارتباط امنیتی IPSec در مرحله دوم IKE ایجاد می‌کند.
  • مرحله 3 فاز 2 IKE. فرآیند IKE پارامترهای ارتباط امنیتی IPSec را مورد مذاکره قرار می دهد و انجمن های امنیتی IPSec مناسب را برای دستگاه های طرف ارتباط ایجاد می کند.
  • مرحله 4. انتقال داده ها. ارتباط بین طرف های ارتباط دهنده IPSec انجام می شود که بر اساس پارامترهای IPSec و کلیدهای ذخیره شده در پایگاه داده انجمن امنیتی است.
  • مرحله 5: تونل IPSec را خاتمه دهید. انجمن های امنیتی IPSec یا به دلیل حذف آنها یا به دلیل اینکه از حد طول عمر خود فراتر رفته اند، خاتمه می یابند.
بخش های بعدی این مراحل را با جزئیات بیشتری توضیح می دهند.

پیشینه تاریخی مختصری از ظهور پروتکل

در سال 1994، هیئت معماری اینترنت (IAB) گزارش "امنیت معماری اینترنت" را منتشر کرد. این سند زمینه های اصلی استفاده از ابزارهای امنیتی اضافی در اینترنت، یعنی محافظت در برابر نظارت غیرمجاز، جعل بسته ها، و کنترل جریان داده را شرح می دهد. در میان اولویت‌ها و مهمترین اقدامات حفاظتی، نیاز به توسعه مفهوم و مکانیسم‌های اساسی برای اطمینان از یکپارچگی و محرمانه بودن جریان داده‌ها مشخص شد. از آنجایی که تغییر در پروتکل های اصلی خانواده TCP / IP باعث بازسازی کامل اینترنت می شود، وظیفه اطمینان از امنیت تبادل اطلاعات در شبکه های مخابراتی باز بر اساس پروتکل های موجود بود. بنابراین، مشخصات IP امن علاوه بر پروتکل های IPv4 و IPv6 شروع به ایجاد کرد.

معماری IPSec

IP Security مجموعه ای از پروتکل هایی است که با رمزگذاری، احراز هویت و امنیت در حمل و نقل بسته های IP سروکار دارد. اکنون شامل نزدیک به 20 پیشنهاد استاندارد و 18 RFC است.
مشخصات IP Security (که امروزه به عنوان IPsec شناخته می شود) توسط گروه کاری پروتکل امنیت IP IETF در حال توسعه است. در ابتدا، IPsec شامل 3 مشخصات پایه مستقل از الگوریتم بود که به عنوان RFCهای "معماری امنیت IP"، "Authentication Header (AH)"، "Encrypted Data Encapsulation (ESP)" (RFC1825، 1826 و 1827) منتشر شد. لازم به ذکر است که در نوامبر 1998، گروه کاری پروتکل امنیت IP نسخه های جدیدی از این مشخصات را پیشنهاد کرد که در حال حاضر دارای وضعیت استانداردهای اولیه هستند، اینها RFC2401 - RFC2412 هستند. توجه داشته باشید که RFC1825-27 چندین سال است که منسوخ شده و واقعاً استفاده نمی شود. علاوه بر این، چندین مشخصات وابسته به الگوریتم وجود دارد که از پروتکل های MD5، SHA، DES استفاده می کنند.

عکس. 1. معماری IPSec

گروه کاری پروتکل امنیت IP همچنین پروتکل های مدیریت اطلاعات کلیدی را توسعه می دهد. وظیفه این گروه توسعه پروتکل مدیریت کلید اینترنت (IKMP)، یک پروتکل مدیریت کلید لایه کاربردی است که مستقل از پروتکل های امنیتی مورد استفاده است. مفاهیم مدیریت کلید در حال حاضر با استفاده از مشخصات انجمن امنیت اینترنت و پروتکل مدیریت کلید (ISAKMP) و پروتکل تعیین کلید Oakley در حال بررسی هستند. مشخصات ISAKMP مکانیسم‌های مذاکره با ویژگی‌های پروتکل‌های مورد استفاده را توصیف می‌کند، در حالی که پروتکل Oakley به شما امکان می‌دهد کلیدهای جلسه را روی رایانه‌های روی اینترنت تنظیم کنید. پیش از این، امکانات استفاده از مکانیسم های مدیریت کلید SKIP نیز مورد توجه قرار می گرفت، اما در حال حاضر چنین امکاناتی عملاً در هیچ کجا استفاده نمی شود. استانداردهای مدیریت اطلاعات کلیدی که در حال ایجاد هستند احتمالاً از مراکز توزیع کلیدی مشابه موارد استفاده شده در سیستم Kerberos پشتیبانی می کنند. پروتکل ها مدیریت کلیدیبرای IPSec مبتنی بر Kerberos، گروه کاری نسبتاً جدید KINK (مذاکره اینترنتی کلیدهای Kerberized) در حال حاضر روی آن کار می کند.
تضمین یکپارچگی و محرمانه بودن داده ها در مشخصات IPsec به ترتیب با استفاده از مکانیسم های احراز هویت و رمزگذاری ارائه می شود. دومی به نوبه خود بر اساس توافق اولیه طرفین در مورد به اصطلاح تبادل اطلاعات است. "زمینه امنیتی" - الگوریتم های رمزنگاری کاربردی، الگوریتم های مدیریت اطلاعات کلیدی و پارامترهای آنها. مشخصات IPsec برای طرفین امکان تبادل اطلاعات برای پشتیبانی از پروتکل ها و پارامترهای مختلف برای احراز هویت و رمزگذاری بسته های داده و همچنین طرح های مختلف توزیع کلید را فراهم می کند. در این مورد، نتیجه مذاکره در زمینه امنیت، ایجاد یک شاخص پارامترهای امنیتی (SPI) است که نشانگر عنصر خاصی از ساختار داخلی سمت تبادل اطلاعات است که مجموعه‌های احتمالی پارامترهای امنیتی را توصیف می‌کند.
در واقع، IPSec که بخشی از IPv6 خواهد شد، در لایه سوم، یعنی در لایه شبکه عمل می کند. در نتیجه، بسته های IP ارسال شده به گونه ای محافظت می شوند که برای برنامه ها و زیرساخت های شبکه شفاف باشد. برخلاف SSL (لایه سوکت ایمن) که در لایه چهارم (یعنی حمل و نقل) عمل می کند و بیشتر با لایه های بالاتر مدل OSI مرتبط است، IPSec برای ارائه امنیت سطح پایین طراحی شده است.

شکل 2. مدل OSI/ISO

IPSec یک هدر به داده های IP اضافه می کند که آماده ارسال از طریق VPN برای شناسایی بسته های محافظت شده است. قبل از انتقال از طریق اینترنت، این بسته ها در بسته های IP دیگر محصور می شوند. IPSec از چندین نوع رمزگذاری پشتیبانی می کند، از جمله Data Encryption Standard (DES) و Message Digest 5 (MD5).
برای ایجاد یک اتصال ایمن، هر دو شرکت کننده جلسه باید بتوانند به سرعت در مورد پارامترهای امنیتی مانند الگوریتم ها و کلیدهای احراز هویت به توافق برسند. IPSec از دو نوع طرح مدیریت کلیدی پشتیبانی می کند که از طریق آن شرکت کنندگان می توانند پارامترهای جلسه را مورد مذاکره قرار دهند. این حمایت دوگانه باعث ایجاد اصطکاک در گروه کاری IETF در آن زمان شد.
از جانب نسخه فعلی IP، IPv4، یا پروتکل مدیریت کلید انجمن امن اینترنت (ISAKMP) یا مدیریت کلید ساده برای پروتکل اینترنت را می توان استفاده کرد. با نسخه جدید IP، IPv6، ISAKMP که اکنون با نام IKE شناخته می شود، باید استفاده شود، اگرچه SKIP هنوز امکان پذیر است. با این حال، باید در نظر داشت که SKIP دیگر یک کاندیدای مدیریت کلیدی محسوب نمی شود و از اوایل سال 1997 از لیست نامزدهای احتمالی حذف شد.

هدرهای AH و ESP

هدر احراز هویت AH

سربرگ احراز هویت (AH) یک هدر اختیاری معمولی است و معمولاً بین هدر بسته IP اصلی و فیلد داده قرار دارد. وجود AH بر روند انتقال اطلاعات لایه های حمل و نقل و بالاتر تأثیر نمی گذارد. هدف اصلی و تنها AH محافظت در برابر حملات مرتبط با تغییرات غیرمجاز در محتویات بسته، از جمله جعل آدرس منبع است. لایه شبکه. پروتکل ها تمام شد سطح بالابرای تأیید صحت داده های دریافتی باید اصلاح شود.
فرمت AH بسیار ساده است و از یک سربرگ 96 بیتی و داده های طول متغیر از کلمات 32 بیتی تشکیل شده است. نام فیلدها محتویات خود را کاملاً واضح نشان می دهد: Next Header نشان دهنده هدر بعدی است، Payload Len طول بسته را نشان می دهد، SPI نشانگر زمینه امنیتی است و فیلد Sequence Number حاوی شماره دنباله بسته است.

شکل 3. فرمت هدر AH

شماره توالی بسته در سال 1997 طی فرآیند بازنگری مشخصات IPsec به AH معرفی شد. مقدار این فیلد توسط فرستنده ایجاد می شود و برای محافظت در برابر حملات مربوط به استفاده مجدد از داده های فرآیند احراز هویت استفاده می شود. از آنجایی که اینترنت ترتیب تحویل بسته‌ها را تضمین نمی‌کند، گیرنده باید اطلاعاتی را در مورد حداکثر تعداد توالی بسته‌ای که با موفقیت احراز هویت شده است، و در مورد دریافت تعداد معینی از بسته‌های حاوی شماره‌های توالی قبلی (معمولاً این شماره عبارت است از 64).
برخلاف الگوریتم‌های محاسبه جمع کنترلی که در پروتکل‌های انتقال اطلاعات از طریق خطوط ارتباطی شماره‌گیری یا از طریق کانال‌های LAN و بر تصحیح خطاهای تصادفی در رسانه انتقال استفاده می‌شود، مکانیسم‌های یکپارچگی داده‌ها در شبکه‌های مخابراتی باز باید ابزارهای محافظتی در برابر ایجاد تغییرات هدفمند داشته باشند. . یکی از این مکانیسم ها کاربرد ویژه الگوریتم MD5 است: در طول تشکیل AH، یک تابع هش به طور متوالی از ترکیب خود بسته و مقداری کلید از پیش توافق شده و سپس از ترکیب نتیجه و تبدیل شده محاسبه می شود. کلید این مکانیزم به‌طور پیش‌فرض به منظور ارائه تمام پیاده‌سازی‌های IPv6 با حداقل یک الگوریتم رایج که مشمول محدودیت‌های صادراتی نیست، اعمال می‌شود.

کپسوله سازی داده های ESP رمزگذاری شده

در مورد کپسوله کردن داده های رمزگذاری شده، هدر ESP آخرین هدر اختیاری است که در بسته قابل مشاهده است. از آنجایی که هدف اصلی ESP اطمینان از محرمانه بودن داده ها است، انواع مختلف اطلاعات ممکن است نیاز به استفاده از الگوریتم های رمزگذاری متفاوت داشته باشند. بنابراین، فرمت ESP بسته به الگوریتم های رمزنگاری مورد استفاده می تواند دستخوش تغییرات قابل توجهی شود. با این حال، فیلدهای اجباری زیر را می توان متمایز کرد: SPI که زمینه امنیتی را نشان می دهد و فیلد Sequence Number حاوی شماره دنباله بسته. فیلد «ESP Authentication Data» (جمع بررسی) در هدر ESP اختیاری است. گیرنده بسته ESP هدر ESP را رمزگشایی می کند و از پارامترها و داده های الگوریتم رمزگذاری اعمال شده برای رمزگشایی اطلاعات لایه انتقال استفاده می کند.

شکل 4. فرمت هدر ESP

دو حالت استفاده از ESP و AH (و همچنین ترکیب آنها) وجود دارد - حمل و نقل و تونل:
حالت انتقال برای رمزگذاری فیلد داده یک بسته IP حاوی پروتکل های لایه انتقال (TCP، UDP، ICMP) استفاده می شود که به نوبه خود حاوی اطلاعات سرویس برنامه است. یک مثال از یک برنامه کاربردی حالت حمل و نقل، انتقال است پست الکترونیک. تمام گره های میانی در مسیر بسته از فرستنده تا گیرنده فقط از اطلاعات لایه شبکه عمومی و احتمالاً برخی از سرصفحه های بسته اختیاری (در IPv6) استفاده می کنند. نقطه ضعف حالت حمل و نقل عدم وجود مکانیزم برای مخفی کردن فرستنده و گیرنده خاص بسته و همچنین امکان تجزیه و تحلیل ترافیک است. نتیجه چنین تحلیلی می تواند اطلاعاتی در مورد حجم و جهت انتقال اطلاعات، حوزه های مورد علاقه مشترکین، مکان مدیران باشد.
حالت تونل کل بسته، از جمله هدر لایه شبکه را رمزگذاری می کند. حالت تونل زمانی استفاده می شود که لازم باشد تبادل اطلاعات سازمان با دنیای خارج پنهان شود. در عین حال، فیلدهای آدرس هدر لایه شبکه یک بسته با استفاده از حالت تونل توسط فایروال سازمان پر می شود و حاوی اطلاعاتی در مورد فرستنده خاص بسته نیست. هنگام انتقال اطلاعات از دنیای خارج به شبکه محلی سازمان، آدرس شبکه فایروال به عنوان آدرس مقصد استفاده می شود. پس از اینکه فایروال هدر لایه اولیه شبکه را رمزگشایی کرد، بسته به گیرنده ارسال می شود.

انجمن های امنیتی

یک انجمن امنیتی (SA) اتصالی است که خدمات امنیتی را برای ترافیکی که از آن عبور می کند ارائه می دهد. دو کامپیوتر در هر طرف SA، حالت، پروتکل، الگوریتم ها و کلیدهای مورد استفاده در SA را ذخیره می کنند. هر SA فقط در یک جهت استفاده می شود. دو SA برای ارتباط دو طرفه مورد نیاز است. هر SA یک حالت و پروتکل را پیاده سازی می کند. بنابراین، اگر نیاز به استفاده از دو پروتکل (مانند AH و ESP) برای یک بسته باشد، دو SA مورد نیاز است.

خط مشی امنیتی

خط مشی امنیتی در SPD (پایگاه داده سیاست امنیتی) ذخیره می شود. SPD می تواند یکی از سه عمل را برای بسته داده مشخص کند: بسته را دور بیندازید، بسته را با IPSec پردازش نکنید، بسته را با IPSec پردازش کنید. در مورد دوم، SPD همچنین مشخص می کند که از کدام SA استفاده شود (البته با فرض اینکه SA مناسب قبلاً ایجاد شده است) یا مشخص می کند که SA جدید با چه پارامترهایی باید ایجاد شود.
SPD یک مکانیسم کنترلی بسیار انعطاف پذیر است که اجازه می دهد تا بسیار مدیریت خوبپردازش هر بسته بسته ها بر اساس تعداد زیادی فیلد طبقه بندی می شوند و SPD ممکن است برخی یا همه فیلدها را برای تعیین اقدام مناسب بررسی کند. این می تواند منجر به ارسال تمام ترافیک بین دو ماشین با استفاده از یک SA منفرد یا استفاده از SAهای جداگانه برای هر برنامه یا حتی برای هر اتصال TCP شود.

پروتکل ISAKMP/Oakley

پروتکل ISAKMP ساختار کلی پروتکل هایی را تعریف می کند که برای ایجاد SA و انجام سایر عملکردهای مدیریت کلیدی استفاده می شوند. ISAKMP از چندین Domain of Interpretation (DOI) پشتیبانی می کند که یکی از آنها IPSec-DOI است. ISAKMP یک پروتکل کامل تعریف نمی کند، اما "بلوک های ساختمانی" را برای DOI های مختلف و پروتکل های تبادل کلید فراهم می کند.
پروتکل Oakley یک پروتکل تعیین کلید با استفاده از الگوریتم جایگزینی کلید Diffie-Hellman است. پروتکل Oakley از Prefect Forward Secrecy (PFS) پشتیبانی می کند. وجود PFS به این معنی است که در صورت به خطر افتادن هر کلیدی در سیستم، نمی توان تمام ترافیک را رمزگشایی کرد.

پروتکل IKE

IKE پروتکل تبادل کلید پیش فرض برای ISAKMP است و در حال حاضر تنها پروتکل است. IKE در بالای ISAKMP قرار دارد و تأسیسات واقعی ISAKMP SA و IPSec SA را انجام می دهد. IKE از مجموعه ای از توابع اولیه مختلف برای استفاده در پروتکل ها پشتیبانی می کند. از جمله آنها می توان به تابع هش و تابع شبه تصادفی (PRF) اشاره کرد.
تابع هش تابعی است که در برابر برخورد مقاوم است. مقاومت در برابر برخورد به عنوان این واقعیت درک می شود که یافتن دو پیام مختلف m1 و m2 غیرممکن است به طوری که H(m1)=H(m2)، که در آن H یک تابع هش است.
با توجه به توابع شبه تصادفی، در حال حاضر به جای PRF های خاص، از یک تابع هش در طراحی HMAC استفاده می شود (HMAC مکانیزم احراز هویت پیام با استفاده از توابع هش است). برای تعریف HMAC، ما به یک تابع هش رمزنگاری (که با H نشان داده می‌شود) و یک کلید مخفی K نیاز داریم. فرض می‌کنیم که H یک تابع هش است که در آن داده‌ها با استفاده از یک روش فشرده‌سازی که به‌طور متوالی روی یک دنباله از بلوک‌های داده اعمال می‌شود، هش می‌شوند. طول این بلوک‌ها را با B نشان می‌دهیم و طول بلوک‌های به‌دست‌آمده در نتیجه هش را به صورت L (L) نشان می‌دهیم.

iPad = بایت 0x36 تکرار B بار.
opad = بایت 0x5C تکرار B بار.

برای محاسبه HMAC از داده های "متن"، باید عملیات زیر را انجام دهید:

H(K XOR opad، H(K XOR iPad، متن))

از توضیحات بر می آید که IKE از مقادیر HASH برای احراز هویت طرفین استفاده می کند. توجه داشته باشید که HASH در این مورد منحصراً به نام Payload در ISAKMP اشاره دارد و این نام هیچ ارتباطی با محتوای آن ندارد.

حملات به AH، ESP و IKE

همه انواع حملات به اجزای IPSec را می توان به گروه های زیر تقسیم کرد: حملاتی که از محدودیت منابع سیستم سوء استفاده می کنند (یک مثال معمولی حمله انکار سرویس، انکار سرویس یا حمله DOS)، حملاتی که از ویژگی ها استفاده می کنند و خطاهای یک پیاده سازی خاص IPSec و در نهایت حملات بر اساس نقاط ضعف خود پروتکل های AH و ESP. حملات صرفا رمزنگاری را می توان نادیده گرفت - هر دو پروتکل مفهوم "تبدیل" را تعریف می کنند، جایی که تمام رمزنگاری پنهان است. اگر الگوریتم رمزنگاری مورد استفاده مقاوم باشد و تبدیل تعریف شده با آن نقاط ضعف اضافی ایجاد نکند (این همیشه صادق نیست، بنابراین بهتر است که پایداری کل سیستم را در نظر بگیریم - Protocol-Transform-Algorithm)، سپس از این طرف همه چیز خوب است چه چیزی باقی می ماند؟ Replay Attack - با استفاده از Sequence Number تراز می شود (در یک مورد کار نمی کند - هنگام استفاده از ESP بدون احراز هویت و بدون AH). علاوه بر این، ترتیب اقدامات (ابتدا رمزگذاری، سپس احراز هویت) رد سریع بسته‌های «بد» را تضمین می‌کند (علاوه بر این، طبق آخرین تحقیقات در دنیای رمزنگاری، این امن‌ترین ترتیب اقدامات است، ترتیب معکوس در برخی موارد ، اگرچه موارد بسیار خاص، می تواند منجر به حفره های امنیتی بالقوه شود؛ خوشبختانه نه SSL، نه IKE و نه سایر پروتکل های رایج با پروتکل "اول احراز هویت، سپس رمزگذاری" به این موارد خاص تعلق ندارند و بنابراین این حفره ها را ندارند. ). آنچه باقی می ماند حمله Denial-Of-Service است.

همانطور که می دانید، این حمله ای است که در برابر آن هیچ محافظت کاملی وجود ندارد. با این حال، رد سریع بسته های بد و عدم وجود هرگونه واکنش خارجی به آنها (طبق RFC) امکان مقابله با این حمله را کم و بیش خوب می کند. در اصل، اکثر (اگر نه همه) حملات شبکه شناخته شده (خریدن، جعل، ربودن، و غیره) با موفقیت توسط AH و ESP زمانی که به درستی مورد استفاده قرار می گیرند، مقابله می کنند. با IKE، کار کمی پیچیده تر است. پروتکل بسیار پیچیده است، تجزیه و تحلیل آن دشوار است. علاوه بر این، به دلیل اشتباهات املایی (در فرمول محاسبه HASH_R) هنگام نوشتن آن و راه حل های نه کاملاً موفق (همان HASH_R و HASH_I)، حاوی چندین "حفره" بالقوه است (به ویژه، همه Payload های پیام در پیام تأیید نمی شوند. فاز اول)، با این حال، آنها خیلی جدی نیستند و حداکثر منجر به امتناع از برقراری ارتباط می شوند. IKE کم و بیش با موفقیت در برابر حملاتی مانند پخش مجدد، جعل، استشمام کردن، ربودن محافظت می شود. با رمزنگاری، تا حدودی پیچیده تر است - مانند AH و ESP به طور جداگانه ارائه نمی شود، اما در خود پروتکل پیاده سازی می شود. با این حال، هنگام استفاده از الگوریتم‌های پایدار و الگوریتم‌های اولیه (PRF)، نباید مشکلی وجود داشته باشد. تا حدودی می توان به عنوان ضعف IPsec در نظر گرفت که DES به عنوان تنها الگوریتم رمزنگاری اجباری برای پیاده سازی در مشخصات فعلی نشان داده شده است (این امر برای ESP و IKE صادق است) که 56 بیت از کلید آن دیگر در نظر گرفته نمی شود. کافی با این وجود، این یک ضعف کاملاً رسمی است - مشخصات خود مستقل از الگوریتم هستند و تقریباً همه فروشندگان مشهور مدت‌هاست که 3DES را پیاده‌سازی کرده‌اند (و برخی قبلاً AES را پیاده‌سازی کرده‌اند). بنابراین، اگر به درستی پیاده‌سازی شود، انکار سرویس همچنان به عنوان خطرناک ترین حمله

ارزیابی پروتکل IPSec

پروتکل IPSec نظرات متفاوتی از کارشناسان دریافت کرده است. از یک طرف، خاطرنشان می شود که پروتکل IPSec بهترین پروتکل در بین تمام پروتکل های دیگر برای محافظت از داده های منتقل شده از طریق شبکه است که قبلا توسعه یافته است (از جمله پروتکل توسعه یافته توسط Microsoft PPTP). به گفته طرف مقابل، پیچیدگی و افزونگی بیش از حد پروتکل وجود دارد. به عنوان مثال، نیلز فرگوسن و بروس اشنایر در کار خود "A Cryptographic Evaluation of IPsec" اشاره می کنند که تقریباً در تمام اجزای اصلی IPsec مشکلات امنیتی جدی پیدا کرده اند. این نویسندگان همچنین خاطرنشان می‌کنند که مجموعه پروتکل به کار زیادی نیاز دارد تا سطح خوبی از امنیت را فراهم کند.