Разработка алгоритмов защиты информации в сетях АТМ

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

Рубрика Коммуникации, связь, цифровые приборы и радиоэлектроника
Вид дипломная работа
Язык русский
Дата добавления 17.05.2012
Размер файла 423,2 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

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

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

Размещено на http://www.allbest.ru/

Размещено на http://www.allbest.ru/

Рисунок 2.6.1.1 - Режим выработки имитовставки

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

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

2.6.2 Построение имитозащищённого канала связи

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

Размещено на http://www.allbest.ru/

Размещено на http://www.allbest.ru/

Рисунок 2.6.2.1 - Простейший имитозащищённый канал связи

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

Размещено на http://www.allbest.ru/

Размещено на http://www.allbest.ru/

Рисунок 2.6.2.2 - Защита от подмены сообщений

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

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

Размещено на http://www.allbest.ru/

Размещено на http://www.allbest.ru/

Рисунок 2.6.2.3 - Синхронизация генераторов ключей

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

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

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

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

3. ОБЗОР АЛГОРИТМОВ БЕЗОПАСНОСТИ СЕТИ АТМ

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

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

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

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

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

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

В технологии АТМ аутентификация использует криптографические алгоритмы (асимметричные - открытый ключ, симметричные - секретный ключ).

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

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

Целостность данных в системе АТМ обеспечивается специальными механизмами, позволяющими обнаружить модификацию данных или её угрозу. Целостность обеспечивается между конечными пунктами уровня адаптации (ААL 3/4 и AAL 5). При этом возможно два типа обеспечения целостности данных: без защиты от перезаписи и переупорядочения и с данной защитой. В случае использования защиты от перезаписи и переупорядочения на уровне адаптации к каждому пакету ячеек добавляется криптографическая подпись, являющаяся функцией от содержимого пакета, что позволяет не дублировать эту защиту на уровнях адаптации более высоких плоскостей, поскольку их протоколы предусматривают собственные проверочные последовательности. Такая защита позволяет обнаруживать и отвергать старые пакеты ячеек и предотвращает повторный приём одинаковой информации.

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

Контроль доступа в АТМ достигается использованием определённых правил запроса обслуживания. Эти правила зависят от таких параметров, как подлинность сообщения, адрес вызываемого пользователя, а также от параметров системы, таких, как время прохождения ячеек и степени использования сети данным и другими пользователями.

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

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

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

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

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

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

3.3 Дополнительные службы, обеспечивающие безопасность информации

Безопасность информации в сети АТМ обеспечивается также дополнительными службами:

- служба обмена сообщениями безопасности;

- служба обмена ключами;

- служба обновления ключей;

- служба сертификации.

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

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

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

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

3.4 Алгоритмы защиты информации, используемые в плоскости пользователя сети АТМ

Плоскость пользователя сети АТМ использует алгоритмы защиты информации, отражённые в таблицах 3.4.1-3.4.5.

Таблица 3.4.1 - Профили алгоритмов аутентификации плоскости пользователя

Профиль

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

Функция хэширования

Примечание

AUTH-1

DES/CBC

Не используется

1,2

AUTH-2

DSA

SHA-1

1

AUTH-3

ECDSA

SHA-1

1

AUTH-4

ESIGN

MD5

1

AUTH-5

FEAL/CBC

Не используется

1,2

AUTH-6

RSA

MD5

1

Примечание 1: Требуется поддержка обмена сообщениями безопасности.

Примечание 2: В данном профиле функция хэширования не используется.

Таблица 3.4.2 - Профили алгоритмов конфиденциальности плоскости пользователя

Профиль

Шифр

Режим

Подпись

Обмен ключей

Функция хэширования

Обновление ключей

Прим.

CONF-1

DES

CBC

RSA

RSA

MD5

MD5

1

CONF-2

DES

CBC

DSA

DH

SHA-1

SHA-1

1

CONF-3

DES

CBC

ECDSA

ECKAS-DH

SHA-1

SHA-1

1

CONF-4

DES

CBC

DES/CBC

DES/CBC

Не используется

MD5

1

CONF-5

DES

Counter

RSA

RSA

MD5

MD5

1

CONF-6

DES

Counter

DSA

DH

SHA-1

SHA-1

1

CONF-7

DES

Counter

ECDSA

ECKAS-DH

SHA-1

SHA-1

1

CONF-8

DES

Counter

DES/CBC

DES/CBC

Не используется

MD5

1

CONF-9

