HTTPS (пълно име: Hyper Text Transfer Protocol over SecureSocket Layer) е HTTP канал със сигурност като цел. На базата на HTTP криптирането на предаването и удостоверяването на самоличността гарантират сигурността на процеса на предаване [1]. HTTPS добавя SSL на базата на HTTP. Основата за сигурност на HTTPS е SSL, така че SSL е необходим за подробностите за криптирането. HTTPS има порт по подразбиране, различен от HTTP, и слой за криптиране/удостоверяване (между HTTP и TCP). Тази система осигурява удостоверяване и криптирани комуникационни методи. Той се използва широко в чувствителни към сигурността комуникации в World Wide Web, като например плащания по транзакции.
HTTPS се състои основно от две части: HTTP + SSL / TLS, тоест към HTTP се добавя слой модул за обработка на криптирана информация. Предаването на информация между сървъра и клиента ще бъде криптирано чрез TLS, така че предаваните данни са всички криптирани данни.
HTTP принцип
① Браузърът на клиента' трябва първо да установи връзка със сървъра през мрежата. Връзката се осъществява чрез TCP. Обикновено номерът на порта за TCP връзка е 80. След като връзката бъде установена, клиентът изпраща заявка до сървъра. Форматът на заявката е: Униформен идентификатор на ресурс (URL), номер на версията на протокола, последван от MIME информация, включително модификатори на заявка, информация за клиента и съдържание на лиценза.
② След като получи заявката, сървърът ще даде съответната информация за отговор. Форматът е ред на състоянието, включващ номера на версията на протокола на информацията, код за успех или грешка, а MIME информацията включва информация за сървъра, информация за обект и възможно съдържание.
Принципът на HTTPS
① Клиентът изпраща списъка с алгоритми, които поддържа, и произволно число, използвано за генериране на ключа към сървъра;
② Сървърът избира алгоритъм за криптиране от списъка с алгоритми и го изпраща и сертификат, съдържащ публичния ключ на сървъра, на клиента; сертификатът съдържа също идентификацията на сървъра за целите на удостоверяване, а сървърът също така предоставя потребител, използван като произволно число за генериране на ключа;
③ Клиентът проверява сертификата на сървъра' (за проверка на сертификата можете да се обърнете към цифровия подпис) и извлича публичния ключ на сървъра' след това генерирайте произволен низ от парола, наречен pre_master_secret, и използвайте публичния ключ на сървъра' за него Шифрирайте (вижте асиметрично криптиране/декриптиране) и изпратете криптираната информация до сървъра;
④ Клиентът и сървърът независимо изчисляват ключовете за криптиране и MAC въз основа на pre_master_secret и произволната стойност на клиента и сървъра (вижте алгоритъма за обмен на DH ключове);
⑤ Клиентът изпраща MAC стойността на всички съобщения за ръкостискане към сървъра;
⑥ Сървърът изпраща MAC стойността на всички съобщения за ръкостискане на клиента
предимство
Използвайте протокола HTTPS за удостоверяване на потребители и сървъри, за да гарантирате, че данните се изпращат до правилния клиент и сървър;
Протоколът HTTPS е мрежов протокол, изграден от SSL+HTTP, който може да се използва за криптирано предаване и удостоверяване на самоличността. По-безопасно е от HTTP. Той може да предотврати кражба и промяна на данни по време на предаване и да гарантира целостта на данните.
HTTPS е най-сигурното решение при текущата архитектура. Въпреки че не е абсолютно сигурен, той значително увеличава цената на атаките на човек в средата.
недостатък
В същата мрежова среда протоколът HTTPS ще удължи времето за зареждане на страницата с близо 50% и ще увеличи консумацията на енергия с 10% до 20%. В допълнение, HTTPS протоколът също ще повлияе на кеша, увеличавайки разходите за данни и консумацията на енергия.
Сигурността на протокола HTTPS има обхват и има малък ефект върху хакерски атаки, атаки за отказ на услуга и отвличане на сървър.
Най-важното е, че системата на кредитната верига на SSL сертификата не е сигурна. Особено когато някои държави могат да контролират коренния сертификат на CA, атаките от човек в средата са еднакво осъществими.
Увеличени разходи. След внедряването на HTTPS, работата на протокола HTTPS ще увеличи потреблението на допълнителни изчислителни ресурси. Например, алгоритъмът за криптиране на SSL протокола и броят на SSL взаимодействията ще заемат определено количество изчислителни ресурси и разходи за сървъра. В сценария на широкомащабни приложения за потребителски достъп сървърът трябва да извършва чести операции по криптиране и декриптиране и почти всеки байт трябва да бъде криптиран и декриптиран, което води до разходи за сървъра. С развитието на технологията за изчисления в облак, разходите за използване на сървъри, разположени в центрове за данни, постепенно намаляват след увеличаването на мащаба. В сравнение с подобряването на сигурността на потребителския достъп, разходите за въвеждане са паднали до приемливо ниво.




