From 05f8202714d7fe00a274635e1ece13652ac4899b Mon Sep 17 00:00:00 2001 From: Sergey Matveev <stargrave@stargrave.org> Date: Mon, 9 Nov 2020 15:33:18 +0300 Subject: [PATCH] =?utf8?q?=D0=9F=D0=BE=D1=87=D0=B5=D0=BC=D1=83=20IPsec=20?= =?utf8?q?=D0=B2=D0=BC=D0=B5=D1=81=D1=82=D0=BE=20WireGuard=3F?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Ð 1d5bc1731a1e8f77fed6e7c60bbdeb9db421a87d напиÑал ÑÑо вÑÑ Ñавно иÑполÑзÑÑ IPsec по возможноÑÑи. ÐÑли забÑÑÑ Ð¿Ñо Ñо, ÑÑо IPsec ÑеÑно инÑегÑиÑован в ÐС/ÑдÑо и позволÑÐµÑ Ð´ÐµÐ»Ð°ÑÑ Ð´Ð°Ð»ÐµÐºÐ¾ не ÑолÑко VPN ÑÑннели, Ñо вÑÑ Ñавно оÑÑаÑÑÑÑ Ð²Ð¾Ð¿ÑÐ¾Ñ ÑÑÑекÑивноÑÑи. IPsec ESP ÑÑо оÑделÑнÑй Ñип IP-пакеÑа, в коÑоÑом (Ð´Ð»Ñ AES-GCM) : SPI (4B) + SEQ (4B) + IV (8B) + padLen (1B) + PAD (0-3B) + NextHdr (1B) = 18 + 0-3 байÑа overhead. ÐÑиÑÑм Ð¾Ñ IV (вмеÑÑо него иÑполÑзоваÑÑ ESN) или SEQ можно бÑло Ð±Ñ Ð´Ð»Ñ AEAD-ов где ÑÑо вÑÑ ÑÑÑÑÑики и избавиÑÑÑÑ Ñж, но ÑÑандаÑÑÑ Ð³Ð»Ð°ÑÑÑ Ð²Ð¾Ñ Ñак. WireGuard (из его whitepaper): type+reserved (4B) + counter (8B) + I_m (4B) + UDP заголовок (8B) = 24 байÑа. РлÑбом ÑлÑÑае ÑÑÑÑ Ð±Ð¾Ð»ÑÑе ESP. Ðо, пÑи ÑÑом еÑÑ Ð¸ CRC надо ÑÑиÑаÑÑ Ð² UDP заголовке! ХоÑÑ Ð¾Ð½ и не нÑжен, ибо и Ñак даннÑе аÑÑенÑиÑиÑиÑÑÑÑÑÑ. Так ÑÑо даже в ÑеоÑии он лÑбом ÑлÑÑае ÑÑÑÑ Ð¼ÐµÐ½ÐµÐµ ÑÑÑекÑивен. Ðа пÑакÑике паÑÑинг ESP возможно оÑÑÐµÐ´Ð°ÐµÑ Ð¸ болÑÑе CPU из-за if-ов вÑÑÐºÐ¸Ñ , но ÑÑо Ñже вопÑÐ¾Ñ ÐºÐ¾Ð½ÐºÑеÑной ÑеализаÑии, коÑоÑÑÑ Ð¼Ð¾Ð¶Ð½Ð¾ и ÑпÑоÑÑиÑÑ/ÑÑкоÑиÑÑ. ÐÑ Ð° ChaCha20+Poly1305 Ð´Ð»Ñ ESP Ñже еÑÑÑ: https://tools.ietf.org/html/rfc7634 РеÑли мне нÑжно обеÑпеÑиÑÑ Ð·Ð°ÑиÑÑ ÑолÑко Ð¼ÐµÐ¶Ð´Ñ Ð´Ð²ÑÐ¼Ñ IP-адÑеÑами, двÑÐ¼Ñ Ñ Ð¾ÑÑÑми, Ñо в WireGuard-е пÑиÑлоÑÑ Ð±Ñ ÑиÑÑоваÑÑ IP-пакеÑÑ -- ÑÑо же VPN, а в IPsec иÑполÑзоваÑÑ ÑÑанÑпоÑÑнÑй Ñежим где внÑÑÑи ESP бÑÐ´ÐµÑ Ð»ÐµÐ¶Ð°ÑÑ ÑÑÐ°Ð·Ñ Ð¶Ðµ TCP/UDP/SCTP/whatever. Ðо ÑÑо конеÑно вопÑÐ¾Ñ ÑеÑаемÑÑ Ð·Ð°Ð´Ð°Ñ. Ðо Ð²Ð¾Ñ Ñ Ð¼ÐµÐ½Ñ Ð¿Ð¾ ÑакÑÑ Ð½Ð¸Ð³Ð´Ðµ Ð½ÐµÑ ÑÑннелÑного Ñежима IPsec, Ñ Ð¾ÑÑ ÐµÑÑÑ Ð¿Ð°Ñа ÑÑннелей gif-ÑÑннелей Ð¼ÐµÐ¶Ð´Ñ Ð´Ð²ÑÐ¼Ñ Ñ Ð¾ÑÑами, а в оÑÑалÑном ÑолÑко ÑÑанÑпоÑÑнÑе Ð¼ÐµÐ¶Ð´Ñ Ñ Ð¾ÑÑами, ÑÑÐ¾Ð±Ñ Ð½Ðµ гоÑодиÑÑ Ð¼ÐµÐ¶Ð´Ñ Ð½Ð¸Ð¼Ð¸ Ð½Ð¸ÐºÐ°ÐºÐ¸Ñ ÐºÐ¾ÑÑÑлей в виде TLS. -- 2.51.0