Сайт о телевидении

Сайт о телевидении

» » Разница между асимметричными и симметричными методами шифрования? Симметричное и асимметричное шифрование: определение понятия, применение, примеры

Разница между асимметричными и симметричными методами шифрования? Симметричное и асимметричное шифрование: определение понятия, применение, примеры

Это отличное введение в принципы криптографии.

Если вас серьезно интересует криптография, я настоятельно рекомендую Handbook of Applied Cryptography как удивительную справочную работу. Сначало будет слишком много, но это бесплатно, так что теперь возьмите копию:) и когда вы закончите с AC, прочитайте HAC. (На самом деле, издание в твердом переплете очень хорошо сделано и гораздо легче читать, чем несколько сотен страниц бумаги с лазерной печатью, подумайте о покупке, если вам нравится внешний вид PDF файлов.)

Симметричное шифрование работает, смешивая секретный ввод с секретным ключом таким образом, что он (а) быстро (b) не может выводить вход или ключ из вывода. Детали микширования значительно различаются, но есть блок-шифры и потоковые шифры ; блочные шифры работают, просматривая входные данные в 8 или 16 или 32 байтовых блоках за раз, и рассеивая вход и ключ в этих блоках. Различные режимы необходимы для шифрования большего количества данных, чем пригонки в блоках, а различные режимы работы могут или не могут распространять данные между блоками.

Симметричные шифры являются фантастическими для шифрования массовых данных, от 8 до 8 терабайт, это лучший выбор для шифрования данных.

Асимметричное шифрование работает, используя очень сложные математические проблемы с задними дверями, которые позволяют быстро решить проблему, если у вас есть небольшой кусок очень важных данных. Обычными математическими проблемами являются факторинг больших чисел и дискретные логарифмы . Асимметричные алгоритмы работают с фиксированным размером данных, обычно 1024-2048 бит для RSA и El Gamal и 384 бит для Эллиптическая кривая версий RSA или El Gamal. (Версии Elliptic Curve используют разные field , чем целые числа для их вычислений. RSA и El Gamal и подобные системы работают с любым полем, которое определяет оба операция умножения и добавления, а ECC имеет другое представление этого поля, которое волшебным образом добавляет "больше" данных. Это очень умный способ сделать известные механизмы вписываться в меньшую память, и мое введение в одно предложение может не начинайте делать это справедливо. Простота - удивительная часть.)

Асимметричное шифрование помогает решить проблему распределения ключей, но только: вместо того, чтобы требовать пары ключей O (N ^ 2) между каждой парой люди, которые хотят использовать криптографию, чтобы говорить между собой, для этого требуются ключи O (N), одна общедоступная/частная пара на человека, и все просто должны знать все остальные публичные части. Это все еще непростая задача, поскольку демонстрируется сложность x509 , но такие механизмы, как openPGP и OpenSSH имеют более простые модели и механизмы, которые хорошо работают для многих целей.

Асимметричные шифры обычно используются для передачи ключей сеанса для симметричных шифров. Даже когда передается только небольшой объем данных, криптографы обычно предпочитают отправлять фактические данные, зашифрованные с помощью симметричного шифра, и отправлять ключ, зашифрованный с помощью асимметричного шифрования. Одно огромное преимущество заключается в том, что вы можете отправить сообщение нескольким получателям, а размер сообщения будет равен O (размер сообщения + 100 * 2048 бит) - вы можете зашифровать ключ сеанса каждому из получателей индивидуально, и только передайте сообщение один раз. Большой успех.

Асимметричные шифры также используются для цифровых подписей . Хотя можно использовать симметричный шифр для аутентификации сообщения , симметричный шифр не может использоваться для предоставления

Постановка задачи защиты информации (Security challenge)

Схема симметричного шифрования

Формально симметричная схема шифрования может быть описана следующим образом:

SE = (K, E, D) , где

  • K - алгоритм генерации ключа K,
  • E(M, K) = C - алгоритм шифрования открытого текста M на ключе K, результатом которого является шифротекст C,
  • D(C, K) = M - алгоритм расшифрования шифротекста C на ключе K, результатом которого является открытый текст M

Процесс обмена сообщениями можно описать следующим образом:

Отправитель шифрует сообщение, используя определенный алгоритм шифрования, на вход которому подаются исходное (незашифрованное) сообщение и ключ. Выходом алгоритма является зашифрованное сообщение. Ключ является значением, не зависящим от шифруемого сообщения. Изменение ключа должно приводить к изменению зашифрованного сообщения.

Зашифрованное сообщение передается получателю. Получатель преобразует зашифрованное сообщение в исходное с помощью алгоритма расшифрования и того же самого ключа, который использовался при шифровании, или ключа, легко получаемого из ключа шифрования.

Наиболее важный компонент схемы симметричного шифрования - используемый в ней алгоритм шифрования. В настоящее время выделяют блочные и поточные алгоритмы шифрования:

  • блочные шифры. Обрабатывают информацию блоками определённой длины (обычно 64, 128 бит, как например в DES или AES), применяя к блоку ключ в установленном порядке, как правило, несколькими циклами перемешивания и подстановки, называемыми раундами.
  • поточные шифры, в которых шифрование проводится над каждым битом либо байтом исходного (открытого) текста с использованием гаммирования.

На практике, грань между блочными и поточными алгоритмами шифрования довольно размытая (поточный шифр может быть легко создан на основе блочного, например, ГОСТ 28147-89 в режиме гаммирования).

Схемы шифрования, используемые в блочных шифрах, принято также называть режимами шифрования.

