Раздел: Документация
0 ... 55 56 57 58 59 60 61 ... 125 ключи, например как номера в телефонной книге, практически все смогут обмениваться друг с другом зашифрованными сообщениями. Недостаток криптографических алгоритмов рассмотренного типа состоит втом, что они, как правило, работают медленнее, чем симметричные. Для небольших текстовых файлов эта разница возможно будет не слишком заметной. Но для больших файлов она вероятно окажется существенной. Для создания же защищенного канала, такого как VPN, высокая скорость работы становится одним из необходимых требований. Гибридные технологии Симметричные алгоритмы функционируют быстро, а алгоритмы с открытым ключом - медленно. Комбинируя в гибридной системе алгоритмы обоих типов удается использовать преимущества каждой из двух систем. Например, программа Pretty Good Privacy (PGP) работает и с симметричными, и с асимметричными алгоритмами. Вначале сообщение шифруется при помощи специального случайно сгенерированного ключа, действительного только в течение данного сеанса. После шифрования сообщения симметричным (быстрым) алгоритмом, сам сеансовый ключ шифруется посредством открытого ключа. Поскольку сеансовый ключ намного короче исходного сообщения, время его шифрования будет относительно небольшим. Установка и настройка программы PGP описана более подробно в главе 11. V.................................................................................................-....................................................................................................................................................................................—........................................... .....................................................J Получатель сообщения расшифровывает сеансовый ключ своим секретным ключом. Затем сообщение можно быстро расшифровать при помощи симметричного алгоритма и сеансового ключа. Разработанный Netscape протокол Secure Sockets Layer также является гибридным и применяет как симметричные, так и асимметричные алгоритмы; подробнее он описан ниже. Практическое применение криптографии в Internet В настоящей главе уже упоминалось, что для шифрования почтовых сообщений подходит программа PGR Но чтобы применение криптографии в Internet было эффективным, необходимо определить стандарты и основанные на них службы, которыми могут пользоваться различные приложения, часто более сложные, чем простые системы электронной почты. Если бы все производители программного обеспечения имели собственные алгоритмы шифрования, все закончилось бы появлением массы программ, не способных к взаимодействию друг с другом. Поэтому были предприняты важные шаги по стандартизации методов создания цифровых Что такое цифровая подпись Применение криптографии с открытым ключом позволяет зашифровать сообщение, сделав его нечитаемым для всех, кому не известен закрытый ключ. Это решает проблему обмена ключами, поскольку знания только открытого ключа не достаточно для расшифровки сообщения. Но при этом у получателя сообщения нет возможности убедиться в том, что отправитель является тем, за кого себя выдает. Так, если вы получите сообщение от Билла Гейтса (Bill Gates), вы скорее всего подумаете, что это чья-то шутка и адрес в письме фальшивый. Как доказать, что сообщение было действительно отправлено Биллом и получено в том же виде, в каком его послал Билл? Справиться с такой задачей помогают цифровые nodnucu(digita\ signature). Рассмотрим, что произойдет, если вы зашифруете сообщение своим секретным ключом, а не открытым ключом получателя. Поскольку секретный ключ известен только вам, после расшифровки сообщения вашим открытым ключом получатель сможет определить, что оно пришло от вас. Конечно же, это означает, что сообщение сможет расшифровать любой, располагающий копией вашего открытого ключа. Не забывайте о том, что пары из секретного и открытого ключей работают в обоих направлениях. Данные, зашифрованные при помощи одного ключа, поддаются расшифровке только посредством второго ключа. Поэтому при наличии цифровой подписи обычно шифруется не все сообщение целиком, а только результат вычисления его хэш-функции. Хэш-функция дает строку данных, длина которой, как правило, намного меньше исходного сообщения (например, равна 160 бит). Как показано на рис. 9.1, результат хэш-функции, иногда называемый дайджестом сообщения (message digest), шифруется секретным ключом и пересылается вместе с сообщением. Пользователь может расшифровать результат хэш-функции и самостоятельно вычислить его для данного сообщения. Если вычисленное значение совпадает с расшифрованным, логично считать, что автор сообщения установлен и сообщение не было изменено, то есть была обеспечена целостность данных. При внесении любых изменений в сообщение его хэш-функция изменится. Как видите, данный метод не позволяет отправителю отрицать, что сообщение было послано им. Такое свойство называется nonrepudiation (буквально «неукло-няемость»), поскольку, если секретный ключ не был разглашен, цифровая подпись могла быть наложена только отправителем сообщения. Очевидно, что при наличии цифровой подписи не обязательно шифровать сам текст сообщения. При желании это можно сделать, но в алгоритм цифровой подписи такая операция уже не входит. Не исключено, что содержимое сообщения не секретно и вам нужно только удостоверить личность отправителя и целостность сообщения. Хэш-функция вычисляется независимо от того, зашифровано сообщение или нет. Основная идея здесь состоит в том, что одна и та же функция подписей и сетевых сертификатов и протокола SSL для защиты соединений с Web-серверами. ПРАКТИЧЕСКОЕ ПРИМЕНЕНИЕ КРИПТОГРАФИИ В INTERNET 179 > используется на обоих концах соединения, и поскольку секретный ключ, посредством которого создается цифровая подпись, есть только у отправителя, удается проверить источник сообщения. Отправитель Отправитель подтвержден, сообщение не было изменено Вычислить дайджест сообщения при помощи хэш-функции I Да Соответствует ли вычисленный дайджест расшифрованному? Зашифровать дайджест сообщения при помощи секретного ключа I Нет Сообщение было искажено или послано другим отправителем Расшифровать присланный вместе с сообщением зашифрованный дайджест при помощи открытого ключа отправителя I Вычислить дайджест сообщения при помощи хэш-функции Переслать сообщение и зашифрованный дайджест получателю Получить сообщение и зашифрованный дайджест Рис. 9.1. Цифровая подпись может помочь идентифицировать отправителя и проверить целостность данных Цифровые сертификаты Цифровые сертификаты (digital certificate) в чем-то напоминают цифровые подписи. Сертификат - это документ, который утверждает, что вы можете «доверять» определенной информации. Предположим, что вы хотите переслать кому-либо сообщение, используя криптографию с открытым ключом. Для этого вам надо вначале раздобыть открытый ключ получателя. Но как убедиться, что этот ключ действительно принадлежит ему? Предположим, что вы ранее не обменивались с ним зашифрованными сообщениями и открытый ключ приходит в электронном письме или от провайдера подобной услуги в Internet. Как определить в данном случае, принадлежит ли действительно ключ этому человеку? Всегда имеется риск, что это чужой ключ, присланный тем, кто надеется выдать себя за другого! Проверить, является ли на самом деле владельцем открытого ключа тот, кто вы думаете, позволяет цифровой сертификат, применение которого основано на 0 ... 55 56 57 58 59 60 61 ... 125
|