Մեկ հաճախորդ նույնականացվում է ընդհանուր բանալիով, իսկ մյուսը մերժում է այն, թեև ձեր տեղադրած նշանները երկու կողմերում նույնն են երևում։ Հավանաբար դրանք նույն նշաններն են. տարբերությունը նրանում է, թե ֆայլը նրանց նկատմամբ որ վերծանման կանոնն է կիրառում։ Չակերտների մեջ դրված տողը վերցվում է բառացի, 0x-ով սկսվող նշանը կարդացվում է որպես տասնվեցական, իսկ 0s-ով սկսվող նշանը՝ որպես Base64։ Այս երեք գրելաձևերից միայն մեկն է նշանակում այն, ինչ դուք նկատի ունեիք, ուստի ուղղումը սովորաբար փոխակերպում է, ոչ թե ավելի լավ գաղտնաբառ։

Ախտանիշը մատնանշում է կոդավորումը, ոչ թե ծածկագրերը

Երբ երկու ծայրերը տարբեր բայթեր են պահում, բանակցությունը դեռ հաջողվում է, իսկ ապացույցը ձախողվում է դրանից հետո։ Այնուհետև մատյանը հայտնում է ամբողջականության կամ HMAC խափանման մասին՝ ալգորիթմի անհամապատասխանության փոխարեն, որովհետև առաջարկ է ընտրվել, և նույնականացման քայլը չի համապատասխանել։ Այդ տողը երբեք չի հիշատակում գաղտնիքի ձևը։

Փուլն է հուշումը։ Ընտրված առաջարկից հետո եկող խափանումը նշանակում է, որ երկու կողմերը համաձայնել են ամեն ինչում, բացի բանալու նյութից, մինչդեռ «առաջարկ չի ընտրվել»-ը վերաբերում է քաղաքականությանը կամ ծածկագրերի հավաքածուներին։ Ամբողջականության ստուգումը, որը ձախողվում է, երբ գաղտնաբառը ճիշտ է թվում, կոդավորման անհամապատասխանության տեսանելի դեմքն է։

Մեկ գաղտնիք, երեք եղանակ, որոնցով ֆայլը կարող է կարդալ այն

Չորս բայթանոց key1 արժեքի համար տասնվեցականը և Base64-ը նույն բայթերի երկու վերակոդավորում են, և միայն սկզբնական նշաններն են ասում վերլուծիչին, թե որն է նա պահում։ swanctl-ի հավատարմագրերը հետևում են նույն պայմանականությանը, ուստի երկու միջերեսների միջև տեղափոխված արժեքը պահպանում է իմաստը միայն այն դեպքում, երբ նրա նախածանցը ճամփորդում է նրա հետ։

10.20.0.5 %any : PSK "key1"
10.20.0.5 %any : PSK 0x6b657931
10.20.0.5 %any : PSK 0sa2V5MQ==

Այդ բլոկի երկու մանրամասներն են ամենաշատ ժամանակը խլում։ Տասնվեցական թվանշաններն ընդունում են երկու գրանցաձևը, ուստի 0x6b657931 և 0x6B657931 նույն արժեքն են, սակայն կենտ թվով նշանները լուռ սխալ են կարդացվում՝ մերժվելու փոխարեն, ինչը տեղաշարժում է կտրվածքից հետո յուրաքանչյուր բայթ։ Base64-ի լրացումը արժեքի մասն է, ուստի իր վերջին = նշաններից առանց տեղադրված տողը վերծանվում է այլ բայթերի, փոխարենը բարձրաձայն ձախողվելու։

Այն պրոֆիլը, որը մեկ անգամ վերծանել է արժեքը, արդեն փոխակերպել է այն, ուստի կրկին վերծանելը տալիս է այլ բայթեր և նույնականացման խափանում, որը կարդացվում է որպես սխալ գաղտնաբառ։ Չակերտները անվտանգ ուղղությունն են ամեն երկիմաստ բանի համար, որովհետև բովանդակությունը բառացի է նույնիսկ այն ժամանակ, երբ սկսվում է կոդավորման նշիչով։

Որտեղից է գալիս Base64 տեքստը

