Ifiranṣẹ naa sọ pe kọkọrọ ikọkọ ni gigun ti ko tọ, ati awọn ọrọ wọnyẹn tọka si koodu akọkọ ki o to tọka si cryptography. Awọn kọkọrọ WireGuard ṣe koodu 32 byte bi base64, eyi ti o fun ni 44 lẹta pẹlu ipari kikun, nitorina iye ti iwọn miiran kii ṣe kọkọrọ bi o ti le dabi airotẹlẹ tobẹẹ. Kikun okun naa titi parser yoo fi gba a ṣẹda iye ti o dara ti ko si ẹlẹgbẹ kan ti yoo da a mọ lailai.

Lẹhin aṣiṣe yii ni iṣẹ meji ti o yatọ wa: atunṣe ọrọ kọkọrọ to wulo, ati rirọpo idanimọ ti o ko ni mọ. Awọn abajade wọn yatọ, ati ọkan ninu wọn sọ opin keji di asan.

Ohun ti parser n reti

Kọkọrọ WireGuard jẹ 32 byte ohun elo kọkọrọ ninu base64 pẹlu kikun boṣewa, eyi ti o fun ni okun ti o duro ni 44 lẹta. Awọn irinṣẹ kọ gbogbo ohun ti ko yipada si 32 byte gangan, nitori iha ti o wa labẹ gba scalar 32 byte ati ko si ohun miiran. Awọn iye gbangba ati ikọkọ lo koodu kanna, nitorina parser ko le mọ lati ọna kika nikan eyi ti o fi sii. Ailopin yẹn ni o fa idaji iporuru ni ayika aṣiṣe yii.

wg genkey | tee private.key | wg pubkey > public.key
base64 -d private.key | wc -c
wc -c private.key
wg show wg0 public-key

Ti iye rẹ ba yipada si 32 byte, gigun naa tọ ati ẹdun naa wa lati ibomiiran ninu faili naa. Ti o ba yipada si nkan ti o kuru, o ni ohun elo ti a ge, kii ṣe iṣoro ọna kika.

Ibajẹ ọna kika tabi ohun elo ti ko tọ?

Ibajẹ ọna kika n kojọpọ ni awọn eti: awọn ami asọtẹlẹ ti shell fi kun, aami bi private_key ti a daakọ pẹlu iye naa, pipin ila ti ẹrọ ijiroro fi sii, tabi aaye ipari ti o ye lẹhin lilon. Ọkọọkan ninu awọn iyipada wọnyi yi okun pada lai yi awọn byte pada, nitorina yiyọ rẹ pada mu idanimọ atilẹba pada. Fi faili naa wé igbasilẹ ipese lẹta lẹta dipo yiyọ awọn ami ifamisi titi parser yoo fi dakẹ.

Ohun elo ti ko tọ jẹ ipo miiran. Ọrọ igbaniwọle, kọkọrọ ijẹrisi tabi iye gbangba le dabi ohun ti o gbẹkẹle ati yipada si iwọn ti ko tọ. Ko si mimọ ti o yi ọkan ninu wọn pada si scalar ti ẹlẹgbẹ n reti. Ipa yẹn nilo idanimọ tuntun kii ṣe atunṣe.

Kọkọrọ gbangba ninu aaye ikọkọ

Idarudapọ ti o wọpọ julọ ni iye gbangba ti a fi sinu aaye ikọkọ, tabi idakeji. Awọn mejeeji jẹ base64 to wulo ti 32 byte, nitorina ayẹwo gigun kọja ati ifọwọsi ọwọ kuna nigbamii laisi ifiranṣẹ to wulo. Kọkọrọ ikọkọ ni scalar ti o ṣẹda eyi gbangba, nitorina o le pinnu rẹ nipa yiyọ iye gbangba jade ati fi wé ohun ti ẹlẹgbẹ gba laaye. Nigbati iye ti a yọ jade ko ba ba igbasilẹ mu, o di idanimọ ti ko tọ mu, kii ṣe aṣiṣe titẹ.

Rirọpo kọkọrọ ikọkọ ti alabara laisi imudojuiwọn kọkọrọ gbangba ti a gba laaye ni opin keji tun ṣẹda aisedeede kanna, pẹlu iporuru afikun pe faili alabara funrarẹ dabi ẹni ti o ni ibamu pẹlu ara rẹ. Yi awọn opin mejeeji pada ninu iṣẹ kan, bibẹẹkọ eniyan ti o tẹle yoo ṣatunṣe idaji ti ko tọ.

Tunṣe profaili, lẹhinna jẹri ifọwọsi ọwọ

Ni kete ti kọkọrọ ba yipada si iwọn to tọ ati pe o ba bata ti a gba laaye mu, iṣẹ ti o ku ni profaili ati ipa-ọna. Awọn aṣẹ ni isalẹ ṣẹda bata tuntun nigbati o nilo, ṣe idanwo iwọn ti a yipada ti kọkọrọ to wa tẹlẹ ati ka iye gbangba ti wiwo n lo gangan. Maṣe fi iye ikọkọ sinu tikẹti tabi oju opo yipada rara.

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

Ayẹwo iwọn dahun boya ohun elo naa ni apẹrẹ kọkọrọ, ati ibeere ipa-ọna dahun boya package yoo de wiwo naa lailai. Laini ifọwọsi ọwọ ti o wa ni ofo lẹhin ti awọn ayẹwo mejeeji ba kọja n gbe ayẹwo lọ si opin ẹlẹgbẹ ati awọn adirẹsi ti a gba laaye. Ka kọkọrọ gbangba ti wiwo naa ni a fi wé igbasilẹ ipese ni igba ikẹhin, nitori profaili ti a fipamọ atijọ le dabi ẹni to tọ nigba ti eyi to n ṣiṣẹ yatọ].

Kọ iye ti o rọpo ati ibi ti ẹda ti a gba laaye wa. Ẹnikẹni ti yoo fi ọwọ kan ẹlẹgbẹ yii lẹhin naa nilo lati mọ opin wo ni o yipada.

Àwọn àpilẹ̀kọ tó jọra