Информационная безопасность_3Л.ppt
- Количество слайдов: 27
Информационная безопасность Лебедева Т. Ф.
Асимметричные криптографические системы 57 Алгоритм RSA может быть использован : • как самостоятельное средство шифрования данных в системе с открытым ключом; • как средство аутентификации пользователей в системах ЭЦП; • как средство для распределения ключей в составных системах.
Асимметричные криптографические системы 58 Пример Этап Описание операции Результат операции Генерация ключей выбрать два простых числа P=3557, q=2579 вычислить модуль n=p*q=3557*2579=9173503 вычислить функцию Эйлера F(n)=(p-1)(q-1)=9167368 выбрать открытый показатель вычислить секретный показатель опубликовать открытый ключ сохранить секретный ключ Шифрован ие выбрать открытый текст e=3 d=6111579 (e, n) = (3, 9173503) (d, n) = (6111579, 9173503) M=111111 P(M)=M^e mod n=1 11111^3 mod
Электронно-цифровая подпись 1 Общая схема работы с ЭЦП: 1) При выполнении операции вычисления ЭЦП в СКЗИ загружается подписанный автором текст документа. Затем вычисляется значение хэш-функции. В нашей стране длина хэш-кода равна 256 битам. 2) Затем хэш-код зашифровывается с использованием асимметричного алгоритма шифрования на секретном ключе подписывающего абонента сети (автора). Так как длина хэш-кода невелика, операция шифрования занимает не слишком много времени. 3) Результат такого шифрования и называется ЭЦП документа, которая передается вместе с исходным документом проверяющему абоненту. 4) Проверяющий абонент выполняет три операции: а) вычисляет хэш-код полученного сообщения (документа); б) с использованием асимметричного алгоритма и открытого ключа подписывающего абонента сети (автора) расшифровывает ЭЦП; в) сравнивает результат с вычисленным им на первом этапе хэш-кодом. В случае совпадения делается вывод о том, что подпись верна, то есть автором документа действительно является подписавший и текст не изменен.
Схема работы с ЭЦП 2
Электронно-цифровая подпись 3 Если в процессе передачи в текст документа было внесено некоторое изменение (преднамеренное или случайное, из-за помехи в канале связи), то вычисленный проверяющим абонентом хэш-код будет отличаться от того, который он получит после расшифрования ЭЦП. Если же для формирования ЭЦП был использован секретный ключ, отличный от секретного ключа абонента-автора, то результат сравнения тоже будет отрицательным. Таким образом, механизм формирования и проверки ЭЦП может быть применен для контроля целостности электронных документов и доказательства авторства. Секретный ключ хранится каждым пользователем в тайне и непосредственно используется при создании подписи под документом. Открытый ключ позволяет получателю сообщения удостовериться в авторстве и целостности
Электронно-цифровая подпись : хэш-функция 4 Хэш-функция (hash, hash-function) – это преобразование, получающее из данных произвольной длины некое значение (свертку) фиксированной длины. Простейшими примерами являются контрольные суммы (например, crc 32). Бывают: криптографические хэш-функции; программистские хэш-функции. Криптографические хэш-функции отличаются от программистских следующими двумя свойствами: необратимостью и свободностью от коллизий. Обозначим: m - исходные данные, h(m) – хэш-функция от них. Необратимость означает, что если известно число h 0, то трудно подобрать m такое, что h(m) = h 0. Свободность от коллизий означает, что трудно подобрать такие m 1 и m 2, что m 1 не равно m 2, но h (m 1) = h (m 2). Криптографические хэш-функции разделяются на два класса: хэш-функции без ключа (MDC - Modification (Manipulation) Detect Code) - коды), хэш-функции c ключом (MАC - Message Authentication Code - коды).
Электронно-цифровая подпись : хэш-функция 5 Хэш-функции без ключа разделяются на два подкласса: слабые хэш-функции, сильные хэш-функции. Слабой хэш-функцией называется односторонняя функция h(x), удовлетворяющая следующим условиям: 1. аргумент х может быть строкой бит произвольной длины; 2. значение h(x) должно быть строкой бит фиксированной длины; 3. значение h(x) легко вычислить; 4. если известно число h 0, то трудно подобрать х такое, что h (х) = h 0. Для любого фиксированного x вычислительно невозможно найти другой x' ≠ x, такой что h (x') = h (x). Пара x' ≠ x, когда h (x') = h (x) называется коллизией хэшфункции. Сильной хэш-функцией называется односторонняя функция h(x) , удовлетворяющая условиям 1 -4 для слабой хэшфункции и свойству 5: 5. вычислительно невозможно найти любую пару x' ≠ x, такую, что h (x') = h (x) ). Поскольку из свойств 1 -2 следует, что множество определения хэш-функции значительно шире множества значений, то коллизии должны существовать. Требование 5 говорит о том, что у сильной хэш-функции вычислительно невозможно вообще найти какую-либо коллизию.
Электронно-цифровая подпись : хэшфункция 6 Существует несколько алгоритмов вычисления хэш-функций MD 2– Message Digest. Алгоритм криптографической сверки. Порождает блок длиной 128 бит от сообщения произвольной длины. Общая схема работы MD 2: дополнение текста сообщений до длины, кратной 128 бит; вычисление 16 -битной контрольной суммы, старшие разряды отбрасываются; добавление контрольной суммы к тексту; повторное вычисление контрольной суммы. Алгоритм MD 2 очень медленный, поэтому чаще применяются MD 4, MD 5, SHA.
Электронно-цифровая подпись : хэш- функция 7 Российский стандарт вычисления хэш-функции ГОСТ Р 34. 11 -94. Длина свертки - 256 бит (очень удобно для формирования по парольной фразе ключа для стандарта шифрования данных ГОСТ 28147 -89). Национальный институт стандартов и технологий (НИСТ) США на своем веб-сайте http: //www. nist. gov/sha/ опубликовал спецификации новых алгоритмов хеширования SHA-256, SHA-384 и SHA-512, цель которых - обеспечить уровень криптостойкости хэша, соответствующий длинам ключей нового стандарта шифрования DES. Напомним, что n-битный хэш - это отображение сообщения произвольной длины в n-битную псевдослучайную последовательность (хэш-значение). Криптографический хэш, как особая разновидность такой функции, это n-битный хэш, обладающий свойствами «однонаправленности» и «стойкости к коллизиям» . До настоящего времени наиболее популярными хэшфункциями были созданные Роном Райвистом алгоритмы MD 4 и MD 5, генерирующие хэш-коды длиной n=128, и алгоритм SHA-1, разработанный в АНБ США и порождающий хэш-код длиной n=160.
Электронно-цифровая подпись 8 Российские стандарты ЭЦП ГОСТ Р 34. 10. 94, ГОСТ Р 34. 10. 2001 ЭЦП — «реквизит электронного документа, предназначенный для зашиты данного электронного документа от подделки, полученный в результате криптографического преобразования информации с использованием закрытого ключа ЭЦП и позволяющий идентифицировать владельца сертификата ключа подписи, а также установить отсутствие искажения информации в электронном документе» (Закон «Об электронной цифровой подписи» от 10. 01. 2002 г. N 01 -ФЗ). ГОСТ Р 34. 10 -94 "Процедуры выработки и проверки электронной цифровой подписи на базе асимметричного криптографического алгоритма". 01. 06. 2002 года вступил в силу новый стандарт ЭЦП - ГОСТ Р 34. 10 -2001, разработанный специалистами ФАПСИ (задача дискретного логарифмирования в группе точек эллиптической кривой). Алгоритмы создания и проверки ЭЦП, базирующиеся на математическом аппарате эллиптических кривых, являются более стойкими по сравнению со схемами, базирующимися на сложности решения задач дискретного логарифмирования в простом поле. Действия по работе с ЭЦП можно разделить на 4 этапа: I. Подготовка к выработке ЭЦП. II. Генерация ключей.
Электронно-цифровая подпись 9 Российские стандарты ЭЦП ГОСТ Р 34. 10. 94 I этап выбираются числа p, q и a. Число р – простое, должно находиться в диапазоне 2^509 < p < 2^512. Число q – простое, является делителем числа (p-1) Число a – не обязательно простое, 1 < a < (p-1), причем a^q mod p = 1. Числа p, q и a выбираются не часто, используются какое-то время. II этап генерируются ключи. x- генерируется как случайное число 0 < x < q – секретный ключ, y - вычисляется по формуле y = a^x mod p - открытый ключ
Электронно-цифровая подпись 10 Российские стандарты ЭЦП: ГОСТ Р 34. 10. 94 III этап: вычисление ЭЦП по ГОСТ Р 34. 10 -2001– процедура выработки ЭЦП: 1. На основе алгоритма по ГОСТ Р 34. 11 -94 вычислить h(m) - хэш-функцию от сообщения m. Если h(m) mod q=0, то h(m)=1 2. Выработать случайное число k , 0 < k < q. 3. Вычислить r=a^k mod p, r 1 = r mod q. Если r 1=0, то переход к пункту 2. 4. С использованием секретного ключа вычисляется значение подписи s = ( x*r 1 + k*h(m)) mod q. Если s = 0, то перейти к пункту 2. 5. Подписью сообщения m будет являться вектор {r 1, s} , каждая из составляющих размером 256 бит.
Электронно-цифровая подпись 11 Российские стандарты ЭЦП : ГОСТ Р 34. 10. 94 IV этап: происходит процедура проверки подписи на стороне получателя. Получатель получает сообщение m 1 и подпись {r 1, s}. У получателя есть ключ y - открытый ключ. 1. Проверяется, что элементы подписи удовлетворяют условиям 0 < s < q, 0 < r 1 < q. Если не удовлетворяет, то подпись не действительна. 2. На основе алгоритма по ГОСТ Р 34. 11 -94 вычисление хэш-функции h(m 1) полученного сообщения. Если h (m 1) mod q = 0 то h(m 1) = 1. 3. Вычисление значения v = h(m 1)^(q-2) mod q 4. Вычисление значений z 1= (s*v) mod q , z 2 = (qr 1)* v mod q. 5. Вычисление значения u = ((a^z 1 *y^z 2) mod p) mod q. 6. Проверить условие r 1 = u. Если оно выполняется, то получатель принимает решение о том, что подпись действительна, целостность сообщения не нарушена.
Электронно-цифровая подпись 12 Российские стандарты ЭЦП: ГОСТ Р 34. 10 -2001 Информационная технология. Криптографическая защита информации. Процессы формирования и проверки электронной цифровой подписи История Данный алгоритм разработан главным управлением безопасности связи Федерального агентства правительственной связи и информации при Президенте Российской Федерации при участии Всероссийского научноисследовательского института стандартизации. Разрабатывался взамен ГОСТа Р 34. 10 -94 для обеспечения большей стойкости алгоритма. Описание ГОСТ Р 34. 10 -2001 основан на эллиптических кривых. Его стойкость основывается на сложности взятия дискретного логарифма в группе точек эллиптической кривой, а также на стойкости хэш-функции по ГОСТу Р 34. 11. После подписывания сообщения М к нему дописывается цифровая подпись размером 512 бит и текстовое поле. В текстовом поле могут содержаться, например, дата и время отправки или различные данные об отправителе:
Электронно-цифровая подпись 13 Основным достоинством криптосистем на основе эллиптических кривых является то, что они обеспечивают надежность, адекватную классическим криптосистемам (RSA) на существенно меньших по длине ключах, что положительно отражается на времени кодирования и декодирования. Криптосистемы цифровой подписи на основе эллиптических кривых с длиной ключа 160 бит имеют одинаковую стойкость с криптосистемами DSA и Эль-Гамаля с длиной ключа 1024 бита. Ожидается, что в ближайшем будущем данные системы займут доминирующее положение в криптографии с открытым ключом. Однако, это повлечет более серьезные исследования свойств этих криптоалгоритмов, что может привести к появлению новых, более эффективных алгоритмов решения проблемы дискретного логарифма в группе точек эллиптических
Электронно-цифровая подпись 14 Параметры схемы цифровой подписи простое число p — модуль эллиптической кривой такой, что p > 2255 эллиптическая кривая E задается своим инвариантом J(E) или коэффициентами где Fp —конечное простое поле. J(E) связан с коэффициентами a и b следующим образом при этом целое число m — порядок группы точек эллиптической кривой (то есть число элементов группы). m не должно совпадать с p простое число q, порядок одной из циклических подгруппы точек эллиптической кривой, то есть выполняется m = nq, для некоторого n є N. Так же q лежит в пределах 2254 < q < 2256.
Электронно-цифровая подпись 15 точка P (xp, yp)≠ 0 эллиптической кривой E, являющаяся генератором подгруппы порядка q, или другими словами q. P = 0. Здесь q. P = P +. . . (q раз). А 0 - нулевой элемент группы точек эллиптической кривой. h(M) — хэш-функция (ГОСТ Р 34. 11 -94), которая конечные сообщения M отображет в двоичные вектора длины 256 бит. • Каждый пользователь цифровой подписи имеет личные ключи: • ключ шифрования d — целое число, лежащее в пределах • 0 < d < q. • ключ расшифрования Q (xq, yq)— точка эллиптической кривой, d. P = Q.
Электронно-цифровая подпись 16 При этом должны выполняться где И Формирование цифровой подписи 1. Вычисление хэш-функции от сообщения М: h(M) 2. Вычисление e = z (mod q), и если e = 0, положить e = 1. Где z — целое число 3. Генерация случайного числа k, такого что 0 < k < q 4. Вычисление точки эллиптической кривой C = k. P, и по ней нахождение r = xc(mod q) (xc — координата x точки C). Если r = 0, возвращаемся к предыдущему шагу. 5. Нахождение s = rd + ke(mod q). Если s = 0, возвращаемся к шагу 3. 6. Формирование цифровой подписи , где r и s — векторы, соответствующие r и s.
Электронно-цифровая подпись 17 • 1. 2. 3. 4. 5. 6. Проверка цифровой подписи Вычисление по цифровой подписи чисел r и s, учитывая, что ξ =(r | s), где r и s — числа, соответствующие векторам r и s. Если хотя бы одно из неравенств r < q и s < q неверно, то подпись неправильная. Вычисление хэш-функции от сообщения М: h(M) Вычисление e = z(mod q), и если e = 0, положить e = 1. Где z — целое число соотвествующее h(M) Вычисление v = e - 1(mod q). Вычисление z 1 = sv(mod q) и z 2 = - rv(mod q) Вычисление точки эллиптической кривой C = z 1 P + z 2 Q. И определение R = xc(mod q), где xc — координата x кривой C. В случае равенства R = r подпись правильная, иначе — неправильная.
Составные криптографические системы 18 Предпосылки создания составных криптографических систем: Недостатком криптосистем симметричного шифрования является необходимость обмена секретным ключом В криптографической системе с открытым ключом каждый имеет два связанных ключа: публикуемый общий ключ и секретный ключ, поэтому нет проблемы обмена ключами. Однако алгоритм шифрования с открытым ключом значительно медленнее, чем стандартное шифрование с секретным ключом, Поэтому шифрование сообщения лучше выполнять с использованием высококачественного быстрого стандартного алгоритма симметричного шифрования. Для процесса распределения ключей использовать преимущества асимметричного шифрования
Составные криптографические системы 19 Принципы работы составной криптографической системы 1. В процессе, невидимом для пользователя, генерируется временный произвольный ключ, созданный только для этого одного «сеанса» , 2. Сеансовый ключ используется для традиционного симметричного шифрования файла открытого текста. 3. Открытый ключ получателя используется только для шифровки этого временного сеансового ключа. 4. Этот зашифрованный сеансовый ключ посылается наряду с зашифрованным текстом получателю. 5. Получатель использует свой собственный секретный ключ, чтобы расшифровать этот временный сеансовый ключ 6. Затем получатель применяет его для выполнения быстрого стандартного алгоритма симметричного расшифрования, чтобы декодировать все зашифрованное сообщение.
Составные криптографические системы: PGP 20 PGP (Pretty Good Privacy – замечательная конфиденциальность). Создателем PGP является Ф. Циммерман (США, 1991 год). Творение Циммермана было встречено без энтузиазма Агентством Национальной Безопасности США и против него было возбуждено уголовное дело. Хотя АНБ и могущественно, здравый смысл и закон в данном случае восторжествовали. Филипп Циммерман следующим образом объясняет причину создания программы: «Людям необходима конфиденциальность. PGP распространяется как огонь в прериях, раздуваемый людьми, которые беспокоятся о своей конфиденциальности в этот информационный век. Сегодня организации по охране прав человека используют программу PGP для защиты своих людей за рубежом. Организация Amnesty International также использует ее» .
Составные криптографические системы: PGP 21 PGP объединяет в себе удобство использования криптографической системы с открытым ключом Rivest-Shamir-Adleman (RSA) и скорость обычной криптографической системы, алгоритм "дайджеста сообщений" для реализации ЭЦП, упаковку данных перед шифрованием, хороший эргономический дизайн программы и развитую систему управления ключами. PGP выполняет функции общего ключа быстрее, чем большинство других аналогичных реализаций этого алгоритма. К основным достоинствам данного пакета можно отнести: Открытость. Исходный код всех версий программ PGP доступен в открытом виде. Так как сам способ реализации известных алгоритмов был доступен специалистам, то открытость повлекла за собой и другое преимущество – эффективность программного кода. Стойкость. Для реализации основных функций использовались лучшие из известных алгоритмов, при этом допуская использование достаточно большой длины ключа для надежной защиты данных. Бесплатность. Готовые базовые продукты PGP доступны в Интернете (www. pgpi. org). Поддержка как централизованной (через серверы ключей) так и децентрализованной (через «сеть
Составные криптографические системы: PGP 22 Схема составной криптосистемы PGP Ko Kc Сеансов ый ключ k Открыты й текст Асимметричн Сеансов ое Асимметричн ый ключ шифрование ое расшифрован ие Симмет ричное шифро вание Симме трично е расши фрова ние k Открыты й текст
Составные криптографические системы : PGP 23 Система PGP выполняет следующие функции: генерацию пары ключей; управление ключами; шифрование файла с помощью открытого ключа любого пользователя PGP(в том числе и своего); наложение ЭЦП с помощью своего закрытого ключа на файл (аутентификация файла) или на открытый ключ другого пользователя (сертификация ключа); проверку (верификацию) своей подписи или подписи другого пользователя с помощью его открытого ключа; расшифровку файла с помощью своего закрытого ключа.
Составные криптографические системы : PGP 24
Информационная безопасность_3Л.ppt