Вот некоторые из симметричных схем шифрования:

  1. (ECB) Electronic Code Book (Режим электронной кодовой книги)
    • (ECB CTS
  2. (CBC) Cipher Block Chaining Режим сцепления блоков шифротекста
    • (CBC CTS) CipherText Stealing (Захват зашифрованного текста)
    1. () block chaining Режим сцепления блоков
    2. (CBC$) Cipher Block Chaining with random IV (initialization vector) Режим сцепления блоков со случайным вектором инициализации
    3. (CBCC) cipher block chaining with checksum Режим сцепления блоков шифротекста с контрольной суммой
    4. (PCBC) propagating cipher block chaining Режим сцепления блоков с распространением ошибок
    5. (CBCPD) cipher block chaining of plaintext difference Сцепления блоков текста по различиям открытого текста
  3. (CFB) Cipher Feed Back Режим обратной связи по шифротексту
  4. (OFB) Output Feed Back Режим обратной связи по выходу
  5. (OFBNLF) output feedback with a nonlinear function Режим нелинейной обратной связи по выходу
  6. (PBC) plaintext block chaining Сцепление блоков открытого текста
  7. (PFB) plaintext feedback Режим обратной связи по открытому тексту
  8. (CTR) Counter Режим счетчика
  9. Кратное шифрование
    1. Двойное
      • Метод Дэвиса-Прайса
    2. Тройное
      • Схема Тачмена
      • Схема с тремя ключами

Основные криптографические конструкции и их стойкость (Cryptographic primitives and/or protocols)

Криптографическая стойкость симметричных схем шифрования практически полностью зависит от используемого в ней симметричного алгоритма шифрования. Как правило, при анализе стойкости симметричного (одноключевого) алгоритма подразумевается, что используется наиболее простая схема шифрования - ECB. Использование других схем может улучшить некоторые свойства алгоритма, в определенных случаях, но никак не наоборот.

Для обеспечения надежности симметричных алгоритмов шифрования необходимо:

  • криптографический алгоритм должен быть достаточно стойким, чтобы передаваемое зашифрованное сообщение невозможно было расшифровать без ключа, используя только различные статистические закономерности зашифрованного сообщения или какие-либо другие способы его анализа.
  • безопасность передаваемого сообщения должна зависеть от секретности ключа, но не от секретности алгоритма. Алгоритм должен быть проанализирован специалистами, чтобы исключить наличие слабых мест, при наличии которых плохо скрыта взаимосвязь между незашифрованным и зашифрованным сообщениями.
  • алгоритм не должен нарушать секретность ключа, даже если у противника достаточно много пар открытых текстов и соответствующих им шифротекстов, полученных при использовании данного ключа.

Как правило, подразумевается, что участники шифрованного обмена информацией полностью доверяют друг другу, иначе при возникновении споров и разногласий по поводу достоверности сообщения, независимый наблюдатель не сможет сказать кем оно было отправлено.

Симметричные криптосхемы, как правило, характеризуются высокой скоростью шифрования/расшифрования, что позволяет использовать их для быстрого шифрования больших объемов информации. К тому же, с помощью некоторых из них возможно обеспечить все три свойства безопасности информации: конфиденциальность, подлинность, целостность.

  • Конфиденциальность передачи зависит от надежности шифра и обеспечения конфиденциальности ключа шифрования.
  • Подлинность обеспечивается за счет того, что без предварительного расшифровывания практически невозможно осуществить смысловую модификацию и подлог криптографически закрытого сообщения. Фальшивое сообщение не может быть правильно зашифровано без знания секретного ключа.
  • Целостность данных обеспечивается присоединением к передаваемым данным специального кода (имитовставки), вырабатываемой по секретному ключу. Имитовставка является разновидностью контрольной суммы, т. е. некоторой эталонной характеристикой сообщения, по которой осуществляется проверка целостности последнего. Алгоритм формирования имитовставки должен обеспечивать ее зависимость по некоторому сложному криптографическому закону от каждого бита сообщения. Проверка целостности сообщения выполняется получателем сообщения путем выработки по секретному ключу имитовставки, соответствующей полученному сообщению, и ее сравнения с полученным значением имитовставки. При совпадении делается вывод о том, что информация не была модифицирована на пути от отправителя к получателю.

Обладая высокой скоростью шифрования, одноключевые криптосистемы позволяют решать многие важные задачи защиты информации (так, очень эффективно использовать симметричные алгоритмы для шифрования локальных ресурсов, жесткого диска, например). Однако автономное использование симметричных криптосистем в компьютерных сетях порождает проблему распределения ключей шифрования между пользователями.

Практические применения криптографических конструкций, особенности их реализации (Practical issues)

Практическое применение схем шифрования можно увидеть во многих сферах нашей жизни, к примеру, схему ECB используют для шифрования ключей, схемы CBC и CFB используют для аутентификации данных, схему CFB, кроме того, используют для шифрования отдельных символов. Схему OFB нередко используется в каналах с большими помехами (например, спутниковые системы связи). PCBC схему шифрования используют протоколы Kerberos v4 и WASTE

Основным достоинством криптографических алгоритмов с открытым ключом является возможность решения таких задач, как распределение ключа по небезопасному каналу, аутентификации сообщения и отправителя, и т. д. В то же время, асимметричные шифры работают существенно более медленно, чем симметричные. Это связано с необходимостью производить операции над сверхбольшими числами. Поэтому симметричные и асимметричные алгоритмы часто используют вместе – для распределения ключей и ЭЦП используют криптографию с открытым ключом, данные шифруют с помощью симметричных алгоритмов.

При анализе системы, в которой совместно используются несколько алгоритмов, принято оценивать сложность ее взлома по сложности взлома самого слабого звена. В литературе приводится примерное соответствие длин ключей для алгоритма симметричного шифрования (атака производится путем перебора ключевого множества) и алгоритма RSA, обеспечивающих сопоставимую стойкость. Например, 64-битному ключу симметричного шифрования примерно соответствует 512-битный ключ RSA, а 128-битному – ключ RSA длиной более 2300 бит.

Хэш-функции

В рассмотренных в разделе 2.4 алгоритмах формирования ЭЦП длина подписи получается равной или даже большей, чем длина самого сообщения. Очевидно, что удостоверять подобным образом большой документ неудобно. Поэтому подписывается, как правило, не само сообщение, а его «дайджест» – значение фиксированной длины, зависящее от подписываемого сообщения. Для формирования дайджеста используется хэш-функция (от англ. «hash function») – односторонняя функция, преобразующая строку произвольной длины в строку фиксированной длины. В криптографии используются хэш-функции 2 классов:

Хэш-функции без ключа;

Хэш-функции с ключом.

Хэш-функции без ключа

Хэш-функции без ключа делятся на слабые и сильные. Слабой хэш-функцией H(x) ,удовлетворяющая следующим условиям:

1) аргумент может быть строкой бит произвольной длины;

2) значение функции H(x) должно быть строкой бит фиксированной длины;

3) значение H(x) легко вычислить;

4) для любого фиксированного аргумента x вычислительно невозможно найти другой x’ x , такой что H(x’)=H(x) .

Пара значений x’ x : H(x’)=H(x) называется коллизией хэш-функции.

Сильной хэш-функцией называется односторонняя функция H(x) ,удовлетворяющая условиям 1) – 3) и последнему условию в следую-щей формулировке:

5) вычислительно невозможно любую пару значений x’ x , таких

что H(x’)=H(x) .

Любая сильная хэш-функция соответствует и требованиям для слабой, обратное в общем случае неверно. Для иллюстрации различия в сложности поиска коллизий слабой и сильной хэш-функции рассмотрим атаку с использованием «парадокса дней рождения» 1 . Зафиксируем значение аргумента x , и будем перебирать случайным образом x’ x в поисках ситуации, когда H(x’)=H(x). Если предположить, что значения хэш-функции равномерно распределены, а число возможных значений H(x) равно N , то потребуется в среднем перебор N / 2вариантов.Если же мы захотим найти какую-либо коллизию вообще, то задача оказывается проще: с вероятностью 0,63 для определения нужной пары значений потребуется опробовать N вариантов.

Чтобы минимизировать стоимость создания криптографических хэш-функций, разработчики часто используют один из существующих алгоритмов шифрования. Пусть E(m,k) обозначает шифрование сообщения m на ключе k , а v 0 – стартовый вектор. Представим кэшируемое сообщение M в виде последовательности блоков m 1 , …, m t и будем их использовать в качестве раундовых ключей. Тогда H(m) вычисляется следующим образом:

