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

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

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

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.


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

6132. Сценарій виховного заходу Урок мужності, присвячений святу День перемоги 38.5 KB
Сценарій виховного заходу Урок мужності, присвячений святу День перемоги Катерина Гівак: Щороку в травні ми відзначаємо День перемоги. Дорогою ціною заплатив український народ за участь у найстрашнішій за всю світову історію війні 1941-1945 рр. Не щ...
6133. Особенности эксплуатации импортных автомобилей в условиях Сибири 528.43 KB
Введение В процессе развития автомобильного транспорта конструкция транспортных средств усложняется и в современных автомобилях все более широко применяется электроника, а также комбинация электронных, гидравлических и механических систем. Особенно...
6134. Школы стратегий. Стратегическое сафари: экскурсия по дебрям стратегий менеджмента 2.47 MB
Школы стратегий. Стратегическое сафари: экскурсия по дебрям стратегий менеджмента. Перед вами умный, блестящий путеводитель по бизнес-стратегиям, который может стать жизненно необходимым руководством для творчески мыслящих менеджеров. В этой увлек...
6135. Котельные установки и парогенераторы 3.64 MB
Котельные установки и парогенераторы Характеристики и виды движения водного теплоносителя в паровых котлах Гидродинамика водного теплоносителя в паровых котлах Температурный режим поверхностей нагрева паровых котлов Физико-х...
6136. Основы логических методов построения устройств противоаварийной автоматики подстанций с электродвигателями 2.21 MB
Учебное пособие предназначено для использования студентами электротехнических специальностей в процессе изучения курса релейной защиты и автоматизации электроэнергетических систем. В нем рассматриваются специальные вопросы выполнения устройств проти...
6137. Конические зубчатые передачи 45 KB
Конические зубчатые передачи Конические зубчатые передачи применяют при пересекающихся или скрещивающихся осях. Межосевой угол может изменяться в широком диапазоне значений, но наибольшее распространение имеют ортогональные конические перед...
6138. Порядок совершения таможенных операций при перемещения товары через таможенную границу 63 KB
При ввозе товаров на таможенную территорию товаров предусмотрено последовательное совершение таможенных операций, которые связано с прибытием товаров на ТТ ТС и перемещения товаров в соответствии с ТП ТТ до ТО, в котором будет совершаться декларирование в соответствии с избранной ТП.
6139. Виды и структура планов воспитательной работы 44 KB
Виды и структура планов воспитательной работы Структура плана воспитательной работы класса включает в себя следующие разделы: Психолого–педагогическая характеристика класса, анализ состояния здоровья детей (составляется на конец предыдущего уч...
6140. Щастя. Як ми його розуміємо 43.5 KB
Практична: Поглибити знання учнів про диспут та його проведення, розширити розуміння поняття щастя, виховувати людяність, працьовитість, любов до людей, чесність...

ТЕРЕНИН Алексей Алексеевич, кандидат технических наук

Криптографические алгоритмы, применяемые для обеспечения информационной безопасности при взаимодействии в ИНТЕРНЕТ

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

Защита информации методами криптографического преобразования заключается в изменении ее составных частей (слов, букв, слогов, цифр) с помощью специальных алгоритмов либо аппаратных решений и кодов ключей, то есть в приведении ее к неявному виду. Для ознакомления с шифрованной информацией применяется обратный процесс: декодирование (дешифрование). Использование криптографии является одним из распространенных методов, значительно повышающих безопасность передачи данных в сетях ЭВМ, данных, хранящихся в удаленных устройствах памяти, а также при обмене информацией между удаленными объектами.

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

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

Краткий исторический обзор развития шифрования

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

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

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

В средневековой интриганской Европе и Средней Азии, происходит бурное развитие криптографии, и криптоанализа – методов вскрытия шифрованных текстов. Первой систематической работой по криптографии считают книгу архитектора Леона Баттисти Альберти (1404 - 1472). Одним из первых криптоаналитиков был Франсуа Виет (1540 - 1603), при дворе короля Франции Генриха IV. В то же время при дворе папы римского служили советники из семейства Аддженти, которых также можно назвать криптоаналитиками. Весь период до середины XVII в. насыщен работами по криптографии и криптоанализу.

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

С начала ХХ в. - с Первой мировой войны - начинают применяться специальные шифровальные машины.

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

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

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

С 70-х гг. появляются открытые публикации: Хэффи-Дилман в 1976 г. В 1970 г. существовало засекреченное изобретение Джеймса Эллиса (Великобритания) в области криптографии. Наиболее известный алгоритм асимметричной криптографии – RSA, разработанный Рональдом Ривестом, Эдди Шамиром и Леном Эдлеманом в 1977 г. Алгоритм RSA имеет большое значение, т.к. может использоваться как для шифрования с открытым ключом, так и для создания электронной цифровой подписи.

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

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

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

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

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

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

Выход в свет программы PGP (Pretty Good Privacy) Фила Циммерманна (версия 1.0 вышла в 1991 г.) и предоставление ее в открытое и бесплатное использование дали большие возможности рядовым компьютерным пользователям. Фила Циммерманна даже объявили врагом государства, он был приговорен к лишению свободы.

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

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

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

Длина ключа 48 бит означает, что необходимо сделать 2 48 переборов. Увеличение длины ключа, например, всего на 16 бит, означает, что перебрать необходимо в 2 16 раз больше.

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

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

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

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

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

Симметричные алгоритмы шифрования

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

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

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

К симметричным криптосистемам относятся DES , AES, ГОСТ 28147-89 и т.д. Новым направлением в криптографии стало изобретение асимметричных криптосистем с открытым ключом, таких, как RSA, DSA или Эль-Гамаль .

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

Детально криптосистемы с открытым ключом будут рассмотрены далее, а сейчас вернемся к симметричным криптосистемам (КС).

Важнейшей составной частью КС являются шифры или процедуры взаимообратного преобразования открытого текста M в шифртекст M":

M’ = E(M),
M = D(M’),

где E - функция зашифрования и D - функция расшифрования.

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

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

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


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

Среди симметричных шифров наиболее известны и часто используемы следующие (размер блока в битах обозначен как b, число циклов- r, а длина ключа - l):

DES - государственный стандарт США (b = 64, r = 16, l = 56). В настоящее время доказана недостаточная стойкость DES против атаки методом простого перебора .
Triple DES и DESX (b = 64, r = 16, l = 168;112) - последовательное применение алгоритма DES с разными ключами, что обеспечивает значительную устойчивость к взлому .
IDEA - (b = 64, r = 8, l = 128) . Активные исследования его стойкости выявили в нем ряд слабых ключей, однако вероятность их использования пренебрежимо мала.
RC5 - параметризованный шифр с переменными размером блока (b I ), количеством циклов (r Ј 255) и числом битов ключа (l Ј 2040) . Исследования его стойкости показали, что при b = 64 он недоступен для дифференциального криптоанализа при r і 12 и для линейного криптоанализа при r і 7.
ГОСТ 28147-89 - российский стандарт шифрования данных (b = 64, r = 32, l = 256). Для ГОСТа было найдено множество слабых ключей, значительно снижающих его эффективную стойкость в простых режимах шифрования . Оценка криптостойкости ГОСТа затруднена также тем фактом, что важнейшая часть алгоритма - узлы замены или S-боксы в терминологии шифра DES - не описана в стандарте и законы ее генерации остаются неизвестными. В то же время доказано, что высока вероятность получения слабых узлов замены, упрощающих криптоанализ данного шифра.
Blowfish - это 64-битовый блочный шифр, разработанный Шнайером (Schneier) в 1993 г., реализуется посредством перестановок и замен, зависимых от ключа. Все операции основаны на операциях XOR и прибавлениях к 32-битовым словам (XORs and additions on 32-bit words). Ключ имеет переменную длину (максимально 448 бит) и используется для генерации нескольких подключевых массивов (subkey arrays). Шифр был создан специально для 32-битовых машин и существенно быстрее DES .

Сейчас в США принят новый стандарт шифрования AES. Был проведен конкурс среди алгоритмов шифрования, в котором победил и лег в основу AES – Rijndael. Rijndael представляет собой итеративный блочный шифр, имеющий переменную длину блоков и различные длины ключей. Более подробное описание этого алгоритма и итогов проведения конкурса дано в .

В мире разработано, опубликовано и исследовано достаточно большое число симметричных алгоритмов (табл. 1), из которых лишь DES и его модификация Triple DES были достаточно проверены временем. В таблицу не включены малоизвестные и слабоизученные алгоритмы, такие, как Safer, и т.д.

Таблица 1. Обзор симметричных методов шифрования

Длина ключа, бит

Размер блока, бит

Затраты на подбор ключа, MIPS x лет

Примечание

DES Разработан в 1977 г. фирмой IBM по заказу правительства США. За 20 лет не найдено способа взломать шифр, кроме полного перебора в среднем 25% всех ключей, но при современных возможностях он позволяет достичь успеха
Triple DES Трехкратное повторение алгоритма DES с разными ключами. Эффективная длина ключа 112 бит.
IDEA Разработан в 1992 г. Lai и Massey. Не взломан до настоящего времени
ГОСТ 28147-89

нет данных

Является Государственным стандартом в России
RC5

10 3 и выше

40-битовый ключ был взломан перебором в 1997 г. за 3,5 ч, 48-битовый ключ - за 313 ч
Blowfish

нет данных

Разработан Шнайером (Schneier) в 1993 г.
Это шифр Файстела (Feistel) был создан специально для 32-битовых машин и существенно быстрее DES
AES (Rijndael) Длина ключа и длина блока могут быть 128, 192 или 256 бит, независимо друг от друга Предложен криптоаналитиками Joan Daemen и Vincent Rijmen.
Алгоритм не имеет известных слабостей в защите (по данным NIST).

В настоящее время симметричные алгоритмы с длиной ключа более 100 бит (Triple DES и IDEA и т.д.) не являются невскрываемыми. Отечественный алгоритм ГОСТ по сравнению с ними отличается повышенной сложностью как при генерации узлов замены, так и при генерации ключей. Также для алгоритма ГОСТ существует большая вероятность генерации нестойкого ключа, что в некоторых режимах шифрования снижает его эффективную длину ключа с 2 256 до 2 62 .

Triple DES является более проверенным, чем IDEA алгоритмом и обеспечивает приемлемую скорость работы. Алгоритм Triple DES представляет собой трехкратное применение алгоритма DES к одним данным, но с разными ключами.

В Россию DES проник и достаточно широко практически используется как неотъемлемая деталь различных программных и аппаратных средств, из которых наиболее широко известны система S.W.I.F.T., секретные модули VISA и EUROPAY, секретные модули банкоматов и торговых терминалов и, наконец, смарт-карты. Особенно напряженные дискуссии вокруг алгоритмов шифрования данных вызваны именно смарт-картами. При этом есть серьезные основания считать, что надежность отечественных криптосистем конверсионного происхождения будет превосходить зарубежные аналоги .

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

Алгоритм ГОСТ 28147-89 построен по тому же принципу, что и DES, это классический блочный шифр с секретным ключом, однако отличается от DES большей длиной ключа, большим количеством раундов и более простой схемой построения самих раундов. В табл. 2 приведены его основные параметры, для удобства - в сравнении с параметрами DES .

Таблица 2. Сравнение параметров шифров DES и ГОСТ

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

Если кратко описать сценарий обмена информации, то он заключается в следующем:

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

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

Вскрытие шифра

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

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

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

Бороться с методом полного перебора позволяет увеличение длины используемого ключа шифрования. Причем, увеличение его длины всего на 8 бит увеличивает число вариантов перебора в 2 8 раз, соответственно на 64 бита – в 2 64 раз.

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

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

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

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

Асимметричные алгоритмы шифрования

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

  • RSA . Используется задача факторизации (вычисления простых сомножителей) большого целого числа. Построен на основе перемножения двух простых чисел большой разрядности . Широко применяется в криптографических протоколах закрытия информации и аутентификации.
  • Эль-Гамаль (El-Gamal) . Основан на задаче дискретного логарифмирования в конечном поле . Используется в стандартах электронной цифровой подписи (ЭЦП) DSS , ГОСТ Р34.10-94 и т.д.
  • Эллиптические кривые (elliptic curve) . Основан на задаче дискретного логарифмирования на эллиптических кривых в конечном поле.

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

  • закрытие информации;
  • аутентификация с использованием ЭЦП;
  • защищенное от перехвата распределение открытых ключей (криптосистема Диффи – Хеллмана (Diffie – Hellman)) .

Более подробно преимущества и недостатки асимметричных криптосистем рассмотрены в .

Хэш-функции

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

  • MD5 (128);
  • SHA-1 (160);
  • ГОСТ (256).

Таблица 1. Перечень и параметры хэш-функций

Хэш-функция

Длина значения, бит

Размер блока, бит

Производительность, Мб/с

Примечание

нет данных

Разработана Роном Ривестом в 1989 г.
Обнаружены коллизии в упрощенной функции компрессии

Разработана Роном Ривестом в 1990 г.
Обнаружены коллизии

Разработана Роном Ривестом в 1991 г.
Обнаружены коллизии в функции компрессии

Разработана в 1995 г. в Европейском проекте RIPE

Разработана в 1995 г. в NIST

ГОСТ России

В табл. 1 не приведены редко используемые и экзотические хэш-функции, а также хэш-функции, построенные на симметричных блочных шифрах по схемам Мейера – Матиаса (Meyer – Matyas) и Девиса – Прайса (Davies – Price) .
Подробнее упомянутые хэш-функции описаны в .
Хотя средства криптографической защиты с «открытым ключом» или асимметричные криптосистемы особенно широко используются начиная с конца 70-х гг. , они обладают очень серьезным недостатком – крайне низким быстродействием. В связи с этим на практике обычно используется комбинированная схема криптографической защиты . При установлении соединения и аутентификации сторон используется криптография с «открытым ключом», затем генерируется сеансовый ключ для симметричного шифрования, на котором закрывается весь трафик между абонентами. Сеансовый ключ также распространяется с использованием открытого ключа.



Рис. 2. Схема алгоритма асимметричной криптосистемы

Таблица 2. Асимметричные криптосистемы

Название метода

Метод взлома
(мат. проблема)

Криптостойкость, MIPS

Примечание

2,7 1028 для ключа 1300 бит

Разработан в 1977 г. Роном Ривестом, Ади Шамиром и Леонардом Эйдельманом.
Включен во многие стандарты

факторизация больших простых чисел

El-Gamal
(Эль-Гамаль)

нахождение дискретного логарифма в конечном поле

при одинаковой длине ключа криптостойкость равная RSA

Разработан Эль-Гамалем. Используется в алгоритме цифровой подписи DSA-стандарта DSS

Эллиптические уравнения

решение эллиптических уравнений

криптостойкость и скорость работы выше, чем у RSA

Современное направление. Разрабатывается многими ведущими математиками

Метод RSA в настоящее время является стандартом де-факто в системах информационной безопасности и рекомендован CCITT (Consultative Committee in International Telegraphy and Telephony – Международным консультативным комитетом в области телеграфии и телефонии, МККТТ) в стандарте X.509 . RSA используется во многих международных стандартах (S-HTTP, PEM, S-MIME, S/WAN, STT, SSL, PCT, SWIFT, ANSI X.9.31 и т.д.) , в системах обслуживания кредитных карточек, в операционных системах для защиты сетевых протоколов.
Для методов RSA и Эль-Гамаля проведено огромное количество научных исследований, изучено большое количество методов их криптоанализа, защиты от атак, детально рассчитана криптостойкость в зависимости от длины ключа и других параметров. Оба метода обладают одинаковой криптостойкостью (при одинаковой длине ключа) и примерно одинаковой скоростью работы. Учитывая, что метод эллиптических уравнений (elliptic curve) проходит стадию апробации и не был подвергнут до настоящего времени такому большому количеству попыток взлома, как методы RSA и Эль-Гамаля, использование в системах шифрования двух последних выглядит предпочтительнее.
Подробное описание данных алгоритмов приведено в .

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

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

  • отказ (ренегатство) – абонент А заявляет, что не посылал сообщения Б, хотя на самом деле посылал;
  • модификация (переделка) – абонент Б изменяет документ и утверждает, что данный документ (измененный) получил от абонента А;
  • подмена – абонент Б формирует документ (новый) и заявляет, что получил его от абонента А;
  • активный перехват – нарушитель (подключившийся к сети) перехватывает документы (файлы) и изменяет их;
  • «маскарад» – абонент В посылает документ от имени абонента А;
  • повтор – абонент В повторяет ранее переданный документ, который абонент А послал абоненту Б.

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

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

Для ответа на все эти вопросы потребовалось около 20 лет с того момента, как эта идея была впервые сформулирована в 1976 г. в статье Уитфилда Диффи и Мартина Хеллмана. Сейчас уже можно определенно сказать, что все эти вопросы решены: есть полный арсенал технических средств авторизации электронных документов, называемых цифровой подписью. Современные принципы построения системы цифровой подписи просты и изящны:

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

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



Рис. 3. Алгоритм электронной цифровой подписи

На вход алгоритма поступает файл, необязательно текстовый, основное требование, предъявляемое к входным параметрам ЭЦП, – фиксированная длина, для этого используется хэш-функция.
Теоретически применение различных средств шифрования сулит радужные перспективы всем компаниям, использующим в своей деятельности Интернет, но тут возникает новая проблема – найти компромисс с государством и его законами, данная проблема подробно освещена в .
В соответствии с Федеральным законом «Об электронной цифровой подписи» № 1-Ф3 от 10 января 2002 г. электронная цифровая подпись в электронном документе признается равнозначной собственноручной подписи в документе на бумажном носителе. Также обеспечивается правовое регулирование для организации электронного документооборота, распределения открытых и закрытых ключей, построения центров сертификации, определяются ответственности сторон.
Принятие данного закона, хотя в нем есть некоторые неопределенности, позволил регламентировать использование асимметричных средств шифрования, в данном случае ЭЦП, для защиты данных в Интернете.

Литература

  1. Shannon C.E. Communication Theory of Secrecy Systems. Bell Systems Technical Journal 28, 1949, p. 656 - 715.
  2. Federal Information Processing Standards Publication 46-2. Data Encryption Standard (DES). NIST, US Department of Commerce, Washington D.C, 1993.
  3. ГОСТ 28147-89. Системы обработки информации. Защита криптографическая. Алгоритм криптографического преобразования.
  4. Bruce Schneier, Applied Cryptography: Protocols, Algorithms and Source Code in C. John Willey & Sons, 1994.
  5. Nechvatal James. Public-Key Cryptography. NIST, Gaithersburg, 1990.
  6. Weiner M. Efficient DES key search: Technical Report TR-244, School of Computer Science, Carleton University, 1994.
  7. Odlyzko A.M. The Future of Integer Factorization. Cryptobytes, RSA Laboratories.- vol. 1, N 2, 1995, p. 5 - 12.
  8. Rogaway P. The security of DESX. Cryptobytes, RSA Laboratories, vol. 2, N 2, 1996, p. 8 - 11.
  9. Kaliski B., Robshaw M. Multiple encryption: weighing security and perfomance. // Dr. Dobb’s Journal, January 1996, p. 123 - 127.
  10. Rivest R.L. The RC5 Encryption Algorithm. Cryptobytes, RSA Laboratories, vol. 1, N 1, 1995, p. 9 - 11.
  11. Kaliski B., Yiqun Lisa Yin. On the Security of the RC5 Algorithm. Cryptobytes, RSA Laboratories, vol. 1, N 2, 1995, p. 12.
  12. Олейник В. Циклы в алгоритме криптографического преобразования данных ГОСТ 28147-89. http://www.dekart.ru
  13. Андрей Винокуров. Алгоритм шифрования ГОСТ 28147-89, его использование и реализация для компьютеров платформы Intel x86.
  14. Что такое Blowfish? http://www.halyava.ru/aaalexey/CryptFAQ.html.
  15. Linn J. Privacy Enhancement for Internet Electronic Mail: Part I: Message Encryption and Authentication Procedures. RFC 1421, 1993.
  16. Евтушенко Владимир. Тройной DES. Новый стандарт? http://www.bgs.ru/russian/security05.html.
  17. Что такое ГОСТ28147-89? http://www.halyava.ru/aaalexey/GOST.html.
  18. Andrew Jelly. /Криптографический стандарт в новом тысячелетии/, http://www.baltics.ru/~andrew/AES_Crypto.html.
  19. Алгоритм шифрования Rijndael. http://www.stophack.ru/spec/rijndael.shtml.

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

Что такое шифрование

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

Особенностью такого вида передачи данных является использование ключа.

Есть три состояния безопасности:

  • скрытие информации от посторонних;
  • предотвращение изменений;
  • сохранение целостности информации;
  • идентификация отправителя.

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

Бывают два вида шифрования: симметричный и асимметричный.

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

  • отправитель шифрует данные;
  • получатель расшифровывает.

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

Криптостойкость

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

Существует 2 основных типа криптостойкости системы шифрования.

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

    Максимальный размер ключа RSA — 4096 бит.

    Он используется для шифрования и подписи. Криптостойкость можно описать как 2,7.1028 для ключа 1300 Бит. Схема применяется во многих стандартах, принцип шифрования RSA один из первых асимметричных алгоритмов.

    Размер ключа схемы Эль-Гамаля равен RSA — 4096 Бит. Он используется и для шифрования, и для цифровой подписи. Криптостойкость этой системы не отличается от RSA при одинаковом размере ключа.

    В методе DSA используется значительно меньшей ключ — 1024 бита. Применяется он исключительно для цифровой подписи.

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

    Эти два вида шифрования отличаются количеством ключей и уровнем устойчивости к взлому.

    Если для кодирования и раскодирования используется один ключ, то это шифрование симметричное. Асимметричное шифрование подразумевает использование одного ключа для каждого алгоритма.

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

    Особенности симметричного шифрования

    Симметричная система защита имеет следующие достоинства.

  • Высокая скорость и простота реализации.
  • Для обеспечения стойкости шифра используется малая длина ключа.
  • К недостаткам относится следующее:

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

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

    Особенности асимметричного шифрования

    Применение пары открытый-закрытый ключ можно использовать как:

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

    Имеет такие преимущества:

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

    В таких алгоритмах сложно внести какие-либо изменения. Подобная система имеет длинные ключи. Если симметричный ключ имеет размер 128 Бит, то ключ RSA — 2304 Бит. Из-за этого страдает скорость расшифровывания — она в 2-3 раза медленнее. Для расшифровки требуются большие вычислительные ресурсы.

    Существует очень много примеров симметричной и асимметричной систем шифрования.

    Симметричное шифрование — как выглядит?

    Пример симметричного шифрования и схема реализации ниже.

  • Есть два собеседника, которые планируют обменяться конфиденциальной информацией.
  • Первый собеседник генерирует ключ d, алгоритмы шифрования E и дешифрования D. Затем посылает эту информацию второму собеседнику.
  • Сообщение дешифруется ключом d.
  • Главным недостатком является невозможность установить подлинность текста. В случае перехвата ключа злоумышленник расшифрует секретную информацию.

    Существуют классические методы.

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

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

    “Магический квадрат” — более сложная структура, которая представляет собой матрицу. В клетки вписываются натуральные числа таким образом, чтобы сумма чисел по каждому столбцу, строке, диагонали была одинаковой. Каждое число соответствует букве сообщения. Полученный текст выписывается в строку, сопоставляя числа и символы.

    Примеры асимметричного шифрования

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

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

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

  • Шифр Эль-Гамаля.
  • RSA

    RSA — первый криптографический алгоритм, используемый и для шифрования, и для цифровой подписи.

    Описывается так.

  • Выбирается два простых числа, например, 3 и 7.
  • Вычисляется модуль n — произведение двух чисел. Получается 21.
  • Вычисляется функция Эйлера φ=(p-1)×(q-1)=2×6=12.
  • Вычисляется любое простое число e меньше φ и простое с φ. Доступные варианты: 5, 7, 11.
  • Пара чисел e, n (5, 21) — открытый ключ. Теперь вычисляются числа d и n закрытого ключа. Число d удовлетворяет условие (d×е) mod φ=1 и равняется 17. В итоге вторая пара чисел 17 и 21 — закрытый ключ. Шифрование выполняется следующим образом: сообщение возводится в степень e, берется остаток от деления на n, при этом результат должен быть меньше числа n. Получается 10 — это будут закодированные данные. Для раскодировки e возводится в степень d, вычисляется остаток от деления на n.

    DSA

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

  • Выбор криптографической хэш-функции H(x).
  • Битность простого числа q должна равняться значению хэш-функции H(x).
  • Подбор такого простого числа p, чтобы p-1 делился без остатка на q.
  • Вычисление числа g = h (p-1)/q mod p. h должно быть произвольным числом в диапазоне от 1 до p-1.
  • Выбирается случайное число k от 0 до q.
  • Вычисляется r = (gk mod p) mod q.
  • Затем s = k-1(H(m) + xr)) mod q.
  • Если r=0 или s=0, выбирается другое число k.
  • Схема Эль-Гамаля

    Шифрование по схеме Эль-Гамаля используется для цифровых подписей. Является продолжением алгоритма Диффи-Хеллмана.

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

    Генерация ключей происходит следующим образом.

  • Выбирается случайное простое число p.
  • Число g должно быть первообразным корнем p.
  • Число x должно быть больше 1 и меньше p-1. Это будет закрытый ключ.
  • Затем вычисляется открытый ключ y по формуле g^x mod p.
  • При шифровании текста M выбирается системный ключ K. Он больше единицы и меньше p-1. Затем вычисляются числа a и b, которые являются шифротекстом, a = g^k mod p и b = y^k M mod p.

  • Разработка веб-сайтов ,
  • Алгоритмы
    • Перевод

    Как же все-таки работает HTTPS? Это вопрос, над которым я бился несколько дней в своем рабочем проекте.

    Будучи Web-разработчиком, я понимал, что использование HTTPS для защиты пользовательских данных – это очень и очень хорошая идея, но у меня никогда не было кристального понимания, как HTTPS на самом деле устроен.

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

    Трубопровод

    Перед тем как мы погрузимся в то, как это работает, давайте коротко поговорим о том, почему так важно защищать Интернет-соединения и от чего защищает HTTPS.

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

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

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

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

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

    Transport Layer Security (TLS)

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

    TLS - наследник SSL - это такой протокол, наиболее часто применяемый для обеспечения безопасного HTTP соединения (так называемого HTTPS). TLS расположен на уровень ниже протокола HTTP в модели OSI . Объясняя на пальцах, это означает, что в процессе выполнения запроса сперва происходят все “вещи”, связанные с TLS-соединением и уже потом, все что связано с HTTP-соединением.

    TLS – гибридная криптографическая система. Это означает, что она использует несколько криптографических подходов, которые мы и рассмотрим далее:

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

    Криптосистема с открытым ключом

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

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

    Это означает, что если кто-нибудь находится между клиентом и сервером и наблюдает за соединением – он все равно не сможет узнать ни закрытый ключ клиента, ни закрытый ключ сервера, ни секретный ключ сессии.

    Как это возможно? Математика!

    Алгоритм Ди́ффи - Хе́ллмана

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

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

    Немного математики…

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

    Пусть Алиса и Боб – две стороны, осуществляющие обмен ключами по DH-алгоритму. Сперва они договариваются о некотором основании root (обычно маленьком числе, таком как 2,3 или 5) и об очень большом простом числе prime (больше чем 300 цифр). Оба значения пересылаются в открытом виде по каналу связи, без угрозы компрометировать соединение.

    Напомним, что и у Алисы, и у Боба есть собственные закрытые ключи (из более чем 100 цифр), которые никогда не передаются по каналам связи.

    По каналу связи же передается смесь mixture , полученная из закрытых ключей, а также значений prime и root .

    Таким образом:
    Alice’s mixture = (root ^ Alice’s Secret) % prime
    Bob’s mixture = (root ^ Bob’s Secret) % prime
    где % - остаток от деления

    Таким образом, Алиса создает свою смесь mixture на основе утвержденных значений констант (root и prime ), Боб делает то же самое. Как только они получили значения mixture друг друга, они производят дополнительные математические операции для получения закрытого ключа сессии. А именно:

    Вычисления Алисы
    (Bob’s mixture ^ Alice’s Secret) % prime

    Вычисления Боба
    (Alice’s mixture ^ Bob’s Secret) % prime

    Результатом этих операций является одно и то же число, как для Алисы, так и для Боба, и это число и становится закрытым ключом на данную сессию. Обратите внимание, что ни одна из сторон не должна была пересылать свой закрытый ключ по каналу связи, и полученный секретный ключ так же не передавался по открытому соединению. Великолепно!

    Для тех, кто меньше подкован в математическом плане, Wikipedia дает прекрасную картинку , объясняющую данный процесс на примере смешивания цветов:

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

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

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

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

    Аутентификация

    Алгоритм Диффи-Хеллмана позволяет двум сторонам получить закрытый секретный ключ. Но откуда обе стороны могут уверены, что разговаривают действительно друг с другом? Мы еще не говорили об аутентификации.

    Что если я позвоню своему приятелю, мы осуществим DH-обмен ключами, но вдруг окажется, что мой звонок был перехвачен и на самом деле я общался с кем-то другим?! Я по прежнему смогу безопасно общаться с этим человеком – никто больше не сможет нас прослушать – но это будет совсем не тот, с кем я думаю, что общаюсь. Это не слишком безопасно!

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

    Но, на самом деле, что это за сертификат, и как он предоставляет нам безопасность?

    Сертификаты

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

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

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

    Чтобы сертификату доверял любой веб-браузер, он должен быть подписан аккредитованным удостоверяющим центром (центром сертификации, Certificate Authority, CA). CA – это компании, выполняющие ручную проверку, того что лицо, пытающееся получить сертификат, удовлетворяет следующим двум условиям:

    1. является реально существующим;
    2. имеет доступ к домену, сертификат для которого оно пытается получить.

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

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

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

    Прочие вещи которые нужно знать о сертификатах

    Расширенная валидация
    В дополнение к обычным X.509 сертификатам, существуют Extended validation сертификаты, обеспечивающие более высокий уровень доверия. Выдавая такой сертификат, CA совершает еще больше проверок в отношении лица, получающего сертификат (обычно используя паспортные данные или счета).

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

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

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

    Поэтому ниже мы расскажем, что такое симметричное и асимметричное шифрование простыми словами.

    Симметричное шифрование простыми словами

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

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

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

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

    Необходимо отметить, что несмотря на вышеперечисленные нюансы, симметричное шифрование распространено довольно широко, что обусловлено двумя факторами:

    • Простота понимания;
    • Отсутствие большой технической нагрузки.

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

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

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

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

    Хранить пароли также проще при асимметричном шифровании из-за того, что отсутствует необходимость передачи секретного ключа кому-либо. Его не нужно никому передавать.

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

    Различия симметричного и асимметричного шифрования

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

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

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

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

    Генерировать пароли в симметричном алгоритме на много проще в отличие от ассиметричных алгоритмов.

    Выводы

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



    
    Top