- •Аппаратно-программные средства защиты информации
- •Системы идентификации и аутентификации пользователей
- •Системы шифрования дисковых данных
- •Системы шифрования данных, передаваемых по сетям
- •Системы аутентификации электронных данных
- •Средства управления криптографическими ключами
- •Лекция 5 Классы безопасности
- •Требования к политике безопасности
- •Требования к подотчетности
- •3. Лекция 6 Требования к гарантированности
- •Требования к документации
- •4.Лекция 7 Криптографические средства защиты информации
- •5.Простые криптосистемы
- •Основные требования к криптографическому закрытию информации в ас
- •Классификация основных методов криптографического закрытия информации
- •Шифрование методом замены (подстановки)
- •Шифрование методом перестановки
- •Шифрование методом гаммирования
- •Шифрование с помощью аналитических преобразований
- •Комбинированные методы шифрования
- •Организационные проблемы криптозащиты
- •6.Лекция 8
- •7.Стандарт шифрования данных Data Encryption Standard (des) Описание алгоритма des
- •Режимы работы алгоритма des
- •8.Алгоритм шифрования данных idea
- •9.Отечественный стандарт шифрования гост 28147-89
- •Режим простой замены
- •Режим гаммирования
- •Режим гаммирования с обратной связью
- •Выработки имитовставки
- •Лекция 10 Электронная цифровая подпись
- •11.10.1. Проблема аутентификации данных и эцп
- •12.Однонаправленные хэш-функции
- •Основы построения хэш-функций
- •Однонаправленные хэш-функции на основе симметричных блочных алгоритмов
- •Алгоритм md5
- •Алгоритм безопасного хэширования sна
- •Отечественный стандарт хэш-функции
- •Алгоритм цифровой подписи rsа
- •Алгоритм цифровой подписи Эль Гамаля (egsa)
- •Алгоритм цифровой подписи dsа
- •Отечественный стандарт цифровой подписи
- •12. Защита от копирования
- •13.Привязка к дискете
- •Перестановка в нумерации секторов
- •Введение одинаковых номеров секторов на дорожке
- •Введение межсекторных связей
- •Изменение длины секторов
- •Изменение межсекторных промежутков
- •Использование дополнительной дорожки
- •Ведение логических дефектов в заданный сектор
- •Изменение параметров дисковода
- •Технология «ослабленных» битов
- •Физическая маркировка дискеты
- •14.Применение физического защитного устройства
- •15.«Привязка» к компьютеру
- •Физические дефекты винчестера
- •Дата создания bios и тип компьютера
- •Конфигурация системы и типы составляющих ее устройств
- •Получение инженерной информации жесткого диска
- •16.Опрос справочников
- •17.Введение ограничений на использование программного обеспечения
- •18.Методы защиты информации на cd
- •Второй метод защиты информации на cd
- •Третий метод защиты информации на cd
- •19.Краткий справочник по методам взлома и способам защиты от них Побитовое копирование
- •Эмулирование
- •20.Взлом программного модуля
- •21.Отладчики
- •Противодействие отладчикам
- •Дизассемблеры и дамперы
- •22.Шифрование программного кода
- •Дополнительные способы противодействия
- •Лекция 15-16 Защиты от несанкционированного доступа
- •23.Идентификация и аутентификация пользователя
- •Протокол идентификации и аутентификации для первой схемы
- •Протокол идентификации и аутентификации для второй схемы
- •24.Взаимная проверка подлинности пользователей
- •Механизм запроса-ответа.
- •Механизм отметки времени
- •Механизм – «рукопожатие»
- •Непрерывная проверка подлинности
- •25.Протоколы идентификации с нулевой передачей знаний
- •Упрощенная схема идентификации с нулевой передачей знаний
- •Параллельная схема идентификации с нулевой передачей знаний
Непрерывная проверка подлинности
Иногда пользователи хотят иметь непрерывную проверку подлинности отправителей в течение всего сеанса связи. Рассмотрим один из простейших способов непрерывной проверки подлинности.
Чтобы отправить сообщение M, пользователь «A» передает криптограмму EK(IDA, M). Получатель расшифровывает ее и раскрывает пару (IDA, M). Если принятый идентификатор IDA совпадает с хранимым, получатель принимает во внимание это сообщение.
Вместо идентификаторов можно использовать секретные пароли, которые подготовлены заранее и известны обеим сторонам.
25.Протоколы идентификации с нулевой передачей знаний
Широкое распространение смарт-карт (интеллектуальных карт) для разнообразных коммерческих, гражданских и военных применений (кредитные карты, карты социального страхования, карты доступа в охраняемые помещения, компьютерные пароли и ключи и т.д.) потребовало обеспечение безопасности идентификации таких карт и их владельцев. Во многих приложениях главная проблема заключается в том, чтобы при предъявлении смарт-карты оперативно обнаружить обман и отказать обманщику в допуске, ответе и обслуживании.
Для безопасного использования смарт-карт разработаны протоколы идентификации с нулевой передачей знаний. Секретный ключ владельца карты становится неотъемлемым признаком его личности. Доказательство знания этого секретного ключа с нулевой передачей этого знания служит доказательством подлинности личности владельца карты.
Схему идентификации с нулевой передачей знаний предложили в 1986 г. У. Фейге, А. Фиат и А. Шамир. Она является наиболее известным доказательством идентичности с нулевой передачей конфиденциальной информации.
Рассмотрим сначала упрощенный вариант схемы идентификации с нулевой передачей знаний для более четкого выявления ее основной концепции.
Но прежде всего определимся с терминологией.
Пусть а, b, d, g Z (множество целых чисел), n N (множество натуральных чисел, т.е. положительных целых чисел).
Определение 1. Число а сравнимо с b по модулю n, если а и b при делении на n дают одинаковые остатки, т.е.
a mod n = b mod n.
Принятое обозначение:
a b (mod n) .
Определение 2. Число d называют обратным к a по модулю n, если произведение a*d при делении на n дает в остатке 1, т.е.
a*d mod n = 1 .
Принятое обозначение:
b = a-1 ( mod n ) .
Примите к сведению, что целое число a-1 ( mod n ) существует тогда и только тогда, когда a является взаимно простым с n, т.е. имеет с модулем n наибольший общий делитель, равный единице.
Определение 3. Число g называют квадратным корнем из a по модулю n, если произведение g*g при делении на n дает в остатке a, т.е.
g*g mod n = a .
Принятое обозначение:
g = sqrt ( a ) ( mod n ) .
Упрощенная схема идентификации с нулевой передачей знаний
Прежде всего выбирается значение модуля n, который является произведением двух больших простых чисел. Модуль n должен иметь длину 512...1024 бит. Это значение n представляют группе пользователей, которым придется доказывать свою подлинность. В процессе идентификации участвуют две стороны:
сторона «A», доказывающая свою подлинность;
сторона «B», проверяющая подлинность «A».
Для того, чтобы сгенерировать открытый и секретный ключи для стороны «A», доверенный арбитр (Центр) выбирает такое число V, что сравнение
х2 V ( mod n )
имеет решение. Число V при этом называют квадратичным вычетом по модулю n.
Кроме того должно существовать целое число
V-1 ( mod n ) .
Выбранное значение V является открытым ключом для «A». Затем вычисляют наименьшее значение S, для которого
S sqrt (V-1)( mod n ).
Это значение S является секретным ключом для «A». Теперь можно приступить к выполнению протокола идентификации.
1. Сторона «A» выбирает некоторое случайное число r, r < n. Затем она вычисляет
х = r2 mod n
и отправляет х стороне «B».
2. Сторона «B» посылает «A» случайный бит b.
3. Если b = 0, тогда «A» отправляет r стороне «B». Если b = 1, то «A» отправляет стороне «B»
у = r * S mod n .
4. Если b = 0, сторона «B» проверяет, что
х = r2 mod n ,
чтобы убедиться, что «A» знает sqrt (х). Если b = 1, сторона «B» проверяет, что
х = у2 * V mod n ,
чтобы быть уверенной, что «A» знает sqrt (V-1).
Эти шаги образуют один цикл протокола, называемый аккредитацией. Стороны «A» и «B» повторяют этот цикл t раз при разных случайных значениях r и b до тех пор, пока «B» не убедится, что «A» знает значение S.
Если сторона «A» не знает значения S, она может выбрать такое значение r, которое позволит ей обмануть сторону «B», если «B» отправит ей b = 0, либо «A» может выбрать такое r, которое позволит обмануть «B», если «B» отправит ей b = 1. Но этого невозможно сделать в обоих случаях. Вероятность того, что «A» обманет «B» в одном цикле, составляет 1/2. Вероятность обмануть «B» в t циклах равна (1/2)t.
Для того чтобы этот протокол работал, сторона «A» никогда не должна повторно использовать значение r. Если «A» поступила бы таким образом, а сторона «B» отправила бы стороне «A» на шаге 2 другой случайный бит b, то «B» имела бы оба ответа «A». После этого «B» может вычислить значение S, и для «A» все закончено.