Triple-DES

CBC

RSA

RSA

MD5

MD5

1

CONF-10

Triple-DES

CBC

DSA

DH

SHA-1

SHA-1

1

CONF-11

Triple-DES

CBC

ECDSA

ECKAS-DH

SHA-1

SHA-1

1

CONF-12

Triple-DES

CBC

Triple-DES/CBC

Triple-DES/CBC

Не используется

MD5

1

CONF-13

Triple-DES

Counter

RSA

RSA

MD5

MD5

1

CONF-14

Triple-DES

Counter

DSA

DH

SHA-1

SHA-1

1

CONF-15

Triple-DES

Counter

EC/DSA

EC/DH

SHA-1

SHA-1

1

CONF-16

Triple-DES

Counter

Triple-DES/CBC

Triple-DES/CBC

Не используется

MD5

1

CONF-17

FEAL

CBC

ESIGN

DH

MD5

MD5

1

CONF-18

FEAL

CBC

FEAL/CBC

FEAL/CBC

Не используется

MD5

1

CONF-19

FEAL

Counter

ESIGN

DH

MD5

MD5

1

CONF-20

FEAL

Counter

FEAL/CBC

FEAL/CBC

Не используется

MD5

1

Примечание 1: Требуется поддержка обмена сообщениями безопасности.

Таблица 3.4.3 - Профили алгоритмов целостности информации плоскости пользователя и контроля

Профиль

MAC

Подпись

Обмен ключами

Функция хэширования

Обновление ключей

Прим.

INTEG-1

DES/CBC

RSA

RSA

MD5

MD5

1,2

INTEG-2

DES/CBC

DSA

DH

SHA-1

SHA-1

1,2

INTEG-3

DES/CBC

EC/DSA

EC/DH

SHA-1

SHA-1

1,2

INTEG-4

DES/CBC

DES/CBC

DES/CBC

Не используется

MD5

1,2

INTEG-5

H-MD5

RSA

RSA

MD5

MD5

1,2

INTEG-6

H-MD5

DES/CBC

DES/CBC

Не используется

MD5

1,2

INTEG-7

H-SHA-1

DSA

DH

SHA-1

SHA-1

1,2

INTEG-8

H-SHA-1

EC/DSA

EC/DH

SHA-1

SHA-1

1,2

INTEG-9

H-SHA-1

DES/CBC

DES/CBC

Не используется

SHA-1

1,2

INTEG-10

FEAL/CBC

ESIGN

DH

MD5

MD5

1,2

INTEG-11

FEAL/CBC

FEAL/CBC

FEAL/CBC

Не используется

MD5

1,2

Примечание 1: Требуется поддержка обмена сообщениями безопасности.

Примечание 2: Требуется поддержка двух версий целостности с защитой от перезаписи и без неё.

Таблица 3.4.4 - Профили меток контроля доступа плоскости пользователя

Профиль

Формат метки

Примечание

ACC-1

Standard Security Labels

1

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

Таблица 3.4 5 - Профили алгоритмов аутентификации плоскости контроля

Профиль

MAC

Обновление ключей

Примечания

CP-AUTH-1

H-MD5

MD5

1

CP-AUTH-2

H-SHA-1

SHA-1

1

CP-AUTH-3

DES/CBC

SHA-1

1

CP-AUTH-4

FEAL/CBC

MD5

1

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

3.4.1 Алгоритм DES

Американский стандарт криптографического закрытия данных DES (Data Encryption Standard) является типичным представителем семейства блочных шифров. Этот шифр допускает эффективную аппаратную и программную реализацию, причём возможно достижение скоростей шифрования до нескольких мегабайт в секунду. Шифр DES представляет собой результат 33 отображений:

,(3.4.1.1)

где: IP (Initial Permutation - исходная перестановка) представляет собой проволочную коммутацию с инверсией IP-1;

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

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

- на i-м цикле входной блок длиной 64 символа делится на два блока по 32 символа и , правый блок Х' разбивается на восемь блоков по четыре символа:

,

Эти восемь блоков путём копирования крайних элементов преобразуются в восемь блоков из шести символов:

;

- на i-циклической итерации 48 разрядов ключа поразрядно суммируются (по модулю 2) с полученными выше 48 разрядами данных;

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

Эти целые определяют номер строки (от 0 до 3). Оставшиеся четыре символа интерпретируются как двоичное представление целых чисел из набора и служат для определения столбца в массиве (от 0 до 15). Таким образом, входной блок (0,0,1,0,1,1) соответствует строке 1 и столбцу 5;

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

