рефераты конспекты курсовые дипломные лекции шпоры

Реферат Курсовая Конспект

Конспект лекций по дисциплине Программно-аппаратные средства защиты информации Основные понятия и определения

Конспект лекций по дисциплине Программно-аппаратные средства защиты информации Основные понятия и определения - раздел Философия, Конспект Лекций По Дисциплине «Программно-Аппаратные Средства Защиты Информац...

Конспект лекций по дисциплине «Программно-аппаратные средства защиты информации»

Тема 1.

Основные понятия и определения

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

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

Перечислим некоторые характерные проблемы, связанные с безопасностью, которые возникают при использовании компьютерных сетей:

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

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

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

4. Фирма открывает Internet-магазин, который принимает оплату в электронном виде. В этом случае продавец должен быть уверен, что он отпускает товар, который действительно оплачен, а покупатель должен иметь гарантии, что он, во-первых, получит оплаченный товар, а во-вторых, номер его кредитной карточки не станет никому известен.

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

Рассмотрим основные понятия, относящиеся к информационной безопасности, и их взаимосвязь.

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

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

На рис.1.1 показана взаимосвязь рассмотренных выше понятий информационной безопасности.


Рис. 1.1.Взаимосвязь основных понятий безопасности информационных систем

Дадим следующие определения:

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

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

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

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

Механизм безопасности - программное и/или аппаратное средство, которое определяет и/или предотвращает атаку .

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

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

Модель сетевой безопасности

Классификация сетевых атак

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


Рис. 1.2.Информационный поток

Все атаки можно разделить на два класса: пассивные и активные.

I. Пассивная атака

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


Рис. 1.3.Пассивная атака

II. Активная атака

1. Отказ в обслуживании - DoS-атака (Denial of Service) Отказ в обслуживании нарушает нормальное функционирование сетевых сервисов.…

Сервисы безопасности

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

Механизмы безопасности

Перечислим основные механизмы безопасности:

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

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

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

Модель сетевого взаимодействия

Рис. 1.8.Модель сетевой безопасности Сообщение, которое передается от одного участника другому, проходит через различного рода сети. При этом будем…

Модель безопасности информационной системы

Рис. 1.9.Модель безопасности информационной системы Данная модель иллюстрирует концепцию безопасности информационной системы, с помощью которой предотвращается…

Криптография

Основные понятия

Рассмотрим общую схему симметричной, или традиционной, криптографии.


Рис. 2.1.Общая схема симметричного шифрования

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

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

Незашифрованное сообщение будем обозначать P или M, от слов plaintext и message. Зашифрованное сообщение будем обозначать С, от слова ciphertext.

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

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

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

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

Клод Шеннон ввел понятия диффузии и конфузии для описания стойкости алгоритма шифрования.

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

Конфузия - это уничтожение статистической взаимосвязи между зашифрованным текстом и ключом.

Если Х - это исходное сообщение и K - криптографический ключ, то зашифрованный передаваемый текст можно записать в виде

Y = EK[X].

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

X = DK[Y]

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

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

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

· Табличная подстановка, при которой группа бит отображается в другую группу бит. Это так называемые S-box .

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

· Операция сложения по модулю 2, обозначаемая XOR или

· Операция сложения по модулю 232 или по модулю 216.

· Циклический сдвиг на некоторое число бит.

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


Рис. 2.2.Структура алгоритма симметричного шифрования

Области применения

Стандартный алгоритм шифрования должен быть применим во многих приложениях:

· Шифрование данных. Алгоритм должен быть эффективен при шифровании файлов данных или большого потока данных.

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

· Хэширование. Алгоритм должен эффективно преобразовываться в одностороннюю хэш-функцию.

Платформы

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

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

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

· Процессоры среднего размера. Алгоритм должен работать на микроконтроллерах и других процессорах среднего размера.

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

Дополнительные требования

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

· Алгоритм должен быть простым для написания кода, чтобы минимизировать вероятность программных ошибок.

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

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

· Все операции с данными должны осуществляться над блоками, кратными байту или 32-битному слову.

 

Сеть Фейстеля

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

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

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

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

Понятие дифференциального криптоанализа было введено Эли Бихамом (Biham) и Ади Шамиром (Shamir) в 1990 году. Конечная задача дифференциального… Если в основе алгоритма лежит сеть Фейстеля, то можно считать, что блок m… Другим способом криптоанализа является линейный криптоанализ, который использует линейные приближения преобразований,…

