# امنیت شبکه، نشست و کلیدها

تفکیک دامنه‌های کلید، خزانه Admin Main، رسید Station و دسترسی خواندنی Remote؛ همراه حدود واقعی پیاده‌سازی.

وضعیت: پیاده‌سازی‌شده | مخاطب: مدیر امنیت، اپراتور و توسعه‌دهنده یکپارچه‌سازی
بازبینی مستندات: ۲۰۲۶/۰۹/۲۴ · ۲ مهر ۱۴۰۵

## کلیدها کاربرد یکسان ندارند

کلید اجماع نود برای هویت و مشارکت در شبکه، کلید تراکنش برای عملیات کیف پول یا قرارداد، امضاکننده سازمانی برای تصمیم نقش و توکن Station برای دسترسی به برنامه استفاده می‌شوند. جایگزین‌کردن یکی با دیگری مرز اعتماد را از بین می‌برد.

کلید عمومی مرجع عضویت نیز با توکن ورود تفاوت دارد: Station با آن امضای رسید را بررسی می‌کند. فایل‌های محیط، runtime، دیتابیس، پیکربندی درگاه و مسیرهای زیرساخت اطلاعات عمومی مستندات نیستند.

## خزانه و نشست Admin Main

کد امنیت Admin Main رمز اولیه را در راه‌اندازی صریح می‌گیرد، حداقل طول تعیین می‌کند و مشتق‌سازی رمز را با PBKDF2 انجام می‌دهد. کلید اصلی به‌صورت بسته رمز‌شده AES-GCM نگهداری می‌شود و مسیر مهاجرت کلید اصلی قدیمی به نگهداری رمز‌شده وجود دارد.

نشست امنیتی کوتاه‌عمر، امکان دسترسی به امضاکننده خزانه را فراهم می‌کند. بعضی مسیرهای امنیتیِ دارای تأیید رمز عمداً اطلاعات حساس خزانه را برای مدیریت یا بازیابی برمی‌گردانند؛ بنابراین نباید همه پاسخ‌های Admin Main را «عمومی و بدون کلید» فرض کرد. این مسیرها باید صرفاً در محدوده مدیریتی حفاظت‌شده استفاده شوند.

## Station و امضاکننده بیرونی

در Station تولیدی، ایجاد Software Vault ممنوع است. ثبت کیف پول تولیدی بر نشانی عمومی، نقش و مرجع امضاکننده بیرونی تکیه دارد. برای HSM، MPC و Web3Signer، کد مدل تنظیمات و کنترل آمادگی دارد؛ دریافت PIN، share خصوصی یا محتوای کلید TLS به‌عنوان ورودی عادی تنظیمات پیش‌بینی نشده است.

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

## درگاه‌ها و محدودیت دسترسی

Admin Main و Station تولیدی اتصال عامل به loopback، مبدأهای صریح و مسیر HTTPS خارج از loopback را کنترل می‌کنند. نصب‌های Linux از سرویس اختصاصی و reverse proxy استفاده می‌کنند. عضویت در گروه Docker یا helper دارای sudo همچنان اختیار عملیاتی مهمی است و نباید با یک sandbox کامل اشتباه شود.

Remote Gateway فقط دو عمل snapshot و block را می‌پذیرد. نشانی منابع و هویت‌ها سمت سرور تعیین می‌شوند؛ کلاینت نمی‌تواند روش دلخواه RPC یا مسیر فایل دلخواه تزریق کند. توکن اختصاصی به‌صورت هش نگهداری و فعال‌بودن و انقضای آن در درخواست بررسی می‌شود.

## امنیت کلاینت بومی مک

Remote از نشست شبکه موقت بدون cache پایدار، رد redirect و کنترل مبدأ WebKit استفاده می‌کند. محتوای رابط به منابع بسته محدود است و ارتباط شبکه از لایه بومی انجام می‌شود. ذخیره توکن در Keychain اختیاری است و کاربر می‌تواند آن را حذف کند.

بررسی چند RPC فقط سازگاری منابع مورد اعتماد را بیشتر می‌کند؛ این برنامه light client اثبات‌محور نیست. امنیت TLS/SSH، کلید دسترسی و پیکربندی صحیح سرور همچنان بخشی از حد اعتماد آن است.

## آنچه هنوز باید مستقل تأیید شود

وجود کنترل امنیتی در سورس یا آزمون محلی، ممیزی مستقل و تست نفوذ را جایگزین نمی‌کند. گزارش Linux New Network آزمون بار، نفوذ و بازیابی را باز اعلام کرده و گزارش Remote اتصال انتهابه‌انتهای تولید و بخشی از تجربه بومی را تأییدنشده می‌داند.

برای گزارش آسیب‌پذیری، نسخه و سناریوی بازتولید با داده پوشانده‌شده کافی است. کلید، credential، نشانی خصوصی، enode یا خروجی کامل خزانه را در مستند عمومی، issue یا تصویر صفحه منتشر نکنید.

## مراجع پیاده‌سازی

- admin-main-new/backend/app/services/security_service.py
- admin-main-new/backend/app/production.py
- plank-station-new/agent/app.py
- plank-station-new/SECURITY.md
- plank-station-mac-remote/macos/Station.swift
- plank-station-mac-remote/server/gateway.py
- admin-main-linux-newnet/VERIFICATION_LINUX_NEWNET_FA.md
