Основные понятия надежности

Содержание

Слайд 2

Основные показатели надежности:

доступность (availability) — это свойство системы находиться в состоянии готовности к работе, показывает

Основные показатели надежности: доступность (availability) — это свойство системы находиться в состоянии
вероятность того, что система в данный момент времени будет правильно работать. 
безотказность (reliability) — свойство системы работать без отказов. В противоположность доступности безотказность определяется в понятиях временного интервала, а не момента времени.  
безопасность (safety) —  определяет, насколько катастрофична ситуация временной неспособности системы должным образом выполнять свою работу. Например, на атомных электростанциях, должны обладать высокой степенью безопасности.
ремонтопригодность  (maintainability) — определяет, насколько сложно исправить неполадки в системе.

Слайд 3

Виды отказов: 

проходные отказы (transient faults)  — происходят однократно и больше не повторяются. Если повторить

Виды отказов: проходные отказы (transient faults) — происходят однократно и больше не
операцию, они не возникают.  
перемежающиеся отказы (intermittent faults)  —  появляются и пропадают, «когда захотят». Такие отказы трудно диагностировать.
постоянные отказы (permanent faults) — продолжают свое существование до тех пор, пока отказавший компонент не будет заменен или исправлен. 

Слайд 4

Типы отказов: 

поломка (crash failure)  —  внезапная остановка сервера, при этом до момента остановки он работает

Типы отказов: поломка (crash failure) — внезапная остановка сервера, при этом до
нормально.Пример поломки — полное зависание операционной системы, когда единственным решением проблемы является перезагрузка. 
пропуск данных (omission failure) —  возникает в том случае, когда сервер неправильно реагирует на запросы. 

Слайд 5

Типы отказов: 

а) пропуск приема {receive omission)  — сервер может, например, не получать запросов. Отметим, что такая

Типы отказов: а) пропуск приема {receive omission) — сервер может, например, не
ошибка может произойти, в частности, и в том случае, когда соединение между клиентом и сервером установлено совершенно правильным образом, но на сервере не запущен процесс для приема приходящих запросов. Пропуск приема обычно не влияет на текущее состояние сервера, но сервер остается в неведении о посланных ему сообщениях.

Слайд 6

б) пропуск передачи (send omission) — происходит, когда сервер выполняет свою работу, но по

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

Слайд 7

Другие типы пропусков не имеют отношения к взаимодействию и могут быть вызваны

Другие типы пропусков не имеют отношения к взаимодействию и могут быть вызваны
ошибками в программе, такими как бесконечные циклы или некорректная работа с памятью, которые способны «подвесить» сервер.

Слайд 8

ошибки синхронизации (timing failures) 

 возникают при ожидании ответа дольше определенного временного интервала. Слишком раннее

ошибки синхронизации (timing failures) возникают при ожидании ответа дольше определенного временного интервала.
предоставление данных легко может вызвать у принимающей стороны проблемы, связанные с отсутствием места в буфере для хранения получаемых данных.
Чаще, однако, сервер отвечает слишком поздно, в этом случае говорят, что произошла ошибка производительности (performance failure).

Слайд 9

ошибки отклика (response failures)  — при которых ответы сервера просто неверны.  а) ошибки значения (value failure)

ошибки отклика (response failures) — при которых ответы сервера просто неверны. а)
— сервер дает неверный ответ на запрос. Так, например, эту ошибку демонстрирует поисковая машина, систематически возвращающая адреса web-страниц, не связанных с запросом пользователя.

Слайд 10

ошибки передачи состояния 

б)  (state transition failures) — Этот тип ошибок характеризуется реакцией

ошибки передачи состояния б) (state transition failures) — Этот тип ошибок характеризуется
на запрос, не соответствующей ожиданиям.
Так, например, если сервер получает сообщение, которое он не в состоянии распознать, и никаких мер по обработке подобных сообщений не предусмотрено, возникает ошибка передачи состояния.
В частности, сервер может неправомерно осуществить по умолчанию некие действия, производить которые в данном случае не следовало бы.