Պրոֆիլի արտահանումները և մատակարարների պորտալները հաճախ բանալին արդեն կոդավորված են հանձնում, սովորաբար տվյալների դաշտում, որը երբեք ձեռքով մուտքագրելու համար չի նախատեսվել։ Կա՛մ բացեք այդ արժեքը և վերծանված տեքստը պահեք չակերտների մեջ, կա՛մ թողեք այն կոդավորված՝ նշիչը առջևում։ Երկուսից կեսն անելն է, ինչը կոտրում է։ Երկու ուղիներն էլ աշխատում են միայն այն դեպքում, երբ ամբողջ արժեքը վերապրում է պատճենումը։

Երկու ուղղություններն էլ մեկական հրահանգ են, և արժե դրանք պահել տոմսում որպես պահված արժեքը ստեղծած ճշգրիտ գործողություն։ Գործարկեք դրանք այս հերթականությամբ՝

printf '%s' 'a2V5MQ==' | base64 -d
printf '%s' 'key1' | base64

Կոդավորված տեքստը որպես սովորական տեղադրելը թանկ սխալն է։ Ֆայլը հեշավորում է նշանները ճիշտ այնպես, ինչպես գրված են, ածանցյալ բանալին դուրս է գալիս մոտավորապես մեկ երրորդով ավելի երկար, քան գործընկերը հաշվարկածը, և ամեն փորձ ձախողվում է նույն կերպ՝ առանց նախազգուշացման, որովհետև վերլուծիչը հետևել է իրեն տրված կանոնին։

Հաստատեք, թե յուրաքանչյուր գործընկեր իրականում որ բայթերն է օգտագործում

Նախ կարդացեք դեմոնի տեսակետը կապի մասին, ապա՝ նույնականացման արդյունքը, փոխարենը սխալի տողից պատճառ գուշակելու։ Պահված երկարությունը համեմատելը արագ ողջամտության ստուգում է, որովհետև կոդավորված տեքստն ավելի երկար է, քան այն բայթերը, որ ներկայացնում է։ Այնուհետև հաստատեք, թե որ ինքնության տողն է համապատասխանել, որովհետև սխալ գործընկերոջ տակ պահված ճիշտ գաղտնիքը ձախողվում է ճիշտ այնպես, ինչպես սխալը։ Տողերի հերթականությունն է դա որոշում. առաջին համընկնումը հաղթում է, ուստի վերևի մոտ գտնվող լայն %any տողը լուռ փոխարինում է հենց նոր խմբագրած կոնկրետ տողին։

Վերաբեռնեք, այլ ոչ թե վերագործարկեք, երբ ֆայլը ճիշտ է։ ipsec rereadsecrets թարմացնում է IKE դեմոնի պատճենը, իսկ swanctl տեղադրումը հավատարմագրերը բեռնում է իր սեփական հրահանգով։ Վերագործարկումը գցում է յուրաքանչյուր հաստատված միավորում և ոչնչացնում այն համեմատությունը, որը դուք փորձում էիք անել։

Այս ստուգումներից ոչ մեկը գաղտնիքի բացահայտում չի պահանջում։ Երկարությունը, ինքնության ընտրիչը և տողի դիրքը բացատրում են այս տեսակի խափանումների մեծ մասը, նախքան որևէ մեկին տասնվեցական արտածում պետք կգա։

Փոխեք ֆայլը՝ չթաքցնելով արդյունքը

Սահմանափակեք ֆայլը դեմոնի հաշվով և կենդանի գաղտնիքները հեռու պահեք տոմսերից, զրույցից և էկրանի նկարներից, որովհետև տեղադրված բանալին արտահոսք է, ոչ թե ախտորոշում։ Այն նաև ավելի երկար է ապրում, քան այն միջադեպը, որ ստեղծել է այն։

Փորձարկեք այնպիսի հաճախորդից, որի կարգավորումը ձեր վերահսկողության տակ է, հաստատեք, որ նույնականացումը հաջողվում է, ապա հաստատեք, որ թունելը տրաֆիկ է տեղափոխում։ Վերաբեռնումը, որը շտկում է ձեռքսեղմումը, մինչ երթուղավորումը մնում է կոտրված, այլ խնդիր է, և այն տեսանելի է դառնում հենց գաղտնիքը դադարում է շարժվել։

Առնչվող հոդվածներ