Алгоритм SHA-1

Алгоритм SHA (Secure Hash Algorithm) разработан в США как часть стандарта SHS (Secure Hash Standard), опубликованного в 1993 году. Но в нем были обнаружены уязвимости, которые привели к необходимости модифицировать алгоритм. Через два года была опубликована новая версия – SHA-1, получившая на сегодняшний день широкое распространение.

Получая на входе сообщение произвольной длины менее 2 64 бит, SHA-1 формирует 160-битное выходное сообщение (дайджест). Вначале преобразуемое сообщение M дополняется до длины, кратной 512 битам. Заполнитель формируется следующим образом: в конец пре-образуемого сообщения добавляется 1, потом – столько нулей, сколь-ко необходимо для получения сообщения, которое на 64 бита короче, чем кратное 512, после чего добавляют 64-битное представление длины исходного сообщения. Например, если сообщение длиной 800 бит, то 801-й бит =1, потом добавляем нули до 960 бит, после чего – в оставшихся 64-разрядах записывается число «800», в итоге хэшируем 1024-битное сообщение. Общая схема преобразования представлена на Рисунок 2.18. Перед началом преобразований инициализируется пять 32-битных переменных:

A =0x67452301; B =0xEFCDAB89; C =0x98BADCFE; D =0x10325476; E =0xC3D2E1F0.

Эти значения присваиваются также переменным a 0 , b 0 , c 0 , d 0 , e 0 . Преобразование производится над блоком сообщения размером 512 бит в 80 раундов. В процессе преобразования используются следующие нелинейные функции f t:

f t (X,Y,Z)=(X Y) ((X) Z) для t =0…19;

f t (X,Y,Z)=X Y Z для t =20…39 и t =60…79;

f t (X,Y,Z)=(X Y) (X Z) (Y Z) для t =40…59.

Рисунок 2.18 - Схема раунда алгоритма SHA-1

В процессе преобразования используются четыре константы:

K t =0x5A827999 для t =0…19;

K t =0x6ED9EBA1 для t =20…39;

K t =0x8F1BBCDC для t =40…59;

K t =0xCA62C1D6 для t =60…79.

Обозначение «<<< X» – циклический сдвиг влево на X разрядов, «+» – сложение по модулю 2 32 .

После преобразования очередного 512-битного блока, полученные значения a ,b ,c ,d ,e складываются со значениями A ,B ,C ,D ,E соответственно, и начинается обработка следующего блока (или полученное значение в виде сцепления a ,b ,c ,d ,e подается на выход, если обработанный блок был последним).

Таким образом, на выходе получаем 160-битный дайджест исходного сообщения.

Хэш-функции с ключом

Хэш-функцией с ключом называется односторонняя функция H(k,x) со следующими свойствами:

Аргумент x функции H(k,x) может быть строкой бит произвольной длины;

Значение функции должно быть строкой бит фиксированной длины;

При любых данных k и x легко вычислить H(k,x) ;

Для любого x должно быть практически невозможно вычислить

H(k,x) ,не зная k ;

Должно быть практически невозможно определить k , даже при большом числе известных пар {x, H(k,x)} или вычислить по этой информации H(k,x’) для x’ x .

Часто такие функции также называются кодами аутентифика

ции сообщений (англ. «Message Authentication Code»,сокр.MAC).В

Информатика, кибернетика и программирование

Шифрование это преобразование данных в нечитабельную форму используя ключи шифрования расшифрования дешифрования. Она состоит из: одного или более алгоритмов шифрования математических формул; ключей используемых этими алгоритмами шифрования; системы управления ключами; незашифрованного текста; и зашифрованного текста шифртекста. Существуют две методологии криптографической обработки информации с использованием ключей симметричная и асимметричная. Симметричная секретная методология где и для шифрования и для расшифровки...

1. Основы криптографии.

Необходимость серьезного подхода к защите информации приводит нас к основным понятиям криптографии, понятиям «цифровой защиты», «цифровой подписи» и шифрования.

Криптография - это наука об обеспечении безопасности данных. Она занимается поисками решений четырех важных проблем безопасности - конфиденциальности, аутентификации, целостности и контроля участников взаимодействия. Шифрование - это преобразование данных в нечитабельную форму, используя ключи шифрования - расшифрования (дешифрования). Шифрование позволяет обеспечить конфиденциальность, сохраняя информацию в тайне от того, кому она не предназначена.

Криптосистема работает по определенной методологии (процедуре). Она состоит из: одного или более алгоритмов шифрования (математических формул); ключей, используемых этими алгоритмами шифрования; системы управления ключами; незашифрованного текста; и зашифрованного текста (шифртекста).

2. Симметричное и асимметричное шифрование.

Существуют две методологии криптографической обработки информации с использованием ключей – симметричная и асимметричная.

Симметричная (секретная) методология, где и для шифрования, и для расшифровки, отправителем и получателем применяется один и тот же ключ, об использовании которого они договорились до начала взаимодействия (рис.1.3.). Если ключ не был скомпрометирован, то при расшифровании автоматически выполняется аутентификация отправителя, так как только отправитель имеет ключ, с помощью которого можно зашифровать информацию, и только получатель имеет ключ, с помощью которого можно расшифровать информацию. Так как отправитель и получатель - единственные люди, которые знают этот симметричный ключ, при компрометации ключа будет скомпрометировано только взаимодействие этих двух пользователей.

Рис. 1.3.

Алгоритмы симметричного шифрования используют ключи не очень большой длины и могут быстро шифровать большие объемы данных.

Доступными сегодня средствами, в которых используется симметричная методология являются, например, сети банкоматов. Эти системы являются оригинальными разработками владеющих ими банков и не продаются

Из симметричных алгоритмов шифрования широкое распространение получил алгоритм шифрования DES (изобретенный фирмой IBM), который рекомендован к использованию в открытых секторах экономики США. Этот алгоритм был изначально обречен на лимитированную продолжительность жизни, вследствие ограничения длинны ключа до 56 битов. В настоящее время профессионал способен взломать такой ключ за плату вполне приемлемую для бюджетов многих стран и корпораций.

Положение усугубляется тем, что по законодательству США к экспорту в качестве программных продуктов разрешены системы шифрования с ключом не более 40 бит. Т.е. покупая шифросистему с ключом 1024 или 2048, и более бит надо знать, что при смене ключа активной (изменяющейся) частью будет часть ключа в 40 бит. Симметричные системы шифрования имеют один общий недостаток, состоящий в сложности рассылки ключей. При перехвате ключа третьей стороной такая система криптозащиты будет скомпроментирована. Так при замене ключа его надо конфиденциально переправить участникам процедур шифрования. Очевидно, что этот метод не годится, когда нужно установить защищенные соединения с тысячами и более абонентов Интернет. Основная проблема, связана с этой методологией, и состоит она в том, как сгенерировать и безопасно передать ключи участникам взаимодействия. Как установить безопасный канал передачи информации между участниками взаимодействия для передачи ключей по незащищенным каналам связи? Отсутствие безопасного метода обмена ключами ограничивает распространение симметричной методики шифрования в Интернет.