Слайд 11

произвольные ошибки (arbitrary failures) 

—   Когда случается произвольная ошибка, клиент должен приготовиться к самому

произвольные ошибки (arbitrary failures) — Когда случается произвольная ошибка, клиент должен приготовиться
худшему.
Например, может оказаться, что сервер генерирует сообщения, которые он в принципе не должен генерировать, но система не опознает их как некорректные. Хуже того, неправильно функционирующий сервер может, участвуя в работе группы серверов, приводить к появлению заведомо неверных ответов.
Эта ситуация показывает, почему для надежных систем очень важна защита.

Слайд 12

Произвольные ошибки похожи на поломки. Поломка — наиболее распространенная причина остановки сервера. Поломки известны

Произвольные ошибки похожи на поломки. Поломка — наиболее распространенная причина остановки сервера.
также под названием ошибок аварийной остановки .
В действительности аварийно остановленный сервер просто прекращает генерировать исходящие сообщения. По этому признаку его остановка обнаруживается другими процессами.

Слайд 13

Например, по настоящему дружественный сервер может предупредить нас о том, что находится

Например, по настоящему дружественный сервер может предупредить нас о том, что находится
на грани поломки. Разумеется, в реальной жизни серверы, останавливаясь по причине пропуска данных или поломок, не настолько дружественны, чтобы оповестить нас о надвигающейся остановке.

Слайд 14

Другие процессы должны сами обнаружить «безвременную кончину» сервера.
Однако в подобных системах

Другие процессы должны сами обнаружить «безвременную кончину» сервера. Однако в подобных системах
остановки без уведомления  другие процессы могут сделать неверный вывод об остановке сервера. Сервер может просто медленно работать, то есть может иметь место ошибка производительности. И, наконец, возможно, что сервер производит случайные сообщения, которые другие процессы считают абсолютным мусором. В этом случае мы имеем дело с наиболее простым случаем произвольной ошибки. Подобные ошибки называют безопасными .

Слайд 15

Резервирование

Резервирование

Слайд 16

Основные виды резервирования:

