Как HTTPS осигурява вашата връзка: Какво трябва да знае всеки уеб разработчик. Симетрично и асиметрично криптиране за начинаещи

За обмен на съобщения и скриване на съдържание от трети страни се използва криптиране. Използва се там, където се изисква повишено ниво на защита. Има две схеми за криптиране: симетрична и асиметрична.

Какво е криптиране

Шифроването ще бъде полезно, когато трябва да скриете някаква информация от неоторизирани лица и да предоставите секретни данни на оторизирани потребители.

Характеристика на този тип предаване на данни е използването на ключ.

Има три състояния на сигурност:

  • скриване на информация от непознати;
  • предотвратяване на промени;
  • поддържане на целостта на информацията;
  • идентификация на подателя.

За четене на информация, освен ключа, е необходим декодер. Именно това прави невъзможно киберпрестъпниците да получат данни, тъй като прихващайки данните, но нямайки ключ, е невъзможно да ги прочетат.

Има два вида криптиране: симетрично и асиметрично.

Основната цел на криптирането е да съхранява информация. Това ви позволява да работите с някои данни от ненадеждни източници, да предавате съобщения по несигурни канали. Информацията се изпраща по следния начин:

  • подателят криптира данните;
  • получателят декриптира.

Всяка трансформация се осъществява с помощта на алгоритми, които използват ключове за решаване. Методите за симетрично и асиметрично криптиране са криптографски силни.

Крипто устойчивост

Симетричните и асиметричните системи за криптиране имат характеристика, която е отговорна за трудността при получаване на неоторизиран достъп.