Эту проблему постарались разрешить, разработав Асимметричную (открытую) методологию шифрования. Она шифрует документ одним ключом, а расшифровывает другим . Каждый из участников передачи информации самостоятельно генерирует два случайных числа (секретный (закрытый) и открытый ключи).

Открытый ключ передается по открытым каналам связи другому участнику процесса криптозащиты, но секретный ключ хранится в секрете.

Отправитель шифрует сообщение открытым ключом получателя , а расшифровать его может только владелец секретного ключа .

Открытый ключ не нужно прятать. Неважно кому известен данный ключ, поскольку он предназначен только для шифрования данных. Этот метод пригоден для широкого применения. Если присвоить каждому пользователю в Интернет свою пару ключей и опубликовать открытые ключи как номера в телефонной книге, то практически все смогут обмениваться друг с другом шифрованными сообщениями. Это похоже на коробку с двумя дверцами с разных сторон. Каждая такая дверца имеет свой замок. В коробку кладут документ, запирают, отпирают с другой стороны ключом получателя.
Такой алгоритм криптографической защиты получил название RSA . Название составлено из первых букв фамилий 3 американских математиков, разработавших алгоритм. Использовалась теория простых чисел.

Все асимметричные криптосистемы являются объектом атак путем прямого перебора ключей, и поэтому в них должны использоваться гораздо более длинные ключи, чем те, которые используются в симметричных криптосистемах, для обеспечения эквивалентного уровня защиты. Это сразу же сказывается на вычислительных ресурсах, требуемых для шифрования. RSA превратился в промышленный стандарт алгоритма с асимметричными ключами, используемый в бизнесе для цифровой подписи и шифрования.

3. Ц ифровая подпись.

Ц ифровая подпись защищает документ от изменений или подмены и гарантирует тем самым его достоверность. Она представляет собой строку, где в закодированном виде отражены атрибуты документа (контрольная сумма файла и т.д.) и его содержание так, что всякое изменение файла при неизменной подписи обнаруживается.

Когда документ (вложение письма) защищается ЦП, то эта ЦП учитывает не только документ, но и еще закрытый ключ отправителя и открытый ключ получателя. Только владелец закрытого ключа может правильно подписать текст документа.

Для проверки ЦП документа получатель использует (применяя специальную утилиту) открытый ключ отправителя. Никакие другие пары ключей не годятся для проверки. Таким образом, в отличие от обычной подписи, ЦП зависит от документа и еще ключей отправителя. Вот почему она на несколько порядков превосходит обычные подпись и печать.

ЦП лишь удостоверяет подлинность документа, но не защищает его от несанкционированного прочтения.

Симметричные и асимметричные системы шифрования имеют каждая свои достоинства и недостатки. Недостатки симметричной системы шифрования в сложности замены скомпроментированого ключа, а недостатки асимметричной системы шифрования в относительно низкой скорости работы.

В настоящее время распространение получили системы шифрования, использующие комбинированный алгоритм, позволяющий при высокой скорости шифрования, присущей DES использовать открытую пересылку ключей шифрования (как в RSA ).

Для того чтобы избежать низкой скорости алгоритмов асимметричного шифрования, генерируется временный симметричный ключ для каждого сообщения. Сообщение шифруется с использованием этого временного симметричного сеансового ключа. Затем этот сеансовый ключ шифруется с помощью открытого асимметричного ключа получателя и асимметричного алгоритма шифрования. Поскольку сеансовый ключ гораздо короче самого сообщения время его шифрования будет сравнительно небольшим. После этого этот зашифрованный сеансовый ключ вместе с зашифрованным сообщением передается получателю. Получатель использует тот же самый асимметричный алгоритм шифрования и свой секретный ключ для расшифровки сеансового ключа, а полученный сеансовый ключ используется для расшифровки самого сообщения.

4. Обработка информации по комбинированному алгоритму.

Последовательность обработки информации по комбинированному алгоритму представлена ниже на (рис.4.1).

Создаются асимметричные открытые и секретные ключи Секретный асимметричный ключ остается у владельца. Отправитель и получатель информации обмениваются открытыми асимметричными ключами.

Создается электронная подпись текста. Полученное значение шифруется с использованием асимметричного секретного ключа отправителя, а затем полученная строка символов добавляется к передаваемому тексту (только отправитель может создать электронную подпись).

Создается секретный симметричный ключ, который будет использоваться для шифрования только этого сообщения или сеанса взаимодействия (сеансовый ключ).

Затем при помощи симметричного алгоритма шифрования/расшифровки и этого ключа шифруется исходный текст вместе с добавленной к нему электронной подписью - получается зашифрованный текст.

Теперь шифруется сеансовый ключ с использованием асимметричного алгоритма шифрования-расшифровки и асимметричного открытого ключа получателя.

Зашифрованный сеансовый ключ присоединяется к зашифрованному тексту (который включает в себя, также добавленную ранее электронную подпись).

Весь полученный пакет данных (зашифрованный текст, в который входит помимо исходного текста его электронная подпись, и зашифрованный сеансовый ключ) передается получателю.

Получатель совершает действия в обратном порядке. Сначала нужно решить проблему с расшифровкой сеансового ключа. Он выделяет зашифрованный сеансовый ключ из полученного пакета. Используя свой секретный ключ и тот же самый асимметричный алгоритм шифрования, получатель расшифровывает сеансовый ключ.

Получатель применяет тот же самый симметричный алгоритм шифрования-расшифровки и расшифрованный симметричный (сеансовый) ключ к зашифрованному тексту и получает исходный текст вместе с электронной подписью.

Получатель отделяет электронную подпись от исходного текста.

Проверяется цифровая подпись текста с использованием открытого ключа отправителя и асимметричного алгоритма шифрования-расшифровки.

Если она признается достоверной, текст не был изменен.

Удачным примером такой комбинированной системы можно признать продукты Notarius и Athena фирмы «Ланкрипто». Отличие от описанной схемы в том, что алгоритм электронной подписи и шифрования разбиты на две независимые процедуры и при изготовлении симметричного сеансового ключа шифрования в ключ добавляется случайное число «маркант». Затем этот «маркант» добавляют к тексту уже зашифрованного сообщения и в открытом виде пересылают корреспонденту для дешифрации сообщения. Тот, получив сообщение, отцепляет «маркант» и с помощью своего секретного и открытого ключа отправителя и «марканта» создает симметричный ключ дешифрации полученного сообщения. Так как «маркант» меняется от сеанса к сеансу, даже имея расшифрованный текст сообщения невозможно предугадать ключ следующего сеанса.

Основной принцип системы открытых и закрытых ключей состоит в том, что «Раз» может подписать документ и зашифровать его на «Два». «Два» может расшифровать документ, зная, что он от «Раз», проверить подпись «Раз». Но компьютер «Два» не может подписать документ подписью «Раз» и не может зашифровать документ от «Раз» на себя, т.е. фальсифицировать документ от «Два» он не сможет.

