0x oder 0s? D’PSK-Format an ipsec.secrets liesen
Dat selwecht gedeelt Geheimnis kann als zitierte Literal, als Hexadezimal no 0x oder als Base64 no 0s geschriwwe ginn. E falsche Prefix léisst d’Authentifizéierung scheiteren, net d’Verhandlung.
Ee Client authentifizéiert sech mam gedeelte Schlëssel an en aneren verwërft en, obwuel d’Zeechen, déi Dir agetippt hutt, op béide Säiten d’selwecht ausgesinn. Et sinn wahrscheinlech déi selwecht Zeechen; den Ënnerscheed ass, wéi eng Dekodéierungsregel d’Datei op si uwent. Eng Zeechekette an Anféierungszeechen gëtt wuertwiertlech geholl, een Token, deen ufänkt mat 0x gëtt als Hexadezimal gelies, an een Token, deen ufänkt mat 0s gëtt als Base64 gelies. Nëmmen eng vun deenen dräi Schreifweisen heescht, wat Dir gemengt hutt, dofir ass d’Korrektur meeschtens eng Konversioun an net e bessert Passwuert.
De Symptom weist op d’Kodéierung, net op d’Chiffren
Wann déi zwou Säiten ënnerschiddlech Bytes halen, gëtt d’Verhandlung nach ëmmer fäerdeg an de Beweis fällt duerno aus. D’Log mëllt dann en Integritéits- oder HMAC-Fehler amplaz vun enger Algorithmus-Differenz, well e Virschlag gewielt gouf an den Authentifizéierungsschratt net gepasst huet. Déi Linn ernimmt ni d’Form vum Geheimnis.
D’Etapp ass den Hiweis. E Fehler, deen no engem gewielte Virschlag kënnt, bedeit, datt sech déi zwou Säiten iwwer alles ausser dem Schlësselmaterial eens waren, während „kee Virschlag gewielt“ zu der Politique oder de Chiffre-Suiten gehéiert. Eng Integritéitspréifung, déi ausfällt, während d’Passwuert richteg ausgesäit, ass d’siichtbar Gesiicht vun enger Kodéierungsdifferenz.
Ee Geheimnis, dräi Manéieren, wéi d’Datei et liese kann
Fir de Wäert vun véier Bytes key1 sinn Hexadezimal a Base64 zwou Nei-Kodéierungen vun deene selwechte Bytes, an nëmmen d’führend Zeechen soen dem Parser, wat en hält. swanctl-Identitéitsbeweiser follegen der selwechter Konventioun, dofir behält en Wäert, deen tëscht den zwou Schnëttstelle verschob gëtt, seng Bedeitung nëmmen, wann säi Prefix matreest.
10.20.0.5 %any : PSK "key1"
10.20.0.5 %any : PSK 0x6b657931
10.20.0.5 %any : PSK 0sa2V5MQ==
Zwee Detailer an deem Block kaschte meescht Zäit. Hexadezimal Zifferen akzeptéieren déi zwou Schreifweisen, also sinn 0x6b657931 an 0x6B657931 dee selwechte Wäert, awer eng ongerued Zuel vu Zeechen gëtt stëll fälsch gelies amplaz ofgeleent, wat all Byte no dem Schnëtt verréckelt. Base64-Fëllung gehéiert zum Wäert, dofir gëtt eng Zeechekette, déi ouni hir Schlusszeechen = agetippt gëtt, an aner Bytes dekodéiert amplaz haart auszefalen.
E Profil, deen de Wäert eng Kéier dekodéiert huet, huet en schonn ëmgewandelt, dofir produzéiert en nach eng Kéier ze dekodéieren aner Bytes an en Authentifizéierungsfehler, deen als falscht Passwuert gelies gëtt. Anféierungszeechen sinn déi sécher Richtung fir alles Zweideuteges, well den Inhalt wuertwiertlech ass, och wann en mat engem Kodéierungsmarker ufänkt.
Wou de Base64-Text hierkënnt
Profil-Exporten a Verkeeferportaler iwwerginn de Schlëssel dacks schonn kodéiert, meeschtens an engem Datenfeld, dat ni fir d’Handtippen geduecht war. Entweder packt Dir dee Wäert aus a späichert den dekodéierten Text an Anféierungszeechen, oder Dir loosst en kodéiert mam Marker virun. Vun allengem d’Halschent ze maachen ass dat, wat et futti mécht. Béid Weeër funktionéieren nëmmen, wann de ganze Wäert d’Kopéieren iwwerlieft.
Béid Richtungen sinn ee Befehl all, an et ass der Müü wäert, se am Ticket ze halen als déi genee Operatioun, déi de gespäicherte Wäert produzéiert huet. Féiert se an dëser Reihenfolg aus:
printf '%s' 'a2V5MQ==' | base64 -d
printf '%s' 'key1' | base64
Kodéierten Text agetippen, wéi wann et einfach wier, ass dee deieren Fehler. D’Datei hasht d’Zeechen genau esou, wéi se geschriwwe sinn, de ofgeleeëte Schlëssel kënnt ongeféier en Drëttel méi laang eraus wéi deen, deen de Géigeniwwer berechent huet, an all Versuch fällt esou aus ouni Warnung, well de Parser der Regel gefollegt huet, déi him ginn gouf.
Bestätegt, wéi eng Bytes all Géigeniwwer tatsächlech benotzt
Liest d’éischt dem Daemon seng Siicht op d’Verbindung an duerno d’Resultat vun der Authentifizéierung, amplaz eng Ursaach aus der Feelerkette ze roden. D’Längt vergläichen ass eng séier Vernunftpréifung, well kodéierten Text méi laang ass wéi d’Bytes, déi en duerstellt. Duerno bestätegt, wéi eng Identitéitszeil gepasst huet, well e richtegt Geheimnis ënner dem falsche Géigeniwwer genau esou ausfällt wéi en falscht. D’Reihenfolg vun den Zeile entscheet dat: déi éischt Iwwereneestëmmung gewënnt, dofir ersetzt eng breet %any-Zeile no uewen stëll déi spezifesch Zeil, déi Dir just geännert hutt.
Luet nei, amplaz nei ze starten, wann d’Datei richteg ass. ipsec rereadsecrets frëscht d’Kopie vum IKE-Daemon op, an eng swanctl-Installatioun luet d’Identitéitsbeweiser mat hirem eegene Befehl. En Neistart verwërft all etabléiert Associatioun an zerstéiert de Verglach, deen Dir versicht hutt ze maachen.
Keng vun dëse Préifungen erfuerdert, d’Geheimnis ze weisen. Eng Längt, en Identitéitsselektor an eng Zeilpositioun erklären déi meescht Feeler vun dëser Aart, ier iergendeen en Hexdump brauch.
Ännert d’Datei, ouni d’Resultat ze verstoppen
Beschränkt d’Datei op dem Daemon säi Kont, a haalt lieweg Geheimnisser aus Ticketen, Chat a Screenshots eraus, well ee agetippte Schlëssel ass e Leck an net eng Diagnos. Et iwwerlieft och den Incident, deen en produzéiert huet.
Test vun engem Client, deem seng Konfiguratioun Dir kontrolléiert, bestätegt, datt d’Authentifizéierung geléngt, an duerno bestätegt, datt den Tunnel Traffic dréit. En Neistart, deen den Handshake fléckt, während d’Routing futti bleift, ass e anere Problem, an et gëtt siichtbar, soubal d’Geheimnis ophält sech ze bewegen.