Mae WireGuard yn dweud bod hyd yr allwedd breifat yn anghywir: beth nawr?
Mae allwedd 32 beit mewn base64 yn 44 nod. Penderfynwch a oes gennych destun wedi’i ddifrodi neu’r hunaniaeth anghywir cyn ailosod unrhyw beth.
Mae’r neges yn dweud bod hyd yr allwedd breifat yn anghywir, ac mae’r geiriad hwnnw’n pwyntio at godio cyn iddo bwyntio at grypograffeg. Mae allweddi WireGuard yn codio 32 beit fel base64, sy’n rhoi 44 nod gan gynnwys pad olaf, felly nid yw gwerth o faint arall yn allwedd waeth pa mor hap y mae’n edrych. Mae padio’r llinyn nes bod y parser yn ei dderbyn yn cynhyrchu gwerth cyfansawdd na fydd unrhyw gyfoed byth yn ei adnabod.
Mae dau dasg wahanol yn cuddio y tu ôl i’r gwall hwn: trwsio testun allwedd ddilys, ac ailosod hunaniaeth nad ydych yn ei chadw mwyach. Mae ganddynt ganlyniadau gwahanol, ac mae un ohonynt yn annilysu’r pen arall.
Yr hyn y mae’r parser yn ei ddisgwyl
Mae allwedd WireGuard yn 32 beit o ddeunydd allweddol mewn base64 gyda phadio safonol, sy’n rhoi llinyn sefydlog o 44 nod. Mae’r offer yn gwrthod unrhyw beth nad yw’n dadgodio i 32 beit yn union, oherwydd bod y gromlin sylfaenol yn cymryd sgalar 32 beit a dim arall. Mae gwerthoedd cyhoeddus a phreifat yn defnyddio’r un codio, felly ni all y parser ddweud o’r fformat yn unig pa un a lapiwyd gennych. Mae’r amwysedd hwnnw’n achosi hanner y dryswch o amgylch y gwall hwn.
wg genkey | tee private.key | wg pubkey > public.key
base64 -d private.key | wc -c
wc -c private.key
wg show wg0 public-key
Os yw eich gwerth yn dadgodio i 32 beit, mae’r hyd yn iawn ac mae’r gŵyn yn dod o rywle arall yn y ffeil. Os yw’n dadgodio i rywbeth byrrach, mae gennych ddeunydd wedi’i dorri yn hytrach na phroblem fformatio.
Difrod fformatio neu ddeunydd anghywir?
Mae difrod fformatio’n crynhoi o amgylch yr ymylon: dyfynodau a ychwanegwyd gan blisgyn, label fel private_key a gopïwyd gyda’r gwerth, toriad llinell a fewnosodwyd gan gleient sgwrs, neu ofod olaf a oroesodd y gludo. Mae pob un o’r rhain yn newid y llinyn heb newid y beitiau, felly mae ei dynnu’n adfer yr hunaniaeth wreiddiol. Cymharwch y ffeil â’r cofnod darparu nod wrth nod yn hytrach na stribedu atalnodi nes bod y parser yn mynd yn dawel.
Mae deunydd anghywir yn sefyllfa wahanol. Gall cyfrinair, allwedd tystysgrif neu werth cyhoeddus edrych yn gredadwy i gyd a dadgodio i’r maint anghywir. Nid yw unrhyw lanhau yn troi’r un ohonynt yn sgalar y mae’r cyfoed yn ei ddisgwyl. Mae’r achos hwnnw angen hunaniaeth newydd yn hytrach nag addasiad.
Allwedd gyhoeddus yn y maes preifat
Y dryswch mwyaf cyffredin yw gwerth cyhoeddus wedi’i ludo i’r maes preifat, neu’r gwrthwyneb. Mae’r ddau yn base64 dilys o 32 beit, felly mae’r gwiriad hyd yn pasio ac mae’r handshake yn methu’n hwyrach heb neges ddefnyddiol. Yr allwedd breifat yw’r sgalar sy’n cynhyrchu’r un gyhoeddus, felly gellwch benderfynu drwy ddeillio’r gwerth cyhoeddus a’i gymharu â’r hyn y mae’r cyfoed yn ei awdurdodi. Pan nad yw’r gwerth deilliedig yn cyfateb i’r cofnod, rydych yn dal yr hunaniaeth anghywir yn hytrach na theipwryd.
Mae disodli allwedd breifat y cleient heb ddiweddaru’r allwedd gyhoeddus awdurdodedig yn y pen draw yn ail-greu’r un annghydweddiad, gyda’r dryswch ychwanegol bod ffeil y cleient bellach yn edrych yn hunangyson. Newidiwch y ddau ben mewn un gweithrediad, neu bydd y person nesaf yn dadfygio’r hanner anghywir.
Trwsiwch y proffil, yna profwch y handshake
Unwaith y bydd yr allwedd yn dadgodio i’r maint iawn ac yn cyfateb i’r pâr awdurdodedig, y gwaith sy’n weddill yw’r proffil a’r llwybr. Mae’r gorchmynion isod yn cynhyrchu pâr newydd pan fo angen, yn gwirio maint datgodiedig allwedd bresennol, ac yn darllen y gwerth cyhoeddus y mae’r rhyngwyneb yn ei ddefnyddio mewn gwirionedd. Peidiwch byth â gludo gwerth preifat i docyn na safle dadgodio.
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
Mae’r gwiriad maint yn ateb a yw’r deunydd ar ffurf allwedd, ac mae’r ymholiad llwybr yn ateb a fyddai pecyn byth yn cyrraedd y rhyngwyneb. Mae llinell handshake sy’n aros yn wag ar ôl i’r ddau wiriad basio yn symud y diagnosis i benell y cyfoed a’r cyfeiriadau a ganiateir. Darllenwch allwedd gyhoeddus y rhyngwyneb yn erbyn y cofnod darparu un waith eto, oherwydd gall proffil hen a arbedwyd edrych yn gywir tra bo’r un gweithredol yn wahanol].
Cofnodwch pa werth a ddisodlwyd gennych a ble mae’r gopi awdurdodedig yn byw. Bydd angen i bwy bynnag sy’n cyffwrdd â’r cyfoed hwn nesaf wybod pa ben a newidiodd.