FreeSSL - SSL сертификаты
  • Главная
  • SSL сертификаты RapidSSL
  • SSL сертификаты RapidSSL Wildcard
  • Статьи
    • SSL для Apache под FreeBSD
    • Использование SSL
    • Как работает SSL-шифрация
    • Новости SSL
    • Перспективы SSL VPN
    • Поставщики VPN
    • Преимущества и недостатки VPN
    • Что такое SSL
  • Поддержка
 

Как работает SSL-шифрация

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

КОДИРОВАНИЕ ОТКРЫТЫМ КЛЮЧОМ
Существует несколько способов кодирования. Более распространенными являются способы с использованием одного ключа. Зная его можно закодировать начальную информацию, а затем, с помощью того же ключа декодировать информацию. Недостатком этого способа является то, что как отправитель, так и получатель должны знать этот ключ. Для этого отправитель должен как-то переслать ключ получателю информации. Учитывая большие расстояния и ненадежные способы связи, увеличивается риск попадания ключа к третьим лицам. Вот здесь на помощь нам приходит сложнейший способ кодирования, придуманный криптографами, где для передачи кодированного сообщения используется ключевая пара, т.е. используют в паре два ключа отрытый и секретный. Открытый ключ пересылается своему партнеру. Другой, секретный ключ никогда и никому не оглашают, он - секретный. Ключевая пара симметрична - данные, которые кодируются открытым ключом можно декодировать только секретным ключом. И наоборот. Такая симметрия довольно полезна в случае кодирования открытым ключем.

ЭЛЕКТРОННАЯ ПОДПИСЬ
Еще одна помощь, предложенная криптографами. Нам часто приходится не изменять данные до нечитаемого состояния, а подтверждать, что они составлены именно в таком виде и именно нами или по нашему согласию. Здесь на помощь приходит изобретенный криптографами алгоритм, который вычисляет сводный номер на основании всех битовых данных какой-либо информационной цепочки, т.е. вычисляется "отпечаток пальца", имеющий следующие свойства:
• Зная только "отпечаток пальца", невозможно восстановить текст оригинала;
• Практически невозможно составить текст с точно таким же "отпечатком пальца".

Это дает нам возможность убедится в том, что данные не изменены - если "отпечаток пальца" текста тот же, то текст не изменен. В сотрудничестве с криптографией открытого ключа у нас появляется совершенно новая возможность - подписывать документ элекронной подписью. Принцип работы электронной подписи очень прост! Сначала находим "отпечаток пальца" своего документа, затем кодируем его своим секретным ключом. Полученный результат прикладывается к документу как подпись. Получатель, если желает проверить подлинность нашей подписи, должен полученную подпись декодировать - если это удастся, то можно быть уверенным, что подпись составлена нами, поскольку только мы имеем необходимый секретный ключ для составления подписи. Более того, электронная подпись позволяет, в отличии от подписи на бумаге, не только опознать нас как отправителей, но и гарантирует, что текст полученный получателем, идентичен отосланному тексту. Для этого получатель должен найти "отпечаток пальца" полученного текста и сравнить его с приложенным нами к тексту "отпечатками пальцев". Если они совпадут, то текст идентичен.

КАК SSL ВСЕ ЭТО ИСПОЛЬЗУЕТ?
Важнейшие задачи SSL протокола:

• КОНТРОЛЬ АУТЕНТИЧНОСТИ СЕРВЕРА - гарантировать, что сервер, с которым клиент связывается, является именно тем сервером, с которым клиент желает связаться, а не подставленным третьими лицами.
• ЗАЩИТА ДАННЫХ НА ЛИНИЯХ СВЯЗИ - гарантировать, чтобы данные, которыми клиент и сервер обмениваются, были бы закодированными и нечитамыми для других.

КОНТРОЛЬ АУТЕНТИЧНОСТИ СЕРВЕРА
Сервер, с которым на основании протокола SSL связывается клиент, всегда обязан для своей идентификации представлять т.н. сертификат, т.е. файл, содержащий его открытый ключ и другие параметры, характеризующие сервер. Сертификат всегда подписан электронной подписью третьего-доверенного лица. Используя эту электронную подпись клиент всегда контролирует, с кем они имеет дело. Если сертификат не подписан или подписан неизвестным лицом, то об этом сообщается клиенту.

ЗАЩИТА ДАННЫХ НА ЛИНИЯХ СВЯЗИ
Если сервер подлинный, то оба - клиент и сервер генерируют один временный и действующий только в течение данного сеанса связи ключ, которым они будут в дальнейшем кодировать отправляемую информацию. Пересылаемый другой стороне ключ кодируется открытым ключом получаемой стороны. Это гарантирует, что ключ, предназначенный для кодирования сеанса связи, получит только адресат, потому что только он имеет секретный ключ для декодирования. 

 
© 2012 SSL-центр