Shadowsocks 2022
Shadowsocks 2022 (SIP022) هر بایت را با 2022-blake3-aes-256-gcm رمزگذاری میکند و بازپخش را رد میکند. چگونه کار میکند، کجا جا میگیرد و چرا Colitu آن را آخر امتحان میکند.
Shadowsocks 2022 پنجمین و آخرین حالتی است که Adaptive Connect در Colitu روی Android و iOS امتحان میکند و در Windows و Linux یکی از حالتهای TCP است که بر اساس زمان اتصال رتبهبندی میشوند. برخلاف چهار حالت دیگر، تلاش نمیکند شبیه چیزی باشد: از همان بایت اول، اتصال Shadowsocks شبیه دادههای تصادفی است.
چیست
Shadowsocks یکی از قدیمیترین پروتکلهای پروکسی رمزگذاریشدهٔ متنباز است. «2022» به مشخصات SIP022 اشاره دارد، بازطراحیای که ضعفهای نسخههای قبلی را رفع کرد. بهجای رمز عبور، یک کلید مشترک قوی از پیشتعیینشده میخواهد، از BLAKE3 برای مشتق کردن کلیدهای هر نشست استفاده میکند و حفاظت در برابر بازپخش مبتنی بر مهر زمانی اضافه میکند. این مشخصات هم TCP و هم UDP را پوشش میدهد. سرورهای Colitu آن را با sing-box و روش 2022-blake3-aes-256-gcm در حالت چندکاربره اجرا میکنند: یک کلید سرور بهعلاوهٔ کلیدی جداگانه برای اطلاعات هر کاربر.
چگونه کار میکند
- کلیدها. برنامه کلید سرور و کلید کاربر خودش را دارد، هر دو 256 بیتی و پس از ورود از طریق کانال رمزگذاریشده تحویل داده میشوند.
- کلید تازه برای هر اتصال. برای هر اتصال، کلاینت یک salt تصادفی 32 بایتی انتخاب میکند و با BLAKE3 از کلید و salt یک زیرکلید نشست مشتق میکند. بنابراین هر نشست از کلید رمزگذاری جدیدی استفاده میکند.
- سرآیند درخواست. پیام اول یک سرآیند با طول ثابت شامل نوع پیام، مهر زمانی و طول را حمل میکند و پس از آن یک سرآیند با طول متغیر شامل آدرس مقصد و padding اختیاری میآید. همهچیز با AES-256-GCM رمزگذاری و احراز هویت میشود.
- حفاظت در برابر بازپخش. سرور درخواستهایی را که مهر زمانیشان بیش از حد با ساعت خودش فاصله دارد (SIP022 اجازهٔ 30 ثانیه میدهد) رد میکند و saltهای اخیراً دیدهشده را به خاطر میسپارد، بنابراین اتصال ضبطشده را نمیتوان بازپخش کرد.
- پاسخ. نخستین پاسخ سرور شامل salt کلاینت است، که پاسخ را به همان درخواست مشخص پیوند میدهد.
- دادهها. پس از آن، دادهها در تکههای رمزگذاریشده و احراز هویتشده جریان مییابند. در هیچ نقطهای دستدهی قابلشناسایی وجود ندارد.
چرا Colitu از آن استفاده میکند
Shadowsocks 2022 سبک است: بدون دستدهی TLS، با سربار کم برای هر بسته و شروع سریع. همچنین با هر حالت دیگر فرق دارد. فیلترهایی که برای TLS یا QUIC تنظیم شدهاند چیز آشنایی برای تطبیق ندارند، بنابراین در شبکهای که به دلایل خودش در TLS یا QUIC به آدرسهای ناآشنا اختلال ایجاد میکند، میتواند همچنان عبور کند. بهعنوان آخرین حالت در ترتیب، به Adaptive Connect گزینهای دیگر از نوعی کاملاً متفاوت میدهد.
کجا قوی است
- شبکههای با فیلترینگ سبک: حداقل سربار و تأخیر کم.
- شبکههایی که بهطور مشخص در TLS یا QUIC اختلال ایجاد میکنند: دستدهی TLS یا QUICای برای اختلال وجود ندارد.
- دستگاههای کممصرف: AES-GCM در بیشتر پردازندههای مدرن شتاب سختافزاری دارد.
محدودیتها و زمانی که بهترین انتخاب نیست
- بدون استتار. «شبیه دادههای تصادفی بودن» خودش نشانه است. پژوهشگران سامانههای فیلترینگی را مستند کردهاند که ترافیک کاملاً رمزگذاریشده را بهصورت اکتشافی علامت میزنند. در شبکههایی با DPI تهاجمی، حالتهای مبتنی بر Reality احتمال بیشتری برای کار کردن دارند و به همین دلیل Shadowsocks 2022 در موبایل آخر است.
- بدون گواهی. امنیت کاملاً به محرمانه ماندن کلیدهای مشترک از پیشتعیینشده بستگی دارد؛ هویت کلید عمومی برای سرور وجود ندارد.
- بدون محرمانگی پیشرو (forward secrecy). تبادل کلید موقت وجود ندارد: کلیدهای نشست از کلیدهای بلندمدت مشتق میشوند، بنابراین هر که آن کلیدها را به دست آورد میتواند نشستهای ضبطشده را رمزگشایی کند. حالتهای مبتنی بر TLS این ضعف را ندارند.
- چیزی برای نشان دادن به پویشگر نیست. سرور به پویشگر پاسخ مفیدی نمیدهد، اما برخلاف Reality وبسایت واقعیای هم پشت آن نیست.
- TCP روی لینکهای دارای افت. روی دادههای تلفن همراه یا Wi-Fi ضعیف مانند هر پروتکل TCP کند میشود؛ Hysteria2 معمولاً آنجا سریعتر است.
Adaptive Connect چگونه از آن استفاده میکند
در Android و iOS، Shadowsocks 2022 آخر است، پس از Hysteria2، VLESS Reality، VLESS XHTTP و Trojan. وقتی هیچیک از چهار حالت دیگر بررسی ترافیک را نگذرانده باشد امتحان میشود. در Windows و Linux با سایر حالتهای TCP بر اساس زمان اتصال اندازهگیریشده رتبهبندی میشود. اگر Shadowsocks 2022 هم بررسی را نگذراند، شبکه هیچیک از پنج حالت را عبور نمیدهد؛ راهنمای VPN وصل نمیشود توضیح میدهد بعد چه چیزی را بررسی کنید.
امنیت و رمزگذاری
- رمز: AES-256-GCM، یک رمز AEAD: هر تکه هم رمزگذاری و هم احراز هویت میشود، بنابراین هر دستکاری تشخیص داده میشود.
- مشتق کردن کلید: BLAKE3 برای هر اتصال یک زیرکلید نشست جدید از کلید مشترک از پیشتعیینشده و یک salt تصادفی مشتق میکند.
- حفاظت در برابر بازپخش: مهر زمانی بهعلاوهٔ حافظهٔ saltهای اخیراً استفادهشده.
- کلیدهای هر کاربر: اطلاعات هر کاربر علاوه بر کلید سرور یک کلید جداگانه هم دارد.
- مدیریت کلید: کلیدها بهصورت رمزگذاریشده به برنامه تحویل داده میشوند و هرگز منتشر نمیشوند.
- بدون گزارش دسترسی: صفحهٔ امنیت را ببینید.
منابع
امتحانش کنید
Shadowsocks 2022 بهعنوان آخرین مسیر پشتیبان بخشی از هر برنامهٔ Colitu است و چیزی برای پیکربندی ندارد. Colitu را دانلود کنید یا مکانهای سرور را ببینید.