- компоненты правого входного 32-разрядного блока Х', преобразованного в Т(Х'), поразрядно суммируются по модулю 2 с компонентами левого входного 32-разрядного блока Х.

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

Какой именно из ключей используется на i-циклической итерации, определяется списком ключей. Для описания списка ключей введены дополнительные элементы.

Ключ определяется по следующему алгоритму:

- производиться начальная перестановка РС-1 56-разрядного ключа пользователя . Получаемый в результате 56-разрядный блок рассматривается как два 28-разрядных блока: левый - и правый - ;

- производится левый циклический сдвиг блоков и раз для получения блоков и ;

- из сцепления блоков (,) выбираются 48 разрядов с помощью перестановки РС-2. Эти разряды используются на первой итерации;

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

Инверсией DES (обеспечивающей расшифрование зашифрованных посредством DES данных) является:

. (3.4.1.2)

Расшифрование зашифрованного посредством DES текста осуществляется с использованием тех же блоков благодаря обратимости преобразования.

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

Было выдвинуто большое количество предложений по усовершенствованию DES, которые отчасти компенсируют указанные недостатки. Наиболее широко известным предложением по усилению DES является так называемый «тройной» DES (Triple-DES), одна из версий которого определяется формулой:

. (3.4.1.3)

То есть, ключ для EDE3 имеет длину 56Ч3=168 бит, и шифрование 64-битового блока осуществляется шифрованием с одним подключом, расшифрованием с другим и затем шифрованием с третьим. Причина, по которой вторым шагом является , а не , является совместимость с DES: если выбрать , то . Причина использования DES три раза вместо двух заключается в существовании атаки «человек в середине» на двойной DES.

Проблема с тройным DES состоит в том, что он гораздо медленнее, чем сам DES - его скорость составляет ровно одну треть исходной. При использовании EDE3 в режиме сцепления блоков (СВС - Cipher Block Chaining) замедление снижается как на аппаратном, так и на программном (даже если попытаться компенсировать его дополнительной аппаратной частью) уровнях. Во многих случаях такое падение производительности неприемлемо.

DES - блочный шифр и при шифровании он может использоваться в нескольких режимах. В сетях АТМ используется режим сцепления блоков шифрованного текста (CBC - Cipher Block Chaining).

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

. (3.4.1.4)

Размещено на http://www.allbest.ru/

Размещено на http://www.allbest.ru/

Рисунок 3.4.1.1 - Режим сцепления блоков шифрованного текста

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

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

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

3.4.2 Алгоритм RSA

Криптосистема Ривеста-Шамира-Эйделмана (RSA - Rivest-Shamir-Adleman) представляет собой систему, стойкость которой основана на сложности решения задачи разложения числа на простые сомножители. Кратко алгоритм можно описать следующим образом:

Пользователь A выбирает пару различных простых чисел и , вычисляет и выбирает число , такое что

, (3.4.2.1)

где - функция Эйлера (количество чисел, меньших n и взаимно простых с n). Если , где p и q - простые числа, то

. (3.4.2.2)

Затем он вычисляет величину , такую, что

, (3.4.2.3)

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

Теперь пользователь В, желая передать сообщение пользователю А, представляет исходный текст: , по основанию :

. (3.4.2.4)

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

, (3.4.2.5)

получая зашифрованное сообщение . В силу выбора чисел и , отображение является взаимно однозначным, и обратным к нему будет отображение:

. (3.4.2.6)

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

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

Кроме того, криптосистема Ривеста-Шамира-Эйделмана может использоваться для формирования электронной цифровой подписи.

Пользователь А вырабатывает цифровую подпись предназначенного для пользователя В сообщения М с помощью следующего преобразования

SIG(M)=EeB·nB(EdA·nA(M)). (3.4.2.7)

При этом он использует:

- своё секретное преобразование EdA·nA;

- открытое преобразование EeB·nB пользователя В.

Затем он передаёт пользователю В пару <М, SIG(М)>.

Пользователь В может верифицировать это подписанное сообщение сначала при помощи своего секретного преобразования EdB·nB с целью получения

EdA·nA(М)= EdB·nB(SIG(M))=EdB·nB(EeB·nB(EdA·nA(М))) (3.4.2.8)

и затем открытого преобразования EеA·nA пользователя А для получения сообщения М:

М=EеA·nA(EdA·nA(М)). (3.4.2.9)

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

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

