OpenVPN առանց CA-ի. ինչպես է peer-fingerprint-ը ստուգում գործընկերներին
Մատնահետքը ամրակցում է մեկ սերտիֆիկատ, ոչ թե ընդհանուր գաղտնիք։ Տեսեք, թե ինչ է ընդգրկում համառոտումը, ինչպես է յուրաքանչյուր կողմ կառուցում իր թույլատրածների ցանկը և ինչ արժե նորացումը։
Փոքր տեղակայումը դիմում է մատնահետքերին, քանի որ վկայագրերի իշխանությունը թվում է ենթակառուցվածք, որի համար ոչ ոք ժամանակ չունի։ Բնազդը ողջամիտ է, բայց այն կարճ ճանապարհը, որ մարդիկ փոխարենը ընտրում են՝ մեկ տվյալների ալիքի գաղտնիքը երկու ծայրերին պատճենելը, այդպիսին չէ։ peer-fingerprint կարգավորումը պահում է TLS կառուցվածքը անձեռնմխելի՝ յուրաքանչյուր կողմ դեռ ունի իր սեփական մասնավոր բանալին և սերտիֆիկատը, և յուրաքանչյուր կողմ դեռ ստուգում է մյուսին։ Փոխվում է այն, թե որտեղ է խարսխված ստուգումը՝ վստահելի թողարկողից մինչև ամրակցված համառոտումների կարճ ցանկ։ Քանի որ համառոտումը ընդգրկում է ամբողջ սերտիֆիկատը, այլ ոչ թե անուն, նորացումը դառնում է այն գործողությունը, որն իսկապես ժամանակ է խլում։
Ինչի՞ն է մատնահետքը իրականում պարտավորվում
Սերտիֆիկատի մատնահետքը DER-ով կոդավորված ամբողջ սերտիֆիկատի համառոտումն է, ոչ նրա հանրային բանալու և ոչ նրա սուբյեկտի անվան։ Այդ պատճառով նույն անուններով և նույն բանալիով, սակայն տարբեր վավերականության ամսաթվերով երկու սերտիֆիկատ ունեն տարբեր մատնահետքեր։ Հենց դա է ամրակցումը դարձնում ճշգրիտ, և հենց դա էլ նորացումը դարձնում է խանգարող։ Ամրակցումը չի կարող նշանակել ընդհանուր առմամբ բանալու վստահում, քանի որ այն անվանում է մեկ առարկա իր կյանքի մեկ պահին։ Ցանկացած ոք կարող է իմանալ համառոտումը, և այն իմանալն ինքնին ոչինչ չի ապացուցում։
openssl x509 -in server.crt -noout -fingerprint -sha256
openssl x509 -in client-07.crt -noout -fingerprint -sha256
Համապատասխան մասնավոր բանալու տիրապետումն է, որ ապացուցում է, թե գործընկերը տիրապետում է այդ սերտիֆիկատին, իսկ համառոտումը այն միջոցն է, որով մյուս կողմը որոշում է՝ արդյոք ընդհանրապես սպասել է այդ սերտիֆիկատին։ Այդ բաժանումն է պատճառը, թե ինչու այս ձևավորումը հին համատեղ գաղտնիքի կարգը չէ՝ համատեղ բանալին վավերացնում է ցանկացածին, ով գիտի նույն բայթերը, մինչդեռ ամրակցումը վավերացնում է մեկ սերտիֆիկատ։ Այլ սարք ստանում է իր սեփական գրառումը, ոչ թե նույն գաղտնիքի պատճենը, ինչը փոքր տարբերություն է ֆայլերում և մեծ՝ վնասի ծավալում։
Քարտեզը փոխադարձ է, ոչ համաչափ
Յուրաքանչյուր ծայրակետի պետք է երկու բան՝ իր մասնավոր բանալին սերտիֆիկատի հետ և հայտարարություն այն մասին, թե որ գործընկերների սերտիֆիկատները կընդունի։ Հաճախորդի մոտ այդ հայտարարությունը սերվերի սերտիֆիկատի համառոտումն է, իսկ սերվերի մոտ՝ գրանցված հաճախորդների համառոտումների ցանկը։ Community 2.6-ի համար փոքր կարգավորման պաշտոնական օրինակը ցույց է տալիս դասավորությունը peer-fingerprint-ի հետ, և արժե կարդալ այն նախքան իրական տեղակայման համար այս վստահության մոդելն ընտրելը։ Երկու ուղղությունները մեկ շրջված ցանկ չեն, և դրանք չեն ձախողվում նույն պահին։
| Verification direction | What is pinned | What never leaves that endpoint | How a wrong pin shows up |
|---|---|---|---|
| Client checks the server | One digest, for the server certificate | The server private key | The client aborts during the TLS handshake |
| Server checks the client | A digest per enrolled client | Each client private key | The server rejects the peer before a tunnel exists |
Սարք ավելացնելը խմբագրում է սերվերի թույլատրվածների ցանկը՝ առանց գործող հաճախորդի մասնավոր նյութը պատճենելու և առանց սերվերի բանալին որևէ տեղ տեղափոխելու։ Երկու ուղղությունները նույնպես ձախողվում են ինքնուրույն, ինչը օգտակար է ախտորոշման ժամանակ՝ որ կողմն է փակում ձեռքսեղմումը, այն կողմն է, ում սպասումը չի իրականացել։ Եթե հաճախորդը մերժում է սերվերին, համառոտումը չի համապատասխանում ներկայացված սերտիֆիկատին։ Եթե սերվերը մերժում է հաճախորդին, այդ հաճախորդի համառոտումը բացակայում է ցանկում, կամ հաճախորդը ներկայացնում է գրանցվածից տարբեր սերտիֆիկատ։
Գրանցում. ինչպես է միանում նոր սարքը
Ստեղծեք նոր սարքի բանալին և սերտիֆիկատը այնտեղ, որտեղ կապրի մասնավոր բանալին, ապա տեղափոխեք միայն հանրային առարկան այն կողմ, որը պետք է ամրակցի այն։ Փոխանցեք սպասվող համառոտումը մի ալիքով, որին արդեն վստահում եք, և համեմատեք ամբողջ սերտիֆիկատը, այլ ոչ թե ծանոթ թվացող անուն։ Սերտիֆիկատի հետ նույն չստուգված ներբեռնումից պատճենված համառոտումը ապացուցում է միայն, որ երկու ֆայլերը համապատասխանում են միմյանց։ Սա հետևողականության ստուգում է, ոչ ինքնության ստուգում, և սա է ամենահանգիստ ձևը, որով այս ձևավորումը թուլանում է։
Սերվերի վրա համառոտում ավելացնելը կազմաձևման փոփոխություն է, որն անցնում է սովորական կառավարիչով և դրան հաջորդում է վերամիացում։ Հաստատեք, որ նոր սարքը միանում է, և որ սարքը, որի համառոտումը հեռացվել է, այլևս չի միանում։ Թեստը, որը ծածկում է միայն դրական դեպքը, թողնում է թույլատրվածների ցանկը չստուգված, և դա հենց այն վիճակն է, որում դուք կլինեք վեց ամիս անց։
Նորացումը թանկ պահն է
Յուրաքանչյուր սերտիֆիկատ սպառվում է, և նոր սերտիֆիկատն ունի նոր համառոտում նույնիսկ այն դեպքում, երբ բանալին և անունները մնում են նույնը։ Թողարկողի ներքո նորացումը թափանցիկ է այն գործընկերների համար, ովքեր վստահում են այդ թողարկողին, իսկ ամրակցման ներքո այն գրանցման իրադարձություն է յուրաքանչյուր գործընկերոջ համար, ով ամրակցում է սերտիֆիկատը։
Պլանավորեք հերթականությունը ժամկետի ավարտից առաջ, ոչ թե հետո։ Բաշխեք նոր համառոտումը այն կողմերին, ովքեր ստուգում են այն, կիրառեք փոփոխությունը, և միայն դրանից հետո փոխարինեք սերտիֆիկատը ծայրակետում։ Այդ հերթականությունը պատուհան չի թողնում, որտեղ երկու կողմերը համաձայն չեն, թե որ սերտիֆիկատն է ընթացիկ։ Պահեք նաև ցանկն ինքը վերանայման տակ, քանի որ ամրակցված ցանկը կուտակում է ամիսներ առաջ շարքից հանված սարքերի գրառումներ։ Յուրաքանչյուր հնացած գրառում ինքնություն է, որը դեռ վավերացվում է, եթե նրա բանալին գոյատևի, ուստի մեկը հեռացնելը անվտանգության գործողություն է, ոչ թե մաքրություն։
Ինչը վստահության քարտեզը չի որոշում
Վավերացումը մեկ շերտ է, և ամրակցված քարտեզը ոչինչ չի ասում հասցեների լողավազանի, մղվող երթուղիների, ուղու MTU-ի կամ firewall-ի քաղաքականության մասին։ Դրանք մնում են առանձին կազմաձևում՝ առանձին խափանման եղանակներով։ Թունելը, որը վավերացվում է և ոչ մի երթևեկություն չի անցկացնում, այլ հետազոտություն է, քան այն, որը երբեք չի բարձրանում։
Քարտեզը նույնպես անսահման չի մասշտաբավորվում, և թողարկողի վրա հիմնված PKI-ն այն տեղն է, ուր հասնում են ավելի մեծ տեղակայումները։ Այդ նախապատվությունը գործառնության մասին է, ոչ կրիպտոգրաֆիայի, քանի որ մեկ իշխանության միջոցով ինքնություններ ավելացնելն ու հեռացնելը ավելի էժան է, քան ամեն գործընկերոջ մոտ ցանկը խմբագրելը, երբ նավատորմը մեծանում է։ Այնտեղ, որտեղ հաճախորդի իրականացումը չի աջակցում այս տարբերակին, պատասխանը համատեղելի վստահության մոդելն է, որը այդ հաճախորդը փաստաթղթավորում է, կամ աջակցվող փոխարինումը։ Ստուգման նախազգուշացումը ճնշելը չի ավելացնում այդ աջակցությունը, և ձևավորման ողջ արժեքը նրանում է, որ ստուգումը դեռ տեղի է ունենում։