Используемые критерии при разработке алгоритмов

· Манипулировать данными в больших блоках, предпочтительно размером 16 или 32 бита. · Иметь размер блока 64 или 128 бит. · Иметь масштабируемый ключ до 256 бит.

Алгоритм DES

Принципы разработки

DES является классической сетью Фейстеля с двумя ветвями. Данные шифруются 64-битными блоками, используя 56-битный ключ. Алгоритм преобразует за… Рис. 2.4.Общая схема DES

Шифрование

Начальная перестановка

Начальная перестановка и ее инверсия определяются стандартной таблицей. Если М - это произвольные 64 бита, то X = IP (M) - переставленные 64 бита. Если применить обратную функцию перестановки Y = IP-1 (X) = IP-1 (IP(M)), то получится первоначальная последовательность бит.

Последовательность преобразований отдельного раунда

Рис. 2.5.I-ый раунд DES 64-битный входной блок проходит через 16 раундов, при этом на каждой итерации получается промежуточное 64-битное…

Создание подключей

Ключ для отдельного раунда Ki состоит из 48 бит. Ключи Ki получаются по следующему алгоритму. Для 56-битного ключа, используемого на входе алгоритма, вначале выполняется перестановка в соответствии с таблицей Permuted Choice 1 (РС-1). Полученный 56-битный ключ разделяется на две 28-битные части, обозначаемые как C0 и D0 соответственно. На каждомраунде Ci и Di независимо циклически сдвигаются влево на 1 или 2 бита, в зависимости от номера раунда. Полученные значения являются входом следующего раунда. Они также представляют собой вход в Permuted Choice 2 (РС-2), который создает 48-битное выходное значение, являющееся входом функции F(Ri-1, Ki).

 

Дешифрование

После последнего раунда процесса расшифрования две половины выхода меняются местами так, чтобы вход заключительной перестановки IP-1 был R16||L16.… Проверим корректность процесса дешифрования. Возьмем зашифрованный текст и… Таким образом, вход первого раунда процесса дешифрования эквивалентен 32-битному выходу 16-ого раунда процесса…

Проблемы DES

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

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

Алгоритм тройной DES

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

Недостатки двойного DES

Для дешифрования требуется, чтобы два ключа применялись в обратном порядке: P = Dk1 [Dk2 [C]] В этом случае длина ключа равна 56 * 2 = 112 бит. Атака "встреча посередине"

Тройной DES с двумя ключами

В качестве альтернативы предлагается метод тройного шифрования, использующий только два ключа. В этом случае выполняется последовательность… Рис. 2.6.Шифрование тройным DES

Алгоритм Blowfish

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

Шифрование

Входом является 64-битный элемент данных X, который делится на две 32-битные половины, Xl и Xr.

Xl = Xl XOR PiXr = F (Xl) XOR XrSwap Xl and Xr

Функция F

Разделить Xl на четыре 8-битных элемента A, B, C, D.

F (Xl) = ((S1,А + S2,B mod 232) XOR S3,C) + S4,D mod 232

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

Генерация подключей

1. Инициализировать первый Р -массив и четыре S-boxes фиксированной строкой. 2. Выполнить операцию XOR P1 с первыми 32 битами ключа, операцию XOR P2 со… 3. Зашифровать нулевую строку алгоритмом Blowfish, используя подключи, описанные в пунктах (1) и (2).

Алгоритм IDEA

IDEA (International Data Encryption Algorithm) является блочным симметричным алгоритмом шифрования, разработанным Сюдзя Лай (Xuejia Lai) и Джеймсом Массей (James Massey) из швейцарского федерального института технологий. Первоначальная версия была опубликована в 1990 году. Пересмотренная версия алгоритма, усиленная средствами защиты от дифференциальных криптографических атак, была представлена в 1991 году и подробно описана в 1992 году.

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

Принципы разработки

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

Целью разработки IDEA было создание относительно стойкого криптографического алгоритма с достаточно простой реализацией.

Криптографическая стойкость

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

Шифрование

Рассмотрим общую схему шифрования IDEA. Как и в любом алгоритме шифрования, здесь существует два входа: незашифрованный блок и ключ. В данном случае незашифрованный блок имеет длину 64 бита, ключ имеет длину 128 бит.