Как защищать открытые ключи от подмены

В криптосистемах с открытыми ключами вам не нужно защищать открытые ключи от несанкционированного доступа. Наоборот, чем шире они распространяются, тем лучше. Однако важно защитить открытые ключи от подделки, чтобы быть уверенным в том, что ключ действительно принадлежит тому, чье имя он несет.

Предположим, вы хотите отправить приватное сообщение Алис. Вы подгружаете открытый ключ Алис с какой-нибудь электронной доски объявлений (BBS). Вы шифруете свое письмо Алис ее открытым ключом и отправляете его через систему электронной почты той же BBS.

К несчастью, незаметно для вас или Алис другой пользователь, по имени Виктор, проникает на BBS и генерирует открытый ключ, несущий идентификатор пользователя Алис. Он тайно подменяет своим фальшивым ключом настоящий открытый ключ Алис. Вы неосторожно используете этот фальшивый ключ, принадлежащий Виктору, вместо открытого ключа Алис. Все выглядит нормально, потому что фальшивый ключ несет идентификатор пользователя Алис. Теперь Виктор может расшифровать сообщение, предназначенное Алис, поскольку обладает секретным ключом из фальшивой пары. Он даже может затем снова зашифровать расшифрованное им сообщение настоящим ключом Алис и отправить ей, так что никто ничего не заметит. Более того, он даже сможет потом накладывать от имени Алис подпись, которая будет казаться подлинной, так как все будут использовать для ее верификации фальшивый ключ.

Единственный способ предотвратить такую неприятность - это исключить возможность подделки открытых ключей. Если вы получили открытый ключ Алис непосредственно от нее, проблем не возникает. Но это может быть затруднительным, если Алис находится на расстоянии тысячи миль, или по другим причинам с ней невозможно встретиться лично.

Возможно, открытый ключ Алис может передать вам ваш общий друг Генри, которому вы оба доверяете и который знает, что обладает подлинным ключом Алис. Генри может подписать открытый ключ Алис, ручаясь, таким образом, за его целостность. Для подписи он должен использовать свой собственный закрытый ключ.

Эта процедура создает подписанный сертификат открытого ключа, который подтверждает, что ключ Алис не был подделан. Конечно, для того чтобы вы могли проверить правильность подписи Генри, необходимо, чтобы у вас была заведомо правильная копия его открытого ключа. Возможно, Генри может также передать Алис подписанную копию вашего ключа. Генри, таким образом, будет служить посредником между вами и Алис.

Этот подписанный сертификат открытого ключа Алис или Генри могут подгрузить на BBS, откуда вы можете его позднее скопировать. Так как вы в состоянии проверить подпись Генри с помощью его открытого ключа, вы можете быть уверены, что это - действительно ключ Алис. Никакой злодей не сможет обмануть вас, заставив поверить, что изготовленный им фальшивый ключ принадлежит Алис, поскольку никто не может подделать подпись Генри.

Пользующееся широким доверием лицо может даже специализироваться на посредничестве между пользователями, заверяя своей подписью сертификаты их открытых ключей. Это пользующееся доверием лицо может считаться "доверенным сертификатором". Любому публичному ключу, заверенному подписью уполномоченного сертификатора, можно доверять в том смысле, что он принадлежит тому, чье имя он несет. Все пользователи, желающие участвовать в реализации такой сети распределенного доверия, должны обладать заведомо верной копией ключа уполномоченного сертификатора с тем, чтобы подпись последнего могла быть проверена. В некоторых случаях доверенный сертификатор может также поддерживать сервер ключей, обеспечивая пользователям сети возможность искать открытые ключи с помощью запросов к серверу ключей, однако необязательно, чтобы тот, кто поддерживает сервер ключей, был также и тем, кто их сертифицирует.

Единый уполномоченный сертификатор особенно подходит для больших централизованно управляемых организаций, правительственных или корпоративных. Некоторые организационные среды используют иерархии доверенных сертификаторов.

Для децентрализованных сред более походящим, чем создание централизованного доверенного сертификатора, вероятно, будет предоставление всем пользователям возможности действовать в качестве посредников.

А как же решается проблема безопасного обновления и передачи ключей по незащищенным телекоммуникационным каналам? В США она решается таким образом:

Безопасно создаются и распространяются асимметричные открытые и секретные ключи. Секретный асимметричный ключ передается его владельцу. Открытый асимметричный ключ хранится в базе данных X.500 и администрируется центром выдачи сертификатов (по-английски - Certification Authority или CA).

Отправитель должен иметь асимметричный открытый ключ центра выдачи сертификатов (CA). Перехват незашифрованных запросов на получение этого открытого ключа является распространенной формой атаки. Может существовать целая система сертификатов, подтверждающих подлинность открытого ключа CA. Стандарт X.509 описывает ряд методов для получения пользователями открытых ключей CA, но ни один из них не может полностью защитить от подмены открытого ключа CA, что наглядно доказывает, что нет такой системы, в которой можно было бы гарантировать подлинность открытого ключа CA.

Отправитель запрашивает у CA асимметричный открытый ключ получателя сообщения. Этот процесс уязвим к атаке, в ходе которой атакующий вмешивается во взаимодействие между отправителем и получателем и может модифицировать трафик, передаваемый между ними. Поэтому открытый асимметричный ключ получателя "подписывается" CA. Это означает, что CA использовал свой асимметричный секретный ключ для шифрования асимметричного открытого ключа получателя. Только CA знает асимметричный секретный ключ CA, поэтому есть гарантии того, что открытый асимметричный ключ получателя получен именно от CA.

После получения асимметричный открытый ключ получателя расшифровывается с помощью асимметричного открытого ключа CA и алгоритма асимметричного шифрования/расшифровки.

Таким образом, два лица, не состоящие ранее в переписке и не имеющие общего ключа шифрования, способны вести секретную переписку.

В настоящее время в законодательном порядке запрещен экспорт (и импорт) средств цифровой защиты, так что в каждой стране применяется собственные реализации алгоритмов. Цифровая защита реализована либо на программном либо на аппаратном уровне (в виде плат расширения). Если e-mail снабжена пакетом цифровой защиты, то можно подписать и затем зашифровать любую или все части письма, наложить свою подпись на уже подписанный другими документ, проверить подпись и т.д.

Если совсем недавно криптография была прерогативой отдельных государственных структур то сегодня, практически все согласны с тем, что и организации, и частные лица ощущают потребность в доступе к шифровальным технологиям. По мере распространения Интернет люди все чаще и чаще прибегают к услугам компьютеров и телефонных сетей, как в личных, так и в деловых целях, и шифрование является основой для возведения стены секретности вокруг этих коммуникаций.

5. Сертификация криптографических средств.

Криптографические средства защиты применяются давно, но в последнее время по ряду причин у всех на устах слова «лицензия», «сертификат», Гостехкомиссия, ФАПСИ. При этом мало кто внятно может объяснить, что именно можно делать для защиты своей информации, а за что вас могут привлечь к ответственности.

