Upload
others
View
4
Download
0
Embed Size (px)
Citation preview
Теория алгоритмов
Лекция 6
Подходы к защите данных.
Национальный исследовательский университет «МИЭТ»
Кафедра ПКИМС МИЭТ
Классификации методов защиты
Слайд 2 из 21
Способы реализации
Программные Аппаратные
Программные модули
Схемотехнические
решения
Булах Д.А. Кафедра ПКИМС, МИЭТ.
Теория алгоритмов Лекция №6. Подходы к защите данных
Классификации методов защиты
Слайд 3 из 21
Объект защиты
Пользовательские данные
Алгоритмы, программный
код
Схемотехнические решения
Булах Д.А. Кафедра ПКИМС, МИЭТ.
Теория алгоритмов Лекция №6. Подходы к защите данных
Квадрат Полибия
Слайд 4 из 21
А Б В Г Д Е
Ё Ж З И К Л
М Н О П Р С
Т У Ф Х Ц Ч
Ш Щ Ъ Ы Ь Э
Ю Я !
1 2 3 4 5 6
1
2
3
4
5
6
Первый шифр, не требующий «аппаратной» составляющей
КАФЕДРА ПКИМС РУЛИТ!
25114316153511633425 24313663354226244164
III век до н.э.
Булах Д.А. Кафедра ПКИМС, МИЭТ.
Теория алгоритмов Лекция №6. Подходы к защите данных
Шифр, с которого начинают все программисты
Слайд 5 из 21
Гай Юлий Цезарь I век до н.э.
А Б В Г Д
+2
В Г Д Е Ж
Характеризуется тем, что имеет постоянное смещение для каждой буквы
МВЦЖЁТВ СМКОУ ТХНКФ!
КАФЕДРА ПКИМС РУЛИТ!
Булах Д.А. Кафедра ПКИМС, МИЭТ.
Теория алгоритмов Лекция №6. Подходы к защите данных
Общая классификация методов программного шифрования
Слайд 6 из 21
Шифрование
Блочное Потоковое По способу обработки
Асимметричное Симметричное По типу ключа
одноалфавитное полиалфавитное
монограммное полиграммное
Булах Д.А. Кафедра ПКИМС, МИЭТ.
Теория алгоритмов Лекция №6. Подходы к защите данных
Полиалфавитные монограммные шифры
Слайд 7 из 21
А А1
Б А2
В А3
Г А4
Одноалфавитный
А А1, A2
Б А3
В А4
Г А5, A6
Полиалфавитный
Полиалфавитные шифры устраняют некоторые недостатки одноалфавитных
шифров
А Б В Г Д Е
Ё Ж З И К Л
М Н О П Р С
Т У Ф Х Ц Ч
Ш Щ Ъ Ы Ь Э
Ю Я !
1 2 3 4 5 6
1
2
3
4
5
6
2511431615351163342524313666354226244164
Булах Д.А. Кафедра ПКИМС, МИЭТ.
Теория алгоритмов Лекция №6. Подходы к защите данных
Следующий шаг – полиграммные шифры
Слайд 8 из 21
Вместо замены символов – замена групп символов. В некоторых способах реализации приводит к сокращению объёма данных.
Английский язык:
you, he, she, it
the
..tion
..ing
..ness
...
Русский язык:
ты, вы, он, она, оно, они, …
..ция
..ение
..ость
...
Булах Д.А. Кафедра ПКИМС, МИЭТ.
Теория алгоритмов Лекция №6. Подходы к защите данных
Принцип работы алгоритма DES (1)
Слайд 9 из 21
Очень-очень длинное исходе сообщение
64 бита 64 бита 64 бита ...
58 50 42 34 26 18 10 2 60 52 44 36 28 20 12 4
62 54 46 38 30 22 14 6 64 56 48 40 32 24 16 8
57 49 41 33 25 17 9 1 59 51 43 35 27 19 11 3
61 53 45 37 29 21 13 5 63 55 47 39 31 23 15 7
Начальная перестановка:
𝑅0 𝐿0 :
𝑅1 𝐿1
Шифрование
Конечная перестановка
Выполняется 16 раундов шифрования
Ключ 𝐾𝑖
Булах Д.А. Кафедра ПКИМС, МИЭТ.
Теория алгоритмов Лекция №6. Подходы к защите данных
Принцип работы алгоритма DES (2)
Слайд 10 из 21
Шифрование
1. 32-х битный вектор 𝑅𝑖−1 расширяется до 48 бит согласно таблице расширения:
2. Происходит сложение XOR с 48-битным ключом, получается 8 6-ти битных чисел B:
𝐸 ⊕ 𝐾𝑖 → {𝐵1, 𝐵2, 𝐵3, … , 𝐵8}
3. Каждый 6-ти битный блок 𝐵𝑗 преобразуется в 4-х битный
блок 𝐵𝑗′ с помощью преобразования 𝑆𝑗:
(номер строки – первый и последний биты, номер столбца – остальные)
32 1 2 3 4 5
4 5 6 7 8 9
8 9 10 11 12 13
12 13 14 15 16 17
16 17 18 19 20 21
20 21 22 23 24 25
24 25 26 27 28 29
28 29 30 31 32 1
𝐸1 𝐸2 𝐸3
𝐸8
...
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
0 14 4 13 1 2 15 11 8 3 10 6 12 5 9 0 7
S1 1 0 15 7 4 14 2 13 1 10 6 12 11 9 5 3 8
2 4 1 14 8 13 6 2 11 15 12 9 7 3 10 5 0
3 15 12 8 2 4 9 1 7 5 11 3 14 10 0 6 13
Булах Д.А. Кафедра ПКИМС, МИЭТ.
Теория алгоритмов Лекция №6. Подходы к защите данных
Принцип работы алгоритма DES (3)
Слайд 11 из 21
Шифрование
4. Над полученным 32-х битным блоком {𝐵1′, 𝐵2′, 𝐵3′, … , 𝐵8′} выполняется перестановка:
16 7 20 21 29 12 28 17
1 15 23 26 5 18 31 10
2 8 24 14 32 27 3 9
19 13 30 6 22 11 4 25
+ сложное формирование ключа
Булах Д.А. Кафедра ПКИМС, МИЭТ.
Теория алгоритмов Лекция №6. Подходы к защите данных
Недостаток симметричного шифрования с ключом
Слайд 12 из 21
Открытый текст
Зашифрованное сообщение
Открытый канал связи
Открытый текст
Алгоритмы: DES 3DES AES Blowfish Twofish
Булах Д.А. Кафедра ПКИМС, МИЭТ.
Теория алгоритмов Лекция №6. Подходы к защите данных
Принцип асимметричного шифрования (1)
Слайд 13 из 21
1. Выбираем два случайных простых числа: P1 = 53 P2 = 59
2. Вычисляем N - произведение P1*P2: N = P1 *P2 = 53*59 = 3127
3. Вычисляем Ф(N): Ф(N) = (P1-1) *(P2-1) = 52*58 = 3016
4. Выбираем небольшой показатель степени E: E = 3
Булах Д.А. Кафедра ПКИМС, МИЭТ.
Теория алгоритмов Лекция №6. Подходы к защите данных
Принцип асимметричного шифрования (2)
Слайд 14 из 21
Вычисляем величину D:
D = 2*Ф(N) + 1
E
В нашем случае:
D = 2*Ф(N) + 1
E
P1 = 53 P2 = 59 N=3127 Ф(N)=3016 E=3
= 2011
D=2011
Булах Д.А. Кафедра ПКИМС, МИЭТ.
Теория алгоритмов Лекция №6. Подходы к защите данных
Принцип асимметричного шифрования (3)
Слайд 15 из 21
P1 = 53 P2 = 59 N=3127 Ф(N)=3016 E=3 D=2011
Открытый ключ
N=3127 E=3
N=3127 E=3
Булах Д.А. Кафедра ПКИМС, МИЭТ.
Теория алгоритмов Лекция №6. Подходы к защите данных
Принцип асимметричного шифрования (4)
Слайд 16 из 21
N=3127 E=3
89
Вычисляем зашифрованное сообщение:
С = 89 mod N = E
89 mod 3127 = 1394 3
Открытое сообщение Зашифрованное сообщение
Булах Д.А. Кафедра ПКИМС, МИЭТ.
Теория алгоритмов Лекция №6. Подходы к защите данных
Принцип асимметричного шифрования (5)
Слайд 17 из 21
N=3127 E=3 С=1394
P1 = 53 P2 = 59 N=3127 Ф(N)=3016 E=3 D=2011 С=1394
С = 1394
Булах Д.А. Кафедра ПКИМС, МИЭТ.
Теория алгоритмов Лекция №6. Подходы к защите данных
Принцип асимметричного шифрования (6)
Слайд 18 из 21
P1 = 53 P2 = 59 N=3127 Ф(N)=3016 E=3 D=2011 С=1394
Расшифровка:
С mod N = D
1394 mod 3127 = 89 2011
Булах Д.А. Кафедра ПКИМС, МИЭТ.
Теория алгоритмов Лекция №6. Подходы к защите данных
Принцип асимметричного шифрования (7)
Слайд 19 из 21
N=3127 E=3 С=1394
С mod N = D
D = 2*Ф(N) + 1
E
Ф(N) = (P1-1) *(P2-1)
?
Булах Д.А. Кафедра ПКИМС, МИЭТ.
Теория алгоритмов Лекция №6. Подходы к защите данных
Аутентификация пользователей
Слайд 20 из 21
Аутентификация пользователей строится на хэшах. (hash) Основной алгоритм - алгоритм md5. Примеры: ‘a’ - 0cc175b9c0f1b6a831c399e269772661 ‘b’ - 92eb5ffee6ae2fec3ad71c777531578f ‘ ’ - d41d8cd98f00b204e9800998ecf8427e
«Развернуть» хэш обратно однозначно «нельзя»!
Методы взлома – атака «грубой силой» (brute-force), перебор по словарю.
Булах Д.А. Кафедра ПКИМС, МИЭТ.
Теория алгоритмов Лекция №6. Подходы к защите данных
Защита программного кода
Слайд 21 из 21
Цель защиты
Несанкционированный запуск ПО
Анализ программного кода
Программная защита
Программно-аппаратная
защита
Защита исходного
кода
Защита исполняемого
кода
Булах Д.А. Кафедра ПКИМС, МИЭТ.
Теория алгоритмов Лекция №6. Подходы к защите данных