31
владеть защищаемой информацией. В связи с этим рассматривают криптографическую стойкость, или надежность, шифра, различая стойкие и менее стойкие шифры.
При проведении активных атак противник может прерывать процесс передачи сообщений, уничтожать, изменять или подменять часть или все сообщение. Последние активные действия называются также попытками имитации и подмены соответственно. Методы вскрытия шифров изучает и разрабатывает наука, которая называется криптоанализ.
В иностранной литературе часто используется термин криптология, с помощью которого обозначается область знаний, объединяющих криптографию и криптоанализ. При этом криптография рассматривается как наука о создании шифров. Ряд отечественных ученых не согласен с подобной трактовкой, аргументируя свою позицию следующим образом. Если следовать подобной трактовке, то можно придти к выводу о том, что задачи создания криптографической защиты и ее преодоления принципиально различаются. На самом деле было бы нелогично считать защиту надежной без проведения детального криптоанализа. Другими словами, всякий процесс создания шифра подразумевает проведение соответствующих испытаний методами криптоанализа. Следовательно, считают эти специалисты, криптоанализ является составной частью криптографии.
Существуют так называемые симметричные и асимметричные криптографические системы. Как известно, традиционные криптографические системы используют один и тот же ключ для зашифрования и расшифрования информации. Иногда эти ключи представляются как различающиеся, но один легко выводится из другого, образуя единый секретный ключ системы. Подобная «ключевая» симметрия относительно процессов зашифрования и расшифрования позволила назвать подобные системы симметричными. Криптографические системы второго вида используют два существенно различающихся ключа для зашифрования и расшифрования. Один из ключей не составляет секрета, он выступает в качестве публичного и называется открытым. Второй ключ традиционно является секретным. Знание одного ключа практически не позволяет вычислить значение второго. В связи с этим и по аналогии с наименованием первых систем такие криптографические системы получили название асимметричных.
32
Асимметричные криптографические системы часто называют системами с открытыми ключами.
Симметричные криптографические системы принято подразделять на поточные и блочные. Поточные системы осуществляют зашифрование потока символов открытого текста последовательно символ за символом. Вторые системы производят зашифрование фиксированных частей открытого сообщения – блоков, образованных подряд идущими символами.
Рассмотрим схемы использования асимметричных криптографических систем.
Каждый из пользователей, например А, системы шифрования получает ключ kА=(kзА, kрА), состоящий из открытого ключа kзА и секретного ключа kрА. Открытый ключ определяет правило зашифрования Еk, а секретный – правило расшифрования Dk. Для любого открытого текста М и любого шифрованного текста С эти преобразования связаны соотношением Dk(Еk,(М)) = С. Открытый ключ не требуется сохранять в тайне; необходимо лишь обеспечить его аутентичность. Знание открытого ключа не позволяет за приемлемое время (или с приемлемой сложностью) определить секретный ключ.
Пользователь В, желая послать конфиденциальное сообщение М пользователю А, получает на общедоступном сервере ключ kзА и алгоритм зашифрования ЕА. Образовав шифрованный текст С = ЕkА(М), пользователь В отправляет его по каналу связи пользователю А. Расшифровать это сообщение может только пользователь А, обладающий секретным ключом kрА. Приняв сообщение С, пользователь А применяет к нему преобразование DkА и получает открытый текст М.
Возможна и другая симметричная ситуация, когда открытый и секретный ключи меняются местами. Например, лицо А, принимающее решение, используя секретный ключ kрА, может зашифровать свое распоряжение и разослать его исполнителям. Здесь право отдать распоряжение и возможность сформировать соответствующий шифрованный текст имеет только уполномоченное лицо А; расшифровать сообщение может каждый, воспользовавшись открытым ключом kзА. Поскольку секретным ключом kрА обладает только лицо А, авторство сообщения гарантируется.
Наконец, можно рассмотреть и третью ситуацию применения системы шифрования с открытыми ключами, в которой обеспечивается как конфиденциальность, так и авторство пересылаемого сообщения.
33
Предположим, например, что пользователь А желает отправить пользователю В конфиденциальное сообщение с гарантией своего авторства. В этом случае он может поступить следующим образом. Сначала сообщение зашифровывается с помощью секретного ключа на алгоритме ЕkА(М), затем полученный шифрованный текст зашифровывается повторно с помощью открытого ключа kВ на алгоритме ЕkВ(М). Получив это сообщение, пользователь В дважды осуществляет расшифрование, сначала используя собственный секретный ключ kВ, а затем – открытый ключ kА пользователя А.
Обеспечение целостности информации
Обеспечение целостности хранимой или передаваемой информации является второй, не менее важной, чем первая, задачей криптографии. Необходимо уточнить, что криптография решает не задачу непосредственного обеспечения целостности, а разрабатывает методы и средства, позволяющие обнаруживать уничтожение, изменение или подмену части или всей защищаемой информации. Другими словами, криптография изучает одну из составляющих проблемы обеспечения целостности, а именно: контроля неизменности информации.
Для решения этой задачи в защищаемую информацию вносится определенная избыточность. Как правило, это достигается добавлением к информации некоторой проверочной комбинации, вычисляемой с помощью специального алгоритма и играющей роль контрольной суммы. Проверочная комбинация носит название имитовставки. Впоследствии для контроля целостности информации с помощью того же алгоритма может быть образована очередная проверочная комбинация, которую следует сравнить с исходной. При совпадении их значений с определенной долей уверенности может быть принято решение о неизменности защищаемой информации.
Главное отличие такого метода от методов теории кодирования, используемых, например, в вычислительной технике для контроля правильности процессов записи-считывания, передачи данных между устройствами и т. п., заключается в применении специальных криптографических алгоритмов для формирования имитовставок. Как правило, имитовставка S является значением зависящей от секретного ключа k криптографической хэш-функции hk(M) (в криптографии применяются и бесключевые хэш-функции). Подобная функция предназначена для сжатия произвольного сообщения или набора дан-
34
ных, обычно представленных в двоичном виде, в некоторую битовую комбинацию фиксированной длины. Собственно значение хэш-функ- ции часто называют сверткой.
К хэш-функциям или имитовставкам предъявляются следующие требования:
–невозможность вычисления значения hk(M) = S для некоторого сообщения М без знания секретного ключа k. Это требование связано
снеобходимостью предотвращения попыток противника по созданию поддельных сообщений;
–невозможность подбора по известному сообщению М с извест-
ным значением hk(M)=S другого сообщения М1 с правильным значением hk(M1)=S1 без знания секретного ключа k. Это требование направлено на предотвращение попыток противника модифицировать передаваемые сообщения.
Итак, для обеспечения возможности проверки целостности сообщения М пользователь А с помощью хэш-функции вычисляет значе-
ние имитовставки hk(M)=S. Это значение он добавляет к тексту исходного сообщения, образуя сообщение М*= (М, S), которое передается по каналу связи. Получив сообщение М*, пользователь В на ключе k вычисляет значение имитовставки и сравнивает его с полученным значением S. Несовпадение значений свидетельствует о нарушении целостности сообщения. В заключение отметим, что рассмотренная схема предполагает знание секретного ключа k каждым из взаимодействующих пользователей.
Аутентификация источника информации
Аутентификация источника информации означает подтверждение того, что исходная информация была создана заявленным источником, иными словами, подтверждение авторства информации.
Заметим, что в условии информационного взаимодействия доверяющих друг другу сторон, обладающих общим секретным ключом, эта задача решается автоматически. Действительно, любое успешно проверенное или расшифрованное и проверенное получателем сообщение может быть создано только легальным отправителем, так как только он знает общий секретный ключ. В каждом из обозначенных случаев используется соответственно следующие формы сообщений:
(М, hk(M)) и Ek(M, h(M)) или (М, Ek(h(M)).
35
В условии не доверяющих друг другу сторон использование общего секретного ключа для аутентификации источника информации становится невозможным. Отправитель может, например, отказаться от факта передачи сообщения, утверждая, что сообщение создано самим получателем. Подобные действия, естественно, называются отказом от авторства. Получатель может модифицировать или создать новое сообщение, а затем утверждать, что оно получено от отправителя. Такие действия называют приписыванием авторства. Очевидно, что в подобных ситуациях арбитр при решении спора не имеет возможности установить истину.
Основным механизмом решения этой проблемы является цифровая подпись. Она во многом аналогична обычной. Вместе с тем, цифровая подпись имеет и существенные отличия: функциональную зависимость от конкретного сообщения, возможность отделения от документа и независимой передачи, а также возможность подтверждения одним экземпляром многих копий документа. Обратим особое внимание на первую особенность цифровой подписи. Если бы цифровая подпись представляла собой неизменную уникальную для каждого пользователя последовательность символов, после первого же предъявления она могла стать элементом мистификации. Действительно, перехватив эту последовательность, противник или любой недобросовестный пользователь получил бы возможность создавать и подписывать сообщения от имени автора подписи. В связи с этим механизм строится таким образом, что цифровая подпись может быть создана только знающим некий секрет автором с уникальным значением подписи для каждого конкретного сообщения.
Для построения механизма цифровой подписи можно использовать симметричные криптографические системы. В этом случае в предположении, что ключ шифрования известен только автору, цифровой подписью может служить само зашифрованное на секретном ключе сообщение. Однако такая подпись является одноразовой: после каждой ее проверки ключ становится известным и более не может использоваться. Единственный выход из положения – ввод третьей доверенной стороны, выполняющей роль посредника. В этой ситуации вся информация пересылается через посредника, располагающего секретными ключами всех пользователей системы. Получив сообщение, посредник осуществляет его перешифрование с ключа автора