рд╡рд┐рдВрдбреЛрдЬрд╕рд╛рдареА рд╡рд╛рдпрд░рдЧрд╛рд░реНрдб рд╡реНрд╣реАрдкреАрдПрди рдЖрдгрд┐ рд╡рд╛рдпрд░рдЧрд╛рд░реНрдбрдПрдирдЯреА рез.реж рдкреНрд░рдХрд╛рд╢рд┐рдд рдЭрд╛рд▓реЗ.

рд╡рд╛рдпрд░рдЧрд╛рд░реНрдб рд╡реНрд╣реАрдкреАрдПрдирдЪреЗ рдЬрдирдХ, рдЬреЗрд╕рди рдП. рдбреЛрдиреЗрдирдлреЗрд▓реНрдб рдпрд╛рдВрдиреА рд╡рд┐рдВрдбреЛрдЬ рез.реж рд╕рд╛рдареА рд╡рд╛рдпрд░рдЧрд╛рд░реНрдб рдХреНрд▓рд╛рдпрдВрдЯ рд╕реЙрдлреНрдЯрд╡реЗрдЕрд░рдЪреА рдкрд╣рд┐рд▓реА рдкреНрд░рдореБрдЦ рдЖрд╡реГрддреНрддреА, рддрд╕реЗрдЪ рдкреЛрд░реНрдЯрд╕рд╣ рд╡рд╛рдпрд░рдЧрд╛рд░реНрдбрдПрдирдЯреА рез.реж рдбреНрд░рд╛рдпрд╡реНрд╣рд░реНрд╕ рдкреНрд░рд╕рд┐рджреНрдз рдХреЗрд▓реЗ рдЖрд╣реЗрдд. рд╡реНрд╣реАрдкреАрдПрди рд╡рд┐рдВрдбреЛрдЬ 10 рдЖрдгрд┐ 11 рдХрд░реНрдирд▓рд╕рд╛рдареА рд╡рд╛рдпрд░рдЧрд╛рд░реНрдб, рдЬреЗ AMD64, x86, рдЖрдгрд┐ ARM64 рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░рд▓рд╛ рд╕рдорд░реНрдерди рджреЗрддреЗ. рд╡рд┐рдВрдбреЛрдЬ рдХрд░реНрдирд▓ рдШрдЯрдХ рдХреЛрдб GPLv2 рдЕрдВрддрд░реНрдЧрдд рдкрд░рд╡рд╛рдирд╛рдХреГрдд рдЖрд╣реЗ рдЖрдгрд┐ рдХреНрд▓рд╛рдпрдВрдЯ рд╕реЙрдлреНрдЯрд╡реЗрдЕрд░ MIT рдкрд░рд╡рд╛рдиреНрдпрд╛рдЕрдВрддрд░реНрдЧрдд рдкрд░рд╡рд╛рдирд╛рдХреГрдд рдЖрд╣реЗ.

