انواع رمزگذاری VPN | OpenVPN، IKEv2، PPTP، L2TP / IpSec، SSTP

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

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

مقدماتی

اگر مطمئن نیستید درباره اینکه VPN چیست و چه کاری می تواند برای شما انجام دهد ، لطفاً VPN های ما را برای راهنمای مبتدی بررسی کنید.

هدف ما ارائه ویژگی های اصلی رمزگذاری VPN به زبان ساده تا حد امکان است. اگرچه هیچ راه دور نیست ، از این واقعیت که رمزگذاری موضوعی پیچیده است.

اگر حتی اصطلاح رمزنگاری باعث می شود که چشمان شما شروع به لعاب کند ، اما هنوز می خواهید بدانید که به دنبال چه چیزی باشید. خدمات VPN ، می توانید مستقیماً به خلاصه ها بروید.

رمزگذاری چیست؟

از ابتدا شروع کنید ، "پادشاه گفت ، بسیار سنگین ،" و ادامه دهید تا اینکه به نتیجه برسید: پس متوقف شوید. "[19659009] لوئیس کارول ، آلیس در سرزمین عجایب

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

به همان روشی که قفل را تضمین می کند. طاق بانکی قوی تر از آن است که چمدان را تضمین کند ، برخی از رمزگذاری ها نسبت به رمزگذاری های دیگر قوی تر است.

The Basics

وقتی بچه بودید ، آیا بازی را انجام می دادید که با جایگزین کردن "پیام مخفی" ایجاد می کنید. نامه پیام با دیگری؟ این تعویض طبق فرمول انتخاب شده توسط شما ساخته شده است.

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

در ژارگون رمزنگاری ، آنچه شما انجام می دادید "رمزگذاری" پیام (داده ها) بود. طبق یک الگوریتم ریاضی بسیار ساده است. رمزنگاران به این الگوریتم به عنوان "رمز" می گویند. برای رمزگشایی آن ، به کلید نیاز دارید. این یک پارامتر متغیر است که خروجی نهایی رمز را تعیین می کند. بدون این پارامتر ، رمزگشایی رمزنگاری غیرممکن است.

اگر کسی بخواهد یک پیام رمزگذاری شده را بخواند اما کلید آن را نداشته باشد ، باید سعی کند رمز را رمز کند. هنگامی که رمزگذاری از رمزنگاری جایگزین نامه ای ساده استفاده می کند ، ترک خوردن آن آسان است. رمزگذاری را می توان با ایجاد الگوریتم ریاضی (رمز) پیچیده تر ساخت.

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

Key Key

رمزگذار رایانه های مدرن الگوریتم های بسیار پیچیده ای هستند. حتی با کمک ابر رایانه ها ، اگر این کار برای همه اهداف عملی غیرممکن نیست ، شکستن آنها بسیار مشکل است. سخت ترين روش اندازه گيري قدرت رمزنگاري ، پيچيده بودن الگوريتم مورد استفاده براي ايجاد آن است.

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

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

این به عنوان طول کلیدی شناخته می شود و همچنین نمایانگر امکان عملی برای انجام موفقیت آمیز حمله نیرویی بی رحمانه به هر رمزنگاری معین است.

تعداد ترکیبات ممکن (و بنابراین مشکل در زورگیری از زور آنها) با اندازه کلیدی بصورت نمایی افزایش می یابد. با استفاده از رمزگذاری AES (بعداً مراجعه کنید):

 Compositions Size Size

برای اینکه این را به چشم انداز بیاندازیم:

  • در سال 2011 سریعترین ابر رایانه در کلمه Fujitsu K. بود که قادر به اوج Rmax بود سرعت 10.51 petaflops. بر اساس این رقم ، Fujitsu K 1.02 x 10 ^ 18 طول می کشد – حدود یک میلیارد میلیارد (یک چهار میلیارد) – سال برای شکستن یک کلید AES 128 بیتی (استاندارد رمزگذاری پیشرفته) به زور. این قدیمی تر از سن جهان است (13.75 میلیارد سال).
  • قدرتمندترین رایانه رایانه جهان در حال حاضر (2017) Sunway TaihuLight در چین است. این جانور قادر به سرعت حداکثر 93.02 پت فلاپ است. این بدان معنی است که قدرتمندترین رایانه در جهان هنوز 885 کوادریلیون سال طول می کشد تا یک کلید AES 128 بیتی را تحت فشار قرار دهد.
  • تعداد عملیات مورد نیاز برای شستشوی نیرو یک رمزگذار 256 بیتی 3/31 3. 10 ^ 56 است. این تقریباً برابر با تعداد اتم های جهان است!

رمزگذار رایانه

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

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

رمزنگار Blowfish ، به عنوان مثال ، در برابر حمله ای که از ریاضیات مشکل تولد استفاده می کند ، در تئوری احتمال آسیب پذیر است. مطالعه نقاط ضعف در الگوریتم های رمزنگاری به رمزنگاری مشهور است.

طول های طولانی تر این نقاط ضعف را جبران می کنند ، زیرا تعداد پیامدهای احتمالی را تا حد زیادی افزایش می دهند.

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

رمزنگاری کلید رمزگذاری

رمزنگاری چقدر قوی به هر دو بستگی دارد. ریاضیات خود رمزگذاری ، به علاوه طول کلیدی آن که در بیت بیان شده است. به همین دلیل ، رمزگذاری ها معمولاً به همراه طول کلید مورد استفاده توصیف می شوند.

بنابراین AES-256 (رمزگذاری AES با طول کلید 256 بیتی) معمولاً قوی تر از AES-128 در نظر گرفته می شود. توجه داشته باشید که من معمولاً می گویم زیرا ما در اینجا با ریاضیات بسیار پیچیده ای سر و کار داریم (بعداً به یادداشت های من در مورد AES مراجعه کنید).

 Note Icon2 01 150X150 [19659002] توجه به این نکته ضروری است که طول کلید به تنهایی نشانه خوبی از مقاومت رمزنگاری نیست. این ترکیب طول کلید و رمزنگاری است که اهمیت دارد. به عنوان مثال رمزگذارهایی که برای رمزگذاری نامتقارن مورد استفاده قرار می گیرند ، از اندازه های کلید بسیار طولانی تر نسبت به آنچه برای رمزگذاری متقارن استفاده می شود برای محافظت معادل استفاده می کنند.

 Key Size مقایسه

