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


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

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



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

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

RSA (Rives, Shamir, Adelman): ключ – взаимозависимые числа e, d, n (е,n - открытый, d,n - закрытый).

Генерация ключа:

a) выбираются случайные простые целые числа p и q, вычисляются n = p * q, fi(n) = (p - 1)(q - 1);

b) выбираем число e взаимопростое с f(n);

c) выбирается d из условия e*d mod fi(n) = 1.

Шифрование / дешифрование: ci = (mi)^e mod n; mi = (ci)^d mod n

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

 

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

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

a) совместно выбираются два больших числа g и n (не секретные);

b) A выбирает случайное x, B выбирает случайное y;

c) A: X = g ^ x mod n; B: Y = g ^ y mod n; пересылают друг другу X и Y;

d) оба вычисляют ключ k = Y^x mod n = X^y mod n = g^xy mod n.

Зная n, g, X, Y сложно вычислить k – проблема дискретного логарифма. Уязвим к атаке "человек посередине" – перехват всех сообщений злоумышленником и выдача себя за стороны.

 

Поточное шифрование. Типы

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

Типы:

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

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

 

Гаммирование в поточном шифрование. Генераторы ключа

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

Главная проблема – генерирование длинных ПСП. Используются линейный конгруэнтный генератор (Xt+1 = (a*xt + c) mod N, x0 - начальное значение ПСП, a - множитель, c - приращение, N - мощность алфавита), генераторы ПСП, генераторы ПСП на основе регистров сдвига и другие.

 

Особенность шифра Вернама

Шифр Вернама – One-time pad (одноразовые блокноты), открытый текст объединяется с одноразовым блокнотом; обладает абсолютной криптографической стойкостью. Два канала с низкой вероятностью перехвата: по одному передаётся ключ, по второму шифротекст. Защищённый односторонний канал: ключ передаётся под защитой канала, обратные сообщения защищаются ключом.

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

Классический ПШ – Шифр Вернама (One-time padсхема одноразовых блокнотов, 1917 г):

Зашифрование - открытый текст объединяется операцией «XOR» с ключом (одноразовым блокнотом или шифроблокнотом).

Ключ (гамма) должен обладать тремя критически важными свойствами:

• быть истинно случайным (последовательность, полученная с использованием любого алгоритма, является не истинно случайной, а псевдослучайной);

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

• применяться только один раз.

 

 

Принципы построения генератора ПСП на основе регистров сдвига в системах поточного шифрования

Регистр сдвига состоит из триггеров и функции обратной связи. Выходная последовательность определяется начальным состоянием триггеров и видом ФОС. Чаще всего используется регистр сдвига с линейной обратной связью (РСЛОС). Период регистра сдвига – длина повторяющейся последовательности (не превышает 2^L - 1). В каждый такт в выходную последовательность записывается значение последнего триггера, потом осуществляется сдвиг значений в сторону конца и в первый триггер записывается значение полученное от ФОС. ФОС представляется ассоциированным многочленном C(x)=1+c1*x^1+..+cL*x^L. Ненулевые коэффициенты называются отводами. Если многочлен неприводим, то период максимально возможный (если он не может быть представлен произведением двух многочленов меньших степеней).

 

ЭЦП. Назначение и свойства

ЭЦП – бинарная последовательность, которая добавляется к документу M и зависящая от M и K.

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

Свойства:

a) подпись достоверна, подписавший сделал это осознано;

b) подпись неподдельна, подписавший автор подписи;

c) подпись невозможно использовать повторно;

d) подписанный документ не может быть изменён;

e) от подписи невозможно отречься.

 

ЭЦП. Основные методы генерации

a) на основе симметричных криптосистем;

b) на основе симметричных криптосистем и посредника;

c) на основе асимметричных криптосистем;

d) на основе асимметричных криптосистем и хэш-функций.

 

ЭЦП на основе симметричной криптографии

Осуществляется простое шифрование, физически ЭЦП нет. Если сообщение расшифровано ключом известным только A и B, то это подтверждает аутентичность документа.

 

ЭЦП на основе алгоритма RSA

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

 

ЭЦП на основе симметричной криптосистемы и посредника

П вырабатывает ключи для A и B; A шифрует сообщение Ka -> П; П расшифровывает сообщение, дописывает что оно получено от A, шифрует Kb -> B; B расшифровывает и удостоверяется, что сообщение прислал A с гарантом от П. Выполняются все требование к подписи (достоверность, неподдельность, неповторимость, неизменяемость документа, неотрицаемость) при условии абсолютного доверия к П.

 

ЭЦП на основе DSA

Digital Signature Algorithm, основан на проблеме дискретного логарифмирования.

Генерация ключей:

a) случайное простое число p длиной L (кратна 64, рекомендуется 2048 бит);

b) q простой множитель p - 1, длиной N (совпадает с размерностью значений хэш-функции);

c) вычисляется g = h ^ ((p - 1) / q) mod p; g!= 0; 1 < h < p - 1;

d) x (x<q) – закрытый ключ, y = g^x mod p – открытый ключ

Подпись / проверка:

a) выбор случайного k (k<q);

b) вычисление r = (g^k mod p) mod q и s = k^(-1) * (h(M) + x*r) mod q;

c) если r = 0 и s = 0 выбор new k; подпись пара r и s;

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

d) w = s^(-1) mod q, u1 = H(m)*w mod q, u2 = r*w mod q, v = (g^u1 * y^u2 mod p) mod q

e) если v = r подпись верна.

h(M) – хэш-функция (SHA) сообщ-я М;

 

 

ЭЦП на основе алгоритма Эль-Гамаля

Генерация ключей:

a) Генерация ключа: р – простое число; выбираем два случайных числа: g и х (g, х <p);

