DataNetSec-Dousti-11-VPN-v1.pdf

‫دانشگاه صنعتی شریف‬
‫دانشکده مهندسی کامپیوتر‬
‫آزمایشگاه امنیت داده و شبکه‬
‫‪http://dnsl.ce.sharif.edu‬‬
‫درس ‪ :11‬شبکه خصوصی مجازی‬
‫(‪)VPN‬‬
‫محمد صادق دوستی‬
‫‪1 / 62‬‬
‫امنیت داده و شبکه‬
‫محمد صادق دوستی‬
‫فهرست مطالب‬
‫‪ ‬مقدمه‌ای‌بر‌‪VPN‬‬
‫‪IPsec ‬‬
‫‪ ‬سبکهای ‪IPsec‬‬
‫‪IKEv1 ‬‬
‫‪IKEv2 ‬‬
‫‪ AH ‬و ‪ESP‬‬
‫‪2 / 62‬‬
‫امنیت داده و شبکه‬
‫محمد صادق دوستی‬
‫دو راهکار برای حفظ امنیت در سطح شبکه‬
‫‪ ‬به کار گیری شبکهای کامالً خصوصی و حفاظت فیزیکی از آن‬
‫‪‬مثال‪ :‬خطوط اجارهای (‪)Leased Line‬‬
‫‪‬حفاظت فیزیکی از شبکه امر دشواری است‪.‬‬
‫‪‬این راهکار بسیار گران است‪.‬‬
‫‪ ‬استتتفاده از یتتک شتتبکه ومتتومی و بتته کتتار گیتتری الگوریتمهتتا و‬
‫پروتکلهای رمزنگاری روی آن برای حفاظت از اطالوات‬
‫‪‬شبکه خصوصتی ماتازی (‪ Virtual Private Network‬یتا‬
‫‪)VPN‬‬
‫‪3 / 62‬‬
‫امنیت داده و شبکه‬
‫محمد صادق دوستی‬
‫انواع اتصاالت ‪ – VPN‬میزبان به میزبان‬
‫)‪Host to Host (H2H‬‬
‫‪4 / 62‬‬
‫امنیت داده و شبکه‬
‫محمد صادق دوستی‬
‫انواع اتصاالت ‪ – VPN‬میزبان به شبکه‬
‫)‪Host to Net (H2N‬‬
‫‪5 / 62‬‬
‫امنیت داده و شبکه‬
‫محمد صادق دوستی‬
‫انواع اتصاالت ‪ – VPN‬شبکه به شبکه‬
‫)‪Net to Net (N2N‬‬
‫‪6 / 62‬‬
‫امنیت داده و شبکه‬
‫محمد صادق دوستی‬
‫انواع همبندی (توپولوژی) ‪ – N2N‬اتصال مرکزی‬
‫‪Hub and Spoke‬‬
‫‪Hub‬‬
‫‪Spokes‬‬
‫‪7 / 62‬‬
‫امنیت داده و شبکه‬
‫محمد صادق دوستی‬
‫انواع همبندی (توپولوژی) ‪ – N2N‬اتصال ناقص‬
‫‪Partial Mesh‬‬
‫‪8 / 62‬‬
‫امنیت داده و شبکه‬
‫محمد صادق دوستی‬
‫انواع همبندی (توپولوژی) ‪ – N2N‬اتصال کامل‬
‫‪Full Mesh‬‬
‫‪9 / 62‬‬
‫امنیت داده و شبکه‬
‫محمد صادق دوستی‬
‫سایر انواع همبندی (توپولوژی) ‪N2N‬‬
‫‪ ‬همبندی تلفیقی‪ :‬تعدادی سایت مرکزی داریم‪ ،‬و هر سایت مرکزی‬
‫تعدادی شعبه دارد‪( .‬مثال‪ :‬مراکز استان و شهرستانهای کوچکتر)‬
‫‪‬معموالً سایتهای مرکزی به هم اتصال کامل دارند‪.‬‬
‫‪‬اتصال شعبهها با سایت مرکزی خود به صورت اتصتال مرکتزی یتا‬
‫اتصال ناقص است‪.‬‬
‫‪ ‬همبندی پویا (‪ Dynamic Multipoint VPN‬یا ‪)DMVPN‬‬
‫‪‬ایااد اتصاالت ‪ VPN‬به صورت پویا و نه ایستا‬
‫‪‬ستتایت مرکتتزی بتته ونتتوان واست برقتتراری ‪( VPN‬و نتته واست‬
‫ارتباطات بعدی)‬
‫‪10 / 62‬‬
‫امنیت داده و شبکه‬
‫محمد صادق دوستی‬
VPN ‫انواع پروتکلهای ایجاد‬
 IPsec
(IP Security)
 MPLS
 L2TP
 GRE
(Multiprotocol Label Switching)
(Layer Two Tunneling Protocol)
(Generic Routing Encapsulation)
 PPTP
(Point-to-Point Tunneling Protocol)
 OpenVPN
 SSTP
‫محمد صادق دوستی‬
 ‫تمرکز ما در این درس‬
(SSL/TLS ‫)مبتنی بر پروتکل‬
(Secure Socket Tunneling Protocol)
‫امنیت داده و شبکه‬
11 / 62
‫فهرست مطالب‬
‫‪ ‬مقدمهای بر ‪VPN‬‬
‫‪IPsec ‬‬
‫‪ ‬سبکهای ‪IPsec‬‬
‫‪IKEv1 ‬‬
‫‪IKEv2 ‬‬
‫‪ AH ‬و ‪ESP‬‬
‫‪12 / 62‬‬
‫امنیت داده و شبکه‬
‫محمد صادق دوستی‬
IPsec ‫امالی درست‬
RFC 4301 ‫بخشی از‬
The spelling “IPsec” is preferred and used
throughout this and all related IPsec
standards. All other capitalizations of IPsec
(e.g., IPSEC, IPSec, ipsec) are deprecated.
‫محمد صادق دوستی‬
‫امنیت داده و شبکه‬
13 / 62
IPsec ‫معرفی‬
‫ یک پروتکل تنها نیستت بلکته مامووتهای از پروتکلهتای‬IPsec 
‫امنیتی است که چارچوبی کلی را برای برقراری یتک ارتبتاط امتن‬
.‫فراهم می نماید‬
:)RFC 4301( IPsec ‫ سرویسهای امنیتی فراهم شده توس‬
Access control
 Connectionless integrity
 Data origin authentication
 Rejection of replayed packets
 Confidentiality (encryption)
 Limited traffic flow confidentiality

‫محمد صادق دوستی‬
‫امنیت داده و شبکه‬
14 / 62
‫تفاوتهای ‪ SSL‬و ‪IPsec‬‬
‫‪ ‬بر خالف ‪ SSL‬که با یک هدف مشخص (‪ HTTP‬امن) طراحتی شتد‪،‬‬
‫هدف ‪ IPsec‬وام بوده و هر پروتکلی را که روی ‪ IP‬اجرا میشود در بر‬
‫میگیرد‪.‬‬
‫‪ SSL ‬در الیه کاربرد است‪.‬‬
‫‪‬کتابخانه ‪ SSL‬باید به برنامه کاربردی اضافه شود‪.‬‬
‫‪ IPsec ‬در الیه شبکه است‪.‬‬
‫‪ IPsec‬در سیستم وامل پیتادهستازی متیشتود (شتفاف بترای برنامته‬
‫کاربردی)‪.‬‬
‫‪‬به کارگیری ‪ IPsec‬مبنی بر سیاستهای تعریف شده در سیستم وامل‬
‫‪15 / 62‬‬
‫امنیت داده و شبکه‬
‫محمد صادق دوستی‬
‫‪ IPsec‬و رابطه آن با ‪IPv4 / IPv6‬‬
‫‪ ‬پیادهسازی ‪ IPsec‬در ‪ IPv6‬الزامی و در ‪ IPv4‬اختیاری است‪.‬‬
‫‪ ‬یعنی هر پیادهسازی از پشته پروتکتل ‪ IPv6‬بایتد ‪ IPsec‬را نیتز‬
‫پیاده نماید‪.‬‬
‫‪ ‬نه اینکه اتصتاالت استتفاده کننتده از ‪ IPv6‬ملتزم بته استتفاده از‬
‫‪ IPsec‬هستند‪.‬‬
‫‪16 / 62‬‬
‫امنیت داده و شبکه‬
‫محمد صادق دوستی‬
‫فهرست مطالب‬
‫‪ ‬مقدمهای بر ‪VPN‬‬
‫‪IPsec ‬‬
‫‪ ‬سبکهای‌‪IPsec‬‬
‫‪IKEv1 ‬‬
‫‪IKEv2 ‬‬
‫‪ AH ‬و ‪ESP‬‬
‫‪17 / 62‬‬
‫امنیت داده و شبکه‬
‫محمد صادق دوستی‬
‫سبکهای انتقال و تونل در ‪IPsec‬‬
‫‪ IPsec ‬به دو سبک بستهها را ارسال میکند‪ :‬انتقال و تونل‪.‬‬
‫‪ ‬سبک انتقال (‪)Transport Mode‬‬
‫‪‬سرآیند ‪ IP‬بسته اصلی تغییر نمیکند‪.‬‬
‫‪‬سرآیند ‪ IPsec‬بعد از سرآیند ‪ IP‬اضافه میشود‪.‬‬
‫‪‬در صورت لزوم‪ ،‬رمزنگاری به داده بسته ‪ IP‬اومال میشود‪.‬‬
‫‪ ‬سبک تونل (‪)Tunnel Mode‬‬
‫‪‬کل بسته ‪( IP‬شامل سترآیند) بته ونتوان ‪ Payload‬یتک بستته ‪IP‬‬
‫جدید قرار میگیرد (در صورت لزوم‪ ،‬با اومال رمزنگاری)‪.‬‬
‫‪‬سرآیند ‪ IPsec‬بعد از سرآیند ‪ IP‬اضافه میشود‪.‬‬
‫‪18 / 62‬‬
‫امنیت داده و شبکه‬
‫محمد صادق دوستی‬
‫سبک انتقال‬
Generic IP
Frame
Ethernet
Header
IP
Header
TCP/UDP
Header
Data
‫ممکن است رمز شود‬
Ethernet
Header
‫محمد صادق دوستی‬
IP
Header
IPsec
Header
TCP/UDP
Header
‫امنیت داده و شبکه‬
Data
Optional
19 / 62
‫سبک تونل‬
Generic IP
Frame
Ethernet
Header
IP
Header
TCP/UDP
Header
Data
‫ممکن است رمز شود‬
Ethernet
Header
‫محمد صادق دوستی‬
New IP
Header
IPsec
Header
IP
Header
TCP/UDP
Header
‫امنیت داده و شبکه‬
Data
Optional
20 / 62
‫مقایسه دو سبک‬
‫‪ ‬سبک انتقال‪ ،‬سربار کمتری دارد‪.‬‬
‫‪‬نیازی به ایااد سرآیند جدید و ارسال آن روی شبکه نیست‪.‬‬
‫‪‬مناسب برای کاربردهای میزبان به میزبان (‪)H2H‬‬
‫‪ ‬سبک تونل برای کاربردهای ‪ N2N‬و ‪ H2N‬مناسب است‪.‬‬
‫‪‬از دیدگاه درگاه شبکه‪ ،‬بسته برای وی ارسال شده است‪.‬‬
‫‪‬درگاه بسته را باز و بسته ‪ IP‬را استخراج کترده و بترای میزبتان نهتایی‬
‫میفرستد‪.‬‬
‫‪‬در صورت رمزنگاری بسته‪ ،‬مقصد نهتایی (و در ‪ ،N2N‬مبتد اصتلی) از‬
‫دید شبکه ومومی مخفی خواهد بود‪.‬‬
‫‪21 / 62‬‬
‫امنیت داده و شبکه‬
‫محمد صادق دوستی‬
‫پروتکلهای مورد استفاده در ‪IPsec‬‬
‫‪IKE: Internet Key‬‬
‫‪Exchange‬‬
‫• تبادل کلید و پارامترها‬
‫تلفظ‪ :‬آیک‬
‫• دو نسخه‪ 1 :‬و ‪2‬‬
‫• ‪ UDP‬با پورت ‪500‬‬
‫‪ESP: Encapsulating‬‬
‫‪Security Payload‬‬
‫‪AH: Authentication‬‬
‫‪Header‬‬
‫• محرمانگی و صحت محتوای‬
‫بسته‬
‫• صحت محتوا و سرآیند بسته‬
‫• ودم محرمانگی‬
‫• ودم تضمین صحت سرآیند‬
‫‪22 / 62‬‬
‫امنیت داده و شبکه‬
‫محمد صادق دوستی‬
‫سبکهای تونل و انتقال در ترکیب با ‪ AH‬و ‪ESP‬‬
‫‪23 / 62‬‬
‫امنیت داده و شبکه‬
‫محمد صادق دوستی‬
‫فهرست مطالب‬
‫‪ ‬مقدمهای بر ‪VPN‬‬
‫‪IPsec ‬‬
‫‪ ‬سبکهای ‪IPsec‬‬
‫‪IKEv1 ‬‬
‫‪IKEv2 ‬‬
‫‪ AH ‬و ‪ESP‬‬
‫‪24 / 62‬‬
‫امنیت داده و شبکه‬
‫محمد صادق دوستی‬
‫‪IKEv1‬‬
‫‪ ‬طراحی نه فق برای ‪ ،IPsec‬بلکه برای انواع پروتکلهتایی کته بته‬
‫تبادل کلید نیاز داشتند‪.‬‬
‫‪‬به شدت وام و پیچیده؛ پر از مشکالت امنیتی!‬
‫‪‬استاندارد شده در سه ‪ 2407( RFC‬الی ‪ )2409‬در سال ‪1998‬‬
‫‪‬به حدی پیچیده که حتی پیادهسازان (سیستکو‪ ،‬مایکروستافت‪)... ،‬‬
‫نتوانستند برداشت واحدی از استاندارد داشته باشند!‬
‫‪‬نقض غرض! هدف استاندارد‪ ،‬یکسانسازی برداشتها بود‪.‬‬
‫‪ ‬در دنیای واقع فق برای ‪ IPsec‬مورد استفاده قرار گرفت‪.‬‬
‫‪25 / 62‬‬
‫امنیت داده و شبکه‬
‫محمد صادق دوستی‬
‫وضعیت ‪ IKEv1‬در حال حاضر‬
‫‪ ‬اگرچه ‪ IKEv2‬در سال ‪ 2005‬استاندارد شتد‪ ،‬ولتی ‪ IKEv1‬در‬
‫حال حاضر به طور گستردهتری مورد استفاده است‪.‬‬
‫‪‬ویندوزهای ‪ XP‬و ‪ 2003‬به قبل فق ‪IKEv1‬‬
‫‪ IOS‬سیسکو نسخه ‪ 12‬به قبل فق ‪( IKEv1‬فعالً فقت نستخه‬
‫‪ 15‬از ‪ IKEv2‬پشتیبانی میکند)‬
‫‪ ‬پیشبینی میشود که تا ‪ 5‬الی ‪ 10‬سال دیگر وضع به همین منوال‬
‫باشد‪.‬‬
‫‪‬الزم است با ‪ IKEv1‬آشنایی داشته باشیم‪.‬‬
‫‪26 / 62‬‬
‫امنیت داده و شبکه‬
‫محمد صادق دوستی‬
IKEv1 ‫دو پروتکل مورد استفاده در‬
 ISAKMP: Internet
Security Association and
Key Management Protocol
‫ چارچوب کلی (بستر) پروتکل تبادل کلید‬
 Oakley
+ SKEME (Secure Key Exchange
Mechanism)
‫ پروتکل واقعی‬
‫محمد صادق دوستی‬
‫امنیت داده و شبکه‬
27 / 62
‫‪( ISAKMP‬آیساکمپ)‬
‫‪ ‬تعریف شده در ‪RFC 2408‬‬
‫‪ ‬چارچوبی برای تصدیق هویت و تبادل کلید فتراهم متیآورد‪ ،‬ولتی‬
‫سازوکار را تعریف نمیکند‪.‬‬
‫‪ ‬به وبارت دیگر‪ ISAKMP ،‬میتواند بستتری باشتد کته روی آن‬
‫انواع پروتکلهای تصدیق هویت و تبادل کلید اجرا شوند‪.‬‬
‫‪‬مشابه پروتکل رکورد در ‪SSL/TLS‬‬
‫‪28 / 62‬‬
‫امنیت داده و شبکه‬
‫محمد صادق دوستی‬
‫‪Oakley + SKEME‬‬
‫‪( Oakley ‬اُکلی) و ‪( SKEME‬اسکیم) دو خانواده از پروتکلهای‬
‫تصدیق هویت و تبادل کلید هستتند (هتر دو برگرفتته از پروتکتل‬
‫‪ STS‬که مبتنی بر ‪ Diffie-Hellman‬است)‬
‫‪ IKEv1 ‬از بخشی از ‪ Oakley‬و بخشی از ‪ SKEME‬استتفاده‬
‫میکند‬
‫‪‬بیشتر متمایل به ‪Oakley‬‬
‫‪ SKEME‬فق برای تصدیق هویت مبتنتی بتر رمزنگتاری کلیتد‬
‫ومومی و فرآیند ‪ re-keying‬سریع مورد استفاده قرار میگیرد‪.‬‬
‫‪29 / 62‬‬
‫امنیت داده و شبکه‬
‫محمد صادق دوستی‬
‫سازوکار مقابله با حمله ‪ Clogging‬در ‪Oakley‬‬
‫‪ ‬اجرای ‪ DH‬بسیار سنگین است‪ ،‬و ایااد تعتداد زیتادی اتصتال توست‬
‫مهاجم سبب نووی حمله منتع ختدمت (‪ )DoS‬بته نتام ‪Clogging‬‬
‫میشود‪.‬‬
‫‪ ‬راهکار ‪ :Oakley‬استفاده از مفهومی به نام کوکی (‪)Cookie‬‬
‫‪‬بر گرفته از پروتکل ‪)RFC 2522( Photuris‬‬
‫‪‬شامل نشانی ‪ IP‬و پورت مبد و مقصد ‪ +‬اطالوتات مخفتی تولیتد شتده‬
‫توس مبد‬
‫‪‬مبد فق در صورتی که بعداً کوکی خود را بگیرد‪ ،‬حاضر استت ‪ DH‬را‬
‫اجرا کند ‪ ‬به نووی شبیه بلیت در کربروس‬
‫‪ ‬پیادهسازی ‪ IKEv1‬از کوکی بیفایده بود ‪ ‬اصالح در ‪IKEv2‬‬
‫‪30 / 62‬‬
‫امنیت داده و شبکه‬
‫محمد صادق دوستی‬
‫دو فاز ‪IKEv1‬‬
‫‪ ‬فاز ‪ :1‬مشابه برقراری «نشست» در ‪SSL‬‬
‫‪‬تصدیق هویت طرفین‪ ،‬تبادل کلید و پارامترهای رمزنگاری‬
‫‪‬برقراری تناظر امنیتی (‪ Security Association‬یا ‪ )SA‬برای‬
‫فاز ‪2‬‬
‫‪ ‬فاز ‪ :2‬مشابه برقراری «اتصال» در ‪SSL‬‬
‫تلفظ همانند‬
‫‪Essay‬‬
‫‪‬برقراری تناظرهای امنیتی (‪ )SA‬برای پروتکل اصلی‬
‫‪‬هدف ‪ IKEv1‬این بود که از انواع پروتکلهای اصلی پشتیبانی کند‪.‬‬
‫‪‬ولی تنها برای ‪ IPsec‬مورد استفاده قرار گرفت (‪.)AH/ESP‬‬
‫‪31 / 62‬‬
‫امنیت داده و شبکه‬
‫محمد صادق دوستی‬
IKEv1 ‫ از‬1 ‫اطالعات تبادل شده در فاز‬
‫ (بته معنتی‬HAGLE ‫ کوتته نوشتت‬:)mnemonic( ‫ یادآورانه‬
:)‫چانهزنی‬
 H:
Hash function
 A:
Authentication (PSK/Public Key)
 G:
Group of Diffie-Hellman
 L:
Lifetime of SA
 E:
Encryption Method
‫محمد صادق دوستی‬
‫امنیت داده و شبکه‬
‫• استاندارد شده در‬
RFC 2409
‫• نشاندهنده‬
DH ‫پارامترهای‬
32 / 62
‫سبکهای مورد استفاده در ‪IKEv1‬‬
‫‪ ‬فاز ‪ :1‬دو سبک‬
‫‪‬سبک اصلی (‪)Main Mode‬‬
‫•‬
‫• حافظ گمنامی (‪ )Anonymity‬طرفین (‪)Identity Protection‬‬
‫شامل ‪ 6‬پیام (سه زوج پیام)‬
‫‪‬سبک هاومی (‪)Aggressive Mode‬‬
‫•‬
‫شامل ‪ 3‬پیام؛ بدون گمنامی‬
‫‪ ‬فاز ‪ :2‬یک سبک‬
‫‪‬سبک سریع (‪ :)Quick Mode‬شامل ‪ 3‬پیام‬
‫‪33 / 62‬‬
‫امنیت داده و شبکه‬
‫محمد صادق دوستی‬
‫نمونه پیامهای تبادل شده ‪ IKEv1‬در ‪Wireshark‬‬
‫‪34 / 62‬‬
‫امنیت داده و شبکه‬
‫محمد صادق دوستی‬
‫سه زوج (شش) پیام در سبک اصلی (‪)Main‬‬
‫‪ ‬زوج پیام ‪ :1‬تبادل سیاستهای ‪ IKEv1‬پیکربندی بندی شده روی‬
‫هر ابزار‬
‫‪‬شامل ارسال ‪ )SPI( Security Parameter Index‬توست‬
‫هر طرف به ونوان شناسه ‪SA‬‬
‫‪ ‬زوج پیام ‪ :2‬تبادل ‪DH‬‬
‫‪ ‬زوج پیام ‪ :3‬تصدیق هویت ‪ISAKMP‬‬
‫‪‬طرفین یکدیگر را با استتفاده از کلیتد مشتتر‬
‫(‪ )PSK‬یتا کلیتد‬
‫ومومی طرف مقابل تصدیق هویت میکنند‪.‬‬
‫‪35 / 62‬‬
‫امنیت داده و شبکه‬
‫محمد صادق دوستی‬
‫سه پیام در سبک هجومی (‪)Aggressive‬‬
‫‪ ‬پیتتام ‪ :1‬هویتتت نفتتر اول‪ ،SPI ،‬پیتتام نخستتت ‪ ،DH‬سیاستتتهای‬
‫‪IKEv1‬‬
‫‪ ‬پیتتام ‪ :2‬هویتتت نفتتر دوم‪ ،SPI ،‬پیتتام دوم ‪ ،DH‬سیاستتتهای‬
‫‪ ،IKEv1‬امضا‪ MAC/‬برای اثبات هویت‬
‫‪ ‬پیام ‪ ،SPI :3‬امضا‪ MAC/‬برای اثبات هویت‬
‫‪36 / 62‬‬
‫امنیت داده و شبکه‬
‫محمد صادق دوستی‬
‫نتیجه فاز ‪ 1‬از ‪IKEv1‬‬
‫‪ ‬پس از فاز ‪ ،1‬طرفین یک ‪ IKEv1 SA‬مشتر‬
‫دارند‪.‬‬
‫‪ SPI‬مشتتخص‪ ،‬کلیتتد رمزنگتتاری معتتین‪ ،‬پروتکلهتتا و سیاستتتهای‬
‫امنیتی توافق شده‬
‫‪ ‬از این ‪ SA‬برای امور مدیریت اتصال (و نه تبادل داده) بته صتورت‬
‫امن استفاده میشود‪.‬‬
‫‪‬ارسال پیامهای کنترلی‪ ،‬ساختن ‪ SA‬تبادل داده‬
‫‪ IKEv1 SA ‬دو طرفه است‪.‬‬
‫‪‬کلید و پروتکلهای ارسال و دریافت یکی هستند‪.‬‬
‫‪37 / 62‬‬
‫امنیت داده و شبکه‬
‫محمد صادق دوستی‬
‫فاز ‪ 2‬از ‪( IKEv1‬سبک سریع)‬
‫‪ ‬هدف‪ :‬ساخت ‪ SA‬برای تبتادل داده پروتکتل بعتدی (فقت ‪ IPsec‬در‬
‫ومل مورد استفاده قرار گرفت)‪.‬‬
‫‪ IPsec SA ‬یک طرفه است ‪ ‬نیاز به دو ‪ SA‬برای تبادل داده‬
‫‪ ‬مواردی که در فاز ‪ 2‬برای هر یک از دو ‪ SA‬مورد توافق قرار میگیرد‪:‬‬
‫‪‬الگوریتم رمزنگاری متقارن و کلید آن‬
‫‪‬الگوریتم درهمسازی‬
‫‪‬پروتکل ‪ AH( IPsec‬یا ‪)ESP‬‬
‫‪‬طول ومر ‪( SA‬برحسب ثانیه یا کیلو بایت)‬
‫‪‬سبک ‪( IPsec‬انتقال یا تونل)‬
‫‪38 / 62‬‬
‫امنیت داده و شبکه‬
‫محمد صادق دوستی‬
‫فاز ‪XAUTH :1/5‬‬
‫‪Extended Authentication‬‬
‫‪ XAUTH:‬‬
‫‪ ‬فاز اختیاری بین فازهای ‪ 1‬و ‪ 2‬از ‪IKEv1‬‬
‫‪ ‬هدف‪ :‬تصدیق هویت میزبانهای نهایی در صورتی که از سبک تونل‬
‫استفاده شود‪.‬‬
‫‪‬در سبک تونل ‪ ،N2N‬درگاهها تصدیق هویت میشوند‪.‬‬
‫‪‬در سبک تونل ‪ ،H2N‬یک میزبان و یتک درگتاه تصتدیق هویتت‬
‫میشود‪.‬‬
‫‪39 / 62‬‬
‫امنیت داده و شبکه‬
‫محمد صادق دوستی‬
‫فهرست مطالب‬
‫‪ ‬مقدمهای بر ‪VPN‬‬
‫‪IPsec ‬‬
‫‪ ‬سبکهای ‪IPsec‬‬
‫‪IKEv1 ‬‬
‫‪IKEv2 ‬‬
‫‪ AH ‬و ‪ESP‬‬
‫‪40 / 62‬‬
‫امنیت داده و شبکه‬
‫محمد صادق دوستی‬
‫‪IKEv2‬‬
‫‪ IKEv2 ‬برای ساده و کارآمد سازی ‪ IKEv1‬ایااد شد‪ .‬به والوه‪،‬‬
‫امنیت ‪ IKEv1‬را در مواردی بهبود بخشید‪.‬‬
‫‪‬نسخه اولیه‪ :‬سال ‪)RFC 5996( 2005‬‬
‫‪‬آخرین بهروز رسانی‪ :‬سال ‪)RFC 7296( 2014‬‬
‫‪ IKEv1 ‬حداقل ‪ 6‬پیام و حداکثر ‪ 9‬پیام برای تبادل کلید دارد‪.‬‬
‫‪Main mode = 6 + Quick mode = 3‬‬
‫‪‬‬
‫‪Aggressive mode = 3 + Quick mode = 3‬‬
‫‪‬‬
‫‪ IKEv2 ‬فق از دو زوج (= ‪ )4‬پیام بهره میگیرد‪.‬‬
‫‪41 / 62‬‬
‫امنیت داده و شبکه‬
‫محمد صادق دوستی‬
‫فازها و پیامهای ‪IKEv2‬‬
‫‪42 / 62‬‬
‫امنیت داده و شبکه‬
‫محمد صادق دوستی‬
‫زیر پروتکل ‪( IKE_SA_INIT‬فاز ‪)1‬‬
‫‪ ‬تبادل پارامترهتای امنیتتی و الگوریتمهتای امنیتتی (رمزنگتاری و‬
‫صحت)‬
‫‪ ‬تبادل مقادیر مربوط به پروتکل ‪Diffie-Hellman‬‬
‫‪ ‬تبادل نانس و ‪SPI‬‬
‫‪ ‬پس از این تبادالت‪ ،‬طترفین روی مقتدار ‪ SKEYSEED‬تفتاهم‬
‫میکنند‪.‬‬
‫‪‬یک بذر برای تولید کلیدهای رمزنگاری نشست‬
‫‪43 / 62‬‬
‫امنیت داده و شبکه‬
‫محمد صادق دوستی‬
‫زیر پروتکل ‪( IKE_AUTH‬فازهای ‪ 1‬و ‪)2‬‬
‫‪ ‬روی ‪ IKE_SA‬ایااد شده توس ‪ IKE_SA_INIT‬ومل میکند‪.‬‬
‫‪ ‬هدف ‪ :1‬تصدیق هویت طرفین‬
‫‪‬به کمک کلید متقتارن (‪ ،)PSK‬کلیتد ومتومی (گتواهی دیایتتال) یتا‬
‫‪)EAP( Extensible Authentication Protocol‬‬
‫‪ ‬هدف ‪ :2‬تبادل پروتکلهای رمزگتذاری‪ ،‬تصتدیق هویتت و صتحت بترای‬
‫ایااد نخستین ‪ CHILD_SA‬جهت بهکارگیری در ‪AH/ESP‬‬
‫‪ ‬توجه‪ :‬بر خالف ‪ ،IKEv1‬پروتکتل ‪ IKE_AUTH‬قابلیتت گمنتامی‬
‫ندارد و هویت طرفین برای شبکه ومومی آشکار میشود‪.‬‬
‫‪44 / 62‬‬
‫امنیت داده و شبکه‬
‫محمد صادق دوستی‬
‫زیر پروتکل ‪CREATE_CHILD_SA‬‬
‫‪ ‬نخستین ‪ CHILD_SA‬ایااد شده در فاز ‪ 2‬از ‪ IKEv2‬معموالً‬
‫تنها ‪ SA‬ای است که مورد نیاز ‪ IPsec‬است‪.‬‬
‫‪ ‬با این حال‪ ،‬اگر نیاز به ایااد ‪CHILD_SA‬های دیگری بود‪ ،‬زیر‬
‫پروتکل ‪ CREATE_CHILD_SA‬از ‪ IKEv2‬اجرا میشود‪.‬‬
‫‪ ‬مثال از کاربرد‪:‬‬
‫‪‬ارسال پروتکلهای مختلف روی ‪ SA‬های متفاوت‬
‫‪‬ارسال داده های مربوط به مبد ‪/‬مقصدهای مختلتف روی ‪SA‬هتای‬
‫متفاوت‬
‫‪45 / 62‬‬
‫امنیت داده و شبکه‬
‫محمد صادق دوستی‬
‫زیر پروتکل ‪INFORMATIONAL‬‬
‫‪ ‬چهارمین زیر پروتکل ‪IKEv2‬‬
‫‪ ‬برای تبادل پیامهای کنترلی و پیغامهای خطا‬
‫‪‬کاربرد آن مشابه کاربرد زیر پروتکل ‪ Alert‬در ‪ SSL‬است‪.‬‬
‫‪ IKEv1 ‬هتتتم از زیتتتر پروتکتتتل ‪INFORMATIONAL‬‬
‫پشتیبانی میکند‪.‬‬
‫‪46 / 62‬‬
‫امنیت داده و شبکه‬
‫محمد صادق دوستی‬
‫نمونه پیامهای تبادل شده ‪ IKEv2‬در ‪Wireshark‬‬
‫‪47 / 62‬‬
‫امنیت داده و شبکه‬
‫محمد صادق دوستی‬
‫فهرست مطالب‬
‫‪ ‬مقدمهای بر ‪VPN‬‬
‫‪IPsec ‬‬
‫‪ ‬سبکهای ‪IPsec‬‬
‫‪IKEv1 ‬‬
‫‪IKEv2 ‬‬
‫‪‌AH ‬و‌‪ESP‬‬
‫‪48 / 62‬‬
‫امنیت داده و شبکه‬
‫محمد صادق دوستی‬
‫سرآیند ‪IPv4‬‬
‫‪49 / 62‬‬
‫امنیت داده و شبکه‬
‫محمد صادق دوستی‬
‫‪AH‬‬
‫‪ AH ‬محرمانگی ندارد و فق شامل صحت است‪.‬‬
‫‪ ‬فیلدهایی از سرآیند ‪ IP‬را که تغییر پذیرند (‪ )mutable‬در محاستبه‬
‫‪ MAC‬نمیگنااند (مثالً ‪.)TTL‬‬
‫‪ AH ‬با ‪ NAT‬سازگار نیستت؛ چترا کته در ‪ NAT‬برختی فیلتدهای‬
‫سرآیند (آدرس و پورت مبد ‪/‬مقصد) تغییر میکنند‪.‬‬
‫‪50 / 62‬‬
‫امنیت داده و شبکه‬
‫محمد صادق دوستی‬
‫چرا ‪AH‬؟‬
‫‪ ‬امروزه به دلیل ودم حفظ محرمانگی‪ ،‬کاربرد ‪ AH‬نسبت به ‪ESP‬‬
‫بسیار کم است‪.‬‬
‫‪ ‬از ابتدا هم دلیل چندانی برای وجود ‪ AH‬نبود‪.‬‬
‫‪ ‬طرفداران ‪ IPv6‬روی ‪ AH‬اصرار زیادی داشتند‪.‬‬
‫‪‬ودم سازگاری ‪ AH‬و ‪  NAT‬ریشهکن شدن ‪  NAT‬جتا‬
‫افتادن ‪!!! IPv6‬‬
‫‪51 / 62‬‬
‫امنیت داده و شبکه‬
‫محمد صادق دوستی‬
AH ‫نقل قول جالب در مورد‬
At one of the final IETF meetings before AH and
ESP were finalized, someone from Microsoft got
up and gave an impassioned speech about how
AH was useless given the existence of ESP…
Our impression of what happened next was that
everyone in the room looked around at each other
and said, "Hmm. He's right, and we hate AH also,
but if it annoys Microsoft let's leave it in, since we
hate Microsoft more than we hate AH."
-- C. Kaufman & R. Perlman
‫محمد صادق دوستی‬
‫امنیت داده و شبکه‬
52 / 62
‫‪ESP‬‬
‫‪ ‬حفظ محرمانگی داده و سرآیند ‪TCP/IP‬‬
‫‪‬به والوه حفظ صحت سرآیند ‪ IP‬در سبک تونل‬
‫‪ ‬حفظ صحت بیشتر دادهها به جز سرآیند ‪ IP‬اصلی‬
‫‪‬بر خالف ‪ AH‬که صحت سرآیند ‪ IP‬اصلی را حفظ میکرد‪.‬‬
‫‪53 / 62‬‬
‫امنیت داده و شبکه‬
‫محمد صادق دوستی‬
Null Encryption :‫ بدون محرمانگی‬ESP ‫استفاده از‬
:RFC 2410 ‫ بخشهایی از‬
NULL encryption “is a block cipher the origins
of which appear to be lost in antiquity.”
 “Despite rumors,” there is no evidence that
NSA “suppressed publication of this
algorithm.”
 Evidence suggests it was developed in Roman
times as exportable version of Caesar’s cipher.
 Can make use of keys of varying length.
 No IV is required.
 Null(P,K) = P for any P and any key K. 

‫محمد صادق دوستی‬
‫امنیت داده و شبکه‬
54 / 62
‫سازگاری ‪ ESP‬با ‪NAT‬‬
‫‪ ESP ‬یک پروتکل الیه ‪ 3‬است‪.‬‬
‫‪ ‬بنابراین ‪ ESP‬پورت مبد یا مقصد ندارد‪.‬‬
‫‪ NAT ‬برای وملکرد خود نیاز به پورت مبد و مقصد دارد‪.‬‬
‫‪ ESP ‬را نمیتوان مستقیماً با ‪ NAT‬به کار گرفت‪.‬‬
‫‪‬سازوکار ‪ NAT-T‬در ‪IPsec‬‬
‫‪55 / 62‬‬
‫امنیت داده و شبکه‬
‫محمد صادق دوستی‬
‫‪NAT-T‬‬
‫‪ ‬کوتهنوشت ‪NAT Traversal‬‬
‫‪‬افزونهای بر ‪ ،IKEv1‬ولی جزء الینفک ‪IKEv2‬‬
‫‪ ‬در صتتورت پیکربنتتدی ‪ NAT-T‬در دو طتترف اتصتتال‪ ،‬پروتکتتل ‪IKE‬‬
‫وجود ‪ NAT‬در مسیر را کشف میکند‪.‬‬
‫‪ ‬در صورت وجود ‪ IKE ،NAT‬از ‪ UDP‬پورت ‪ 4500‬به جای ‪UDP‬‬
‫پورت ‪ 500‬استفاده میکند‪.‬‬
‫‪ ‬بستههای ‪ ESP‬در بستههای ‪ UDP‬تونل خواهند شد‪.‬‬
‫‪ ‬چون ‪ ESP‬سرآیند ‪ IP‬اصلی را وارسی صحت نمیکند‪ ،‬بر خالف ‪AH‬‬
‫مشکلی پیش نخواهد آمد‪.‬‬
‫‪56 / 62‬‬
‫امنیت داده و شبکه‬
‫محمد صادق دوستی‬
‫ترکیب ‪SA‬ها‬
‫‪ ‬میتتوان ‪SA‬هتا را بتا هتم ترکیتب کترد‪ .‬بته ایتن ومتل‪ ،‬بستتهبنتدی‬
‫(‪ )Bundle‬کردن میگوییم‪ ،‬و شامل دو روش است‪:‬‬
‫‪ :Transport Adjacency‬اِومال چنتد ‪ SA‬در ستبک انتقتال بته‬
‫بستتته ‪ ‬صتترفاً یتتک ستتط از ترکیتتب را بتترای ‪ AH‬و ‪ ESP‬فتتراهم‬
‫مینماید‪.‬‬
‫‪ :Iterated Tunneling‬ایااد چند الیه امنیتی با تونلهای تودرتتو‬
‫‪ ‬مبدا و مقصد هر تونل میتواند در سایتهای مختلفی از مسیر باشد‪.‬‬
‫‪ ‬در صتتورت نیتتاز بتته محرمتتانگی ‪ +‬صتتحت داده ‪ +‬صتتحت ستترآیند ‪،IP‬‬
‫میتوان ‪ SA‬مربوط به ‪ ESP‬را بتا ‪ SA‬مربتوط بته ‪ AH‬بستتهبنتدی‬
‫نمود‪.‬‬
‫‪57 / 62‬‬
‫امنیت داده و شبکه‬
‫محمد صادق دوستی‬
‫مثال از بستهبندی ‪SA‬ها‬
‫‪58 / 62‬‬
‫امنیت داده و شبکه‬
‫محمد صادق دوستی‬
‫مدل پردازش بستههای خروجی در سیستم عامل‬
‫مامووه سیاستهایی که بتر استاس‬
‫آنهتتا‪ ،‬چگتتونگی ارستتال بستتتههتتا‬
‫(‪ ،)IP/IPsec‬پروتکلهای امنیتتی‪،‬‬
‫پارامترها و ‪ ...‬مشخص میشود‪.‬‬
‫‪59 / 62‬‬
‫امنیت داده و شبکه‬
‫محمد صادق دوستی‬
‫مثال‪ :‬پیکربندی ‪ IPsec‬در‬
‫‪Windows Firewall with Advanced Security‬‬
‫‪60 / 62‬‬
‫امنیت داده و شبکه‬
‫محمد صادق دوستی‬
‫مثال‪ :‬پیکربندی ‪ VPN‬در ویندوز‬
‫‪61 / 62‬‬
‫امنیت داده و شبکه‬
‫محمد صادق دوستی‬
‫پایان‬
‫صفحه درس‪:‬‬
‫‪http://ce.sharif.edu/courses/94-95/2/ce442-1/‬‬
‫مراجعه حضوری جهت رفع اشکال‪ :‬یکشنبهها ‪ 17‬الی ‪18‬‬
‫(طبقه پنام دانشکده‪ ،‬درب شیشهای جنب آسانسور)‬
‫یا در زمانهای دیگر با قرار قبلی‬
‫یا به وسیله رایانامه‪dousti@ce :‬‬
‫‪62 / 62‬‬
‫امنیت داده و شبکه‬
‫محمد صادق دوستی‬