این جدول کمی قدیمی نیست ، زیرا حملات جدیدتری را که بر روی RSA کشف شده است ، در نظر نمی گیرد. همچنین شایان ذکر است که منحنی بیضوی و انواع Diffie-Hellman از RSA بسیار قوی تر از نمونه های سنتی هستند. اما امیدوارم ، شما این ایده را بدست آورید.

 توجه داشته باشید Icon2 01 150X150

نکته ای که باید توجه داشته باشید اینست که هرچه طول کلید بیشتر باشد ، بیشتر محاسبه درگیر ، بنابراین به قدرت پردازش بیشتری مورد نیاز است. این امر به سرعت رمزگذاری و رمزگشایی داده ها تأثیر می گذارد. بنابراین ، ارائه دهندگان VPN و مانند آنها باید تصمیم بگیرند که چگونه می توان امنیت را در مقابل قابلیت استفاده عملی هنگام انتخاب طرح های رمزنگاری تعادل برقرار کرد.

ما در مورد رمزهای اصلی مورد استفاده توسط پروتکل های مختلف VPN اندکی بعد بحث می کنیم ، اما رایج ترین رمزهایی که احتمالاً با آنها روبرو می شوید Blowfish و AES هستند. علاوه بر این ، از RSA برای رمزگذاری و رمزگشایی کلیدهای رمزگذار استفاده می شود ، و SHA-1 یا SHA-2 به عنوان تابع هش برای تأیید صحت داده ها استفاده می شود.

رمزگذاری نامتقارن  رمزگذاری نامتقارن

رازداری کامل Forward Forward

Secretsie Perfect Forward (PFS) همچنین به عنوان کلیدهای رمزگذاری زودگذر یا "فقط رمز و راز به جلو" (FS) توسط کسانی که با استفاده از کلمه "کامل" ناراحت هستند ، نامیده نمی شود.

ارتباطات به SSL / TLS متکی هستند. این توسط وب سایتهای HTTPS و پروتکل OpenVPN استفاده می شود. TLS (Transport Layer Security) یک پروتکل رمزگذاری نامتقارن است. استفاده از رمزنگاری نامتقارن بدین معنی است که داده ها با استفاده از یک کلید عمومی امن می شوند ، که در دسترس همگان است. با این حال ، فقط توسط یک گیرنده در نظر گرفته شده که دارای کلید خصوصی صحیح است ، رمزگشایی می شود.

این کلید خصوصی باید مخفی نگه داشته شود. اگر توسط یک رقیب سرقت شده یا کرک شده باشد ، آن دشمن می تواند به راحتی رهگیری و خواندن هرگونه ارتباط امن شده توسط آن را بخواند.

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

بنابراین ، این کلید رمزگذاری خصوصی به "کلید اصلی" تبدیل می شود که می تواند برای باز کردن کلیه ارتباطات با یک سرور یا شرکت استفاده شود. NSA شناخته شده است که از این ضعف برای جمع آوری رادهای وسیع از داده های ظاهرا ایمن سوء استفاده کرده است.

راه حل ، رازداری کامل Forward Forward است. این سیستمی است که به موجب آن یک کلید رمزنگاری خصوصی جدید و منحصر به فرد برای هر جلسه تولید می شود. این یک ایده ساده است ، حتی اگر ریاضیات تبادل Diffie-Hellman پیچیده باشد. این بدان معناست که هر جلسه TLS دارای کلیدهای خاص خود است. از این رو اصطلاح "کلیدهای زودگذر" – آنها یک بار استفاده می شوند و سپس ناپدید می شوند.

بنابراین ، "کلید اصلی" وجود ندارد که بتواند مورد سوء استفاده قرار بگیرد. حتی اگر یک جلسه به خطر بیفتد ، فقط آن جلسه است که به خطر می افتد – نه همه جلسات دیگری که کسی با آن سرور یا شرکت داشته باشد!

اگرچه غیر معمول است ، حتی ممکن است کلیدهای PFS را نیز در آن تازه کنید. یک جلسه (مثلاً هر ساعت) این امر بیشتر داده هایی را که توسط یک طرف مقابل می توان ردیابی کرد ، محدود می کند ، حتی اگر یک کلید خصوصی به خطر بیفتد.

وقتی من این مقاله را چند سال پیش در این زمینه نوشتم ، استفاده از پنهان کاری کامل برای هر دو وب سایت HTTPS و OpenVPN ارتباطات بسیار ناچیز بود. خوشبختانه این وضعیت تا حدودی تغییر کرده است. اگرچه به هیچ وجه جهانی نیست ، استفاده از کلیدهای گذر بسیار دیر افزایش یافته است.

پروتکل های رمزگذاری VPN

یک پروتکل VPN مجموعه ای از دستورالعمل ها (مکانیسم) است که برای مذاکره برای اتصال رمزگذاری شده ایمن بین دو کامپیوتر استفاده می شود. تعدادی از چنین پروتکل های VPN معمولاً توسط خدمات تجاری VPN پشتیبانی می شوند. قابل توجه ترین این موارد PPTP ، L2TP / IPSec ، OpenVPN ، SSTP و IKEv2 است.

من در زیر به هر یک از این موارد نگاه می کنم ، اما OpenVPN اکنون پروتکل استاندارد صنعتی VPN است که توسط خدمات تجاری VPN استفاده می شود – به همین دلیل. بسیار ایمن است و تقریباً در کلیه دستگاههای دارای قابلیت VPN قابل استفاده است. بنابراین ، من جوهر دیجیتالی دیگری را صرف بحث در مورد OpenVPN می کنم.

PPTP