Сертификация - выдача фирме производителю средств защиты информации документа, подтверждающего, что программный пакет разработанный фирмой соответствует высоким требованиям рынка (т.е. раскрыть зашифрованный документ совсем не просто), а следовательно программный продукт может быть продан.

Для того чтобы выпускать сертифицированные продукты фирма должна получить лицензию на такую деятельность. Лицензии и сертификаты в области криптографических средств выдают ФАПСИ и Гостехкомиссия. Покупать криптографические средства лучше только сертифицированные у фирм имеющих лицензию на такого рода деятельность. В законодательной сфере сейчас действует указ Президента РФ номер 334 обязующий госучреждения применять только сертифицированные средства шифрования и закон об информации гласящий, что для защиты несекретной и негрифованной информации (любой своей) можно применять любые средства шифрования.

Что же касается применения банками криптографических систем, то тут полная анархия. Что вообще-то неплохо. Дело в том, что в настоящее время отсутствуют требования к коммерческим банкам со стороны ЦБР и других органов государственной власти по обязательному применению шифровальных средств, методы защиты информации в данной области не регламентируются.

Не установлена также обязательность применения коммерческими банками сертифицированных средств электронного обмена с клиентами.

Вместе с тем, законодательно установлена обязанность пользователей, распространителей и разработчиков сертифицировать в соответствующих госорганах все применяемые средства защиты информации. Указ номер 334 гласит: «… Запретить деятельность юридических и физических лиц связанных с разработкой, реализацией и эксплуатацией шифровальных средств без лицензий выданных ФАПСИ». Правда этот указ не действует, но пока его никто не отменял. То - есть, если вы имели несчастье приобрести сертифицированные ФАПСИ средства шифрования, то вы обязаны получить в ФАПСИ лицензию на их использование. Такую же лицензию должны, соответственно, получить и те, с кем вы обмениваетесь шифрованными сообщениями.

Согласно практике применения законодательства аттестация и сертификация пользователей обязательна лишь для государственных структур и структур работающих с гостайной. Для коммерческих структур более подходит Закон РФ о Банках и Банковской деятельности. Риск, связанный с использованием несертифицированных информационных систем и средств их обеспечения, лежит на собственнике (владельце) этих систем и средств. Применение сертифицированных средств защиты информации является обязательным условием при рассмотрении спорных вопросов с судебном порядке.

Ответственность банка перед клиентом за утечку информации в каналах связи сохраняется вне зависимости от средств и способов защиты информации. Применение сертифицированного средства в принципе позволяет возложить ответственность за утечку и хищение информации на сертифицирующие органы.

Таким образом, коммерческие банки в отношениях с клиентами имеют право применять несертифицированные ФАПСИ системы электронного обмена (документооборота) при условии, что в таких системах официально не предусмотрены средства шифрования. Юридическая ответственность наступает только в том случае, когда средства шифрования становятся предметом предпринимательской деятельности. Чтобы ни банку, ни его клиентам не морочить себе голову с лицензированием использования шифровальных средств, в системах «Банк-Клиент» необходимо во всех договорах слова «шифрование» заменить на «кодирование» и далее жить спокойно. Закон, что столб – нельзя перепрыгнуть, но обойти просто.

С Электронной Цифровой Подписью (ЭЦП) дела обстоят несколько проще. Закон об электронной цифровой подписи гласит, что электронная цифровая подпись в электронном документе равнозначна собственноручной подписи в документе на бумажном носителе, в случаях, установленных законами и иными нормативными правовыми актами Российской Федерации или соглашением сторон (то есть необходимо соглашение или обычный договор, подписанный и заверенный мастичной печатью о признании сторонами ЭЦП). Также как и для шифрования, обязательным условием при рассмотрении спорных вопросов в судебном порядке является применение сертифицированных средств ЭЦП.

Этот же закон большое внимание уделяет удостоверяющим центрам.

Удостоверяющий центр:

Изготавливает сертификаты ключей подписей;

Создает ключи электронных цифровых подписей по обращению участников информационной системы с гарантией сохранения в тайне закрытого ключа электронной цифровой подписи;

Приостанавливает и возобновляет действие сертификатов ключей подписей, а также аннулирует их;

Ведет реестр сертификатов ключей подписей, обеспечивает его актуальность и возможность свободного доступа к нему участников информационных систем;

Проверяет уникальность открытых ключей электронных цифровых подписей в реестре сертификатов ключей подписей и архиве удостоверяющего центра;

Выдает сертификаты ключей подписей в форме документов на бумажных носителях и (или) в форме электронных документов с информацией об их действии;

Осуществляет по обращениям пользователей сертификатов ключей подписей подтверждение подлинности электронной цифровой подписи в электронном документе в отношении выданных им сертификатов ключей подписей.

Так, что и здесь, во всех договорах о признании ЭЦП участниками договора, слова «Электронная цифровая подпись», лучше заменить на «Цифровая подпись».

Чтобы предостеречь от использования встроенных в базы данных средств шифрования, упомянем лишь один интересный факт. Есть компания, называемая AccessData, в штате Юга США с телефоном 1-800-658-5199. Она всего за $185 продает пакет программ для персональных ЭВМ, взламывающий встроенные схемы шифрования WordPerfect, Word, Lotus 1-2-3, Excel, Quattro Pro, Paradox и Oracle. Программы шифрования похожи на лекарства. Пилюля, полученная от шарлатана, обычно выглядит точно так же, как целительное снадобье.

6. Дальнейшее развитие криптографических средств.

Так, что же дальше? Создание кода, сложного настолько, чтобы никакая интенсивная компьютерная атака не смогла взломать его, является пределом земных и небесных желаний криптографов всего мира. Цель эта достигается добавлением новых битов кода к «секретному ключу», что каждый раз удваивает надежность защиты. «Надежная защита» на сегодняшний день означает только то, что взломщику потребуется слишком много времени, чтобы подобрать отмычку, — ни о чем другом речи не идет. И все бы было хорошо, но прогресс не стоит на месте: Однако разработчики из I ВМ полагают, что они нашли интересное решение проблемы сильной криптозащиты. Они использовали квантовую физику для того, чтобы обеспечить абсолютно защищенный метод передачи ключа

Квантовая физика, как известно, область темная и очень продвинутая, имеющая дело со свойствами субатомных структур. Использование её достижений позволило разработчикам добавить новый уровень защиты к стандартной технологии шифрования с открытым ключом за счет трансляции битов ключа в «квантовые биты», квантбиты или «кьюбиты». Состояния и изменение состояний квантбитов описываются весьма сложными математическими формулами. На качестве шифрования это сказывается самым непосредственным образом - число возможных вариантов увеличивается экспоненциально. Бит в стандартном компьютере представлен одной цифрой — нулем или единицей. Не так с квантбитом. Последний, будучи представлен частицей или фотоном, может существовать одновременно и как ноль, и как единица. Для осуществления квантового шифрования бит превращается в фотон, передается через оптоволоконный кабель на компьютер получателя, затем транслируется обратно в стандартный бит и читается. Основная тонкость в том, что, не в пример стандартному биту, квантбит не может быть ни скопирован, ни прочитан, ни даже просмотрен третьей стороной без того, чтобы не изменить его состояния и привести, таким образом, код в негодность. Если в систему вмешивается сторонний наблюдатель, состояние ее немедленно изменяется, и отправитель понимает, что кто-то пытался просмотреть сообщение.

