0x eða 0s? Að lesa PSK-sniðið í ipsec.secrets
Sama sameiginlega leyndarmál er hægt að skrifa sem texta í gæsalöppum, sem sextándakerfisgildi á eftir 0x eða sem Base64 á eftir 0s. Röng forskeyti láta auðkenninguna mistakast, ekki samningaviðræðurnar.
Einn biðlari auðkennir sig með sameiginlega lyklinum og annar hafnar honum, þótt stafirnir sem þú límdir inn líti eins út á báðum hliðum. Þetta eru líklega sömu stafirnir; munurinn er hvaða afkóðunarreglu skráin beitir á þá. Strengur í gæsalöppum er tekinn bókstaflega, tákn sem byrjar á 0x er lesið sem sextándakerfisgildi og tákn sem byrjar á 0s er lesið sem Base64. Aðeins einn af þessum þremur ritháttum þýðir það sem þú ætlaðir, svo leiðréttingin er yfirleitt umbreyting en ekki betra lykilorð.
Einkennið bendir á kóðun, ekki dulritun
Þegar báðir endar halda mismunandi bætum, takast samningaviðræðurnar samt og sönnunin mistekst á eftir. Þá tilkynnir loggið heilleika- eða HMAC-bilun í stað reikniritsósamræmis, því tillaga var valin og auðkenningarskrefið stóðst ekki. Sú lína nefnir aldrei lögun leyndarmálsins.
Stigið er vísbendingin. Bilun sem kemur á eftir valinni tillögu þýðir að báðir aðilar voru sammála um allt nema lykilefnið, en „engin tillaga valin“ tilheyrir stefnu eða dulritunarsettum. Heilleikaprófun sem mistekst þótt lykilorðið líti rétt út er sýnilegt andlit kóðunarósamræmis.
Eitt leyndarmál, þrjár leiðir sem skráin getur lesið það
Fyrir fjögurra bæta gildið key1 eru sextándakerfi og Base64 tvær endurkóðanir af sömu bætum, og aðeins fremstu stafirnir segja þáttaranum hvorra hann heldur. swanctl-skírteini fylgja sömu venju, svo gildi sem flutt er milli tveggja viðmóta heldur merkingu sinni aðeins ef forskeytið fer með því.
10.20.0.5 %any : PSK "key1"
10.20.0.5 %any : PSK 0x6b657931
10.20.0.5 %any : PSK 0sa2V5MQ==
Tveir smáatriðir í þeirri blokk taka mestan tíma. Sextándakerfistölur taka bæði há- og lágstafi, svo 0x6b657931 og 0x6B657931 eru sama gildið, en oddatölu fjöldi stafa er lesinn rangt í hljóði í stað þess að vera hafnað, sem hliðrar hverjum bæt á eftir skurðinum. Base64-fylling er hluti af gildinu, svo strengur sem límdur er án lokatáknanna = afkóðast í aðra bæti í stað þess að mistakast hástöfum.
Snið sem hefur afkóðað gildið einu sinni hefur þegar umbreytt því, svo endurtekin afkóðun gefur aðra bæti og auðkenningarbilun sem les eins og rangt lykilorð. Gæsalappir eru örugga áttin fyrir allt sem er óljóst, því innihaldið er bókstaflegt jafnvel þótt það byrji á kóðunarmarka.
Hvaðan Base64-textinn kemur
Sniðútflutningur og vefgáttir birgja afhenda lykilinn oft þegar kóðaðan, venjulega í gagnareit sem var aldrei ætlaður til handskrifa. Annaðhvort afpakkaðu það gildi og geymdu afkóðaða textann í gæsalöppum, eða láttu hann vera kóðaðan með markið fyrir framan. Að gera helming hvorstveggja er það sem brýtur það. Báðar leiðir virka aðeins ef allt gildið lifir af afritunina.
Báðar áttir eru ein skipun hvor, og það er þess virði að geyma þær í miðanum sem nákvæmu aðgerðina sem bjó til geymda gildið. Keyrðu þær í þessari röð:
printf '%s' 'a2V5MQ==' | base64 -d
printf '%s' 'key1' | base64
Að líma kóðaðan texta eins og hann væri venjulegur er dýra mistökin. Skráin heshar stafina nákvæmlega eins og þeir eru skrifaðir, afleiddi lykillinn verður um þriðjungi lengri en sá sem mótaðilinn reiknaði, og hver tilraun mistekst á sama hátt án viðvörunar, því þáttarinn fylgdi reglunni sem honum var gefin.
Staðfestu hvaða bæti hver mótaðili notar í raun
Lestu fyrst sýn dæmonsins á tenginguna og síðan niðurstöðu auðkenningarinnar, í stað þess að giska á orsök út frá villustrengnum. Að bera saman geymda lengdina er hröð skynsemisprófun, því kóðaður texti er lengri en bætin sem hann táknar. Staðfestu svo hvaða auðkennislína stóðst, því rétt leyndarmál sem skráð er undir röngum mótaðila mistekst nákvæmlega eins og rangt. Röð línanna ræður því: fyrsta samsvörunin vinnur, svo breið %any lína nálægt toppnum kemur í hljóði í stað hinnar tilteknu línu sem þú varst að breyta.
Endurhlaðaðu í stað þess að endurræsa þegar skráin er rétt. ipsec rereadsecrets endurnýjar afrit IKE-dæmonsins, og swanctl-uppsetning hleður skírteinum með eigin skipun. Endurræsing hendir hverri uppsettri samtengingu og eyðileggur samanburðinn sem þú varst að reyna að gera.
Engin þessara prófana krefst þess að leyndarmálið sé afhjúpað. Lengd, auðkennisval og staða línu útskýra flestar bilanir af þessu tagi áður en einhver þarf sextándakerfisdump.
Breyttu skránni án þess að fela niðurstöðuna
Takmarkaðu skrána við reikning dæmonsins og haltu lifandi leyndarmálum utan miða, spjalls og skjáskota, því límdur lykill er leki en ekki greining. Hann lifir líka lengur en atvikið sem bjó hann til.
Prófaðu frá biðlara sem þú stjórnar stillingum hans, staðfestu að auðkenningin takist og staðfestu svo að göngin flytji umferð. Endurhleðsla sem lagar handabandið á meðan leiðsögnin er enn brotin er annað vandamál, og það verður sýnilegt um leið og leyndarmálið hættir að hreyfast.