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

سه کار جداگانه در دست‌دهی TLS 1.3

RFC 8446 این‌ها را جدا نگه می‌دارد و همین جداسازی تمام پاسخ است. پیام Certificate زنجیرهٔ گواهی نقطهٔ پایانی را حمل می‌کند. CertificateVerify مالکیت کلید خصوصی متناظر را اثبات می‌کند و رونوشت دست‌دهی را به هم می‌بندد. لایهٔ رکورد ترافیک را با کلیدهای ترافیک مذاکره‌شده محافظت می‌کند.

گواهی را عوض کنید و دو مورد نخست تغییر می‌کند. حفاظت رکورد دو بار اجرا نمی‌شود و به این دلیل که صادرکننده اکنون خصوصی است قوی‌تر نمی‌شود.

یک CA خصوصی واقعاً چه می‌خرد

یک سامانهٔ هویت کنترل‌شده می‌خرد: شما تعیین می‌کنید به چه کسی صادر شود، شما تعیین می‌کنید همتاها کدام صادرکننده‌ها را بپذیرند، و می‌توانید طبق برنامهٔ خودتان لغو کنید. این وقتی هر دو سر را اداره می‌کنید واقعاً سودمند است.

اما تعهداتی هم وارد می‌کند. اعتماد باید آگاهانه توزیع شود، تأیید همتا باید روشن بماند، و کسی باید مالک چرخهٔ عمر اعتبارنامه‌ها باشد. CA خصوصی میان‌بری برای دور زدن هیچ‌یک از این سه نیست.

چه زمانی کانال دوم پاسخ درست است

فرض کنید برنامه‌ای HTTPS تأییدشده به سرویس خودش باز می‌کند در حالی که بسته‌هایش نیز از VPN عبور می‌کنند. این طراحی دو مرز با نقاط پایانی به‌طور احتمالی متفاوت دارد، و کانال محافظت‌شدهٔ دوم همین‌گونه است.

این تمایز در دروازه اهمیت دارد. اگر نشست TLS برنامه به‌جای خود برنامه در دروازهٔ VPN پایان یابد، آن حفاظتی که فکر می‌کردید بعد از تونل دارید آنجا نیست. پیش از ادعای این ویژگی بنویسید هر کانال کجا پایان می‌یابد.

بپرسید نصب چه چیزی را تغییر می‌دهد

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

بپرسید کدام یک از این سه منظور است، سپس بپرسید قرار است چه چیزی را محقق کند. اگر پاسخ رمزگذاری بیشتر است، پیشنهاد به سازوکار اشتباه نشانه رفته است.

مرزها را بنویسید

برای هر کانال، نقاط پایانی، هویتی که هر طرف تأیید می‌کند و آنچه اپراتور میانی می‌تواند ببیند را ثبت کنید. سپس رفتار خطا را ثبت کنید: وقتی تأیید شکست می‌خورد چه می‌شود و وقتی کانال رد می‌شود چه می‌شود.

دو خط روی یک صفحه معمولاً بحثی را حل می‌کند که چرخش گواهی نمی‌تواند.

با سه پرسش تصمیم بگیرید

آیا مشکل این است که نقطهٔ پایانی خود را چه کسی معرفی می‌کند، یا اینکه با داده‌ها چه می‌شود؟ آیا حفاظت باید از دروازهٔ VPN فراتر رفته و تا برنامهٔ مشخصی ادامه یابد؟ و آیا می‌توانید دو نقطهٔ پایانی را نام ببرید که کانال دومی را پایان می‌دهند؟

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

مقالات مرتبط