И I ВМ, и N Т, и Los Alamos National Labs , все в настоящее время ударились в разработку методов, позволяющих использовать достижения квантовой физики для передачи шифрованных сообщений в системах космического и военного использования. В I ВМ работают над созданием подобных систем для банков и институтов электронной коммерции.

Однако положение дел с квантовым шифрованием вдохновляет далеко не всех. То есть - вдохновляет в основном теоретиков. «Честно говоря, квантовая физика в настоящее время лежит за пределами уровня понимания большинства людей, — говорят эксперты по вопросам шифрования, — поэтому трудно представить, чтобы кто-то кинулся сейчас же производить необходимое оборудование. По крайней мере, в ближайшие годы этого, не произойдет». Некоторые специалист, вообще уверен, что проблема конфиденциальной информации из точки А в точку Б на сегодняшний день решена. Они уверены, что в обозримом будущем надобности для технологий квантового шифрования пока нет, а технологии RSA , способные создавать ключи длиною до 2048 бит, пока еще вполне надежны. Хотя в январе 1998 года Electronic Frontier Foundation и дешифровала за 22,5 часа сообщение, закодированное по 56-битному стандарту DES (настоящее время является максимально допустимым для экспорта из США стандартом технологий шифрования), эксперты считают этот случай непоказательным. «Одно дело крэкнуть 56-битный стандарт, — говорит они, — взломать сообщение со 128-битным ключом примерно в миллиард или даже в триллион раз сложнее, Не думаем, что в течение нашей жизни появится компьютер, который сможет сотворить такое».

Несмотря на такие прогнозы, быстрое развитие технологий вообще и технологий шифрования, равным, образом, как и технологий взлома шифрованных кодов в частности, заставляют I ВМ и Los Alamos National Labs двигаться дальше по пути создания новых технологий шифрования, в сторону квантовых шифров. Для того чтобы взломать квантовый код, взломщику придется сначала нарушить законы физики и только затем подобрать нужные цифры. Хотя оборудование, необходимое для реализации квантового шифрования, пока еще лежит где-то в области научной фантастики. Рабочая лабораторная версия уже есть. В настоящее время работы идут над тем, чтобы вывести эту технологию из лаборатории и поставить на промышленные рельсы.

Кроме того, в настоящее время серьезно расширилась сфера применения криптографических средств за счет их применения в сетях VPN . В современном компьютеризованном мире основным способом транспортировки информации становится электронный. По линиям связи ныне перемещаются документы, сведения из баз данных, номера кредитных карточек и файлы самого разного содержания. Все это нашло свое место в новой технологии сетей в сетях VPN (Virtual Private Network ). Эта технология позволяет создавать глобальные корпоративные сети большой протяженности где вместо собственных линий связи используется сеть Интернета, информация по которой переносится в зашифрованном виде. Таким образом достигается безопасность информации, передаваемой через незащищенные линии связи. Сети VPN имеют самое различное применение. Они могут связывать удаленный офис с головной организацией, соединять воедино несколько корпоративных сетей. Предоставлять сотрудникам или доверенным клиентам компании доступ внутрь сети компании к конфиденциальной информации.


Электронная подпись

Шифруется Секретным 1

Текст

Секретный ключ 1

Открытый ключ 1

Компьютер “Два ”

Компьютер “Раз ”

Открытый ключ 2

Секретный симметричный

Сеансовый ключ ключ

Текст и подпись шифруется симметричным сеансовым ключом

Шифрованные данные

Шифруем симметричный сеансовый ключ открытым ключом получателя

Текст Электронная

подпись

Шифруется

Секретным 1

Все зашифровано симметричным

сеансовым ключом

К зашифрованному тексту приписан

Зашифрованный Сеансовый ключ

Шифрованные данные

Рис. 4.1.


А также другие работы, которые могут Вас заинтересовать

51125. Спектральний аналіз сигналів за Фурьє 1.43 MB
Як відомо, спектри всіх дискретних сигналів періодичні, а амплітудні спектри є парними функціями частоти. Засобами MatLAB можна розрахувати дві половини одного періоду спектру, які є дзеркальними копіями одна одної відносно частоти Найквіста. Через це на всіх графіках амплітудних спектрів достатньо і необхідно виводити лише половину періоду спектру, оскільки вона повністю описує амплітудний спектр
51126. Разработка текстового редактора с использованием файлового ввода/вывода 54.26 KB
Задание на работу: Разработать текстовый редактор с использованием файлового ввода/вывода. Код программы (файл Form1.cs)...
51127. Исследование точности САУ в установившемся режиме 77.99 KB
Графики ошибок Усилительное звено Пи-регулятор Дифференциальное звено Расчеты значений установившейся ошибки: Усилительное звено Пи-регулятор Дифференциальное звено Вывод В ходе лабораторной работы было исследовано влияния степени астатизма на установившуюся ошибку при ступенчатом воздействии.
51128. Фільтрація сигналів 889.81 KB
Мета роботи: набути навичок проектування цифрових фільтрів, задавання специфікації фільтрів залежно від властивостей сигналів, які треба фільтрувати; набути навичок реалізації дискретної фільтрації сигналів у середовищі MatLAB.
51130. Вейвлет-аналіз сигналів 914.01 KB
Мета роботи: дослідити відображення властивостей сигналів у вейвлет-скейлограмі; набути навичок реалізації вейвлет-перетворення сигналів у середовищі MatLAB
51131. СИНТЕЗ УПРАВЛЯЮЩЕГО АВТОМАТА В ПРОИЗВОЛЬНОМ БАЗИСЕ 126.01 KB
Постановка задачи: Собрать и наладить схему управляющего автомата подавая входные сигналы xj с тумблерного регистра Используя подготовленные тесты показать правильность работы схемы подавая синхросигналы с генератора одиночных импульсов и анализируя состояние автомата при помощи индикаторных лампочек Проверить работу схемы в динамическом режиме снять временные диаграммы выходных сигналов управляющего автомата. Тип автомата Мура тип триггеров D. Рисунок 1 Исходная ГСА автомата Определим минимальное множество тестов:...
51132. Кореляційний аналіз сигналів. Властивості сигналів з використанням кореляційного аналізу 199.85 KB
Мета роботи: дослідити властивості сигналів з використанням кореляційного аналізу; набути навичок кореляційного аналізу сигналів у середовищі MatLAB. Порядок роботи...
51133. СИНТЕЗ УПРАВЛЯЮЩЕГО АВТОМАТА НА ОСНОВЕ РАСПРЕДЕЛИТЕЛЕЙ СИГНЕЛОВ (РС) 129.3 KB
Цель работы: изучение методики реализации управляющих автоматов с жесткой логикой на основе распределителей сигналов. Постановка задачи: собрать и отладить схему распределителя сигналов; ...