рд╣реЗ рдкреЛрд░реНрдЯ рд▓рд┐рдирдХреНрд╕ рдХрд░реНрдирд▓рд╕рд╛рдареАрдЪреНрдпрд╛ рдореБрдЦреНрдп рд╡рд╛рдпрд░рдЧрд╛рд░реНрдб рдЕрдВрдорд▓рдмрдЬрд╛рд╡рдгреАрдЪреНрдпрд╛ рдХреЛрдбрдмреЗрд╕рд╡рд░ рдЖрдзрд╛рд░рд┐рдд рдЖрд╣реЗ, рдЬреНрдпрд╛рд▓рд╛ рд╡рд┐рдВрдбреЛрдЬ рдХрд░реНрдирд▓ рдПрдВрдЯрд┐рдЯреАрдЬ рдЖрдгрд┐ NDIS рдиреЗрдЯрд╡рд░реНрдХ рд╕реНрдЯреЕрдХ рд╡рд╛рдкрд░рдгреНрдпрд╛рд╕рд╛рдареА рд░реВрдкрд╛рдВрддрд░рд┐рдд рдХреЗрд▓реЗ рдЧреЗрд▓реЗ рдЖрд╣реЗ. рдпреБрдЭрд░ рд╕реНрдкреЗрд╕рдордзреНрдпреЗ рдЪрд╛рд▓рдгрд╛рд▒реНрдпрд╛ рдЖрдгрд┐ рд╡рд┐рдВрдЯреБрди рдиреЗрдЯрд╡рд░реНрдХ рдЗрдВрдЯрд░рдлреЗрд╕ рд╡рд╛рдкрд░рдгрд╛рд▒реНрдпрд╛ рд╡рд╛рдпрд░рдЧрд╛рд░реНрдб-рдЧреЛ рдЕрдВрдорд▓рдмрдЬрд╛рд╡рдгреАрдЪреНрдпрд╛ рддреБрд▓рдиреЗрдд, рд╡рд╛рдпрд░рдЧрд╛рд░реНрдбрдПрдирдЯреА рдХреЙрдиреНрдЯреЗрдХреНрд╕реНрдЯ рд╕реНрд╡рд┐рдЪреЗрд╕ рдХрд╛рдвреВрди рдЯрд╛рдХреВрди рдЖрдгрд┐ рдкреЕрдХреЗрдЯрдордзреАрд▓ рдордЬрдХреВрд░ рдХрд░реНрдирд▓рд╡рд░реВрди рдпреБрдЭрд░ рд╕реНрдкреЗрд╕рдордзреНрдпреЗ рдХреЙрдкреА рдХрд░реВрди рдХрд╛рд░реНрдпрдХреНрд╖рдорддреЗрдд рд▓рдХреНрд╖рдгреАрдп рд╕реБрдзрд╛рд░рдгрд╛ рджреЗрддреЗ. рд▓рд┐рдирдХреНрд╕, рдУрдкрдирдмреАрдПрд╕рдбреА рдЖрдгрд┐ рдлреНрд░реАрдмреАрдПрд╕рдбреАрд╕рд╛рдареАрдЪреНрдпрд╛ рдЕрдВрдорд▓рдмрдЬрд╛рд╡рдгреАрдкреНрд░рдорд╛рдгреЗрдЪ, рд╡рд╛рдпрд░рдЧрд╛рд░реНрдбрдПрдирдЯреАрдордзреАрд▓ рд╕рд░реНрд╡ рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдкреНрд░реЛрд╕реЗрд╕рд┐рдВрдЧ рд▓реЙрдЬрд┐рдХ рдереЗрдЯ рдиреЗрдЯрд╡рд░реНрдХ рд╕реНрдЯреЕрдХ рд╕реНрддрд░рд╛рд╡рд░ рдЪрд╛рд▓рддреЗ.