Алгоритм IDEA состоит из восьми раундов, за которыми следует заключительное преобразование. Алгоритм разделяет блок на четыре 16-битных подблока. Каждый раунд получает на входе четыре 16-битных подблока и создает четыре 16-битных выходных подблока. Заключительное преобразование также получает на входе четыре 16-битных подблока и создает четыре 16-битных подблока. Каждый раунд использует шесть 16-битных ключей, заключительное преобразование использует четыре подключа, т.е. всего в алгоритме используется 52 подключа.


Рис. 3.1.Алгоритм IDEA

Последовательность преобразований отдельного раунда

Одним из основных элементов алгоритма, обеспечивающих диффузию, является структура, называемая МА (умножение/сложение): Рис. 3.2.Структура МА (умножение/сложение)

Создание подключей

Заметим, что каждый первый подключ раунда получен из своего подмножества бит ключа. Если весь ключ обозначить как Z[1..128], то первыми ключами в… Хотя на каждом раунде за исключением первого и восьмого используются только 96…

Дешифрование

1. Первые четыре подключа i-ого раунда дешифрования получаются из первых четырех подключей (10-i)-го раунда шифрования, где стадия заключительного… 2. Для первых восьми раундов последние два подключа i раунда дешифрования… Для мультипликативной инверсии используется нотация Zj-1, т.е.:

Алгоритм ГОСТ 28147

L_{i} = R_{i-1} R_{i} = L_{i-1} oplus f (R_{i-1}, K_{i}) Функция F проста. Сначала правая половина и i-ый подключ складываются по модулю 232. Затем результат разбивается на…

Режимы выполнения алгоритмов симметричного шифрования

ECB - Electronic Codebook - каждый блок из 64 бит незашифрованного текста шифруется независимо от остальных блоков, с применением одного и того же… CBC - Cipher Block Chaining - вход криптографического алгоритма является… CFB - Cipher Feedback - при каждом вызове алгоритма обрабатывается J битов входного значения. Предшествующий…

Режим ECB

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

Режим CBC

Рис. 3.8.Шифрование в режиме СВС

Режим CFB

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

Режим OFB

Основное преимущество режима OFB состоит в том, что если при передаче произошла ошибка, то она не распространяется на следующие зашифрованные блоки,… Недостаток OFB в том, что он более уязвим к атакам модификации потока…

Создание случайных чисел

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

Требования к случайным числам

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

1. Схемы взаимной аутентификации. В большинстве сценариев аутентификации и распределения ключа используются nonсes для предотвращения атак повтора (replay-атак). Применение действительно случайных чисел в качестве nonces не дает противнику возможности вычислить или угадать nonce.

2. Ключ сессии, созданный KDC или кем-либо из участников.

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

Случайность

1. Однородное распределение: распределение чисел в последовательности должно быть однородным; это означает, что частота появления каждого числа… 2. Независимость: ни одно значение в последовательности не должно зависеть от… Хотя существуют тесты, показывающие, что последовательность чисел соответствует некоторому распределению, такому как…

Непредсказуемость

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

Источники случайных чисел

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

Генераторы псевдослучайных чисел

Последовательность случайных чисел {Xn} получается с помощью следующего итерационного равенства: Xn+1 = (a Xn + c) mod m Если m, а и с являются целыми, то создается последовательность целых чисел в… Выбор значений для а, с и m является критичным для разработки хорошего генератора случайных чисел.

Криптографически созданные случайные числа

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

Циклическое шифрование

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

Режим Output Feedback DES

Режим OFB DES может применяться для генерации ключа, аналогично тому, как он используется для потокового шифрования. Заметим, что выходом каждой стадии шифрования является 64-битное значение, из которого только левые j битов подаются обратно для шифрования. 64-битные выходы составляют последовательность псевдослучайных чисел с хорошими статистическими свойствами.

Генератор псевдослучайных чисел ANSI X9.17

Алгоритмом шифрования является тройной DES. Генератор ANSI X9.17 состоит из следующих частей: 1. Вход: генератором управляют два псевдослучайных входа. Один является… 2. Ключи: генератор использует три модуля тройного DES. Все три используют одну и ту же пару 56-битных ключей, которая…

Обзор процесса разработки AES

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

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

Историческая справка

