Статьи - Защита информации в интернете. Часть 1. Шифрование с открытым ключом
Защита информации в интернете. Часть 1. Шифрование с открытым ключом
Проблема секретности: вы хотели бы сообщить номер вашей кредитной карты, если бы знали, что эта информация может попасть в чужие руки? Проблема целостности: как вы можете определить, не была ли посланная вам информация изменена хакером? Проблема подлинности: вы можете быть уверены в том, что компания, получающая вашу информацию, имеет хорошую репутацию? Проблема отказа от обязательств: как вы сможете доказать, что сообщение было действительно послано? Эти вопросы формулируют четыре основных требования успешной, безопасной транзакции. В этой статье мы обсудим, как эти требования могут быть учтены с помощью такого популярного механизма защиты электронной коммерции, как шифрование с открытым ключом.
Каждый использующий Сеть для электронной торговли должен понимать важность проблемы безопасности персональной информации. Существуют несколько протоколов, которые обеспечивают защиту данных при выполнении транзакции. Речь идет о протоколах Secure Sockets Layer (SSL — уровень защищенных гнезд, протокол безопасных соединений) и SET — протокол защищенных электронных транзакций.
Каналы, по которым передаются данные в Интернет, не защищены. Следовательно, любая частная информация, которая передается по этим каналам, должна передаваться с использованием каких-либо средств защиты. Чтобы гарантировать защиту информации, данные можно зашифровать. Эту задачу решает криптография, с помощью которой данные трансформируются с использованием ключа шифрования. Зашифрованные данные становятся недоступными для всех, за исключением получателей этой информации. Нешифрованные данные называются открытым текстом; шифрованные данные называются зашифрованным текстом. Только получатели данных должны иметь соответствующий ключ, позволяющий им перевести шифрованный текст в открытый текст.
В прошлом, организации, желающие работать в безопасной вычислительной среде, использовали симметричные криптографические алгоритмы, также известные под именем шифрования с закрытым ключом, в которых один и тот же закрытый ключ использовался и для шифрования и для расшифровки сообщений. В этом случае отправитель шифровал сообщение, используя закрытый ключ, затем посылал зашифрованное сообщение вместе с закрытым ключом получателю. Такая система имела недостатки. Во-первых, секретность и целостность сообщения могли быть скомпрометированы, если ключ перехватывался, поскольку он передавался от отправителя к получателю вместе с сообщением по незащищенным каналам. Кроме того, так как оба участника транзакции используют один и тот же ключ для шифрования и дешифрования сообщения, вы не можете определить, какая из сторон создала сообщение. В заключение нужно сказать, что для каждого получателя сообщений требуется отдельный ключ, а это значит, что организации должны иметь огромное число закрытых ключей, чтобы поддерживать обмен данными со всеми своими корреспондентами.
Для электронной торговли требуется высокая степень защиты. Шифрование с открытым ключом - асимметричное шифрование - является более безопасным методом. В этом подходе используются два связанных ключа - открытый ключ и закрытый ключ. Закрытый ключ сохраняется в секрете его владельцем, открытый ключ распространяется свободно. Если открытый ключ используется для шифрования сообщения, то только соответствующий ему закрытый ключ может расшифровывать это сообщение. И наоборот. Каждая сторона транзакции имеет как открытый, так и закрытый ключ. Чтобы передавать сообщение с большей надежностью, отправитель при шифровании сообщения использует открытый ключ получателя. Получатель расшифровывает сообщение, используя свой уникальный закрытый ключ получателя. Поскольку никто не знает закрытого ключа, то сообщение не может быть прочитано никем другим, кроме как получателем сообщения. Таким образом гарантируется секретность сообщения.
Цифровая подпись, электронный эквивалент традиционной подписи, была разработана для использования в алгоритмах шифрования с открытым ключом для решения проблемы подлинности и целостности. Цифровая подпись позволяет получателю быть уверенным в том, что послание действительно было послано отправителем. Цифровая подпись, подобно рукописной сигнатуре, служит доказательством подлинности письма и ее также трудно подделать. Чтобы создать цифровую подпись, отправитель должен пропустить первоначальное открытое сообщение через функцию хэширования, которая выполняет математические вычисления, в результате выполнения которых вычисляется значение хэш-функции. Хэш-функция может быть очень простой, и, например, может выполнять сложение всех единиц в двоичном представлении текста сообщения, хотя обычно эти функции выполняют более сложные вычисления. Вероятность того, что два различных сообщения будут иметь одно и то же значение хэш-функции, статистически ничтожна. Отправитель использует свой закрытый ключ, чтобы зашифровать значение хэш-функции, создавая таким образом цифровую подпись и подтверждая подлинность сообщения, потому что только владелец закрытого ключа мог выполнить такое шифрование. Первоначальное сообщение, зашифрованное открытым ключом получателя, цифровая подпись и значение хэш-функции посылается получателю. Получатель использует открытый ключ отправителя, чтобы декодировать цифровую подпись и получить значение хэш-функции. Получатель затем использует свой собственный закрытый ключ, чтобы декодировать первоначальное сообщение. В заключение получатель применяет хэш-функцию к первоначальному сообщению. Если полученное значение хэш-функции для исходного сообщения соответствует значению, включенному в цифровую подпись, это служит свидетельством целостности сообщения, то есть того, что оно не было изменено в процессе передачи по каналам связи.
Одна из проблем шифрования с открытым ключом состоит в том, что кто-либо, обладающий набором ключей, потенциально может попытаться изобразить из себя отправителя сообщения. Предположим, что заказчик хочет поместить заказ в электронном магазине. Как заказчик может узнать, что Web-сайт, на который он обращается, действительно принадлежит этому торговцу, а не некоему третьему лицу, которое маскируется под сайт торговца с целью получить информацию о кредитных картах? Инфраструктура открытого ключа (Public Key Infrastrukture — PKI) позволяет решить этот вопрос с помощью цифровых сертификатов, удостоверяющих подлинность сообщений. Цифровые сертификаты распределяются cпециальной организацией — certification authority (CA) — и подписываются закрытым ключом этой организации. Цифровой сертификат включает имя участника (организации или человека), его открытый ключ, серийный номер, срок годности сертификата, разрешение от поставщика сертификатов и любую другую информацию, имеющую отношение к теме. В качестве CA может выступать финансовая организация или другая организация, например VeriSign, которая выдает сертификаты и открытые ключи своим клиентам, для опознания этих клиентов. CA берет на себя ответственность за сертификат, поэтому сведения о получателе сертификата тщательно проверяются перед выдачей цифрового сертификата. Доступ к цифровым сертификатам открыт, а содержатся они в архивах сертификатов.
Компания VeriSign, Inc. — один из лидеров защиты электронных данных. VeriSign разрабатывает PKI и решения для цифровых сертификатов.
Многие люди по прежнему считают электронную торговлю опасным занятием, нескольку им кажется, что данные в этой технологии не защищены. На самом деле транзакции, использующие PKI и цифровые сертификаты, защищены лучше, чем информация, передаваемая по телефонным линиям, по почте или при проведении платежей с помощью кредитной карты. Алгоритмы шифрования с ключом, используемые в большинстве транзакций, почти невозможно скомпрометировать. По некоторым оценкам, алгоритмы шифрования с ключом, используемые в криптографической защите с открытым ключом, настолько безопасны, что даже миллионы компьютеров, работающих параллельно, не смогут раскрыть шифр даже за сто лет работы.
RSA Security, Inc. — признанный лидер средств защиты электронных данных. RSA была основана в 1982 году тремя профессорами MIT (Rivest, Shamir и Adleman) — изобретателями системы криптографической защиты RSA Public Key Cryptosystem. Их технологии шифрования и идентификации используются большинством ведущих компаний и компаниями, занимающимися электронной торговлей. С появлением Интернет и Всемирной паутины их работа, связанная с защитой, стала более значимой, а в приложениях электронной торговли — играет определяющую роль. Их программы шифрования встраиваются больше чем в 450 миллионов копий популярных приложений Интернет, включая браузеры, коммерческие серверы и системы электронной почты. Безопасные транзакции электронной торговли и безопасная связь в Интернет реализуются, в основном, с помощью программ RSA.