Алгоритм Blowfish поддерживает 64-битный блочный шифратор, ключ переменного размера до 448 бит.
9.2 Асимметричные алгоритмы
Эти алгоритмы используются в асимметричных криптосистемах для шифрования симметричных сеансовых ключей (которые используются для шифрования самих данных).
RSA- это самый популярный алгоритм асимметричного шифрования, стойкость которого зависит от сложности факторизации больших целых чисел.
Алгоритм на основе эллиптических кривых использует алгебраическую систему, которая описывается в терминах точек эллиптических кривых. Его современные реализации показывают, что эта система гораздо более эффективна, чем другие системы с открытыми ключами. Производительность этого алгоритма приблизительно на порядок выше, чем производительность RSA, Диффи-Хеллмана и DSA.
Алгоритм Эль-Гамаль - это разновидность метода Диффи-Хеллмана, который может быть использован как для шифрования, так и для электронной подписи.
9.3Хэш-функции
Хэш-функции являются одним из важных элементов криптосистем на основе ключей. Их относительно легко вычислить, но почти невозможно расшифровать. Хэш-функция имеет исходные данные переменной длины и возвращает строку фиксированного размера, обычно 128 бит. Хэш-функции используются для обнаружения модификации сообщения, т. е. для электронной подписи.
Существует несколько типов хэш-функций MD2-MD5, оптимизированных для различных вычислительных систем. Но наиболее распространена SHA(SecureHashAlgorithm), которая создает 160-битное значение из исходных данных переменного размера.
9.4 Электронные подписи
Электронная подпись позволяет проверять целостность данных, но не обеспечивает их конфиденциальность. Она добавляется к сообщению и может шифроваться вместе с ним. В настоящее время распространено несколько алгоритмов для цифровой подписи.
DSA(DigitalSignatureAuthorization) - алгоритм с использованием открытого ключа для создания электронной подписи (но не для шифрования), когда создается секретное хэш-значение и выполняется его публичная проверка.
Запатентованная RSA электронная подпись позволяет проверить целостность сообщения и личность лица, создавшего электронную подпись. Отправитель создает хэш-функцию сообщения, а затем шифрует ее с использованием своего секретного ключа. Получатель использует открытый ключ отправителя для расшифровки хэша, сам рассчитывает хэш для сообщения, и сравнивает эти два хэша.
10. Программа PGP
PGP(PrettyGoodPrivacy) (www.pgp.com) - это криптографическая программа с высокой степенью надежности, которая позволяет пользователям обмениваться информацией в электронном виде при полной конфиденциальности. В PGP применяется принцип использования двух взаимосвязанных ключей: открытого и секретного.
Главное преимущество этой программы состоит в том, что для обмена зашифрованными сообщениями пользователям нет необходимости передавать друг другу ключи, так как PGP построена на обмене открытыми (публичными) ключами, например, через Интернет.
Когда пользователь шифрует сообщение с помощью PGP, то программа сначала сжимает текст, что сокращает время на отправку сообщения через модем и увеличивает надежность шифрования. Как только данные будут зашифрованы, сессионный ключ кодируется с помощью открытого ключа получателя сообщения, который отправляется к получателю вместе с зашифрованным текстом.
Расшифровка происходит в обратной последовательности. Программа PGP получателя сообщения использует секретный ключ получателя для извлечения временного сессионного ключа, с помощью которого она затем дешифрует закодированный текст.
Ключ - это число, которое используется криптографическим алгоритмом для шифрования текста. Как правило, ключами являются огромные числа, поскольку, чем больше ключ, тем его сложнее взломать. Размер ключа измеряется в битах, число, представленное 1024 битами - очень большое (2 в 1024 степени).
Ключи хранятся на жестком диске вашего компьютера в зашифрованном состоянии в виде двух файлов: одного для открытых ключей, другого - для закрытых. Эти файлы называются «кольцами» (keyrings). При работе с программой PGP вы, как правило, будете вносить открытые ключи ваших корреспондентов в открытые «кольца». Ваши секретные ключи хранятся в закрытом «кольце». Потеряв его, вы не сможете расшифровать никакую информацию, закодированную с помощью ключей, находившихся в этом «кольце».
Кроме ключей, можно использовать цифровую подпись, которая позволяет получателю сообщения удостовериться в личности отправителя, а также в целостности или верности полученного сообщения.
11. Стеганографическая зашита
Под стеганографиейпонимают метод организации связи, который собственно скрывает само наличие связи. В отличие от криптографии, где злоумышленник может точно определить, является ли передаваемое сообщение зашифрованным текстом, стеганография позволяют встраивать секретные сообщения в другие документы так, чтобы невозможно было заподозрить существование встроенного тайного послания.
Стеганография не заменяет, а дополняет криптографию. Сокрытие сообщения методами стеганографии значительно снижает вероятность обнаружения самого факта передачи сообщения. А если это сообщение к тому же зашифровано, то оно имеет еще один, дополнительный, уровень защиты.
С появлением компьютеров возникла компьютерная стеганография. Под компьютерной стеганографической системой (стегосистемой) понимают совокупность средств и методов, которые используются для формирования скрытого канала передачи информации.
При передаче сообщения используется какой-либо носитель (контейнер), предназначенный для сокрытия тайных сообщений. Сте-ганографическое сообщение сопровождается передачей стегоключа. По аналогии с криптографией, по типу стегоключа стегосистемы можно подразделить на два типа: с секретным и открытым ключом.
В стегосистеме с секретным ключом используется один ключ, который должен быть определен либо до начала обмена секретными сообщениями, либо передан по защищенному каналу.
В стегосистеме с открытым ключом для встраивания и извлечения сообщения используются разные ключи, которые различаются таким образом, что с помощью вычислений невозможно вывести один ключ из другого. Поэтому один ключ (открытый) может передаваться свободно по незащищенному каналу связи.
Важнейшее условие стеганографии - подобрать такой контейнер, который скрывает какое-то сообщение так, чтобы никто не заподозрил, что в нем находится тайное послание. Как уже было отмечено выше, многие популярные стеганографические программы используют в качестве контейнера графические файлы.
Контейнеры можно подразделить на два типа: непрерывные (потоковые) и ограниченной (фиксированной) длины. Особенностью первого типа контейнера является то, что невозможно определить его начало или конец. Поэтому самая большая трудность для получателя заключается в том, чтобы определить, когда начинается скрытое сообщение. При наличии в непрерывном контейнере сигналов синхронизации или границ пакета скрытое сообщение начинается сразу после одного из них.
При использовании контейнеров фиксированной длины отправитель заранее знает размер файла и может выбрать скрывающие биты в подходящей псевдослучайной последовательности. С другой стороны, контейнеры фиксированной длины имеют ограниченный объем и иногда встраиваемое сообщение может не поместиться в файл-контейнер. Второй недостаток этого типа контейнера заключается в том, что расстояния между скрывающими битами распределены равномерно. На практике чаще всего используются контейнеры фиксированной длины, как наиболее распространенные и доступные.
Контейнер может генерироваться самой стегосистемой или выбираться из некоторого множества контейнеров. Во втором случае отсутствует возможность выбора контейнера и для сокрытия сообщения берется первый попавшийся контейнер.
Наиболее известной стеганопрограммой является Steganos II SecuritySuite (www.steqanography.conn) .
12. Способы зашиты транзакций
Успешная реализация товаров и услуг в интерактивном режиме в огромной степени зависит от уровня безопасности.
Наиболее распространенным способом обеспечения безопасности по периметру является брандмауэр, который защищает сервер от несанкционированного доступа. Существуют как программные, так и аппаратные брандмауэры. И те, и другие одновременно обеспечивают защиту сервера от взлома и контроль за его использованием.
Одним из способов обеспечения защиты является идентификация источника входящего сообщения путем подтверждения права пользователя на доступ с применением различных технологий, в частности, цифровой подписи или цифровых сертификатов. Цифровая подпись- это закодированное электронным способом сообщение, сопровождающее текстовый документ и удостоверяющее личность автора последнего. Цифровые сертификатыидентифицируют автора и происхождение сообщения путем обращения к независимой организации (например, Verisign), подтверждающей его личность.
Существует несколько общепризнанных способов обеспечения безопасности сделок, заключаемых между покупателем и продавцом. Вот некоторые из них: протокол безопасных соединений (securesocketslayer - SSL), с помощью которого устанавливается защищенное соединение между Web-сервером и браузером абонента, технология защищенных электронных транзакций (secureelectronictransaction- SET), разработанная корпорациями MasterCard и Visa для организации продаж по кредитным карточкам в безопасном режиме. Также используется шифрование - технология кодирования данных таким образом, что расшифровать их можно только при наличии соответствующего ключа. Наиболее распространенными способами шифрования являются алгоритм цифровой подписи Ривеста-Шамира-Адлемана (Rivest-Shamir-Adleman - RSA), алгоритм «надежной конфиденциальности» (prettygoodprivacy - PGP), алгоритм Диффе-Хеллмана (Diffe-Hellman), стандарт шифрования данных DES.