39611

Электронный обмен данными

Дипломная

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

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

Русский

2013-10-07

11.46 MB

38 чел.

Оглавление

Введение.

Общая часть. (Просто исправить в содержании и в самом дипломе)

  1.  Основные понятия криптографии
    1.  Классификация криптографических систем

1.2.1 Симметричные алгоритмы

1.2.2. Ассиметричные алгоритмы

1.2.3. Хэш функции;

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

1.3.1. Протокол SSL;

1.3.2. Протокол SSH

1.4. Криптоанализ

Специальная часть. (Взять из пдф документа «сделать под спец часть» или из папки «криптография»)

  1.  Техническое задание на создание системы;
  2.  Пространство имен System.Security.Cryptography и его компоненты;
  3.  Алгоритмы цифровой подписи и проверки подлинности (Алгоритмы из прф документа)

3.1 Алгоритм регистрации нового автора

3.2 Алгоритм подписи документа;

3.3. Алгоритм проверки подлинности документа.

  1.  Описание разработанного решения
  2.  Плагин для MS Word;

[1] Оглавление

[2]
ВВЕДЕНИЕ

[3]
1 ОБЩАЯ ЧАСТЬ

[3.1] 1.1 Основные понятия шифрования

[3.2] 1.2 Классификация систем шифрования

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

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

[3.3] 1.3 Понятие о хэш-функции

[3.4] 1.4 Протоколы обмена зашифрованной информацией

[3.4.1] 1.4.1 Протокол Secure Sockets Layer (SSL)

[3.4.2] 1.4.2 Протокол Secure Shell (SSH)

[3.5] 1.5 Основы криптоанализа

[4] 2 СПЕЦИАЛЬНАЯ ЧАСТЬ

[4.1] 2.1 Техническое задание на создание системы электронной подписи

[4.1.1] 2.1.1 Общие сведения о системе

[4.1.2] 2.1.2 Назначение и цели создания системы

[4.1.3] 2.1.3 Требования к системе

[4.1.4] 2.1.4 Требования к видам обеспечения

[4.2] 2.2 Электронно-цифровая подпись

[4.3] 2.3 Плагин электронно-цифровой подписи

[4.3.1] 2.3.1 Создание цифровой подписи

[4.3.2] 2.3.2 Подписание документа, содержащего цифровую подпись

[4.3.3] 2.3.3 Использование КриптоПро CSP в Microsoft Office Word/Excel 2007

[5]
Заключение

[6]
Список использованных источников


ВВЕДЕНИЕ

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

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


1 ОБЩАЯ ЧАСТЬ

1.1 Основные понятия шифрования

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Текст – упорядоченный набор из элементов алфавита.

В качестве примеров алфавитов, используемых в современных автоматизированных можно привести следующие:

  •  алфавит Z33 – 32 буквы кириллицы (кроме «ё») и пробел;
  •  алфавит Z256 – символы, входящие в стандартные коды ASCII и КОИ-8;
  •  бинарный алфавит –  Z2 = {0,1};
  •  восьмеричный алфавит или шестнадцатеричный алфавит;

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

Рисунок 1 – Схема процесса шифрования

Дешифрование – это обратный шифрованию процесс. На основе ключа шифрованный текст преобразуется в исходный (рисунок 2).

Рисунок 2 – Схема процесса шифрования

Ключ – информация, необходимая для беспрепятственного шифрования и дешифрования текстов.

Криптографическая система (криптосистема) представляет собой семейство преобразований Tk открытого текста. Члены этого семейства индексируются, или обозначаются символом k; параметр k является ключом. Пространство ключей K – это набор возможных значений ключа. Обычно ключ представляет собой последовательный ряд букв алфавита.

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

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

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

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

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

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

1.2 Классификация систем шифрования

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

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

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

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

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

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

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

Рисунок 3 – Схема шифрования-дешифрования на секретном ключе

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

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

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

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

Рисунок 4 – Схема шифрования-дешифрования на открытом ключе

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

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

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

Рисунок 5 – Классификационная схема методов шифрования

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

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

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

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

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

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

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

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

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

Таким образом, если злоумышленник не в состоянии взломать шифр кроме как методом «грубой силы» (полным перебором всех ключей), то чем больше множество ключей, тем больше времени требуется на их полный перебор. В этом смысле размер ключа является основной характеристикой стойкости шифра. Так шифр с ключом длиной 16 бит (65536 вариантов ключа) взламывается при помощи обычного персонального компьютера за несколько минут. На ключ вдвое большей длины (32 бита, 4 млрд. вариантов) ориентировочно будет затрачено от нескольких дней до нескольких недель при условии использования той же техники. Ключи в 60-80 бит могут быть взломаны сетью мощных компьютеров или специализированными процессорами параллельной обработки данных, имеющихся в распоряжении государственных служб. Ключи длиной более 128 бит в современных надежных шифрах не взламываются полным перебором на современном уровне развития компьютерной техники. Для коммерческих целей рекомендуется использовать ключи длиной 192 бита, для государственных – 256 бит. Запас ориентирован на несколько десятков лет экспоненциального роста вычислительных возможностей компьютеров.

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

Классическими шифрами принято называть симметричные блочные шифры. Они используют для шифрования и дешифрования информации один и тот же ключ и шифруют информацию блоками. Длина блока обычно составляет 8, 16 или 32 байта. Есть алгоритмы, допускающие переменную длину блока. Первым блочным шифром, широко использующимся на практике, стал DES (Data Encryption Standard), разработанный специалистами IBM в начале 70-х годов прошлого века и долгое время служивший стандартом для шифрования данных в США. Потом появилось много блочных алгоритмов – IDEA, Blowfish, советский ГОСТ 28147-89 (и ныне являющийся отечественным стандартом). Оригинальный DES, к примеру, использовал ключ длиной 112 бит и блок шифрования длиной 64 бита. Но после его анализа специалистами длина ключа была уменьшена до 64 бит. При этом в ключе было только 56 бит уникальных, а 8 бит – контрольных, служащих для контроля целостности ключа. Именно с ключом длиной в 56 бит DES и был утвержден в качестве Национального Стандарта. При том уровне развития вычислительной техники задача перебора 2**56 ключей за приемлемое время была или технически не выполнимой, или неоправданно дорогой.

Сейчас DES с длиной ключа в 56 бит не представляется стойким алгоритмом. Большинство современных стойких симметричных алгоритмов используют ключ длиной от 64 до 256 бит (8-32 байта).

Таблица 1 – Алгоритмы шифрования, их длины блока и ключа

Алгоритм

Длина ключа

Длина блока

(в битах)

(в битах)

DES

64

64

Blowfish

Переменная, до 448 бит

64

IDEA

128

64

ГОСТ 28147 89

256

64

RC5

Переменная

Переменная

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

На рисунке 6 приведена общая схема блочного алгоритма шифрования, а на рисунке 7 – поточного.

Рисунок 6 – Схема блочного шифрования

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

Рисунок 7 – Схема поточного шифрования

Традиционно первым из опубликованных алгоритмов блочного шифрования является американский Стандарт шифрования данных DES (Data Encryption Standard). Ранее отмечалось, что его параметры следующие: разрядность блока – 64 бита, длина ключа – 56 бит.

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

Рисунок 8 – Общая структура алгоритма DES

Входная перестановка бит выполняется в следующем порядке:

Вход

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

Выход

58

50

42

34

26

18

10

2

60

52

44

36

28

20

12

4

Вход

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

Выход

62

54

46

38

30

22

14

6

64

56

48

40

32

24

16

8

Вход

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

Выход

57

49

41

33

25

17

9

1

59

51

43

35

27

19

11

3

Вход

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

Выход

61

53

45

37

29

21

13

5

63

55

47

39

31

23

15

7

Выходная перестановка бит является обратной к входной, а правило перестановки в ней бит имеет следующий вид:

Вход

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

Выход

40

8

48

16

56

24

64

32

39

7

47

15

55

23

63

31

Вход

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

Выход

38

6

46

14

54

22

62

30

37

5

45

13

53

21

61

29

Вход

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

Выход

36

4

44

12

52

20

60

28

35

3

43

11

51

19

59

27

Вход

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

Выход

34

2

42

10

50

18

58

26

33

1

41

9

49

17

57

25

После входной перестановки исходный 64-битный блок данных разбивается на 2 блока по 32 бита, каждый из которых обрабатывается по своей ветви, что показано на рисунке 8.

Сеть Файштеля в алгоритме DES приведена на рисунке 9.

