مفهوم کلیدی
VPNها ارتباط شما را رمزگذاری می کنند، ابتدا با نامفهوم کردن ارتباط و سپس اضافه کردن لایه های رمزگذاری روی کلیدهایی که قفل آن را باز می کنند.
شبکه خصوصی مجازی (VPN) سرویسی است که به شما امکان میدهد به سرورها در هر نقطه از جهان متصل شوید و وانمود کنید در جایی هستید که نیستید و ارتباط خود را در این فرآیند ایمن کنید. با این حال، رمزگذاری VPN چگونه کار می کند؟ در اینجا نحوه ایمن نگه داشتن ارتباط شما آمده است.
پروتکلهای VPN
برای درک رمزگذاری VPN، ابتدا باید پروتکل های VPN را بررسی کنیم. اینها برنامههایی هستند که نحوه صحبت VPN با سایر نهادهای موجود در شبکه، مانند سرورها یا سایتها را کنترل میکنند – از اصطلاح “پروتکل” به معنای “مجموعهای از قوانین” استفاده میکند.
چندین پروتکل وجود دارد که می توانید انتخاب کنید، از جمله که توسط خود ارائه دهندگان VPN مانند Nordlynx یا Lightway که به ترتیب توسط NordVPN و ExpressVPN توسعه یافته اند. مطمئن ترین مواردی که به یک توسعه دهنده VPN خاص مرتبط نیستند، احتمالاً OpenVPN که آزمایش خود را پس داده و تازه وارد نسبی WireGuard، هستند.
انتخاب پروتکل تعدادی از چیزها را تعیین می کند: به عنوان مثال، WireGuard بسیار سریعتر از سایر پروتکل ها است، در حالی که OpenVPN جزو امن ترین پروتکل ها محسوب می شود. این به دلیل تعدادی از عوامل است، اما در این مورد جالب پروتکل همچنین تعیین می کند که چه نوع رمزگذاری را می توانید در تونل VPN خود استفاده کنید.
مبانی رمزگذاری
وقتی اطلاعات را رمزگذاری میکنید، با استفاده از الگوریتمی که معمولاً اطلاعات را بیش از یک بار درهم میکند، به بیمعنی تبدیل میشود. به عنوان مثال، زمانی که شما بچه بودید احتمالاً با جایگزین کردن حروف الفبا به جای اعداد، یک پیام مخفی ایجاد کرده اید، بنابراین نام دوست شما Al شده است 12-1.
یک الگوریتم این کار را انجام می دهد، اما آن را چند هزار قدم جلوتر می برد و حروف را با نمادهایی جایگزین می کند که دوباره و دوباره و دوباره جایگزین می شوند. تنها راه برای باز کردن قفل این آشفتگی و خوانایی مجدد آن استفاده از یک به اصطلاح “کلید” است.
در این مورد، “کلید” قطعه ای از داده است که می تواند اطلاعات رمزگذاری شده را باز کند. وسوسه انگیز است که آن را به عنوان یک رمز عبور در نظر بگیرید، اما در واقع بیشتر از این است: معمولاً یک رشته طولانی از حروف، اعداد و نمادهایی است که به الگوریتم نشان می دهد که شما مجاز به رمزگشایی اطلاعات هستید.
رمزگذاری متقارن
با ایمن بودن خود اطلاعات، این سوال وجود دارد که با کلید چه میکنید، زیرا این نقطه ضعف هر رمزگذاری است: اگر کلید را در اختیار داشته باشید، میتوانید هر چیزی را که از آن محافظت میکند باز کنید. ابتدایی ترین روش مدیریت کلیدها رمزگذاری متقارن است که به عنوان رمزگذاری کلید مشترک نیز شناخته می شود. در مورد شما و دوستتان Al، شما به سادگی به Al گفتید که سیستم چگونه کار می کند، به این معنی که هر دو کلید را در دست داشتید، همینگونه واضح.
در سیستمهای پیچیدهتر، رمزگذاری متقارن کمابیش به همین صورت عمل میکند: کلیدی که برای رمزگذاری اطلاعات استفاده میشود در اختیار هر دو طرف است. در مورد VPN، اپلیکیشن یا کلاینت شما، داده های شما را با کلیدی رمزگذاری می کند که توسط سرور VPN که به آن متصل شده اید نیز نگهداری می شود، بنابراین می تواند به سادگی اطلاعات را هنگام ورود رمزگشایی کند.
AES و Blowfish
رایج ترین انواع رمزگذاری متقارن که سایفر نامیده می شوند، Advanced Encryption Standard و Blowfish هستند. AES توسط دولت ایالات متحده توسعه یافته است و رمزگذاری درجه نظامی است که بسیاری از شرکت ها دوست دارند به آن ببالند. Blowfish به عنوان یک سایفر منبع باز توسعه داده شد، اما بحث های زیادی در مورد امنیت آن وجود دارد.
مهم نیست از کدام یک استفاده می کنید چون قدرت آن بستگی زیادی به تعداد بیت دارد، اساساً اندازه قطعه کد که به عنوان کلید عمل می کند. هر چه طولانی تر باشد بهتر است، بنابراین AES-256 (بنابراین 256 بیت) از AES-128 ایمن تر است. AES-256 احتمالاً رایج ترین و همچنین ایمن ترین نوع است، بنابراین توصیه می کنیم در بیشتر موارد به آن پایبند باشید.
انتقال کلیدها
البته، یک نقص آشکار در همه موارد بالا وجود دارد: اگر هر دو طرف در تبادل، هر دو کلید ایمن-نشده را داشته باشند، یک اپراتور باهوش میتواند به نحوی کلید را رهگیری کند و سپس اطلاعات را برای خود رمزگشایی کند. چندین راه برای انجام این کار وجود دارد، مانند جعل هویت یک گره بین شبکه یا سایر اشکال رهگیری.
برای جلوگیری از این اتفاق، باید به نحوی کلیدهای مشترک ارسال شده را رمزگذاری کنید. اکنون، میتوانید این کار را با استفاده از کلیدهای مشترک بیشتر انجام دهید، اما این فقط یک مرحله برای هر کسی که به آن گوش میدهد اضافه میکند. در عوض، بهتر است نوع جدیدی از سایفر با استفاده از رمزگذاری کلید عمومی معرفی شود.
“کلید عمومی” یک اصطلاح گیج کننده است، زیرا “عمومی” و “امن” تقریباً متضاد هستند. با این حال، کلید عمومی تنها نیمی از معادله است. در یک سیستم کلید مشترک، فرستنده و گیرنده کلیدهای یکسانی دارند، در سیستم کلید عمومی، فقط نیمه ی فرستنده عمومی است، در حالی که کلید گیرنده مخفی است و فقط برای آنها شناخته شده است.
این در واقع یک راه زیرکانه برای رفع مشکل است: در حالیکه ارسال داده های واقعی با کلیدهای مشترک که مخفی اما به راحتی قابل دستیابی هستند انجام می پذیرند، شما کلیدها را با استفاده از یک سیستم باز که در سمت گیرنده محافظت می شود، انتقال می دهید. به این ترتیب، داده ها می توانند کم و بیش آزادانه اما از تداخل یا جاسوسی در امان باشند.
امنیت لایه انتقال
روشی که توزیع و بررسی کلید عمومی کار می کند از طریق گواهینامه است، اساساً داشتن یک شخص ثالث برای اطمینان دادن به شما که کلید ارسال شده درست است. متداول ترین راه برای انجام این کار استفاده از پروتکل لایه امنیتی انتقال (TLS) است، روشی که در آن کامپیوتر ها به طور ایمن با یکدیگر در وب صحبت می کنند.
TLS در انواع اپلیکیشن ها استفاده میشود: اغلب وقتی وارد یک وبسایت یا سرویس دیگری میشوید، رمز عبور شما از طریق TLS دوباره بررسی میشود. خود TLS نیز از رمزگذاری برای ایمن سازی اطلاعات استفاده می کند و اغلب از سایفر رمزگذاری ساده تری به نام RSA استفاده می کند.
زنجیرههای RSA بسیار طولانیتر (معمولاً در محدوده 1024 بیتی یا حتی طولانیتر) از آنهایی هستند که توسط AES یا Blowfish استفاده میشوند، اما از آنجایی که اطلاعات را چندین بار به هم نمیریزد، ایمن در نظر گرفته نمیشود. به این ترتیب، بهتر است برای ارسال کلیدها از طریق وب استفاده شود زیرا سریعتر رمزگشایی می شود به این دلیل که ساده تر است، اما بهتر است برای ترافیک واقعی VPN استفاده نشود.
ساخت هش از آن
بهتر از RSA، TLS یک ترفند دیگر در آستین خود دارد، یعنی هش کردن. در این مورد، هش کردن یک شکل اضافی بررسی مشروع بودن درخواست بازیابی برای یک کلید مشترک است. این به عنوان یک ترفند ثانویه در صورتی که مهاجم بفهمد چگونه یک گواهی را جعل کند، عمل می کند.
انواع مختلفی از الگوریتم های هش وجود دارد: رایج ترین آنها SHA، به طور خاص SHA-2 است. با این حال، چندین زیرگروه از این سایفر وجود دارد، بنابراین اغلب با نامگذاری هایی مانند SHA-256 یا SHA-512 مواجه می شوید.
از آنجایی که مرحله هش نوعی بررسی مضاعف، قبل از رمزگشایی، برای اینکه که آیا همه چیز درست است می باشد، هر VPN از آن استفاده نخواهد کرد. با این حال، اکثر پروتکل ها این امکان را در اختیار قرار می دهند و بسیاری از ارائه دهندگان با افتخار به شما می گویند که از آن استفاده می کنند.
لایه ها بر روی لایه ها
نتیجه نهایی سوپی از هشها، الگوریتمها و کلیدها است که احتمالاً هوش از سر می پروراند، اما حاصل این است که یک VPN خوب چند برابر از شما محافظت میکند: ابتدا، ارتباط واقعی با AES یا Blowfish رمزگذاری میشود و سپس کلیدهایی که قفل این رمزگذاری را باز می کنند دوباره محافظت می شوند، اغلب بیش از یک بار.
همه بهترین VPNهای موجود از این طرح پیروی می کنند، و ما به شما توصیه می کنیم دوباره بررسی کنید که VPN انتخابی شما نیز، این کار را انجام می دهد. اغلب اوقات، VPNها این اطلاعات را در موارد تبلیغاتی خود ارائه می دهند تا بتوانید خودتان طرز کار آن را ببینید.