рдЖрд╡реГрддреНрддреА 1.0 рд▓рд╛ рдПрдХ рдореИрд▓рд╛рдЪрд╛ рджрдЧрдб рдореНрд╣рдгреВрди рдЪрд┐рдиреНрд╣рд╛рдВрдХрд┐рдд рдХреЗрд▓реЗ рдЧреЗрд▓реЗ, рдЬреНрдпрд╛рдордзреНрдпреЗ рдЕрдиреЗрдХ рд╕рдорд╕реНрдпрд╛рдВрдЪреЗ рдирд┐рд░рд╛рдХрд░рдг рдЖрдгрд┐ рдирд┐рдпреЛрдЬрд┐рдд рдХрд╛рд░реНрдпрд╛рдВрдЪреА рдкреВрд░реНрддрддрд╛ рджрд░реНрд╢рд╡рд┐рд▓реА рдЧреЗрд▓реА, рдЬрд╕реЗ рдХреА: Reserved рдлреАрд▓реНрдбрдордзреНрдпреЗ рдбреНрд░рд╛рдпрд╡реНрд╣рд░ рд╕реНрдерд┐рддреАрдЪреНрдпрд╛ рдХрдореА рд╕реБрд░рдХреНрд╖рд┐рдд рд╕рд╛рдард╡рдгреБрдХреАрдРрд╡рдЬреА рдЖрдгрд┐ рдЕрдирд┐рд░реНрджрд┐рд╖реНрдЯ рдСрдлрд╕реЗрдЯрдЪреНрдпрд╛ рд╡рд╛рдкрд░рд╛рдРрд╡рдЬреА NdisWdfGetAdapterContextFromAdapterHandle() рдлрдВрдХреНрд╢рдирдЪрд╛ рд╡рд╛рдкрд░; рд╕рд┐рд╕реНрдЯрдо рдХреЙрд▓реНрд╕рдЪреНрдпрд╛ рдЗрдВрдЯрд░рд╕реЗрдкреНрд╢рдирджреНрд╡рд╛рд░реЗ MTU (рдореЕрдХреНрд╕рд┐рдордо рдЯреНрд░рд╛рдиреНрд╕рдорд┐рд╢рди рдпреБрдирд┐рдЯ) рдЖрдХрд╛рд░рд╛рдЪрд╛ рдЕрдЪреВрдХ рдЖрдгрд┐ рддреНрд╡рд░рд┐рдд рдорд╛рдЧреЛрд╡рд╛ рдШреЗрдгреЗ; рдХреЛрдбрдордзреНрдпреЗ C23 рдорд╛рдирдХрд╛рдЪрд╛ рд╡рд╛рдкрд░.

рдЖрдард╡рдг рдХрд░реВрди рджреНрдпрд╛рдпрдЪреА рдЭрд╛рд▓реНрдпрд╛рд╕, рд╡рд╛рдпрд░рдЧрд╛рд░реНрдб рд╡реНрд╣реАрдкреАрдПрди (WireGuard VPN) рдЖрдзреБрдирд┐рдХ рдПрдиреНрдХреНрд░рд┐рдкреНрд╢рди рдкрджреНрдзрддреАрдВрд╡рд░ рдЖрдзрд╛рд░рд┐рдд рдЖрд╣реЗ, рдЙрддреНрдХреГрд╖реНрдЯ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рджреЗрддреЗ, рд╡рд╛рдкрд░рдгреНрдпрд╛рд╕ рд╕реЛрдкреЗ рдЖрд╣реЗ, рдЧреБрдВрддрд╛рдЧреБрдВрддреАрдкрд╛рд╕реВрди рдореБрдХреНрдд рдЖрд╣реЗ рдЖрдгрд┐ рдореЛрдареНрдпрд╛ рдкреНрд░рдорд╛рдгрд╛рдд рдЯреНрд░реЕрдлрд┐рдХ рд╣рд╛рддрд╛рд│рдгрд╛рд▒реНрдпрд╛ рдЕрдиреЗрдХ рдореЛрдареНрдпрд╛ рдкреНрд░рдорд╛рдгрд╛рд╡рд░реАрд▓ рдЙрдкрдпреЛрдЬрдирд╛рдВрдордзреНрдпреЗ (deployments) рд╕реНрд╡рддрдГрд▓рд╛ рд╕рд┐рджреНрдз рдХреЗрд▓реЗ рдЖрд╣реЗ. рд╣рд╛ рдкреНрд░рдХрд▓реНрдк реирежрезрел рдкрд╛рд╕реВрди рд╡рд┐рдХрд╛рд╕рд╛рдзреАрди рдЖрд╣реЗ рдЖрдгрд┐ рддреНрдпрд╛рдЪреНрдпрд╛ рдПрдиреНрдХреНрд░рд┐рдкреНрд╢рди рдкрджреНрдзрддреАрдВрдЪреЗ рдСрдбрд┐рдЯ рд╡ рдФрдкрдЪрд╛рд░рд┐рдХ рдкрдбрддрд╛рд│рдгреА рдЭрд╛рд▓реА рдЖрд╣реЗ. рд╡рд╛рдпрд░рдЧрд╛рд░реНрдб рдХреА-рдЖрдзрд╛рд░рд┐рдд рдПрдиреНрдХреНрд░рд┐рдкреНрд╢рди рд░рд╛рдЙрдЯрд┐рдВрдЧ рд╕рдВрдХрд▓реНрдкрдиреЗрдЪрд╛ рд╡рд╛рдкрд░ рдХрд░рддреЗ, рдЬреНрдпрд╛рдордзреНрдпреЗ рдкреНрд░рддреНрдпреЗрдХ рдиреЗрдЯрд╡рд░реНрдХ рдЗрдВрдЯрд░рдлреЗрд╕рд▓рд╛ рдПрдХ рдкреНрд░рд╛рдпрд╡реНрд╣реЗрдЯ рдХреА рдЬреЛрдбрд▓реА рдЬрд╛рддреЗ рдЖрдгрд┐ рдХреА рдмрд╛рдЗрдВрдбрд┐рдВрдЧрд╕рд╛рдареА рдкрдмреНрд▓рд┐рдХ рдХреА рд╡рд╛рдкрд░рд▓реНрдпрд╛ рдЬрд╛рддрд╛рдд.