SIG(M)=EdA·nA(M), (3.4.2.10)

а пользователи осуществляют верификацию с использованием открытого преобразования отправителя (пользователя А):

М=EеА·nА(SIG(M))=EеА·nА(EdA·nA(М)). (3.4.2.11)

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

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

3.4.3 Алгоритм, основанный на эллиптических кривых

В 1985 году Коблиц и Миллер независимо друг от друга предложили использовать для построения криптосистем алгебраические структуры, определённые на множестве точек на эллиптических кривых. Рассмотрим случаи определения эллиптических кривых над простыми конечными полями произвольной характеристики и над полями Галуа характеристики 2.

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

(3.4.3.1)

над полем вместе с дополнительной точкой , называемой точкой в бесконечности.

Представление эллиптической кривой в виде уравнения (3.4.3.1) носит название эллиптической кривой в форме Вейерштрасса.

Обозначим количество точек на эллиптической кривой через . Верхняя и нижняя границы для определяются теоремой Хассе:

. (3.4.3.2)

Зададим бинарную операцию на (в аддитивной записи) следующими правилами:

;

;

;

, где: (3.4.3.3)

и ;

, где:

и .

Множество точек эллиптической кривой с заданной таким образом операцией образует абелеву группу.

Если , то кривая называется суперсингулярной.

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

Пусть - целое число. Пусть . Эллиптической кривой над полем называется множество решений уравнения

(3.4.3.4)

над полем вместе с дополнительной точкой , называемой точкой в бесконечности.

Количество точек на кривой также определяется теоремой Хассе:

, (3.4.3.5)

где . Более того, чётно.

Операция сложения на в этом случае задаётся следующими правилами:

;

;

;

, где: (3.4.3.6)

и ;

, где:

и .

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

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

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

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

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

3.4.4 Алгоритм цифровой подписи диффи-хеллмана

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

Предположим, в нашем распоряжении есть алгоритм зашифрования ЕК, оперирующий блоками данных Х размера n и использующий ключ размером nK: |Х|=n, |K|=nK. Структура ключевой информации в схеме следующая: секретный ключ подписи kS выбирается как произвольная (случайная) пара ключей k0, k1 используемого блочного шифра:

kS=(k0, k1). (3.4.4.1)

Таким образом, размер ключа подписи равен удвоенному размеру ключа использованного блочного шифра:

|kS|=2|K|=2nK. (3.4.4.2)

Ключ проверки представляет собой результат шифрования двух блоков текста Х0 и Х1 с ключами k0 и k1 соответственно:

kV=(C0, C1)=(Ek0(X0), Ek1(X1)) (3.4.4.3)

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

|kV|=2|Х|=2n. (3.4.4.4)

Алгоритм Sig выработки цифровой подписи для бита t (t{0, 1}) заключается просто в выборе соответствующей половины из пары, составляющей секретный ключ подписи:

s=S(t)=kt. (3.4.4.5)

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

Ekt(Xt)=Ct, (3.4.4.6)

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

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

. (3.4.4.7)

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

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

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

. (3.4.4.8)

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

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

- размер ключа подписи - nkS=2nHnK;

- размер ключа проверки подписи - ;

- размер подписи - .

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

Однако, несколько лет назад Березин и Дорошкевич предложили модификацию схемы Диффи-Хеллмана, фактически устраняющую её недостатки.

Центральным в этом подходе является алгоритм «односторонней криптографической прокрутки», которая в некотором роде может служить аналогом операции возведения в степень. Как обычно, предположим, что в нашем распоряжении имеется криптографический алгоритм ЕК с размером блока данных и ключа соответственно n и nK бит, причём n?nК.

Пусть в нашем распоряжении также имеется некоторая функция отображения n-битовых блоков данных в nK-битовые . Определим рекурсивную функцию «односторонней прокрутки» блока данных размером n бит k раз при помощи следующей формулы:

, (3.4.4.9)

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

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

- аддитивность и коммутативность по числу прокручиваний:

; (3.4.4.10)

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

Теперь покажем, как указанную операцию можно использовать для подписи блока Т, состоящего из nT битов.

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

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

. (3.4.4.11)

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

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

- алгоритм SignT выработки цифровой подписи для nT-битового блока Т заключается в выполнении односторонней прокрутки обеих половин ключа подписи Т и 2nT-1-T раз соответственно:

; (3.4.4.12)