PROS

  • مشتری تقریباً در همه سیستم عامل ها ساخته شده است
  • تنظیم بسیار آسان

CONS

  • بسیار ناامن
  • قطعاً توسط NSA به خطر بیافتد
  • به راحتی مسدود شد

PPTP چیست؟

این فقط یک پروتکل VPN است و برای تأمین امنیت به روشهای مختلف تأیید اعتبار متکی است. در بین ارائه دهندگان تجاری VPN ، این تقریباً همواره MS-CHAP v2 است. پروتکل رمزنگاری (مشابه رمزگذاری استاندارد) که توسط PPTP مورد استفاده قرار می گیرد ، رمزنگاری مایکروسافت Point-to-Point (MPPE) است.

پروتکل تونلینگ نقطه به نقطه (PPTP) توسط کنسرسیومی که مایکروسافت برای ایجاد VPN ایجاد کرده است ایجاد شد. شبکه های شماره گیری. به این ترتیب ، PPTP مدت طولانی است که پروتکل استاندارد برای شبکه های VPN شرکتی است.

PPTP تقریباً در مورد هر سیستم عامل و دستگاه VPN با قابلیت استاندارد در دسترس است. بدون نیاز به نصب نرم افزار اضافی ، راه اندازی آن آسان است. این تضمین می کند که PPTP هم برای VPN های تجاری و هم برای خدمات VPN تجاری یک انتخاب محبوب باقی مانده است.

همچنین این مزیت را دارد که برای اجرای یک سربار محاسباتی کم نیاز دارد … بنابراین سریع است!

متأسفانه ، PPTP امن نیست. اصلاً اگرچه معمولاً فقط با استفاده از کلیدهای رمزگذاری 128 بیتی یافت می شود ، اما در سالهایی که اولین بار در سال 1999 با Windows 95 OSR2 همراه شد ، تعدادی از آسیب پذیری های امنیتی آشکار شده اند.

جدی ترین این امکان وجود دارد. تأیید هویت MS-CHAP v2 بدون محاصره. با استفاده از این سوء استفاده ، PPTP ظرف دو روز ترک خورده است. مایکروسافت این نقص را برطرف کرده است ، اما خودش توصیه ای برای استفاده از L2TP / IPsec یا SSTP به جای آن صادر کرده است.

جای تعجب نیست که NSA تقریباً قطعاً ارتباطات رمزگذاری شده PPTP را به صورت استاندارد رمزگشایی می کند. حتی نگران کننده تر این است که NSA مقادیر زیادی از داده های قدیمی را جمع آوری کرده است که وقتی PPTP به عنوان امن در نظر گرفته شد رمزگذاری شد. تقریباً مطمئناً می تواند این داده های میراث را رمزگشایی کند.

PPTP به پورت TCP 1723 و پروتکل GRE احتیاج دارد. فایروال GRE بسیار آسان است ، و این امر می تواند اتصالات PPTP را آسان کند.

L2TP / IPsec

  • معمولاً امن تلقی می شود (اما به منفی مراجعه کنید)
  • تنظیم آسان
  • در تمام سیستم عامل های مدرن موجود است [19659027] سریعتر از OpenVPN (شاید)
  • مه توسط NSA به خطر بیفتد (تأیید نشده)
  • احتمالاً توسط آژانس امنیت ملی (ضعیف) ضعیف آگاهانه ضعیف می شود (تأیید نشده)
  • می تواند با فایروال های محدود کننده
  • اغلب پیاده سازی کند بد

L2TP و IPsec چیست؟

پروتکل تونلینگ لایه 2 (L2TP) تقریباً در کلیه سیستم عامل های مدرن و دستگاه های دارای قابلیت VPN ساخته شده است. بنابراین تنظیم ساده و سریع همانند PPTP است.

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

L2TP / IPsec می تواند از رمزهای 3DES یا AES استفاده کند. 3DES در برابر حملات برخورد Me-in-the-middle و Sweet32 آسیب پذیر است ، بنابراین در عمل بعید است که این روزها با آن روبرو شوید.

ممکن است مشکل ایجاد شود زیرا پروتکل L2TP / IPSec فقط از تعداد محدودی درگاه استفاده می کند. این می تواند باعث ایجاد عوارضی در پشت دیوارهای آتش NAT شود. این اتکای به پورت های ثابت همچنین باعث می شود پروتکل نسبتاً آسان انجام شود.

L2TP / IPsec داده ها را دو بار محصور می کند ، و این روند را کند می کند. این واقعیت با این واقعیت جبران می شود که رمزگذاری / رمزگشایی در هسته اتفاق می افتد و L2TP / IPsec اجازه می دهد تا چند رشته ای داشته باشید. OpenVPN چنین نمی کند. نتیجه این است که L2TP / IPsec به لحاظ نظری سریعتر از OpenVPN است.

L2TP / IPsec با استفاده از رمزگذاری AES هیچ آسیب پذیری شناخته شده بزرگی ندارد و اگر به درستی اجرا شود ممکن است هنوز ایمن باشد. با این حال ، افشاگری های ادوارد اسنودن به شدت در مورد به خطر افتادن NSA پیش بینی کرده است.

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

یک مسئله قابل بحث بسیار بزرگتر این است که بسیاری از خدمات VPN L2TP / IPsec را ضعیف پیاده سازی می کنند. به طور خاص ، آنها از کلیدهای از پیش اشتراکی (PSK) استفاده می کنند که می توانند آزادانه از وب سایتهای خود بارگیری شوند.

این PSK ها فقط برای تأیید صحت اتصال مورد استفاده قرار می گیرند ، بنابراین حتی اگر به خطر بیفتد ، داده ها با استفاده از AES رمزگذاری می شوند. با این وجود یک مهاجم می تواند از کلید پیش اشتراک شده برای جعل هویت یک سرور VPN استفاده کند. سپس می تواند از ترافیک رمزگذاری شده استحکام بخورد ، یا حتی داده های مخرب را به اتصال تزریق کند.

 Note Icon2 01 150X150