Рисунок 9 – Сеть Файштеля в алгоритме DES

В сети выполняется 4 операции:

  •  перестановка бит с расширением блока при помощи повторов по определенной схеме;
  •  наложение ключа раунда;
  •  табличные подстановки;
  •  перестановка бит.

Расширение входных данных проводится записью некоторых бит в выходной поток дважды. В результате из 32 бит получается 48-битный блок, совпадающий по размеру с ключом раунда. Закон расширения показан в следующей таблице (выделены повторяющиеся биты):

Номер выходного бита

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

Номер входного бита

32

1

2

3

4

5

4

5

6

7

8

9

8

9

10

11

Номер выходного бита

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

Номер входного бита

12

13

12

13

14

15

16

17

16

17

18

19

20

21

20

21

Номер выходного бита

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

Номер входного бита

22

23

24

25

24

25

26

27

28

29

28

29

30

31

32

1

Наложение ключа проводится операцией XOR, разрядность этой операции – 48 бит. Правило генерации ключей раунда следующее.

На основе 56 значащих бит из исходного ключа создаются два 28-битных вектора C0 и D0 путем выбора бит из ключа в определенной последовательности. При хранении ключа в алгоритме DES используется простейшее помехоустойчивое кодирование – проверка на четность. Поэтому в каждом байте значащими являются только первые 7 бит, а восьмой добавляется при записи для соблюдения правила, что количество единиц в каждом байте должно быть нечетно. Таким образом, при длине ключа в 56 бит, он хранится в 64-битном виде. Этим объясняется в законах формирования векторов C0 и D0 номеров, превышающих 56, и отсутствие бит с номерами 8, 16, 24, 32, 40, 48, 56 и 64, так как они являются контрольными, т.е. незначащими.

Для вектора C0:

Номер бита в векторе

1

2

3

4

5

6

7

8

9

10

11

12

13

14

Номер бита в исходном ключе

57

49

41

33

25

17

9

1

58

50

42

34

26

18

Номер бита в векторе

15

16

17

18

19

20

21

22

23

24

25

26

27

28

Номер бита в исходном ключе

10

2

59

51

43

35

27

19

11

3

60

52

44

36

Для вектора D0:

Номер бита в векторе

1

2

3

4

5

6

7

8

9

10

11

12

13

14

Номер бита в исходном ключе

63

55

47

39

31

23

15

7

62

54

46

38

30

22

Номер бита в векторе

15

16

17

18

19

20

21

22

23

24

25

26

27

28

Номер бита в исходном ключе

14

6

61

53

45

37

29

21

13

5

28

20

12

4

При генерации очередного ключа i-го раунда k[i] векторы C0 и D0 циклически сдвигаются влево на количество разрядов, показанное в следующей таблице:

Номер раунда (i)

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

Сдвиг на ... разрядов

1

2

4

6

8

10

12

14

15

17

19

21

23

25

27

28

Для формирования 48-битного ключа i-го раунда получившиеся после циклических сдвигов векторы Ci и Di объединяются, а из образовавшихся 56 бит отбираются 48 по следующему правилу:

Номер бита в k[i]

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

Номер бита в CiDi

14

17

11

24

1

5

3

28

15

6

21

10

23

19

12

4

Номер бита в k[i]

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

Номер бита в CiDi

26

8

16

7

27

20

13

2

41

52

31

37

47

55

30

40

Номер бита в k[i]

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

Номер бита в CiDi

51

45

33

48

44

49

39

56

34

53

46

42

50

36

29

32

Табличные подстановки, применяемые в алгоритме DES, имеют разрядность 64 бита. 48-битный блок разбивается на 8 блоков по 6 бит. Эти 6-битные блоки проходят через табличные подстановки, которые обозначены S0, S1, ... , S7. В результате с выхода табличных подстановок снимаются 8 блоков по 4 бита, всего 32 бита, т.е. первоначальная разрядность каждой из двух ветвей.

Завершающая операция – перестановка бит внутри 32-разрядного блока отвечает за перемешивание информации. Правило перестановки показано в очередной таблице:

Номер входного бита

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

Номер выходного бита

16

7

20

21

29

12

28

17

1

15

23

26

5

18

31

10

Номер входного бита

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

Номер выходного бита

2

8

24

14

32

27

3

9

19

13

30

6

22

11

4

25

Общий вид одного раунда сети Файштеля приведен на рисунке 10.

Большое количество битовых перестановок и выборок, используемых в DES, объясняется тем, что первоначально разработчики ориентировались на аппаратную реализацию алгоритма.

Рисунок 10 – Схема одного раунда алгоритма DES

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

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

В конце последнего десятилетия ХХ века правительство США объявило открытый конкурс на криптостандарт блочного шифрования. Этот конкурс получил название AES (Advanced Encryption Standard). Конкурс был проведен в 1997-2000 гг. под эгидой Национального Института Стандартизации и Техники (National Institute of Standards and Technology – NIST).

Требования к новому стандарту выражались в следующем:

  •  шифр должен быть блочным;
  •  длина блока должна быть равна 128 битам;
  •  шифр должен поддерживать ключи длиной 128, 192 и 256 бит.

Первоначально в конкурсе участвовало 15 исследовательских групп. Во второй половине 1999 года объявлены 5 алгоритмов-финалистов, такие как: Rijndael, Serpent, Twofish, RC6, Mars.

После тщательного сравнения не только качественных (это проводилось в рамках предварительного отбора), но и количественных характеристик перечисленных алгоритмов победителем объявлен алгоритм Rijndael, который получил второе официальное название – AES.

Этот алгоритм развивает нетрадиционную структуру прямоугольных KASLT-сетей. Название метода представляет аббревиатуру трех терминов:

  •  Key Addition – добавление ключа;
  •  Substitution – табличная подстановка;
  •  Linear Transposition – линейное перемешивание.

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

В 1989 году опубликован отечественный стандарт блочного шифрования, известный как ГОСТ 28147- 89 («ГОСТ», GOST).

Алгоритм оперирует 65-битными блоками данных, шифруя их с помощью 256-битного ключа. Шифр реализует классическую сеть Файштеля из 32 раундов с двумя ветвями (рисунок 11). Образующая функция алгоритма показана на рисунке 12.

Рисунок 11 – Общая структура алгоритма ГОСТ 28147-89

Формирование ключей раундов проводится следующим образом. 256-битный ключ разбивается на восемь 32-битных блоков, которые нумеруются k0, k1, ... , k7.

Компоненты ключа получаются их применением в следующем порядке:

k0 k1 ... k6 k7  k0 k1 ... k6 k7 k0 k1 ... k6 k7 k7 k6 ... k1 k0.

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

k0 k1 ... k6 k7  k7 k6 ... k1 k0 k7 k6 ... k1 k0 k7 k6 ... k1 k0.

Рисунок 12 – Образующая функция алгоритма ГОСТ 28147-89

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

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

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

Для решения этой проблемы были предложены системы с открытым ключом.

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

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

Криптографические системы с открытым ключом используют так называемые необратимые (односторонние) функции, которые обладают следующим свойством: при заданном значении x относительно просто вычислить значение f(x), однако если известна функция y=f(x), то нет простого пути для вычисления значения ее аргумента x.

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

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

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

1. Преобразование исходного текста должно быть необратимым и исключать его восстановление на основе открытого ключа.

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

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

Предлагаемые современные криптосистемы с открытым ключом опираются на один из следующих типов необратимых преобразований:

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

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

Как самостоятельные средства защиты передаваемых и хранимых данных.

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

Как средства аутентификации пользователей – системы электронной подписи.

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

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

Целесообразно рассмотреть в общих чертах некоторые системы с открытым ключом.

Основополагающие теоретические идеи асимметричного шифрования были разработаны В.Диффи (W.Diffie) и М.Е.Хеллманом (M.E.Hellman) в 1976 году.

Алгоритм RSA

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

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

Схема реализации алгоритма RSA приведена на рисунке 13.

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

Первый этап – создание пары ключей – состоит из следующих действий.

  1.  Выбираются два больших простых числа p и q.
  2.  Вычисляется число n как n = pq.
  3.  Выбирается произвольное число e (e<n), такое, что наибольший общий делитель (НОД) пары чисел (e, (p -1)(q -1))=1, т.е. число e должно быть взаимно простым с числом (p -1)(q -1).
  4.  Методом Евклида решается в целых числах уравнение ed+(p-1)(q-1)y=1, где неизвестными являются переменные d и y.

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

