Sobes.tech
Junior

Ի՞նչ բանալիներ են փոխանցվում սերվերից հաճախորդին:

sobes.tech AI

Պատասխան AI-ից

Վերնագիրն անհրաժեշտ չէ կանոնների համաձայն:

Սերվերից հաճախորդին կարող են փոխանցվել տարբեր բանալիներ՝ կախված կոնտեքստից և օգտագործվող պրոտոկոլից: Հիմնական տեսակների բանալիներ, որոնք կարող են փոխանցվել կամ համաձայնեցվել՝

  1. Հանրային բանալիներ: Ասիմետրիկ կրիպտոգրաֆիայում սերվերը կարող է փոխանցել իր հանրային բանալինը հաճախորդին: Սա օգտագործվում է՝

    • տվյալների կոդավորումը հաճախորդի կողմից, որը միայն սերվերը (պատասխանատու մասնավոր բանալինով) կարող է դեկոդավորել:
    • թվային ստորագրության ստացումը, որը ստեղծվել է սերվերից՝ օգտագործելով նրա մասնավոր բանալին:
  2. Սեսիայի նույնականացուցիչներ (Session IDs) / Սեսիայի տոքեններ (Session Tokens): Սա ոչ կրիպտոգրաֆիկ բանալիներ են, բայց խաղում են սեսիայի նույնականացման դեր՝ օգտագործողի։ Սերվերը ստեղծում է յուրահատուկ նույնականացուցիչ՝ հաճախորդի նույնականացման հետո և ուղարկում նրան (հաճախ cookie-ով): Հաճախորդը այդ ID-ն ներառում է հաջորդ հարցումներում՝ սեսիայի վիճակը պահպանելու համար:

  3. Սիմետրիկ կոդավորման բանալիներ: Թեև սիմետրիկ բանալիները հազվադեպ փոխանցվում են բաց կերպով, դրանք հաճախ գեներացվում կամ համաձայնեցվում են պաշտպանված կապի հաստատման ընթացքում (օրինակ՝ TLS/SSL պրոտոկոլներով): Սերվերը և հաճախորդը կարող են օգտագործել Դիֆի-Հելման պրոտոկոլը կամ նրա տարբերակները՝ ապահովելու ընդհանուր սիմետրիկ բանալու համաձայնեցումը առանց դրա ուղիղ փոխանցման: Այս սիմետրիկ բանալին օգտագործվում է ամբողջ տրաֆիկի կոդավորումը սեսիայի ընթացքում:

  4. Անհատականացման և թույլտվության տոքեններ (օրինակ՝ JWT): Սերվերը կարող է տրամադրել հաճախորդին տոքեն (օրինակ՝ JSON Web Token)՝ հաջողված նույնականացմանից հետո: Այս տոքենը պարունակում է օգտվողի և նրա իրավունքների մասին տեղեկատվություն: Հաճախորդը այդ տոքենը փոխանցում է սերվերին՝ յուրաքանչյուր հարցումով՝ իր անձը և իրավունքները հաստատելու համար: Թեև տոքենը չի հանդիսանում կրիպտոգրաֆիկ բանալին, այն ստորագրված կամ կոդավորված է օգտագործելով միայն սերվերին հայտնի բանալիներով:

  5. API բանալիներ / Հաճախորդի գաղտնի բանալիներ: Որոշ ճարտարապետություններում սերվերը կարող է տրամադրել հաճախորդին (օրինակ՝ մոբայլ հավելվածին կամ այլ ծառայությանը) ստատիկ API բանալին կամ գաղտնի բանալին՝ հարցումների նույնականացման մասի համար: Սակայն սա ավելի քիչ անվտանգ է հաճախորդային ծրագրերի համար, քանի որ բանալին կարող է արտահոսել:

  6. Վկայականներ: Սերվերը փոխանցում է իր SSL/TLS վկայականը հաճախորդին՝ պաշտպանված կապի հաստատման սկզբում: Վկայականը պարունակում է սերվերի հանրային բանալին և ստորագրված է վստահելի CA-ով: Հաճախորդը օգտագործում է վկայականը՝ սերվերի օրինականությունը ստուգելու և նրա հանրային բանալին ստանալու համար:

Օրինակ՝ հանրային բանալի օգտագործումը HTTPS/TLS կոնտեքստում՝

  1. Հաճախորդը սկսում է TLS-համբերություն:
  2. Սերվերը ուղարկում է իր վկայականը, որը պարունակում է սերվերի հանրային բանալին:
  3. Հաճախորդը ստուգում է վկայականը՝ վստահության շղթայով, ժամկետով և այլն, և ստանում է սերվերի հանրային բանալին:
  4. Հաճախորդը գեներացնում է ժամանակավոր սիմետրիկ սեսիայի բանալին:
  5. Հաճախորդը կոդավորում է այս սիմետրիկ բանալին՝ օգտագործելով սերվերի հանրային բանալին:
  6. Հաճախորդը ուղարկում է կոդավորված սիմետրիկ բանալին սերվերին:
  7. Սերվերը դեկոդավորում է սիմետրիկ բանալին՝ օգտագործելով իր մասնավոր բանալին:
  8. Հետագա տվյալների փոխանակումը կոդավորվում և դեկոդավորվում է այս համաձայնեցված սիմետրիկ բանալով:

Կետեր՝

  • Սկզբնական գաղտնի/մասնավոր բանալիների ուղիղ փոխանցումը սերվերից հաճախորդին՝ շատ չեն խորհուրդ տրվում անվտանգության նկատառումներից ելնելով:
  • Ամենից հաճախ սերվերը փոխանցում է հանրային բանալիներ, սեսիայի նույնականացուցիչներ, տոքեններ կամ մասնակցում է սիմետրիկ բանալիների համաձայնեցմանը:
  • կոնկրետ բանալիների օգտագործումը կախված է սցենարից՝ (հաստատում, կոդավորում, սեսիայի պահպանություն և այլն):