خلاصه

علیرغم برخی از موضوعات عمدتاً نظری ، اگر از کلیدهای پیش از اشتراك منتشر نشده استفاده نشود ، L2TP / IPsec به طور كلی ایمن تلقی می شود. سازگاری داخلی آن با بسیاری از دستگاه های بزرگ ، می تواند آن را به یک انتخاب بسیار خوب تبدیل کند.

PROS

  • کاملاً ایمن
  • کاملاً در ویندوز یکپارچه شده
  • پشتیبانی مایکروسافت
  • می تواند بیشتر فایروال ها را دور بزند

  • استاندارد اختصاصی متعلق به مایکروسافت

SSTP چیست؟

SSTP نوعی رمزگذاری است که از SSL 3.0 استفاده می کند و مزایای مشابه OpenVPN را ارائه می دهد. این شامل توانایی استفاده از پورت TCP 443 برای جلوگیری از سانسور است. ادغام محکم با ویندوز می تواند استفاده از آن را آسان تر و پایدارتر از OpenVPN در آن پلت فرم کند.

برخلاف OpenVPN ، با این حال ، SSTP یک استاندارد اختصاصی است که متعلق به مایکروسافت است. این بدان معنی است که کد برای نظارت عمومی باز نیست. سابقه همکاری مایکروسافت با NSA و گمانه زنی های مربوط به پشتی های احتمالی داخلی در سیستم عامل ویندوز ، باعث ایجاد اعتماد به نفس در استاندارد نمی شود.

پروتکل تونینگ سوکت ایمن (SSTP) توسط مایکروسافت در ویندوز ویستا SP1 معرفی شد. اگرچه اکنون برای لینوکس و حتی Mac OS X در دسترس است ، اما هنوز یک سیستم عامل ویندوز است.

مسئله دیگر این است که SSL v3.0 نسبت به آنچه به عنوان حمله POODLE شناخته می شود آسیب پذیر است و اکنون به همین دلیل نیست. توصیه شده. آیا این مسئله بر SSTP نیز تأثیر دارد ، مشخص نیست ، اما باز هم ، به سختی اعتماد به نفس را ایجاد می کند.

 توجه Icon2 01 150X150

خلاصه

روی کاغذ ، SSTP بسیاری از مزایای OpenVPN را ارائه می دهد. با این حال بودن یک استاندارد اختصاصی مایکروسافت ، اعتبار آن را به شدت خراب می کند.

IKEv2

PROS

  • سریع
  • پایدار – به خصوص هنگام تعویض شبکه یا اتصال مجدد پس از اتصال از دست رفته اینترنت
  • امن (در صورت استفاده از AES )
  • تنظیم آسان (حداقل در پایان کاربر!)
  • پروتکل در دستگاه های Blackberry پشتیبانی می شود

CONS

  • در بسیاری از سیستم عامل ها پشتیبانی نمی شود.
  • اجرای IKEv2 در سرور پایان است. مشکل ، که چیزی است که به طور بالقوه می تواند منجر به ایجاد مشکلات شود
  • فقط به پیاده سازی های منبع باز اعتماد کنید

IKEv2 چیست؟

Internet Key Exchange نسخه 2 (IKEv2) بطور مشترک توسط مایکروسافت و سیسکو توسعه داده شد. بومی توسط دستگاههای Windows 7+ ، Blackberry و iOS پشتیبانی می شود. به همین دلیل بسیاری از سرویس های VPN iOS از IKEv2 به جای OpenVPN استفاده می کنند.

نسخه های سازگار مستقل IKEv2 برای لینوکس و سایر سیستم عامل ها توسعه یافته است. بسیاری از این تکرارها منبع باز هستند. مثل همیشه ، من پیشنهاد می کنم که نسبت به هر چیزی که مایکروسافت ایجاد کرده است ، احتیاط کنید. نسخه های منبع آزاد IKEv2 ، هیچ مشکلی ندارد.

IKEv2 بخشی از مجموعه پروتکل های IPsec است. این امر با دستیابی به ویژگی SA (انجمن امنیت) در IPsec از ترافیک ایمن برخوردار بوده و از جهات مختلفی بر IKEv1 بهبود می یابد. بنابراین IKEv2 گاهی اوقات به IKEv2 / IPsec گفته می شود. از طرف دیگر ، IKEv1 اغلب به سادگی IPsec گفته می شود.

IKEv2 با نام مایکروسافت VPN اتصال ، به ویژه هنگامی که کاربران به طور موقت اتصالات اینترنتی خود را از دست می دهند ، در برقراری مجدد اتصال VPN خوب است. به عنوان مثال ، هنگام ورود یا خروج از تونل قطار.

به دلیل پشتیبانی از پروتکل تحرک و Multihoming (MOBIKE) ، IKEv2 در برابر تغییر شبکه ها نیز بسیار مقاوم است. این باعث می شود IKEv2 برای کاربران تلفن های همراه که به طور مرتب بین WiFi خانگی و اتصالات تلفن همراه سوئیچ می شوند یا به طور مرتب بین نقاط مهم جابجایی می کنند انتخاب خوبی باشد.

IKEv2 به اندازه L2TP / IPSec رایج نیست زیرا در بسیاری از سیستم عامل های کمتری پشتیبانی می شود (اگرچه این وضعیت به سرعت در حال تغییر است) با این حال ، حداقل از نظر امنیت ، کارایی (سرعت) ، پایداری و امکان برقراری (و برقراری مجدد) یک ارتباط ، حداقل اگر برتر از L2TP / IPsec باشد ، در نظر گرفته می شود.

OpenVPN [19659061] PROS

  • بسیار مطمئن (در صورت استفاده از PFS)
  • بسیار قابل تنظیم
  • منبع باز
  • می تواند فایروال ها را دور بزند
  • آیا به نرم افزار شخص ثالث

OpenVPN چیست؟