рдХрдиреЗрдХреНрд╢рди рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдХреАрдЬрдЪреА рджреЗрд╡рд╛рдгрдШреЗрд╡рд╛рдг SSH рд╕рд╛рд░рдЦреАрдЪ рдЖрд╣реЗ. рд╡рд╛рдкрд░рдХрд░реНрддреНрдпрд╛рдЪреНрдпрд╛ рдЬрд╛рдЧреЗрдд рд╡реЗрдЧрд│рд╛ рдбрд┐рдорди рди рдЪрд╛рд▓рд╡рддрд╛ рдХреАрдЬрд╢реА рд╡рд╛рдЯрд╛рдШрд╛рдЯреА рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдЖрдгрд┐ рдХрдиреЗрдХреНрдЯ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА, SSH рдордзреАрд▓ рдЕрдзрд┐рдХреГрдд_рдХреАрдЬрдЪреНрдпрд╛ рджреЗрдЦрднрд╛рд▓реАрдкреНрд░рдорд╛рдгреЗрдЪ, Noise Protocol Framework рдордзреАрд▓ Noise_IK рдпрдВрддреНрд░рдгрд╛ рд╡рд╛рдкрд░рд▓реА рдЬрд╛рддреЗ. рдбреЗрдЯрд╛ рдЯреНрд░рд╛рдиреНрд╕рдлрд░ UDP рдкреЕрдХреЗрдЯреНрд╕рдордзреНрдпреЗ рдПрдиреНрдХреЕрдкреНрд╕реБрд▓реЗрд╢рдирджреНрд╡рд╛рд░реЗ рдХреЗрд▓реЗ рдЬрд╛рддреЗ. рдмрджрд▓ рд╕рдорд░реНрдерд┐рдд рдЖрд╣реЗ. IP рдкрддреНрддреЗ рдХрдиреЗрдХреНрд╢рдирдордзреНрдпреЗ рд╡реНрдпрддреНрдпрдп рди рдЖрдгрддрд╛ рд╕реНрд╡рдпрдВрдЪрд▓рд┐рдд рдХреНрд▓рд╛рдпрдВрдЯ рдкреБрдирд░реНрд░рдЪрдиреЗрд╕рд╣ рд╡реНрд╣реАрдкреАрдПрди рд╕рд░реНрд╡реНрд╣рд░ (рд░реЛрдорд┐рдВрдЧ).

