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

تصمیم به این بستگی دارد که واقعاً کدام لایه منقضی شده است.

سه عملیاتی که چرخش نامیده می‌شوند

تجدید کلید کلیدهای ترافیک تازه را درون رابطهٔ کنترل موجود و با سازوکاری که پروتکل تعریف می‌کند می‌سازد. IKEv2 این کار را با یک انجمن امنیتی فرزند تازه، TLS 1.3 با پیام به‌روزرسانی کلید، و WireGuard با دست‌دادن تازه هنگام رسیدن به محدودیت‌های زمانی یا پیامی انجام می‌دهد. نشانی‌های تونل و هویت احرازشده همان‌جا می‌مانند.

اتصال دوباره اتصال را دور می‌ریزد و آن را از ابتدا بازمی‌سازد، که تخصیص نشانی، نصب مسیر و هر مذاکرهٔ تلاش نخست را تکرار می‌کند.

احراز هویت دوباره خودِ اثبات هویت را تکرار می‌کند، که می‌تواند شامل یک مدرک، یک گواهی یا یک عامل دوم باشد. بسته به محصول، با اتصال دوباره یا بدون آن رخ می‌دهد.

کاربران در هنگام تمدید چه چیزی متوجه می‌شوند

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

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

کجا این سه در عمل از هم جدا می‌شوند

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

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

یک هشدار برای نشست‌های طولانی مهم است: بسامد به‌تنهایی محرمانگی رو به جلو ایجاد نمی‌کند. این ویژگی به نحوهٔ رابطهٔ کلیدهای نشست با رازهای بلندمدت و به اینکه کلیدهای کهنه نابود می‌شوند یا نه بستگی دارد، که پرسشی از طراحی و پیاده‌سازی است نه یک تنظیم.

پیش‌فرض‌ها را انتخاب کنید، سپس مرحله را ثبت کنید

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

swanctl --list-sas
ip xfrm state | grep -E 'proto|replay-window'
wg show
journalctl -u strongswan --since '1 hour ago' | grep -i -E 'rekey|rekeyed|child'

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

مقالات مرتبط