Введение
Большинство сетевых протоколов, например, IMAP, POP, SMTP, HTTP, FTP и LDAP, обеспечивают поддержку шифрования информации по протоколу SSL. Обычно шифрование используется для скрытия передаваемых по сетям общего пользования логинов и паролей доступа к различным ресурсам, например, средствам администрирования через Web-интерфейс, акаунтов для предоставления различных услуг (хостинг, электронная почта, управление мобильным телефоном и т. п.), почтовым ящикам, закрытым каталогам на FTP и Web-серверах для передачи различных конфиденциальных сообщений. При передаче аутентификационной информации в виде обычного текста она может быть перехвачена третьими лицами с использованием программ-сниферов и использована для получения несанкционированного доступа к вашим ресурсам.Немного теории
В настоящее время протокол SSL практически незаметно для пользователя взаимодействует с остальными протоколами Интернет и обеспечивает передачу конфиденциальной информации по сетям общего пользования в зашифрованном виде. Программное обеспечение OpenSSL поддерживает протоколы SSL (Secure Sockets Layer) v2/v3 и TLS v1 (Transport Layer Security).Утилита командной строки openssl может использоваться для выполнения следующих задач:
* Создание и управление ключами RSA и DSA
* Создание сертификатов формата x509, запросов на подпись сертификатов, восстановление сертификатов
* Шифровать данные с помощью симметрического или асимметрического алгоритма шифрования
* Работать с S/MIME
* Производить ssl/tls тестирование серверов и клиентов
SSL использует асимметричные алгоритмы шифрования, т.н. шифрование с открытым ключом. В таком алгоритме один ключ используется для расшифровки данных, зашифрованных другим ключом. Эти два ключа (private/public) - пара ключей - создаются одновременно, с помощью математической формулы. Это единственный простой способ найти два ключа, обладающих специальной ассиметрией (при которой один из ключей может расшифровать зашифрованное вторым): вычисление одного из ключей по второму - задача невероятно сложная.
При применении шифрования с открытым ключом один ключ из пары делается свободно доступным, т.н. public key, а второй сохраняется в секрете, т.н. private key. Тот, кто хочет установить с создателем ключей безопасный контакт, может перед отправкой зашифровать свое сообщение, пользуясь открытым ключом (public key). Если адресат хранит закрытый ключ (private key) в секрете, то только он сможет расшифровать сообщение.
И наоборот, автор пары ключей может зашифровать свое сообщение закрытым ключом. Получатель может удостовериться, что сообщение действительно принадлежит автору ключей, попробовав расшифровать его с помощью открытого ключа. Если сообщение после расшифровки имеет какой то смысл, а отправитель действительно сохранил зарытый ключ в секрете, то сообщение действительно написано им. Успешная расшифровка также подтверждает, что сообщение не было изменено в процессе доставки (например, при прохождении через почтовый сервер), поскольку в противном случае не была бы получена правильная расшифровка. Так сообщение проверяется получателем.
К сожалению, шифрование больших объемов данных с помощью ассиметричных алгоритмов происходит медленно - гораздо медленнее, чем при использовании симметричных алгоритмов. Но при использовании шифрования с открытым ключом, в целях проверки подлинности (а не для сохранения конфиденциальности), совершенно не обязательно шифровать сообщение целиком. Вместо этого сообщение сначала обрабатывается вычислительно необратимой хеш-функцией
Вычислительно необратимая хеш-функция представляет собой специальный вид математических формул. Эта хеш-функция, известная также под именем криптографической контрольной суммы или дайджеста сообщения, вычисляет хеш-значение фиксированной длины на основе исходных данных произвольного объема. Суть вычислительно необратимой хеш-функции заключается в том, что каждый бит хеш-значения зависит от каждого из битов исходных данных. Если изменить единственный бит исходных данных, хеш-значение тоже изменится - очень сильно и непредсказуемо - настолько непредсказуемо, что задача обращения функции и нахождения ввода, приведшего к получению конкретного хеш-значения, является "вычислительно неосуществимой".
например с использованием алгоритма md5. Затем достаточно зашифровать только хеш-значение, которое является представлением данных. Зашифрованное хеш-значение, называемое теперь цифровой подписью, добавляется к сообщению, для которого будет производиться проверка подлинности. Получатель может проверить подлинность сообщения, расшифровав подпись и обработав сообщение копией вычислительно необратимой хеш-функции. Если полученные хеш-значения совпадают - сообщение подлинное.
Сертификат содержит публичный ключ, подписанный одним из корневых доверенных центров сертификации, данные об организации, выдавшей сертификат и в некоторых случаях зашифрованный закрытый ключ, а также отпечаток (хеш) публичного ключа.
Сертификаты имеют время действия, по окончанию которого они автоматически считаются недействительными, иерархия сертификатов обычно строится на основании сети доверия (бывают довольно длинные цепочки сертификатов, ведущие к доверенному ключу из root CA).
Таким образом, сертификат - это полный комплекс системы асимметрического шифрования, предоставляющий гораздо больше возможностей, чем сами по себе ключи (а также являющийся более защищенной системой). Одним из основных достоинств сертификата является возможность записи в него информации об организации, этот ключ выдавшей.
Сертификаты играют важную роль в коммуникационном процессе. Сертификат, подписанный доверенным СА, дает гарантию, что владелец сертификата, тот за кого он себя выдает. Без подписанного сертификата ваши данные будут зашифрованы, однако, сервер, с которым вы контактируете, может быть не тем, за кого себя выдает.
возможно у Вас отключен javascript, если включен - просто обновите страницу