21
Теория алгоритмов Лекция 6 Подходы к защите данных. Национальный исследовательский университет «МИЭТ» Кафедра ПКИМС МИЭТ

Лекция 6dima.pkims.ru/courses/2_ta/docs/ta_lec06.pdf · 2019. 11. 19. · Лекция №6. Основы алгоритмов компрессии данных Потоковые

  • Upload
    others

  • View
    4

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Лекция 6dima.pkims.ru/courses/2_ta/docs/ta_lec06.pdf · 2019. 11. 19. · Лекция №6. Основы алгоритмов компрессии данных Потоковые

Теория алгоритмов

Лекция 6

Подходы к защите данных.

Национальный исследовательский университет «МИЭТ»

Кафедра ПКИМС МИЭТ

Page 2: Лекция 6dima.pkims.ru/courses/2_ta/docs/ta_lec06.pdf · 2019. 11. 19. · Лекция №6. Основы алгоритмов компрессии данных Потоковые

Классификации методов защиты

Слайд 2 из 21

Способы реализации

Программные Аппаратные

Программные модули

Схемотехнические

решения

Булах Д.А. Кафедра ПКИМС, МИЭТ.

Теория алгоритмов Лекция №6. Подходы к защите данных

Page 3: Лекция 6dima.pkims.ru/courses/2_ta/docs/ta_lec06.pdf · 2019. 11. 19. · Лекция №6. Основы алгоритмов компрессии данных Потоковые

Классификации методов защиты

Слайд 3 из 21

Объект защиты

Пользовательские данные

Алгоритмы, программный

код

Схемотехнические решения

Булах Д.А. Кафедра ПКИМС, МИЭТ.

Теория алгоритмов Лекция №6. Подходы к защите данных

Page 4: Лекция 6dima.pkims.ru/courses/2_ta/docs/ta_lec06.pdf · 2019. 11. 19. · Лекция №6. Основы алгоритмов компрессии данных Потоковые

Квадрат Полибия

Слайд 4 из 21

А Б В Г Д Е

Ё Ж З И К Л

М Н О П Р С

Т У Ф Х Ц Ч

Ш Щ Ъ Ы Ь Э

Ю Я !

1 2 3 4 5 6

1

2

3

4

5

6

Первый шифр, не требующий «аппаратной» составляющей

КАФЕДРА ПКИМС РУЛИТ!

25114316153511633425 24313663354226244164

III век до н.э.

Булах Д.А. Кафедра ПКИМС, МИЭТ.

Теория алгоритмов Лекция №6. Подходы к защите данных

Page 5: Лекция 6dima.pkims.ru/courses/2_ta/docs/ta_lec06.pdf · 2019. 11. 19. · Лекция №6. Основы алгоритмов компрессии данных Потоковые

Шифр, с которого начинают все программисты

Слайд 5 из 21

Гай Юлий Цезарь I век до н.э.

А Б В Г Д

+2

В Г Д Е Ж

Характеризуется тем, что имеет постоянное смещение для каждой буквы

МВЦЖЁТВ СМКОУ ТХНКФ!

КАФЕДРА ПКИМС РУЛИТ!

Булах Д.А. Кафедра ПКИМС, МИЭТ.

Теория алгоритмов Лекция №6. Подходы к защите данных

Page 6: Лекция 6dima.pkims.ru/courses/2_ta/docs/ta_lec06.pdf · 2019. 11. 19. · Лекция №6. Основы алгоритмов компрессии данных Потоковые

Общая классификация методов программного шифрования

Слайд 6 из 21

Шифрование

Блочное Потоковое По способу обработки

Асимметричное Симметричное По типу ключа

одноалфавитное полиалфавитное

монограммное полиграммное

Булах Д.А. Кафедра ПКИМС, МИЭТ.

Теория алгоритмов Лекция №6. Подходы к защите данных

Page 7: Лекция 6dima.pkims.ru/courses/2_ta/docs/ta_lec06.pdf · 2019. 11. 19. · Лекция №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. Подходы к защите данных

Page 8: Лекция 6dima.pkims.ru/courses/2_ta/docs/ta_lec06.pdf · 2019. 11. 19. · Лекция №6. Основы алгоритмов компрессии данных Потоковые

Следующий шаг – полиграммные шифры

Слайд 8 из 21

Вместо замены символов – замена групп символов. В некоторых способах реализации приводит к сокращению объёма данных.

Английский язык:

you, he, she, it

the

..tion

..ing

..ness

...

Русский язык:

ты, вы, он, она, оно, они, …

..ция

..ение

..ость

...

Булах Д.А. Кафедра ПКИМС, МИЭТ.

Теория алгоритмов Лекция №6. Подходы к защите данных

Page 9: Лекция 6dima.pkims.ru/courses/2_ta/docs/ta_lec06.pdf · 2019. 11. 19. · Лекция №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. Подходы к защите данных

