Jason A. Donenfeld, l-awtur ta' WireGuard VPN, ħareġ l-ewwel rilaxx ewlieni tas-softwer tal-klijent WireGuard għal Windows 1.0, kif ukoll is-sewwieqa WireGuardNT 1.0 b'port VPN WireGuard għall-kernel tal-Windows 10 u 11, li jappoġġja arkitetturi AMD64, x86, u ARM64. Il-kodiċi tal-komponent tal-kernel tal-Windows huwa liċenzjat taħt il-GPLv2, u s-softwer tal-klijent huwa liċenzjat taħt il-liċenzja MIT.
Il-port huwa bbażat fuq il-kodiċi bażi tal-implimentazzjoni ewlenija ta' WireGuard għall-kernel tal-Linux, li ġiet konvertita biex tuża entitajiet tal-kernel tal-Windows u l-munzell tan-netwerk NDIS. Meta mqabbla mal-implimentazzjoni ta' wireguard-go, li taħdem fl-ispazju tal-utent u tuża l-interface tan-netwerk Wintun, WireGuardNT toffri titjib sinifikanti fil-prestazzjoni billi telimina l-iswiċċijiet tal-kuntest u tikkopja l-kontenut tal-pakketti mill-kernel għall-ispazju tal-utent. Simili għall-implimentazzjonijiet għal Linux, OpenBSD, u FreeBSD, il-loġika kollha tal-ipproċessar tal-protokoll f'WireGuardNT taħdem direttament fil-livell tal-munzell tan-netwerk.
Il-Verżjoni 1.0 ġiet immarkata bħala pass importanti, u mmarkat ir-riżoluzzjoni ta' għadd ta' kwistjonijiet u t-twettiq tal-kompiti maħsuba, bħal: l-użu tal-funzjoni NdisWdfGetAdapterContextFromAdapterHandle() minflok il-ħażna inqas sigura tal-istat tas-sewwieq fil-qasam Riżervat u l-użu ta' offsets mhux dokumentati; traċċar korrett u fil-pront tad-daqs tal-MTU (Maximum Transmission Unit) permezz tal-interċettazzjoni ta' sejħiet tas-sistema; l-użu tal-istandard C23 fil-kodiċi.
Ejjew infakkarkom li VPN WireGuard huwa implimentat fuq il-bażi ta 'metodi moderni ta' encryption, jipprovdi prestazzjoni għolja ħafna, huwa faċli biex jintuża, huwa ħieles minn kumplikazzjonijiet u wera ruħu tajjeb f'numru ta 'implimentazzjonijiet kbar li jipproċessaw volumi kbar ta' traffiku. Il-proġett ilu jiżviluppa mill-2015 u għadda minn verifika u verifika formali tal-metodi ta’ kriptaġġ użati. WireGuard juża l-kunċett ta 'routing ta' encryption ibbażat fuq iċ-ċavetta, li jinvolvi li jassoċja ċavetta privata ma 'kull interface tan-netwerk u tuża ċwievet pubbliċi għall-irbit.
L-iskambju ta' ċwievet pubbliċi biex tiġi stabbilita konnessjoni huwa simili għal SSH. Biex jiġu nnegozjati ċwievet u ssir konnessjoni mingħajr ma jitħaddem daemon separat fl-ispazju tal-utent, jintuża l-mekkaniżmu Noise_IK mill-Qafas tal-Protokoll tan-Noise, simili għall-manutenzjoni ta' authorized_keys f'SSH. It-trasferiment tad-dejta jitwettaq permezz ta' inkapsulament f'pakketti UDP. Il-bdil huwa appoġġjat. indirizzi IP Servers VPN (roaming) mingħajr interruzzjoni tal-konnessjoni b'konfigurazzjoni mill-ġdid awtomatika tal-klijent.
L-encryption juża ċ-ċifra tal-fluss ChaCha20 u l-algoritmu ta 'awtentikazzjoni tal-messaġġi Poly1305 (MAC), żviluppat minn Daniel J. Bernstein, Tanja Lange, u Peter Schwabe. ChaCha20 u Poly1305 huma pożizzjonati bħala analogi aktar mgħaġġla u siguri ta 'AES-256-CTR u HMAC, li l-implimentazzjoni tas-softwer tagħhom tippermetti l-kisba ta' ħin ta 'eżekuzzjoni fiss mingħajr l-użu ta' appoġġ speċjali ta 'hardware. Biex tiġġenera ċ-ċavetta sigrieta kondiviża, il-protokoll Elliptic Curve Diffie-Hellman jintuża fl-implimentazzjoni Curve25519, proposta wkoll minn Daniel Bernstein. L-algoritmu BLAKE2s (RFC7693) jintuża għall-hashing.
Sors: opennet.ru
