Kaks administraatorit võrdlevad saladust ekraanil, nõustuvad, et see klapib, ja tunnel ei läbi ikkagi autentimist. String, mida nad võrdlesid, ei ole väärtus, mille kumbki pool võtme tuletamisse sisestab. Nähtavate tähemärkide ja baitide vahel, mida protokoll räsib, on välja tüüp, tekstikodeering, redaktor ja lõikelaud, ning ükskõik milline neist neljast võib sisendit muuta ilma selle välimust muutmata. Võrrelge baite ja lahknevus ilmneb tavaliselt sekundite jooksul.

Mida lüüs stringiga teeb

Eeljagatud võtit ei saadeta üle võrgu ja ei võrrelda. Kumbki pool sisestab oma kohaliku koopia IKE-vahetuse võtme tuletamisse ja saadud autentimise kasulikud koormused kas kontrollitakse või mitte. See disain tähendab, et kaks koopiat peavad olema baitha identne, mitte visuaalselt sarnane, ja see tähendab ka, et tõrge teatatakse autentimise etapis, mitte vale parooli teates.

Seega kasulik küsimus ei ole kunagi «kas need näevad ühesugused välja», vaid «millist täpset baitide jada iga implementatsioon räsib».

Kust lisabaidid tulevad

Lõpus olev reavahetus on klassikaline süüdlane ja peidab end silme all, sest enamik redaktoreid lisab faili salvestamisel nähtamatult ühe. Vestlusaknast kleepitud alguses või lõpus olev tühik teeb sama, samuti asendab tekstiredaktor sirge jutumärgi tüpograafilisega. Miski sellest ei muuda visuaalset võrdlust, mille inimene teeb.

Võrrelge tööriistaga, mis näitab baite, mitte glüüfe. printf '%s' "$PSK" | xxd | tail -2 trükib väärtuse lõpu kuueteistkümnendsüsteemis, kus eksinud 0a või 20 on ilmne. Tehke seda mõlemas otsas ja võrrelge kahte dumpi kõrvuti. Tehke seda genereeritud testmaterjalil, mitte tootmissaladusel, mille jätate seejärel shelli ajalukku.

Kodeeritud ei ole krüpteeritud

Konfiguratsiooni eksportides kantakse saladust sageli baaskodeeringus, mõnikord reavahetustega iga kuuekümne või seitsmekümne kuue tähemärgi järel ja mõnikord polsterdusega. Kui üks ots ootab dekodeeritud baite ja te kleepite kodeeritud teksti, ei ole te saatnud teistsugust parooli, vaid palju pikema trükitavatest tähemärkidest parooli. Base64 ei paku mingit konfidentsiaalsust, mistõttu ei tohi kodeeritud saladust kunagi foorumisse teise arvamuse saamiseks kleepida.

Apple’i IPSec-sõnastik on kasulik näide sellest, et tüüp loeb: see dokumenteerib SharedSecret andmetena jagatud saladusega autentimismeetodi jaoks L2TP ja Cisco IPsec kasulikes koormustes. See on konkreetne omadus konkreetses koormuses, mitte üldine tekstiväli, mida saate teise protokolli jaoks uuesti kasutada, mis juhtumisi saladust küsib.

Väidetud piirang kuulub ühele kombinatsioonile

Vanad teated kolmekümne kahe tähemärgi ülempiirist ühes Apple’i kliendis on tõelised teated ühe kliendiversiooni, protokolli ja profiilikuju kohta. Need ei ole universaalne piirang iga Apple’i platvormi, iga teenusepakkuja ja iga protokolli jaoks. Kontrollige versiooni, koormuse tüüpi ja lüüsi nõuet koos, seejärel testige kinnitatud lahendusel, mitte ärge tehke järeldusi lõimest. Kirjutage testitud kombinatsioon muudatuste registrisse, sest muidu viitab järgmine inimene samale lõimele suurema kindlusega, kui see väärib.

Kui piirang tõesti kehtib, on vastus toetatud mandaadikujundus, mis sellega sobib, mitte tugeva saladuse lühendatud versioon. Tootmisvõtme kärpimine oletatava piirangu rahuldamiseks vähendab selle tugevust jäädavalt ja loob süsteemi, mille dokumentatsioon ei vasta enam selle turvalisusele.

Parandage esitust, mitte tugevust

Kui autentimine ebaõnnestub pärast esituse kinnitamist, lugege autentimisetapis kehtivat poliitikat: millist meetodit läbiräägitakse, millist partneri identiteeti oodatakse ja kas lüüs vastab ühendusele, mida te arvate. Järjest nõrgemad oletused ei ole diagnoos, need on aeglane alandamine koos lisatud tugipiletiga.

Kui nõutav mandaat ei suuda organisatsiooni standardit täita, muutke kujundust selliseks, mis suudab. Piisava entroopiaga jagatud saladus, mis on üks kord genereeritud, hallatavas väljas hoitud ja kunagi avaldamata, on täiesti hea vastus; selle lühem versioon ei ole.

Seotud artiklid