Рисунок 13 – Схема реализации алгоритма RSA

Второй этап – шифрование открытым ключом.

Отправитель разбивает свое сообщение на блоки, равные k = [log2n] бит, где квадратные скобки означают взятие целой части от возможного дробного числа. Такой блок интерпретируется как число из диапазона (0 ... 2k-1).

Для каждого такого числа (условно обозначаемого как mi) вычисляется выражение ci=((mi)e)modn. Блоки ci представляют собой зашифрованное сообщение. Их можно передавать по открытому каналу, поскольку операция возведения в степень простого числа и есть трудноразрешимая математическая задача.

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

Частный случай теоремы Эйлера утверждает, что если число n представляется в виде произведения двух простых чисел p и q, то для любого x выполняется равенство

(x(p-1)(q-1)) modn =1.

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

(x(-y)p-1)(q-1)) modn =1(-y)=1.

Умножение левой и правой частей этого равенства на x трансформирует его к виду:

(x(-y)p-1)(q-1)+1) mod n =1x= x.

Здесь необходимо вспомнить, как создавалась пара ключей (открытый и закрытый). Величина d была подобрана с помощью алгоритма Евклида так, что

ed+(p-1)(q-1)y=1,

то есть

ed =1+(-y)(p-1)(q-1).

Тогда в выражении (x(-y)p-1)(q-1)+1) mod n =1x= x показатель степени можно заменить числом (ed), после чего получается:

(x(ed)) mod n = (x(-y)p-1)(q-1)+1) mod n =1x= x.

Таким образом, для прочтения сообщения ci=((mi)e) mod n достаточно возвести его в степень d по модулю n:

((ci)d) mod n = ((mi)(ed)) mod n = mi.

В итоге сообщение дешифровано.

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

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

Второе требование обеспечивается по причине вычислительной сложности другой математической задачи – факторизации (разложения на множители) больших чисел: зная величину n, невозможно за приемлемое время вычислить число (p-1)(q-1) и, имея число e, вычислить закрытый ключ d.

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

  1.  Числа (p+1) и (q+1) должны содержать в своем разложении на множители большие простые делители.
  2.  Числа (p-1) и (q-1) должны содержать в своем разложении на множители большие простые делители (обозначим их p* и q*), причем такие, чтобы (p*-1) и (q*-1) также содержали в своем разложении большие простые делители.
  3.  Числа p и q должны очень близко совпадать по порядку длины, но не должны быть близкими по значению.
  4.  Секретный ключ d не должен быть малой длины.
  5.  Каждый абонент сети должен использовать уникальное значение n.

Что касается длины n, то считается, что она должна превосходить величину 512 бит. Авторы алгоритма считают, что предпочтительно использовать ключи длиной 768 бит – для частных лиц, 1024 бита – для коммерческой информации и 2048 бит – для особо защищаемой информации.

Разработаны и широко применяются другие алгоритмы асимметричного шифрования, такие как алгоритм Эль Гамаля (El Gamal), алгоритм Рабина (Michael Rabin), алгоритм на основе эллиптических кривых и т.д.

Основы электронной цифровой подписи

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

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

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

При формировании электронной цифровой подписи отправитель выполняет над контрольной суммой документа h те же действия, что и при шифровании, но использует не открытый ключ получателя, а свой собственный закрытый ключ. Таким образом, формируется подпись signi = (hid mod n). Открытый и закрытый ключи меняются местами. После приема сообщения получатель возводит подпись в степень открытого ключа e и получает (signie mod n) = (hide mod n) = hi по тем же соотношениям, что и в алгоритме RSA.

Если получившееся после возведения в степень e значение совпадает с вычисленной независимо на приемной стороне контрольной суммой hi, то документ признается подлинным. Без величины d никто не может вычислить такую подпись, чтобы возведение ее в степень открытого ключа e дало требуемую контрольную сумму. Поскольку значение d известно только отправителю, то исключается формирование нужной подписи третьим лицом – злоумышленником, например, после перехвата им и изменения содержания оригинального документа. Схема электронной цифровой подписи на основе алгоритма RSA представлена на рисунке 14.

Рисунок 14 – Схема электронной цифровой подписи на основе алгоритма RSA

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

Существуют и другие схемы реализации электронной цифровой подписи: на основе алгоритмов Рабина и Эль Гамаля, эллиптических кривых (ГОСТ Р 34.10-2001) и другие.

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

1.3 Понятие о хэш-функции

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

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

Хэш-функция считается криптографически стойкой, если в дополнение к перечисленным свойствам она удовлетворяет еще двум требованиям:

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

В дальнейшем предполагается рассмотрение только криптостойких хэш-функций, поэтому термин «криптостойкая» применительно к хэш-функциям будет опускаться.

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

1.4 Протоколы обмена зашифрованной информацией

В конце шестидесятых годов американское агентство перспективных исследований в обороне DARPA приняло решение о создании экспериментальной сети под названием ARPANet. В семидесятых годах ARPANet стала считаться действующей сетью США, и через эту сеть можно было получить доступ к ведущим университетским и научным центрам США. В начале восьмидесятых годов началась стандартизация языков программирования, а затем и протоколов взаимодействия сетей. Результатом этой работы стала разработка семиуровневой модели сетевого взаимодействия ISO/OSI и семейства протоколов TCP/IP, которое стало основой для построения как локальных, так и глобальных сетей.

Базовые механизмы информационного обмена в сетях TCP/IP были в целом сформированы в начале восьмидесятых годов, и были направлены прежде всего на обеспечение доставки пакетов данных между различными операционными системами с использованием разнородных каналов связи. Несмотря на то, что идея создания сети ARPANet (впоследствии превратившейся в современный Интернет) принадлежала правительственной оборонной организации, фактически сеть зародилась в исследовательском мире, и наследовала традиции открытости академического сообщества. Ещё до коммерциализации Интернета (которая произошла в середине девяностых годов) многие авторитетные исследователи отмечали проблемы, связанные с безопасностью стека протоколов TCP/IP. Основные концепции протоколов TCP/IP не полностью удовлетворяют (а в ряде случаев и противоречат) современным представлениям о компьютерной безопасности.

До недавнего времени сеть Интернет использовалась в основном для обработки информации по относительно простым протоколам: электронная почта, передача файлов, удалённый доступ. Сегодня, благодаря широкому распространению технологий WWW, всё активнее применяются средства распределённой обработки мультимедийной информации. Одновременно с этим растёт объём данных, обрабатываемых в средах клиент/сервер и предназначенных для одновременного коллективного доступа большого числа абонентов. Разработано несколько протоколов прикладного уровня, обеспечивающих информационную безопасность таких приложений, как электронная почта (PEM, PGP и т.п.), WWW (Secure HTTP, SSL и т.п.), сетевое управление (SNMPv2 и т.п.). Однако наличие средств обеспечения безопасности в базовых протоколах семейства TCP/IP позволит осуществлять информационный обмен между широким спектром различных приложений и сервисных служб.

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

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

Кроме конфиденциальности пользователей также волнует вопрос гарантий, с кем они сейчас "беседуют". Им необходима уверенность, что сервер Internet, с которым у них сейчас сеанс связи, действительно является тем, за кого себя выдает; будь то сервер World-Wide Web, FTP, IRC или любой другой. Не составляет особого труда имитировать (то ли в шутку, то ли с преступными намерениями) незащищенный сервер и попытаться собрать всю информацию о вас. И, конечно же, поставщики сетевых услуг также хотели бы быть уверенными, что лица, обращающиеся к ним за определенными ресурсами Internet, например, электронной почтой и услугами IRC, действительно те, за кого себя выдают.

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

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

1.4.1 Протокол Secure Sockets Layer (SSL)

Один из подходов к решению проблемы безопасности в Интернете был предложен компанией Netscape Communications. Ею был разработан протокол Secure Sockets Layer (SSL) защищенного обмена информацией между клиентом и сервером. SSL требует применения надежного транспортного протокола (например, TCP).

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

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

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

Конфиденциальность информации, передаваемой по установленному защищенному соединению, обеспечивается путем шифрования потока данных на сформированном общем ключе с использованием симметричных криптографических алгоритмов (например, RC4_128, RC4_40, RC2_128, RC2_40, DES40 и др.), а контроль целостности передаваемых блоков данных - за счет использования так называемых кодов аутентификации сообщений (Message Autentification Code, MAC), вычисляемых с помощью хеш-функций (в частности, MD5).