По сети ходит невероятное число смелых заявлений вида асимметричное шифрование круче симметричного, ровно как и обратных. И зачастую новички прислушиваются к этим словам, даже не особо понимая о чем идет речь. Сказано, что AES это круто или же наоборот RSA рулит, и все приняли за чистую монету. Однако, такой подход достаточно часто приводит к проблемам, когда из-за недостаточного понимания сути вопроса реализуются совершенно ненужные части или система оказывается беззащитной.

Поэтому в рамках данной статьи я расскажу базовый минимум, который стоит знать новичку. Не будет никаких сложных формул или математических обоснований, но зато будет пояснена разница симметричного и асимметричного шифрования, а так же будут приведены некоторые существенные моменты. Но, обо всем по порядку.

Симметричное шифрование

В симметричном шифровании используется всего один пароль (или как его еще называют ключ). Рассмотрим как все происходит. Есть некоторый математический алгоритм шифрования, которому на вход подается пароль и текст. На выходе получается зашифрованный текст. Чтобы получить исходный текст, используется этот же пароль, но с алгоритмом дешифрования (иногда он может совпадать).

Другими словами, стоит кому-либо узнать этот пароль, как безопасность тут же нарушается. Поэтому если используется симметричное шифрование, немалое внимание должно придаваться вопросу создания и сохранения в безопасности самого пароля. Он не должен передаваться в открытом виде, неважно сеть это или же листочек, прикрепленный к монитору. Пароль должен быть достаточно сложным, чтобы его нельзя было получить простым перебором. Если пароль используется несколькими людьми, то должен быть продуман безопасный метод его распространения, а так же систему оповещения на случай, если пароль станет известен кому-либо еще.

Несмотря на свои ограничения, симметричное шифрование имеет большое распространение. В основном из-за простоты понимания всего процесса (один пароль) и технической нагрузки (обычно, такие алгоритмы быстрые).

Асимметричное шифрование

В асимметричном шифровании используется два пароля - один открытый (публичный) и один закрытый (секретный). Открытый пароль отсылается всем людям, закрытый же пароль остается на стороне сервера или другого приемника. При этом названия зачастую условные, так как зашифрованное сообщение одним из ключей можно расшифровать только с помощью другого ключа. Другими словами, ключи в этом смысле равноценны.

Такие алгоритмы шифрования позволяют свободно распространять пароль (ключ) по сети, так как без второго ключа невозможно получить исходное сообщение. На этом принципе основан протокол SSL, который позволяет легко установить безопасное соединение с пользователями в силу того, что закрытый ключ (пароль) хранится только на стороне сервера. Если замечали, то периодически в браузере появляется сообщение "небезопасное соединение", когда вы открываете сайт с префиксом https. Это означает, что вполне возможно, что закрытый ключ уже давно вскрыт, еще говорят скомпрометирован, и известен злоумышленникам. Поэтому такое безопасное соединение может и не быть безопасным.

В случае с асимметричным шифрованием, становится несколько проще в плане хранения паролей, так как секретный ключ нет необходимости передавать кому-либо. Достаточно, чтобы его знал только один человек или сервер. Так же вопрос взлома пароля становится проще, так как сервер в любой момент может сменить пару ключей и разослать всем созданный открытый пароль.

Однако, асимметричное шифрование более "тяжелое", другими словами, требует больше ресурсов компьютера. Так же есть ограничения на сам процесс генерации ключей (их еще нужно подобрать). Поэтому на практике асимметричное шифрование обычно используют только для проведения аутентификации и идентификации пользователей (например, вход на сайт), или же для создания сессионного ключа для симметричного шифрования (временный пароль для обмена данными между пользователем и сервером), или же для создания цифровых подписей, которые зашифрованы секретным ключом. Как вы уже наверное поняли, в последнем случае проверить такую подпись может любой желающий с помощью публичного ключа, который находится в открытом доступе.

Важные моменты о симметричном и асимметричном шифровании

Самое главное отличие симметричного и асимметричного шифрования заключается в их подходе. Поэтому когда вы слышите или читаете статью про их сравнение вида "этот алгоритм лучше" без упоминания конкретики (определенных условий и задач), то можете смело начинать заниматься другими делами, так как это весьма бесполезное занятие аналогичное спору "Что лучше? Танк или пароход?". Без конкретики, ни то и ни другое. Тем не менее, есть важные моменты, о которых стоит знать:

1. Симметричный алгоритм хорош для передачи больших объемов шифрованных данных. Асимметричный алгоритм, при прочих равных, будет существенно медленнее. Кроме того, для организации обмена данными по асимметричному алгоритму либо обеим сторонам должны быть известны открытый и закрытый ключ, либо таких пар должно быть две (по паре на каждую сторону).

2. Асимметричное шифрование позволяет стартовать безопасное соединение без усилий со стороны пользователя. Симметричный же алгоритм предполагает, что пользователю необходимо "еще узнать каким-то образом пароль". Тем не менее, стоит понимать, что асимметричные алгоритмы так же не обеспечивают 100% безопасности. К примеру, они подвержены атакам "человек по середине". Суть последней заключается в том, что между вами и сервером устанавливается компьютер, который для вас отсылает свой открытый ключ, а для передачи данных от вас использует открытый ключ сервера.

3. С точки зрения взлома (компрометации) пароля, асимметричный алгоритм более легок, так как серверу достаточно сменить пару ключей и разослать созданный публичный ключ. В случае симметричного шифрования, встает вопрос о том, как передать следующий пароль. Однако и эти ограничения обходятся, к примеру, на обеих сторонах ключи постоянно генерируются по одному и тому же алгоритму, тогда вопрос становится в сохранении этого алгоритма в секрете.

4. Симметричные алгоритмы обычно строятся на основе некоторых блоков с математическими функциями преобразования. Поэтому модифицировать такие алгоритмы легче. Асимметрические же алгоритмы обычно строятся на некоторых математических задачах, например. RSA построен на задаче возведения в степень и взятия по модулю. Поэтому их практически невозможно или очень сложно модифицировать.

5. Асимметричные алгоритмы обычно применяются в паре с симметричными. Происходит это примерно следующим образом. С помощью асимметричного алгоритма серверу отсылается придуманный пользователем сессионный ключ для симметричного шифрования, после чего обмен данными происходит уже по симметричному алгоритму. Порядок частично может меняться или же ключ может немного по-другому формироваться, но смысл примерно одинаковый.

6. Создание безопасных ключей (паролей) в асимметричных алгоритмах дело весьма непростое, в отличии от симметричных алгоритмов, где ключ достаточно формировать по правилам генерации безопасных паролей (цифры, буквы, регистр и прочее). Однако, тот факт, что секретный пароль знает только сервер, облегчает задачу сохранения ключа в безопасности.