Dva skrbnika primerjata skrivnost na zaslonu, se strinjata, da se ujema, in tunel vseeno ne prestane preverjanja pristnosti. Niz, ki sta ga primerjala, ni vrednost, ki jo kateri koli konec vnese v izpeljavo ključa. Med znaki, ki jih vidite, in bajti, ki jih protokol zgoščuje, so vrsta polja, besedilno kodiranje, urejevalnik in odložišče, in katera koli od teh štirih lahko spremeni vnos, ne da bi spremenila videz. Primerjajte bajte in neskladje se običajno pokaže v nekaj sekundah.

Kaj prehod počne z nizom

Vnaprej deljeni ključ se ne pošilja po omrežju in ne primerja. Vsaka stran vnese svojo lokalno kopijo v izpeljavo ključa za izmenjavo IKE, in nastale koristne obremenitve preverjanja pristnosti se bodisi preverijo bodisi ne. Takšna zasnova pomeni, da morata biti kopiji bajtno identični, ne le vizualno podobni, in pomeni tudi, da se napaka sporoči v fazi preverjanja pristnosti, ne pa kot sporočilo o napačnem geslu.

Zato koristno vprašanje nikoli ni „ali sta videti enako“, ampak „katero natančno zaporedje bajtov zgoščuje vsaka izvedba“.

Od kod prihajajo dodatni bajti

Končna nova vrstica je klasičen krivec in se skriva na očeh, ker večina urejevalnikov ob shranjevanju datoteke nevidno doda eno. Presledek na začetku ali koncu, prilepljen iz okna za klepet, naredi isto, prav tako pa tudi tipografska narekovaj, ki ga je besedilni procesor zamenjal z ravnim. Nič od tega ne spremeni vizualne primerjave, ki jo opravi človek.

Primerjajte z orodjem, ki prikazuje bajte in ne glifov. printf '%s' "$PSK" | xxd | tail -2 izpiše konec vrednosti v šestnajstiškem zapisu, kjer je zablodel 0a ali 20 očiten. Naredite to na obeh koncih in primerjajte izpisa drug ob drugem. Delajte to na ustvarjenem testnem gradivu, ne na produkcijski skrivnosti, ki jo nato pustite v zgodovini lupine.

Kodirano ni šifrirano

Izvoz konfiguracije pogosto nosi skrivnost v osnovnem kodiranju, včasih s prelomi vrstic vsakih šestdeset ali šestinsedemdeset znakov, včasih z zapolnitvijo. Če en konec pričakuje dekodirane bajte, vi pa prilepite kodirano besedilo, niste poslali drugačnega gesla, poslali ste veliko daljše geslo iz natisljivih znakov. Base64 ne zagotavlja nobene zaupnosti, zato kodirane skrivnosti nikoli ne smete prilepiti na forum za drugo mnenje.

Applov slovar IPSec je koristen primer, da je vrsta pomembna: dokumentira SharedSecret kot podatke za metodo preverjanja pristnosti z deljeno skrivnostjo v koristnih obremenitvah L2TP in Cisco IPsec. To je posebna lastnost v posebni obremenitvi, ne splošno besedilno polje, ki ga lahko znova uporabite za drug protokol, ki slučajno zahteva skrivnost.

Zatrjevana meja pripada eni kombinaciji

Stara poročila o zgornji meji dvaintridesetih znakov pri enem odjemalcu Apple so resnična poročila o eni različici odjemalca, protokolu in obliki profila. Niso univerzalna meja za vsako platformo Apple, vsakega ponudnika in vsak protokol. Preverite različico, vrsto obremenitve in zahtevo prehoda skupaj, nato preizkusite v odobreni postavitvi, namesto da sklepate iz niti. Zapišite preizkušeno kombinacijo v evidenco sprememb, sicer bo naslednja oseba citirala isto nit z več zaupanja, kot si ga zasluži.

Če meja res velja, je odgovor podprta zasnova poverilnic, ki se vanjo ujame, ne skrajšana različica močne skrivnosti. Skrajšanje produkcijskega ključa, da bi zadostili domnevni meji, trajno zmanjša njegovo moč in ustvari sistem, katerega dokumentacija se ne ujema več z njegovo varnostjo.

Popravite predstavitev, ne moči

Ko preverjanje pristnosti spodleti potem, ko je predstavitev potrjena, preberite veljavno politiko v fazi preverjanja pristnosti: katera metoda se pogaja, katera identiteta partnerja se pričakuje in ali prehod ustreza povezavi, ki jo mislite. Postopoma šibkejše ugibanje ni diagnoza, to je počasno zniževanje s priloženo zahtevo za podporo.

Če zahtevane poverilnice ne morejo izpolniti standarda organizacije, spremenite zasnovo v tisto, ki ga lahko. Deljena skrivnost z dovolj entropije, ustvarjena enkrat, shranjena v upravljanem polju in nikoli objavljena, je popolnoma dober odgovor; njena krajša različica ni.

Sorodni članki