Аппаратное резервирование (дублирование).
Информационное резервирование (методы обнаружения и коррекции ошибок)
Временное резервирование (методы

Основные виды резервирования: Аппаратное резервирование (дублирование). Информационное резервирование (методы обнаружения и коррекции
альтернативной логики).
Программное резервирование (кластер) (использование несколько функционально одинаковых программ, но, например, разных версий)

Слайд 17

Основные подходы резервирования:

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

Основные подходы резервирования: Кратность резервирования (количество резервных "копий"). По времени "замены": нагруженный
как и основной (RAID1);
облегчённый (ждущий) резерв — работает в ждущем режиме (например, резервный балансировщик нагрузки в кластере);
не нагруженный (холодный) резерв — "включены".
В зависимости от масштаба:
общий резерв (например, приложения, файлы, БД)
раздельный (поэлементный) резерв - по отдельности (приложения, файлы, БД)   
смешанное резервирование.

Слайд 18

Контроль целостности данных

Целостность информации (данных) —  данные не были изменены (испорчены или

Контроль целостности данных Целостность информации (данных) — данные не были изменены (испорчены
подменены). 
Обнаружение ошибок - контроль целостности данных при записи/воспроизведении информации, при её передаче по линиям связи или хранении.
Исправление ошибок (коррекция ошибок) — восстановление информации после чтения её из устройства хранения или канала связи. 
Хеширование (hashing) — преобразование входного массива данных произвольной длины в выходную битовую строку фиксированной длины.

Слайд 19

Целостности данных - при котором отсутствует любое ее изменение либо изменение осуществляется только

Целостности данных - при котором отсутствует любое ее изменение либо изменение осуществляется
преднамеренно субъектами, имеющими на него право.
Методы контроля целостности данных:
Полная копия данных 
Контрольная сумма
Хеш
Имитовставка
ЭЦП 

Слайд 20

Полная копия данных.

Создаются полные копии данных и потом сверяются. 
Преимущества:
простота реализации
полный контроль данных (до

Полная копия данных. Создаются полные копии данных и потом сверяются. Преимущества: простота
бита)
Недостатки:
большой объем
копии можно подменить
копиями можно воспользоваться (например: если данные - пароль)

Слайд 21

Контроль целостности с помощью полной копии данных

Контроль целостности с помощью полной копии данных

Слайд 22

Контрольная сумма.

Контрольная сумма - значение, рассчитанное по входным данным с помощью определённого алгоритма.
Преимущества:
высокая

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

Слайд 23

Контроль целостности с помощью контрольной суммы

Контроль целостности с помощью контрольной суммы

Слайд 24

Примеры контрольных сумм: CRC8, CRC16, CRC32
Пример вычисления:
исходный текст: Контроль целостности данных
crc32 (длина 32

Примеры контрольных сумм: CRC8, CRC16, CRC32 Пример вычисления: исходный текст: Контроль целостности
бита)
b4feb5a5
Применение:
контроль целостности файлов
контроль передаваемых данных по каналам связи
контроль целостности при считывании данных (например: c HDD)

Слайд 25

Хеш.

Хеш (хэш, криптографический хеш) - значение, рассчитанное по входным данным с помощью криптографического алгоритма.
Преимущества:
малый

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

Слайд 26

Основная задача хеш функций

Основная задача хеш функций

Слайд 27

Вычисляют хеш шифрованием данных блочным алгоритмом в режимах CBC, но со стандартным

Вычисляют хеш шифрованием данных блочным алгоритмом в режимах CBC, но со стандартным
(известным) ключом.
Хешем является последний шифрованный блок.
ГОСТ Р 34.11-94
Входное сообщение M разделяется на блоки mn,mn ? 1,mn ? 2,...,m1 по 256 бит. В случае если размер последнего блока mnменьше 256 бит, то к нему приписываются слева нули для достижения заданной длины блока.
Каждый блок сообщения подаётся на шаговую функцию для вычисления промежуточного значения хеш-функцииHout=f(Hin, mi)  где Hout, Hin, mi — блоки длины 256 бит.

Слайд 28

. Вычисление хеш по ГОСТ Р 34.11-94 (сравните с CBC)

. Вычисление хеш по ГОСТ Р 34.11-94 (сравните с CBC)

Слайд 29

Пример вычисления: исходный текст: Контроль целостности данных

md2 (длина 128 бит)
7e347a5f3a3d8c6837d7accbed3e0b1e
md4 (длина 128 бит)
e37e491b9b4ea133df9964b25d7c7cd9
md5 (длина

Пример вычисления: исходный текст: Контроль целостности данных md2 (длина 128 бит) 7e347a5f3a3d8c6837d7accbed3e0b1e
128 бит)
8ab8a5cf989e220ff8d39be415b903d5
sha1 (длина 160 бит)
63cdc45bd8a857007d0be8c435e1e547653482d3
sha224 (длина 224 бит)
670c98e5b7ce7bd2c7efb98b6ed448e0a6f3247e3fdeb678dde61bce
sha256 (длина 256 бит)
1a97bcc0fbcf6722a8aac7b73d12700c0022778904790ce9eee7656f12d95dc2
sha384 (длина 384 бит)
b87b59cad0db141378d8ff04e46d00dd137113391d2a7009d640dd018680c459 310bfbdfef6b3258aeaa4b8146105698
sha512 (длина 512 бит)
3f7b9d8b24fb1d764026fe2b0f72ad62d65fd1c5d77a18784108a69e8ad172c2 e6583989439aea658a2111525897d43af0f6c50cf299b360c21b3e02e8706f4e
ГОСТ Р 34.11-94 (длина 256 бит)
d38e4f1bc5d03601486f4aca83fed00c82e1a36fdac27806cce4b9464af1e9f9

Слайд 30

Применение:

контроль целостности файлов
контроль передаваемых данных по каналам связи
контроль целостности при считывании данных

Применение: контроль целостности файлов контроль передаваемых данных по каналам связи контроль целостности
(например: c HDD)
хеши паролей
аутентификация (CRAM-MD5, DIGEST-MD5 и т.д.)

Слайд 31

Имитовставка (MAC, message authentication code — код аутентичности сообщения)

Имитовставка -  значение, рассчитанное по входным

Имитовставка (MAC, message authentication code — код аутентичности сообщения) Имитовставка - значение,
данным с помощью криптографического алгоритма с использованием секретного элемента (ключа), известного только отправителю и получателю.

Слайд 32

Преимущества:
малый размер
стандартный размер
нельзя подобрать исходные данные к значению за приемлемое время (например:

Преимущества: малый размер стандартный размер нельзя подобрать исходные данные к значению за
получить пароль)
нельзя подменить без секретного элемента (ключа)
Недостатки:
низкая скорость вычисления (сопоставима с шифрованием)
для одного значения существует множество исходных данных
секретный ключ известен как минимум двоим

Слайд 33

Вычисляют имитовставку шифрованием данных блочным алгоритмом в режимах CBC. Имитовставкой является последний шифрованный

Вычисляют имитовставку шифрованием данных блочным алгоритмом в режимах CBC. Имитовставкой является последний шифрованный блок.
блок.

Слайд 34

Имитовставка по ГОСТ 28147-89

Длина имитовставки от 1 до 32 бит.
Открытый текст TO разбивается на

Имитовставка по ГОСТ 28147-89 Длина имитовставки от 1 до 32 бит. Открытый
блоки длиной 64 бита. Последний блок в случае необходимости дополняется нулями.
Первый блок   шифруется, что и сообщение, но с применением 16 циклов вместо 32. Результат по битам по модулю 2 складывается с вторым блоком   и так же шифруется. Результат складывается с третьим блоком... и так далее.
Первые 32 бита получившегося блока составляют имитовставку. Спецификация шифра предусматривает использование в качестве имитовставки и меньшее количество бит по желанию, но не большее.

Слайд 35

Проблема имитовставки

Рис. Проблема имитовставки
Получатель должен знать ключ, и этот ключ позволяет ему

Проблема имитовставки Рис. Проблема имитовставки Получатель должен знать ключ, и этот ключ
генерировать сообщения с тем же значением имитовставки, что и у присланного
сообщения, таким образом,
Рис. Проблема имитовставки
Получатель должен знать ключ, и этот ключ позволяет ему генерировать сообщения с тем же значением имитовставки, что и у присланного сообщения, таким образом, имитовставка на основе симметричного шифра не дает знания — отправитель или получатель сформировал эту имитовставку.

Слайд 36

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

Обычные хэш-алгоритмы использовать для вычисления имитовставки нельзя (MD5 и т.д.) т.к. отсутствует
секретный ключ.
Поэтому создан HMAC.
HMAC (Hash-based Message Authentication Code) - механизм включения секретного ключа в существующие хэш-алгоритмы.

Слайд 37

ЭЦП.

Электронная цифровая подпись - зашифрованное значение вычисленного хеша по входным данным.
Преимущества:
малый размер
стандартный размер
нельзя

ЭЦП. Электронная цифровая подпись - зашифрованное значение вычисленного хеша по входным данным.
подобрать исходные данные к значению за приемлемое время (например: получить пароль)
нельзя подменить без секретного элемента (ключа)
секретный ключ известен одному
Недостатки:
низкая скорость вычисления (сопоставима с шифрованием)
для одного значения существует множество исходных данных

Слайд 38

Создание и проверка ЭЦП

Создание и проверка ЭЦП

Слайд 39

Алгоритм:
вычисляется хеш
шифруется хеш
Применение:
контроль целостности файлов
контроль передаваемых данных по каналам связи
аутентификации источника данных

Алгоритм: вычисляется хеш шифруется хеш Применение: контроль целостности файлов контроль передаваемых данных
(кто создал подпись)