IPsec унапред дељени кључ: бајтови иза низа који сте уписали
Две стране могу имати низове који изгледају идентично и извести различите кључеве. Проверите тип поља, свако кодирање и завршне бајтове пре него што било шта ослабите.
Два администратора упореде тајну на екрану, сложе се да се подудара, а тунел ипак не пролази аутентификацију. Низ који су упоредили није вредност коју било која страна уноси у извођење кључа. Између знакова које видите и бајтова које протокол хешира налазе се тип поља, текстуално кодирање, уређивач и међуспремник, а било који од та четири може променити унос без промене изгледа. Упоредите бајтове и неслагање се обично покаже у секундама.
Шта пролаз ради са низом
Унапред дељени кључ се не шаље преко мреже и не пореди. Свака страна уноси своју локалну копију у извођење кључа за IKE размену, а резултујући корисни терети аутентификације или пролазе проверу или не. Такав дизајн значи да две копије морају бити бајт-идентичне, а не визуелно сличне, и такође значи да се грешка пријављује у фази аутентификације, а не као порука о погрешној лозинци.
Зато корисно питање никада није „да ли ово изгледа исто“, већ „који тачан низ бајтова свака имплементација хешира“.
Одакле долазе додатни бајтови
Завршни нови ред је класичан кривац и крије се наочиглед јер већина уређивача га невидљиво додаје приликом чувања датотеке. Размак на почетку или крају залепљен из прозора за разговор чини исто, као и паметан наводник који је програм за обраду текста заменио правим. Ништа од тога не мења визуелно поређење које обавља човек.
Упоредите алатом који приказује бајтове, а не глифове. printf '%s' "$PSK" | xxd | tail -2 исписује крај вредности у хексадецималном облику, где је залутали 0a или 20 очигледан. Урадите то на оба краја и упоредите два исписа један поред другог. Радите то на генерисаном тестном материјалу, а не на производној тајни коју потом остављате у историји љуске.
Кодирано није шифровано
Извоз конфигурације често носи тајну у основном кодирању, понекад са преломима реда на сваких шездесет или седамдесет и шест знакова, а понекад са допуном. Ако један крај очекује декодиране бајтове, а ви залепите кодирани текст, нисте послали другу лозинку, послали сте много дугу лозинку састављену од штампаних знакова. Base64 не пружа никакву поверљивост, због чега се кодирана тајна никада не сме лепити на форум за друго мишљење.
Appleov IPSec речник је користан пример важности типа: документује SharedSecret као податке за метод аутентификације дељеном тајном у корисним теретима L2TP и Cisco IPsec. То је специфично својство у специфичном терету, а не опште текстуално поље које можете поново користити за други протокол који случајно тражи тајну.
Тврђена граница припада једној комбинацији
Стари извештаји о горњој граници од тридесет два знака на једном Apple клијенту стварни су извештаји о једној верзији клијента, протоколу и облику профила. Они нису универзална граница за сваку Apple платформу, сваког провајдера и сваки протокол. Проверите верзију, тип терета и захтев пролаза заједно, па тестирајте на одобреном распореду уместо да закључујете из теме. Запишите тестирану комбинацију у запис о променама, јер ће се следећа особа иначе позвати на исту тему са више поуздања него што заслужује.
Ако се граница заиста примењује, одговор је подржан дизајн акредитива који се уклапа, а не скраћена верзија јаке тајне. Скраћивање производног кључа ради задовољења претпостављене границе трајно смањује његову снагу и ствара систем чија документација више не одговара његовој безбедности.
Исправите приказ, не снагу
Када аутентификација не успе након што је приказ потврђен, прочитајте важећу политику у фази аутентификације: која се метода преговара, који се идентитет партнера очекује и одговара ли пролаз вези коју мислите. Постепено слабије претпоставке нису дијагноза, оне су споро деградирање са приложеним захтевом за подршку.
Ако тражени акредитиви не могу да задовоље стандард организације, промените дизајн на онај који може. Дељена тајна са довољно ентропије, генерисана једном, сачувана у управљаном пољу и никада објављена, сасвим је добар одговор; њена краћа верзија није.