WireGuard seit dat de lingte fan ’e priveezkaai ferkeard is: wat no?
In kaai fan 32 byte is yn base64 44 tekens. Beslis oft jo beskadige tekst of de ferkearde identiteit hawwe foardat jo eat opnij meitsje.
It berjocht seit dat de priveezkaai de ferkearde lingte hat, en dy formulearring wiist earst op kodearring en pas dêrnei op kryptografy. WireGuard-kaaien kodearje 32 byte as base64, wat 44 tekens jout ynklusyf in ôfslutende opfolming, dus in wearde fan in oare grutte is gjin kaai, hoe tafallich oft dy ek liket. It oanfoljen fan ’e tekenrige oant de parser it akseptearret, produsearret in goed foarme wearde dy’t gjin inkelde peer ea werkennen sil.
Efter dizze flater skûlje twa ferskillende taken: it reparearjen fan ’e tekst fan in jildige kaai, en it ferfangen fan in identiteit dy’t jo net mear hawwe. Se hawwe ferskillende gefolgen, en ien fan beide makket it oare ein ûnjildich.
Wat de parser ferwachtet
In WireGuard-kaai is 32 byte kaaimateriaal yn base64 mei standert opfolming, wat in fêste tekenrige fan 44 tekens jout. De ark begripe alles net dat net krekt nei 32 byte dekodearret, om’t de ûnderlizzende kromme in skalaar fan 32 byte nimt en neat oars. Iepenbiere en priveewearden brûke deselde kodearring, dus de parser kin allinnich út it formaat net sjen hokker fan beide jo plakt hawwe. Dy dûbelsinnigens feroarsaket de helte fan ’e betizing om dizze flater hinne.
wg genkey | tee private.key | wg pubkey > public.key
base64 -d private.key | wc -c
wc -c private.key
wg show wg0 public-key
As jo wearde nei 32 byte dekodearret, is de lingte goed en komt de klacht fan earne oars yn it bestân. As it nei eat koarter dekodearret, hawwe jo ôfkoarte materiaal en gjin opmaakprobleem.
Opmaakskanse of ferkeard materiaal?
Opmaakskanse sammelje har by de rânen: oanheltekens dy’t in shell tafoege hat, in label lykas private_key dat mei de wearde kopiearre is, in rigelbrek dat in chatklant ynfoege hat, of in einspasje dat it plakken oerlibbe hat. Elk fan dy feroarings feroaret de tekenrige sûnder de bytes te feroarjen, dus it fuortheljen bringt de oarspronklike identiteit werom. Fergelykje it bestân mei it foarsjenningsoerzicht teken foar teken yn pleats fan lêstekens fuort te heljen oant de parser stil wurdt.
Ferkeard materiaal is in oare situaasje. In wachtwurd, in sertifikaatkaai of in iepenbiere wearde kinne allegear leauwensweardich lykje en nei de ferkearde grutte dekodearje. Gjin skjinmeitsjen makket ien fan har ta de skalaar dy’t de peer ferwachtet. Dat gefal freget in nije identiteit yn pleats fan in bewurking.
In iepenbiere kaai yn it priveefjild
De meast foarkommende betizing is in iepenbiere wearde dy’t yn it priveefjild plakt is, of oarsom. Beide binne jildich base64 fan 32 byte, dus de lingtekontrôle slagget en de handshake mislearret letter sûnder nuttich berjocht. In priveezkaai is de skalaar dy’t de iepenbiere produsearret, dus jo kinne it besljochtsje troch de iepenbiere wearde ôf te lieden en te fergelykjen mei wat de peer autorisearret. As de ôflaat wearde net mei it oerzicht oerienkomt, hawwe jo de ferkearde identiteit en gjin typflater.
It ferfangen fan ’e priveezkaai fan ’e klant sûnder de autorisearre iepenbiere kaai oan ’e oare ein by te wurkjen, makket deselde mismatch opnij, mei de ekstra betizing dat it bestân fan ’e klant no selskuoddich liket. Feroarje beide einen yn ien bewurking, oars sil de folgjende persoan de ferkearde helte debugge.
Reparearje it profyl, en bewiis dan de handshake
Sadree’t de kaai nei de goede grutte dekodearret en by it autorisearre pear past, bliuwt it profyl en it paad oer. De kommando’s hjirûnder meitsje in farsk pear as dat nedich is, kontrolearje de dekodearre grutte fan in besteande kaai en lêze de iepenbiere wearde dy’t de ynterface eins brûkt. Plakje nea in priveewearde yn in ticket of op in dekodearside.
wg genkey | tee new.key | wg pubkey > new.pub
base64 -d private.key | wc -c
ip route get 10.60.9.5
wg show wg0 latest-handshakes
De gruttekontrôle beantwurdet oft it materiaal kaai-foarmich is, en de rûtefrage beantwurdet oft in pakket ea de ynterface berikke soe. In handshake-rigel dy’t leech bliuwt nei’t beide kontrôles slagge binne, ferpleatst de diagnose nei it einpunt fan ’e peer en de tastiene adressen. Lês de iepenbiere kaai fan ’e ynterface noch ien kear tsjin it foarsjenningsoerzicht, om’t in ferâldere bewarre profyl korrekt lykje kin wylst it aktive ôfwykt].
Skriuw op hokker wearde jo ferfongen hawwe en wêr’t de autorisearre kopy leit. Wa’t dit peer as folgjende oanrekket, moat witte hokker ein feroare is.