Page 10: Лекция 6dima.pkims.ru/courses/2_ta/docs/ta_lec06.pdf · 2019. 11. 19. · Лекция №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. Подходы к защите данных

Page 11: Лекция 6dima.pkims.ru/courses/2_ta/docs/ta_lec06.pdf · 2019. 11. 19. · Лекция №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. Подходы к защите данных

Page 12: Лекция 6dima.pkims.ru/courses/2_ta/docs/ta_lec06.pdf · 2019. 11. 19. · Лекция №6. Основы алгоритмов компрессии данных Потоковые

Недостаток симметричного шифрования с ключом

Слайд 12 из 21

Открытый текст

Зашифрованное сообщение

Открытый канал связи

Открытый текст

Алгоритмы: DES 3DES AES Blowfish Twofish

Булах Д.А. Кафедра ПКИМС, МИЭТ.

Теория алгоритмов Лекция №6. Подходы к защите данных

Page 13: Лекция 6dima.pkims.ru/courses/2_ta/docs/ta_lec06.pdf · 2019. 11. 19. · Лекция №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. Подходы к защите данных

Page 14: Лекция 6dima.pkims.ru/courses/2_ta/docs/ta_lec06.pdf · 2019. 11. 19. · Лекция №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. Подходы к защите данных

Page 15: Лекция 6dima.pkims.ru/courses/2_ta/docs/ta_lec06.pdf · 2019. 11. 19. · Лекция №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. Подходы к защите данных

Page 16: Лекция 6dima.pkims.ru/courses/2_ta/docs/ta_lec06.pdf · 2019. 11. 19. · Лекция №6. Основы алгоритмов компрессии данных Потоковые

Принцип асимметричного шифрования (4)

Слайд 16 из 21

N=3127 E=3

89

Вычисляем зашифрованное сообщение:

С = 89 mod N = E

89 mod 3127 = 1394 3

Открытое сообщение Зашифрованное сообщение

Булах Д.А. Кафедра ПКИМС, МИЭТ.

Теория алгоритмов Лекция №6. Подходы к защите данных

Page 17: Лекция 6dima.pkims.ru/courses/2_ta/docs/ta_lec06.pdf · 2019. 11. 19. · Лекция №6. Основы алгоритмов компрессии данных Потоковые

Принцип асимметричного шифрования (5)

Слайд 17 из 21

N=3127 E=3 С=1394

P1 = 53 P2 = 59 N=3127 Ф(N)=3016 E=3 D=2011 С=1394

С = 1394

Булах Д.А. Кафедра ПКИМС, МИЭТ.

Теория алгоритмов Лекция №6. Подходы к защите данных

Page 18: Лекция 6dima.pkims.ru/courses/2_ta/docs/ta_lec06.pdf · 2019. 11. 19. · Лекция №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. Подходы к защите данных

Page 19: Лекция 6dima.pkims.ru/courses/2_ta/docs/ta_lec06.pdf · 2019. 11. 19. · Лекция №6. Основы алгоритмов компрессии данных Потоковые

Принцип асимметричного шифрования (7)

Слайд 19 из 21

N=3127 E=3 С=1394

С mod N = D

D = 2*Ф(N) + 1

E

Ф(N) = (P1-1) *(P2-1)

?

Булах Д.А. Кафедра ПКИМС, МИЭТ.

Теория алгоритмов Лекция №6. Подходы к защите данных

Page 20: Лекция 6dima.pkims.ru/courses/2_ta/docs/ta_lec06.pdf · 2019. 11. 19. · Лекция №6. Основы алгоритмов компрессии данных Потоковые

Аутентификация пользователей

Слайд 20 из 21

Аутентификация пользователей строится на хэшах. (hash) Основной алгоритм - алгоритм md5. Примеры: ‘a’ - 0cc175b9c0f1b6a831c399e269772661 ‘b’ - 92eb5ffee6ae2fec3ad71c777531578f ‘ ’ - d41d8cd98f00b204e9800998ecf8427e

«Развернуть» хэш обратно однозначно «нельзя»!

Методы взлома – атака «грубой силой» (brute-force), перебор по словарю.

Булах Д.А. Кафедра ПКИМС, МИЭТ.

Теория алгоритмов Лекция №6. Подходы к защите данных

Page 21: Лекция 6dima.pkims.ru/courses/2_ta/docs/ta_lec06.pdf · 2019. 11. 19. · Лекция №6. Основы алгоритмов компрессии данных Потоковые

Защита программного кода

Слайд 21 из 21

Цель защиты

Несанкционированный запуск ПО

Анализ программного кода

Программная защита

Программно-аппаратная

защита

Защита исходного

кода

Защита исполняемого

кода

Булах Д.А. Кафедра ПКИМС, МИЭТ.

Теория алгоритмов Лекция №6. Подходы к защите данных