Шифрование на симметричном ключе. Для шифрования и расшифровки данных используется один и тот же ключ. Эта форма шифрования более эффективна с точки зрения скорости. При этом обеспечивается некоторый уровень безопасности, поскольку принимающая сторона должна знать ключ для расшифровки информации. Главным недостатком шифрования на симметричном ключе является то, что при вскрытии ключа злоумышленник сможет расшифровать данные. Он даже сможет зашифровать их и отправить принимающей стороне, выдав себя за легитимного отправителя.
Шифрование на открытом ключе. Более сложный процесс с точки зрения использования ключей. IIS предоставляет на выбор два алгоритма шифрования на открытом ключе – DH (Diffie-Hellman) и RSA (сокр. от имен разработчиков Ron Rivest, Adi Shamir и Leonard Adleman). RSA используется чаще всего, поэтому в данной лекции мы рассмотрим именно этот алгоритм. При шифровании на открытом ключе создается пара ключей – открытый ключ и секретный ключ.
Открытый ключ распространяется свободно. Данные, зашифрованные на открытом ключе, можно расшифровать только при помощи второй, секретной половины ключа. Поскольку владельцем данных являться человек, обладающий секретным ключом, то единственным человеком, который сможет прочитать данные после шифрования, будет тот, для кого они предназначены. Даже зашифровавший данные пользователь не сможет расшифровать их без секретного ключа.
Секретный ключ, разумеется, необходимо содержать в секрете. Его можно использовать для подписывания данных с целью подтверждения подлинности. Открытый ключ используется для проверки подлинности подписи и установления возможных искажений данных. Если данные зашифрованы при помощи секретного ключа, то без открытого ключа их не сможет расшифровать даже тот человек, который их зашифровал. Опять-таки, поскольку секретный ключ находится только у владельца, то данные являются подлинными. В противном случае, только владелец секретного ключа может просмотреть данные.
По сравнению с шифрованием на симметричном ключе шифрование на открытом ключе требует выполнения большего объема работы и является не столь эффективным. При шифровании больших объемов данных использование этого метода отрицательно сказывается на производительности. Тем не менее, можно использовать шифрование на открытом ключе для зашифровки симметричного ключа, после чего применить более эффективное симметричное шифрование для зашифровки остальных данных. Именно этот процесс лежит в основе функционирования SSL.
МОЩНОСТЬ ШИФРОВАНИЯ.
Мощность шифрования зависит от длины ключа и типа шифра, используемого для шифрования. Сообщения, созданные при помощи 128-битного ключа, взломать в 3х1026 раз сложнее, чем сообщения, созданные при помощи 40-битного ключа. Это в некоторой степени объясняет то, почему правительство США раньше не разрешало экспортировать технологию, поддерживающую ключи длиной более 40 бит. В целях безопасности, правительство США отталкивалось от того факта, что оно сможет дешифровать перехваченные зашифрованные данные. Это гораздо сложнее сделать при использовании 128-битных ключей! Многое зависит и от того, какой именно шифр используется при шифровании данных. Например, данные, зашифрованные при помощи симметричного шифра (например, шифра DES – Data Encryption Standard) с применением 64-битного ключа, сопоставимы по уровню защищенности с сообщением, зашифрованным при помощи RSA на ключе длиной в 512 бит.
СХЕМА ШИФРОВАНИЯ С ОТКРЫТЫМ КЛЮЧОМ.
Пусть K — пространство ключей, а e и d — ключи шифрования и расшифрования соответственно. Ee — функция шифрования для произвольного ключа eK, такая что:
Ee(m) = c
Здесь cC, где C — пространство шифротекстов, а mM, где M — пространство сообщений.
Dd — функция расшифрования, с помощью которой можно найти исходное сообщение m, зная шифротекст c :
Dd(c) = m
{Ee: eK} — набор шифрования, а {Dd: dK} — соответствующий набор для расшифрования. Каждая пара (E,D) имеет свойство: зная Ee, невозможно решить уравнение Ee(m) = c, то есть для данного произвольного шифротекста cC, невозможно найти сообщение mM. Это значит, что по данному e невозможно определить соответствующий ключ расшифрования d. Ee является односторонней функцией, а d — лазейкой.[3]
СПИСОК ЛИТЕРАТУРЫ.
1. Мельников Ю. Н., Теренин А. А. Возможности нападения на информационные системы банка из Интернета и некоторые способы отражения этих атак // Банковские технологии. 2003.
2. Водолазский В. Коммерческие системы шифрования: основные алгоритмы и их реализация. Часть 1. // Монитор. - 2002. - N 6-7. - c. 14 - 19.
3. Мафтик С. Механизмы защиты в сетях ЭВМ. - М.: Мир, 2003.