Протокол SSL включает в себя два этапа взаимодействия сторон защищаемого соединения:

  •  установление SSL-сессии;
  •  защита потока данных.

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

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

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

Протокол SSL предоставляет "безопасный канал", который имеет три основные свойства:

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

Формат заголовка записи SSL

В SSL все данные пересылаются в виде рекордов (записей), объектов, которые состоят из заголовка и некоторого количества данных. Каждый заголовок рекорда содержит два или три байта кода длины. Если старший бит в первом байте кода длины рекорда равен 1, тогда рекорд не имеет заполнителя и полная длина заголовка равна 2 байтам, в противном случае рекорд содержит заполнитель и полная длина заголовка равна 3 байтам. Передача всегда начинается с заголовка.

В случае длинного заголовка (3 байта), второй по старшинству бит первого байта имеет специальное значение. Когда он равен нулю, посылаемый рекорд является информационным. При равенстве 1, посылаемый рекорд является security escape (в настоящее время не определено ни одного значения security escapes; оно зарезервировано для будущих версий протокола).

Код длины рекорда не включает в себя число байт заголовка (2 или 3). Для 2-байтового заголовка его длина вычисляется следующим образом (используется Си-подобная нотация):

RECORLENGTH = ((byte[0] & 0x7F << 8)) | byte[1];

Где byte[0] представляет собой первый полученный байт, а byte[1] – второй полученный байт. Когда используется 3-байтовый заголовок, длина рекорда вычисляется следующим образом:

RECORD-LENGTH = ((byte[0] & 0x3F) << 8)) | byte[1];
IS-ESCAPE = (byte[0] & 0x40) != 0;
PADDING = byte[2];

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

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

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

Формат информационных записей SSL

Часть данных рекорда SSL состоит из трех компонентов (передаваемых и получаемых в приведенном ниже порядке):

MAC-DATA[MAC-SIZE]
ACTUAL-DATA[N]
PADDING-DATA[PADDING]

ACTUAL-DATA представляет собой реальные переданные данные (поле данных сообщения). PADDING-DATA – это данные заполнителя, посылаемые когда используется блочный код шифрования. MAC-DATA является кодом аутентификации сообщения (Message Authentication Code).

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

MAC-DATA = HASH[ SECRET, ACTUAL-DATA, PADDING-DATA, SEQUENCE-NUMBER ]

Где SECRET передается хэш-функции первым, далее следует ACTUAL-DATA и PADDING-DATA>, за которыми передается SEQUENCE-NUMBER. Порядковый номер (SEQUENCE-NUMBER) представляет собой 32-битовый код, который передается хэш-функции в виде 4 байт. Первым передается старший байт (т.е., используется сетевой порядок передачи - "big endian").

MAC-SIZE является функцией используемого алгоритма вычисления дайджеста. Для MD2 и MD5 MAC-SIZE равен 16 байтам (128 битам).

Значение SECRET зависит оттого, кто из партнеров посылает сообщение. Если сообщение посылается клиентом, тогда SECRET равен CLIENT-WRITE-KEY (сервер будет использовать SERVER-READ-KEY для верификации MAC). Если клиент получает сообщение, SECRET равен CLIENT-READ-KEY (сервер будет использовать SERVER-WRITE-KEY для генерации MAC).

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

Получатель сообщения использует ожидаемое значение порядкового номера для передачи хэш-функции MAC (тип хэш-функции определяется параметром CIPHER-CHOICE). Вычисленная MAC-DATA должна совпадать с переданной MAC-DATA. Если сравнение не прошло, рекорд считается поврежденным, такая ситуация рассматривается как случай "I/O Error" (т.e. как непоправимая ошибка, которая вызывает закрытие соединения).

Окончательная проверка соответствия выполняется, когда используется блочный шифр и соответствующий протокол шифрования. Объем данных в рекорде (RECORD-LENGTH) должен быть кратным размеру блока шифра. Если полученный рекорд не кратен размеру блока шифра, рекорд считается поврежденным, при этом считается, что имела место "I/O Error" (что вызовет разрыв соединения).

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

Для двухбайтового заголовка, максимальная длина рекорда равна 32767 байтов. Для трехбайтового заголовка, максимальная длина рекорда равна 16383 байтов. Сообщения протокола диалога SSL должны соответствовать одиночным рекордам протокола SSL (Record Protocol). Сообщения прикладного протокола могут занимать несколько рекордов SSL.

Прежде чем послать первый рекорд SSL все порядковые номера делаются равными нулю. При передаче сообщения порядковый номер инкрементируется, начиная с сообщений CLIENT-HELLO и SERVER-HELLO.

Спецификация протокола диалога SSL

Протокол диалога SSL имеет две основные фазы. Первая фаза используется для установления конфиденциального канала коммуникаций. Вторая - служит для аутентификации клиента.

Фаза 1

Первая фаза является фазой инициализации соединения, когда оба партнера посылают сообщения "hello". Клиент инициирует диалог посылкой сообщения CLIENT-HELLO. Сервер получает сообщение CLIENT-HELLO, обрабатывает его и откликается сообщением SERVER-HELLO.

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

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

Здесь следует заметить, что каждая оконечная точка SSL использует пару шифров для каждого соединения (т.е. всего 4 шифра). На каждой конечной точке, один шифр используется для исходящих коммуникаций и один - для входящих. Когда клиент или сервер генерирует ключ сессии, они в действительности формируют два ключа, SERVER-READ-KEY (известный также как CLIENT-WRITE-KEY) и SERVER-WRITE-KEY (известный также как CLIENT-READ-KEY). Мастерный ключ используется клиентом и сервером для генерации различных ключей сессий.

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

Фаза 2

Вторая фаза является фазой аутентификации. Сервер уже аутентифицирован клиентом на первой фазе, по этой причине здесь осуществляется аутентификация клиента. При типичном сценарии, серверу необходимо получить что-то от клиента, и он посылает запрос. Клиент пришлет позитивный отклик, если располагает необходимой информацией, или пришлет сообщение об ошибке, если нет. Эта спецификация протокола не определяет семантику сообщения ERROR, посылаемого в ответ на запрос сервера (например, конкретная реализация может игнорировать ошибку, закрыть соединение, и т.д. и, тем не менее, соответствовать данной спецификации). Когда один партнер выполнил аутентификацию другого партнера, он посылает сообщение finished. В случае клиента сообщение CLIENT-FINISHED содержит зашифрованную форму идентификатора CONNECTION-ID, которую должен верифицировать сервер. Если верификация терпит неудачу, сервер посылает сообщение ERROR.

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

Типовой протокол обмена сообщениями

В несколько упрощенном варианте диалог SSL представлен на рисунке 15.

Рисунок 15 – Алгоритм работы SSL

Ниже представлено несколько вариантов обмена сообщениями в рамках протокола диалога SSL. В этих примерах представлены два участника диалога: клиент (С) и сервер (S). Запись вида "{X}key" означает, что “X” зашифровано с помощью ключа "key".

Таблица 2 – Обмен сообщениями при отсутствии идентификатора сессии

сlient-hello

C ® S:

challenge, cipher_specs

server-hello

S ® C:

connection-id,server_certificate, cipher_specs

client-master-key

C ® S:

{master_key}server_public_key

client-finish

C ® S:

{connection-id}client_write_key

server-verify

S ® C:

{challenge}server_write_key

server-finish

S ® C:

{new_session_id}server_write_key

Таблица 3 – Обмен сообщениями в случае, когда идентификатор сессии найден клиентом и сервером

сlient-hello

C ® S:

challenge, session_id, cipher_specs

server-hello

S ® C:

connection-id, session_id_hit

client-finish

C ® S:

{connection-id}client_write_key

server-verify

S ® C:

{challenge}server_write_key

server-finish

S ® C:

{session_id}server_write_key

Таблица 4 – Обмен сообщениями при использовании идентификатора сессии и аутентификации клиента

сlient-hello

C ® S:

challenge, session_id, cipher_specs

server-hello

S ® C:

connection-id, session_id_hit

client-finish

C ® S:

{connection-id}client_write_key

server-verify

S ® C:

{challenge}server_write_key

request-certificate

S ® C:

