تعداد بیت در فایل کلید ایستا همان قدرت رمزنگاری OpenVPN نیست
تعداد بیت در فایل کلید ایستا مقدار مادهٔ ذخیرهشده را میسنجد، نه قدرت رمز را. سرصفحه، حالت پروفایل و رمز توافقشده را جداگانه بخوانید.
یک اسکنر یا همکار به تعداد بیتی که داخل فایل کلید ایستای OpenVPN چاپ شده اشاره میکند و میپرسد چرا تونل از رمزی با آن اندازه استفاده نمیکند. پرسش منطقی به نظر میرسد، اما پاسخ یک عدد نیست: سرصفحه مادهٔ کلید ذخیرهشده را میشمارد، در حالی که رمز فقط بخشی را مصرف میکند که اندازهٔ کلیدش میطلبد. اگر آن جمع را تنظیم قدرت بدانید، به ویرایشهایی میرسید که چیزی را تغییر نمیدهند. این قالب ساخته شده تا مادهٔ بیشتری از آنچه هر الگوریتم تکی مصرف میکند نگه دارد.
اینجا دو پرسش با هم مخلوط میشوند: فایل چه مقدار مادهٔ کلید ذخیره میکند، و رمز توافقشده چقدر قوی است. تنها دومی تونل را توصیف میکند.
عددی که در سرصفحه میآید واقعاً چه چیزی را میشمارد
ظرف، مادهٔ رمز و مادهٔ HMAC را به صورت ساختارهای جداگانه ترتیب میدهد، و شکل دوسویه دو مجموعه از این نوع را نگه میدارد تا هر جهت کلیدهای خودش را داشته باشد. کد نوشتن عدد چاپشده را از شمار ساختارهای ترتیبشده، اندازهٔ آنها و هشت بیت در هر بایت به دست میآورد. این حساب روی فضای ذخیره است، نه این ادعا که یک رمز هر بایت ذخیرهشده را مصرف میکند. سرصفحه همچنین بیشترین تخصیص مادهٔ رمز را ثابت میکند تا تغییر یک کتابخانه نتواند قالب را بیصدا تغییر اندازه دهد.
این را با کلید یک گواهی مقایسه کنید، که در آن تعداد بیت واقعاً اندازهٔ یک شیء را توصیف میکند. کلید RSA با 4,096 بیت و فایل کلیدی که سرصفحهاش 4,096 بیت میخواند دو چیز متفاوت با کارهای متفاوتاند، و قرار دادن آنها به عنوان دو تنظیم روی یک پیچ نتایج بدی میدهد.
دو مجموعه کلید در یک فایل
هر نیمهٔ فایل مادهٔ رمزنگاری و احراز هویت میدهد، چون حالت کلید از پیش مشترک بستهها را در هر دو جهت با همین قطعههای جدا محافظت میکند. رمز فعال فقط بایتهایی را به کار میبرد که اندازهٔ کلیدش میطلبد، و چکیده اندازهٔ خروجی خودش را، و به همین دلیل قدرت قابل استفاده از گزینهها میآید نه از طول فایل. بزرگ کردن بلوک شانزدهشانزدهی از الگوریتم پیکربندیشده نمیخواهد بیشتر از آن مصرف کند. ویرایش توضیح با عددی بزرگتر حتی کمتر چیزی را تغییر میدهد.
اگر واقعاً کلید بلندتری میخواهید، تنظیمی که باید عوض شود رمز یا چکیده است، و تولیدکننده هر چیزی را که الگوریتمهای برگزیده لازم دارند میسازد.
خواندن پروفایل میگوید کدام حالت را دارید
همین قالب فایل به دو کار کاملاً متفاوت میآید، و تنها پروفایل میگوید کدامیک را دارید. خط قدیمی secret فایل را تنها مادهٔ کلید تونل میکند، در حالی که tls-auth یا tls-crypt آن را در کنار گواهیها محافظت کانال کنترل میکند. هیچیک از این دو کاربرد آن را به کلید خصوصی گواهی یک کارخواه تبدیل نمیکند، هرقدر هم بلوک شبیه باشد. پیش از ساختن جانشین، گزینه و نسخه را مشخص کنید و به جای افزودن نویسه از تولیدکنندهٔ مستند استفاده کنید.
همین تفاوت پاسخ به افشا را هم تعیین میکند. کلید tls-auth که نشت کند کلیدهای نشست را افشا نمیکند، اما به مهاجم اجازه میدهد ترافیک کانال کنترل را تزریق کند، پس باز هم باید عوض شود. کلید secret نشتکرده بدتر است، چون همان مادهای بود که از خود دادهها محافظت میکرد.
بازبینی امنیتی چه چیزهایی را باید ثبت کند
سه چیز را جداگانه ثبت کنید: محافظت توافقشدهٔ کانال داده، محافظت کانال کنترل، و اینکه همتاها چگونه احراز هویت میشوند. خطی مانند data-ciphers AES-256-GCM تنها اولی را توصیف میکند، و گزارشی که همانجا بایستد نمیتواند پاسخ دهد که آیا کانال کنترل اصلاً محافظت میشود. فایل کلید ایستا وقتی با tls-auth یا tls-crypt به کار میرود در دستهٔ دوم است، و وقتی به کار نمیرود در هیچکدام. بازبینانی که دستهها را قاطی میکنند، وقتی رمز قویتر میخواهند فایل کلید بزرگتری طلب میکنند.
اگر فایل افشا شده است، آن را بچرخانید و از طریق کانال تأییدشده دوباره توزیع کنید. افزودن نویسه به رازی که به خطر افتاده چرخش نیست، و مادهٔ افشاشده را معتبر باقی میگذارد.
سابقهٔ چرخش را همراه پروفایلی که به آن تعلق دارد نگه دارید. بازبینی بعدی خواهد پرسید کدام کلید کدام دوره را محافظت کرد، و سرصفحه پاسخ آن را نخواهد داد.