در رمزگذاری حمل و نقل
در رمزگذاری حمل و نقل
1) تعریف و محدودیت های کنترل
رمزگذاری در حین انتقال، حفاظت از داده ها در طول کل مسیر انتقال شبکه (مرورگر سرور، سرویس سرویس، عامل کارگزار، برنامه کاربردی پایگاه داده، مرکز داده و مرکز داده) به طوری که رهگیری منفعل و حملات فعال در کانال محتوا را نشان نمی دهد و اجازه نمی دهد بدون تشخیص اصلاح شود.
آنچه ما پوشش می دهیم: API های عمومی و خصوصی (HTTP/HTTPS، gRPC)، جریان و کارگزاران (Kafka، NATS، RabbitMQ)، WebSocket، پایگاه داده ها و کش ها در شبکه، ترافیک سرویس در خوشه ها، VPN/بین مراکز داده و ابرها، درخواست DNS، مشتریان تلفن همراه/IoT.
آنچه ما به طور کامل پوشش نمی دهیم: حملات به نقاط پایانی (سازش میزبان/مرورگر)، آسیب پذیری های برنامه، نشت از سیاهههای مربوط/تخلیه. این با کنترل های جداگانه حل می شود (A&A، به حداقل رساندن حقوق، رمزگذاری در حالت استراحت، ورود به سیستم امن).
2) مدل تهدید و اهداف
خطرات: رهگیری ترافیک/spoofing (MITM), پروتکل downgrade/cipher suite, گواهی جعلی/CA, نشت کلید, SNI/حملات فراداده, محتوای مخلوط, TLS mistermination در balancers, اتصالات سرویس ناامن.
اهداف:1. محرمانه بودن + یکپارچگی با احراز هویت رمزنگاری.
2. مخالفت با کاهش (سیاست سخت و پیکربندی).
3. شناسایی احزاب (سرور، در صورت لزوم - متقابل).
4. گواهی مدیریت/چرخه عمر کلید و حسابرسی.
5. مشخصات عملکرد بدون مبادلات امنیتی.
3) اصول اساسی
TLS به طور پیش فرض در همه جا است. ترافیک خارجی و داخلی - رمزگذاری.
نسخه های مدرن TLS 1. 3 به عنوان استاندارد ؛ TLS 1. 2 - فقط تحت سیاست های سختگیرانه. غیرفعال کردن 1. 0/1. 1.
مجموعه رمزنگاری AEAD با PFS. AES-GCM یا ChaCha20-Poly1305 ؛ PFS از طریق (EC) DHE.
منحنی/کلید X25519 آزمون (ترجیحا) یا secp256r1 (P-256). کلید RSA ≥2048، بهتر از ECDSA (P-256).
mTLS که در آن اعتماد کمیاب است. کانال های بین سرویس، API های مدیریت، کارگزاران، پایگاه های داده - از طریق احراز هویت متقابل.
HSTS برای وب. پیش بارگذاری اجباری HTTPS + برای دامنه های عمومی.
«رمزگذاری و رمزگذاری دوباره» آگاهانه. TLS-termination در محیط + رمزگذاری مجدد به backends یا passthrough end-to-end - با توجه به مدل تهدید انتخاب کنید.
چابکی کریپتو توانایی تغییر منحنی ها/سوئیت ها/نسخه ها با خرابی صفر.
4) پشته پروتکل و اسکریپت
4. 1 HTTP/2، HTTP/3 (QUIC)، gRPC، WebSocket
ALPN: h2 برای HTTP/2، h3 برای HTTP/3 ؛ H2C مهار (بدون TLS).
HTTP/3/QUIC: تاخیر، 0-RTT جاسازی شده و مهاجرت ترکیبی را کاهش می دهد. 0-RTT اجازه می دهد انتخابی (replay خطر).
gRPC: بیش از h2/h3 ؛ TLS اجباری، مجوز mTLS + در هر RPC اختیاری است.
WebSocket: wss ://only; در پروکسی/متعادل کننده ها - ارتقاء صحیح و TLS پینینگ دامنه.
4. 2 ترافیک بین سرویس و سرویس مش
مدل جانبی (Istio/Linkerd، و غیره). mTLS خودکار، سیاست های اجازه، چرخش گواهی.
SPIFFE/SPIRE. هویت خدمات غیر متمرکز (SPIFFE ID)، گواهی SVID، TTL های کوتاه.
پارامترهای TLS متمرکز هستند. به حداقل رساندن اختلافات پیکربندی در کد خدمات.
4. 3 کارگزاران/جریان/صف
Kafka/NATS/RabbitMQ: TLS برای kliyent↔broker و broker↔broker ؛ mTLS در صورت امکان.
SASL over TLS: اگر mTLS امکان پذیر نباشد، احراز هویت توسط نشانه ها/ورودی ها، اما کانال را رمزگذاری می کند.
ACL و مجوز موضوع. رمزگذاری ≠ کنترل دسترسی
4. 4 پایگاه داده ها و انبارها
PostgreSQL/MySQL/SQL Server: TLS، اعتبار سنجی CN/SAN، پین/ریشه CA را فعال کنید.
Redis/Memcached: استفاده از تربچه stunnel/TLS ؛ ممنوعیت ترافیک ساده در محصول.
4. 5 شبکه/تونل
بین مراکز داده/ابرها: IPsec (IKEv2) یا WireGuard (یک مجموعه مدرن از primitives).
دسترسی مدیر: SSH با KEH/ciphers مدرن ؛ بدون کلمه عبور، فقط کلید/SSO.
4. 6 DNS و پروتکل های کمکی
DNS over HTTPS (DoH )/DNS over TLS (DoT) برای مشتریان و در صورت امکان در خوشه.
غیر فعال کردن محتوای مخلوط. هیچ چیز در http ://در صفحات https ://.
5) گواهینامه ها، PKI و مدیریت کلید
مدل PKI: برای دامنه های خارجی - CA عمومی ؛ برای ترافیک داخلی - CA خود و یا SPIRE-CA.
اتوماسیون: ACME/Cert-manager برای Kubernetes، TTL کوتاه، چرخش خودکار.
OCSP منگنه и CRL. در جبههها منگنه را روشن کنید ؛ به طور منظم به روز رسانی زنجیره ای.
پینینگ - با احتیاط. در مشتریان تلفن همراه/دسکتاپ - پین CA/SPKI با یک مکانیزم نورد اضطراری.
ذخیره سازی کلید: کلید خصوصی در HSM/KMS/ذخیره سازی مخفی ؛ حداقل مواجهه ؛ ممنوعیت ورود به سیستم
6) تنظیمات: پروفایل های تمرین
مشخصات TLS توصیه شده (محیط بیرونی):- نسخه ها: TLS 1. 3 (مورد نیاز)، TLS 1. 2 (عقب نشینی)
- TLS 1. 3: 'TLS _ AES _ 128 _ GCM _ SHA256'، 'TLS _ AES _ 256 _ GCM _ SHA384'، 'TLS _ CHACHA20 _ POLY1305 _ SHA256'.
- TLS 1. 2: 'ECDHE-ECDSA-AES128-GCM-SHA256'، 'ECDHE-RSA-AES128-GCM-SHA256' (+ گزینه ها AES256/CHACHA20 در صورت لزوم).
- منحنی: X25519، secp256r1.
- گواهینامه ها: ECDSA-preferred، RSA-fallback.
- هدرهای امن: «Strict-Transport-Security»، «X-Content-Type-Options»، «X-Frame-Options» (به صورت موردی)، «Referrer-Policy».
- کوکی ها: 'امن'، 'HttpOnly'، 'SameSite' (Lax/Strict by design).
- گواهی مشتری مورد نیاز است.
- مشتری کوتاه TTL SVID (ساعت/روز)، چرخش اتوماتیک.
- سیاست ها: چه کسی می تواند به چه کسی متصل شود (مبتنی بر قصد/کار از طریق مجوز مش).
7) عملکرد و قابلیت اطمینان
شتاب سخت افزاری: AES-NI/ARMv8 Crypto، ChaCha20-Poly1305 اولویت در CPU بدون AES-NI.
از سرگیری جلسه: TLS 1. 3 بلیط ؛ فکر می کنم در طول عمر (تعادل بین عطر و ایمنی).
0-RTT: فقط برای نمایش داده شد idempotent ؛ محافظت در برابر پخش مجدد (مکانیسم های ضد پخش سرور).
متعادل کننده ها/پروکسی ها: به وضوح خاتمه دادن در مقابل عبور را انتخاب کنید ؛ در خاتمه - دوباره رمزگذاری به باطن.
قابلیت مشاهده: معیارهای دست دادن/خطا/مذاکره ALPN، درصد TLS 1. 3، انقضای گواهی، وضعیت OCSP.
8) آزمایش و تأیید
اسکن پروفایل TLS. چک های منظم از نسخه های پشتیبانی شده/سوئیت/منحنی و HSTS/OCSP.
تست های منفی: ممنوعیت کاهش درجه، رد لباس های ضعیف، شکست اتصالات بدون SNI/بدون گواهی زنجیره ای معتبر.
Channel pentest: شبیه سازی MITM، چک کردن پین در مشتریان تلفن همراه، 0-RTT تلاش های پخش.
آزمون هرج و مرج: انقضا/لغو گواهی، عدم دسترسی OCSP/CA.
9) اشتباهات مکرر و چگونگی اجتناب از آنها
TLS فعال شد، اما اعتبارسنجی میزبان وجود ندارد. ما همیشه CN/SAN را بررسی می کنیم، «InsecureSkipVerify» را ممنوع می کنیم.
محتوای مخلوط منابع HTTP را در صفحات HTTPS مسدود کنید، از CSP استفاده کنید.
نسخه های ضعیف/قدیمی و مناسب. غیرفعال کردن TLS 1. 0/1. 1، CBC/RC4/3DES.
عدم رمزگذاری مجدد داخلی. ترافیک ساده از متعادل کننده به برنامه یک خطر است.
گواهینامه های طولانی مدت TTL های کوتاه و به روز رسانی خودکار را انجام دهید.
SNI/ALPN بد در پشت پروکسی. انتقال SNI/ALPN صحیح با TLS عبور/ختم.
10) دستور العمل های کوچک (قطعات پیکربندی)
Nginx (جلو، TLS 1. 3/1. 2، HSTS، مهر و موم OCSP):
ssl_protocols TLSv1. 3 TLSv1. 2;
ssl_ciphers TLS_CHACHA20_POLY1305_SHA256:TLS_AES_128_GCM_SHA256:TLS_AES_256_GCM_SHA384:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256;
ssl_prefer_server_ciphers on;
ssl_ecdh_curve X25519:P-256;
ssl_stapling on;
ssl_stapling_verify on;
add_header Strict-Transport-Security "max-age=31536000; includeSubDomains; preload" always;
نماینده (mTLS بین خدمات، طرح):
transport_socket:
name: envoy. transport_sockets. tls typed_config:
"@type": type. googleapis. com/envoy. extensions. transport_sockets. tls. v3. DownstreamTlsContext common_tls_context:
tls_params:
tls_minimum_protocol_version: TLSv1_3 validation_context:
trusted_ca: { filename: /etc/tls/ca. crt }
tls_certificates:
certificate_chain: { filename: /etc/tls/tls. crt }
private_key: { filename: /etc/tls/tls. key }
require_client_certificate: true
WireGuard (تونل مرکز داده، به صورت شماتیک):
[Interface]
PrivateKey = <priv>
Address = 10. 10. 0. 1/24
[Peer]
PublicKey = <pub>
AllowedIPs = 10. 10. 0. 0/24
Endpoint = gw. example. com:51820
PersistentKeepalive = 25
11) سیاست ها و انطباق
حداقل الزامات: TLS 1. 3 هر جا که ممکن باشد TLS 1. 2 - با مجموعه ای محدود از سوئیت.
مقررات: PCI DSS/بخش مالی - ممنوعیت نسخه های ضعیف/سوئیت ؛ چرخش اجباری و حسابرسی.
رویکرد اعتماد صفر: هویت در هر حجم کار، اعتبارسنجی مداوم و سیاست های سطح خدمات
12) عملیات و SLO
SLO: ≥99٪ دست دادن موفق، ≥95٪ ترافیک در TLS 1. 3، 0٪ محتوای مخلوط.
هشدارها: انقضای گواهینامه ها (<14 روز)، افزایش خرابی های دست دادن، کاهش سهم TLS 1. 3، خطاهای OCSP منگنه.
روش ها: جایگزینی اضطراری CA/root، لغو کلید به خطر افتاده، غیرفعال کردن 0-RTT.
13) چک لیست
قبل از قرار دادن:- TLS 1 غیر فعال است. 0/1. 1 و سوئیت ضعیف، AEAD و PFS گنجانده شده است.
- ALPN پیکربندی شده (h2/h3) ؛ ممنوعیت استفاده از H2C
- HSTS فعال (برای حوزه های عمومی)، بدون محتوای مخلوط.
- گواهینامه ها به صورت خودکار به روز می شوند، OCSP stapling در حال اجرا است.
- کانال های داخلی توسط mTLS (یا معادل WireGuard/IPsec) محافظت می شوند.
- اعتبار سنجی میزبان/زنجیره ای در مشتریان/SDK.
- مانیتور TLS/ALPN/خطا و نسخه های انقضا.
- طرح رمزنگاری چابکی (ترجمه به سوئیت های جدید/منحنی).
- pentests کانال دوره ای و بررسی پیکربندی.
14) سوالات متداول
س: آیا TLS تنها در محیط کافی است ؟
اوه نه. ترافیک داخلی نیز باید رمزگذاری شود (mTLS/تونل/مش)، به خصوص در ابرها و در طول چند اجاره نامه.
س: آیا به 0-RTT نیاز دارید ؟
A: فعال کردن نقطه برای درخواست idempotent، در غیر این صورت غیر فعال به دلیل خطر پخش.
س: چه چیزی را برای مرکز بین داده انتخاب کنید ؟ IPsec یا WireGuard چیست ؟
A: WireGuard ساده تر و سریع تر است، IPsec بالغ و به طور گسترده ای پشتیبانی می شود. هر دو معتبر هستند زمانی که به درستی تنظیم شده است.
س: چگونه از وب سایت ها «در حال حرکت» محافظت می کنید ؟
پاسخ: HTTPS با مشخصات مدرن + تأیید گواهی فرستنده (در صورت mTLS) + امضای payload و تأیید برچسب زمان (به ضمانت تحویل Webhook، امضای درخواست و تأیید مراجعه کنید).
مواد مرتبط:- «رمزگذاری در حالت استراحت»
- «تأیید اعتبار و مجوز»
- «ثبت و بررسی درخواستها»
- «احراز هویت S2S»
- «مدیریت کلید و چرخش»