Як працює ssl
Протокол SSL використовує середовище з декількома шарами, що і забезпечує безпеку обміну інформацією. Конфіденційність спілкування встановлюється за рахунок того, що безпечне підключення відкривається тільки цільовим користувачам.
Безпечний SSL протокол розміщується між двома протоколами: протоколом, кото-рий використовує програма-клієнт (HTTP, FTP, IMAP, LDAP, Telnet і т.д.) і транспортним протоколом TCP / IP. Створюючи свого роду заслінки з обох сторін, він захищає і передає дані на транспортний рівень. Завдяки роботі по багатошаровому принципом, SSL протокол може підтримувати багато різних протоколів програм-клієнтів.
шифрування даних
Існує два основних способи шифрування даних: симетричний ключ ( «загальний секретний ключ») і асиметричний ключ ( «схема відкритий-секретний ключ»). Протокол SSL використовує як симетричні, так і асиметричні ключі для шифрування даних. SSL-ключ - це зашифровані дані, які використовуються для визначення схеми шифрування даних під час сесії. Чим довше ключ, тим важче його зламати.
Симетричний ключ. При шифруванні симетричним ключем, використовується один і той же ключ для шифрування даних. Якщо дві сторони хочуть обмінюватися зашифрованими повідомленнями в безпечному режимі, то обидві сторони повинні мати однакові симетричні ключі. Шифрування симетричним ключем зазвичай використовується для шифрування великих об'ємів даних, так як це процес проходить швидше, ніж при асиметричному шифруванні. Зазвичай використовуються алгоритми DES (Data Encryption Standard - стандарт шифрування даних), 3-DES (потрійний DES), RC2, RC4, і AES (Advanced Encryption Standard - сучасний стандарт шифрування).
Асиметричний ключ. Як правило, алгоритми асиметричних ключів більш стійкі їх практично неможливо зламати. Шифрування із застосуванням асиметричного (відкритого) ключа використовує пару ключів, які обидва були отримані, пройшовши цілий комплекс математичних обчислень. Один з ключів використовується в якості відкритого, як правило, сертифікаційний центр публікує відкритий ключ в самому сертифікаті вла-ділка (зазвичай це є заголовком (subject)). Секретний ключ тримається в таємниці і ніколи нікому не окривается. Ці ключі працюють в парі: один ключ використовується для запуску протилежних функцій другого ключа. Так, якщо відкритий ключ використовується щоб шифрувати дані, то розшифрувати їх можна тільки секретним ключем. Якщо дані шифруються секретним ключем, то відкритий ключ повинен це розшифровувати. Такий взаємозв'язок дозволяє, використовуючи схему шифрування відкритим ключем, робити дві важливі речі. По-перше, будь-який користувач може отримати відкритий ключ за призначенням і використовувати його для шифрування даних, розшифрувати які може тільки користувач, у якого є секретний ключ. По-друге, якщо заголовок шифрує дані, використовуючи свій секретний ключ, кожен може розшифрувати дані, використовуючи відповідний відкритий ключ. Саме це є основою для цифрових підписів. Найпоширеніший алгоритм, який використовується при шифруванні з асиметричними ключами - RSA. Протокол SSL використовує шифрування з відкритим ключем для того, щоб підтвердити клієнту справжність сервера, і навпаки. Шифрування відкритим ключем також використовується для визначення ключа сесії. Ключ сесії використовується симетричними алгоритмами для шифровки великого обсягу даних. Це об'єднує асиметричне шифрування (для перевірки автентичності) і швидке симетричне шифрування об'ємних даних (що не вимагає великих обчислювальних ресурсів і великих витрат часу).