Математики, шпионы и хакеры. Кодирование и криптография | страница 59
Небольшие различия в содержании сообщения приводят к совершенно разным хеш-кодам. Таким образом, получатель может быть уверен, что текст не был изменен.
Сертификаты открытых ключей
Однако наиболее важной проблемой систем криптографии с открытым ключом является проверка не подлинности сообщения, а подлинности самих открытых ключей. Как отправитель и получатель могут быть уверены, что открытые ключи их партнеров подлинны? Допустим, шпион обманул отправителя, дав ему свой открытый ключ и заставив его поверить, что это ключ получателя. Тогда, если шпиону удастся перехватить сообщение, он может использовать свой закрытый ключ для расшифровки. И чтобы избежать разоблачения, шпион затем использует открытый ключ получателя для повторного шифрования сообщения и отправляет это сообщение первоначальному адресату.
Вот почему существуют государственные и частные организации, занимающиеся независимой сертификацией открытых ключей. Сертификат такого типа содержит, помимо соответствующего ключа, информацию о владельце и сроке действия сертификата. Владельцы этого типа ключей делают свои сертификаты открытыми, чтобы ими можно было обмениваться с определенной степенью безопасности.
* * *
ЦИФРОВАЯ СТЕГАНОГРАФИЯ
Хотя это может показаться парадоксальным, развитие новых технологий привело к возрождению стеганографии. Обычный аудио-файл состоит из 16-битовых значений, воспроизводимых с частотой в 44,1 кГц. Очень просто использовать некоторые из этих битов для передачи секретных данных, так что слушатель вообще не заметит никакой акустической разницы. Файлы изображений также можно использовать для передачи скрытой информации.
Большинство интернет-шпионов и хакеров мало интересуются сообщениями, которыми обмениваются обычные люди, за одним исключением: если сообщения содержат номера кредитных карт. Но существует криптографическая система, которая защищает передачу такой важной информации, известная как TLS (Transport Layer Security — безопасность транспортного уровня). Она была разработана в 1994 г. корпорацией Netscape, занимающейся программным обеспечением для интернета, и была принята в качестве глобального стандарта два года спустя.
Протокол TLS использует как открытые, так и симметричные ключи и представляет собой довольно сложный процесс, который в кратком изложении выглядит так.
Во-первых, веб-браузер интернет-покупателя проверяет, имеет ли интернет-продавец действительный сертификат открытого ключа. Если это так, браузер использует этот открытый ключ для шифрования второго ключа, на этот раз симметричного, который он посылает продавцу. Продавец использует свой закрытый ключ для расшифровки сообщения и получает симметричный ключ, которым будет шифроваться вся обрабатываемая информация. Таким образом, чтобы получить номер кредитной карты при любом интернет-платеже, злоумышленник должен будет взломать не одну, а две системы шифрования.