If you're seeing this message, it means we're having trouble loading external resources on our website.

Ако си зад уеб филтър, моля, увери се, че домейните *. kastatic.org и *. kasandbox.org са разрешени.

Основно съдържание

[Протокол за сигурност на транспортния слой (TLS)

Компютрите изпращат пакети от данни из интернет. Тези пакети са като писма в пликове: случаен наблюдател може лесно да прочете данните в тях. Ако тези данни са публична информация като новинарски статии, то това няма особено значение. Но ако тези данни са пароли, номера на кредитни карти или конфиденциални имейли, то е рисковано да позволим на всеки да ги види.
Протоколът за сигурност на транспортния слой (TLS) добавя ниво на сигурност над TCP/IP протоколите. TLS използва и симетрично криптиране, и криптиране с публичен ключ, за да изпраща безопасно лични данни, и добавя допълнителни функционалности за сигурност като автентикация и засичане на подправяне на съобщения.
TLS добавя повече стъпки към процеса на изпращане на данни чрез TCP/IP, така че увеличава
в интернет комуникациите. Въпреки това ползите от сигурността често си заслужават допълнителното забавяне.
(Обърни внимание, че TLS замества по-стар протокол, наречен SSL, така че термините TLS и SSL често се използват като взаимозаменяеми.)

От начало до край

Нека да разгледаме поетапно процеса на сигурно изпращане на данни чрез TLS от един компютър към друг. Ще наречем изпращащия компютър клиент, а получаващия компютър — сървър.

TCP ръкостискане

Тъй като TLS е изграден върху TCP/IP, клиентът първо трябва да изпълни тристранното TCP ръкостискане със сървъра.
Диаграма на два компютъра със стелки между тях. Компютърът вляво е лаптоп, който показва екран за вход в khanacademy.org. Компютърът вдясно е сървър, означен с IP адрес за khanacademy.org. Единствена стрелка сочи от лаптопа към сървъра с кутийка над нея, която съдържа текст "ClientHello, ProtocolVersion: TLS 1.3, CipherSuites: TLS_RSA_WITH_RC4_128_SHA".
  • Стрелка сочи от латопа към сървъра с лейбъл "SYN".
  • Стрелка сочи от сървъра към лаптопа с лейбъл "ACK SYN".
  • Стрелка сочи от латопа към сървъра с лейбъл "ACK".

TLS инициация

Клиентът трябва да уведоми сървъра, че желае TLS връзка вместо стандартната несигурна връзка, затова изпраща съобщение, в което обяснява коя версия на TLS протокола и каква техника за криптиране иска да използва.
Диаграма на два компютъра със стелки между тях. Компютърът вляво е лаптоп, който показва екран за вход в khanacademy.org. Компютърът вдясно е сървър, означен с IP адрес за khanacademy.org. Единствена стрелка сочи от лаптопа към сървъра с кутийка над нея, която съдържа текст "ClientHello, ProtocolVersion: TLS 1.3, CipherSuites: TLS_RSA_WITH_RC4_128_SHA".

Сървърно потвърждение на протокола

Ако сървърът не поддържа заявените от клиента технологии, то той ще изостави връзката. Това може да се случи ако модерен клиент се опитва да комуникира с остарял сървър.
Ако сървърът поддържа заявените версия на TLS протокола и други опции, то той ще отговори утвърдително и ще върне дигитален сертификат, който съдържа неговия публичен ключ.
Диаграма на два компютъра със стелки между тях. Компютърът вляво е лаптоп, който показва екран за вход в khanacademy.org. Компютърът вдясно е сървър, означен с IP адрес за khanacademy.org. Единствена стрелка сочи от сървъра към лаптопа с кутийка над нея, която съдържа текст "ServerHello, ProtocolVersion: TLS 1.3, CipherSuite: TLS_RSA_WITH_RC4_128_SHA, Certificate, ServerHelloDone".

Верификация на сертификата

Дигиталният сертификат на сървъра е начинът на сървъра да каже "Да, аз наистина съм този, който си мислиш, че съм". Ако клиентът не вярва, че сертификатът е легитимен, той ще изостави връзката, тъй като не иска да праща лични данни към измамник.
В противен случай, ако клиентът може да верифицира сертификата, той продължава със следващата стъпка.
Диаграма за верификацията на клиента. Лаптоп има мисловно балонче с текст "Certificate = khanacademy.org?".

Генериране на споделен ключ

Клиентът вече знае публичния ключ на сървър, така че, на теория, може да използва криптиране с публичен ключ, за да криптира данните, които след това сървърът ще декриптира с отговарящия личен ключ.
Въпреки това криптирането с публичен ключ отнема много повече време отколкото симетричното криптиране, заради по-сложните аритметични операции, които се изискват. Когато е възможно, компютрите предпочитат да използват симетрично криптиране, за да спестят време.
За щастие, това е възможно! Компютрите могат първо да използват криптиране с публичен ключ, за да генерират тайно споделен ключ, и след това да използват симетрично криптиране с този ключ в бъдещите съобщения.
Клиентът започва този процес, като изпраща съобщение на сървъра с предварителен мастър ключ, който е криптиран с публичния ключ на сървъра. Клиентът изчислява споделения ключ на базата на този предварителен мастър ключ (тъй като това е по-сигурно, отколкото изпращането на истинския споделен ключ) и запомня споделения ключ локално.
Клинтът също така изпраща и съобщение, че е приключил, което е криптирано със споделения ключ.
Диаграма на два компютъра със стелки между тях. Компютърът вляво е лаптоп, който показва екран за вход в khanacademy.org. Компютърът вдясно е сървър, означен с IP адрес за khanacademy.org. Единствена стрелка сочи от лаптопа към сървъра с кутийка над нея, която съдържа текст "ClientKeyExchange (PreMasterSecret: c3ac534fd919a0e92b966795e), ChangeCipherSpec, Finished (21c124d28a548559f0f8abd4b)".

Сървърно потвърждение на споделения ключ

Сървърът сега може да изчислява споделения ключ на базата на предварителния мастър ключ и да се опита да декриптира съобщението за приключване с него. Ако не успее, прекъсва връзката.
Ако сървърът успее да декриптира съобщението на клиента със споделения ключ, той изпраща потвърждение и свое собствено съобщение за приключване с криптирано съдържание.
Диаграма на два компютъра със стелки между тях. Компютърът вляво е лаптоп, който показва екран за вход в khanacademy.org. Компютърът вдясно е сървър, означен с IP адрес за khanacademy.org. Единствена стрелка сочи от сървъра към лаптопа с кутийка над нея, която съдържа текст "ChangeCipherSpec, Finished (c49fe482d338760807c3c278f)".

Сигурно изпращане на данни

Най-накрая клиентът сигурно изпраща лични данни на сървъра, използвайки симетрично криптиране и споделения ключ.
Диаграма на два компютъра със стелки между тях. Компютърът вляво е лаптоп, който показва екран за вход в khanacademy.org. Компютърът вдясно е сървър, означен с IP адрес за khanacademy.org. Единствена стрелка сочи от лаптопа към сървъра с кутийка над нея, която съдържа криптирани данни.
Често се случва един и същи клиент да трябва да изпрати данни към сървър по много пъти. Например когато потребител попълва форми на много страници на уебсайт. В този случай компютрите могат да използват съкратен процес за установяване на сигурна сесия.
Провери наученото
Както видя, и двата компютъра трябва да преминат много стъпки, за да установят сигурна връзка чрез TLS.
Попълни следващия списък със стъпки:
  1. Клиент и сървър изпълняват TCP ръкостискане
  2. Клиентът изпраща данни, криптирани със споделения ключ

TLS е навсякъде

TLS се използва за много форми на сигурна комуникация в интернет, например сигурни имейли и сигурно качване на файлове. Въпреки това е най-познат с употребата си в сигурното сърфиране в интернет (HTTPS).
TLS осигурява допълнително ниво на сигурност над TCP/IP, благодарение на използването на публичен ключ и симетрично криптиране. Все по-необходимо е личните данни, които циркулират в интернет, да се защитават.

🙋🏽🙋🏻‍♀️🙋🏿‍♂️Имаш ли въпроси по тази тема? С радост ще ти отговорим—просто задай въпроса си по-долу!

Искаш ли да се присъединиш към разговора?

Все още няма публикации.
Разбираш ли английски? Натисни тук, за да видиш още дискусии в английския сайт на Кан Академия.