b) Вычисляем y: y = g^x mod p

c) p, g, y – открытый ключ, x – закрытый.

Подпись / проверка:

a) случайное число k (1, p-1) взаимнопростое с p – 1; генерируется подпись, состоящая из двух чисел: а и b:

b) a=gk mod p; b такое, что M = (x*a+k*b) mod (p-1)

c) А отправляет В подписанное сообщение: М,а,b

d) В получает М,а,b исверяет подпись: подпись принадлежит А, если (ba*ab) mod p = gM mod p

 

ЭЦП на основе алгоритма Шнорра

Основа стандарта ЭЦП РБ.

Генерация ключа:

a) простое число p, простое число q множитель p – 1, выбирается любое число z (z≠1) такое, что zq=1 mod p; p, z и q являются откр-ми и могут прим-ся группой пользоват-й;

b) Выбирается число s<q; вычисл-ся v=z-s mod p;

sтайн ключ, vоткр кл

Генерация ЭЦП:

cообщ-я М (А для В). А выбир-т случ число k (k<q) и вычисляет x= zk mod p;

подпись – числа e и y: e = h(M||x); y = (k + s*e) mod p

А персыл-т В: М, e, y

Проверка подписи: В вычис-т: x’ = zy * ve mod p; затем вычисляет e’ = h’(M||x’)

Подпись достоверна, если e = e’

 

 

Защита информации в БД

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

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

 

Парольная защита ПО

Процесс входа в систему: ввод логина, пароля; проверка на содержание в базе SAM; если не найдено – отказ в доступе; если найдено, то устанавливаются полномочия пользователя и проверяется право на работу с ресурсами; если прав нет – отказ; если есть – разрешение доступа. Идентификация – установление субъекта по идентификатору. Аутентификация – проверка подлинности субъекта.

 

Формула Андерсена

N^S >= (R * t) / (E * P), где N – мощность алфавита пароля, S – длина пароля, R – скорость передачи, t – время действия пароля, E – размер передаваемых данных, P – вероятность взлома. Если неравенство соблюдается, то для выбранный пароль в заданном окружении будет взломан за t с вероятностью не более P. Размерности R, E, t взаимосвязаны: если E в битах, а t в секундах, то R бит / с.

Ns >= (4.32 * 104 *R*M)/(E *P) - ф-ла Андерсена

Маркер безопасного доступа

Маркер доступа – программный объект ОС Windows, содержит информацию по безопасности сеанса и идентифицирует пользователя, группу пользователей и пользовательские привилегии. МБД создаётся во взаимодействии диспетчера локальной безопасности LSA с диспетчером безопасности компонент SRM. Маркер генерируется, когда подлинность пользователя успешно установлена, определяя права пользователя в дескрипторе безопасности, заключенном в маркер. Маркер прилагается к каждому процессу, созданному сессией пользователя. При запросе ресурса процессом, Windows смотрит в дескрипторе безопасности в маркере доступа, право доступа к данным и разрешённые операции.

 

Протокол Kerberos

Используется в Windows для пересылки зашифрованных сообщений с участием третьей стороны (сервера); опирается на протокол Нидхэма-Шрёдера и DES.

Создание общего ключа для A и В (протокол Нидхэма-Шрёдера): 1. A-T = A, B, Ra (случайное число); 2. T-A = Ка(Ra, B, K, Кв(K,A)); 3. A-B: Kв(K,A); 4. B-A: K(Rв); 5. A-B: K(Rв - 1).

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

 

Протокол SSL

SSL (Secure Sockets Layer) – криптографический протокол, обеспечивающий безопасность связи. Асимметричная криптография для аутентификации, симметричная – для конфиденциальности. Разработан компанией Netscape. Реализуется поверх любого транспортного протокола (TCP) и инкапсулирует протоколы приложений (HTTP, NNTP, FTP). Два уровня: 1-й – протокол записи (упаковывает и распаковывает данные, которые нужно передать или принять, осуществляет фрагментацию, сжатие, добавление кода аутентичности, шифрование, добавление заголовка); 2-й – протоколы квитирования (взаимная аутентификация сторон, договор о параметрах), изменения параметров шифрования (генерирует однобайтовое сообщение о том, что в следующих сообщениях будут использоваться новые оговоренные параметры шифра), извещения (передача сообщений тревоги).

 

Деструктивные ПС. Снифферы

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

 

Типы ошибок в ПС

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

 

Испытания ИС на надёжность

Испытание на надёжность – определение показателей надёжности на основании наблюдения за объектом в предписанных условиях. Методики таких испытаний определяются в ГОСТ. При испытаниях требуется исключить анормальные результаты. Если измерение сомнительно, то может быть исключено из генеральной совокупности на основании значения коэффициента k = (Xk - Xсреднее) / среднеквадратичное отклонение. Есть специальная таблица задающая верхнюю границу для k на основании общего числа испытаний. СКО = Корень(E(xi - xср)^2 / (N - 1)). Также могут проводится ускоренные испытания: сочетание теоретических расчётов с подтверждением ограниченным объемом испытаний.

 

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

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

RSA (Rives, Shamir, Adelman): ключ – взаимозависимые числа e, d, n (е,n - открытый, d,n - закрытый).

Генерация ключа:

a) выбираются случайные простые целые числа p и q, вычисляются n = p * q, fi(n) = (p - 1)(q - 1);

b) выбираем число e взаимопростое с f(n);

c) выбирается d из условия e*d mod fi(n) = 1.

Шифрование / дешифрование: ci = (mi)^e mod n; mi = (ci)^d mod n

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

 



Поделиться:


Последнее изменение этой страницы: 2016-04-20; просмотров: 567; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.139.82.23 (0.04 с.)