
ูู ุงุฐุง ุฃูุง ู ุชุญู ุณ ุฌุฏูุง ูู IPsec - ูู ูู ุงูููู ุฅูู ุฃูุซุฑ ู ุฌู ูุนุฉ ุจุฑูุชููููุงุช ุชุนููุฏูุง ูุชุฃู ูู ุงูุดุจูุงุชุ ุจุนุฏ ูู ุดูุก ุ ุงูุชุนููุฏ ูู ุงูุนุฏู ุงูุฑุฆูุณู ููุซูุฉ ูุงูุฃู ุงู! ุฃููุงู ุ ููู ุง ุชุนูู ุช ุฃูุซุฑ ุนู ุจุฑูุชููููุงุชูุง ุ ูุฎุงุตุฉ IKEv2 ุ ููู ุง ููู ุช ุนุฏุฏ ุงูุงุญุชู ุงูุงุช ุงูุชู ุชู ูุถุนูุง ูููุง ุ ูุฃุนุฌุจุช ุจููุฑูุง ุ ุนูู ุนูุณ ุงูููุฌ ุงูุดุงุฆุน ููู ุทูุฑูู "ุนูุงุฒ ูููุฏ ุนูุงุฒูุง" ูุญู ุงูู ุดููุงุช ุงูุฎุทูุฑุฉ "ุญุชู ุชูุฏูุน ุงูุฑุนุฏ". ุซุงูููุง ุ ุจุฑูุชููููุงุช IPsec ู ุฏุฑูุณุฉ ุฌูุฏูุง ู ู ูุฌูุฉ ูุธุฑ ุงูุชุดููุฑ ุ ูุญุชู ESP / IKEv1 ุงููุฏูู ุ ูู ุงููุงูุน ุ ูู ุงูุจุฑูุชููููุงุช ุงูุตูุงุนูุฉ ุงููุญูุฏุฉ ุงูู ุณุชุฎุฏู ุฉ ุนูู ูุทุงู ูุงุณุน ูุงูุชู ูุง ุชูุฌุฏ ูููุง ููุงุท ุถุนู ุฎุทูุฑุฉ. ุชู ุงูุชูููุฑ ูู ููุณ SSL (ุงูุนุงู 1995) ุจุดูู ูุงุฆู ููุท ู ู ุงูุฅุตุฏุงุฑ 1.3. ููุซูุฑ ู ู ุงููุงุณ ููุฑููู IPsec ุจุณุจุจ ุงูุชุนููุฏ ุงููุญุดู ูู IKEv1 ุุงูุฐู ูู ูุนุฏ ูู ุงูุฅุตุฏุงุฑ 2.
ู ู ุงููุงุญูุฉ ุงูู ุซุงููุฉ ุ ุฅุฐุง ูู ูุชุจุงุทุฃ ู ุทูุฑู ุฃูุธู ุฉ ุงูุชุดุบูู ูู ููุชูู ู ุน ุชูููุฐ ูุชูููุฐ IPsec ู IPv6 (ูุชูุงูุฑ ุฃุฌูุฒุฉ ุงููู ุจููุชุฑ ุ ุจุญูุซ ูุง ููุฌุฏ NAT) ุ ููุง ููุจุบู ุฃู ูุธูุฑ SSL / TLS ู ู ุญูุซ ุงูู ุจุฏุฃ. ุชุจูู ุฃู ุงูุนุงูู ููุณ ู ุซุงูููุง ุ ูููู ุงูุขู IPsec ุฎุงุฑุฌ ุงูุตูุฏูู (ุนูู ุงูุฃูู ุฌุฒุก SA / SP + ESP ู ู ุงูู ูุฏุณ) ู ูุฌูุฏ ุนูู ุงูุฃูู ูู ุจุนุถ ุฃูุธู ุฉ ุงูุชุดุบูู ุงูู ูุชุดุฑุฉ ุนูู ูุทุงู ูุงุณุน (ุฃูุง ุดุฎุตูุงู ุฃุนุฑู ููุท DragonFly BSD ุ ุงูุชู ุดุฑุจุช IPsec ุจุณุจุจ ููุต ุงูู ุทูุฑูู ูุฏุนู ูุง) ุ ู IPv6 ูู ุจุนุถ ุงูุจูุฏุงู ุงูู ุชูุฏู ุฉ ุนูู ุงูููุฑ ููุบุงูุจูุฉ ุงูุนุธู ู ู ู ุงููุงุณ.
IPsec ุนุจุงุฑุฉ ุนู ู ุฌู ูุนุฉ ู ู ุงูุจุฑูุชููููุงุช ูุงุณุชุฏุนุงุกุงุช API ูุฅุทุงุฑ ุนู ู ุจุญูุซ ูู ูู ููุชุทุจููุงุช ู / ุฃู ุงูู ุณุคูู ู ุนุฑูุฉ ุงูุฃู ุงู ุงูุฐู ูุญุชุงุฌูู ุฅููู ุฃุซูุงุก ุงูุงุชุตุงู ูุณูุชู ุถู ุงูู ุจุดูุงููุฉ ุนูู ู ุณุชูู ุงูุดุจูุฉ ( IP secููุงุก). ูู ูููุง ุงูุชุญุฏุซ ุนู ูู ู ู ุญุฒู IP ูู ูุจุณ ูุงุญุฏ ููุท (ุนูู ุณุจูู ุงูู ุซุงู ุ ุงุชุตุงูุงุช TCP) ุ ูุญูู ุญุฑูุฉ ุงูู ุฑูุฑ ุจูู ุงูุดุจูุงุช ุจุฃูู ููุง.
ููุตุฏ ุจุฃู ู ุญุฑูุฉ ุงูู ุฑูุฑ: ุถู ุงู ุณุฑูุฉ ุงูุจูุงูุงุช ูุฃุตุงูุชูุง / ุณูุงู ุชูุง ูุญู ุงูุชูุง ู ู ูุฌู ุงุช ุฅุนุงุฏุฉ ุงูุชุดุบูู . ู ุซู ุฌู ูุน ุงูุจุฑูุชููููุงุช ุชูุฑูุจูุง ุ ูุญุชูู IPsec ุนูู ุฌุฒุก ููู ูุคู ู ุญุฒู IP ุ ูุฌุฒุก ู ุตุงูุญุฉ ู ุชุนูู ุจุงูุชูุงูุถ ุงูุฑุฆูุณู ูุงูู ุนูู ุงุช ูุงูุชูููู ูุงูู ุตุงุฏูุฉ ููุฃุทุฑุงู.
TLS 1.3 : ูููุฑ ููุท ุญู ุงูุฉ ุงูุจูุงูุงุช ููู ู ุฃุฎุฐ ุชูุตูู ูุงุชุตุงูุงุช TCP. ูู ูู ุฃู ุชููุฑ DTLS ุงูุญู ุงูุฉ ูู ุฎุทุทุงุช ุงูุจูุงูุงุช (DTLS 1.3 ููุณ ู ุนูุงุฑูุง ุญุชู ุงูุขู) ุ ูููู ูุง ุชุฏุนู ูู ู ูุชุจุฉ ุฐูู.
ุจุฑูุชููููุงุช ุงูููู
ูุณุชุฎุฏู ููู IPsec ุจุฑูุชููููุงุช IP:
- AH (ุฑุคูุณ ุงูู ุตุงุฏูุฉ). ูู ุฃุชุญุฏุซ ุฃูุซุฑ ุนู AH ุ ูุฃูู ูุง ูููุฑ ุณุฑูุฉ ุงูุจูุงูุงุช ุ ูุจูุฏุฑ ู ุง ุณู ุนุช ุ ููุฏ ุชู ููุท ุจุทุฑููุฉ ู ุง "ู ูุงูุจุฉ" ููุงููู ุจุนุถ ุงูุจูุฏุงู ูู ุงูุชุณุนูููุงุช ุจุดุฃู ุงููููุฏ ุงูู ูุฑูุถุฉ ุนูู ุงุณุชุฎุฏุงู ุงูุชุดููุฑ. ุงูุชุดููุฑ ุฎููู ุฌุฏูุง ู ูุงุฑูุฉ ุจูู ุดูุก ุขุฎุฑ ุจุญูุซ ูุง ู ุนูู ููุชุถุญูุฉ ุจู. ูููู ูู ูู ู ูุงู ุชูุฑูุจูุง ูุชู ุฐูุฑ ESP ุ ูููุตุฏ ุจู AH ุฃูุถูุง.
- ESP (ุชุบููู ุญู ููุงุช ุงูุฃู ุงู). ููุฏ ุชุทูุฑ ุจุฑูุงู ุฌ ESP ููููุงู ุจู ุฑูุฑ ุงูููุช ููุณุชุฎุฏู ุงูุขู ุฅุตุฏุงุฑ ESPv3 ุงูุฎุงุต ุจู ุ ูุงูุฐู ุบุงูุจูุง ู ุง ูููู ู ุชูุงูููุง ู ุน ุงูุฅุตุฏุงุฑุงุช ุงูุณุงุจูุฉ ููุง ูุฎุชูู ุนู ุงูุฅุตุฏุงุฑ ุงูุณุงุจู.
ูุชู ุชุฃู ูู ุญุฑูุฉ ู ุฑูุฑ IP ุจูุงุณุทุฉ ุทุจูุฉ ุงูููู ููุท. ููุธุฑูุง ูุฃูู ูู ูููุง ุงูุชุญุฏุซ ุนู ุนุฏุฉ ู ูุงููู ู ู ุงูุญุฒู ูู ุงูุซุงููุฉ ุ ูุชู ุชุทุจูู ESP ุงููุงูุนู ุนูู ู ุณุชูู ููุงุฉ ูุธุงู ุงูุชุดุบูู ุ ูู ู ูุฏุณ ุงูุดุจูุฉ ุ ุนูู ุงูุฃูู ู ู ุฃุฌู ุนุฏู ุชุญููู ุงูุณูุงู ุงูู ููู ุจูู kernel ูู ุณุงุญุฉ ุงูู ุณุชุฎุฏู ูู (ูู ุง ูุญุฏุซ ุนุงุฏุฉู ู ุน TLS ู SSH ู OpenVPN ูุบูุฑูุง).
ุฃุคูุฏ ุฃู AH ู ESP ูู ุง ุจุฑูุชููููุงุช ุทุจูุฉ IP ุ ูุดุจูุฉ ุ ูููุณุช ูุณููุฉ ููู. ูู ุงุฐุง ูุง UDPุ ุงูู ุฌู ูุน ุงูุงุฎุชุจุงุฑู ุฒุงุฆุฏ ุนู ุงูุญุงุฌุฉ ููุคุฏู ุฅูู ุญุฑู ูุญุฏุฉ ุงูู ุนุงูุฌุฉ ุงูู ุฑูุฒูุฉ ุ ูุณูุถู ู ุงูุชุดููุฑ ุงูุชูุงู ู ุนูู ุฃู ุญุงู. ูููู ุ ุฅุฐุง ูุงู NAT ุงูุฎุงุต ุจู ูุง ูุนุฑู ุดูุฆูุง ุนู ESP (ููู ูุง ูุนุฑู) ุ ููู ูุนู ู ูู ูุฐุง ู ุนู. ูุงุญููุง ุ ุงุจุชูุฑูุง ุนูุงุฒุงุช NAT-T (NAT traversal) ุ ุนูุฏู ุง ุชููู ุญุฑูุฉ ู ุฑูุฑ IPsec ู ููููุฉ ูู ุญุฒู ุฉ UDP ุนูู ุงูู ููุฐ 4500 ูุณุชููู ูุงุฏุฑุฉ ุนูู ุงูู ุฑูุฑ ุนุจุฑ NAT ุ ูููู ูุฐุง ูู ุซู ุนุจุฆูุง ุบูุฑ ุถุฑูุฑู ูุงูุญุงุฌุฉ ุฅูู ุชุญุฑูุฑ ู ูุฏุณ IPsec ูู ุงูููุงุฉ ุ ูุฃูู ูุฌุจ ุฃู ูููู ุจุงููุนู ุญุฒู UDP ุงูุฎุงุตุฉ ูุฐู ูุงุณุชุฎุฑุงุฌ ESP ู ููุง ู ู ุฃุฌููุง ู ุนุงูุฌุฉ ู ูุชุธู ุฉ.
SP ุ SA ุ SPI ูุฃูู ุชุดููุฑ IPsec ูุฏููุง
ููู ุชุนุฑู ุงูููุงุฉ ู ุง ูุฌุจ ูุนูู ู ุน ุญุฒู ุฉ IP: ูู ุชุฑูุฏ ุชุดููุฑูุง ุจุงุณุชุฎุฏุงู ู ูุชุงุญ ู ุง ุ ุฃู ูู ุชุดููุฑ ESP ุงููุงุฑุฏ ุ ุฃู ุงูุณู ุงุญ ููุง ุจุงูู ุฑูุฑ ุฏูู ูู ุณูุงุ ููููุงู ุจุฐูู ุ ูุญุชูู kernel ุนูู ูููุฌ ุฃู ุงู ( SP ). ูุฐู ููุงุนุฏ ู ุซู ุฌุฏุงุฑ ุงูุญู ุงูุฉ. ุจุงูุฅุถุงูุฉ ุฅูู ุฐูู ุ ุชูุฌุฏ ุงูุชุฑุงูุงุช ุงูุฃู ุงู ( SA ) ูู ุงูููุงุฉ : ุณูุงูุงุช ูุฅุฌุฑุงุก ุนู ููุงุช ุงูุชุดููุฑ (ุงูู ูุงุชูุญ ุ ุงูุนุฏุงุฏุงุช ุ ุฅุนุงุฏุฉ ุชุดุบูู ุงูููุงูุฐ ุ ุฅูุฎ). ุจุดูู ุนุงู ุ ูุง ูุนุชุจุฑ ุฃู ู ู ู ูุฏู ู ุงูุฎุฏู ุงุช ุฎุงุตูู ุจู IPsec ููุง SAs - ูู ูู ุงุณุชุฎุฏุงู ูุง ูู ูุงู / ุจุฑูุชููููุงุช ุฃุฎุฑู (ู ุซู OSPF).
ูู ูู ุชูููู SP / SA ุฅู ุง ู ู ุฎูุงู ูุงุฌูุฉ ุจุฑู ุฌุฉ ุชุทุจููุงุช ุฎุงุตุฉ ( PF_KEYv2 ) ุ ุฃู ูุฏูููุง ู ู ุฎูุงู ุจุนุถ ุฃุฏูุงุช ุชุนููู ุงูู ูุชุงุญ . ุนูู ุณุจูู ุงูู ุซุงู ุ ุฅุฐุง ุฃุฑุฏูุง ุฅุฎุจุงุฑ ุงูููุงุฉ ุจุฃู ุฌู ูุน ุญุฒู IP ุชุฃุชู ู ููุฌุจ ุชุฃู ูู ุนูุงููู fc :: 123 ุนูู fc :: 321 ุนุจุฑ ESP ุ ุซู ูู ูู ุงูููุงู ุจุฐูู ุจุณูููุฉ ุนู ุทุฑูู ุงูุงุชุตุงู ู ู ุณุทุฑ ุงูุฃูุงู ุฑ:
$ echo "spdadd fc00::123 fc00::321 any -P out ipsec esp/transport//require;" | setkey -c
ูุจู ูุฐุง ุงูุฃู ุฑ ุ ุฑุฃููุง ุฃุตูุงุชูุง:
IP6 fc00::123 > fc00::321: ICMP6, echo request, seq 0, length 16
IP6 fc00::321 > fc00::123: ICMP6, echo reply, seq 0, length 16
IP6 fc00::123 > fc00::321: ICMP6, echo request, seq 1, length 16
IP6 fc00::321 > fc00::123: ICMP6, echo reply, seq 1, length 16
ูู ูุฑุงู ูุงุญููุง ุ ูุฃู ุงูููุงุฉ ูุง ุชุนุฑู ุจุนุฏ "ู ุงุฐุง" ูุฌุจ ุชุดููุฑูุง. ุชุญุชุงุฌ ุฅูู ุฅุถุงูุฉ SA ุ ููู ูู ุฃูุถูุง ุงูููุงู ุจุฐูู ูุฏูููุง ุ ุจุชุนููู ุฎูุงุฑุฒู ูุฉ ุชุดููุฑ AEAD ูู ูุชุงุญ ุนุดูุงุฆู 160 ุจุช ููุจุณุงุทุฉ AES-GCM-16 :
echo "add fc00::123 fc00::321 esp 0xdeadbabe -E aes-gcm-16 0x0c09d1d90f804b0b4cef80e255e29c0894db1928 ;" | setkey -c
ุฅุฐุง ูู ูุง ุจุชูููุฐ ููุณ ุงูุฃูุงู ุฑ ุนูู ุงูู ุถูู ุงูุจุนูุฏ (ููุท ุฏูู ุฃู ููุณู ุชุญุฏูุฏ -P in ) ุ ูุณูุฑู :
IP6 fc00::123 > fc00::321: ESP(spi=0xdeadbabe,seq=0x1), length 52
IP6 fc00::321 > fc00::123: ICMP6, echo reply, seq 0, length 16
IP6 fc00::123 > fc00::321: ESP(spi=0xdeadbabe,seq=0x2), length 52
IP6 fc00::321 > fc00::123: ICMP6, echo reply, seq 1, length 16
ุงูุทูุจ ู ุดูุฑ ุจูุงุณุทุฉ ESP ุ ููู ุงูุฑุฏ ููุณ ูุฐูู. ูุธุฑูุง ูุฃู ุงูู ุฑุณุงุจ ุงูููุฑูุณุชุงุชููู ูุนู ู "ุจุทุฑููุฉ ูุงุญุฏุฉ" ุงูุชุฑุงุถููุง ูููุงุชุตุงู ุซูุงุฆู ุงูุงุชุฌุงู ุ ู ู ุงูุถุฑูุฑู ุนูุณ ุฅุถุงูุฉ SP / SA ููุงุชุฌุงู ุงูู ุนุงูุณ.
0xdeadbabe ูู ูุฐุง ุงูู ุซุงู ูู ู ุคุดุฑ ู ุนูู ุงุช ุงูุฃู ุงู ( SPI ) - ู ุนุฑู ูุฑูุฏ ูู "ููู" ESP ุจูู ุนููุงูู IP ุ ุญูุซ ูู ูู ููููุงุฉ ุงูุนุซูุฑ ุนูู ุณูุงู SA ุงูู ูุงุจู ูุฃุฎุฐ ู ูุชุงุญ ูู ุงูุชุดููุฑ ู ูู. ู esp / transport // required ูู ู ุทูุจ ูุงุณุชุฎุฏุงู ESP ูู ูุถุน ุงูููู (ุงูู ุฒูุฏ ุนู ุฐูู ุฃุฏูุงู).
ุงูุญูุตูุฉ ESP
ุชู ุชุตู ูู ุญุฒู ุฉ ESP ุจุดูู ุชุฎุทูุทู ุนูู ุงููุญู ุงูุชุงูู:
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ ---
| Security Parameters Index (SPI) | ^
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | A
| Sequence Number | | u
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | t
~ IV (variable) ~ | h
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | e -----
| Payload Data (variable) | | n ^ E
~ ~ | t | n
| | | i | c
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | c | r
| | TFC Padding * (optional, variable) | | a | y
+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | t | p
| | Padding (0-255 bytes) | | e | t
+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | d | e
| | Pad Length | Next Header | v v d
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ ---------
~ Integrity Check Value-ICV (variable) ~
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
- SPI - ู ุนุฑู ูุฑูุฏ 32 ุจุช ูุฌูุณุฉ ESP / ุงูููู / ุงูุงุชุตุงู ุจูู ุนูุงููู IP. ุนุงุฏุฉู ู ุง ูููู {SrcIPุ DstIPุ SPI} ูู SA ูุณูุงู ุงูุชุดููุฑ.
- SeqNum โ 32- . . , replay attack.
- payload โ ESP, .
- TFC padding โ (Traffic Flow Confidentiality), , - , . TFC , , payload , . , payload IP , . TFC - , .
- Padding โ ESP payload 32- , . , ( CBC) . . .
- Pad Length โ 8- Padding .
- Next Header โ 8- IP payload. ยซno next headerยป, ESP- โ , . TFC โ .
- ICV โ Integrity Check Value, (MAC).
ูุชู ุชุดููุฑ ุงูุฌุฒุก ุงููุงู ู ู ู ุงูุญุฒู ุฉ ู ู ุงูุญู ููุฉ ุฅูู ุงูุฑุฃุณ ุงูุชุงูู . ุชู ุช ู ุตุงุฏูุฉ ูู ุดูุก ุจุงุณุชุซูุงุก MAC. ูุนุชู ุฏ ุทูู ICV ููุฌูุฏ ูุงูู IV (ู ุชุฌู ุงูุชููุฆุฉ) ุนูู ุฃูุถุงุน / ุฎูุงุฑุฒู ูุงุช ุงูุชุดููุฑ ูุงูู ุตุงุฏูุฉ ุงูู ุณุชุฎุฏู ุฉ.
TLS 1.3 : ุงูุญุดู ุงูุงุฎุชูุงุฑู ููุจูุงูุงุช ุจุญุฌู ู ุนูู ุธูุฑ ููุท ูู ุงูุฅุตุฏุงุฑ 1.3. ุจุฎูุงู ุฐูู ุ ูููู ุงูุชุดููุฑ ูุงูู ุตุงุฏูุฉ ู ุชุดุงุจููู ุชู ุงู ูุง. ููุฒู TLS 1.3 ุจุงุณุชุฎุฏุงู ุฎูุงุฑุฒู ูุงุช AEAD ููุท ุ ููู ุตุญูุญุฉ ูุฌูุฏุฉ. ูุฏุนู ุงูู ุฑุณุงุจ ุงูููุฑูุณุชุงุชููู AEAD ุ ูููู ููุงู ู ุฌู ูุนุฉ ู ู ุงูุญููู ุงููุฏูู ุฉ. ุงูุชุจ ุงูุญููู SPI ุฃู SeqNumูุง ุ ูุธุฑูุง ูุฃู ุจุฑูุชูููู TCP ูุถู ู ุงูุชุณูุณู ูุงูุชุณููู ุ ุจุงูุฅุถุงูุฉ ุฅูู ุฐูู ุ ู ู ุงููุงุญูุฉ ุงูุนู ููุฉ ุ ูุง ูุชู ุฅุฑุณุงู ูุงูู ุชููุฆุฉ ุจุดูู ุตุฑูุญ - ูุจุงูุชุงูู ูุฅู ุญุฒู ุฉ ุทุจูุฉ ุชุณุฌูู TLS ุฃูุตุฑ ููููุงู. ูุญุชูู DTLS ุจุงููุนู ุนูู SeqNum ุจุงูุฅุถุงูุฉ ุฅูู ุจูุงูุงุช ุชุฌุฒุฆุฉ ุงูุฑุณุงุฆู.
ูุฏ ูููู ุฑูู ุงูุญุฒู ุฉ 32 ุจุช ูุตูุฑูุง ุฌุฏูุง ู ู ุงููุงุญูุฉ ุงูุนู ููุฉ. ูุฐู ููุท +4 ู ููุงุฑ ุญุฒู ุฉ IP ุ ูุงูุชู ูู ูู ุฃู ุชุทูุฑ ุจุณุฑุนุฉ 10+ Mpps ูู ุฏูุงุฆู. ู ุงุฐุง ูุญุฏุซ ุนูุฏู ุง ูููุถ ุงูุนุฏุงุฏุ ุณุชุชู ุฅุนุงุฏุฉ ุชุนูููู ุฅูู ุงูุตูุฑ. ูููู ุ ูุฐุง ูุนูู ุฃู ููู ุฉ SPI + SeqNum ุณุชุจุฏุฃ ูู ุงูุชูุฑุงุฑ ุจุงููุณุจุฉ ููุง ููู ูู ุงุณุชุฎุฏุงู ุญุฒู ESP ุงูุชู ุชู ุงุนุชุฑุงุถูุง ู ุณุจููุง ูุฅุนุงุฏุฉ ุงููุฌูู . ูุญู ูุฐู ุงูู ุดููุฉ ุ ุชู ุงุฎุชุฑุงุน ESN(ุฑูู ุงูุชุณูุณู ุงูู ู ุชุฏ). ูุฐุง ุนุฏุงุฏ 64 ุจุช ุ ูููู ูุชู ููู 32 ุจุช "ุงูุณููู" ููุท ุฅูู ุญูู SeqNum ุ ููุชู ุชุฎุฒูู 32 ุจุช ุงูุนูููุฉ ูู ุงูุฐุงูุฑุฉ. ุชู ุช ู ุตุงุฏูุฉ ุงูููู ุฉ ุงููุงู ูุฉ ูู ESN - ูุฐูู ุ ููุชุฒู ุงูุทุฑูุงู ุจุงูุงุชูุงู ุนูู ุงุณุชุฎุฏุงู ESN ู ูุฏู ูุง.
ุชุดููุฑ ESP
ููู ุจุงูุถุจุท ูุชู ุชุดููุฑ / ู ุตุงุฏูุฉ ุญุฒู ุฉ ESP ุ ุนูู ุณุจูู ุงูู ุซุงู ุ ุนูุฏ ุงุณุชุฎุฏุงู AES-GCM-16ุ ููุนู ู ู ุน ESP ุ ูุฅูู ูุณุชุฎุฏู ู ุชุฌู ุชููุฆุฉ 64 ุจุช ู ูุฌูุฏ ูู ุจุฏุงูุฉ ุงูุญู ููุฉ . ูู ุง ุฃูู ูุณุชุฎุฏู ู ูุญ 32 ุจุช ูุฌุฒุก ู ู ุงูู ุงุฏุฉ ุงูุฃุณุงุณูุฉ. ูู ู ุซุงู setkey ุ ูู ุฃูู ุจุชูุฏูู ู ูุชุงุญ 128 ุจุช ุ ูููู ู ูุชุงุญ 128 + 32 ุจุช. ูุฏ ุชููู ููุงู ุญุงูุงุช ุญูุซ ูุชู ุฅุนุงุฏุฉ ุงุณุชุฎุฏุงู ุงูู ูุชุงุญ ููุชู ุชุนุจุฆุฉ IV ุจู ููุฏ ุฑูู ุนุดูุงุฆู ุฒุงุฆู ุณูุฆ (PRNG) ูู ูู ุชูุฑุงุฑ ููู ู. ุชู ุชุตู ูู ุงูู ูุญ ููุญู ุงูุฉ ู ู ูุฐู ุงูุญุงูุฉ ุงูุฃูุซุฑ ุฎุทูุฑุฉ ุ ู ู ุง ูุฏ ูุคุฏู ุฅูู ูู ุชุดููุฑ ุงูุญุฒู ุงูุชู ุชู ุงุนุชุฑุงุถูุง. ูููู ุชุดููุฑ / ู ุตุงุฏูุฉ ESP ููุณูุง ูู ูุถุน AES-128-GCM-16-ESP ูู ุง ููู:
AES-GCM(
key = 128-bit key,
plaintext = 64-bit IV || payload || TFC || pad || padLen || NH,
nonce = 32-bit salt || IV,
associated-data = SPI || {ESN SeqNum},
) -> encrypted-payload || 128-bit ICV
ESP = SPI || SeqNum || IV || encrypted-payload || ICV
ุจุงููุณุจุฉ ูุฎูุงุฑุฒู ูุงุช GOST ุงูุฑูุณูุฉ (ุฃุตูุงุฑ Magma ุฃู Grasshopper) ุ ุชููู ุจูุงูุงุช ุงูุฅุฏุฎุงู ู ุชุดุงุจูุฉ. ูุชู ุงุณุชุฎุฏุงู ููุง ุงูุดูุฑุชูู ูู ูุถุน MGM (ุฃูุฏ ุฃู ุฃููู ูุณุฎุฉ ู ุญุณูุฉ ู ู GCM ) ุ ููุชู ุชุทุจูู ุฏูุฑุงู ู ุงุฏุฉ ู ูุชุงุญ ESPTREE ุงูุนุงุฏู ุจุงุณุชุฎุฏุงู HMAC-Stribog-256. ูุฐุง ูููู ู ู ุงูุญู ู ุนูู ุงูู ูุชุงุญ. ุจุดูู ุฃุณุงุณู ูู ุณูุงู IPsec ุ ูุง ูุคุฏู ูุฐุง ุฅูู ุฒูุงุฏุฉ ููุช ุงุณุชุฎุฏุงู ู ุจูุฏุฑ ู ุง ูู ูุชูููู ุณุทุญ ุงููุฌูู ู ู ุฎูุงู ุงููููุงุช ุงูุฌุงูุจูุฉ. ุนูู ุณุจูู ุงูู ุซุงู ุ ุจุณุจุจ ุชุดุงุจู ุงูู ูุงุชูุญ (ุชูููุฉ ู ู ุงุซูุฉ ููุฏูุฑุงู ุงูู ุณุชู ุฑ ููู ูุงุชูุญ) ุ ุชุจูู ุฃู ุชุดููุฑ ูุชูุฉ GOST 28147-89 ุจุญุฌู ูุชูุฉ 64 ุจุช ุบูุฑ ู ุนุฑุถ ููุฌู ุงุช SWEET32 .
ู ู ูุฌูุฉ ูุธุฑ ุงูุณูุงู ุฉ ุ ูุง ุชูุฌุฏ ุดูุงูู ุญูู ESP ู ุน ุฎูุงุฑุฒู ูุงุช AEAD. ูููู ุจุงููุณุจุฉ ูุฎูุงุฑุฒู ูุงุช AEAD ุ ูุฅู IV ูู ู ุฌุฑุฏ ุนุฏุงุฏ 64 ุจุช ุ ูุชู ุชู ุฑูุฑู ุจูุถูุญ ู ุน ูู ุญุฒู ุฉ ุชุถูุน ู ุณุงุญุฉ ูู ุงูุญุฒู ุฉ. SeqNum ูุตูุฑ ุฌุฏูุง ุ ููุง ูุชู ููู ESN ุจุดูู ูุงู ู ุ ุนูู ุงูุฑุบู ู ู ุฃูู ูุชูุงุณุจ ุชู ุงู ูุง ู ุน IV. ุจุงููุณุจุฉ ูุฎูุงุฑุฒู ูุงุช ุบูุฑ AEAD ุ ูุฏ ูููู IV ุถุฑูุฑููุง ุจุงููุนู ููุญู ู ููู ุฉ ุบูุฑ ู ุชููุนุฉ ุ ูููู ููุณ ุจุฃู ุญุงู ู ู ุงูุฃุญูุงู ุนุฏุงุฏ. ูุฐุง ุฅุฑุซ ุ ูุงูุชุฎูุต ู ู ุงูู ุณุงุญุฉ ุงูุซู ููุฉ ูู ุงูุนุจูุฉ ูุงููุฒู ูุง ูุคุซุฑ ุนูู ุงูู ูุซูููุฉ ููุง.
ุฅุฐุง ูุงู ู ู ุงูู ู ูู ุฃู ุชุญุชูู IV ูู AEADs ุนูู ููู ู ู 128 ุจุช ุ ูุณูููู ู ู ุงูู ู ูู ุงุณุชุฎุฏุงู ุฎูุงุฑุฒู ูุงุช ู ุซู XSalsa20 / XChaCha20 ู ุน 192 ุจุช nonce ุ 128 ุจุช ู ููุง ูุชู ุฅูุดุงุคูุง ุจุดูู ุนุดูุงุฆู ุนูุฏ ุจุฏุก ุงูุชุดุบูู ุ ููู ูู ุงุณุชุฎุฏุงู 64 ุจุช ุงูู ุชุจููุฉ ููุนุฏุงุฏ ... ูุฏ ูููู ูุฐุง ู ููุฐูุง ููุฃูุธู ุฉ ุงูุชู ููุฏุช ุญุงูุฉ ุงูุนุฏุงุฏ ุงูุฎุงุตุฉ ุจูุง ุ ูููููุง ุชุฑูุฏ ุงูุงุณุชู ุฑุงุฑ ูู ุงุณุชุฎุฏุงู ุงูู ูุงุชูุญ ุงูุญุงููุฉ.
TLS 1.3 : ูุชู ุงุณุชุฎุฏุงู XOR ุนูู ุฃูู ุฑูู nonce ุจูู ุนุฏุงุฏ ุงูุฑุณุงุฆู ูู ุชุฌู ุงูุชููุฆุฉ ุงูุฐู ุชู ุฅูุดุงุคู ุจุงุณุชุฎุฏุงู ุงูู ูุชุงุญ. ูุธุฑูุง ูุนุฏู ุฅุฑุณุงู ุงูุนุฏุงุฏ ููุง ุงูุฑุงุจุน ุจุดูู ุตุฑูุญ ุ ูุฅู TLS 1.3 ูููู ุฃูุซุฑ ุฅุญูุงู ุง ุจูููู. ุฅุฐุง ูุงู ESP ูุณุชุฎุฏู ุฎูุงุฑุฒู ูุงุช ุบูุฑ AEAD ุ ููุฏ ูุชุทูุจ ุงูุฃู ุฑ ุฅูุดุงุก IV ุบูุฑ ู ุชููุน ุ ูุงูุฐู ูู ูู ุฃู ูููู ู ูุซููุง ุจุดูู ู ูุญูุธ ููุญุฏุฉ ุงูู ุนุงูุฌุฉ ุงูู ุฑูุฒูุฉ.
ุงูุฃููุงู ููุณุงุฆู ุงูููู
ู ุง ูู ู ุฏุฑุฌ ูู ุญู ููุฉ ุงูุญุฒู ุฉุ ูุนุชู ุฏ ุฐูู ุนูู ู ุง ุฅุฐุง ูุงู ESP ูุนู ู ูู ูุถุน ุงูููู ุฃู ูุถุน ุงูููู . ูุณุชุจุฏู ูุถุน ุงูููู ุญู ููุฉ ุญุฒู ุฉ IP ุงูู ุฑุณูุฉ ุจู ESP ุจูุฐู ุงูุญู ููุฉ. ุฃู ุฃูู ูุงู:
---------------------------------------
| orig IP hdr |[ext hdrs]| TCP | Data |
---------------------------------------
ุฃุตุจุญ:
---------------------------------------------------------
| orig |hop-by-hop,dest*,| |dest| | | ESP | ESP|
|IP hdr|routing,fragment.|ESP|opt*|TCP|Data|Trailer| ICV|
---------------------------------------------------------
|<--- encryption ---->|
|<---- authenticity ----->|
ูู ูุถุน ุงูููู ุ ูุชู ุชุบููู ุญุฒู ุฉ IP ุจุงููุงู ู ุจุงููุงู ู ูู ESP ููุชู ุชูููู ุญุฒู ุฉ IP ุฌุฏูุฏุฉ ุ ุนุงุฏุฉู ุจุฑุคูุณ ูุนูุงููู SrcIP / DstIP ุฌุฏูุฏุฉ. ูุณุชุฎุฏู ูุฐุง ุงููุถุน ูููู ุงูุญุฒู ุจูู ุงูุดุจูุงุช.
----------------------------------------------------------
| new* |new ext| | orig*|orig ext| | | ESP | ESP|
|IP hdr| hdrs* |ESP|IP hdr| hdrs * |TCP|Data|Trailer| ICV|
----------------------------------------------------------
|<--------- encryption --------->|
|<---------- authenticity ---------->|
ุนูู ุณุจูู ุงูู ุซุงู ุ ู ู ุฎูุงู setkey ูู ูููู ุชุญุฏูุฏ ุฃู ุฌู ูุน ุงูุญุฒู ุจูู 2001: ac :: / 64 ู 2001: dc :: / 64 ูุฌุจ ุฃู ุชู ุฑ ุงูุดุจูุงุช ู ุดูุฑุฉ ุนุจุฑ ููุทุชู ููุงูุฉ ู ู ุงูุฃููุงู ุจุงูุนูุงููู 2001 :: 123 ุ 2001 :: 321 ...
spdadd 2001:ac::/64 2001:dc::/64 any -P out ipsec esp/tunnel/2001::123-2001::321/require ;
spdadd 2001:dc::/64 2001:ac::/64 any -P in ipsec esp/tunnel/2001::321-2001::123/require ;
ุบุงูุจูุง ู ุง ูุดุงุฑ ุฅูู ูุถุน ุงูููู ุจุงุณู ุงุชุตุงู ู ุถูู ุฅูู ู ุถูู. ุฅุฐุง ุชู ุงุณุชุฎุฏุงู ุจุนุถ ุจุฑูุชูููู GRE ุฃู IPv * -over-IPv * ููููู ุ ูุงูุฐู ูุนู ู ุจุงููุนู ุจูู ููุทุชู ููุงูุฉ ุ ููุง ู ุนูู ุ ูู ูุฐู ุงูุญุงูุฉ ุ ูุงุณุชุฎุฏุงู ูุถุน ุงูุงุชุตุงู ุงููููู ุนูู ู ุณุชูู IPsec. ูู ุน ุฐูู ุ ูุง ูุตุงุฏู ูุถุน ุงูููู ุนููุงู IP. ููุงุนุฏุฉ ุนุงู ุฉ ุ ูุฐุง ููุณ ู ูู ูุง ูููุณ ุจุงูุบ ุงูุฃูู ูุฉ ุ ูููู ุฅุฐุง ููุช ุชุฑูุฏ ุงูุชุฃูุฏ ู ู ุนุฏู ุชุบููุฑ ุฑุคูุณ IPv6 ุงูู ู ุชุฏุฉ ุฃู ุชุณู ูุงุช ุชุฏูู ุงูุญุฒู ุ ููุฌุจ ุนููู ุงุณุชุฎุฏุงู ูุถุน ุงูููู ุ ุญุชู ูู ูุงู ุจูู ู ุถูููู ุ ุนูู ุญุณุงุจ ุงููููุงุช ุงูุนุงู ุฉ.
ISAKMP
ู ุงุฐุง ูุญุฏุซ ุฅุฐุง ูู ุช ุจุฅุนุงุฏุฉ ุชุดุบูู ุฃุฌูุฒุฉ ุงููู ุจููุชุฑ ุ ูุงุฎุชูุช SA ู ุน ุฌู ูุน ููู ุงูุนุฏุงุฏ ู ู ุฐุงูุฑุชูุง ุ ููู ุช ู ุฑุฉ ุฃุฎุฑู ุจุชุญู ูู ุฃูุงู ุฑ SP / SA ุงููุฏูู ุฉ ุจูุฏูุ ุฃููุงู ุ ูู ูู ูู ุชุดููุฑ ุงูุญุฒู ุงูุชู ุชุทุงุจู IV ุ ูุฃู ูุฐุง ูุนุงุฏู ุงุณุชุฎุฏุงู ููุญุฉ ุงูุชุดููุฑ ู ุฑุชูู. ุซุงูููุง ุ ู ูุฐ ุชุทุงุจู SPI / salt / ESN / SeqNum ุ ุณุชุชู ู ุตุงุฏูุฉ ุฌู ูุน ุงูุญุฒู ุงูุชู ุชู ุงุนุชุฑุงุถูุง ู ุณุจููุง ุจุดูู ุตุญูุญ ููู ููู ุฅุนุงุฏุฉ ุชุดุบูููุง. ุฅุนุงุฏุฉ ุงุณุชุฎุฏุงู ู ุซู setkey SAs ูู ุซู ูุงุฑุซุฉ ุจุงููุณุจุฉ ููุฃู ุงู. ุซุงูุซูุง ุ ุฎุงุตุฉ ุฅุฐุง ูู ูุชู ุงุณุชุฎุฏุงู ESN (ุนูู ุณุจูู ุงูู ุซุงู ุ ูู FreeBSD ูู ููุช ูุชุงุจุฉ ูุฐุง ุงูุชูุฑูุฑ ุ ูู ูุชู ุฏุนู ู ุจุนุฏ) ุ ู ุน ุนู ููุฉ SA ุงูุทูููุฉ ุ ูุฏ ูุง ุชูุงุญุธ ุฃู ุงูุนุฏุงุฏ "ู ุณุชููุฏ".
ูู ูุฐุง ูุนูู ุฃููุง ุจุญุงุฌุฉ ุฅูู ุชุบููุฑ ู ูุงุชูุญ ESP ุจุงูุชุธุงู . ูุฃูุถูุง ุงูุชูุงูุถ ุนูู ุฎูุงุฑุฒู ูุฉ ุชุดููุฑ ุ ูุฌูุฏ ESN ุ TFC ุ ูุถุน ุงูููู / ุงูููู ุ ููู SPI. ูู ุงููุงูุน ุ ูุชู ุงุณุชุฎุฏุงู ุจุฑูุชูููู ISAKMP (ุฑุงุจุทุฉ ุฃู ุงู ุงูุฅูุชุฑูุช ูุจุฑูุชูููู ุฅุฏุงุฑุฉ ุงูู ูุงุชูุญ) ููุฐุง ุงูุบุฑุถ . ุนูู ุงูุฑุบู ู ู ุฃูู ูู ููู ุจุณูููุฉ ูู ุจุนุถ ุงูุฑุณุงุฆู ุงูููุฑูุฉ ุจุงุณุชุฎุฏุงู ุชุดููุฑ ู ุตุงุฏู OTR / PGP / OMEMO ูุฅุฑุณุงู ุฃูุงู ุฑ setkey ููุจุฑุงู ุฌ ุงููุตูุฉ ุฅูู ุงูุฎุงุฏู ุ ุญูุซ ูุชู ุฅูุดุงุก ุงูู ูุงุชูุญ ุนู ุทุฑูู ูุฑุงุกุฉ / dev / urandom . ูุง ููู ุงูููุงุฉ ููู ุชู ุงูุงุชูุงู ุนูููุง. ูู ุง ูู ุงูุญุงู ูู OpenVPN: ุชุชู ู ุตุงุฏูุฉ X.509 ู ุน ุงูุดูุงุฏุงุช ูุงูุชูุงูุถ ุนูู ุงูู ูุงุชูุญ ุจุดูู ุนุงู ุนุจุฑ TLS ุ ูุจุฑูุชูููู ููู VPN ููุณู ูู ุจุงููุนู ุจุฑูุชูููู ุฎุงุต ุจู.
ูู ุดููู "ุงูููู" ุ ูุง ูุชู ุงุณุชุฎุฏุงู ISAKMP ุ ูุธุฑูุง ูุนุฏู ูุฌูุฏ ุชุดููุฑ ููู. ูู ุตุงุฏูุฉ ุงูู ุญุงูุฑูู ูุฅูุดุงุก ู ูุงุฏ ุฃุณุงุณูุฉ ุ ูุชู ุงุณุชุฎุฏุงู ุจุฑูุชูููู ุทุฑู ุซุงูุซ ูุบูู ISAKMP ุฏุงุฎู ููุณู. ุฃูุง ุฃุนูู :
- KINK - Kerberized ุงูุฅูุชุฑูุช ุชูุงูุถ ุจุดุฃู ู ูุงุชูุญ ูุณุชุฎุฏู ุ ุญูุซ ูุซู ุซูุซ ููุฑุจูุฑูุณ KDC ููู ุตุงุฏูุฉ ูุงูุชูุงูุถ. ุจุงูุฅุถุงูุฉ ุฅูู ุงููุตู ู ู ููููุจูุฏูุง ุ ูุง ุฃุนุฑู ุฃู ุดูุก ุขุฎุฑ ุนู KINK ููู ุฃุดุงูุฏู ุนูู ุงูููุงุก ู ุจุงุดุฑุฉ.
- IKE (v1) - ุชุจุงุฏู ู ูุชุงุญ ุงูุฅูุชุฑูุช . ุฑุจู ุง ูุง ูุฒุงู ุงูุจุฑูุชูููู ุงูุฃูุซุฑ ุดููุนูุง ุ ุนูู ุงูุฑุบู ู ู ุฃูู ุชู ุฅูุดุงุคู ูู ุนุงู 1998.
- IKEv2 ูู ุงูุฅุตุฏุงุฑ ุงูุซุงูู ู ู IKE ุ 2005 ุ ูุงูุฐู ุณุฃุชุญุฏุซ ุนูู.
ุจุฑูุชููููุงุช IKE ูุงุจูุฉ ููุชูุณุนุฉ ููุบุงูุฉ ุจุณุจุจ ุงูุนุฏุฏ ุงููุจูุฑ ู ู ุฃููุงุน ุงูุญู ููุฉ ุงูู ุฎุชููุฉ. ูุญุชูู IKEv1 ุนูู ุนุฏุฏ ูุจูุฑ ู ู ุงูุฎูุงุฑุงุช ูุชูููู ููู ูุงุญุฏ ููุท ููุนู ู. ุฃูุซุฑ ู ู ุฏุฒููุฉ ู ู ุทูุจุงุช ุงูุชุนูููุงุช (RFC) ุชุตู ุงูู ุฌู ูุนุฉ ุงููุงู ูุฉ ู ู ISAKMP ู IKEv1 ุจุญู ููุงุช ู ุดุชุฑูุฉ. ุชุนููุฏ ู ุฎูู. ุจุงูุฅุถุงูุฉ ุฅูู ุงููุฏุฑุฉ ุนูู ูู ุงูุชููููุงุช ุบูุฑ ุงูู ุฎุงุฏุนุฉ ุจุณูููุฉ ูุงูุฃุณุทูุฑุฉ ุงูู ุนุฑููุฉ ูุงูุตุญูุญุฉ ุฌุฒุฆููุง ุงูุชู ุชููู ุฅู IKEv1 ู ุถู ูู ููุนู ู ููุท ูู ุญุงูุฉ ูุณุฎ ู ูู ุงูุชูููู ุจุงููุงู ู ุชูุฑูุจูุง.
ูุญุณู ุงูุญุธ ุ ุธูุฑ IKEv2: RFC ูุงุญุฏ ู ูุงุณุจ (ูู ุนุธู ุงูู ูุฒุงุช) ุ ุจุฑูุชูููู ู ุจุณุท ุจุดูู ูุจูุฑ ููุชูุงูุถ ุนูู ุงูู ุนูู ุงุช ุ ูุจุงูุชุงูู ุชููููู. ููุงุนุฏุฉ ุนุงู ุฉ ุ ูุญุชูู ุนูู ุนุฏุฏ ุฃูู ู ู ุงูุฑุญูุงุช ุฐูุงุจูุง ูุฅูุงุจูุง ูุนู ููุฉ ุงูู ุตุงูุญุฉ ุงููุงู ูุฉ ูุงูุงุชูุงููุฉ ุงูุฑุฆูุณูุฉ ู ูุงุฑูุฉ ุจู IKEv1. ูุฐูู ุ ุณูุชู ุงููุธุฑ ุฅููู ููุท ุ ูุฃูู ูู ูุนุฏ ููุงู ุฃู ู ุนูู ูู IKEv1 (ูููู ูุง ูุณุชุญู ุงูุฃู ุฑ ู ุทุงุฑุฏุฉ ูุงุณุชุจุฏุงู ุญุงูุงุช ุงูุชุดุบูู ูุงูุชุดุบูู ุจุงููุนู ุ ูุธุฑูุง ูุฃููุง ุชุนู ู). ูุณุชุฎุฏู IKEv2 ุ ุจุฎูุงู IKEv1 ุ ุฎูุงุฑุฒู ูุงุช ูุฃุณุงููุจ ู ุชุดุงุจูุฉ ุชู ุงู ูุง ูุชุดููุฑ ุงูุฑุณุงุฆู ุงูุฎุงุตุฉ ุจู ูู ุง ููุนู ESP. ูู ุง ูุฏู ุฃูุถูุง ู ุตุงุฏูุฉ EAP ูุฅู ูุงููุฉ ูู ุทุฑู ููู ุตุงุฏูุฉ ุจุทุฑู ู ุฎุชููุฉ (ุนูู ุณุจูู ุงูู ุซุงู ุ ูุณุชุฎุฏู ุงูุนู ูู PSK ุ ููุณุชุฎุฏู ุฎุงุฏู X.509 ุงูุดูุงุฏุงุช).
ุจุฑูุงู ุฌ IKE ุงูุฎูู
+-------------+
| |
+-------------+
| |
| |
| | /userspace
=====[PF_KEY]====[PF_INET]====================
| |
+-----------+ +-------------+
| | |TCP/IP, |
| SA SP |---| IPsec|
+-----------+ +-------------+
|
+-----------+
| |
| |
+-----------+
ูุฐุง ุงูุฌุฒุก ู ู ู ูุฏุณ IPsec ููุฏ ุงูุชุดุบูู ุจุงููุนู ุ ุนุงุฏุฉู ูู ู ุณุงุญุฉ ุงูู ุณุชุฎุฏู ูู. ุฃููุงู ุ ูุฐู ููุณุช ุดูุงุทูู ู ุญู ูุฉ ุจุดูู ูุจูุฑ: ูู ูููู ุงูุชูุงุตู ู ุน ุจุนุถูู ุงูุจุนุถ ู ุฑุฉ ูุงุญุฏุฉ ุนูู ุงูุฃูู ููู ููุง ุ ูุชุชุทูุจ ุงูู ุตุงูุญุฉ ุงูุฃูููุฉ ุจุถุน ุฑุญูุงุช ุฐูุงุจูุง ูุฅูุงุจูุง ุนุจุฑ UDP. ุซุงูููุง ุ ุนุฏุฏ ุฅู ูุงููุงุช ISAKMP / IKE ูู ุฃู ููุงู ุฃููุงุฏ ุฃูุซุฑ ุจู ุฆุงุช ุงูู ุฑุงุช ู ู ุง ูู ุนููู ูู ุงูุชูููุฐ ุงููุงู ู SA / SP / ESP. ููุงู ุงูุนุฏูุฏ ู ู ุชุทุจููุงุช ุงูุดูุงุทูู ISAKMP: strongSwan (IKEv1 / V2) (ููุฐูู Openswan ุ Libreswan )ุ isakmpd (IKEv1) ุชู ูููุ OpenIKED (IKEv2)ุ ุงูุฑุงููู (IKEv1) ุชู ูููุ racoon2 (IKEv1 / v2 ู KINK) ูุบูุฑูุง.
ู ูุงุญุธุฉ: ุตุญูุญ ุฃู ููุชุจ ููุชููู "ุงูุดูุทุงู" ( ุงูุดูุงุทูู) ูู ุง ุฑุฃูุช ูู ุงูุชุฑุฌู ุงุช ุงูุฑูุงุฆูุฉ. ูููู ูู ุงูุฏูุงุฆุฑ ุงููููุฉ ุงููุงุทูุฉ ุจุงูุฑูุณูุฉ ุ ุชุฑุณุฎุช ุจุงููุนู "ุงูุดูุงุทูู".
TLS 1.3 : ุจุดูู ุนุงู ุ ูุฅู TLS stack ุจุฃูู ูู ุนุจุงุฑุฉ ุนู ูุธุงุฆู ู ูุชุจุฉ ุชุนู ู ูู ูู ุชุทุจูู ูุฑุฏู ูุชุฎุฒู ุงูู ูุงุฏ ุงูุฃุณุงุณูุฉ ูู ุฐุงูุฑุชูุง ุงูุฎุงุตุฉ. ุชุชู ุฌู ูุน ุนู ููุงุช ุงูุชุดููุฑ ุจุงูุชุจุฏูู ุฅูู ู ุณุงุญุฉ ุงูู ุณุชุฎุฏู ูู ุ ููู ู ูุฏุงุฑ ุถุฎู . ูู ุน ุฐูู ุ ูุฅู FreeBSD ู Linux ุนูู ุงูุฃูู ูุฏููู ุจุงููุนู ุชุทุจููุงุช ุฅูุบุงุก ุชุญู ูู kernel ูู TLS ุ ุนูุฏู ุง ุชุชู ู ุนุงูุฌุฉ ุฌุฒุก ุงูููู ุจุงููุงู ู ูู ุงูููุงุฉ ุ ุนูู ุบุฑุงุฑ IPsec ุ ูุชุญุฏุซ ุงูู ุตุงูุญุฉ ูู ู ุณุงุญุฉ ุงูู ุณุชุฎุฏู ูู.
ูุนู ู IKEv2 ุนุจุฑ UDP ุ ุนูู ุงูู ููุฐ 500 ุงูุชุฑุงุถููุง ( isakmpุงูุฎุฏู ุงุช). ุชููู Daemons ุจุฅูุดุงุก ููุงุฉ ุขู ูุฉ ุ ูุงูู ุตุงุฏูุฉ ุนูู ุจุนุถูุง ุงูุจุนุถ ุ ูุงูุชูุงูุถ / ุฅูุดุงุก / ุญุฐู ESP SA / SPs ุ ูุชุญุฏูุซ ุงูู ูุงุชูุญ ุ ูุชูููุฐ ุถุฑุจุงุช ุงูููุจ (Dead Peer Detection ( DPD )) ุ ูุงูู ุฒูุฏ. ุชุชู ุฌู ูุน ุงูุงุชุตุงูุงุช ุจูู ุงูุดูุงุทูู ูู ุดูู ุชุจุงุฏู ุฒูุฌ ู ู ุฑุณุงุฆู ุงูุทูุจ / ุงูุงุณุชุฌุงุจุฉ. ูุฌุจ ุงูุฑุฏ ุนูู ุฃู ุทูุจ. ูุธุฑูุง ูุฃู ูุฐุง ูู UDP ุ ู ุงุฐุง ุชูุนู ุฅุฐุง ูุงูุช ุงูุญุฒู ุฉ ู ูููุฏุฉุ ุถุน ุฐูู ูู ุงูุงุนุชุจุงุฑ ูู ููุงูุชู ุ ูุฃุนุฏ ุฅุฑุณุงู ุงูุทูุจุงุช ุจุนุฏ ุงูุชูุงุก ุงูู ููุฉ ุงูุชู ูู ูุชู ุชููู ุฃู ุฑุฏูุฏ ุจุดุฃููุง ุ ูุฃุนุฏ ุฅุฑุณุงู ุงูุฑุฏูุฏ ุนูู ุงูุทูุจุงุช ุงูู ุชูุฑุฑุฉ ุ ูุชุฌุงูู ุงูุฑุฏูุฏ ุงูู ุชูุฑุฑุฉ. ูู ูู ุฃู ุชุตู ุงูุญุฒู ุจุชุฑุชูุจ ููุถูู ุ ููู ูู ุฃู ุชุฎุชูู ุจุดูู ุบูุฑ ู ุชููุน - ูุชู ุฃุฎุฐ ุงููุซูุฑ ูู ุงูุงุนุชุจุงุฑ ูู ู ุนูุงุฑ IKEv2 ููุชู ูุตู ููููุฉ ุงูุชุตุฑู ูู ุธู ุธุฑูู ุงูุณุจุงู ุงูู ุฎุชููุฉ.
TLS 1.3: ุชูุชู ุทุจูุนุฉ ุจุฑูุชูููู TCP ูู TLS ุจุชุฑุชูุจ ุงูุฑุณุงุฆู ูุชุณููู ูุง. ููู TCP ูุณุชููู ู ูุงุฑุฏ ูุจูุฑุฉ ูู OS kernel ููู ูู ุฃู ูู ุซู ุนุฏุฏูุง ูุจูุฑูุง ู ู ุฌูุณุงุช TCP ู ุดููุฉ (ุนูู ุนูุณ UDP). ูููู ูู DTLS ุณุชุธูุฑ ุฌู ูุน ุงูู ุดููุงุช ุงูู ุดุงุจูุฉ ุจููุณ ุงูุทุฑููุฉ ูู ุง ูู IKE ุ ุจุงูุฅุถุงูุฉ ุฅูู ุฅุถุงูุฉ ุงูุจูุงุณูุฑ ู ุน ู ุนุงูุฌุฉ ุงูุฑุณุงุฆู ุงูู ุฌุฒุฃุฉ. ุชุบููุฑ ุนูุงููู IP ูููุงุท ุงูููุงูุฉ ูู UDP ููุณ ู ุดููุฉ. ุงุชุตุงูุงุช IKE ุ ููุงุนุฏุฉ ุนุงู ุฉ ุ ุทูููุฉ ุงูุนู ุฑ (ุญุงูุฉ IKE ุตุบูุฑุฉ ููุชู ุชุฎุฒูููุง ููุท ูู ุฐุงูุฑุฉ ุจุฑูุงู ุฌ ู ุณุงุญุฉ ุงูู ุณุชุฎุฏู ูู ุงูุฎูู) ูุจุงูุชุงูู ุชุชุทูุจ ู ุตุงูุญุฉ ุฃูู ุ ุจููู ุง ูู TLS ุ ุจุนุฏ ููุฏุงู ุงุชุตุงู TCP ุ ูุฌุจ ุนููู ุงูููุงู ุจุฐูู (ุนูู ุงูุฑุบู ู ู ูุฌูุฏ ุทุฑู ู ุชุณุงุฑุนุฉ ูู ูุงุตูุฉ ุงูุฌูุณุงุช ุฅุฐุง ูู ุชูู ุงูุญุงูุฉ ูุฐูู ููุฏุช ุ ุนูู ุณุจูู ุงูู ุซุงู ุนูุฏ ุฅุนุงุฏุฉ ุชุดุบูู ุงูุจุฑูุงู ุฌ). ูุธุฑูุง ูุฃู ุจุฑูุงู ุฌ IKE ุงูุฎูู ูููุธุงู ุจุฃูู ูู (ููุงุนุฏุฉ ุนุงู ุฉ) ุ ุฅุฐุง ุฃุฑุงุฏ ุจุนุถ ุงูุชุทุจููุงุช ุงูุชูุงุตู ุจุดูู ุขู ู ู ุน ุฐููู ุน ุดุฎุต ูุฏูู ุงุชุตุงู IKE ุจุงููุนู ุ ููู ููู ุฅู ุง ุงุณุชุฎุฏุงู ู ุนูู ุงูููุฑ ุฃู ูููู ุงูุจุฑูุงู ุฌ ุงูุฎูู ุ ูู ุฑุญูุฉ ูุงุญุฏุฉ ุฐูุงุจูุง ูุฅูุงุจูุง ุ ุจุฅูุดุงุก ESP SA ุฅุถุงูู ููุชุทุจูู.
ุญูุตูุฉ IKE
ุณูููู ุฃูู ุชุจุงุฏู (ุทูุจ-ุงุณุชุฌุงุจุฉ) ููุดูุงุทูู ูู IKE_SA_INIT ุ ู ู ุง ูุคุฏู ุฅูู ุฅูุดุงุก IKE SA ูู ุฒูุฏ ู ู ุงูุงุชุตุงูุงุช ุงูุขู ูุฉ. ูุงุญุธ ุฃู ESP SA "ู ุฎุฒูุฉ" ูู kernel ุ ูุฃู IKE SA ู ูุฌูุฏ ูู ุนูุฑูุช ู ุณุงุญุฉ ุงูู ุณุชุฎุฏู ูู. ุซู ุชุฃุชู ุจูุฑุตุฉ IKE_AUTH ุ ุญูุซ ุชุชู ู ุตุงุฏูุฉ ุงูุฃุทุฑุงู. ูู ููุณ ุงูุชุจุงุฏู ุ ูุชู ุฅูุดุงุก SA ุชุงุจุน ( Child SA ) ุ ูุงูุฐู ูุชู ุงุณุชุฎุฏุงู ู ูู ESP SA. ุจุดูู ุนุงู ุ ูููู ูุฐุงู ุงูุชุจุงุฏูุงู ูุงููุงู ูู ุตุงุฏูุฉ ุงูุฃุทุฑุงู ูุงูุชูุงูุถ ุนูู ู ุนูู ุงุช ESP SA ู ุน ุงูู ูุงุชูุญ ุซู ุชูุฌูู ุญุฑูุฉ ู ุฑูุฑ ESP ุงูู ุดูุฑุฉ ุจูู ุฃุฌูุฒุฉ ุงููู ุจููุชุฑ. ูู ูุฐู ุงูุญุงูุฉ ุ ุชุธู IKE SA ุนุงู ูุฉ ุจูู ุงูุดูุงุทูู ููุชุฑุฉ ุทูููุฉ. ุนูุงูุฉ ุนูู ุฐูู ุ ูู ุฃู ููุช ุ ูู ูููู ุฅุฌุฑุงุก ุชุจุงุฏู CREATE_CHILD_SA ุ ูุฅูุดุงุก ุงูู ุฒูุฏ ู ู SAs ุงูุชุงุจุนุฉ ุ ุจุงูุฅุถุงูุฉ ุฅูู INFORMATIONALุงูุชุจุงุฏู (ุฃุบุฑุงุถ ู ุชููุนุฉ).
ุชุญุชูู ุฌู ูุน ุฑุคูุณ ุฑุณุงุฆู IKEv2 ุนูู ุงูุจููุฉ ุงูุชุงููุฉ:
1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| IKE SA Initiator's SPI |
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| IKE SA Responder's SPI |
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Next Payload | Version | Exchange Type | Flags |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Message ID |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
- SPIi - SPI ุจุงุฏุฆ IKE SA 64 ุจุช. ุงูู ุนุฑู ุงูุฐู ุชู ุฅูุดุงุคู ุนุดูุงุฆููุง ุจูุงุณุทุฉ ุงูุจุงุฏุฆ ูู ุฌูุณุฉ IKE.
- SPIr - 64 ุจุช IKE SA ุงูู ุณุชุฌูุจ SPI. ูุจุงูู ุซู ุ ูููู SPI ููุท ู ู ุฌุงูุจ ุงูู ุณุชุฌูุจ. ูู ุงูุฑุณุงูุฉ ุงูุฃููู ู ู ุงูุจุงุฏุฆ ุ ูุชู ู ูุก ูุฐุง ุงูุญูู ุจุตูุฑ ุจุงูุช.
- NP - ุงูุญู ููุฉ ุงูุชุงููุฉ 8 ุจุช. ู ุนุฑูู ุงูุญู ููุฉ ุงูุชู ุชูู ุงูุฑุฃุณ.
- ุงูุฅุตุฏุงุฑ - ุฅุตุฏุงุฑ 8 ุจุช ู ู ุจุฑูุชูููู IKE.
- ExchType - ููุน 8 ุจุช ุงูุตุฑู IKE: IKE_SA_INIT ุ IKE_AUTH ุ CREATE_CHILD_SAุ ุฃู INFORMATIONAL .
- Flags โ 8- . .
- MsgID โ 32- . , , replay-. โ request/response MsgID. , .
- Len โ 32- ( + ).
SPIi + SPIr ูู 128 ุจุช. ูู ุงุฐุง ูุซูุฑูุง ุนูุฏู ุง ูุญุชูู ESP ุนูู 32 ุจุช ููุทุ ุฃููุงู ุ ูุธุฑูุง ูุฃููุง ุบูุฑ ู ุชุทุงุจูุฉ ุ ูููู ูุชู ุฅูุดุงุคูุง ุจุดูู ุดุจู ุนุดูุงุฆู ุ ูุฅู 64 ุจุช ูุฌุงูุจ ูุงุญุฏ ุณุชููู ูุงููุฉ ูุชุฌูุจ ุงูุงุตุทุฏุงู ุงุช. ุซุงูููุง ุ ูุฑุชุจุท ESP ุฃูุถูุง ุจุนูุงููู IP ุ ูู ุญูู ุฃู ุฌูุณุฉ IKE ููุณุช ูุฐูู ุจุดูู ุนุงู - ูู ูู ููุฃุทุฑุงู ุจุณูููุฉ ุชุบููุฑ ุนูุงููู IP ุงูุฎุงุตุฉ ุจูู (ุนู ูู ุงููุงุชู ุงูู ุญู ูู) ูุงูุงุณุชู ุฑุงุฑ ูู ุงูุชูุงุตู.
TLS 1.3: ุณูุคุฏู ุชุบููุฑ ุนููุงู IP ุฅูู ูุทุน ุงูุงุชุตุงู. ุณุชุญุชุงุฌ ุฅูู ุฅุนุงุฏุฉ ุงูู ุตุงูุญุฉ ุ ุญุชู ู ุน iPSK ุ ูุชูููุฑ ุงูู ูุงุฑุฏ ููุชุดููุฑ ุบูุฑ ุงูู ุชู ุงุซู ุ ููุฐุง ูู 1.5 ุฑุญูุฉ ุฐูุงุจูุง ูุฅูุงุจูุง ุจุงูุฅุถุงูุฉ ุฅูู ุฑุญูุงุช ุฐูุงุจูุง ูุฅูุงุจูุง ูุฅูุดุงุก ุงุชุตุงู TCP. ุณูุณุชุบุฑู ุฅูุดุงุก ESP SAs ุงูุชุงุจุนุฉ ุนูู ุนูุงููู IP ุงูุฌุฏูุฏุฉ ุ ูู ุงุชุตุงู IKE ุงูุฐู ุชู ุฅูุดุงุคู ุจุงููุนู (ุบูุฑ ู ุฑุชุจุท ุจุงูุนูุงููู) ุ ุฑุญูุฉ ูุงุญุฏุฉ ุฐูุงุจูุง ูุฅูุงุจูุง (+ ุฐูุงุจูุง ูุฅูุงุจูุง ูุฅุฒุงูุฉ ุงููุฏูู ุฉ ุ ูููู ูุฐุง ุณูุญุฏุซ ุจุงููุนู ูู ุฎูููุฉ ESP SA ุนุงู ู ุฌุฏูุฏ)
ูุชุจุน ุฑุฃุณ IKE ุญู ููุฉ ูุงุญุฏุฉ ุฃู ุฃูุซุฑ. ูู ุญู ููุฉ ููุง ุฑุฃุณ ุชูุณูู ุนุงู ุ ู ุชุจูุนูุง ุจู ุญุชูู ุฎุงุต ุจููุนูุง. ุงูู ุญุชูู ู ุญุงุฐุงุฉ 32 ุจุช. ุนููุงู ู ุดุชุฑู ููุฌู ูุน:
1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Next Payload |C| RESERVED | Payload Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
- Next Payload โ 8- . payload- . payload. payload IKE . Encrypted Payload, payload- NP ( payload IKE ), payload- .
- C โ ยซยป payload. IKEv2 payload , IKE . payload . IKE vendor-specific , .
- Len โ 16- payload ( + ).
ูุจุงูุชุงูู ุ ุชุชููู ุฑุณุงุฆู IKE ู ู ุฑุฃุณ IKE ูุญู ููุงุช ู ุฑุชุจุทุฉ ุจุจุนุถูุง ุงูุจุนุถ ูู ุณูุณูุฉ. ูู ูู ูู Daemons ุชุฌุงูู ุงูุญู ููุงุช ุบูุฑ ุงูุญุฑุฌุฉ ูุบูุฑ ุงูู ุนุฑููุฉ. ู ุญุชูู ุงูุญู ููุฉ ู ู ููุน Nonce (ุจุนุฏ ุงูุฑุฃุณ) ูู ู ุฌุฑุฏ ู ุฌู ูุนุฉ ุนุดูุงุฆูุฉ ู ู ุงูุจูุงูุงุช ุ ูููุณ ุญุฌู ูุง ุซุงุจุชูุง. ููู ููุงู ุฃูุถูุง ููุงูู ุฃูุซุฑ ุชุนููุฏูุง. ูู ู ุนุงููุฑ IKE ุ ูุชู ูุจูู ุงูุชุนูููุงุช ุงููุตูุฑุฉ ูุฃููุงุน ุงูุญู ููุฉ (ุนูู ุณุจูู ุงูู ุซุงู ุ N * ููุฑุณุงุฆู nonce ุ ุญูุซ ูููู "*" ุฅู ุง "i" (ุงูุจุงุฏุฆ) ุฃู "r" (ุงูู ุณุชุฌูุจ)).
ุณูุฌู ุง
ู ู ูุฌูุฉ ูุธุฑ ุงูุชุดููุฑ ุ ุชูุชู ู IKEv1 / IKEv2 ุฅูู ูุฆุฉ STS ู ISO / IEC IS 9798-3 ู SIGMA (SIGn-and-MAc) ูุจุฑูุชููููุงุช ุชุจุงุฏู ุงูู ูุงุชูุญ ุงูู ุตุฏู ุนูููุง. ูุฐู ุญููู ู ุฏุฑูุณุฉ ุฌูุฏูุง ูุชู ุงูุชุญูู ู ููุง ุฑูุงุถููุง (SIGMA). ูู ู ูุงูุชู "P2P F2F E2EE IM ูู ุฅุญุฏู ุงูุฃู ุณูุงุช" ุ ุณุจู ูู ุฃู ูุตูุช ู ุจุฏุฃ ุชุดุบูู ูุชูููุฐ ุจุฑูุชูููู SIGMA-I. IKEv2 ู ุดุงุจู ุชู ุงู ูุง. ุนูุฏู ุง ููุงูุด ุฃู ุงู ุจุฑูุชูููู ุงูู ุตุงูุญุฉ ุ ู ุงุฐุง ูุชููุนุ
- ุณุฑูุฉ ุงูุฑุณุงุฆู ุงูู ุฑุณูุฉ ุ
- ุฃุตุงูุฉ ูุณูุงู ุฉ ุงูุฑุณุงุฆู ุงูู ุฑุณูุฉ - ูุฌุจ ุงููุดู ุนู ุชุบููุฑูุง ุ
- ุงูุญู ุงูุฉ ู ู ูุฌู ุงุช ุฅุนุงุฏุฉ ุงูุฅุฑุณุงู - ูุฌุจ ุงููุดู ุนู ุญูููุฉ ููุฏุงู ุงูุฑุณุงุฆู ุฃู ุฅุนุงุฏุฉ ุชุดุบูููุง ุ
- ;
perfect forward secrecy (PFS) โ PSK ( IKE ESP SA). ;
/ ( ) IKE . / ( ) ;
, , . .
ุจุนุฏ ุชุจุงุฏู IKE_SA_INIT ุ ูููู ููุดูุงุทูู ุนูุงููู ุจุนุถูู ุงูุจุนุถ ุ SPIi + SPIr ููู ุฉ ุฌูุณุฉ IKE ุ ุฎูุงุฑุฒู ูุงุช SA ุงูู ุชูุงูุถ ุนูููุง (ูู ุญุงูุฉ IKE ุ ูุฐู ูู ุงุชูุงููุฉ ุงูู ูุชุงุญ ( DH ) ุ ุชุดููุฑ / ู ุตุงุฏูุฉ ุงูุฑุณุงุฆู ( ENCR ) ุ ุฎูุงุฑุฒู ูุงุช ุฅูุดุงุก ุงูู ูุชุงุญ ( PRF )) ุ ุงูู ูุชุงุญ ุงูุนู ูู ู (DH) ููุฌุงูุจ ุงูุขุฎุฑ. ูุฐุง ูููู ูุญูุธ ุงูุญุงูุฉ ูู ุงูุฐุงูุฑุฉ ูุชูููุฐ ุงุชูุงููุฉ ุงูู ูุงุชูุญ (Diffie-Hellman ุ GOST R 34.10-VKO ุ curve25519 ุ ุฅูุฎ) ุ ูุฅูุดุงุก ู ูุชุงุญ ู ุชู ุงุซู ูุชุดููุฑ ุงูุญู ููุฉ ุงููุงูุนุฉ ูุฑุณุงุฆู IKE ุงููุงุญูุฉ.
TLS 1.3: ุชูุณูู ุฑุณุงุฆู ุงูู ุตุงูุญุฉ ู ุฎุชูู ุชู ุงู ูุง ุ ูููุงู ุงููุซูุฑ ู ู ุงูุฅุฑุซ ุ ูููู ูู ุงูุฃุณุงุณ ูุง ุดูุก ูุจุฑุฒ. ูุชู ุงุณุชุฎุฏุงู ุงูุญูู ุงูุนุดูุงุฆู ุจุฏูุงู ู ู ุงูุญูู nonce. ุจุฏูุงู ู ู ุงูุญู ููุงุช ุ ุชู ุฏูุฏุงุช ุนุฏูุฏุฉ. ุจุฏูุงู ู ู ูููู ุงูุชุฑุงุญ SA ุงูู ุนูุฏ ุ ูุชู ุงุณุชุฎุฏุงู ู ุนุฑูุงุช ciphersuites ุ ููู ุฃูุซุฑ ุฅุญูุงู ุง ูุฃุจุณุท. ูู ุฑุฃูู ุ ูุฅู ู ุฑููุฉ ู ูุชุฑุญุงุช ุถู ุงู ุงูุจุฑูุงู ุฌ (SA) ู ูุฑุทุฉ ุ ูููู ูู IKEv2 ูุง ุชุฒุงู ูุฐู ููุณุช ู ุดููุฉ ููุชู ูุชุงุจุฉ ุงูููู ุงูู ุดุงุจูุฉ ูู ciphersuite ูู ู ูู ุงูุชูููู. ููุท ู ุน ุฅุตุฏุงุฑ TLS 1.3 ูุตุจุญ ุชุจุงุฏู DH ุฅูุฒุงู ููุง.
ุงูู ูุงุฏ ุงูุฑุฆูุณูุฉ IKE
ุจุนุฏ IKE_SA_INIT ุ ูุชู ุฅูุดุงุก SKEYSEED :
SKEYSEED = PRF (Ni [: 8] || Nr [: 8]ุ DH-KEY)
ูุชู ุชุญุฏูุฏ ุฎูุงุฑุฒู ูุฉ PRF ูู IKE SA. ุนูู ุณุจูู ุงูู ุซุงู ุ ุจุงููุณุจุฉ ูู GOST IKEv2 ุ ูุฐู ูู ูุธููุฉ HMAC-Stribog-512. ู ูุชุงุญ PRF ูู ูุทุนุฉ 64 ุจุช ู ู ูู nonce.
ูุจุฏู ุชุงูููุง ุ ูุฃูู ูุชู ููู ุงูุฑู ูุฒ ุบูุฑ ุงูู ูุตููุฉ ุนูุงููุฉ ุ ู ู ุง ูุนูู ุฃู ู ูุชุงุญ PRF ูุฐุง ู ุนุฑูู ูุฃู ุดุฎุต ุงุนุชุฑุถ ุญุฑูุฉ ุงูู ุฑูุฑ. ูููู ูุชู ุงุณุชุฎุฏุงู PRF ููุง ุญุตุฑููุง ูุฅูุดุงุก ู ูุชุงุญ ู ู ูุชูุฌุฉ DH-KEY ูุญุณุงุจ DH ุ ููู ุบูุฑ ู ุนุฑูู ุจุงููุนู ููู ูุงุฌู . ูู ูู ุฃู ุชููู ูุชูุฌุฉ ุฏุงูุฉ DH ููู ุฉ ุถุฎู ุฉ ูุบูุฑ ู ุชุณุงููุฉ ูู ุงูุงูุชุฑูุจูุง ุ ููู ูู ุฃู ุชููู ููุทุฉ ุนูู ู ูุญูู ุฅููููุฌู - ูู ูุฐุง ูุง ูู ูู ุงุณุชุฎุฏุงู ู ูู ูุชุงุญ ู ุชู ุงุซู ูุตูุฑ ุนุงูู ุงูุงูุชุฑูุจูุง. ูุฐูู ุ ุชุญุชุงุฌ ุฅูู ุงุณุชุฎุฑุงุฌ ุงูุงูุชุฑูุจูุง ู ู DH-KEY (ูุฐุง ู ุฌุฑุฏ SKEYSEED ) ุ ุซู ุชูุณูุน (ุชูุณูุน ) ุฅูู ุงูุนุฏุฏ ุงูู ุทููุจ ู ู ุงูู ูุงุชูุญ:
PRF+(SKEYSEED, Ni || Nr || SPIi || SPIr) ->
SK_d || SK_ai || SK_ar || SK_ei || SK_er || SK_pi || SK_pr
PRF+(K,S) = T1 || T2 || T3 || T4 || ...
T1 = PRF(K, S || 0x01)
T2 = PRF(K, T1 || S || 0x02)
T3 = PRF(K, T2 || S || 0x03)
T4 = PRF(K, T3 || S || 0x04)
ูุฐู ูููุง ุนู ููุฉ ุงุดุชูุงู ู ูุชุงุญ ููุงุณูููุฉ ู ุน ู ุฑุงุญู ุงุณุชุฎุฑุงุฌ / ุชูุณูุน ุ ุนูู ุบุฑุงุฑ ูุธููุฉ HKDF . ูููู ุฅุฐุง ุงูุชุฑุถุช HKDF ุงุณุชุฎุฏุงู ูุธุงุฆู ุงูุชุฌุฒุฆุฉ ุ ููู ูู ุงุณุชุฎุฏุงู ุจููุฉ PRF / PRF + ุจุจุณุงุทุฉ ู ุน ุงูุฃุตูุงุฑ ุงูู ุชู ุงุซูุฉ - ูู ุญุงูุฉ ุงูุชุดุงุฑ AES-GCM + AES-XCBC-PRF ุ ููู ูุณุชุฎุฏู ุฏุงูุฉ ุชุฌุฒุฆุฉ ูู ุฃู ู ูุงู ุนูู ุงูุฅุทูุงู ุ ูุนุฏุฏ ุตุบูุฑ ุงูุฃูููุงุช ุงูู ุณุชุฎุฏู ุฉ ุฌูุฏุฉ ุฏุงุฆู ูุง.
ุชู ุฅูุดุงุก ุงูู ูุงุชูุญ ุงูุชุงููุฉ:
- ู ูุชุงุญ SK_d ูุฅูุดุงุก ู ูุงุชูุญ ูู ESP SAs.
- ู ูุงุชูุญ SK_a [ir] ูู ุตุงุฏูุฉ ุฑุณุงูุฉ IKE. ูู ูุชู ุฅูุดุงุคู / ุนุฏู ุงุณุชุฎุฏุงู ู ุฅุฐุง ุชู ุงูุงุชูุงู ุนูู ุฎูุงุฑุฒู ูุฉ AEAD (AES-GCM ุ Grasshopper / Magma-MGM ุ ChaCha20-Poly1305 ุ ุฅูุฎ).
- SK_e[ir] IKE .
- SK_p[ir] AUTH.
TLS 1.3: ูุฏูู ุฌุฏููุฉ ู ูุงุชูุญ ุฃูุซุฑ ุชุนููุฏูุง ุจุดูู ู ูุญูุธ. ูุชู ุฅุฎุฑุงุฌ ุงูุงูุชุฑูุจูุง ู ู ุฑุณุงุฆู ุงูู ุตุงูุญุฉ ุจุฃูู ููุง ุฏูุนุฉ ูุงุญุฏุฉ ุ ุจุฏูุงู ู ู ุงูุญููู ุงููุฑุฏูุฉ. ูุง ูุชู ูุทุน ุงูุชุณูุณู ุงูู ู ุชุฏ ุงูุฐู ุชู ุฅูุดุงุคู ุฅูู ุนุฏุฏ ู ู ุงูู ูุงุชูุญ (+ ู ูุญ ููู ุนูุฏ ุงูุญุงุฌุฉ) ุ ููููู ุฃูุถูุง ู ุตุญูุจ ุจุชุญููุงุช HMAC ู ุน ุชุณู ูุงุช (ุชุณู ูุงุช) ููู ุณูุงู ูุงุณุชุฎุฏุงู ูุฐู ุงูู ูุงุชูุญ ุฃู IVs ุงูุชู ุชู ุฅูุดุงุคูุง. ูุนุฏ ุงุณุชุฎุฏุงู ุงูุชุณู ูุฉ ุงููุตูุฉ / ุงูุชุทุจูู / ุงูุณูุงู ูุฃู ููุน ู ู ุงูููู ุงูู ููุฏุฉ ู ู ุงุฑุณุฉ ุญุฏูุซุฉ ุฌูุฏุฉ ููุณูู ุงูููุงู ุจูุง ุฏุงุฆู ูุง ุจุฏูุงู ู ู ุงูุชุณุงุคู ุนู ุง ุฅุฐุง ููุช ุจุญุงุฌุฉ ุฅูููุง. ุชุฌุฒุฆุฉ ูู ู ุง ูุธูุฑ ูู ุฃูุถูุง ู ู ุงุฑุณุฉ ุฌูุฏุฉ ุฌุฏูุง ุ "ูู ุชุฒุฏุงุฏ ุณูุกูุง". ูู ุน ุฐูู ุ ูุฐุง ูุง ูุนูู ุฃู ุฃู ุงู IKEv2 ุฃุณูุฃ ุ ุฃู ุฃูู ูู ูู ููู ุฑุก ุฃู ูุชูุตู ุจุณูููุฉ ุฅูู ู ููู ูุธุฑู ุนู ุจุนุฏ ุนูู ุงูุฃูู ุญูุซ ูู ูู ุฃู ูููู ุบูุงุจ ุงูู ูุตู ูู ูุฏ ุงูู ูุงุฌู .ูู IKEv2 ุ ูููู ุงูููุฌ ุถุฆูููุง ุ ุจููู ุง ูู TLS 1.3 ู ู ุงูุฃูุถู "ุงูุชุฌุงูุฒ" (ูุธุฑูุง ูุนุฏุฏ ุงูุนุถุงุฏุงุช ุฃู ุงูุตุนูุจุงุช ุงูุชู ุชู ุฅุฌุฑุงุคูุง ูู ุงูุฅุตุฏุงุฑุงุช ุงูุณุงุจูุฉ ู ู ุงูุจุฑูุชูููู!). ูุง ูุฒุงู IKEv2 ูุณุชุฎุฏู ู ูุงูุฌ ูุฃูููุงุช ู ุซุจุชุฉ ุ ููุตุงุฏู ุนูู ูู ู ุง ูู ู ุทููุจ ุ ููุถุบุท / ูุฃุฎุฐ ูู ุงูุงุนุชุจุงุฑ ูู ุงูุงูุชุฑูุจูุง ุงูู ููููุฉ ุ ููุณุชุฎุฏู ู ูุงุชูุญ ู ุฎุชููุฉ ููู ุฌุงูุจ ูู ูู ุฉ.
IKE_AUTH
ุจุนุฏ ุฐูู ุ ูุชู ุฅุฌุฑุงุก ุชุจุงุฏู IKE_AUTH ุ ููู ุตุงุฏูุฉ ุนูู ููุง ุงูุทุฑููู ูุงูุชูุงูุถ ุนูู ESP SA:
SK{IDi, [CERT, ...], [CERTREQ], [IDr], AUTH, SAi2, TSi, TSr} -->
<-- SK{IDr, [CERT, ...], AUTH, SAr2, TSi, TSr}
- ุชุญุชูู ุฑุณุงุฆู IKE ุนูู ุญู ููุฉ ู ุดูุฑุฉ ( SK ) ุ ููุฌุฏ ุจุฏุงุฎููุง ุฌู ูุน ุงูุฑุณุงุฆู ุงูุฃุฎุฑู.
- ูููุฑ ุงูุจุงุฏุฆ ู ุนุฑูู ( IDi ) ุ ูุงูู ูุซู ( AUTH ) ุ ูุนุฑุถ SA ูู ESP ( SAi2 ) ูุฒูุฌ ุงูุจุงุฏุฆ / ุงูู ุณุชุฌูุจ ุ ู ุง ูุณู ู ู ุญุฏุฏุงุช ุญุฑูุฉ ุงูู ุฑูุฑ ( TS * ). ูู ููู ุฃูุถูุง ุฅุฑุณุงู ู ุนุฑู ุงูู ุณุชุฌูุจ ุงูู ุชููุน ุงุฎุชูุงุฑููุง ุ ูุงูุฐู ูู ูู ุงุนุชุจุงุฑู ููุนูุง ู ู ูุธูุฑ SNI ู ู TLS.
- ูุงุณุชุฌุงุจุฉ ูุฐูู ุ ูุชููู ู ุนุฑูู ุงูู ุณุชุฌูุจ ุ ูุงูุชุฑุงุญ ESP SA ุงูู ุชูุงูุถ ุนููู ุ ูู ุญุฏุฏุงุช ุญุฑูุฉ ุงูู ุฑูุฑ ุงูู ุคูุฏุฉ ุ ูุงูู ุตุฏู.
- ุจุนุฏ ุฐูู ุ ูุนุชุจุฑ ููุง ุงูุทุฑููู ุฃู ุจุนุถูู ุง ุงูุจุนุถ ู ูุซููุง ุ ูููู ุง ุงุชูุงููุฉ ุจุดุฃู ESP SA ุ ูุญุฑูุฉ ุงูู ุฑูุฑ ุงูุชู ูุฌุจ ุฃู ุชูุชู ู ุฅูู ESP ุ ููู ูููู ุง ุจุงููุนู ุฅุตุฏุงุฑ ุฃู ุฑ ุฅูู kernel ูุฅูุดุงุก SA ุ ูุฑุจู ุง SP (ููุงู ุนูุงุตุฑ ุนูููุฉ ูุง ุชุชุนุงู ู ู ุน SP ุนูู ุงูุฅุทูุงู).
ุงูุขู ุจู ุฒูุฏ ู ู ุงูุชูุงุตูู ุญูู ูุฐู ุงูุญู ููุงุช:
- ID - ู ุนุฑู ุงูุทุฑู. ูุญุชูู ุนูู ููุน ุงูุชุนุฑูู ูุงูุจูุงูุงุช ุงูุฎุงุตุฉ ุจู. ูู ูู ุชุญุฏูุฏ ุงูุฃุทุฑุงู ุจุนุฏุฉ ุทุฑู: ุนููุงู IPv4 / IPv6 ุ FQDN (ุงุณู ู ุฌุงู ู ุคูู ุจุงููุงู ู ุ ู ุฌุฑุฏ ุณูุณูุฉ ุ ุงูุทุฑููุฉ ุงูุฃูุซุฑ ุดููุนูุง) ุ ุนููุงู ุงูุจุฑูุฏ ุงูุฅููุชุฑููู RFC822 ุ ุงูุงุณู ุงูู ู ูุฒ ASN.1 DER (ุงูุทุฑููุฉ ุงูุฃูุซุฑ ุดููุนูุง ุนูุฏ ุงุณุชุฎุฏุงู ุดูุงุฏุงุช X.509) ุฃู ุงูุงุณู ุงูุนุงู ูุถูุง ุนู ุงูุจุงุฆุน ุงูู ุญุฏุฏ.
- AUTH โ . PRF ( MAC-), (pre-shared key (PSK)), . (TBS*):
TBSi = Msg0 || Nr || PRF(SK_pi, IDi) TBSr = Msg1 || Ni || PRF(SK_pr, IDr)
(Msg0), nonce (Nr), (IDi), ยซยป . , SK_pi ( ). ยซยป.
/ . . ( Ni Nr), . , , .
, . ( ), . , - . round-trip-. SIGMA- , IKEv2, ESP SA, . , , . SIGMA MAC c ( SK_*). IKEv2 PRF, . , PRF(ID*) , brute-force ( ) .
PSK, :
AUTHi = PRF(PRF(PSK, "Key Pad for IKEv2"), TBSi) AUTHr = PRF(PRF(PSK, "Key Pad for IKEv2"), TBSr)
PRF(PSK) PSK ? PSK PRF . PSK , /. PRF() ยซยป . PRF(PSK) PSK PSK , ( Argon2, Balloon ).
- SA*2 โ SA , ESP .
- TS* โ . : IPv4/IPv6 , IP (), / (), / . :
TSi = ((proto=17, port=100, fc::123 - fc::123), (proto=17, port=200, fc::123 - fc::123)) TSr = ((proto=17, port=300, :: - ffff:..:ffff), (proto=17, port=400, :: - ffff:..:ffff))
, UDP ( = 17), 100- 200- fc::123 , UDP 300 400. , IP . , , IP , ( , ICMP ). , .
UDP . , , , 100 300-, ESP SA .
ูุฑุณู ุงูุทุฑู ุงูู ุณุชุฌูุจ ุงุฎุชูุงุฑุงุชู ุงูู ุคูุฏุฉ ู ู ุงูู ุญุฏุฏุงุช ุ ูุงูุชู ุชุชุทุงุจู ุฃู ูุฏ ุชุญุชูู ุนูู ูุทุงูุงุช ุงุฎุชูุงุฑ ุฃุถูู.
ูุชู ุชุดููุฑ ูู ูุฐู ุงูุญู ููุงุช ุนูู ุงูู ูุชุงุญ ุงูุฐู ุชู ุฅูุดุงุคู ุจูุงุณุทุฉ IKE SA ุจุนุฏ ุชุจุงุฏู ุงูุฑุณุงุฆู ุงูุฃูู. ุงูุชุดููุฑ ุถุฑูุฑู ูุฅุฎูุงุก ุงูู ุนุฑูุงุช ุงูู ุฑุณูุฉ ููุฃุทุฑุงู ูุดูุงุฏุงุชูู ูุงูู ุนููู ุงุช ุงูุฎุงุตุฉ ุงูุฃุฎุฑู ูู ุงูุนุฑุงุก. ูู ุน ุฐูู ุ ูู ูู ููู ูุงุฌู ุงููุดุท ุฃู ูุฏุฎู ูู ุฃูู ุชุจุงุฏู IKE_SA_INIT ููุฑู ูุฐู ุงูู ุนููู ุงุช ุ ุนูู ุงูุฑุบู ู ู ุฃูู ูู ูุนุฏ ูุงุฏุฑูุง ุนูู ู ุชุงุจุนุฉ ุงูุฌูุณุฉ.
TLS 1.3 :
- application ( ServerHello ||โฆ || Finished, , , ), (Client Finished). IKEv2 ESP SA round-trip-, TCP/SCTP handshake.
- , (IDr ), SNI, ClientHello . IKEv2 . ESNI, , DNS, DPI.
- IKEv2 , ยซยป/ยซยป ( ), PSK, , EAP. TLS 1.3 X.509 . TLS 1.3 X.509 . RFC TLS 1.3 ยซยป . IKEv2 / .
- TLS 1.3 , , application ClientHello (EarlyData), application Client Finished . TLS 1.3 EarlyData .
- TLS (session resumption), iPSK , , . IKEv2 , RFC 5723 . IKE , , ( TCP/SCTP/whatever ) IP .
- TLS . IKEv2 IKE SA ESP SA . , () high-grade , . , , , . - ChaCha20-Poly1305, AES-256-GCM-16, -MGM . IKE SA ESP - NIST-.
ุฅู ุชุดููุฑ ุญู ููุฉ SK ุจุงุณุชุฎุฏุงู ุดูุฑุงุช AEAD ููุณ ุตุนุจูุง ููุดุจู ุชู ุงู ูุง ESP ุ ุนูู ุณุจูู ุงูู ุซุงู ุ ูู AES-GCM (ุญูุซ ูููู ุงูู ูุญ ุ ุนูู ุบุฑุงุฑ AES-GCM-ESP ุ ุฌุฒุกูุง ู ู ุงูู ุงุฏุฉ ุงูุฃุณุงุณูุฉ):
AES-GCM(
key = SK_*e,
plaintext = 64-bit IV || payloads || pad || 8-bit padLen,
nonce = 32-bit salt || IV,
associated-data = IKEHdr || unencrypted payloads
) -> ciphertext
ุงูู ุตุงุฏูุฉ ู ุน EDS
ู ุงุฐุง ูู ุฃุฑุงุฏ ุฃู ุทุฑู ุงูู ุตุงุฏูุฉ ุจุงุณุชุฎุฏุงู ุงูุชูููุน ูุดูุงุฏุงุช X.509ุ ููุฐุง ุ ุจุงููุนู ูู IKE_SA_INIT ุ ูู ูู ุฅุฑุณุงู ุญู ููุฉ CERTREQ ุ ู ุทุงูุจุฉ ุงูุฌุงูุจ ุงูุขุฎุฑ ุจุชูุฏูู ุดูุงุฏุฉ ูู ุดูู ุญู ููุงุช CERT . ูุญุชูู CERT ู CERTREQ ุนูู ู ุนุฑู ุชูุณูู ุงูุดูุงุฏุฉ ูุงูู ุญุชูู ุงูุฎุงุต ุจุงูุชูุณูู. ุนุงุฏุฉู ุ ูู ูู ุชูุฏูู ุงูุดูุงุฏุงุช ูู ASN.1 DER ุฃู ุชุฌุฒุฆุฉ SHA1 ููุดูุงุฏุฉ + ุนููุงู URL ุญูุซ ูู ูู ุชูุฒูููุง. ูุธุฑูุง ูุฃู ุญุฌู UDP ู ููุฏ ุจูุงุณุทุฉ MTU ุ ููู ูู ุฃู ุชููู ุฃุญุฌุงู ุงูุดูุงุฏุงุช ุฃูุจุฑ ุจูุซูุฑ ุ ูุฅู ุฎูุงุฑ ุงูุชุฌุฒุฆุฉ + URL ู ููุฏ ููุง (ุนูู ุงูุฑุบู ู ู ุฃูู ูู ูู ุงุนุชุจุงุฑู ุนูุงุฒูุง).
ูุณุฑุฏ IKEv2 RFC ูุญุฏู ุ ุจุงูุฅุถุงูุฉ ุฅูู ุดูุงุฏุงุช X.509 ุงูู ุดูุฑุฉ ุจูุงุณุทุฉ DER ูุนูุงููู SHA1 + URL: ุดูุงุฏุฉ X.509 ู ุบููุฉ PKCS # 7 ุ ูุดูุงุฏุฉ PGP ุ ูู ูุชุงุญ ู ููุน DNS ุ ูุดูุงุฏุฉ SPKI ุ ูุดูุงุฏุฉ ุณู ุฉ X.509 ุ ูู ูุงุชูุญ ุนุงู ุฉ ุฎุงู . ุฅุฐุง ููุช ุชุฑุบุจ ูู ุงุณุชุฎุฏุงู IPsec ุจููุณ ุงูุทุฑููุฉ ู ุซู TLS ูุญุงูุฉ ุงูุงุณุชุฎุฏุงู ุงูุฃูุซุฑ ุดููุนูุง: ุฎุงุฏู ู ุตุฏู ุนููู ุจุดูุงุฏุฉ X.509 ูุนู ูู ู ุฌููู ุ ููุง ุชูุฌุฏ ุทุฑููุฉ ูู IKEv2 ูุนุฏู ู ุตุงุฏูุฉ ุฃุญุฏ ุงูุฃุทุฑุงู. ููู RFC 5386 ูุตู ููุฌูุง ุฃูุถู ู ู ูุง ุดูุก ููุฃู ุงู ุญูุซ ูู ูู ูู "ุงูุนู ูู" ุงุณุชุฎุฏุงู ุงูู ูุชุงุญ ุงูุนุงู ุงูู ุฌุฑุฏ ููู ูู ููุฎุงุฏู ุงูุชุนุงู ู ู ุนู ุนูู ุฃูู ู ุฌููู.
ุจุงูุฅุถุงูุฉ ุฅูู ุฐูู ุ ูุชู ุฏุนู ู ุตุงุฏูุฉ EAP ุจุดูู ููุงุณู ุ ู ุน ุฅุถุงูุฉ ุฑุญูุงุช ุงูุฐูุงุจ ูุงูุนูุฏุฉ ุฅูู IKE_AUTHุชุจุงุฏู. ูู ูู ูู EAP ุชุญุฏูุฏ ู ุง ุฅุฐุง ูุงู ุงูุทุฑู ูุฏ ุชู ุช ู ุตุงุฏูุชู ุฃู ูุง ุ ููุฐูู ุฅูุดุงุก ู ูุชุงุญ ุณูุฃุฎุฐู IKEv2 ูู ุงูุงุนุชุจุงุฑ ููุณุชุฎุฏู ู. ุณุฃุนุฑุถ ูู ููุท ุฑุณู ูุง ุชุฎุทูุทููุง ูููููุฉ ุนู ู EAP:
SAi1, KEi, Ni -->
<-- SAr1, KEr, Nr
SK{IDi, [IDr], SAi2, TSi, TSr} -->
<-- SK{IDr, AUTH, EAP}
SK{EAP} -->
<-- SK{EAP(success)}
SK{AUTH} -->
<-- SK{AUTH, SAr2, TSi, TSr}
TLS 1.3 : ูู ุฐูู ุ ูุชู ูุถุน ุงูุชูููุน (ุฃู MAC ูู ุงูุฑุณุงูุฉ ุงูููุงุฆูุฉ ) ููู ุงูุชุฌุฒุฆุฉ ู ู ุฌู ูุน ุงูุฑุณุงุฆู ุงูู ุฑุฆูุฉ ุงูุชู ุดุงุฑูุช ูู ุนู ููุฉ ุงูู ุตุงูุญุฉ. ุฃูุถุง ููุฌ ุฌูุฏ ุจุณูุท ูู ูุซูู. ูุง ุชูุฌุฏ ุทุฑู ู ุชููุนุฉ ููู ุตุงุฏูุฉ. ูููู ุฃูุฏ ุฃู ูุฑู ุจุนุถ ุงูููู ููู ุฉ ู ุตุงุฏู ุงุชูุงู ู ูุชุงุญ ุจุฑูุชูููู (PAKE)ุ ู ุซู ุงูุฑูุณูุฉ SESPAKE ุฃู OPAQUE .
ุงูู ูุงุฏ ุงูุฑุฆูุณูุฉ ESP SA ูุชุฌุฏูุฏูุง
ูุฐูู ุ ุชุญูููุง ู ู ุงูู ุตุงุฏูุฉ ุ ูุชุญูููุง ู ู ุตุญุฉ ุงูุงุชูุงููุฉ ุงูุฑุฆูุณูุฉ ุ ูุชูุงูุถูุง ู ุน ESP SA ูู ุญุฏุฏุงุช ุญุฑูุฉ ุงูู ุฑูุฑ. ูุจูู ุฅูุดุงุก ู ูุงุชูุญ ู ุชู ุงุซูุฉ ูู ESP ููู ูู ุชุซุจูุช SA / SP ุงูู ุทููุจุฉ ูู ุงูููุงุฉ:
PRF + (SK_dุ Ni || Nr) -> KEYMAT0 || ู ูุชุงุญ 1
ูุชุทูุจ ุงูุงุชุตุงู ุซูุงุฆู ุงูุงุชุฌุงู ุฌูุงุฒู ESP SA ุ ูุฐูู ูููู IKEv2 ุจุฅูุดุงุก ู ุงุฏุชูู ุฑุฆูุณูุชูู ูู ููุช ูุงุญุฏ ุ ูุงูุชู ูุชู ููููุง ุจุงููุนู ู ุจุงุดุฑุฉ ุฅูู ุงูููุงุฉ ูู SA ุงูู ูุงุจู. ูุนุชู ุฏ ุทูู ุงูู ุงุฏุฉ ุนูู ุฎูุงุฑุฒู ูุฉ ESP ุงูู ุณุชุฎุฏู ุฉ (ุนูู ุณุจูู ุงูู ุซุงู ุ ูุชุทูุจ AES-GCM-ESP ุ ุจุงูุฅุถุงูุฉ ุฅูู ุงูู ูุชุงุญ ุ ู ูุญ 32 ุจุช ุฃูุถูุง). ููู ุฉ SPI ูู ููู ุฉ SPI ุงูู ุญุฏุฏุฉ ู ู ูุจู ูู ุทุฑู ูู ู ูุชุฑุญุงุช ESP SA.
ู ุงุฐุง ูู ุงุญุชุฌูุง ุฅูู ุงูุงุชูุงู ุนูู ุนุฏุฉ ESP SA / SPs ุ ุนูู ุณุจูู ุงูู ุซุงู ุ ูุฃูู ูุง ูู ูู ุชุญุฏูุฏ ูู ุงูุฑุบุจุงุช ูู ุฒูุฌ TSi / TSr ูุงุญุฏ ุ ููุฐุงุ CREATE_CHILD_SA ุงูุชุจุงุฏู ุชุณุชุฎุฏู ุงูุชู ุชุญุฏุซ ูู ุฃู ููุช ุจุนุฏ IKE_AUTH . ูุชู ุฅูุดุงุก ุทูู SA ูู ุงูุชุจุงุฏู ุงูุชุงูู:
SK {SA ุ Ni ุ [KEi] ุ TSi ุ TSr} ->
<- SK {SAุ Nrุ [KEr]ุ TSiุ TSr}
ูุชู ุชูุฏูู ุนุฑุถ SA ุ ูุชู ุฅุฑุณุงู ู ุญุฏุฏุงุช ุญุฑูุฉ ุงูู ุฑูุฑ. ูู ุดูุก ูู ุง ูุงู ู ู ูุจู. ุชู ุฅูุดุงุก ุงูู ุงุฏุฉ ุงูุฑุฆูุณูุฉ ุจุงููุนู ุจุงุณุชุฎุฏุงู ูุฐู ุงูุฑู ูุฒ ุงูุฌุฏูุฏุฉ. ุงุฎุชูุงุฑููุง ุ ูู ููู ุงุณุชุฎุฏุงู ุญู ููุงุช ุชุจุงุฏู ุงูู ูุงุชูุญ ุ ูุงูุชู ุชุถูู ุฅูุชุฑูุจูุง ูุชุฌุจุฑ ุงูุฃุทุฑุงู ุนูู ุงุณุชุฎุฏุงู ุงูู ุฒูุฏ ู ู ุงูุชุดููุฑ ุบูุฑ ุงูู ุชู ุงุซู. ูุฏ ูููู ู ู ุงูุถุฑูุฑู ู ุฑุงูุจุฉ ุฎุงุตูุฉ PFS ุจุงุณุชู ุฑุงุฑ (ูู ุจุฑูุชูููู OTR ุ ูุชู ุฅุฑุณุงู ู ูุงุชูุญ DH ุณุฑูุนุฉ ุงูุฒูุงู ู ุน ูู ุฑุณุงูุฉ). ุณูุชู ุนู ู ุงูู ุงุฏุฉ ุงูุฑุฆูุณูุฉ ูู ูุฐู ุงูุญุงูุฉ ุนูู ุงููุญู ุงูุชุงูู:
PRF + (SK_dุ DH-KEY || Ni || Nr) -> KEYMAT0 || ู ูุชุงุญ 1
ู ุงุฐุง ูู ุฃุฑุฏูุง ุชุฌุฏูุฏ IKE SA ููุงุชุตุงูุ ูููู ุจุฅุฌุฑุงุก ุงูุชุจุงุฏู ุงูุชุงูู CREATE_CHILD_SA :
SK {SA ุ Ni ุ KEi} ->
<- SK {SAุ Nrุ KEr}
ุญูุซ ุณุชุญุชูู SA ุจุงููุนู ุนูู ู ูุชุฑุญุงุช IKE SA ูุณูุชู ุชุทููุฑ SKEYSEED ุฌุฏูุฏ :
PRF (SK_d_old ุ DH-KEY || Ni || Nr) -> SKEYSEED
ูุชู ุชุญุฏูุซ ู ูุชุงุญ ESP SA ุฅู ุง ุนู ุทุฑูู ุฅูุดุงุก ESP SA ุฌุฏูุฏ (ุจู ุนุฑู SPI ู ุฎุชูู) ูุญุฐู ุงููุฏูู ุ ุฃู ุนู ุทุฑูู ุฅุฑุณุงู ุฅุดุนุงุฑ ุฎุงุต (ุญููู ุฃุฏูุงู). ุณูููู ุชุญููู ุญุฑูุฉ ุงูู ุฑูุฑ ุฅูู ุงุณุชุฎุฏุงู ESP SA ุงูุฌุฏูุฏ ุดูุงููุง ูุฎุงุณุฑูุง. ููุชุฑุฉ ูุตูุฑุฉ ุ ุณูููู ูุฏู ุงูุฃุทุฑุงู ุงุซููู ู ู ESP SA ูุดุทุชูู ุ ู ู ุง ุณูุณู ุญ ุจู ุนุงูุฌุฉ ุญุฑูุฉ ุงูู ุฑูุฑ ุงูุชู ูุง ุชุฒุงู ููุฏ ุงูููู ุนูู ูููุงุช ุงูุงุชุตุงู.
ูุชู ุญุฐู ESP SA ุนู ุทุฑูู ุฅุฑุณุงู ุญู ููุฉ DELETE ูู ุงูุชุจุงุฏูุงุช ุงูู ุนููู ุงุชูุฉ ุงููุงุญูุฉ ุงูุชู ุชุณุฑุฏ SPI ุงูู ุฑุงุฏ ุญุฐููุง. ูุธุฑูุง ูุฃู ุฌู ูุน ESP SAs ู ูุฌูุฏุฉ ูู ุฃุฒูุงุฌ (ููุงุชุตุงู ุซูุงุฆู ุงูุงุชุฌุงู) ุ ูุฑุณู ูู ุฌุงูุจ ููู SPI ููุท ุฅูู ESP SAs ุงูู ุณุคููุฉ ุนู ุญุฑูุฉ ุงูู ุฑูุฑ ุงูุตุงุฏุฑุฉ. ุงุณุชุฌุงุจุฉู ูุฐูู ุ ุงุณุชูุจู ููู SPI ESP SA ูุญุฑูุฉ ุงูู ุฑูุฑ ุงููุงุฑุฏุฉ.
SK {D (SPIi)} ->
<- ููุฑููุง {D (SPIr)}
ูุชู ุฃูุถูุง ุญุฐู IKE SA ุนุจุฑ DELETE ุ ูููู ุจุงุณุชุฎุฏุงู IKE SPI ููุจูู ุงุณุชุฌุงุจุฉ ูุงุฑุบุฉ ู ุตุงุฏู ุนูููุง:
SK {D} ->
<- ููุฑููุง {}
TLS 1.3 : ุชูุฌุฏ ุขููุฉ ูุชุฏููุฑ ุงูู ูุงุชูุญ ุนุจุฑ ุฑุณุงุฆู KeyUpdate ุ ูููู ูุง ุชูุฌุฏ ุฅู ูุงููุฉ ูุฅุถุงูุฉ ุฅูุชุฑูุจูุง ุฅุถุงููุฉ ุฃู ุชูููุฐ DH. ู ู ุงููุงุถุญ ุฃู TLS ุบูุฑ ู ุตู ู ููุงุชุตุงูุงุช ุทูููุฉ ุงูุฃู ุฏ. ูู ุฃุญุณู ุงูุฃุญูุงู ุ ูู ููู ููุท ูุณุฑ ุงูุฌูุณุฉ ูู ุชุงุจุนุฉ / ุฅูุดุงุก ุฌูุณุฉ ุฌุฏูุฏุฉ ุจู ุตุงูุญุฉ iPSK-ECDHE.
IKEv1 ูุฏูู ูู ู ู ุฅุฌุฑุงุก ุชุฌุฏูุฏ ู ูุชุงุญ IKE ู ููุตู ูุขุฎุฑ ู ููุตู ูุฅุนุงุฏุฉ ุงูู ุตุงุฏูุฉ. ูุง ุชูุฌุฏ ุฅุนุงุฏุฉ ู ุตุงุฏูุฉ ูู IKEv2. ููููุงู ุจุฐูู ุ ูุชู ุฅูุดุงุก IKE SA ุงูุฌุฏูุฏ ุจุจุณุงุทุฉ ู ู ุงูุจุฏุงูุฉ ุ ููุชู ุญุฐู ุงููุฏูู ุนุจุฑ DELETE .
TLS 1.3 : ูุฏูู ุฅู ูุงููุฉ ู ุตุงุฏูุฉ ุงูุนู ูู ุจุนุฏ ุงูู ุตุงูุญุฉ ูู ุฃู ููุช ุจุนุฏ ุงูู ุตุงูุญุฉ ( ุงูุชููู ู ููุง ุงูุฌุงูุจูู) ุ ูู ูู ููุฎุงุฏู ุฅุฑุณุงู ุทูุจ ูู ุตุงุฏูุฉ ุงูุนู ูู ุจุงุณุชุฎุฏุงู ุดูุงุฏุฉ X.509. ุนูู ุณุจูู ุงูู ุซุงู ุ ุนู ูู ุ ูุชุฌูู ูู ุงูู ููุน ุ ุงูุชูู ุฅูู ุตูุญุฉ ุญุณุงุจู ุงูุดุฎุตู. ูู IKEv2 ุ ูุฐุง ุบูุฑ ู ู ูู - ุชุชู ุงูู ุตุงุฏูุฉ ููุท ูู ููุช ุงูู ุตุงูุญุฉ.
ุฅุฎุทุงุฑ
ุฅุฐู ููู ูุชู ุงูุชูุงูุถ ุนูู ุงูุฃููุงู / ูุณุงุฆุท ุงูููู ุ TFCุ ููุฐุง ุงูุบุฑุถ ุ ูุชู ุฅุถุงูุฉ ุญู ููุงุช "ุงูุฅุฎุทุงุฑุงุช" NOTIFY ( N ) ุฅูู ุงูุทูุจ . ููุงู ุงูุนุดุฑุงุช ู ู ุฃููุงุน ุงูุฅุดุนุงุฑุงุช ูู IKEv2 RFC ูุญุฏู. ุชูุณุชุฎุฏู ุงูุชูุจููุงุช ููุฅุดุงุฑุฉ ุฅูู ุงูุฃุฎุทุงุก ุ ููุถุงูุง ุชูุงูุถ SA ุ ูู ุญุฏุฏุงุช ุญุฑูุฉ ุงูู ุฑูุฑ ุ ูู ุง
ุฅูู ุฐูู ... ููุฅุดุงุฑุฉ ุฅูู ุงูุฑุบุจุฉ ูู ุงุณุชุฎุฏุงู ูุถุน ุงูููู ูู ESP SA ู ุชูุงูุถ ุนููู ุ ุชู ุช ุฅุถุงูุฉ ุฅุนูุงู N (USE_TRANSPORT_MODE) ู ู ูุจู ูู ู ู ุงูุจุงุฏุฆ ูุงูู ุณุชุฌูุจ ูุชุฃููุฏ ู ูุงูุถุงุช ุงููุถุน. ุฅุดุงุฑุงุช ุชูุจูู N (ESP_TFC_PADDING_NOT_SUPPORTED) ุจุฃู TFC ุบูุฑ ู ุฏุนูู . ู N (HTTP_CERT_LOOKUP_SUPPORTED) ูุดูุฑ ุฅูู ุฃู ูุชู ุงุนุชู ุงุฏ ุดูุงุฏุฉ ู ู URL ุชุญู ูู.
ุชุดุจู ุงููุฏุฑุฉ ุนูู ุชุญุฏูุซ ู ูุชุงุญ ESP SA ุ ุฏูู ุฅูุดุงุก ESP SAs ุฌุฏูุฏุฉ ุ ุฅุฌุฑุงุก ุฅูุดุงุก ESP SA ุชุงุจุน ุ ููู ุงูุจุงุฏุฆ ูุถูู ุชูุจูู N (REKEY_SA) ูุญุชูู ุนูู SPI ุงูุฎุงุต ุจู ESP SA ุงูุญุงูู:
SK {N (REKEY_SA)ุ SAุ Niุ [KEi]ุ TSiุ TSr} ->
<- SK {SAุ Nrุ [KEr]ุ TSiุ TSr}
DPD
ูุณุชุฎุฏู ุงูุชุจุงุฏู ุงูู ุนููู ุงุชู ู ุน SK ุงููุงุฑุบ ูุงูุชุดุงู ุงูุฃูุฑุงู ุงูู ูุช ( DPD ) ุ ููุจุถ ููุจ ุจูู ุงูุดูุงุทูู. ุฅุฐุง ูุงู ุจุฑูุงู ุฌ IKE ุงูุฎูู ุบูุฑ ู ุชุงุญ ููุชุฑุฉ ุทูููุฉ ุ ูู ู ุงูู ุฑุฌุญ ุฃูู ููุฏ ุญุงูุชู ุ ูุจุงูุชุงูู ูุง ุฃุญุฏ ูุฑุงูุจ ESP SA ุนูู ุงูุฌุงูุจ ุงูุขุฎุฑ ุฃู ุฃูู ูู ูุนุฏ ูุดุทูุง. ูุฐูู ุ ุนูุฏู ุง ูููู ู ู ุงููุงุถุญ ุฃู ุงููุธูุฑ ุบูุฑ ู ุชุงุญ ุ ูู ู ุงูู ูุทูู ุฅุฒุงูุฉ ุฌู ูุน ESP / IKE SAs ุงูู ุฑุชุจุทุฉ. ูุนูู SK ุงููุงุฑุบ ุนุฏู ูุฌูุฏ ุญู ููุฉ ููู ุ ููููู ูุญุชูู ุนูู ุจูุงูุงุช ู ุตุงุฏูุฉ (ุนูู ุงูุฃูู ุฑุคูุณ IKE ู ุน ุนุฏุงุฏุงุช) ุ ูุจุงูุชุงูู ูุฅู ู ุตุงุฏูุฉ ู ุซู ูุฐู ุงูุญุฒู ุฉ ูู ุนูุงู ุฉ ู ูุซููุฉ ููุญูุงุฉ.
SK {} ->
<- ููุฑููุง {}
ูููู ู ุงุฐุง ูู ูุงู ุฃุญุฏ ุงูุฃุทุฑุงู ุจุฅุนุงุฏุฉ ุงูุชุดุบูู ุจุณุฑุนุฉ ูููุฏ ุญุงูุชู ูุจุฏุฃ ูู ุฅูุดุงุก ุงุชุตุงู IKE ู ู ุงูุจุฏุงูุฉุ ูุฏ ูุง ููุงุญุธ ุงูุฌุงูุจ ุงูุขุฎุฑ ุฃู ุงูุขุฎุฑ ูู ููู ู ุชุงุญูุง ุ ูุณูุนุชูุฏ ุฃูู ูุฑุฑ ุฅู ุง ุฅุนุงุฏุฉ ุงูู ุตุงุฏูุฉ ุฃู ุฅูุดุงุก SAs ูุฑุนูุฉ ุฌุฏูุฏุฉ ูู ุงุชุตุงู IKE ุขุฎุฑ. ูู ูููู ููุงู ุดูุก ูุงุฑุซู ุ ููู ESP SA ุงููุฏูู ูุง ูุฒุงู ุจุฅู ูุงูู ุงูุนูุด ููุชุฑุฉ ู ูุงุณุจุฉ. ูุฏ ูููู ุงูุจุงุฏุฆ ุจูุถุน ุชูุจูู N (INITIAL_CONTACT) ูู ุชุจุงุฏู IKE_AUTH ุงูุฎุงุต ุจู ุ ู ู ุง ูุดูุฑ ุฅูู ุฃูู ุงุชุตุงู IKE ุงููุญูุฏ ุงูู ุนุฑูู ุจูุฐุง ุงูุฌุงูุจ. ุจุนุฏ ุงูุงุทูุงุน ุนูู ู ุซู ูุฐุง ุงูุฅุฎุทุงุฑ ุงูู ุตุฏู ุ ูู ููู ุญุฐู ุฌู ูุน IKE / ESP SAs ุงููุฏูู ุฉ ุจุถู ูุฑ ู ุฑุชุงุญ.
DoS ู KE ุณูุฆุฉ
ุจุงููุนู ูู ุจุฏุงูุฉ IKE_SA_INIT ุ ูุชู ุฅุฑุณุงู ุญู ููุฉ KEi ุจู ูุชุงุญ DH ุนุงู ุณุฑูุน ุงูุฒูุงู. ููู ุงูุจุงุฏุฆ ูู ูุชุจุงุฏู IKE SA ุจุนุฏ ุ ูููู ูุนุฑู ุงูุฎูุงุฑุฒู ูุฉ ุงูุชู ูุฏุนู ูุง ุงูุฌุงูุจ ุงูู ุณุชูุจูุ ูู ููู ููุท ุชุฎู ูู ุฃู ุชุฐูุฑ ู ุง ุชู ุงุณุชุฎุฏุงู ู ุณุงุจููุง ูุฑุจุท ูุฐุง ุงูุนููุงู ูู ุงูุฐุงูุฑุฉ ุทูููุฉ ุงูู ุฏู. ุฅุฐุง ูุงู ุงูู ุณุชุฌูุจ ูุง ูุฏุนู ุงูุฎูุงุฑุฒู ูุฉ ุ ูุณูููู ุจุฅุฑุณุงู ุฅุฎุทุงุฑ N (INVALID_KEY_PAYLOAD) ุ ูุงูุฐู ุณูุดูุฑ ุฅูู ู ุนุฑู ุฎูุงุฑุฒู ูุฉ DH ุงูู ูุถูุฉ. ูุฌุจ ุนูู ุงูุจุงุฏุฆ ุฃู ููุฑุฑ ุทูุจู ุ ูููู ู ุน KEi ุฌุฏูุฏ .
TLS 1.3: ูู ููู ุฅุฑุณุงู ุนุฏุฉ ู ูุงุชูุญ ุนุงู ุฉ ุณุฑูุนุฉ ุงูุฒูุงู ูู ููุช ูุงุญุฏ ุจุงุณุชุฎุฏุงู ุฎูุงุฑุฒู ูุงุช ู ุฎุชููุฉ ุ ูุฑุจู ุง ููุนู ุงูุจุนุถ ุฐูู. ููู ูุฐู ู ูุงุฑุฏ ูุญุฑูุฉ ู ุฑูุฑ. ูุฏ ูุง ูุฑุณู ุงูู ูุชุงุญ ุงูุนุงู ุนูู ุงูุฅุทูุงู ูุณูู ูุฑุฏ ุนููู ุงูุฎุงุฏู ุจู HelloRetryRequest ู ุน ุชูุถููุงุชู - ุงูุฅุถุงูุฉ ูู ุฃู ุงูุชุดููุฑ ุบูุฑ ุงูู ุชู ุงุซู ุงูู ููู ูุง ูุชู ุงุณุชุฎุฏุงู ู ุนูู ุงูุฅุทูุงู ุญุชู ูุชู ู ุนุฑูุฉ ุฎูุงุฑุฒู ูุงุช ุงูุฎุงุฏู ุงูู ูุถูุฉ ุ ูููู ุนูู ุญุณุงุจ ุฑุญูุฉ ุฐูุงุจ ูุฅูุงุจ ุฅุถุงููุฉ. ุฅุฐุง ูุฏู ุงูุนู ูู ูู ุงูุจุฏุงูุฉ ุฎูุงุฑุฒู ูุฉ ู ูุชุงุญ ุนุงู ุบูุฑ ู ูุงุณุจ ุ ูุนูุฏุฆุฐ ุ ูู ุง ูู IKEv2 ุ ุณูุชููู ุทูุจ HelloRetryRequest ู ุน ุงูุฎูุงุฑุฒู ูุงุช ููุงุฎุชูุงุฑ ู ู ุจูููุง.
ูููู ู ุงุฐุง ูู ุฃุฑุณูุช ููุณ ุงูุญุฒู ุฉ ุงูุฃูููุฉ ู ู ุงูุจุงุฏุฆุ ู ู ุงูู ู ูู ุฅูุดุงุก SPI ุฌุฏูุฏ ููุงู ูู ูู ู ุฑุฉ... ุณูููู ุงูู ุณุชุฌูุจ ุ ุนูู ุงูุฃูู ุ ุจุฅุฌุฑุงุก ุญุณุงุจุงุช DH ุจุตุฏู ูุงูุฑุฏ ุจุงุณุชุฎุฏุงู IKE_AUTH . DH ูู ุนู ููุฉ ูุซููุฉ ุงูุงุณุชุฎุฏุงู ููู ูุงุฑุฏ ุชุญุฑู ูุญุฏุฉ ุงูู ุนุงูุฌุฉ ุงูู ุฑูุฒูุฉ ูู ุตุฏุฑ ุงูุงูุชุฑูุจูุง - ูุฐูู ูู ูู ุฃู ูุชูู ุฌูุงุฒ ุงูุฅุฑุณุงู ูุงูุงุณุชูุจุงู.
ูู IKEv2 (ูููู ููุณ IKEv1) ููุงู ุญู ุงูุฉ ุถุฏ ูุฐุง ุ ูู ุดูู ุงุณุชุฌุงุจุฉ N (COOKIE) ู ุน ุฅุดุนุงุฑ ูุญุชูู ุนูู ุณูุณูุฉ ู ูู ุชุนุฑูู ุงูุงุฑุชุจุงุท ุ ูุจุนุฏ ุฐูู ูุฌุจ ุนูู ุงูุจุงุฏุฆ ุชูุฑุงุฑ ุทูุจู ุ ู ุน ุฅุถุงูุฉ ุญู ููุฉ N (COOKIE) ุฅููู:
SAi1, KEi, Ni -->
<-- N(COOKIE)
SAi1, KEi, Ni, N(COOKIE) -->
<-- SAr1, KEr, Nr, [CERTREQ]
ูุฌุจ ุฃู ูุญุชูู ุงูุทูุจ ุนูู SPI / Ni ู ุชุทุงุจู ูุงูุฃูู . ู ู ุงูุณูู ุงุณุชูู ุงููุง ุจุงูุญู ููุฉ. ูู ูู ููู ุณุชุฌูุจ ุญูุธ ุงูุญุงูุฉ ุงูู ุชุนููุฉ ุจุงูุงุชุตุงู ุจูู ุงูุทูุจ ูู ูู ุชุนุฑูู ุงูุงุฑุชุจุงุท ุงูู ุฑุณู ุฅููู ุ ูููุท ุจุนุฏ ุงูุชุทุงุจู ุ ูุจุนุฏ ุฅูู ุงู ูุฐุง ุงูุนู ู ุนูู ุฅุถุงูุฉ ู ูู ุชุนุฑูู ุงูุงุฑุชุจุงุท ุฅูู ุงูุทูุจ ู ู ูุจู ุงูุจุงุฏุฆ ุ ูู ูู ููู ุณุชุฌูุจ ู ุชุงุจุนุฉ ุชุจุงุฏู IKE_AUTH ุจุทุฑููุฉ ู ูุชุธู ุฉ .
ูููู ู ู ุงูู ู ูู ุชุฎุฒูู ุงูุญุงูุฉ ุฏุงุฎู ู ูู ุชุนุฑูู ุงูุงุฑุชุจุงุท ุ ู ู ุง ูุฌุนููุง "ุฐุงุชูุฉ ุงูู ุตุงุฏูุฉ". ูู ูู ุฃู ุชุญู ู ุญูููุฉ ุฃู ุงูู ุฏุนู ุนููู ูุฏ ุฑุฃู ุงูุทูุจ ู ู ุงูุจุงุฏุฆ (ุฑุฃู Ni ู SPIi ุ ุนูู ุงูุฃูู):
ู ูู ุชุนุฑูู ุงูุงุฑุชุจุงุท = MAC (ุจุนุถ ุงูุณุฑูุฉ ุ Ni || SPIi || ุงูุทุงุจุน ุงูุฒู ูู)
ูุจุงูุชุงูู ุ ุณูุชุนูู ุนูู ุนุงุดู DoS ุชุฎุฒูู ุงูุญุงูุฉ ูุฅุนุงุฏุฉ ุชุฏููุฑ ุฑุณุงุฆูู ุงูู ุชูุฑุฑุฉ ุ ู ู ุง ูุฌุนู ุงููุฌูู ุฃูุซุฑ ุชูููุฉ. ู ู ุงูู ูุทูู ููุท ุชู ููู ุญู ุงูุฉ ู ููุงุช ุชุนุฑูู ุงูุงุฑุชุจุงุท ุนูุฏู ุง ูููู ููุงู ุงุดุชุจุงู ูู ูุฌูู DoS ุ ุญุชู ูุง ูุฌุจุฑ ุงูุฌู ูุน ุนูู ุงูููุงู ุจุฑุญูุฉ ุฅุถุงููุฉ ุฐูุงุจูุง ูุฅูุงุจูุง.
TLS 1.3 : ูุฏูู ุฃู ุงู ุงุฎุชูุงุฑู ู ู ุงุซู. ูุฏ ูุณุชุฌูุจ ุงูุฎุงุฏู ุจู HelloRetryRequest ุจุฑุณุงูุฉ ุชุญุชูู ุนูู ุงู ุชุฏุงุฏ ู ูู ุชุนุฑูู ุงูุงุฑุชุจุงุท ุ ูุงูุฐู ูุฌุจ ุนูู ุงูุนู ูู ุฅุฏุฑุงุฌู ูู ClientHello2 ุงูู ุชูุฑุฑ .
CP
ูุณู ุญ ูู IKEv2 ุจุงูุชูุงูุถ ุนูู ุชูููู ุดุจูุงุช / ุนูุงููู IP. ุญู ููุฉ ุงูุชูููู ( CP ) ูุณู ุญ ูู ูุชูุฏูู ุทูุจ ููุญุตูู ุนูู ุงูุชูููู ( CFG_REQUEST / CFG_REPLY ุฃููุงุน ุงูุญุฒู ุฉ) ูุชุนููู ุงูุชูููู ุฅูู ุงูุฌุงูุจ ุงูู ูุงุจู ( CFG_SET / CFG_ACK ุฃููุงุน). ูุญุชูู ุทูุจ ุงูุชูููู ุนูู ุงูุณู ุงุช ุงูุชู ูุฑูุฏ ุงูุทุฑู ู ุนุฑูุชูุง / ุชุนููููุง. ูู ูู ุฃู ุชููู ุงูุณู ุงุช: ุนููุงู "ุฏุงุฎูู" ุฃู ุนููุงู DNS ุฃู DHCP ุฃู ู ุนุฑูุฉ ุงูุดุจูุฉ ุงููุฑุนูุฉ ุฃู ุฃููุงุน ุฃุฎุฑู ู ูุตููุฉ ูู ุทูุจุงุช RFC ุฐุงุช ุงูุตูุฉ. ุนูู ุณุจูู ุงูู ุซุงู ุ ูู ูู ููุจุงุฏุฆ ูู ุชุจุงุฏู IKE_AUTH ุชูุฏูู ุทูุจ ูุฅุตุฏุงุฑ ุนููุงู ุฅูุชุฑุงูุช ูู (ุงูุงุชุตุงู ุจุดุจูุฉ ุงูุดุฑูุฉ) ูุฎุงุฏู DNS:
SK{IDi, [IDr], AUTH, CP(CFG_REQUEST), SAi2, TSi, TSr} -->
<-- SK{IDr, AUTH, CP(CFG_REPLY), SAr2, TSi, TSr}
CP(CFG_REQUEST) =
INTERNAL_IP6_ADDRESS()
INTERNAL_IP6_DNS()
TSi = (proto=0, port=0-65535, :: - ffff:...:ffff)
TSr = (proto=0, port=0-65535, :: - ffff:...:ffff)
CP(CFG_REPLY) =
INTERNAL_IP6_ADDRESS(2001:db8::5/64)
INTERNAL_IP6_DNS(2001:db8::1)
INTERNAL_IP6_SUBNET(2001:db8:abcd::/64)
TSi = (proto=0, port=0-65535, 2001:db8::5 - 2001:db8::5)
TSr = (proto=0, port=0-65535, 2001:db8::0 - 2001:db8::ffff:ffff:ffff:ffff)
- ูุชู ุชุฎุตูุต ุนููุงู 2001: db8 :: 5 ููุจุงุฏุฆ .
- ESP SA 2001:db8::/64 .
- 2001:db8::1 DNS .
- 2001:db8:abcd::/64 , , ESP SA, 2001:db8:: .
Go?
ูุงุฎุชุจุงุฑ ุงูุชุทุจููุงุช ุงูู ุญููุฉ ุงูุญุฏูุซุฉ ูู ูุฏุณ IPsec ุจุงุณุชุฎุฏุงู ุฎูุงุฑุฒู ูุงุช GOST ุ ูุฑุฑูุง ูุชุงุจุฉ ุชุทุจูู ู ุณุชูู ุชู ุงู ูุง (ุนู Linux ู FreeBSD ู strongSwan ูู ูุฏุณุงุช ุฃุฎุฑู). ูููุณุฑุนุฉ ูุณูููุฉ ุงูุชุทููุฑ ูู ูุบุฉ Go ุ ู ุน ุงูุชูููุฐ ุงูุญุงูู ุจุงููุนู ูู ูุชุจุฉ GoGOST ูุฎูุงุฑุฒู ูุงุช GOST . ูู ุงูุณุงุจู ุ ูุงู ูุฏู ุจุงููุนู ุฎุจุฑุฉ ูู ุฏู ุฌ GOST ูู ุชูููุฐ TLS 1.3 ูู ูุชุจุงุช ุงูุชุดููุฑ / tls ู crypto / x509 Go.
ู ุดุฑูุน gostipsec ูู ุจุฑูุงู ุฌ ู ุฌุงูู ูุชููู ู ู ุดูุทุงู: ESPER (ESPv3) ู IKER (IKEv2):
โโโโโโโโ โโโโโโ โโโโโโโ โโโโโโ
โremoteโ โikerโ โesperโ โipfwโ
โโโโฌโโโโ โโโฌโโโ โโโโฌโโโ โโโฌโโโ
โ โ โ โ
โโโโโโโโคโโโโโโชโโโโโโโโโโโโโโโโโชโโโโโโโโโโโโโ โ โ
โ UDP โ โ โ โ โ โ
โโโโโโโโ โ IKEv2... โ โ โ โ
โ โ <โโโโโโโโโโโโโโโ โ โ โ
โ โ โ โ โ โ
โ โ IKEv2... โ โ โ โ
โ โ โโโโโโโโโโโโโโโ> โ โ โ
โโโโโโโโโโโโโโชโโโโโโโโโโโโโโโโโชโโโโโโโโโโโโโ โ โ
โ โ โ โ
โ โ โ โ
โ โโโโโโโโโโโโโชโโโคโโโโโโโโโโโโโโชโโโโโโโโโโโโโ โ
โ โ UNIX-SOCKET โ โ โ โ
โ โโโโโโโโโโโโโโsetkey-commandsโ โ โ
โ โ โ โโโโโโโโโโโโโโโ> โ โ
โ โโโโโโโโโโโโโชโโโโโโโโโโโโโโโโโชโโโโโโโโโโโโโ โ
โ โ โ โ
โ โ โ โ
โ โ โโโโโโโโโโโโโโชโโโโคโโโโโโโโโโโโชโโโโโโโโโโโโโ
โ โ โ DIVERT-SOCKET โ โ โ
โ โ โโโโโโโโโโโโโโโencrypted ESP โ โ
โ โ โ โ <โโโโโโโโโโโโโโ โ
โ โ โ โ โ โ
โ โ โ โ decrypted ESP โ โ
โ โ โ โ โโโโโโโโโโโโโโ> โ
โ โ โ โ โ โ
โ โ โ โ unencrypted IPโ โ
โ โ โ โ <โโโโโโโโโโโโโโ โ
โ โ โ โ โ โ
โ โ โ โ encrypted IP โ โ
โ โ โ โ โโโโโโโโโโโโโโ> โ
โ โ โโโโโโโโโโโโโโชโโโโโโโโโโโโโโโโชโโโโโโโโโโโโโ
โ โ โ โ
ูู ุงูููุช ุงูุญุงูู ุ ูุนู ู ESPER ููุท ู ุน ู ุขุฎุฐ DIVERT (ูู ุฃุฌุฏ ุดูุฆูุง ุจุณูุทูุง ูู ูุธุงู Linux) ุ ูุฐูู ููู ู ุฏุนูู ููุท ุนูู FreeBSD (ุฑุจู ุง OpenBSD ุ ูู ูุชู ุงูุชุญูู ู ูู) OS. ูุง ูุณุชุฎุฏู ESPER ุ ู ุซู IKER ุ PF_KEYv2 ุ ุงูุฃู ุฑ ุงูุฐู ูุชุทูุจ ุฑูุงุจุท C ุ ููุงุฌูุฉ ุจูู ุฑูุงุจุท ESP <-> IKE ุ ูููู ูุงุฌูุฉ setkey ุงููุตูุฉ ุงูุชู ุชู ุฐูุฑูุง ุจุงููุนู ูู ุจุฏุงูุฉ ุงูู ูุงูุฉ. ูุฐูู ูู ูู ุงุณุชุฎุฏุงู IKER ููุชูุงูุถ ุนูู ู ูุงุชูุญ ุชูููุฐ kernel ESP ู ู ุฎูุงู ุงุณุชุฏุนุงุก ุงูุฃู ุฑ setkey ุงูุญูููู . ุชุจุฏู ุฃูุงู ุฑ ESPER ุงูุชุงููุฉ ูู ุง ููู:
add fc00::ac fc00::dc esp 0x12345678 -u 123 -E aes-gcm-16 0xd3537e657fde5599a2804fbb52d1aaed94b65d3e ;
add fc00::dc fc00::ac esp 0x12345679 -u 234 -E aes-gcm-16 0x9a2dae68e475eacb39d41f23c3cbef890e9f6276 tfc:1320 ;
spdadd fc00::ac/128 fc00::dc/128 all -P in ipsec esp/transport//unique:123 ;
spdadd fc00::dc/128 fc00::ac/128 all -P out ipsec esp/transport//unique:234 ;
ูุฏุนู ESPER: AES-128/256-GCM-16 ุ Magma / Grasshopper-MGM ุ ESN ุ TFC ุ ุฃูุถุงุน ุงูููู / ุงูููู ุ IPv6 / IPv4 (ุฏุนู ุงูุฃุฎูุฑ ุ ุฃูุซุฑ ุชุนููุฏูุง ุ ูู ูุชู ุงุฎุชุจุงุฑู ุจุฏูุฉ ุ ูู ู ูุญุชุงุฌ ุฅูู IPv4 ู ู ุฃุฌู ู ุดุงุฑูุน ุฌุฏูุฏุฉุ) ุ ุงูุญู ุงูุฉ ู ู ูุฌู ุงุช ุงูุฅุนุงุฏุฉ. ูุณู ุญ ูู IKER ุจู ุทุงุจูุฉ: AES-128/256-GCM-16 + AES-XCBC + curve25519 ุ Magma / Grasshopper-MGM + HMAC-Stribog-512 + GOST R 34.10-2012-VKO-256/512 ุ ESN / TFC / ุงูููู / ุฃูุถุงุน ุงูููู ุ ุงูู ุตุงุฏูุฉ ุจุงุณุชุฎุฏุงู ุงูุชูููุนุงุช ุงูุฑูู ูุฉ PSK ู X.509 (ECDSA ุ GOST R 34.10-2012). ุชู ุชููููู ุจูุงุณุทุฉ ู ูู Hjson ูุงุญุฏ :
{
IKEAlgos: [
gost128-vko512
aes256gcm16-aesxcbc-curve25519
aes128gcm16-aesxcbc-curve25519
]
ESPAlgos: [
gost128-esn
gost64-esn
aes256gcm16-esn
aes256gcm16-noesn
aes128gcm16-esn
aes128gcm16-noesn
]
SigHashes: [
streebog512
streebog256
sha512
sha256
]
DPDTimeout: 300
Peers: [
{
Autostart: true
OurIP: fc00::dc
TheirIP: fc00::ac
OurId: our.company.net
TheirId: CN=example.com
OurTSS: [
fc00::dc/128[tcp]
fc00::dc/128[udp/53]
]
TheirTSS: [
fc00::ac/128
]
Mode: transport
# Won't be used, because of X.509 signature authentication
PSK: DEADBABE
TheirCertHash: a948904f2f0f479b8f8197694b30184b0d2ed1c1cd2a1ec0fb85d299a192a447
OurCert: our.company.net.cer.pem
OurPrvKey: our.company.net.key.pem
TFC: 1200
}
]
}
ูู ูุฐุง ุงูู ุซุงู ุ ูู ูุง ุจุชุนููู ุงูุนุถู ุงููุญูุฏ ุงูุฐู ูุนุฑูู:
- ู ุง ุงูุจุฑูุงู ุฌ ุงูุฎูู ุงูุฐู ุณูุชู ุงูุงุชุตุงู ุจู ุชููุงุฆููุง
- ูู ุจุงูุชุดุงู ุงูุฃูุฑุงู ุงูู ูุช ูู ุฎู ุณ ุฏูุงุฆู
- ESN, fallback- , TFC 1200 .
- TCP DNS fc00::dc fc00::ac .
- X.509 , CN=example.com subject- SHA256 SubjectPublicKeyInfo . OurId OurCert .
- OurCert/OurPrvKey , PSK FQDN OurId.
ูุง ูุฏุนู IKER ุญุชู ุงูุขู ุงูู ุฌู ูุนุฉ ุงููุงู ูุฉ ูุฌู ูุน ู ูุฒุงุช IKEv2 ( CREATE_CHILD_SA ุ rekeying) ุ ููุง ูุฑุงูุจ ููุฏุงู ุงูุญุฒู ููุง ููุชู ุจู ุจุฏุฃ DON'T PANIC . ูุฐูู ุ ูุง ูู ูู ุงุนุชุจุงุฑู ู ุฑุดุญูุง ููุงุณุชุฎุฏุงู "ุงูุตูุงุนู".
ูุชู ุงููุทุฑุงู gostipsec ุจุงููุนู ูุญุชูู ุนูู ูุงูุฉ ุงูุชุจุนูุงุชุ ููุฏ ุชู ุชุฌู ูุนูุง INFO. ุซุงุฆู ูุงูุฃูุฏุงู ู ุฅุนุงุฏุชู ุจูุงุก ูุธุงู ุ ุนูู ุงูุฑุบู ู ู ุฃู ุจูุงุก ุงูุชูููุฐูุฉ ูุชู ุจุณูููุฉ ู ุน ุงูุนุงุฏูุฉ ุงูุฐูุงุจ ุจูุงุก ุงูู ูุงูู ุฉ.
ูุฌุณููุ
ู ูุถูุน ูููููุงุฑ ุ ููููู ุณุฃูุฏู ูุงู ุนูู ุฃู ุญุงู:
- ูุง ูุณู ุญ INI ูู ุจุชุญุฏูุฏ ู ุซู ูุฐู ุงูููุงูู ุงูุดุงู ูุฉ ุ ููุง ููุฌุฏ ู ุนูุงุฑ ูู ููุงุช .ini .
- capabilities database , termcap-like, BSD , (, , ), C. IKER .
- XML โ .
- JSON โ , Python Go . , . - !
- YAML โ , , . , . , YAML , , , . . . - . YAML ( ) - ( StrictYAML ).
- TOML โ : , , , . , :
[[foo.bar]] baz = 123 [[foo.bar]] abc = 123
:
{ "foo": { "bar": [ {"baz": 123 }, {"abc": 123 } ] } }
ยซยป / , . , TOML, NNCP , . , , . - Hjson โ JSON ( , ), Hjson. github.com/hjson/hjson-go Hjson JSON, . . , . , JSON Hjson.
ุจุดูู ุนุงู ุ ุฅุฐุง ูู ุช ุจุชูููุฐ ู ุฌู ูุนุฉ ูุฑุนูุฉ ู ู ุงููุฏุฑุงุช ุงูู ุดุงุจูุฉ ูู TLS 1.3 (ุงูู ุตุงุฏูุฉ ููุท ู ู ุฎูุงู ุดูุงุฏุงุช PSK ู X.509 ุ ูุง ููุฌุฏ ุฅุนุงุฏุฉ ุฅุฏุฎุงู ุฌุงุฏ) ุ ูุฅู ESPv3 ู ุน IKEv2 ู IPv6 (ู ู ุงูุฃุณูู ุจูุซูุฑ ุงูุนู ู ู ุนูุง!) ุ ู ู ูุฌูุฉ ูุธุฑ ุงูู ุจุฑู ุฌ ุ ุณูููู ุฃูุซุฑ ุตุนูุจุฉ ููููุงู ูู ุงูุชูููุฐ. ูุง ููุฒู RFC ุญุชู ุจุฏุนู ุนู ููุงุช ุงูุชุจุงุฏู CREATE_CHILD_SA . ุณูููู ุงูุฃู ุงู ู ู ุชุงุฒูุง ุ ุจุฏูู ุฃูู ุงุท ุชุดุบูู TLS 1.3 ุงูู ุญุชู ูุฉ ุงูู ุซูุฑุฉ ููุฌุฏู ูุงูุฎุทูุฑุฉ. ุณูููู ุฃุฏุงุก ุญู IPsec ุฃุนูู ุจุดูู ุนุงู ุจุณุจุจ ุงูููู ุนูู ุงูู ุณุชูู ุงููููู ูุฌูุณุงุช IKE ุทูููุฉ ุงูุฃู ุฏ.
ูู ูู ู ูุงุญุธุฉ ุฃูู ูู IPsec ูุชู ุดุญุฐ ูู ุดูุก ูุญู ุงูุฉ ุงููู ูุฉ ุงููุงุฆูุฉ ู ู ุญุฑูุฉ ุงูู ุฑูุฑ ุจูู ุงูุดุจูุงุช ุจุฃูู ููุง ุ ูููู BTNS(ุฃูุถู ู ู ูุง ุดูุก ุฃู ุงู) ูุชุจุช ู ุฌู ูุนุฉ ุนู ู IETF ุงูุนุฏูุฏ ู ู ุทูุจุงุช ุงูุชุนูููุงุช ุงูุชู ุชูุถุญ ุฃูู ูู ูู ุงุณุชุฎุฏุงู IPsec ุฏูู ู ุดุงูู ูู ุงูุงุชุตุงูุงุช ููู ู ูุจุณ ุ ุญูุซ ูููู ุฃุญุฏ ุงูุฃุทุฑุงู (ุงูุนู ูู) ู ุฌููู ุงููููุฉ ุ ูุจุงูุชุงูู ูุดูู ุชู ุงู ูุง ูู ุงุณุชุตูุงุจ ุงุณุชุฎุฏุงู TLS. ุฅุบูุงู ุงูุงุชุตุงู ุ ูู ูุฐู ุงูุญุงูุฉ ุ ุณูุณู ุญ ูุฃู ุชุทุจูู ุดุจูุฉ ุ ู ู ุฎูุงู ุฅุฌุฑุงุก ู ูุงูู ุฉ ูุธุงู ุชุงููุฉ ู ุซู setockopt ุ ููุฅุดุงุฑุฉ ุฅูู ุฃูู ูุญุชุงุฌ ุฅูู ESP ุฅูู FQDN = ุนููุงู bank.com ุ ูุชูุฏูู ููุณู ูุดูุงุฏุฉ X.509 (ุฃู ุงูุจูุงุก ู ุฌููู ุงููููุฉ) ุ ุซู ุจุดูุงููุฉ ูุจุณุฑุนุฉ ู ุงูุนู ู ุจุฃู ุงู ู ุน ูุฐุง bank.com ุ ุฏูู ุนูุงุฒุงุช ูู ุดูู ู ูุชุจุงุช ููู ู ุณุงุญุฉ ุงูู ุณุชุฎุฏู ูู ููู ุชุทุจูู.
ุณูุฑุฌู ู ุงุชููู ุ ุณุงููุฑูููุ Python / Go / C-developer ุ ุงูู ุชุฎุตุต ุงูุฑุฆูุณู ูู FGUP STC Atlas.