20 августа 1998 года NIST анонсировал пятнадцать кандидатов на алгоритм AES на первой конференции кандидатов AES (AES1), и было предложено…

Обзор финалистов

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

Критерий оценки

Критерий оценки был разделен на три основных категории: 1. Безопасность. 2. Стоимость.

Результаты второго этапа обсуждения

Считается, что второй этап обсуждения начинается с официального объявления пяти финалистов AES 20 августа 1999 года и заканчивается официальным завершением обсуждений 15 мая 2000 года.

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

Процесс выбора

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

Методология и результаты выбора

Принципы выбора алгоритма

Команда NIST до выбора алгоритма должна была принять несколько фундаментальных решений:

· Принять количественный или качественный критерий при выборе алгоритма.

· Выбрать один или несколько алгоритмов в качестве AES.

· Выбрать запасной алгоритм(ы).

· Рассмотреть предложения по модификации алгоритмов.

Кратко рассмотрим полученные результаты.

Качественный или количественный критерий

Количество алгоритмов AES

Некоторые аргументы, выдвинутые в защиту нескольких алгоритмов (против единственного алгоритма), включают: · В интересах безопасности; на случай, если один алгоритм AES будет взломан,… · Понятия интеллектуальной собственности могут быть рассмотрены позднее в вопросе отсутствия лицензионных ограничений…

Запасной алгоритм

Итак, имея · представления о том, что запасной алгоритм должен de facto требоваться в… · сомнения относительно потенциальной применимости в связи с возможными достижениями криптоанализа;

Модификация алгоритмов

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

Программные реализации

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

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

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

Размер машинного слова