OpenVPN یک فناوری منبع باز است که با استفاده از کتابخانه OpenSSL و پروتکل های TLS ، به همراه یک آمالگام سایر فناوری ها ، یک راه حل VPN قوی و قابل اطمینان ارائه می دهد. اکنون این پروتکل استاندارد صنعتی VPN است که از خدمات VPN تجاری استفاده می شود – به دلایل خوب.

یکی از نقاط قوت اصلی OpenVPN این است که بسیار قابل تنظیم است. این بومی بصورت محلی بدون هیچ سکویی پشتیبانی می شود ، اما در اکثر سیستم عامل ها از طریق نرم افزار شخص ثالث در دسترس است. کلاینت ها و برنامه های سفارشی OpenVPN اغلب از ارائه دهندگان VPN انفرادی در دسترس هستند ، اما کد منبع باز منبع اصلی توسط پروژه OpenVPN تهیه شده است.

بسیاری از توسعه دهندگان و همکاران پروژه OpenVPN نیز برای OpenVPN Technologies Inc. کار می کنند.

OpenVPN بهترین عملکرد را در درگاه UDP دارد ، اما می توان آن را تنظیم کرد تا در هر پورت اجرا شود (بعداً به یادداشت ها مراجعه کنید). این شامل پورت TCP 443 است که توسط ترافیک معمولی HTTPS استفاده می شود. اجرای OpenVPN روی پورت TCP 443 گفتن اتصالات VPN جدا از نوع اتصال ایمن مورد استفاده بانکها ، خدمات ایمیل و خرده فروشان آنلاین را دشوار می کند. مسدود کردن OpenVPN بسیار دشوار است.

یکی دیگر از مزیت های OpenVPN این است که کتابخانه OpenSSL که برای تهیه رمزگذاری استفاده می شود ، از تعدادی رمزگذار پشتیبانی می کند. اما در عمل فقط Blowfish و AES معمولاً توسط خدمات تجاری VPN استفاده می شوند. من اینها را در زیر بحث می کنم.

با توجه به اطلاعات به دست آمده از ادوارد اسنودن ، به نظر می رسد تا زمانی که از رازداری کامل Forward Forward استفاده می شود ، آنگاه OpenVPN توسط NSA به خطر نیفتد یا تضعیف شود.

ممیزی اخیراً از شلوغی OpenVPN. اکنون کامل است ، مانند مورد دیگری که توسط دسترسی به اینترنت خصوصی تأمین می شود. هیچ آسیب پذیری جدی که بر حریم خصوصی کاربران تأثیر بگذارد ، کشف نشده است. چند آسیب پذیری کشف شد که باعث می شود سرورهای OpenVPN به طور بالقوه برای حمله به انکار سرویس (DoS) باز شوند ، اما اینها در OpenVPN 2.4.2 وصله شده است.

OpenVPN معمولاً به عنوان امن ترین پروتکل VPN موجود است و به طور گسترده ای صورت می گیرد. در سراسر صنعت VPN پشتیبانی می شود. بنابراین ، من در مورد رمزگذاری OpenVPN به شرح زیر بحث خواهم کرد.

رمزگذاری OpenVPN

رمزگذاری OpenVPN شامل دو بخش است – رمزگذاری کانال داده ها و رمزگذاری کانال کنترل. رمزگذاری کانال داده برای امنیت داده های شما استفاده می شود. رمزگذاری کانال کنترل اتصال بین رایانه شما و سرور VPN را تضمین می کند.

هرگونه دفاع فقط به اندازه ضعیف ترین نقطه آن قوی است ، بنابراین مایه تاسف است که برخی از ارائه دهندگان VPN از یک رمزگذاری بسیار قوی تر در کانال استفاده می کنند (معمولاً قوی تر). در کانال کنترل)

بعنوان مثال ، دیدن یک سرویس VPN تبلیغ شده با استفاده از رمزنگاری AES-256 با رمزگذاری دستی RSA-4096 و احراز هویت SHA-512 ، غیر معمول نیست. این بسیار چشمگیر به نظر می رسد تا زمانی که متوجه شوید که فقط فقط به رمزگذاری کانال کنترل و نه کانال داده اشاره دارد ، که با Blowfish-128 صرفاً با احراز هویت SHA1 رمزگذاری شده است. این فقط به دلایل بازاریابی انجام می شود.

اگر از رمزگذاری های مختلف در داده ها و کانال های کنترل استفاده می شود ، سپس قدرت واقعی اتصال OpenVPN توسط مجموعه رمزگذاری ضعیف تر مورد استفاده قرار می گیرد.

برای حداکثر امنیت ، هر دو داده. و رمزگذاری کانال کنترل باید تا حد امکان قوی باشد. با این حال ، رمزگذاری مورد استفاده هرچه قوی تر باشد ، اتصال آهسته تر خواهد بود ، به همین دلیل برخی از ارائه دهندگان از رمزگذاری کانال داده استفاده می کنند.

رمزگذاری کانال کنترل را رمزگذاری TLS نیز می نامند زیرا TLS فن آوری است که برای مذاکره ایمن ارتباط بین شما استفاده می شود. کامپیوتر و سرور VPN. این همان فناوری است که توسط مرورگر شما برای مذاکره ایمن در مورد اتصال به وب سایت رمزگذاری شده HTTPS استفاده می شود.

  • رمزگذاری کانال کنترل شامل رمزگذاری ، رمزنگاری دستی و تأیید هویت است.
  • رمزگذاری کانال داده شامل یک رمزگذار و

ارائه دهندگان VPN اغلب از همان سطح رمزگذاری برای کانالهای کنترل و داده استفاده می کنند. در بررسی ها و جداول "چراغ راهنمایی" ما ، فقط در صورت استفاده از مقادیر مختلف برای هر کانال ، آنها را جداگانه لیست می کنیم.

اگر بیان کنیم که ارائه دهنده از رمزنگاری AES-256 استفاده می کند ، این بدان معنی است که از رمزنگاری AES-256 استفاده می شود. هم برای کانالهای کنترل و هم برای داده ها. *

