HTTPS

Վիքիպեդիայից՝ ազատ հանրագիտարանից
HTTPS
ՀապավումHTTPS
Տեսակցանցային արձանագրություն
ԸնտանիքTCP/IP
Ստեղծման ամսաթիվ1994
Պորտ443[1], 443[2] և 443[2]
ՀատկություններRFC 2818
ԳործակալներGoogle Chrome, Microsoft Edge, Օպերա, Mozilla Firefox և այլն
ՍերվերներApache, IIS, nginx, Google Web Server և այլն
 HTTPS Վիքիպահեստում

HTTPS հիպերտեքստի փոխանակման անվտանգ պրոտոկոլ (անգլ.՝ Hypertext Transfer Protocol Secure) համակարգչային ցանցի համար նախատեսված հաղորդակցության պրոտոկոլ, որը հատկապես ծրագրային ծավալում է համացանցում։ Տեխնիկապես սա պրոտոկոլ է, որը իր բնույթով հաղորդակարգ չէ, այլ արդյունք է հիպերտեքստի փոխանակման պրոտոկոլի (HTTPSSL/TLS անվտանգության շերտավորման վրա OSI շերտավորման, այսպիսով ավելացնելով SSL/TLS անվտանգության ստանդարտը HTTP հաղորդակցությանը։ HTTPS պրոտոկոլի հիմնական նպատակն է խուսափելու գաղտնալսումներից, տվյալների կորզումների նպատակով իրականացվող հարձակումներից։

HTTPS չի համարվում առանձին պրոտոկոլ։ Այն գործում է սովորական HTTP պրոտոկոլի հիման վրա, պարզապես օգտագործելով փոխանցումների կոդավորված SSL և TLS մեխանիզմներ։

HTTPS պրոտոկոլի անվտանգությունը ընկած է TLS հիմքում, որը օգտագործում է բաց և գաղտնի բանալիներ, կոդավորելու սպասառուի և սերվերի միջև տվյալների հոսքը՝ փոխակերպելով կարճաժամկետ բանալիները։ Կարևոր հատկություն է այն, որ կարճաժամկետ բանալիները չեն կարող փոխանցվել երկարաժամկետ ասիմետրիկ բանալիներից, բայց անվտանգության կատարելագործված տեխնոլոգիաները (անգլ.՝ perfect forward secrecy (PFS)) լայն տարածում չունեն[3]։ X.509 սերտիֆիկատները երաշխավորում են որ խոսողը խոսում է միայն այն մարդու հետ, ում հետ ցանկանում է։ Որպես հետևություն՝ անհրաժեշտ են նույնականացման սերտիֆիկատներ և բաց բանալիների ինֆրահամակարգ, որը կհաստատի սերտիֆիկատի և դրա տիրոջ միջև կապը, ինչպես նաև կգեներացնի, ստորագրի և ղեկավարի սերտիֆիկատների վավերականությունը։

Սա կարող է լինել ավելի արդյունավետ, քան նույնականացումը web of trust համակարգի միջոցով, քանի որ 2013 թվականի մասսայական ուսումնասիրությունները ցույց տվեցին, որ մեզ հայտնի սերտիֆիկատները անվտանգության տեսանկյունից թույլ և խոցելի են, թույլատրելով որևէ 3-րդական մարդու գաղտնալսել կամ տվյալներ կորզել[4][5]։

Իր ծավալման ընթացքում HTTPS պրոտոկոլը հնարավորություն է ընձեռում նույնականացնելու վեբ կայքը և դրան առնչվող վեբ սերվերը, որին կատարվում է միացումը և պաշտպանում է գաղտնալսումներից և տվյալների կորզումից։ Բացի դրանից, այն մատուցում է կապի երկկողմանի կոդավորում սերվերի և օգտագործողի միջև, ինչը պաշտպանում է գաղտնալսումից` կեղծելով հաղորդակցության պարունակությունը։ Ի հալվում, այս դեպքում սերվերի և սպասառուի միջև ստեղծվում է երկկողմանի կոդավորված հաղորդակցություն, որը պաշտպանում է տվյալների կորզումից[6]։

Պրակտիայում սա խելամիտ երաշխիք է տալիս, որ հաղորդակցության պարունակությունը կայքի և օգտագործողի միջև չի կարող կարդացվել կամ օգտագործվել երրորդ անձանց կողմից։ Պատմականորեն HTTPS միացումները հիմնականում օգտագործվել են համացանցում գումարային փոխանցումների, էլեկտրոնային փոստի, կորպորատիվ ինֆորմացիոն համակարգերում կարևոր տվյալների փոխանակման համար։ 2000ական թվականների սկզբին և 2010ական թվականներին HTTPS տարածում գտավ բոլոր տեսակի վեբ կայքերի նույնականացման էջերի պաշտպանության մեջ՝ պահպանելով միացման և օգտագործողի տվյալների անվտանգությունը, նույնականացումը և անվտանգ նավարկումը համացանցում։

Կայքը ամբողջությամբ պետք է տեղակայված լինի HTTPS շրջանում և չունենա ոչ մի պարունակություն, որը բեռնվում է HTTP միջոցով, այլապես օգտագործողը կարող է նպաստել հարձակումների և վերահսկողության կորստի հնարավորությունների։ Օրինակ ոչ անվտանգ էլեմենտները, որոնք բեռնվում են HTTPS էջի վրա օգտագործողին դարձնում են հարձակումների համար խոցելի։ Բացի դրանից, երբ կայքը մի մասը գործում է հասարակ HTTP տարբերակով և միայն կարևոր ինֆորմացիա պարունակող (օրինակ՝ նույնականացման) էջերն են օգտագործում HTTPS, այս դեպքում ևս օգտագործողը վտանգված է հարձակման սպառնալիքով։ Կայքը, որը պարունակում է անհատական ինֆորմացիա, ամեն անգամ HTTPS ով միանալու փոխարեն HTTP տարբերակով միացման դեպքում սեսիան ոչնչացվում է։ Նման կերպով HTTPS տարբերակով կայքի սպասարկման համար HTTP թխուկներում պետք է միացված լինեն անվտանգ թխուկները[7]։

Ընդհանուր նկարագրություն[խմբագրել | խմբագրել կոդը]

HTTPSURI սխեմա է, որը բացի իր սխեմատիկ փոփոխականներից, ունի նաև HTTP սխեմային բնորոշ շարահյուսություն։ Այնուամենայնիվ, HTTPS ազդանշանները դիտարկիչին հնարավորություն են ընձեռում պաշտպանել թրաֆիկը՝ օգտագործելով SSL/TLS կոդավորման ավելացված շերտը։ Անվտանգության SSL շերտը հատկապես հարմարեցված է HTTP տարբերակի համար, քանի որ այն կարող է անվտանգություն ապահովել նույնիսկ այն դեպքում երբ միայն հաղորդակցության միայն մի կողմն է նույնականացված։

Սա կատարվում է օրինակ համացանցում HTTP միջոցով ֆինանսական գործարքների կատարման համար, որտեղ հիմնականում սերվերն է նույնականացված։ HTTPS-ը անպաշտպան ցանցում ստեղծում է անվտանգ ալիք, ինչը ապահովում է վստահելի պաշտպանություն տվյալների կորզումից։

Ծանոթագրություններ[խմբագրել | խմբագրել կոդը]

  1. https://www.iana.org/assignments/service-names-port-numbers/service-names-port-numbers.xhtml
  2. 2,0 2,1 Service Name and Transport Protocol Port Number Registry
  3. SSL: Intercepted today, decrypted tomorrow, Netcraft, 2013-06-25.
  4. Law Enforcement Appliance Subverts SSL, Wired, 2010-04-03.
  5. New Research Suggests That Governments May Fake SSL Certificates, EFF, 2010-03-24.
  6. «HTTPS Everywhere FAQ». Վերցված է 2012 թ․ մայիսի 3-ին.
  7. «How to Deploy HTTPS Correctly». Վերցված է 2012 թ․ հունիսի 13-ին.
Վիքիպահեստն ունի նյութեր, որոնք վերաբերում են «HTTPS» հոդվածին։