{auth_type,challenge'}server_write_key

client-certificate

C ® S:

{cert_type,client_cert, response_data}client_write_key

server-finish

S ® C:

{session_id}server_write_key

В последнем обмене, response_data является функцией auth_type.

Обработка ошибок

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

NO-CIPHER-ERROR

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

NO-CERTIFICATE-ERROR

Когда послано сообщение REQUEST-CERTIFICATE, эта ошибка может быть прислана, если клиент не имеет сертификата. Эта ошибка устранима.

BAD-CERTIFICATE-ERROR

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

UNSUPPORTED-CERTIFICATE-TYPE-ERROR

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

Сообщения протокола диалога SSL

Сообщения протокола диалога SSL инкапсулируются в рекорды протокола SSL и состоят из двух частей: однобайтового кода типа сообщения, и некоторых данных. Клиент и сервер обмениваются сообщениями, пока обе стороны не пошлют сообщения finished, указывающие, что они удовлетворены диалогом SSL (Handshake Protocol).

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

char MSG-EXAMPLE
char FIELD1
char FIELD2
char THING-MSB
char THING-LSB
char THING-DATA[(MSB<<8)|LSB];
...

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

Для записи "THING-DATA", значения MSB и LSB в действительности равны THING-MSB и THING-LSB (соответственно) и определяют число байт данных, имеющихся в сообщении. Например, если THING-MSB был равен нулю, а THING-LSB был равен 8, тогда массив THING-DATA будет иметь 8 байт.

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

1.4.2 Протокол Secure Shell (SSH)

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

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

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

Клиент шлет запрос на обслуживание в первый раз, когда устанавливается безопасное соединение транспортного уровня ssh. Второй запрос направляется уже после завершения аутентификации пользователя (клиента).

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

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

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

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

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

Таблица 5 – Номера сообщений SSH и их назначение

Интервал номеров

Тип сообщений

Протокол

1-19

Транспортный уровень (общая часть)

Транспортный

20-29

Переговоры клиента и сервера о выборе алгоритма

 

30-49

Специфические для метода обмена ключами

 

50-59

Протокол аутентификации (общая часть)

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

60-79

Протокол аутентификации (часть, специфическая для метода аутентификации)

 

80-89

Протокол соединения (общая часть)

Cоединения

90-127

Cообщения, относящиеся к каналам

 

90-128

Резерв (для протоколов клиентов)

 

192-255

Локальные расширения

 

Отдельного упоминания заслуживают вопросы увеличения трафика в связи с применением протоколов ssh. Ясно, что при передаче в сети больших пакетов дополнительная нагрузка, вызванная передачей управляющих заголовков ssh, невелика. Основное внимание следует обратить на приложения, для которых характерны короткие пакеты например, telnet. Минимальный размер заголовка TCP/IP равен 32 байта; минимальный же размер пакета при использовании ssh увеличится с 33 до (примерно) 51 байта.

Учитывая, что в Ethernet минимальная длина поля данных пакета равна 46 байт, дополнительный нагрузкой в 5 байт можно пренебречь. Наиболее существенным влияние ssh оказывается, вероятно, при использовании протокола PPP на низкоскоростных модемных соединениях, поскольку PPP сжимает заголовки TCP/IP. Однако существенный прогресс в скоростях передачи данных позволяет рассчитывать, что дополнительные задержки будут измеряться несколько миллисекундами и останутся незаметны человеку.

Наконец, несколько слов о кодировании сетевых адресов. Поскольку DNS ненадежный протокол, в ssh он не используется. При адресации применяются IP-адреса, причем в проекте заложена поддержка IPv6.

Все сообщения (пакеты) ssh содержат номер сообщения, число от 1 до 255. Этот диапазон разбит на подинтервалы, причем разным уровням протокола ssh отвечают разные диапазоны.

1.4.3 Протокол IP Security (IP Sec)

В 1994 году Совет по архитектуре Интернет (IAB) выпустил отчет "Безопасность архитектуры Интернет". В этом документе описывались основные области применения дополнительных средств безопасности в сети Интернет, а именно защита от несанкционированного мониторинга, подмены пакетов и управления потоками данных. В числе первоочередных и наиболее важных защитных мер указывалась необходимость разработки концепции и основных механизмов обеспечения целостности и конфиденциальности потоков данных. Поскольку изменение базовых протоколов семейства TCP/IP вызвало бы полную перестройку сети Интернет, была поставлена задача обеспечения безопасности информационного обмена в открытых телекоммуникационных сетях на базе существующих протоколов. Таким образом, начала создаваться спецификация Secure IP, дополнительная по отношению к протоколам IPv4 и IPv6.

Архитектура IPsec

IP Security - это комплект протоколов, касающихся вопросов шифрования, аутентификации и обеспечения защиты при транспортировке IP-пакетов; в его состав сейчас входят почти 20 предложений по стандартам и 18 RFC.

Спецификация IP Security (известная сегодня как IPsec) разрабатывается рабочей группой IP Security Protocol IETF. Первоначально IPsec включал в себя 3 алгоритмо-независимые базовые спецификации, опубликованные в качестве RFC-документов "Архитектура безопасности IP", "Аутентифицирующий заголовок (AH)", "Инкапсуляция зашифрованных данных (ESP)" (RFC1825, 1826 и 1827). Необходимо заметить, что в ноябре 1998 года рабочая группа IP Security Protocol предложила новые версии этих спецификаций, имеющие в настоящее время статус предварительных стандартов, это RFC2401 - RFC2412. Отметим, что RFC1825-27 на протяжении уже нескольких лет считаются устаревшими и реально не используются. Кроме этого, существуют несколько алгоритмо-зависимых спецификаций, использующих протоколы MD5, SHA, DES.

Рисунок 16 – Архитектура IPSec

Рабочая группа IP Security Protocol разрабатывает также и протоколы управления ключевой информацией. В задачу этой группы входит разработка Internet Key Management Protocol (IKMP), протокола управления ключами прикладного уровня, не зависящего от используемых протоколов обеспечения безопасности. В настоящее время рассматриваются концепции управления ключами с использованием спецификации Internet Security Association and Key Management Protocol (ISAKMP) и протокола Oakley Key Determination Protocol. Спецификация ISAKMP описывает механизмы согласования атрибутов используемых протоколов, в то время как протокол Oakley позволяет устанавливать сессионные ключи на компьютеры сети Интернет. Ранее рассматривались также возможности использования механизмов управления ключами протокола SKIP, однако сейчас такие возможности реально практически нигде не используются. Создаваемые стандарты управления ключевой информацией, возможно, будут поддерживать Центры распределения ключей, аналогичные используемым в системе Kerberos. Протоколами ключевого управления для IPSec на основе Kerberos сейчас занимается относительно новая рабочая группа KINK (Kerberized Internet Negotiation of Keys).

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

По сути, IPSec, который станет составной частью IPv6, работает на третьем уровне, т. е. на сетевом уровне. В результате передаваемые IP-пакеты будут защищены прозрачным для сетевых приложений и инфраструктуры образом. В отличие от SSL (Secure Socket Layer), который работает на четвертом (т. е. транспортном) уровне и теснее связан с более высокими уровнями модели OSI, IPSec призван обеспечить низкоуровневую защиту.

Рисунок 17 – Модель OSI/ISO

К IP-данным, готовым к передаче по виртуальной частной сети, IPSec добавляет заголовок для идентификации защищенных пакетов. Перед передачей по Internet эти пакеты инкапсулируются в другие IP-пакеты. IPSec поддерживает несколько типов шифрования, в том числе Data Encryption Standard (DES) и Message Digest 5 (MD5).

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

С текущей версией IP, IPv4, могут быть использованы или Internet Secure Association Key Management Protocol (ISAKMP), или Simple Key Management for Internet Protocol. С новой версией IP, IPv6, придется использовать ISAKMP, известный сейчас как IKE, хотя не исключается возможность использования SKIP. Однако, следует иметь в виду, что SKIP уже давно не рассматривается как кандидат управления ключами, и был исключён из списка возможных кандидатов ещё в 1997 г.

Заголовки AH и ESP

Аутентифицирующий заголовок AH

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

Формат AH достаточно прост и состоит из 96-битового заголовка и данных переменной длины, состоящих из 32-битовых слов. Названия полей достаточно ясно отражают их содержимое: Next Header указывает на следующий заголовок, Payload Len представляет длину пакета, SPI является указателем на контекст безопасности и Sequence Number Field содержит последовательный номер пакета.

Рисунок 18 – Формат заголовка AH

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

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

Инкапсуляция зашифрованных данных ESP

В случае использования инкапсуляции зашифрованных данных заголовок ESP является последним в ряду опциональных заголовков, "видимых" в пакете. Поскольку основной целью ESP является обеспечение конфиденциальности данных, разные виды информации могут требовать применения существенно различных алгоритмов шифрования. Следовательно, формат ESP может претерпевать значительные изменения в зависимости от используемых криптографических алгоритмов. Тем не менее, можно выделить следующие обязательные поля: SPI, указывающее на контекст безопасности и Sequence Number Field, содержащее последовательный номер пакета. Поле "ESP Authentication Data" (контрольная сумма), не является обязательным в заголовке ESP. Получатель пакета ESP расшифровывает ESP заголовок и использует параметры и данные применяемого алгоритма шифрования для декодирования информации транспортного уровня.

Рисунок 19 – Формат заголовка ESP

Различают два режима применения ESP и AH (а также их комбинации) - транспортный и туннельный:

Транспортный режим используется для шифрования поля данных IP пакета, содержащего протоколы транспортного уровня (TCP, UDP, ICMP), которое, в свою очередь, содержит информацию прикладных служб. Примером применения транспортного режима является передача электронной почты. Все промежуточные узлы на маршруте пакета от отправителя к получателю используют только открытую информацию сетевого уровня и, возможно, некоторые опциональные заголовки пакета (в IPv6). Недостатком транспортного режима является отсутствие механизмов скрытия конкретных отправителя и получателя пакета, а также возможность проведения анализа трафика. Результатом такого анализа может стать информация об объемах и направлениях передачи информации, области интересов абонентов, расположение руководителей.

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

Спецификация протокола IPSec

Security Associations

Security Association (SA) – это соединение, которое предоставляет службы обеспечения безопасности трафика, который передаётся через него. Два компьютера на каждой стороне SA хранят режим, протокол, алгоритмы и ключи, используемые в SA. Каждый SA используется только в одном направлении. Для двунаправленной связи требуется два SA. Каждый SA реализует один режим и протокол; таким образом, если для одного пакета необходимо использовать два протокола (как например AH и ESP), то требуется два SA.

Политика безопасности

Политика безопасности хранится в SPD (База данных политики безопасности). SPD может указать для пакета данных одно из трёх действий: отбросить пакет, не обрабатывать пакет с помощью IPSec, обработать пакет с помощью IPSec. В последнем случае SPD также указывает, какой SA необходимо использовать (если, конечно, подходящий SA уже был создан) или указывает, с какими параметрами должен быть создан новый SA.

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

Протокол ISAKMP/Oakley

Протокол ISAKMP определяет общую структуру протоколов, которые используются для установления SA и для выполнения других функций управления ключами. ISAKMP поддерживает несколько Областей Интерпретации (DOI), одной из которых является IPSec-DOI. ISAKMP не определяет законченный протокол, а предоставляет "строительные блоки" для различных DOI и протоколов обмена ключами.

Протокол Oakley – это протокол определения ключа, использующий алгоритм замены ключа Диффи-Хеллмана. Протокол Oakley поддерживает идеальную прямую безопасность (Perfect Forward Secrecy – PFS). Наличие PFS означает невозможность расшифровки всего траффика при компрометации любого ключа в системе.

Протокол IKE

IKE – протокол обмена ключами по умолчанию для ISAKMP, на данный момент являющийся единственным. IKE находится на вершине ISAKMP и выполняет, собственно, установление как ISAKMP SA, так и IPSec SA. IKE поддерживает набор различных примитивных функций для использования в протоколах. Среди них можно выделить хэш-функцию и псевдослучайную функцию (PRF).

Хэш-функция – это функция, устойчивая к коллизиям. Под устойчивостью к коллизиям понимается тот факт, что невозможно найти два разных сообщения m1 и m2, таких, что H(m1)=H(m2), где H – хэш функция.

Что касается псеводслучайных функций, то в настоящее время вместо специальных PRF используется хэш функция в конструкции HMAC (HMAC - механизм аутентификации сообщений с использованием хэш функций). Для определения HMAC нам понадобится криптографическая хэш функция (обозначим её как H) и секретный ключ K. Мы предполагаем, что H является хэш функцией, где данные хэшируются с помощью процедуры сжатия, последовательно применяемой к последовательности блоков данных. Мы обозначим за B длину таких блоков в байтах, а длину блоков, полученных в результате хэширования - как L (L<B). Ключ K может иметь длину, меньшую или равную B. Если приложение использует ключи большей длины, сначала мы должны хэшировать сам ключ с использованием H, и только после этого использовать полученную строку длиной L байт, как ключ в HMAC. В обоих случаях рекомендуемая минимальная длина для K составляет L байт. Определим две следующие различные строки фиксированной длины:

ipad = байт 0x36, повторённый B раз;
opad = байт 0x5C, повторённый B раз.
Для вычисления HMAC от данных 'text' необходимо выполнить следующую операцию:

H(K XOR opad, H(K XOR ipad, text))

Из описания следует, что IKE использует для аутентификации сторон HASH величины. Отметим, что под HASH в данном случае подразумевается исключительно название Payload в ISAKMP, и это название не имеет ничего общего со своим содержимым.

Атаки на AH, ESP и IKE

Все виды атак на компоненты IPSec можно разделить на следующие группы: атаки, эксплуатирующие конечность ресурсов системы (типичный пример - атака "Отказ в обслуживании", Denial-of-service или DOS-атака), атаки, использующие особенности и ошибки конкретной реализации IPSec и, наконец, атаки, основанные на слабостях самих протоколов AH и ESP. Чисто криптографические атаки можно не рассматривать - оба протокола определяют понятие "трансформ", куда скрывают всю криптографию. Если используемый криптоалгоритм стоек, а определенный с ним трансформ не вносит дополнительных слабостей (это не всегда так, поэтому правильнее рассматривать стойкость всей системы - Протокол-Трансформ-Алгоритм), то с этой стороны все нормально. Что остается? Replay Attack - нивелируется за счет использования Sequence Number (в одном единственном случае это не работает - при использовании ESP без аутентификации и без AH). Далее, порядок выполнения действий (сначала шифрация, потом аутентификация) гарантирует быструю отбраковку "плохих" пакетов (более того, согласно последним исследованиям в мире криптографии, именно такой порядок действий наиболее безопасен, обратный порядок в некоторых, правда очень частных случаях, может привести к потенциальным дырам в безопасности; к счастью, ни SSL, ни IKE, ни другие распространенные протоколы с порядком действий "сначала аутентифицировать, потом зашифровать", к этим частным случаям не относятся, и, стало быть, этих дыр не имеют). Остается Denial-Of-Service атака. Как известно, это атака, от которой не существует полной защиты. Тем не менее, быстрая отбраковка плохих пакетов и отсутствие какой-либо внешней реакции на них (согласно RFC) позволяют более-менее хорошо справляться с этой атакой. В принципе, большинству (если не всем) известным сетевым атакам (sniffing, spoofing, hijacking и т.п.) AH и ESP при правильном их применении успешно противостоят. С IKE несколько сложнее. Протокол очень сложный, тяжел для анализа. Кроме того, в силу опечаток (в формуле вычисления HASH_R) при его написании и не совсем удачных решений (тот же HASH_R и HASH_I) он содержит несколько потенциальных "дыр" (в частности, в первой фазе не все Payload в сообщении аутентифицируются), впрочем, они не очень серьезные и ведут, максимум, к отказу в установлении соединения.От атак типа replay, spoofing, sniffing, hijacking IKE более-менее успешно защищается. С криптографией несколько сложнее, - она не вынесена, как в AH и ESP, отдельно, а реализована в самом протоколе. Тем не менее, при использовании стойких алгоритмов и примитивов (PRF), проблем быть не должно. В какой-то степени можно рассматривать как слабость IPsec то, что в качестве единственного обязательного к реализации криптоалгоритма в нынешних спецификациях указывается DES (это справедливо и для ESP, и для IKE), 56 бит ключа которого уже не считаются достаточными. Тем не менее, это чисто формальная слабость - сами спецификации являются алгоритмо-независимыми, и практически все известные вендоры давно реализовали 3DES (а некоторые уже и AES). Таким образом, при правильной реализации, наиболее "опасной" атакой остается Denial-Of-Service.

Оценка протокола IPSec

Протокол IPSec получил неоднозначную оценку со стороны специалистов. С одной стороны, отмечается, что протокол IPSec является лучшим среди всех других протоколов защиты передаваемых по сети данных, разработанных ранее. По мнению другой стороны, присутствует чрезмерная сложность и избыточность протокола. Так, Niels Ferguson и Bruce Schneier в своей работе "A Cryptographic Evaluation of IPsec" отмечают, что они обнаружили серьёзные проблемы безопасности практически во всех главных компонентах IPsec. Эти авторы также отмечают, что набор протоколов требует серьёзной доработки для того, чтобы он обеспечивал хороший уровень безопасности.

1.5 Основы криптоанализа 

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

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

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

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

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

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

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

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

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

По степени наличия информации о ключе:

  •  при полностью неизвестном ключе;
  •  при частично известном ключе.

По объему и характеру перехваченной информации:

  •  при неизвестном открытом тексте;
  •  по известному открытому тексту;
  •  по выбранному открытому тексту

По объекту воздействия:

  •  атаки непосредственно на алгоритм;
  •  атаки на конкретную реализацию алгоритма.

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

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

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

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

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

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

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


2 СПЕЦИАЛЬНАЯ ЧАСТЬ

2.1 Техническое задание на создание системы электронной подписи

2.1.1 Общие сведения о системе

Наименование системы – информационная система создания электронной подписи документов.

Разработчик: студент группы АИС-08 ФГБОУ ВПО «СибГИУ» Беседин А.С.

Заказчик: ФГБОУ ВПО «СибГИУ».

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

Плановые сроки проектирования информационной системы ФГБОУ ВПО «СибГИУ» 65 дней.

Порядок оформления и предъявления заказчику результатов работ по созданию системы производится в соответствии с ГОСТ 34.601-90.

2.1.2 Назначение и цели создания системы

Система создания электронной подписи документов образовательного учреждения ФГБОУ ВПО «СибГИУ» предназначена для:

– обмена данными через интернет;

– обеспечения надежности передачи информации по локальным сетям ФГБОУ ВПО «СибГИУ».

Основанием данной разработки является модернизация существующей информационной системы (ИС).

Цели создания системы:

– упростить процесс управления документооборотом в университете;

– снизить количество рутинной работы;

– объединить функции документооборота и создания электронной подписи;

– снизить материальные (расходы на бумагу, тонер) и временные затраты на передачу информации;

– обеспечить надежную передачу и хранение информации.

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

2.1.3 Требования к системе

Требования к структуре системы

Требования к надежности

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

Время полного перезапуска системы при нормальной загрузке должно составить 5 минут, при восстановлении функций не должно превышать 60 минут.

Гарантийный срок эксплуатации системы должен быть не менее 18 месяцев. Время наработки на отказ технических и программных средств должно составлять минимум 5 лет.

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

Требования к безопасности

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

- “Межотраслевые правила по охране труда (правила безопасности) при эксплуатации электроустановок” (ПОТ РМ-016 – 2001, РД 153-340-03.150 – 00).

- ГОСТ 12.1.004 –91 “ССБТ. Пожарная безопасность. Общие требования”.

- СанПиН 2.2.2.542 – 96. Гигиенические требования к видеодисплейным терминалам, персональным электронно-вычислительным машинам и организации работы.

- Рабочие места должны соответствовать ГОСТ 21889-80. ССБТ: “Рабочее место оператора. Общие требования безопасности”.

Требования к эргономике и технической эстетике

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

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

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

Требования к эксплуатации, техническому обслуживанию

Для обеспечения устойчивой работы технических средств в помещениях условия окружающей среды должны соответствовать следующим: рабочая температура воздуха от +5 до +40ºС, относительная влажность воздуха при +30ºС от 40 до 90%, атмосферное давление 630-800 мм ртутного столба.

Допустимая площадь для размещения персонала и технических средств системы примерно составляет 4 м2 (СНиП 2.09.04 – 87).

Обслуживающим персоналом являются сотрудники отдела АСУ ФГБОУ ВПО «СибГИУ». Для обслуживания системы достаточно одного работника отдела АСУ. Требования по квалификации обслуживающего персонала – высшее или среднее техническое образование.

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

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

Требования к защите информации от несанкционированного доступа

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

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

Требования по сохранности информации при авариях

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

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

Требования к защите от внешних воздействий

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

Требования к патентной чистоте

Внедряемая информационная система электронной подписи не предназначена для экспорта, поэтому проверке на патентную чистоту не подлежит.

Требования к функциям системы

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

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

2.1.4 Требования к видам обеспечения

Требования к информационному обеспечению

По составу информационное обеспечение должно быть достаточным для выполнения функций информационной системы ФГБОУ ВПО «СибГИУ» и допускать возможность развития и модернизации системы.

Информационная система будет осуществляться по локальной сети.

Требования к проектированию базы данных:

- целостность;

- расширяемость;

- не избыточность.

Требования к программному обеспечению

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

Для этого ПО должно создаваться на основе следующих принципов:

- функциональная достаточность – выполнения всех функций требуемых пользователем без применения дополнительного ПО;

- надежность высокая степень сохранности данных и защита системы от внешних воздействий (сбоев оборудования, ПО);

- модульность построения для обеспечения единой технологии написания программ;

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

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

Требования к техническому обеспечению

Технические средств системы должны быть достаточными для выполнения всех автоматизируемых функций (компьютеры АРМов с рабочей частотой не менее 600 Mhz, имеющие ОЗУ не менее 256 Mb и видео память не менее 4Mb).

Комплекс технических средств должен включать:

- компьютеры рабочих станций (клиенты) и сервер;

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

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

Требования к организационному обеспечению

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

На этапах разработки и ввода в действие ИС необходимо обеспечить взаимодействие разработчика, персонала ОАО «НКВЗ» и пользователей ИС для совершенствования форм документов и т.д.

К моменту начала эксплуатации ИС (в соответствии с графиком разработки и внедрения) должны быть подготовлены инструкции по эксплуатации и проведено обучение пользователей системы.

Требования к лингвистическому обеспечению

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

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

Требования к математическому обеспечению

Математическое обеспечение – совокупность математических методов, моделей, алгоритмов для реализации целей и задач ИС, а также нормального функционирования КТС.

К средствам математического обеспечения относятся:

- средства моделирования процессов управления;

- типовые задачи управления;

- методы математического программирования, математической статистики и т.д.

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

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

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

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

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

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

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

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

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

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

Логическая природа ЭЦП позволяет не различать копии одного документа и сделать их равнозначными. Снимается естественное различие между оригиналом документа и его копиями, полученными в результате тиражирования (размножения).

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

Техническое обеспечение электронной цифровой подписи основано на использовании методов криптографии.

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

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

Для шифрования и дешифрования информации необходимо знать метод и ключ шифрования.

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

Закрытый ключ электронной цифровой подписи - уникальная последовательность символов, известная владельцу сертификата ключа подписи и предназначенная для создания в электронных документах электронной цифровой подписи с использованием средств электронной цифровой подписи (ст. 3 Закона об ЭЦП).

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

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

- хищение ключа путем копирования в результате несанкционированного доступа к оборудованию (прямого или удаленного), на котором он хранится;

- получение ключа путем ответа на запрос, использованный с признаками мошенничества или подлога;

- хищение ключа в результате хищения оборудования, на котором он хранится;

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

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

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

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

При создании ключей электронных цифровых подписей для использования в информационной системе общего пользования должны применяться только сертифицированные средства электронной цифровой подписи (п. 2 ст. 5). Использование несертифицированных средств электронной цифровой подписи и созданных ими ключей электронных цифровых подписей в корпоративных информационных системах федеральных органов государственной власти, органов государственной власти субъектов Российской Федерации и органов местного самоуправления не допускается (п. 3 ст. 5).

Открытый ключ потому и называется открытым, что он доступен каждому из партнеров владельца закрытого ключа. Есть очень простой прием подмены открытого ключа с целью создания ложного канала связи. Допустим, сторона C желает перехватить чужие данные. В этом случае она может с помощью средств ЭЦП создать себе пару ключей и опубликовать открытый ключ якобы от имени партнера B. Тогда все сообщения от партнера А к партнеру B будут легко перехватываться и читаться стороной C, причем ни A, ни B не будут даже догадываться о том, что C участвует в "договорных" отношениях.

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

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

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

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

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

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

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

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

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

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

- наличие собственного минимально установленного капитала, выраженного в абсолютной сумме;

- подтверждение этой суммы банковской гарантией;

- наличие страховки.

Значительно более трудной представляется задача практического создания в нашей стране инфраструктуры открытых ключей (PKI - Public Key Infrastructure) в системах электронного документооборота и электронной торговли.

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

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

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

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

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

В настоящее время распространение получили две структурные модели системы сертификации - централизованная и децентрализованная.

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

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

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

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

Таким образом, участник электронного документооборота, получивший откуда-то открытый ключ неизвестного партнера, может:

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

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

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

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

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

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

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

2.3 Плагин электронно-цифровой подписи

Данная инструкция описывает порядок действий по конфигурации программ Word и Excel из состава Microsoft Office 2003, 2007, 2010, для создания и проверки электронных цифровых подписей документов. Для создания ЭЦП документа в Microsoft Office Word/Excel 2010 необходимо наличие плагина "КриптоПро Office Signature". Описание использования этого продукта (плагина) имеется в данном документе. В Microsoft Office Word/Excel 2007 есть возможность подписывать документы как с плагином "КриптоПро Office Signature", так и без него.

Важно помнить, что, если после создания и подписи документ будет открыт в другой версии Microsoft Office Word/Excel, то ЭЦП документа проверится не всегда.

2.3.1 Создание цифровой подписи 

В главном меню выберите пункт Сервис → Параметры  

 

 

В появившемся окне выберите закладку Безопасность и нажмите кнопку Цифровые подписи.

 

 

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

 

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

.

Выберите сертификат и нажмите ОК.

 

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

 

 

Если пароль введен неверно, повторите попытку. При успешном вводе пароля появится окно подтверждения подписи.

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

 

Для проверки статуса подписи, нажмите на это значок.

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

2.3.2 Подписание документа, содержащего цифровую подпись 

 

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

Во вкладке Сервис, выбрать Параметры. В появившемся окне на вкладке Безопасность, нажать кнопку Цифровые подписи.  

Добавить сертификаты для подписания документа. Выделить сертификат и нажать ОК.

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

 

 

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

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

 

2.3.3 Использование КриптоПро CSP в Microsoft Office Word/Excel 2007 

В главном меню выберите пункт Подготовить, Добавить цифровую подпись  

 

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

 

 

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

 

 

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

 

 

Если пароль введен неверно, повторите попытку. При успешном вводе пароля появится окно о статусе подписания документа.

 

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

 

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

 

Появится более детальное сообщение о составе подписи.  

 

Подписанный документ доступен только для чтения.

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

 

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

 

Состав подписи можно посмотреть нажатием правой кнопки мышки

 

Если документ уже содержит цифровую подпись, его можно подписать еще раз. В главном меню выбрав пункт Подготовить, Добавить цифровую подпись. Для выбора сертификата нажмите Изменить.  

 

В результате в области задач Подписи появится еще одна действительная подпись.

 

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

Добавление строки подписи

Во вкладке Вставка в группе Текст нажмите Строка подписи или щелкните по стрелке рядом с кнопкой и в появившемся меню выберите Строка подписи Microsoft Office.

 

 

Появится информационное окно. Нажмите кнопку ОК. Для удобства работы можно установить флажок Больше не показывать это сообщение.  

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

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

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

Нажмите кнопку ОК  

Созданная строка подписи представляет собой графический объект.

Добавление подписи в строку подписания

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

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

Щелкнув ссылку Выбрать рисунок, можно добавить изображение, например, своей рукописной подписи.  

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

В окне Подписание нажмите кнопку Подписать. Появится информационно окно подтверждения подписи, в этом окне нажмите кнопку ОК. Для удобства работы можно установить флажок Больше не показывать это сообщение.

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

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

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

Если документ содержит несколько строк подписей для нескольких лиц, документ следует переслать этим лицам для подписания

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

Щелкните по кнопке Просмотр подписей, после чего отобразится область задач Подписи, в которой приведен список подписей в документе.

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

В окне Подписание введите необходимую информацию и нажмите кнопку Подписать

После этого в области задач Подписи все подписи будут находиться в разделе

Действительные подписи

Просмотр свойств подписи

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

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

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

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

При попытке сохранить подписанный документ под другим именем, появляется информационное окно:

 

Если нажать кнопку Да, все подписи в документ станут недействительными.

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

При попытке снятия этой отметки

появляется информационное окно

 

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

Тогда в строках подписи появится текст Недействительная подпись. В области задач Подписи данные подписи будут находиться в разделе Недействительные подписи.  

 

Документ, содержащий недействительную подпись, можно подписать повторно.

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


Заключение


Список использованных источников

PAGE  4



 

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

32211. Понятие, логич структура и юр природа следственной версии. Классификация 32 KB
  Поэтому по субъектам выдвижения различают следственные оперативнорозыскные экспертные и судебные версии. Оперативнорозыскные версии выдвигаются при проведении оперативнорозыскных мероприятий экспертные в процессе конкретных экспертных исследований. В конечном счете эти версии носят промежуточный характер и служат проверке основных следственных версий а экспертные также способствуют проверке судебных версий.
32212. Структура версионного процесса. Построение следств версий 32 KB
  Построение следств версий криминалистическая версия это логически построенное и основанное на фактических данных предположительное умозаключение следователя других субъектов познавательной деятельности по уголовному делу о сути исследуемого деяния об отдельных его обстоятельствах и деталях направленное на выяснение истинных обстоятельств дела и требующее соответствующей проверки. Процесс построения версий распадается на ряд условных этапов. Началом процесса построения версий обычно являются анализ и синтез имеющихся в распоряжении...
32213. Следственный эксперимент 45.5 KB
  Оценка резтов эксперимента. Значение следственного эксперимента заключается в том что его результаты позволяют подтвердить или опровергнуть собранные по делу доказательства а нередко и получить их. Так в ходе следственного эксперимента по проверке возможности совершения определенных действий могут быть точно оценены предположения о наличии или отсутствии у подозреваемого профессиональных или преступных навыков например в использовании газосварочного оборудования для взлома сейфа открывании замка с помощью отмычек и т. Для производства...
32214. Стадии осмотра МП. Способы и методы осмотра 42.5 KB
  Способы и методы осмотра. Каждый этап осмотра имеет свои цели и реализуется с помощью различных тактических приемов. По результатам сопоставления если нужно вносятся коррективы в план осмотра.
32215. Понятие обыска и выемки, их цели и задачи 57.5 KB
  Понятие обыска и выемки их цели и задачи. В ходе обыска могут и должны решаться следующие задачи: 1 отыскание и изъятие орудий преступления предметов и ценностей добытых преступным путем а также других предметов и документов которые могут иметь значение для дела; 2 обнаружение разыскиваемых лиц преступников и граждан взятых в заложники; 3 отыскание трупа или его частей; 4 выемка имущества на которое может быть наложен арест для обеспечения конфискации или возмещения причиненного преступлением материального ущерба; 5 поиск и...
32216. Осмотр места преступления 31.5 KB
  Поисковый харр осмотра МП роль типичных версий при его произвве. Оперативнорозыскные действия могут осуществляться: до и независимо от осмотра; во время его проведения в зависимости от полученных при этом данных требующих реализации до завершения осмотра. В связи с этим никаких процессуальных документов о результатах использования служебнорозыскной собаки к протоколу осмотра не прилагается; б заградительные мероприятия путем установления наблюдения за узловыми пунктами предполагаемого маршрута передвижения скрывшегося преступника в...
32217. Осмотр трупа на Месте преступления 30.5 KB
  Наружный осмотр трупа на месте его обнаружения в соответствии со ст. Вся ответственность за ход и результаты осмотра трупа лежит на нем так как факты исследуемые и фиксируемые при осмотре не могут быть восполнены при судебномедицинской экспертизе трупа. Фиксируется время начала осмотра температура окружающей среды и трупа.
32218. Стадии обыска и тактические основы его произ-ва 52.5 KB
  Стадии обыска и тактические основы его произва. В ходе обыска могут и должны решаться следующие задачи: 1 отыскание и изъятие орудий преступления предметов и ценностей добытых преступным путем а также других предметов и документов которые могут иметь значение для дела; 2 обнаружение разыскиваемых лиц преступников и граждан взятых в заложники; 3 отыскание трупа или его частей; 4 выемка имущества на которое может быть наложен арест для обеспечения конфискации или возмещения причиненного преступлением материального ущерба; 5 поиск и...
32219. Понятие следственного эксперимента, его цели, задачи 31 KB
  Под следственным экспериментом понимается следственное действие производимое с целью выяснения объективной возможности наличия существенного для дела обстоятельства путем воспроизведения условий проверяемого события и производства опытов. Следственные эксперименты могут проводиться для решения следующих задач: установления возможности существования какоголибо факта или возникновения явления при данных условиях; установления возможности осуществления определенного механизма события или отдельных его элементов при определенных условиях; ...