Опубликован: 20.02.2006 | Уровень: специалист | Доступ: платный
Лекция 9:

Криптографические средства

Виды криптографии

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

Симметричная криптография

Рис. 9.1. Симметричная криптография

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

Революция в криптографии началась, когда Витфилд Диффи, Мартин Хеллман и Ральф Меркл изобрели криптографию с открытым ключом. (Некоторые утверждают, что в действительности британский гражданский служащий Джеймс Эллис сделал это раньше и держал в секрете, но Диффи, Хеллману и Мерклу принадлежит первая публикация, датируемая 1976-м годом.) Они пытались решить старую проблему обмена ключами. Диффи интересовало, как два человека, желающие осуществить финансовую транзакцию через электронную сеть, могут сделать это безопасным образом. Он думал о далеком будущем, так как Интернет тогда был в зачаточном состоянии, а электронной коммерции еще не существовало. Если правительственные организации имеют проблемы при обмене ключами, то как может справиться с этим рядовой гражданин? Он хотел построить систему, с помощью которой две стороны могли бы легко поддерживать защищенные коммуникации и безопасные транзакции, не обмениваясь каждый раз ключами. Он знал, что если он сможет решить проблему обмена ключами, то это станет прорывом в криптографии.

Диффи сотрудничал с Мартином Хеллманом и Ральфом Мерклом. Им потребовалось несколько лет, но в конце концов они создали систему, называемую шифрованием с открытым ключом (PKE - Public Key Encryption), известную также как асимметричная криптография.

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

Асимметричная криптография (открытый ключ)

Рис. 9.2. Асимметричная криптография (открытый ключ)

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

Вскоре после публикации Диффи, Хеллмана и Меркла другая группа из трех человек разработала практическое приложение теории. Эта система для шифрования с открытым ключом была названа RSA по именам авторов: Ronald Rivest (Рональд Ривест), Adi Shamir (Ади Шамир) и Leonard Adleman (Леонард Адлеман). Они образовали компанию и начали лицензировать свою систему. Дело шло туго, и их компания почти обанкротилась, пока они не договорились с малоизвестной тогда компанией Netscape об использовании возможностей растущего поля Интернет-коммерции. Остальное уже история, и RSA на сегодняшний день - самый употребительный алгоритм шифрования с открытым ключом. Диффи и Хеллман со временем выпустили собственное практическое приложение, но оно применяется только для обмена ключами, в то время как RSA - для аутентификации и обеспечения неотказуемости.

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

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

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

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

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

Стандарт шифрования данных DES (Data Encryption Standard)

DES является исходным стандартом, который правительство США рекомендовало для правительственных и коммерческих применений. Первоначально в 1970-е годы он считался практически невскрываемым, но с ростом вычислительной мощности и снижением стоимости вычислений его 56-битный ключ функционально устарел для высокосекретной информации. Тем не менее, он все еще применяется во многих коммерческих продуктах и считается приемлемым для приложений с умеренным уровнем безопасности. Он используется также в продуктах со слабыми процессорами, таких как смарт-карты и бытовые приборы, неспособных обрабатывать более длинные ключи.

Тройной DES

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

RC4, RC5 и RC6

Это алгоритм шифрования, разработанный Рональдом Ривестом, одним из создателей RSA, первого коммерческого приложения криптографии с открытым ключом. Со временем были сделаны усовершенствования, чтобы усилить его и исправить некоторые недочеты. Текущая версия RC6 допускает длину ключа до 2040 бит и переменный размер блока до 128 бит.

AES

Когда правительство США осознало, что DES со временем достигнет конца своей полезной жизни, оно стало искать ему замену. Национальный институт стандартов и технологий США - правительственный орган стандартизации - объявил открытый конкурс на новый алгоритм, призванный стать новым правительственным стандартом. Претендентов было много, включая RC6, Blowfish известного криптографа Брюса Шнайера и другие достойные алгоритмы. Победителем стал AES, базирующийся на алгоритме Rijndael, разработанном двумя бельгийскими криптографами. То, что стандарт был выбран в результате открытого состязания, весьма примечательно, как и победа двух неамериканских разработчиков, позволившая без значительных финансовых вложений обеспечить ему мировое признание. AES быстро становится новым стандартом шифрования. Он предлагает ключ шифрования до 256 бит, что представляется более чем достаточным для обозримого будущего. Обычно AES из соображений эффективности реализуется в режиме 128 или 192 бита.

Роман Попов
Роман Попов

После прохождения курса Стандарты инфрмационной безопасности мне предложено получение Удостоверения о повышении квалификации от НИУ ВШЭ по программе Менеджмент информационной безопасности. Программа включает в себя ряд курсов которые я уже ранее проходил. Какой порядок действий в данном случае? Как прозводится перезачет результатов? И какие экщамены мне надо еще доздать чтобы получить удостоверение?

Александр Путятинский
Александр Путятинский

Добрый день по окончании данного курса выдается сертификат?

Гончик Цымжитов
Гончик Цымжитов
Россия, Санкт-Петербург
Александр Косенко
Александр Косенко
Украина, Днепропетровск