Има 2 основни типа криптографска сила на системата за криптиране.

  • Абсолютно устойчива система не може да бъде разкрита, дори с безкрайно големи изчислителни ресурси. Характеризира се с това, че за всяко съобщение се генерира отделен ключ. Дължината му е равна или по-голяма от дължината на съобщението.
  • В гражданска криптографска система се използват достатъчно силни системи. Такъв алгоритъм е труден за дешифриране, но с наличието на подходящи ресурси става възможен.
  • Сравнение на криптографската сила на някои системи за криптиране

    Максималният размер на RSA ключ е 4096 бита.

    Използва се за криптиране и подпис. Криптографската сила може да бъде описана като 2.7.1028 за 1300-битов ключ. Схемата се използва в много стандарти, принципът на RSA криптиране е един от първите асиметрични алгоритми.

    Размерът на ключа на схемата на ElGamal е RSA - 4096 бита. Използва се както за криптиране, така и за цифров подпис. Криптографската сила на тази система не се различава от RSA със същия размер на ключа.

    Методът DSA използва много по-малък ключ, 1024 бита. Използва се изключително за цифрови подписи.

    Симетрично и асиметрично криптиране

    Тези два вида криптиране се различават по броя на ключовете и нивото на устойчивост на кракване.

    Ако за кодиране и декодиране се използва един ключ, тогава това криптиране е симетрично. Асиметричното криптиране включва използването на един ключ за всеки алгоритъм.

  • Публичен ключ се използва за криптиране на някакъв код, който е конкретно съобщение. Ключът е известен и на двете страни, предава се по незащитен канал и може да бъде прихванат. Най-важната задача за запазване на информация е защитата на ключа от прихващане.
  • Private се използва за декриптиране. Известно само от едната страна. Не може да бъде прихванато, тъй като е с един и същ събеседник през цялото време.
  • Целта на криптирането определя как се поддържа поверителността. Едно от първите беше симетричното, асиметрично криптиране, изобретено по-късно, за да осигури по-голяма сигурност.

    Характеристики на симетричното криптиране

    Симетричната защитна система има следните предимства.

  • Висока скорост и лекота на изпълнение.
  • За да се осигури силата на шифъра, се използва къса дължина на ключа.
  • Недостатъците включват следното:

    • сложността на управлението на ключове в голяма мрежа;
    • сложността на обмена на ключове;
    • необходимостта от намиране на надежден канал за прехвърляне на ключа към страните;
    • невъзможност за използване за цифрови подписи, сертификати.

    За да се компенсират недостатъците, се използва комбинирана схема, при която ключът, използван за декриптиране, се предава чрез асиметрично криптиране. Предава се чрез симетрично криптиране.

    Характеристики на асиметричното криптиране

    Използването на двойка публичен-частен ключ може да се използва като:

    • независими средства за защита на информацията;
    • ключово разпределително съоръжение;
    • средства за удостоверяване на потребителя.

    Има следните предимства:

    • съхраняване на секретния ключ на сигурно място, вместо което отвореният се предава по отворения канал;
    • ключът за декриптиране е известен само на една страна;
    • в голяма асиметрична система използвайте по-малко клавиши, за разлика от симетрична.

    Трудно е да се правят промени в такива алгоритми. Система като тази има дълги клавиши. Ако симетричният ключ е 128 бита, тогава ключът RSA е 2304 бита. Поради това скоростта на декриптиране страда - тя е 2-3 пъти по-бавна. Декриптирането изисква големи изчислителни ресурси.

    Има много примери за симетрични и асиметрични системи за криптиране.

    Симетрично криптиране - как изглежда?

    Пример за симетрично криптиране и схема за изпълнение е по-долу.

  • Има двама събеседници, които планират да обменят поверителна информация.
  • Първият събеседник генерира ключ d, алгоритми за криптиране E и декриптиране D. След това той изпраща тази информация на втория събеседник.
  • Съобщението се дешифрира с ключ d.
  • Основният недостатък е невъзможността да се установи автентичността на текста. Ако ключът бъде прихванат, нападателят ще дешифрира секретната информация.

    Има класически методи.

  • Проста и двойна пермутация.
  • Магически квадрат.
  • Единична пермутация.
  • Първият метод е един от най-простите и не използва ключ в схемата. Изпращачът и получателят се договарят за определен ключ, представен под формата на размер на таблица. Изпратеното съобщение се записва в колоните на таблицата, но се чете ред по ред. Знаейки размера на таблицата, получателят декриптира съобщението.

    За осигуряване на по-голяма секретност се използва двойна пермутация. По този начин се получава криптирането на предварително криптирания текст. За това таблиците трябва да се различават по броя на редовете и колоните. Запълват се вертикално, хоризонтално, в змия, в спирала. Този метод не укрепва криптирането, но процесът на кракване отнема повече време.

    "Вълшебният квадрат" е по-сложна структура, която е матрица. Естествените числа са вписани в клетките по такъв начин, че сумата от числата за всяка колона, ред, диагонал да е еднаква. Всяко число съответства на буква в съобщението. Полученият текст се записва в низ чрез сравняване на числа и символи.

    Примери за асиметрично криптиране

    В този случай публичният ключ се изпраща по отворен канал и теоретично може да бъде прихванат от нападатели.

    За разлика от симетричните ключове за криптиране, асиметричните ключове за криптиране са различни. Публичният ключ се използва за криптиране, частният ключ се използва за декриптиране на съобщението. Използването на два ключа решава проблема с прихващането, който беше в симетричния метод. Реализира се по следния начин.

  • Първият събеседник избира алгоритми за криптиране и декриптиране, чифт ключове. Публичният ключ се изпраща на втория събеседник.
  • Вторият събеседник криптира информацията с помощта на получения ключ. Изпраща информация до първия партньор в чата, който декриптира съобщението с помощта на частния ключ.
  • Има такива основни методи за асинхронно криптиране.

  • Шифър на Ел Гамал.
  • RSA

    RSA е първият криптографски алгоритъм, използван както за криптиране, така и за цифров подпис.

    Описано е по следния начин.

  • Избират се две прости числа, например 3 и 7.
  • Изчислява се модулът n - произведение на две числа. Оказва се 21.
  • Изчислява се функцията на Ойлер φ = (p-1) × (q-1) = 2 × 6 = 12.
  • Изчислява се всяко просто e по-малко от φ и просто с φ. Налични опции: 5, 7, 11.
  • Двойка числа e, n (5, 21) е публичен ключ. Сега се изчисляват числата d и n на частния ключ. Числото d удовлетворява условието (d × e) mod φ = 1 и е равно на 17. В резултат на това втората двойка числа 17 и 21 е частен ключ. Шифроването се извършва по следния начин: съобщението се издига на степен e, взема се остатъкът от деленето на n и резултатът трябва да е по-малък от n. Оказва се 10 - ще бъдат кодирани данни. За декодиране e се повишава до степен d и се изчислява остатъкът от деленето на n.

    DSA

    DSA (за разлика от RSA) се използва само за цифрови подписи, а не за криптиране. Посоченият подпис може да бъде публично проверен. Има два алгоритма за генериране и проверка на подпис. Това е хеш съобщението, което е криптирано, което представлява текста в цифрова форма. Следователно се избира сложна хеш функция, за да се избегнат сблъсъци. Изграждането на цифров подпис се състои от следните стъпки.

  • Избор на криптографска хеш функция H (x).
  • Разрядността на простото число q трябва да е равна на стойността на хеш функцията H (x).
  • Избор на такова просто число p, така че p-1 да се дели на q без остатък.
  • Изчисляване на числото g = h (p-1) / q mod p. h трябва да бъде произволно число в диапазона от 1 до p-1.
  • Избира се произволно число k от 0 до q.
  • Изчислява се R = (gk mod p) mod q.
  • Тогава s = k-1 (H (m) + xr)) mod q.
  • Ако r = 0 или s = 0, се избира друго число k.
  • Схема на Ел Гамал

    За цифрови подписи се използва криптиране на ElGamal. Той е продължение на алгоритъма на Дифи-Хелман.

    Когато работите по тази схема, е важно да вземете предвид следната характеристика. Шифроването на El Gamal не е алгоритъм за цифров подпис със същото име. Когато е криптиран, текстът се преобразува в шифър, който е 2 пъти по-дълъг от оригиналното съобщение.

    Ключовете се генерират по следния начин.

  • Избира се произволно просто число p.
  • Числото g трябва да бъде примитивен корен на p.
  • Числото x трябва да бъде по-голямо от 1 и по-малко от p-1. Това ще бъде частният ключ.
  • След това публичният ключ y се изчислява по формулата g ^ x mod p.
  • При криптиране на текста M се избира системният ключ K. Той е по-голям от единица и по-малък от p-1. След това се изчисляват числата a и b, които са шифрован текст, a = g ^ k mod p и b = y ^ k M mod p.

  • Изработка на уебсайт,
  • Алгоритми
    • Превод

    Как все пак работи HTTPS? Това е въпрос, с който се боря от няколко дни в моята работна чернова.

    Като уеб разработчик знаех, че използването на HTTPS за защита на потребителски данни е много, много добра идея, но никога не съм имал солидно разбиране за това как всъщност работи HTTPS.

    Как се защитават данните? Как могат клиентът и сървърът да установят защитена връзка, ако някой вече слуша канала си? Какво е сертификат за сигурност и защо трябва да плащам на някого, за да го получа?

    Тръбопровод

    Преди да се потопим в това как работи това, нека поговорим накратко защо е толкова важно да се защитят интернет връзките и от какво защитава HTTPS.

    Когато браузър направи заявка до любимия ви уебсайт, тази заявка трябва да премине през много различни мрежи, всяка от които потенциално може да бъде използвана за подслушване или подправяне на установената връзка.

    От вашия собствен компютър към други компютри във вашата локална мрежа, чрез рутери и комутатори, чрез вашия интернет доставчик и чрез много други междинни доставчици - огромен брой организации предават вашите данни. Ако нападателят се окаже в поне един от тях, той има възможност да види какви данни се предават.

    Обикновено заявките се изпращат през обикновен HTTP, при който както заявката на клиента, така и отговорът на сървъра се изпращат в чист текст. И има много убедителни причини, поради които HTTP не използва криптиране по подразбиране:

    Това изисква повече изчислителна мощност.
    Прехвърлят се още данни
    Не мога да използвам кеширане

    Но в някои случаи, когато изключително важна информация (като пароли или информация за кредитна карта) се предава по комуникационния канал, трябва да се вземат допълнителни мерки за предотвратяване на подслушване на такива връзки.

    Защита на транспортния слой (TLS)

    Сега ще се потопим в света на криптографията, но няма да се нуждаем от специален опит за това - ще разгледаме само най-общите въпроси. Така че криптографията ви позволява да защитите връзката от потенциални нападатели, които искат да попречат на връзката или просто да я слушат.

    TLS, наследникът на SSL, е протоколът, който най-често се използва за осигуряване на защитени HTTP връзки (наречени HTTPS). TLS е един слой под HTTP в OSI модела. Обяснявайки на пръсти, това означава, че в процеса на изпълнение на заявка първо се случват всички "неща", свързани с TLS връзката и едва след това всичко, свързано с HTTP връзката.

    TLS е хибридна криптографска система. Това означава, че използва няколко криптографски подхода, които ще обсъдим по-нататък:

    1) Асиметрично криптиране (криптосистема с публичен ключ) за генериране на споделена тайна и удостоверяване (тоест удостоверяване, че сте този, за когото се представяте).
    2) Симетрично криптиране, използващо таен ключ за допълнително криптиране на заявки и отговори.

    Криптосистема с публичен ключ

    Криптосистемата с публичен ключ е вид криптографска система, при която всяка страна има както публичен, така и частен ключ, математически свързани. Публичният ключ се използва за криптиране на текста на съобщението в бъркотия, докато частният ключ се използва за декриптиране и извличане на оригиналния текст.

    Тъй като съобщението е криптирано с публичния ключ, то може да бъде декриптирано само със съответния частен ключ. Нито един ключ не може да изпълнява и двете функции. Публичният ключ се публикува в публичното пространство без риск от излагане на системата на заплахи, но частният ключ не трябва да се предава на някой, който няма право да декриптира данните. И така, имаме ключове - публични и частни. Едно от най-впечатляващите предимства на асиметричното криптиране е, че две страни, които преди това не са знаели една за друга, могат да установят защитена връзка, като първоначално обменят данни през отворена, несигурна връзка.
    Клиентът и сървърът използват свои собствени частни ключове (всеки свой) и публикуван публичен ключ, за да генерират споделена тайна за сесията.

    Това означава, че ако някой е между клиента и сървъра и наблюдава връзката, той пак няма да може да разбере нито частния ключ на клиента, нито частния ключ на сървъра, нито тайния ключ на сесията.

    Как е възможно? математика!

    Алгоритъм на Дифи - Хелман

    Един от най-често срещаните подходи е алгоритъмът за обмен на ключове Diffie-Hellman (DH). Този алгоритъм позволява на клиента и сървъра да се споразумеят за споделена тайна, без да се налага да предават тайната през връзката. По този начин нападателите, които слушат канала, няма да могат да определят секретния ключ, дори ако прихващат всички пакети с данни без изключение.

    След като се осъществи обменът на DH ключ, полученият секретен ключ може да се използва за криптиране на допълнителни връзки в рамките на тази сесия, като се използва много по-просто симетрично криптиране.

    Малко математика...

    Математическите функции, залегнали в основата на този алгоритъм, имат важна отличителна черта - те са относително лесни за изчисляване в посока напред, но практически не се изчисляват в обратна посока. Тук влизат в действие много големи прости числа.

    Нека Алис и Боб са две страни, разменящи ключове с помощта на алгоритъма DH. Първо се съгласяват по някаква причина корен(обикновено малко число като 2,3 или 5) и много голямо просто число първокласен(повече от 300 цифри). И двете стойности се изпращат в ясен текст по комуникационния канал, без заплаха от компрометиране на връзката.

    Припомнете си, че и Алис, и Боб имат свои собствени частни ключове (повече от 100 цифри), които никога не се предават по комуникационни канали.

    Сместа се предава по комуникационния канал смесполучени от частни ключове, както и от стойности първокласени корен.

    Поради това:
    Сместа на Алис = (корен ^ Тайната на Алис)% първостепенно
    Сместа на Боб = (корен ^ Тайната на Боб)% първичен
    където % е остатъкът от делението

    Така Алис създава своята смес въз основа на одобрените стойности на константите ( корени първокласен), Боб прави същото. След като са получили стойности смеседин друг, те извършват допълнителни математически операции, за да получат частния ключ на сесията. а именно:

    Изчисленията на Алис
    (Сместа на Боб ^ Тайната на Алис)% първостепенно

    Изчисленията на Боб
    (Сместа на Алис ^ Тайната на Боб)% първичен

    Резултатът от тези операции е едно и също число както за Алис, така и за Боб и това число става частен ключ за тази сесия. Моля, имайте предвид, че нито една от страните не е трябвало да изпраща своя частен ключ по комуникационния канал, а полученият таен ключ също не е бил предаден през отворена връзка. Страхотно!

    За тези, които не са толкова разбираеми в математиката, Уикипедия предоставя отлична картина, обясняваща процеса, използвайки смесване на цветове като пример:

    Забележете как първоначалният цвят (жълт) в крайна сметка се превръща в един и същ "смесен" цвят за Боб и Алис. Единственото нещо, което се предава по отворения комуникационен канал, са полусмесени цветове, всъщност безсмислени за всеки, който слуша комуникационния канал.

    Симетрично криптиране

    Размяната на ключове се извършва само веднъж на сесия, по време на установяване на връзката. Когато страните вече са се договорили за секретния ключ, взаимодействието клиент-сървър се осъществява чрез симетрично криптиране, което е много по-ефективно за прехвърляне на информация, тъй като не се изискват допълнителни разходи за потвърждение.

    Използвайки секретния ключ, получен по-рано, както и съгласуването на режима на криптиране, клиентът и сървърът могат да комуникират сигурно чрез криптиране и декриптиране на съобщения, получени един от друг с помощта на секретния ключ. Нападател, който се свързва с канала, ще види само "боклук", който се разхожда напред-назад в мрежата.

    Удостоверяване

    Алгоритъмът на Diffie-Hellman позволява на две страни да получат частен таен ключ. Но как и двете страни могат да бъдат сигурни, че наистина си говорят? Все още не сме говорили за удостоверяване.

    Ами ако се обадя на моя приятел, ще извършим обмен на DH-ключ, но изведнъж се оказва, че разговорът ми е бил прихванат и всъщност общувах с някой друг?! Все пак ще мога да общувам безопасно с този човек - никой друг няма да може да ни изслуша - но изобщо няма да е този, с когото мисля, че общувам. Не е много сигурно!

    За да решим проблема с удостоверяването, се нуждаем от инфраструктура на публичен ключ, за да гарантираме, че субектите са тези, за които се представят. Тази инфраструктура е изградена за създаване, управление, разпространение и отнемане на цифрови сертификати. Сертификатите са онези досадни неща, за които трябва да плащате, за да накарате вашия сайт да работи през HTTPS.

    Но всъщност какво представлява този сертификат и как ни осигурява сигурност?

    Сертификати

    В грубо приближение цифровият сертификат е файл, който използва електронен цифров подпис (повече за това след минута) и свързва публичния (публичния) ключ на компютъра с неговата собственост. Цифров подпис върху сертификат означава, че някой удостоверява, че даден публичен ключ принадлежи на конкретно лице или организация.

    По същество сертификатите свързват имената на домейни с конкретен публичен ключ. Това не позволява на нападателя да разкрие публичния си ключ, като се представя за сървъра, до който има достъп от клиента.

    В примера за телефон по-горе, хакер може да се опита да ми покаже публичния си ключ, представяйки се за мой приятел - но подписът върху сертификата му няма да принадлежи на някой, на когото вярвам.

    За да има доверие на даден сертификат от всеки уеб браузър, той трябва да бъде подписан от акредитиран сертифициращ орган (сертификационен орган, CA). CA са компании, които ръчно проверяват, че лице, което се опитва да получи сертификат, отговаря на следните две условия:

    1. е реален;
    2. има достъп до домейна, за който се опитва да получи сертификат.

    След като CA е сигурен, че заявителят е истински кандидат и че той действително контролира домейна, CA подписва сертификата за този сайт, като по същество поставя печат за потвърждение на факта, че публичният ключ на сайта наистина му принадлежи и може да му се вярва .

    Вашият браузър вече е предварително зареден със списък с акредитирани CA. Ако сървърът върне сертификат, който не е подписан от акредитиран CA, тогава ще се появи голямо червено предупреждение. В противен случай всеки може да подпише фалшиви сертификати.

    Така че дори ако хакерът вземе публичния ключ на своя сървър и генерира цифров сертификат, потвърждаващ, че този публичен ключ е свързан със сайта facebook.com, браузърът няма да повярва в това, тъй като сертификатът не е подписан от акредитиран CA.

    Други неща, които трябва да знаете за сертификатите

    Разширено валидиране
    В допълнение към обикновените сертификати X.509, има сертификати за разширена валидация, които осигуряват по-високо ниво на доверие. С издаването на такъв сертификат CA извършва още повече проверки на лицето, което получава сертификата (обикновено използвайки паспортни данни или сметки).

    След получаване на такъв сертификат, браузърът показва зелена лента в адресната лента, в допълнение към обичайната икона за заключване.

    Обслужване на множество уебсайтове на един сървър
    Тъй като обменът на данни по TLS протокола се извършва дори преди началото на HTTP връзката, могат да възникнат проблеми, ако няколко уебсайта се намират на един и същ уеб сървър на един и същ IP адрес. Маршрутирането на виртуални хостове се извършва от уеб сървъра, но TLS връзката се осъществява дори по-рано. Един сертификат за целия сървър ще се използва при заявка на всеки сайт, разположен на сървъра, което може да причини

    Хей!
    Нека да разгледаме какво представляват симетричната и асиметричната криптография – защо се наричат ​​така, за какво се използват и как се различават.

    За да бъдем точни, по-правилно е да се каже симетрични и асиметрични алгоритми за криптиране.

    Криптографията (крипто – скрий, скрий), като наука за скриване на написаното, наука за скриване на информация.

    Повечето от използваните алгоритми за криптиране са с отворен код, тоест описанието на алгоритъма е достъпно за всеки. Тайната е ключът за криптиране, без който е невъзможно да се криптира и още повече да се декриптира информация.

    Алгоритмите за симетрично криптиране са алгоритми, които използват един и същ ключ за криптиране и декриптиране. Тоест, ако искаме да обменяме криптирани съобщения с приятел, тогава първо трябва да се договорим кой ключ за криптиране ще използваме. Тоест ще имаме един ключ за криптиране за двама.

    В симетричните алгоритми ключът за криптиране е уязвимост и трябва да се внимава повече, за да се предотврати научаването на ключа от други.

    Алгоритмите за асиметрично криптиране са алоритми, при които за криптиране и декриптиране се използват различни, но математически свързани ключове. Такива свързани ключове се наричат ​​крипто двойка. Единият е частен, другият е публичен. В същото време информацията, криптирана с публичен ключ, може да бъде декриптирана само с частен ключ и обратно, това, което е криптирано с частен ключ, може да бъде декриптирано само с публичен ключ.
    Вие съхранявате частния ключ на сигурно място и никой освен вас не го знае и раздавате копие на публичния ключ на всички. По този начин, ако някой иска да обменя криптирани съобщения с вас, той криптира съобщението с вашия публичен ключ, който е достъпен за всички и това съобщение може да бъде декриптирано само с вашия частен ключ.

    Сега за това какво и защо се използват симетрични и асиметрични алгоритми:
    Таблицата показва, че за криптиране на голямо количество информация за поточно криптиране (например криптирана VPN) се използват бързи и неизискващи симетрични алгоритми.

    Но ако трябва да осигурим възможно най-малко количество информация, докато не сме ограничени от време и изчислителни ресурси, тогава можем да използваме асиметрична криптография.

    В живота, разбира се, всичко е малко по-различно, отколкото на теория.
    В живота се използва комбинация от симетрични и асиметрични алгоритми.

    Например VPN с криптиране:

      Първата стъпка използва алгоритми за асиметричен ключ за получаване на симетричен ключ за криптиране ().
    Във втората стъпка данните за поточно предаване се криптират с помощта на симетрични алгоритми с ключа, генериран в първата стъпка.

    По този начин е обичайна практика да се използва симетричен ключ за бързо криптиране на големи количества данни. В този случай за обмен и предаване на симетричен ключ се използват асиметрични алгоритми за криптиране.

    Издадохме нова книга „Маркетинг на съдържание в социалните медии: Как да влезете в главите на абонатите и да се влюбите във вашата марка“.

    Абонирайте се за

    HTTP е този, който позволява прехвърлянето на данни. Първоначално той е създаден, за да изпраща и получава документи, съдържащи връзки вътре, за да извърши преход към ресурси на трети страни.

    Съкращението гласи "HyperText Transfer Protocol", което означава "протокол за трансфер". HTTP принадлежи към група на приложния слой въз основа на спецификите, използвани от OSI.

    За да разберем по-добре какво означава HTTP, нека разгледаме една проста аналогия. Да си представим, че общувате с чужденец в социална мрежа. Той ви изпраща съобщение на английски, вие го получавате. Но не можете да разберете съдържанието, защото не знаете достатъчно езика. Използвайте речник, за да дешифрирате съобщението. След като разбрахте същността, отговаряте на чужденеца на руски и изпращате отговора. Чужденецът получава отговор и с помощта на преводач дешифрира съобщението. За да опрости целия механизъм, интернет протоколите HTTP действат като преводач. С тяхна помощ браузърът може да превежда криптираното съдържание на уеб страниците и да показва тяхното съдържание.

    За какво е HTTP?

    HTTP протоколът се използва за обмен на информация чрез модел клиент-сървър. Клиентът съставя и изпраща заявка до сървъра, след което сървърът я обработва и анализира, след което се създава отговор и се изпраща до потребителя. В края на този процес клиентът прави нова команда и всичко се повтаря.

    По този начин протоколът HTTP дава възможност за обмен на информация между различни потребителски приложения и специални уеб сървъри, както и за свързване с уеб ресурси (обикновено браузъри). Днес описаният протокол захранва цялата мрежа. Протоколът за пренос на данни HTTP се използва и за прехвърляне на информация през други протоколи от по-ниско ниво, като WebDAV или SOAP. В случая протоколът е транспортно средство. Много програми също разчитат на HTTP като основен инструмент за комуникация. Данните се представят в различни формати, например JSON или XML.

    HTTP е протокол за обмен на информация през IP/TCP връзка. Обикновено сървърът използва порт 80 от типа TCP за това. Ако не е посочен порт, клиентският софтуер ще използва TCP порт 80 по подразбиране. В някои случаи могат да се използват други портове.

    Протоколът HTTP използва симетрична схема за криптиране и използва симетрични криптосистеми. Симетричните криптосистеми включват използването на един и същ ключ за криптиране и декриптиране на информация.

    Как HTTP се различава от HTTPS

    Разликата може да се намери дори от декодирането на съкращенията. HTTPS е съкращение от Hypertext Transfer Protocol Protection. По този начин HTTP е отделен протокол, а HTTPS е разширение за защитата му. През HTTP информацията се предава незащитена, а HTTPS осигурява криптографска защита. Това е особено вярно за ресурси с отговорно разрешение. Това могат да бъдат социални мрежи или сайтове на платежни системи.

    Защо прехвърлянето на незащитени данни е опасно? Програма за прихващане може да ги предаде на киберпрестъпници по всяко време. HTTPS има сложна техническа организация, която ви позволява надеждно да защитите информацията и да изключите възможността за неоторизиран достъп до нея. Разликата се крие и в портовете. HTTPS обикновено работи на порт 443.

    По този начин HTTP се използва за предаване на данни, а HTTPS позволява сигурно предаване на данни с помощта на криптиране и оторизация на ресурси с високо ниво на сигурност.

    Допълнителна функционалност

    HTTP е богат на функционалност и е съвместим с различни разширения. Използваната днес спецификация 1.1 позволява заглавката за надграждане да се използва за превключване и работа през други протоколи при обмен на данни. За да направи това, потребителят трябва да изпрати заявка до сървъра с тази заглавка. Ако сървърът трябва да превключи към конкретен обмен, използвайки различен протокол, той връща заявка към клиента, която показва състоянието "426 Upgrade Required".

    Тази функция е особено подходяща за обмен на информация чрез WebSocket (има спецификацията RFC 6455, позволява ви да обменяте данни по всяко време, без ненужни HTTP заявки). За да премине към WebSocket, един потребител изпраща заявка със заглавката за надстройка и стойността "websocket". След това сървърът отговаря с "101 протокола за превключване". След този момент започва прехвърлянето на информация чрез WebSocket.