Считается, что в ближайшие 30 лет 8-битные, 32-битные и 64-битные архитектуры будут играть важнейшую роль (в какой-то момент будут добавлены… Следует заметить, что выполнение не может быть классифицировано только на…

Другие проблемы архитектуры

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

Языки реализации ПО

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

Изменение скорости выполнения в зависимости от длины ключа

Rijndael определяет больше раундов для большей длины ключа, что, естественно, затрагивает как скорость шифрования/дешифрования, так и время… Для большего размера ключа Twofish определяет дополнительные уровни генерации…

Краткий вывод о скорости выполнения на основных программных платформах

  Таблица 5.3. Полная оценка выполнения Шифрование/ дешифрование Установление ключа MARS … В следующих оценках "низкое", "среднее" и… MARS обеспечивает среднее выполнение для шифрования, дешифрования и установления ключа.

Изменение скорости в зависимости от режима

Другим фактором, который может влиять на выполнение алгоритма, является используемый режим операции. Алгоритм, выполняемый в режиме non-feedback (например, ЕСВ), может быть реализован для независимой и, следовательно, одновременной, обработки блоков данных. Результаты одновременного выполнения затем собираются для создания потока информации, который должен быть идентичен потоку, создаваемому при последовательной обработке. Считается, что реализации, использующие данный подход, применяют "interleaved режим". Это противоречит режимам с обратной связью (например, Cipher Feedback, Cipher Block Chaining и т.д.), которые должны обрабатывать блоки данных последовательно. Режимыinterleaved имеют преимущества на процессорах с возможностью параллельного выполнения.

Окружения с ограничениями пространства

Кроме того, следует учесть, что доступная RAM должна использоваться для различных целей, таких как хранение промежуточных переменных при выполнении… В окружениях с ограниченной памятью объем ROM и RAM, необходимый для…

Замечания по финалистам

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

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

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

Криптоанализ алгоритмов с открытым ключом

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

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

Шифрование с открытым ключом состоит из следующих шагов: Рис. 7.1.Шифрование с открытым ключом

Алгоритм RSA

Диффи и Хеллман определили новый подход к шифрованию, что вызвало к жизни разработку алгоритмов шифрования, удовлетворяющих требованиям систем с открытым ключом. Одним из первых результатов был алгоритм, разработанный в 1977 году Роном Ривестом, Ади Шамиром и Леном Адлеманом и опубликованный в 1978 году. С тех пор алгоритм Rivest-Shamir-Adleman (RSA ) широко применяется практически во всех приложениях, использующих криптографию с открытым ключом.

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

Алгоритм RSA представляет собой блочный алгоритм шифрования, где зашифрованные и незашифрованные данные являются целыми между 0 и n -1 для некоторого n .

Описание алгоритма

Как отправитель, так и получатель должны знать значение n. Отправитель знает значение е, получатель знает значение d. Таким образом, открытый ключ… 1. Возможность найти значения е, d и n такие, что Med = M mod n для всех М… 2. Относительная легкость вычисления Ме и Сd для всех значений М < n.

Вычислительные аспекты

Рассмотрим сложность вычислений в алгоритме RSA при создании ключей и при шифровании/дешифровании.

Шифрование/дешифрование

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

[(a mod n) x (b mod n)] mod n = (a x b) mod n

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

Создание ключей

1. Определить два простых числа р и q. 2. Выбрать е и вычислить d. Прежде всего, рассмотрим проблемы, связанные с выбором р и q. Так как значение n = p x q будет известно любому…

Обсуждение криптоанализа

1. Лобовая атака: перебрать все возможные закрытые ключи. 2. Разложить n на два простых сомножителя. Это даст возможность вычислить . … 3. Определить непосредственно, без начального определения р и q. Это также даст возможность определить .

Алгоритм обмена ключа Диффи-Хеллмана

Цель алгоритма состоит в том, чтобы два участника могли безопасно обменяться ключом, который в дальнейшем может использоваться в каком-либо… Алгоритм основан на трудности вычислений дискретных логарифмов . Дискретный… A mod Q, A2 mod Q, . . . , AQ - 1 mod Q

Хэш-функции

Требования к хэш-функциям

Хэш-код создается функцией Н: h = H (M) Где М является сообщением произвольной длины и h является хэш-кодом фиксированной длины.

Простые хэш-функции

Одним из простейших примеров хэш-функции является побитовый XOR каждого блока: Где Сi - i-ый бит хэш-кода, 1 <= i <= n. k - число n-битных блоков входа. bij -…

Использование цепочки зашифрованных блоков

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

Хэш-функция MD5

Рассмотрим алгоритм получения дайджеста сообщения MD5 (RFC 1321), разработанный Роном Ривестом из MIT.

Логика выполнения MD5

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


Рис. 8.1.Логика выполнения MD5

Шаг 1: добавление недостающих битов

Сообщение дополняется таким образом, чтобы его длина стала равна 448 по модулю 512 ( ). Это означает, что длина добавленного сообщения на 64 бита меньше, чем число, кратное 512. Добавление производится всегда, даже если сообщение имеет нужную длину. Например, если длина сообщения 448 битов, оно дополняется 512 битами до 960 битов. Таким образом, число добавляемых битов находится в диапазоне от 1 до 512.

Добавление состоит из единицы, за которой следует необходимое количество нулей.

Шаг 2: добавление длины

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

В результате первых двух шагов создается сообщение, длина которого кратна 512 битам. Это расширенное сообщение представляется как последовательность 512-битных блоков Y0, Y1, . . ., YL-1, при этом общая длина расширенного сообщения равна L * 512 битам. Таким образом, длина полученного расширенного сообщения кратна шестнадцати 32-битным словам.


Рис. 8.2.Структура расширенного сообщения

Шаг 3: инициализация MD-буфера

Используется 128-битный буфер для хранения промежуточных и окончательных результатов хэш-функции. Буфер может быть представлен как четыре 32-битных регистра ( A, B, C, D ). Эти регистры инициализируются следующими шестнадцатеричными числами:

А = 01234567В = 89ABCDEFC = FEDCBA98D = 76543210

Шаг 4: обработка последовательности 512-битных (16-словных) блоков

Рис. 8.3.Обработка очередного 512-битного блока Каждый цикл принимает в качестве входа текущий 512-битный блок Yq, обрабатывающийся в данный момент, и 128-битное…

Шаг 5: выход

Рассмотрим более детально логику каждого из четырех циклов выполнения одного 512-битного блока. Каждый цикл состоит из 16 шагов, оперирующих с… Рис. 8.4.Логика выполнения отдельного шага A <- B + CLSs (A + f (B, C, D) + X [k] + T [i])

Алгоритм MD4

1. Безопасность: это обычное требование к хэш-коду, состоящее в том, чтобы было вычислительно невозможно найти два сообщения, имеющие один и тот же… 2. Скорость: программная реализация алгоритма должна выполняться достаточно… 3. Простота и компактность: алгоритм должен быть простым в описании и простым в программировании, без больших программ…

Усиление алгоритма в MD5

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

Хэш-функция SHA-1

Безопасный хэш-алгоритм (Secure Hash Algorithm) был разработан национальным институтом стандартов и технологии (NIST) и опубликован в качестве федерального информационного стандарта (FIPS PUB 180) в 1993 году. SHA-1, как и MD5, основан на алгоритме MD4.

Логика выполнения SHA-1

Алгоритм получает на входе сообщение максимальной длины 264 бит и создает в качестве выхода дайджест сообщения длиной160 бит.

Алгоритм состоит из следующих шагов:


Рис. 9.1.Логика выполнения SHA-1

Шаг 1: добавление недостающих битов

Сообщение добавляется таким образом, чтобы его длина была кратна 448 по модулю 512 ( ). Добавление осуществляется всегда, даже если сообщение уже имеет нужную длину. Таким образом, число добавляемых битов находится в диапазоне от 1 до 512.

Добавление состоит из единицы, за которой следует необходимое количество нулей.

Шаг 2: добавление длины

К сообщению добавляется блок из 64 битов. Этот блок трактуется как беззнаковое 64-битное целое и содержит длину исходного сообщения до добавления.

Результатом первых двух шагов является сообщение, длина которого кратна 512 битам. Расширенное сообщение может быть представлено как последовательность 512-битных блоков Y0, Y1, . . . , YL-1, так что общая длина расширенного сообщения есть L * 512 бит. Таким образом, результат кратен шестнадцати 32-битным словам.

Шаг 3: инициализация SHA-1 буфера

Используется 160-битный буфер для хранения промежуточных и окончательных результатов хэш-функции. Буфер может быть представлен как пять 32-битных регистров A, B, C, D и E. Эти регистры инициализируются следующими шестнадцатеричными числами:

A = 67452301B = EFCDAB89C = 98BADCFED = 10325476E = C3D2E1F0

Шаг 4: обработка сообщения в 512-битных (16-словных) блоках

Рис. 9.2.Обработка очередного 512-битного блока Каждый цикл получает на входе текущий 512-битный обрабатываемый блок Yq и 160-битное значение буфера ABCDE, и изменяет…

Шаг 5: выход

Рассмотрим более детально логику в каждом из 80 циклов обработки одного 512-битного блока. Каждый цикл можно представить в виде: A, B, C, D, E (CLS5 (A) + ft (B, C, D) + E + Wt + Kt), A, CLS30 (B), C, D Где A, B, C, D, E - пять слов из буфера. t - номер цикла, 0 <= t <= 79. ft -…

Сравнение SHA-1 и MD5

Можно суммировать ключевые различия между алгоритмами.   MD5 SHA-1 Длина дайджеста 128 бит 160 бит … Сравним оба алгоритма в соответствии с теми целями, которые были определены… 1. Безопасность: наиболее очевидное и наиболее важное различие состоит в том, что дайджест SHA-1 на 32 бита длиннее,…

Требования к цифровой подписи

Например, предположим, что Джон посылает Мери аутентифицированное сообщение, и аутентификация осуществляется на основе общего секрета. Рассмотрим… · Мери может подделать сообщение и утверждать, что оно пришло от Джона. Мери… · Джон может отрицать, что он посылал сообщение Мери. Так как Мери может подделать сообщение, у нее нет способа…

Прямая и арбитражная цифровые подписи

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

Стандарт цифровой подписи DSS

Национальный институт стандартов и технологии США (NIST) разработал федеральный стандарт цифровой подписи DSS. Для создания цифровой подписи используется алгоритм DSA (Digital Signature Algorithm). В качестве хэш-алгоритма стандарт предусматривает использование алгоритма SHA-1 (Secure Hash Algorithm). DSS первоначально был предложен в 1991 году и пересмотрен в 1993 году в ответ на публикации, касающиеся безопасности его схемы.

Подход DSS

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

Алгоритм цифровой подписи

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

Общие компоненты группы пользователей

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

160-битное простое число q, т.е. 2159 < q < 2160.

Простое число р длиной между 512 и 1024 битами должно быть таким, чтобы q было делителем (р - 1), т.е. 2L-1 < p < 2L, где 512 < L < 1024 и (p-1)/q является целым.

g = h(p-1)/q mod p, где h является целым между 1 и (р-1) и g должно быть больше, чем 1,10.

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

Закрытый ключ отправителя

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

x - случайное или псевдослучайное целое,0 < x < q ,

Открытый ключ отправителя

Открытый ключ вычисляется из закрытого ключа как у = gx mod p. Вычислить у по известному х довольно просто. Однако, имея открытый ключ у, вычислительно невозможно определить х, который является дискретным логарифмом у по основанию g.

y = gx mod p

Случайное число, уникальное для каждой подписи.

k - случайное или псевдослучайное целое, 0 < k < q, уникальное для каждого подписывания.

Подписывание

Для создания подписи отправитель вычисляет две величины, r и s, которые являются функцией от компонент открытого ключа (p, q, g), закрытого ключа пользователя (х), хэш-кода сообщения Н (М) и целого k, которое должно быть создано случайно или псевдослучайно и должно быть уникальным при каждом подписывании.

r = (gk mod p) mod qs = [ k-1 (H (M) + xr) ] mod qПодпись = (r, s)

Проверка подписи

Докажем, что v = r в случае корректной подписи. Лемма 1. Для любого целого t, если g = h(p-1)/q mod pто gt mod p = gt mod q… По теореме Ферма, так как h является взаимнопростым с p, то hp-1 mod p = 1. Следовательно, для любого неотрицательного…

– Конец работы –

Используемые теги: Конспект, лекций, дисциплине, Программно-аппаратные, средства, защиты, информации, основные, понятия, Определения0.123

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

Что будем делать с полученным материалом:

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

Еще рефераты, курсовые, дипломные работы на эту тему:

Конспект лекций по курсу Информационные технологии в предметной области. Основные понятия и определения ИТ
Конспект лекций по курсу Информационные технологии в предметной области для... Составитель ст преподаватель кафедры МЭММБИ В В Ошкало...

Средства защиты информации, методы и системы защиты информации
На сайте allrefs.net читайте: Средства защиты информации, методы и системы защиты информации...

КОНСПЕКТ лекций по дисциплине ТМ 2206 Теоретическая механика: Введение в механику. Основные понятия и аксиомы статики
КОНСПЕКТ лекций по дисциплине... ТМ Теоретическая механика... Астана...

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

Конспект Лекций по ТОЭ ГЛАВА 1 ОСНОВНЫЕ ПОНЯТИЯ И ОПРЕДЕЛЕНИЯ ЭЛЕКТРИЧЕСКИХ ЦЕПЕЙ
Кафедра ТОЭ... Конспект Лекций по ТОЭ... Уфа ОГЛАВЛЕНИЕ...

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

Психодиагностика. Конспект лекций ЛЕКЦИЯ № 1. Истоки психодиагностики Психодиагностика: конспект лекций
Психодиагностика конспект лекций... А С Лучинин...

Краткий конспект лекций по дисциплине «Организация технического обслуживания и диагностирование судовых технических средств». Калугин В.Н
ОНМА... Кафедра Техническая эксплуатация флота... Калугин В Н Краткий конспект лекций по дисциплине...

КОНСПЕКТ ЛЕКЦИЙ по курсу Архитектурное материаловедение Конспект лекций по курсу Архитектурное материаловедение
ФГОУ ВПО ЮЖНЫЙ ФЕДЕРАЛЬНЫЙ УНИВЕРСИТЕТ... ИНСТИТУТ Архитектуры и искусств... КАФЕДРА ИНЖЕНЕРНО строительных ДИСЦИПЛИН...

Сравнительный анализ МСФО 16 "Основные средства", МСФО 17 "Аренда" с ПБУ 6/01 "Учет основных средств"
Данная проблема актуальна и потому, что в период функционирования планово-регулируемой экономики, подлинное содержание элементов финансовой… Помимо, осмысления и внедрения в российскую практику провозглашенных в МСФО… Целью данной работы является провести сравнительный анализ сущности и взаимосвязи МСФО 16 «Основные средства», МСФО 17…

0.038
Хотите получать на электронную почту самые свежие новости?
Education Insider Sample
Подпишитесь на Нашу рассылку
Наша политика приватности обеспечивает 100% безопасность и анонимность Ваших E-Mail
Реклама
Соответствующий теме материал
  • Похожее
  • По категориям
  • По работам