Принципът на работа на SSL

Как SSL

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

SSL многослойни медии

Secure SSL се намира между двата протокола: протокол, който използва програмата клиент (HTTP, FTP, IMAP, LDAP, Telnet и т.н.), както и на TCP / IP протокола транспорт. Създаване на вид демпфер от двете страни, той защитава и предава данните към транспортния слой. Благодарение на работата на принципа на многослоен, SSL протокол може да поддържа много различни протоколи, софтуерни клиенти.

SSL работа може да бъде разделена на две нива. Първо ниво - слой потвърждение протокол връзка (ръкостискане протокол Layer). Тя се състои от три subprotocol: потвърждаване на протокола за връзка (Ръкостискане Protocol), параметрите на протокола се променят шифър (Промяна Cipher Spec Protocol) протокол и предупреждение (Alert протокол). На второ ниво - този запис слой протокол. Фигура 1 схематично показва нивата на SSL слой

Нивото на потвърждението на връзка се състои от три subprotocol:

1.Podtverzhdenie връзка. Това subprotocol използва, за да преговаря данните за сесии между клиента и сървъра. Данните от сесията се състои от:
* Сесия ID;
* Сертификат за двете страни;
* Параметри на алгоритъм за криптиране, за да бъдат използвани;
* Алгоритъм за компресиране на данни, за да бъдат използвани;
* "Споделена тайна", прилагана за създаване на ключове; публичен ключ
2. Промяна на настройките за шифроване. Това subprotocol се използва за промяна на ключовите данни (keyingmaterial), която се използва за криптиране на данни между клиента и сървъра. ключ данни - е информация, която се използва за генериране на криптографски ключове. Subprotocol промените настройките за шифроване Състои се от едно съобщение. В това съобщение, сървърът казва, че подателят иска да промени набор от ключове. Освен това, най-важното е изчислена от информацията, която се обменя между страните на нивото на потвърждение под-протокол връзка.
3. Превенция. предупредително съобщение показва състоянието на страните промяна или евентуална грешка. Има много предупредителни съобщения, които информират страните, както при нормална работа, както и при възникване на грешки. Като правило, предупреждение се изпраща, когато връзката е затворена и е получил грешен сигнал, съобщението не може да бъде разшифрован или потребителят отменя операцията.

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

Удостоверяване на участниците

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

Сертификационен център - на трето лице, което се ползва с доверието на двете страни по подразбиране. Когато се опитате да се свържете с режим на SSL сесия, център за сертифициране проверява инициатор (обикновено тази роля се играе от потребител, на клиентския компютър) и след това издава сертификат. Ако е необходимо, се актуализира център за сертифициране или конфискуват сертификати. Удостоверяване се извършва в съответствие със схемата:

* При условие, удостоверението за клиент-сървър;
* Клиентският компютър се опитва да съответства на сертификата емитент на сървъра от списъка на доверителни центрове за сертифициране;
* Ако издателят на сертификата - довери за сертифициране център, клиентът комуникира, и този център и да се провери дали сертификатът е реална, а не подправен;
* След проверка на сертификата, в центъра за сертифициране, клиентът получава сертификат като доказателство за идентичността на сървъра.

криптиране на данните

Има два основни начина за криптиране на данните: симетричен ключ (наричан също "споделен таен ключ") и асиметричен ключ (второто име на "публичен ключ" или "отворен цикъл тайния ключ"). SSL използва и двата симетрични и асиметрични ключове за криптиране на данни.

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

Симетричен ключ. Когато криптиране на симетричен ключ, използвайте един и същ ключ за криптиране на данни. Ако две страни искат да обменят шифровани съобщения в безопасен режим, двете страни трябва да имат една и съща симетричен ключ. Криптирането е обикновено симетричен ключ, използван за криптиране на големи обеми от данни, като този процес е по-бърз от асиметрично криптиране. (- Data стандарт за шифроване на данни Encryption Standard), 3-DES (троен DES), RC2, RC4, DES и AES алгоритми се използват често (Advanced Encryption Standard - модерен стандарт за криптиране).

Асиметрична ключ. Encryption използване асиметричен (публичен) ключ използва двойка ключове, и двете от които са получени, като сложни математически изчисления. Един от ключовете се използва като отворена, обикновено Сертификационен център публикува публичния ключ в притежателя на сертификат (обикновено това е заглавието (предмет)). Частният ключ се пази в тайна и никога не okryvaetsya. Тези клавиши работят по двойки, един ключ се използва за стартиране на функциите на втората обратна ключа. Така че, ако публичния ключ се използва за шифроване на данни, разшифрова тях само таен ключ. Ако данните се шифроват с таен ключ, публичния ключ е да го разчете. Тази връзка прави възможно, като се използва схема за публичен ключ за криптиране, за да направи две важни неща. На първо място, всеки потребител може да получи публичния ключ до местоназначението и да го използвате, за да кодира данни, които могат да разчитам само потребител, който има таен ключ. Второ, ако заглавието криптира данните с помощта на частния ключ, всеки може да дешифрирате, използвайки съответния публичен ключ. Това е основата за цифрови подписи. Най-често срещаният алгоритъм, който се използва за криптиране с асиметрични ключове - RSA (кръстен на разработчиците Rivest, Шамир, Adleman).

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

хеширане

По време на потвърждението на връзката се съгласи добре и хеш алгоритъм. Функцията хашиш - еднопосочна математическа функция, която използва като входен съобщение на произволна дължина и изчислява от нея низ с фиксирана дължина. Hash стойност служи като идентификационен знак, "отпечатъка на публикации". Както пръстовите отпечатъци са уникални за всеки човек, стойностите на хеш са уникални, също. В допълнение, като пръстови отпечатъци е значително по-малко от самия човек, и хеш стойност е много по-малко от първоначалното съобщение. Разместване се използва за да се гарантира целостта на данните. Най-популярните хеш алгоритми са MD5 (Message Digest 5 - съобщение смилане версия 5) и SHA-1 (Standard Hash алгоритъм - стандартна хеширане алгоритъм). MD5 произвежда 128-битова стойност хеш и SHA-1 произвежда 160 битов хеш стойност. Също така има и нови, по-надеждни алгоритми за хешване: джакузи, SHA-512, SHA-384, HAVAL, Тайгър (2).

В резултат на алгоритъма хеш е стойността, която се използва за проверка на целостта на предаваните данни. Тази стойност се създава като се използва или MAC или HMAC. MAC - Message Authentication Code - код инспекционни пунктове на. Той използва функция за картографиране, и предоставя данните като стойност фиксиран размер, а след това - хешове на самото съобщение. MAC гарантира, че данните не е бил променен по време на предаването. Разликата между MAC и цифровия подпис е цифровия подпис е и начин да се удостовери. SSL използва MAC.

HMAC - хеширана Message Authentication Code - хешираното код за проверка съобщения. HMAC е подобен на MAC, но тя използва алгоритъм на смесване с общ таен ключ. Споделено таен ключ е приложен към данните, които се сегментира. Тя ви позволява да хеш-сигурна, тъй като и двете страни трябва да имат един и същ таен ключ, за да потвърди автентичността на данните. HMAC се използва само TLC протокол.

Нивото на записа

Протоколът на нивото на запис слой получава криптирана данни от клиентската програма и тя преминава към транспортния слой. Протокол Запишете се данните се разделя на блокове с размер, който е подходящ криптографски алгоритъм използва MAC (или HMAC) и след това криптира (декриптира) данни. Той използва информацията, която е била последователна в потвърждение на данните протокол време. В някои случаи, на това ниво преминава компресия (декомпресия) на данни.