рдПрдирдХреНрд░рд┐рдкреНрд╢рдирд╕рд╛рдареА, рдбреЕрдирд┐рдпрд▓ рдЬреЗ. рдмрд░реНрдирд╕реНрдЯрд╛рдИрди, рдЯрд╛рдиреНрдпрд╛ рд▓рдБрдЧреЗ рдЖрдгрд┐ рдкреАрдЯрд░ рд╢реНрд╡рд╛рдм рдпрд╛рдВрдиреА рд╡рд┐рдХрд╕рд┐рдд рдХреЗрд▓реЗрд▓рд╛ рдЪрд╛рдЪрд╛реиреж (ChaCha20) рд╕реНрдЯреНрд░реАрдо рд╕рд╛рдпрдлрд░ рдЖрдгрд┐ рдкреЙрд▓реАрезрейрежрел (Poly1305) рдореЗрд╕реЗрдЬ рдСрдереЗрдВрдЯрд┐рдХреЗрд╢рди рдЕрд▓реНрдЧреЛрд░рд┐рджрдо (MAC) рд╡рд╛рдкрд░рд▓рд╛ рдЬрд╛рддреЛ. рдЪрд╛рдЪрд╛реиреж рдЖрдгрд┐ рдкреЙрд▓реАрезрейрежрел рд╣реЗ рдПрдИрдПрд╕-реирелрем-рд╕реАрдЯреАрдЖрд░ (AES-256-CTR) рд╡ рдПрдЪрдПрдордПрд╕реА (HMAC) рдЪреЗ рдЕрдзрд┐рдХ рд╡реЗрдЧрд╡рд╛рди рдЖрдгрд┐ рд╕реБрд░рдХреНрд╖рд┐рдд рдкрд░реНрдпрд╛рдп рдореНрд╣рдгреВрди рд╡рд┐рдХрд▓реЗ рдЬрд╛рддрд╛рдд, рдЬреНрдпрд╛рдВрдЪреНрдпрд╛ рд╕реЙрдлреНрдЯрд╡реЗрдЕрд░ рдЕрдВрдорд▓рдмрдЬрд╛рд╡рдгреАрдореБрд│реЗ рдХреЛрдгрддреНрдпрд╛рд╣реА рд╡рд┐рд╢реЗрд╖ рд╣рд╛рд░реНрдбрд╡реЗрдЕрд░ рд╕рдкреЛрд░реНрдЯрд╢рд┐рд╡рд╛рдп рдирд┐рд╢реНрдЪрд┐рдд рд╡реЗрд│реЗрдд рдЕрдВрдорд▓рдмрдЬрд╛рд╡рдгреА рдХрд░рдгреЗ рд╢рдХреНрдп рд╣реЛрддреЗ. рд╕рд╛рдорд╛рдпрд┐рдХ рдЧреБрдкреНрдд рдХреА (shared secret key) рд╣реА рдбреЕрдирд┐рдпрд▓ рдмрд░реНрдирд╕реНрдЯрд╛рдИрди рдпрд╛рдВрдиреАрдЪ рдкреНрд░рд╕реНрддрд╛рд╡рд┐рдд рдХреЗрд▓реЗрд▓реНрдпрд╛ рдХрд░реНрд╡реНрд╣реирелрелрезреп (Curve25519) рдЕрдВрдорд▓рдмрдЬрд╛рд╡рдгреАрдордзреНрдпреЗ рдЗрд▓рд┐рдкреНрдЯрд┐рдХ рдХрд░реНрд╡реНрд╣ рдбрд┐рдлрд┐-рд╣реЗрд▓рдорди рдкреНрд░реЛрдЯреЛрдХреЙрд▓рдЪрд╛ рд╡рд╛рдкрд░ рдХрд░реВрди рддрдпрд╛рд░ рдХреЗрд▓реА рдЬрд╛рддреЗ. рд╣реЕрд╢рд┐рдВрдЧрд╕рд╛рдареА рдмреНрд▓реЗрдХреирдПрд╕ (BLAKE2s) рдЕрд▓реНрдЧреЛрд░рд┐рджрдо (RFC7693) рд╡рд╛рдкрд░рд▓рд╛ рдЬрд╛рддреЛ.

рд╕реНрддреНрд░реЛрдд: opennet.ru