(* حداقل [این باید باشد. برخی بررسی های میراث دستورالعمل های فعلی ما را رعایت نمی کنند ، اما اینها باید به موقع فاز شوند). [19659160] Ciphers

OpenVPN می تواند از تعدادی رمزگذار کلید متقارن برای اطمینان از داده ها در کانالهای کنترل و داده استفاده کند. در عمل ، تنها کسانی که از ارائه دهندگان تجاری VPN استفاده می کنند Blowfish ، AES و (کاملاً به ندرت) کاملی هستند.

Blowfish

Blowfish-128 رمزگذاری پیش فرض است که توسط OpenVPN استفاده می شود. اندازه های کلیدی در تئوری می توانند از 32 بیت تا 448 بیت باشند ، اما Blowfish-128 تنها نسخه ای است که احتمالاً در طبیعت با آن روبرو خواهید شد.

Blowfish اغلب به اندازه کافی برای اهداف گاه به گاه ایمن در نظر گرفته می شود ، اما ضعف هایی را شناخته است. . این توسط رمزنگار مشهور بروس اشنر ساخته شده است ، که در سال 2007 گفت ، "در این مرحله ، اگرچه من متحیر هستم که هنوز از آن استفاده می شود."

از نظر ما ، استفاده از Blowfish-128 به عنوان خط دوم قابل قبول است. دفاع در کانال داده OpenVPN. با این وجود ، نباید از آن استفاده کرد كه در کانال كنترل استفاده شود.

AES

AES به رمزنگاری كلیدی متقارن "استاندارد طلای" صنعت گسترده VPN تبدیل شده است. AES دارای مجوز NIST است و تقریباً در سراسر جهان بسیار امن تلقی می شود. AES-256 توسط دولت ایالات متحده برای محافظت از داده های "ایمن" استفاده می شود.

این واقعیت که اندازه بلوک 128 بیتی دارد و نه اندازه بلوک 64 بیتی Blowfish ، همچنین به معنای این است که می تواند پرونده های بزرگتر را اداره کند (بیش از 4 گیگابایت ) بهتر از Blowfish. علاوه بر این ، مجموعه دستورالعمل AES از شتاب سخت افزاری داخلی در اکثر سیستم عامل ها بهره می برد.

AES معمولاً در اندازه های 128 بیتی و 256 بیتی در دسترس است (AES 192 بیتی نیز وجود دارد). AES-128 تا آنجا که هر کسی آگاه است ، امن می ماند. با توجه به آنچه اکنون می دانیم میزان حمله NSA به استانداردهای رمزنگاری ، با این حال ، اکثر کارشناسان موافق هستند که AES-256 حاشیه امنیتی بالاتری را فراهم می کند.

فقط برای اطمینان از این که هیچ کس این موضوع را خیلی راحت پیدا نکند ، هر چند ، بحث در مورد این موضوع وجود دارد. AES-128 دارای یک برنامه کلیدی قوی تر از AES-256 است ، که باعث می شود برخی از کارشناسان برجسته معتقد باشند که AES-128 در واقع از AES-256 قوی تر است.

اما اجماع عمومی این است که AES-256 قوی تر است.

کاملی

کاملی یک رمز امن مدرن است و حداقل به همان اندازه AES امن و سریع است. در اندازه های کلیدی 128 ، 192 و 256 بیت در دسترس است. به لطف صدور گواهینامه NIST و استفاده آن توسط دولت ایالات متحده ، با این حال ، AES تقریباً همیشه به جای کاملیا مورد استفاده قرار می گیرد.

اما همانطور که در زیر بحث می کنم ، دلایلی وجود دارد که به رمزهای معتبر NIST اعتماد نکنید. این واقعیت که Camellia یک رمزنگاری غیر NIST است دلیل اصلی برای انتخاب آن از طریق AES است. با این حال ، این گزینه فقط به ندرت در دسترس است.

همچنین شایان ذکر است که Camellia تقریباً به اندازه AES از نظر ضعف آزمایش نشده است.

رمزنگاری دستی

به منظور ایمن مذاکره در مورد اتصال بین دستگاه شما و یک سرور VPN ، OpenVPN از دست زدن به TLS استفاده می کند. این اجازه می دهد تا مشتری OpenVPN و سرور VPN کلیدهای مخفی را با آنها برقرار کنند.

برای محافظت از این لرزش ، TLS معمولاً از رمزنگاری کلید عمومی RSA استفاده می کند. این یک الگوریتم رمزگذاری و امضای دیجیتالی است که برای شناسایی گواهینامه های TLS / SSL استفاده می شود. با این وجود ، می تواند به جای آن از مبادله کلید Diffie-Hellman یا ECDH نیز استفاده کند.

RSA

RSA یک سیستم رمزگذاری نامتقارن است – از کلید عمومی برای رمزگذاری داده ها استفاده می شود ، اما از کلید خصوصی دیگری برای رمزگشایی استفاده می شود. آی تی. این 20 سال گذشته پایه و اساس امنیت در اینترنت بوده است.

اکنون به خوبی مشخص شده است كه RSA با طول كلیدی 1024 بیتی (RSA-1024) یا كمتر ایمن نیست ، و تقریباً مطمئناً توسط NSA شکسته شده است. در نتیجه ، یک حرکت هماهنگ بین شرکت های اینترنتی برای مهاجرت به دور از RSA-1024 اتفاق افتاده است.

متأسفانه ، ما هنوز هم می یابیم که برخی از خدمات VPN برای محافظت از لرزش دست از استفاده از RSA-1024 استفاده می کنند. این خوب نیست.

RSA-2048 و بالاتر هنوز هم امن در نظر گرفته شده است. RSA به خودی خود رازداری عالی (PFS) را ارائه نمی دهد. با این وجود ، این امر می تواند با استفاده از مبادله كلیدی Diffie-Hellman (DH) یا منحنی الیپتیك (Difference-Hellman) و دیفی دی هلمن (ECDH) در مجموعه رمزنگاری آن اجرا شود.

در این حالت ، قدرت کلید DH یا ECDH مهم نیست. همانطور که از فقط استفاده می شود تا محرمانه ای عالی برای پیشبرد فراهم کند. این ارتباط با استفاده از RSA امن شده است.

از آنجا که می تواند باعث سردرگمی شود ، من همچنین توجه خواهم کرد که رمزنگاری RSA هیچ ارتباطی با شرکت فناوری ناسازگار آمریکایی RSA Security LLC ندارد. این شرکت پس از رشوه دادن 10 میلیون دلار توسط NSA ، به طور عمدی محصولات رمزگذاری شده BSAFE پرچمدار خود را تضعیف کرد.

Diffie-Hellman و ECDH

رمزگذاری دستی دیگری (رقیب) که بعضا توسط OpenVPN مورد استفاده قرار می گیرد ، Diffie-Hellman (DH) است. تبادل کلید رمزنگاری. این معمولاً دارای طول کلیدی 2048 بیت یا 4096 بیت است. توجه داشته باشید که از هر چیزی کمتر از DH-2048 به دلیل مستعد بودن در حمله لجگرام باید اجتناب شود.

مهمترین مزیت دستی که دیفی دی هلمن نسبت به RSA دارد این است که بومی رازداری عالی را ارائه می دهد. همانطور که قبلاً نیز اشاره شد ، با اضافه کردن مبادله کلید DH به دستی RSA به یک نتیجه مشابه می رسد.

Diffie-Hellman باعث اختلاف نظرهای زیادی در مورد استفاده مجدد از تعداد محدودی از شماره های اصلی شده است. این امر باعث می شود كه در برابر یك مخالف قدرتمند مانند NSA در معرض خطر قرار نگیرند. بنابراین ، دیفی هلمن برای رمزنگاری دستی دستی را ایجاد نمی کند. اگرچه به عنوان بخشی از مجموعه رمزنگاری RSA استفاده می شود ، خوب است.

منحنی بیضوی Diffie-Hellman (ECDH) یک شکل جدیدتر از رمزنگاری است که در برابر این حمله آسیب پذیر نیست. این امر به این دلیل است که از ویژگیهای نوع خاصی از منحنی جبری به جای اعداد اصلی بزرگ برای رمزگذاری اتصالات استفاده می کند.

ECDH را می توان به عنوان بخشی از دستی RSA برای فراهم آوردن رازداری کامل Forward Forward استفاده کرد ، یا می تواند دستی را روی آن رمزگذاری کند. خود (با امضای ECDSA). This also provides PFS.

ECDH key length starts at 384-bits. This is considered secure, but when used on its own to secure a TLS handshake, the longer the better (in terms of security, anyway).

SHA Hash Authentication

This is also referred to as data authentication or hash message authentication code (HMAC).

Secure Hash Algorithm (SHA) is a cryptographic hash function used (among other things) to authenticate data and SSL/TLS connections. This includes OpenVPN connections.

It creates a unique fingerprint of a valid TLS certificate, which can be validated by any OpenVPN client. Even the tiniest change is detectable. If the certificate is tampered with, this will immediately be detected and the connection refused.

This is important in preventing a Man-in-the-middle (MitM) attack, where an adversary attempts to divert your OpenVPN connection to one of its own servers instead of your VPN provider. It could do this, for example, by hacking your router.

If an adversary can crack the hash of your provider’s genuine TLS certificate, it can reverse the hash to create a forged certificate. Your Open VPN software would then authenticate the connection as genuine.

Is SHA Secure?

When used to protect HTTPS websites, SHA-1 is broken. This has been known about for some time. SHA-1 websites can still be found, but are being phased out. Most browsers will now issue a warning when you try to connect to a website secured with SHA-1.

SHA-2 and SHA-3 hash functions are now recommended instead, and are secure. SHA-2 includes SHA-256, SHA-384, and SHA-512. However…

OpenVPN only uses SHA for HMAC. I don’t think it useful to go into too much detail here, but SHA hash authentication is part of the HMAC algorithm. Attacking HMAC embedded with SHA-1 is much harder than just attacking the SHA-1 hash function itself.

In other words, HMAC SHA-1 as used by OpenVPN is considered secure and there is Mathematical proof of this. Of course, HMAC SHA-2 and HMAC SHA-3 are even more secure! Indeed, the recent OpenVPN audit recognizes that HMAC SHA-1 is secure, but recommends transitioning to HMAC SHA-2 or HMAC SHA-3 instead.

Notes

NIST

AES, RSA, SHA-1, and SHA-2 were all developed and/or certified by the United States National Institute of Standards and Technology (NIST). This is a body that by its own admission works closely with the NSA in the development of its ciphers.

Given what we now know of the NSA’s systematic efforts to weaken or build backdoors into international encryption standards, there is every reason to question the integrity of NIST algorithms.

NIST, of course, strongly refutes such allegations:

NIST would not deliberately weaken a cryptographic standard.

It has also invited public participation in a number of upcoming proposed encryption standards, in a move designed to bolster public confidence.

The New York Times, however, accused the NSA of circumventing NIST-approved encryption standards by either introducing undetectable backdoors or subverting the public development process to weaken the algorithms.

This distrust was further bolstered when RSA Security (a division of EMC) privately told customers to stop using an encryption algorithm that reportedl y contains a flaw engineered by the NSA. This algorithm had also been endorsed by NIST.

Furthermore, Dual_EC_DRBG (Dual Elliptic Curve Deterministic Random Bit Generator) is an encryption standard engineered by NIST. It has been known to be insecure for years.

In 2006 the Eindhoven University of Technology in the Netherlands noted that an attack against it was easy enough to launch on “an ordinary PC.” Microsoft engineers also flagged up a suspected backdoor in the algorithm.

Despite these concerns, where NIST leads, the industry follows. Microsoft, Cisco, Symantec, and RSA all include the algorithm in their product’s cryptographic libraries. This is in large part because compliance with NIST standards is a prerequisite to obtaining US government contracts.

NIST-certified cryptographic standards are pretty much ubiquitous worldwide, throughout all areas of industry and business that rely on privacy. This makes the whole situation rather chilling.

Perhaps precisely because so much relies on these standards, cryptography experts have been unwilling to face up to the problem.

AES-CBC vs AES-GCM

Until recently the only AES cipher that you were likely to encounter in the VPN world was AES-CBC (Cipher Block Chaining). This refers to the block cipher mode, a complex subject that is not really worth going into here. Although CBC may theoretically have some vulnerabilities, the general consensus is that CBC is secure. CBC is, indeed, recommended in the OpenVPN manual.

OpenVPN now also supports AES-GCM (Galios/Counter Mode).

  • GCM provides authentication, removing the need for a HMAC SHA hashing function.
  • It is also slightly faster than CBC because it uses hardware acceleration (by threading to multiple processor cores).

AES-CBC remains the most common mode in general use, but we are now beginning to encounter AES-GCM "in the wild." Given the advantages of GCM, this trend is only likely to continue. From a cryptographic perspective, tho9ugh, both AES-CBC and AES-GCM are very secure.

OpenVPN UDP vs. OpenVPN TCP

OpenVPN can run over TCP (Transmission Control Protocol) or UDP (User Datagram Protocol).

  • TCP = reliable. Whenever a computer sends a network packet using TCP, it waits for confirmation that the packet has arrived before sending the next packet. If no confirmation is received, it will resend the packet. This is known as error-correction. There is “guaranteed delivery” of all data, but it can be quite slow.
  • UDP = fast. Using UDP, no such error correction is performed. Packets are simply sent and received with no acknowledgments or retries. This makes UDP much faster than TCP, but less reliable.

If given the choice, I suggest using the faster UDP protocol unless you experience connection problems. This is the default strategy adopted by most VPN providers.

Defeat Censorship with OpenVPN on TCP Port 443

One of the great advantages of OpenVPN is that it can be run over any port, including TCP port 443. This is the port used by HTTPS, the encrypted protocol that secures all secure websites.

Without HTTPS, no form of online commerce, such as shopping or banking, would be possible. It is therefore very rare for this port to be blocked.

As an bonus, VPN traffic on TCP port 443 can be routed inside the TLS encryption in the same way as is used by HTTPS. This makes it much harder to spot using advanced Deep Packet Inspection techniques. TCP port 443 is, therefore, the favored port for evading VPN blocks.

Many VPN providers offer the ability to change the port number used by OpenVPN using their custom software.

Even if yours does not, many VPN providers do actually support OpenVPN using TCP port 443 at the server level. You can switch to it with a simple edit to your OpenVPN configuration (.ovpn) file. It is, therefore, worth asking your VPN provider about this.

It is worth noting that network engineers dislike this tactic as TCP over TCP is very inefficient. When it comes to defeating censorship, however, it often works.

SSTP uses TCP port 443 by default.

Summaries

VPN Protocols

  • PPTP is very insecure and should be avoided. While its ease of setup and cross-platform compatibility are attractive, L2TP/IPsec has the same advantages and is much more secure.
  • L2TP/IPsec is a good VPN solution for non-critical use. This is especially true on legacy devices that do not support OpenVPN. It has, however, been severely compromised by the NSA.
  • SSTP offers most of the advantages of OpenVPN, but is primarily only a Windows protocol. This does mean that it is better integrated into the OS, but it is poorly supported by VPN providers thanks to this limitation. In addition to this, its proprietary nature and the fact that is was created by Microsoft mean that I, for one, don’t trust it.
  • IKEv2 is a very good (secure and fast) protocol. Mobile users, in particular, may even prefer it to OpenVPN due to its improved ability to reconnect when an internet connection is interrupted. For Blackberry users, it is pretty much the only option available. Use open-source versions where possible.
  • OpenVPN is the recommended VPN protocol under most circumstances. It is fast, reliable, secure, and open source. It has no real downsides, per se., but to be truly secure it is important that it is implemented well. This means use of strong encryption with Perfect Forward Secrecy.

OpenVPN Encryption

When it comes to encryption, the devil is in the detail. It is common to see VPNs providers say they use “ultra-strong 256-bit” AES OpenVPN encryption, but this does not, in reality, tell us very much. AES-256 is indeed a strong cipher, but if other aspects of the encryption suite used are weak, then your data will not be secure.

  • Cipher – this protects your actual data. AES-256 is now the industry standard and is recommended.
  • Handshake – this secures your connection to the VPN server. RSA-2048+ or ECDH-384+ are secure. Importantly RSA-1024 and Diffie-Hellman handshakes are not.
  • Hash authentication – creates a unique fingerprint, which is used to validate data and TLS certificates (that is, to check that the server you are connecting to really is the one you think you are connecting to). HMAC SHA-1 is absolutely fine, but HMAC SHA-2 (SHA-256, SHA-384, and SHA-512) and HMAC SHA-3 are even more secure! Note that hash authentication is not required if the AES-GCM cipher is used.
  • Perfect Forward Secrecy (PFS) – this ensures that new encryption keys are created for each session. OpenVPN should not be considered secure unless PFS is implemented. This can be done either by including a Diffie-Hellman or ECDH key exchange in an RSA handshake, or a DH or ECDH handshake.
  • Encryption is only as secure as its weakest point. This means that encryptions settings should be strong on both the data and control channels.
  • Using higher bit lengths for ciphers and keys is almost always more secure, but this comes at a cost in speed.

OpenVPN will negotiate ciphers between client and server at will. Unless very specific parameters are defined, OpenVPN may default to weak settings. At a minimum, OpenVPN will default to Blowfish-128 cipher, RSA-1024 handshake with no PFS, and HMAC SHA-1 hash authentication.

Conclusion

Hopefully, you now have a better understanding of what makes for a secure VPN connection. When it comes to properly configuring a VPN, however, encryption is only half the story. The other half is ensuring that no traffic enters or leaves your computer outside of the VPN connection.

To learn more about this, please check out our Complete Guide to IP Leaks.