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

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

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

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

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

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

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

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

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

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

Рис. 1.3.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

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

Текст

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

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

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

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

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

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

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

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

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

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

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

подпись

Шифруется

Секретным 1

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

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

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

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

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

Рис. 4.1.


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Мы выпустили новую книгу «Контент-маркетинг в социальных сетях: Как засесть в голову подписчиков и влюбить их в свой бренд».

Подписаться

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

Аббревиатура читается как «HyperText Transfer Protocol», что в переводе означает «протокол для передачи ». HTTP относится к группе прикладного уровня на основании специфики, использующейся OSI.

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

Для чего нужен HTTP

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

Таким образом, протокол HTTP позволяет осуществлять обмен информацией между различными приложениями пользователей и специальными веб-серверами, а также подключаться к веб-ресурсам (как правило, браузерам). Сегодня описываемый протокол обеспечивает работу всей сети. Протокол передачи данных HTTP применяется и для передачи информации по другим протоколам более низкого уровня, например, WebDAV или SOAP. При этом протокол представляет собой средство для транспортировки. Многие программы также основываются на применении HTTP в качестве основного инструмента для обмена информацией. Данные представляются в различных форматах, к примеру, JSON или XML.

HTTP является протоколом для обмена информацией с помощью соединения IP/ ТСР. Как правило, для этого сервер использует порт 80 типа TCP. Если порт не прописан, программное обеспечение клиента будет использовать порт 80 типа TCP по умолчанию. В некоторых случаях могут использоваться и другие порты.

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

Чем отличается HTTP от HTTPS

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

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

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

Дополнительный функционал

HTTP отличается богатым функционалом, он совместим с различными расширениями. Используемая сегодня спецификация 1.1 позволяет применять заголовок Upgrade для переключения и работы через другие протоколы при обмене данными. Для этого пользователь должен отправить запрос серверу с данным заголовком. Если же сервер нуждается в переходе на специфичный обмен по иному протоколу, он возвращает клиенту запрос, в котором отображается статус «426 Upgrade Required».

Данная возможность особенно актуальна для обмена информацией через WebSocket (имеет спецификацию RFC 6455 , позволяет обмениваться данными в любой момент, без лишних HTTP-запросов). Для перехода на WebSocket один пользователь отправляет запрос с заголовком Upgrade и значением «websocket». Далее сервер отвечает «101 Switching Protocols». После этого момента начинается передача информация по WebSocket.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


К недостаткам относится следующее:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  1. Простая и двойная перестановка.
  2. Магический квадрат.
  3. Одиночная перестановка.

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

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

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

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

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

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

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

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

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

RSA

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

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

  1. Выбирается два простых числа, например, 3 и 7.
  2. Вычисляется модуль n - произведение двух чисел. Получается 21.
  3. Вычисляется функция Эйлера φ=(p-1)×(q-1)=2×6=12 .
  4. Вычисляется любое простое число 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) используется только для цифровой подписи, но не для шифрования. Заданная подпись может быть проверена публично. Есть два алгоритма для создания подписи и проверки. Шифруется именно хеш-сообщение, которое представляет текст в цифровом виде. Поэтому для избежания коллизий выбирается сложная хэш-функция. Построение цифровой подписи состоит из следующих шагов.

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

Схема Эль-Гамаля

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

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

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

  1. Выбирается случайное простое число p.
  2. Число g должно быть первообразным корнем p.
  3. Число x должно быть больше 1 и меньше p-1. Это будет закрытый ключ.
  4. Затем вычисляется открытый ключ y по формуле g^x mod p .

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



Понравилась статья? Поделиться с друзьями: