Действенной мерой безопасности является обнаружение попыток входа в компьютерные системы. Методы обнаружения:
· Аудит и ведение журнала;
· Использование tripwire - программ для UNIX, которые проверяют, не изменялись ли некоторые файлы и директории, например, файлы, содержащие пароли;
· Слежение за системными вызовами.
Контрольные вопросы:
- На какие категории делятся задачи по обеспечению безопасности и защиты?
- Что такое безопасность?
- Как обеспечивается подход к обеспечению информационной безопасности?
- Дайте определение конфиденциальности, доступности и целостности.
- Что такое риск, угроза?
- На какие виды разделяются угрозы?
- Каковы принципы разработки безопасных программных продуктов?
- Что такое брандмауэр?
Литература:
1. В. Г. Оливер Н. А. Олифер. Сетевые операционные системы. Питер 2009 г
2. А. В. Гордеев. Операционные системы. Питер 2009 г
Лекция 16. Шифрование. Методы шифрования. Цифровая подпись.
План занятия:
1. Шифрование
2. Алгоритм DES
3. Алгоритм RSA
4. Односторонние функции шифрования
5. Цифровая подпись
Ход лекции
Шифрование
Методы шифрования широко используются для защиты конфиденциальной информации.
Шифрование – процесс преобразования сообщения из открытого текста (plaintext) в шифротекст (ciphertext) таким образом, чтобы:
• его могли прочитать только те стороны, для которых оно предназначено;
• проверить подлинность отправителя (аутентификация);
• гарантировать, что отправитель действительно послал данное сообщение.
Свойства методов:
· Относительно простой для авторизованных пользователей способ шифрования и дешифрования данных.
§ Схема шифрования должна зависеть не от секретного алгоритма, а от секретного параметра алгоритма, называемого ключом шифрования (Ключ – это некий параметр, не зависящий
от открытого текста. Результат применения алгоритма шифрования зависит от используемого ключа).
· Для несанкционированного пользователя должно быть крайне сложно определить ключ.
Пара процедур — шифрование и дешифрирование — называется криптосистемой.
В методе шифрования с секретным или симметричным ключом имеется один ключ, который используется как для шифрования, так и для расшифровки сообщения. Такой ключ нужно хранить в секрете. Это затрудняет использование системы шифрования, поскольку ключи должны регулярно меняться, для чего требуется их секретное распространение. Такая схема лишь настолько безопасна, насколько безопасен сам механизм получения ключа. Наиболее популярные алгоритмы шифрования с секретным ключом – DES.
Алгоритм DES
Схема шифрования указана на рис.1.
DES имеет блоки по 64 бит и 16 цикловую структуру сети Фейстеля, для шифрования использует ключ с длиной 56 бит. Алгоритм использует комбинацию нелинейных (S-блоки) и линейных (перестановки E, IP, IP-1) преобразований. Процесс шифрования состоит из начальной перестановки, 16 циклов шифрования и конечной перестановки. Начальная перестановка - исходный текст (блок 64 бит) преобразуется c помощью начальной перестановки которая определяется таблицей 1:
| Таблица 1. Начальная перестановка IP | |||||||||||||||
| 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 |
По таблице первые 3 бита результирующего блока после начальной перестановки являются битами 58, 50, 42 входного блока, а его 3 последние бита являются битами 23, 15, 7 входного блока.
Циклы шифрования
Полученный после начальной перестановки 64-битовый блок IP(T) участвует в 16 циклах преобразования Фейстеля.
16 циклов преобразования Фейстеля:
Информация разбивается на блоки одинаковой (фиксированной) длины. Полученные блоки называются входными, так как поступают на вход алгоритма. В случае, если длина входного блока меньше, чем размер, который выбранный алгоритм шифрования способен зашифровать единовременно (размер блока), то блок удлиняется каким-либо способом. Как правило длина блока является степенью двойки, например, составляет 64 бита или 128 бит.
Разбить IP(T) на две части L0,R0, где L0,R0 — соответственно 32 старших битов и 32 младших битов блока T0 IP(T)= L0R0
Пусть Ti -1 = Li -1Ri -1 результат (i-1) итерации, тогда результат i-ой интерации Ti = LiRi определяется:
Li = Ri – 1

Левая половина Li равна правой половине предыдущего вектора Li - 1Ri - 1. А правая половина Ri — это битовое сложение Li - 1 и f(Ri - 1,ki) по модулю 2.
Таблица 2. Конечная перестановка IP

Расшифровка информации происходит так же, как и шифрование, с тем лишь исключением, что ключи следуют в обратном порядке, то есть не от первого к N -му, а от N -го к первому.
Рис. 1. Схема шифрования алгоритма DES
LiRi= левая и правая половины 64-битового блока LiRi
ki — 48 битовые ключи
f — функция шифрования
IP — начальная перестановка
IP-1 — конечная перестановка.
Алгоритм RSA
В системах шифрования с открытым или асимметричным ключом (public/ assymmetric key) используется два ключа (см. рис.2). Один из ключей, называемый открытым, несекретным, используется для шифрования сообщений, которые могут быть расшифрованы только с помощью секретного ключа, имеющегося у получателя, для которого предназначено сообщение. Иногда поступают по-другому. Для шифрования сообщения используется секретный ключ, и если сообщение можно расшифровать с помощью открытого ключа, подлинность отправителя будет гарантирована (система электронной подписи).
Рис. 2. Шифрование открытым ключом
Использование открытых ключей снимает проблему обмена и хранения ключей, свойственную системам с симметричными ключами. Открытые ключи могут храниться публично, и каждый может послать зашифрованное открытым ключом сообщение владельцу ключа. Однако расшифровать это сообщение может только владелец открытого ключа при помощи своего секретного ключа, и никто другой. Несмотря на очевидные удобства, связанные с хранением и распространением ключей, асимметричные алгоритмы гораздо менее эффективны, чем симметричные, поэтому во многих криптографических системах используются оба метода. Основной стандарт асимметричного метода - использование алгоритма RSA, на практике в данном методе вначале необходимо выполнить генерацию ключей.
Для этого нужно:
1. Выбрать два очень больших простых числа p и q;
2. Вычислить произведение n=p×q;
3. m= (p-1)×(q-1);
4. Выбрать большое случайное число d (взаимно простое с m)
5. Определить число e, чтобы выполнялось (e×d)mod(m)=1.
Тогда открытым ключом будут числа e и n, а секретным ключом – числа d и n.
Теперь, чтобы зашифровать данные по известному ключу {e,n}, необходимо сделать следующее.
• Разбить шифруемый текст на блоки, где i-й блок представить в виде числа M, величина которого
меньше, чем n. Это можно сделать различными способами, например используя вместо букв их
номера в алфавите.
• Зашифровать текст, рассматриваемый как последовательность чисел m(i), по формуле
c(i)=(m(i)e)mod n.
Чтобы расшифровать эти данные, используя секретный ключ {d,n}, необходимо вычислить: m(i) = (c(i)d) mod n. В результате будет получено множество чисел m(i), которые представляют собой часть исходного текста.
Например, зашифруем и расшифруем сообщение "AБВ", которое представим как число 123.
Выбираем p=5 и q=11 (числа на самом деле должны быть большими).
Находим n=5×11=55.
Определяем (p-1)×(q-1)=40. Тогда d будет равно, например, 7.
Выберем e, исходя из (e×7) mod 40=1. Например, e=3.
Теперь зашифруем сообщение, используя открытый ключ {3,55}
C1 = (13) mod 55 = 1
C2 = (23) mod 55 = 8
C3 = (33) mod 55 = 27
Теперь расшифруем эти данные, используя закрытый ключ {7,55}.
M1 = (17) mod 55 = 1
M2 = (87) mod 55 = 2097152 mod 55 = 2
M3 = (277) mod 55 = 10460353203 mod 55 = 3
Таким образом, все данные расшифрованы.






