Խմբի պարամետրերը նախագծմամբ հանրային են, և հենց այդ հանրայնությունն է դրանք հեշտ անտեսելի դարձնում։ Վերջավոր դաշտի Diffie-Hellman-ում մոդուլն ու գեներատորը համատեղ են, իսկ մասնավոր աստիճանացուցիչները և դրանցից ստացվող սեսիոն բանալիները՝ ոչ։ Թվային դաշտի մաղի հարձակման թանկ փուլը կախված է խմբից, ոչ թե մեկ փոխանակումից, ուստի ամենուր օգտագործվող մեկ թույլ խումբը դառնում է համատեղ պատասխանատվություն։ Պարամետրերը հանրային անվանելը ճշգրիտ է և էությանը չի վերաբերում, քանի որ կրկին օգտագործվող ծախսը հենց այդ խմբի վրա հարձակման ծախսն է։

Հանրային կեսը խոցելի կեսը չէ, և հենց այստեղ է թակարդը

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

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

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

Ինչ է նախահաշվարկը իրականում տալիս հարձակվողին

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

2015 թվականի Logjam աշխատանքը ցույց տվեց իջեցում 512 բիթանոց արտահանման մակարդակի Diffie-Hellman-ի և գնահատեց, թե ինչ կարժենա ավելի մեծ, լայնորեն կրկնակի օգտագործվող խմբերի վրա հարձակումը զգալի ռեսուրսներով։ Ցուցադրումը կոնկրետ էր, գնահատականները գնահատականներ էին, և ոչ մեկը ապացույց չէր, որ կոնկրետ VPN սեսիա ապակոդավորվել է։

Մեջբերեք աշխատանքը մեխանիզմի և ցուցադրված իջեցման համար, ոչ որպես ձեր տեղակայման չափում։ Հին վիճակագրությունն այն մասին, թե քանի սերվեր էր կիսում լռելյայն խումբը, նկարագրում է այդ տարվա ինտերնետը, ոչ թե ցանց, որը կարող եք ուսումնասիրել այսօր։ Օգտակար փոխանցվողը հարցն է. արդյոք ձեր սարքերը դեռ բանակցում են խումբ, որը փոքր է կամ թույլ վավերացված?

Ստանդարտացվածը նույնը չէ, ինչ թույլը

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

Երբ դրանց մասին մտածում եք, կոնստրուկցիաները առանձին պահեք։ Վերջավոր դաշտի Diffie-Hellman-ի մասին եզրակացությունը ոչինչ չի ասում X25519-ի մասին, և 1024 բիթանոց MODP խմբի մասին եզրակացությունը ոչինչ չի ասում 3072 բիթանոցի մասին։ Ուժի քաղաքականությունը մեխանիզմով, չափով և պրոտոկոլի տարբերակով է, դրա համար էլ ուժեղ գաղտնագրություն արտահայտությունը վերանայելի պնդում չէ։

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

Կարդացեք բանակցված խումբը իրական կապի վրա

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

Գրանցեք այդ տողը քաղաքականության փոփոխությունից առաջ և հետո, և երկուսն էլ պահեք փոփոխության գրառման մեջ։ Համեմատությունն է ապացույցը։

ipsec statusall | grep -Ei "proposal|ESP|IKE"
openssl dhparam -in /etc/vpn/dh3072.pem -check -noout

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

Ստուգեք խումբը և գործընկերոջ ինքնությունը առանձին

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

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

ipsec statusall | grep -Ei "peer|auth|cert"
openssl s_client -connect vpn.acme.example:443 -brief -cipher 'DHE-RSA-AES256-GCM-SHA384'

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

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