IPsec unapred deljeni ključ: bajtovi iza niza koji ste upisali
Dve strane mogu imati nizove koji izgledaju identično i izvesti različite ključeve. Proverite tip polja, svako kodiranje i završne bajtove pre nego što bilo šta oslabite.
Dva administratora uporede tajnu na ekranu, slože se da se poklapa, a tunel ipak ne prolazi autentifikaciju. Niz koji su uporedili nije vrednost koju bilo koja strana unosi u izvođenje ključa. Između znakova koje vidite i bajtova koje protokol hešira nalaze se tip polja, tekstualno kodiranje, uređivač i međuspremnik, a bilo koji od ta četiri može promeniti unos bez promene izgleda. Uporedite bajtove i neslaganje se obično pokaže u sekundama.
Šta pristupnik radi sa nizom
Unapred deljeni ključ se ne šalje preko mreže i ne poredi. Svaka strana unosi svoju lokalnu kopiju u izvođenje ključa za IKE razmenu, a rezultujući korisni tereti autentifikacije ili prolaze proveru ili ne. Takav dizajn znači da dve kopije moraju biti bajt-identične, a ne vizuelno slične, i takođe znači da se greška prijavljuje u fazi autentifikacije, a ne kao poruka o pogrešnoj lozinci.
Zato korisno pitanje nikada nije „da li ovo izgleda isto“, već „koji tačan niz bajtova svaka implementacija hešira“.
Odakle dolaze dodatni bajtovi
Završni novi red je klasičan krivac i krije se naočigled jer većina uređivača ga nevidljivo dodaje prilikom čuvanja datoteke. Razmak na početku ili kraju zalijepljen iz prozora za razgovor čini isto, kao i pametni navodnik koji je program za obradu teksta zamenio pravim. Ništa od toga ne menja vizuelno poređenje koje obavlja čovek.
Uporedite alatom koji prikazuje bajtove, a ne glifove. printf '%s' "$PSK" | xxd | tail -2 ispisuje kraj vrednosti u heksadecimalnom obliku, gde je zalutali 0a ili 20 očigledan. Uradite to na oba kraja i uporedite dva ispisa jedan pored drugog. Radite to na generisanom testnom materijalu, a ne na produkcionoj tajni koju potom ostavljate u istoriji ljuske.
Kodirano nije šifrovano
Izvoz konfiguracije često nosi tajnu u osnovnom kodiranju, ponekad sa prelomima reda na svakih šezdeset ili sedamdeset i šest znakova, a ponekad sa dopunom. Ako jedan kraj očekuje dekodirane bajtove, a vi zalepite kodirani tekst, niste poslali drugu lozinku, poslali ste mnogo dužu lozinku sastavljenu od štampanih znakova. Base64 ne pruža nikakvu poverljivost, zbog čega se kodirana tajna nikada ne sme lepiti na forum za drugo mišljenje.
Appleov IPSec rečnik je koristan primer važnosti tipa: dokumentuje SharedSecret kao podatke za metod autentifikacije deljenom tajnom u korisnim teretima L2TP i Cisco IPsec. To je specifično svojstvo u specifičnom teretu, a ne opšte tekstualno polje koje možete ponovo koristiti za drugi protokol koji slučajno traži tajnu.
Tvrđena granica pripada jednoj kombinaciji
Stari izveštaji o gornjoj granici od trideset dva znaka na jednom Apple klijentu stvarni su izveštaji o jednoj verziji klijenta, protokolu i obliku profila. Oni nisu univerzalna granica za svaku Apple platformu, svakog provajdera i svaki protokol. Proverite verziju, tip tereta i zahtev pristupnika zajedno, pa testirajte na odobrenom rasporedu umesto da zaključujete iz teme. Zapišite testiranu kombinaciju u zapis o promenama, jer će se sledeća osoba inače pozvati na istu temu sa više pouzdanja nego što zaslužuje.
Ako se granica zaista primenjuje, odgovor je podržan dizajn vjerodajnica koji se uklapa, a ne skraćena verzija jake tajne. Skraćivanje produkcijskog ključa radi zadovoljenja pretpostavljene granice trajno smanjuje njegovu snagu i stvara sistem čija dokumentacija više ne odgovara njegovoj sigurnosti.
Ispravite prikaz, ne snagu
Kada autentifikacija ne uspe nakon što je prikaz potvrđen, pročitajte važeću politiku u fazi autentifikacije: koja se metoda pregovara, koji se identitet partnera očekuje i odgovara li pristupnik vezi koju mislite. Postepeno slabije pretpostavke nisu dijagnoza, one su sporo degradiranje sa priloženim zahtevom za podršku.
Ako tražene vjerodajnice ne mogu zadovoljiti standard organizacije, promenite dizajn na onaj koji može. Deljena tajna sa dovoljno entropije, generisana jednom, pohranjena u upravljanom polju i nikada objavljena, sasvim je dobar odgovor; njena kraća verzija nije.