- алгоритм VernT проверки подписи состоит в проверке истинности соотношений , которые, очевидно, должны выполняться для подлинного блока данных Т:

(3.4.4.13)

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

. (3.4.4.14)

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

Предположим, что в распоряжении злоумышленника есть nT-битовый блок Т, его подпись , и ключ проверки . Пользуясь этой информацией, злоумышленник пытается найти правильную подпись для другого nT-битового блока Т'. Для этого ему надо решить следующие уравнения относительно s'0 и s'1:

. (3.4.4.15)

В распоряжении злоумышленника есть блок данных Т с подписью , что позволяет ему вычислить одно из значений s'0, s'1, даже не владея ключом подписи:

(a) если T<T', то ,

(b) если T>T', то .

Однако для нахождения второй половины подписи (s'1 и s'0 в случаях (а) и (b) соответственно) ему необходимо выполнить прокрутку в обратную сторону, то есть найти Rk(X), располагая только значением для большего k, что является вычислительно невозможным. Таким образом, злоумышленник не может подделать подпись под сообщением, если не располагает секретным ключом подписи.

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

, (3.4.4.16)

, (3.4.4.17)

но s=s', следовательно:

и . (3.4.4.18)

Положим для определённости T?T', тогда справедливо следующее:

, где . (3.4.4.19)

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

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

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

бит, (3.4.4.20)

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

- при выработке ключевой информации оно равно:

, (3.4.4.21)

- при выработке и проверке подписи оно вдвое меньше:

. (3.4.4.22)

Размер ключа подписи и проверки подписи можно дополнительно уменьшить следующими приёмами:

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

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

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

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

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

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

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

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

, (3.4.4.23)

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

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

Необходимость отправлять вместе с подписью сообщения дополнительную информацию, нужную для проверки подписи, на самом деле не очень обременительна. Действительно, в системе на 1024=210 подписей вместе с сообщением и его подписью необходимо дополнительно передавать 10 контрольных комбинаций, а в системе на 1048576=220 подписей - всего 20 комбинаций. Однако, при большем числе подписей, на которые рассчитана система, возникает другая проблема - хранение дополнительных комбинаций, если они рассчитаны предварительно, или выработаны в момент формирования подписи.

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

Первый подход предполагает затраты дисковой памяти, так как необходимо хранить 2L+1-2 значений хэш-функции всех уровней, а второй требует большего объёма вычислений в момент формирования подписи. Можно использовать и компромиссный подход - хранить все хэш-комбинации, начиная с некоторого уровня l*, а комбинации меньшего уровня вычислять при формировании подписи.

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

4. РАЗРАБОТКА АЛГОРИТМА ЗАЩИТЫ ИНФОРМАЦИИ В СЕТИ АТМ

4.1 Постановка задачи

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

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

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

4.2 Алгоритм защиты информации в сети АТМ

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

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


Подобные документы

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

    дипломная работа [2,0 M], добавлен 28.07.2013

  • Задачи защиты информации в информационных и телекоммуникационных сетях. Угрозы информации. Способы их воздействия на объекты защиты информации. Традиционные и нетрадиционные меры и методы защиты информации. Информационная безопасность предприятия.

    курсовая работа [347,8 K], добавлен 08.09.2008

  • Объекты защиты информации. Технические каналы утечки информации. Экранирование электромагнитных волн. Оптоволоконные кабельные системы. Особенности слаботочных линий и сетей как каналов утечки информации. Скрытие информации криптографическим методом.

    реферат [937,8 K], добавлен 10.05.2011

  • Требования к системам телекоммуникаций. Классификация нарушений передачи информации. Криптографические системы. Общие критерии оценки безопасности информационных технологий. Защита информации в сетях с технологией ATM.

    учебное пособие [480,3 K], добавлен 03.05.2007

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

    курсовая работа [6,4 M], добавлен 29.06.2010

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

    курсовая работа [2,9 M], добавлен 19.06.2012

  • Принцип действия беспроводных сетей и устройств, их уязвимость и основные угрозы. Средства защиты информации беспроводных сетей; режимы WEP, WPA и WPA-PSK. Настройка безопасности в сети при использовании систем обнаружения вторжения на примере Kismet.

    курсовая работа [175,3 K], добавлен 28.12.2017

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

    курсовая работа [553,5 K], добавлен 13.01.2015

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

    курсовая работа [46,9 K], добавлен 13.12.2013

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

    контрольная работа [436,0 K], добавлен 09.07.2009

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.