چسباندن یک نمایه tls-crypt-v2 در یک تیکت بی‌خطر به نظر می‌رسد تا وقتی بشمارید فایل چه دارد. کلید کانال کنترل کارخواه کنار نسخه رمزشده همان کلید می‌نشیند و شیء سوم، کلید پیچیدن، هرگز از سرور پذیرنده بیرون نمی‌رود. این سه به پرسش‌های متفاوتی درباره نگهداری، اشتراک و بازنشستگی پاسخ می‌دهند. جدا کردنشان بیشتر بحث‌های سیاستی را پیش از شروع حل می‌کند.

نمایه در واقع چه دارد

نیمه کارخواه tls-crypt-v2 یک کلید به‌علاوه نسخه پیچیده آن است. کارخواه از کلید ساده برای حفاظت کانال کنترل استفاده می‌کند و نسخه پیچیده را هنگام راه‌اندازی به سرور می‌دهد، پس سرور همان کلید را بدون نگه‌داشتن نسخه متن ساده برای هر کارخواه بازیابی می‌کند. کلید پیچیدن این بازیابی را ممکن می‌کند و فقط به طرف پذیرنده تعلق دارد. همه چیز در ادامه از جای زندگی این سه شیء برمی‌آید.

ObjectWhere it livesWhat can open itWhat a leak costs
Server wrapping keyaccepting servers onlythe unwrap step inside the serverevery wrapped copy issued to that group becomes readable
Wrapped client keyinside the client profilethe server wrapping keyit names a client and exposes its metadata, but not the key inside
Client control keyinside the client profile, usable as-isthe client that owns itsomeone can open handshakes as that client until the server refuses the key

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

چرا نسخه پیچیده تمام ماجرا نیست

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

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

قلاب بررسی کجای دست‌دادن می‌نشیند

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

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

tls-crypt-v2 /etc/openvpn/server/tcv2-server.key
tls-crypt-v2-verify /etc/openvpn/server/verify-client-metadata.sh

این دو خط سطح سیاست روی سرور است: یکی کلید پیچیدن را نام می‌برد و دیگری برنامه‌ای را که درباره هر کارخواه داوری می‌کند. هر چیز جالبی در اسکریپت زندگی می‌کند که سزاوار کنترل نسخه و همان بازبینی هر قاعده دسترسی دیگری است.

حساب، گواهی و کلید کنترل جدا بازنشسته می‌شوند

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

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

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

صدور و بازپس‌گیری نمایه

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

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

فراداده در نمایه ورودی آن سیاست است نه مدرکی بر وجود کنترل دسترسی. سند طراحی OpenVPN 2.6 اشیاء و مرزی را که می‌کشند توصیف می‌کند و اجرای آن با گرداننده می‌ماند.

مقالات مرتبط