МЕТОДЫ И СРЕДСТВА ЗАЩИТЫ КОМПЬЮТЕРНОЙ ИНФОРМАЦИИ

Мордовский государственный университет им. Н.П. Огарева

 

Факультет электронной техники

 

Кафедра «Автоматизированные системы обработки информации и управления»

 

МЕТОДЫ И СРЕДСТВА ЗАЩИТЫ КОМПЬЮТЕРНОЙ ИНФОРМАЦИИ

 

 

Конспект лекций по курсу «Методы и средства защиты компьютерной информации» для студентов специальности «Автоматизированные системы обработки информации и управления»

 

Составил Сидоров Д.П., доцент кафедры АСОИУ

 

 

Саранск, 2007

СОДЕРЖАНИЕ

 

1. Основные виды и источники атак на информацию

1.1. Актуальность защиты систем обработки информации

1.2. Угрозы безопасности компьютерных систем

1.3. Наиболее распространенные методы взлома компьютерных систем

1.3.1. Комплексный поиск возможных методов взлома

1.3.2. Терминалы защищенной информационной системы

1.3.3. Получение пароля на основе ошибок администратора

и пользователей

1.3.4. Получение пароля на основе ошибок в реализации

1.3.5. Социальная психология и иные способы получения паролей

2. Защита информации криптографическими методами

2.1. Задачи, решаемые криптографическими методами

2.2. Классическая и «современная» криптография

2.3. Классификация криптоалгоритмов

2.4. Краткие сведения о криптоанализе

3. Симметричные криптосистемы

3.1. Основные понятия и определения

3.2. Мера стойкости шифра

3.3. Необходимое условие абсолютной стойкости шифра

3.4. Принцип Кирхгофа построения шифров

3.5. Шифры с секретным ключом

3.6. Базовая идея блочного шифра

3.7. Шифр простой замены

3.8. Недостатки режима простой замены

3.9. Гаммирование

3.10. Гаммирование с обратной связью

3.11. Имитозащита

4. Элементы теории чисел

4.1. Сравнения и их свойства

4.2. Вычисление степеней, возведение сравнений в степень

4.3. Сравнения с одним неизвестным

4.4. Наибольший общий делитель

4.5. Простые числа

4.6. Теоремы Эйлера и Ферма

5. Криптосистемы с открытым ключом

5.1. Однонаправленные функции

5.2. Алгоритм RSA

5.3. Практическое использование алгоритма RSA

5.4. Открытое распределение ключей

5.5. Электронная подпись

ГЛАВА 1

ОСНОВНЫЕ ВИДЫ И ИСТОЧНИКИ

АТАК НА ИНФОРМАЦИЮ

 

Актуальность защиты систем обработки информации

В современном компьютерном сообществе атаки на информацию стали обыденной практикой. Злоумышленники используют как ошибки в написании и… Последнее время сообщения об атаках на информацию, о хакерах и компьютерных… При хранении, поддержании и предоставлении доступа к любому информационному объекту его владелец, либо уполномоченное…

Угрозы безопасности компьютерных систем

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

Наиболее распространенные методы взлома компьютерных систем

1.3.1. Комплексный поиск возможных методов взлома   Часто злоумышленники проникают в систему не напрямую, «сражаясь» с системами шифрования или идентификации, а «в…

Терминалы защищенной информационной системы

Несмотря на самоочевидность, все-таки наиболее распространенным способом входа в систему при атаках на информацию остается вход через официальный… При использовании терминалов с физическим доступом необходимо соблюдать… 1. Защищенность терминала должна соответствовать защищенности помещения: терминалы без пароля могут присутствовать…

Получение пароля на основе ошибок администратора и пользователей

Перебор паролей по словарю являлся некоторое время одной из самых распространенных техник подбора паролей. В настоящее время, как хоть самый малый… Следующей модификацией подбора паролей является проверка паролей,… Основные требования к информационной безопасности, основанные на анализе данного метода, следующие:

Получение пароля на основе ошибок в реализации

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

Социальная психология и иные способы получения паролей

Иногда злоумышленники вступают и в прямой контакт с лицами, обладающими нужной им информацией, разыгрывая довольно убедительные сцены. «Жертва»… Краткий обзор еще нескольких довольно часто встречающихся методов. Звонок администратору – злоумышленник выбирает из списка сотрудников того, кто не использовал пароль для входа в…

ГЛАВА 2

ЗАЩИТА ИНФОРМАЦИИ

КРИПТОГРАФИЧЕСКИМИ МЕТОДАМИ

 

Задачи, решаемые криптографическими методами

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

Классификация криптоалгоритмов

 

В отношении криптоалгоритмов существует несколько схем классификации, каждая из которых основана на группе характерных признаков. Таким образом, один и тот же алгоритм «проходит» сразу по нескольким схемам, оказываясь в каждой из них в какой-либо из подгрупп.

Основной схемой классификации всех криптоалгоритмов является следующая:

1. Тайнопись. Отправитель и получатель производят над сообщением преобразования, известные только им двоим. Сторонним лицам неизвестен сам алгоритм шифрования. Некоторые специалисты считают, что тайнопись не является криптографией вообще.

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

· Симметричные криптоалгоритмы. Для зашифровки и расшифровки сообщения используется один и тот же блок информации (ключ).

· Асимметричные криптоалгоритмы. Алгоритм таков, что для зашифровки сообщения используется один (открытый) ключ, известный всем желающим, а для расшифровки – другой (закрытый), существующий только у получателя.

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

В зависимости от характера воздействий, производимых над данными, алгоритмы подразделяются на:

1. Перестановочные. Блоки информации (байты, биты, более крупные единицы) не изменяются сами по себе, но изменяется их порядок следования, что делает информацию недоступной стороннему наблюдателю.

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

Заметьте, любые криптографические преобразования не увеличивают объем информации, а лишь изменяют ее представление. Поэтому, если программа шифрования значительно (более, чем на длину заголовка) увеличивает объем выходного файла, то в ее основе лежит неоптимальный, а возможно и вообще некорректный криптоалгоритм. Уменьшение объема закодированного файла возможно только при наличии встроенного алгоритма архивации в криптосистеме и при условии сжимаемости информации (так, например, архивы, музыкальные файлы формата mp3, изображения формата jpeg сжиматься более чем на 2-4% не будут).

В зависимости от размера блока информации криптоалгоритмы делятся на:

1. Потоковые шифры. Единицей кодирования является один бит. Результат кодирования не зависит от прошедшего ранее входного потока. Схема применяется в системах передачи потоков информации, то есть в тех случаях, когда передача информации начинается и заканчивается в произвольные моменты времени и может случайно прерываться. Наиболее распространенными предствателями поточных шифров являются скремблеры. Скремблерами – называются программные или аппаратные реализации алгоритма, позволяющего шифровать побитно непрерывные потоки информации. Сам скремблер представляет из себя набор бит, изменяющихся на каждом шаге по определенному алгоритму. После выполнения каждого очередного шага на его выходе появляется шифрующий бит – либо 0, либо 1, который накладывается на текущий бит информационного потока операцией XOR.

2. Блочные шифры. Единицей шифрования является блок из нескольких байтов (в настоящее время 4-32). Результат шифрования зависит от всех исходных байтов этого блока. Схема применяется при пакетной передаче информации и шифровании файлов.

 

 

Краткие сведения о криптоанализе

Криптоанализ как наука выходит за рамки данного курса, однако знание некоторых его положений необходимо для глубокого понимания криптографии. Главным действующим лицом в криптоанализе выступает злоумышленник или… В отношении злоумышленника принимается ряд допущений, которые, как правило кладутся в основу математических или иных…

ГЛАВА 3

СИММЕТРИЧНЫЕ КРИПТОСИСТЕМЫ

 

Основные понятия и определения

 

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

Алфавит – конечное множество используемых для кодирования информации знаков.

Текст – упорядоченный набор из элементов алфавита.

Шифрование – процесс преобразования исходного текста, который носит также название открытого текста, в шифрованный текст (или шифротекст).

Расшифрование – процесс, обратный шифрованию. На основе ключа шифротекст преобразуется в исходный.

Ключ – информация, необходимая для беспрепятственного шифрования и расшифрования текстов.

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

Итак, пусть две стороны, которые мы назовем законными участниками обмена информацией, пытаются наладить секретную связь. Из них один является отправителем, а другой – получателем сообщения, хотя, конечно, в реальных ситуациях эти роли не закреплены за участниками жестко и каждому из них приходится быть как отправителем, так и получателем. Задача отправителя заключается в том, чтобы сформировать и отправить получателю сообщение T. Задача получателя заключается в том, чтобы посланное сообщение получить и понять его содержание. Чтобы один только получатель мог ознакомиться с содержанием сообщения, отправителю необходимо преобразовать его согласно некоторому алгоритму E таким образом, что бы никто, за исключением законного получателя и, быть может, самого отправителя, не мог восстановить его в прежнем виде. Это преобразование называется зашифрованием сообщения T, а то, что получается в результате этой процедуры, называется шифротекстом C. Связь между исходным текстом T, шифротекстом C и алгоритмом зашифрования E может быть символически выражена с помощью следующей формулы:

C = E(T).

Шифрованное сообщение C передается отправителем получателю по каналу связи. Чтобы законный получатель мог ознакомиться с содержимым полученного сообщения, он должен предварительно его расшифровать, то есть применить к шифротексту C алгоритм расшифрования D, в результате чего будет восстановлено исходное сообщение T. Таким образом, расшифрование данных осуществляется согласно уравнению

T = D(C).

Чтобы обеспечить секретность связи, алгоритм расшифрования не должен быть известен посторонним лицам, так как его секретность определяет секретность организованной таким образом связи.

В нашей ситуации присутствует третья сторона, называемая согласно сложившейся традиции злоумышленником, которая желает воспрепятствовать осуществлению намерений законных участников обмена. В наиболее общем случае во исполнение своих намерений злоумышленник может перехватывать шифрованные сообщения и посылать сфабрикованные им самим сообщения одной из сторон от имени другой. Конечно, он не владеет алгоритмом расшифрования – в этом случае все было бы предельно просто для него. Круг задач, которые может попытаться решить криптоаналитик, шире чем просто дешифрование сообщения – перечислим эти задачи, именуемые в криптографии угрозами:

· дешифровать сообщение C, то есть получить соответствующий ему открытый текст T полностью или частично, или хотя бы сделать некоторые заключения о содержании перехваченного сообщения, опираясь на обнаруженные в нем закономерности;

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

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

Степень успеха в реализации перечисленных выше угроз также может быть различной. Если исключить случайную удачу, то успешная реализация угрозы секретности данных означает овладение злоумышленником алгоритмом расшифрования D, или построение функционально эквивалентного ему алгоритма , позволяющего для любого зашифрованного сообщения C, или хотя бы для шифротекстов из некоторого класса, получить соответствующее открытое сообщение T.

Аналогично, успешная реализация угрозы целостности данных означает овладение злоумышленником алгоритмом зашифрования E, или построение функционально эквивалентного ему алгоритма , позволяющего для любого открытого сообщения T, или хотя бы для сообщений из некоторого класса, получить соответствующее зашифрованное сообщение C, или, в наименее успешном для него случае, создание алгоритма позволяющего создать такое зашифрованное сообщение , которое законный получатель принял бы за подлинное.

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

· дешифруемый текст C, также могут иметься перехваченные ранее шифрованные сообщения (C1, C2, ..., Cn), зашифрованные с использованием того же самого алгоритма, что и C;

· открытые сообщения, соответствующие некоторым ранее перехваченным шифровкам: (T1 ,T2 , ..., Tm), , i = 1, ..., m, где m £ n;

· возможность получить для произвольного выбранного злоумышленником открытого сообщения T соответствующий шифротекст C = E(T);

· возможность получить для произвольного выбранного злоумышленником шифрованного сообщения C соответствующий открытый текст T = D(C).

Соответственно этим четырем возможностям различают следующие основные виды криптоанализа:

· анализ на основе только шифротекста;

· анализ на основе невыбранного открытого текста;

· анализ на основе выбранного открытого текста;

· анализ на основе выбранного шифротекста.

Первая возможность есть в распоряжении аналитика практически всегда. Вторая возможность также вполне реальна: например, разведке через агентуру удалось достать расшифровку одного из секретных сообщений. Более того, эта возможность весьма типична в тех сферах, где срок жизни секретной информации весьма мал, и она быстро предается огласке – при передаче рекламных материалов, различных репортажей, публикуемых впоследствии средствами массовой информации и т. д., словом везде, где надо опередить конкурентов всего на несколько часов или дней. Третья и четвертая возможности, хотя и кажутся экзотическими, тем не менее также могут иметь место – если сотрудник организации, работающий на другую сторону, имеет доступ к общим шифровальным средствам. Конечно, третий случай имеет смысл применительно к задаче дешифрования, а четвертый – навязывания ложных данных. Первые два актуальны для обеих угроз.

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

· Аутентичность есть защищенность криптографической системы от навязывания ложных данных.

· Секретность есть защищенность криптографической системы от несанкционированного ознакомления с содержимым закрываемых системой данных.

 

 

Мера стойкости шифра

Шифром называется пара алгоритмов (E и D), реализующих каждое из указанных выше преобразований. Секретность второго из них делает данные… · шифруемое сообщение содержит большую избыточность; · процесс шифрования хорошо «перемешивает» структурные единицы сообщения (биты, символы и т. д.).

Необходимое условие абсолютной стойкости шифра

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

Принцип Кирхгофа построения шифров

Исходя из сказанного выше, можно перечислить несколько качеств, которым должен удовлетворять шифр, претендующий на то, чтобы считаться хорошим. 1. Анализ зашифрованных данных не должен давать злоумышленнику никаких… 2. Алгоритм должен быть перенастраиваемым. В распоряжении злоумышленника рано или поздно может оказаться описание…

Шифры с секретным ключом

Итак, наша задача заключается в том, чтобы снабдить участников обмена надежными алгоритмами шифрования. Первый вопрос, который мы себе зададим – это… Как реализовать такой шифр? Прежде чем отвечать на этот вопрос вспомним, что… С = EK(T) – зашифрование;

Базовая идея блочного шифра

Отправной точкой в реализации рассматриваемого подхода является идея вырабатывать гамму для зашифрования сообщения … из самого сообщения! Однако… Тем не менее, при разработке новой криптографической схемы нам не хотелось бы… .

Шифр простой замены

Для того, чтобы блочная схема шифрования была устойчива к криптоанализу, она должна обладать свойствами перемешивания и рассеивания. Это означает,…

Недостатки режима простой замены

Использование блочного шифра в режиме простой замены имеет ряд недостатков, отражающихся на стойкости и удобстве использования шифра. Первый и самый… Приведем типичный пример: пусть зашифрованию подвергается информация на гибком… Можно предложить модификацию схемы шифрования по алгоритму простой замены, устраняющую данный недостаток – для этого…

Гаммирование

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

Гаммирование с обратной связью

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

Имитозащита

Как мы уже неоднократно демонстрировали в примерах, шифрование само по себе не может защитить передаваемые данные от внесения изменений. Это… Имитозащита есть защита системы шифрованной связи или иной криптосистемы от… Так как мы рассматриваем системы защиты информации, обеспечивающие необходимые характеристики только путем…

ГЛАВА 4

ЭЛЕМЕНТЫ ТЕОРИИ ЧИСЕЛ

 

Сравнения и их свойства

Мы будем рассматривать целые числа в связи с остатками от деления их на целое положительное m, которое назовем модулем (слово “модуль” происходит от… Каждому целому числу отвечает определенный остаток от деления его на m; если… Сравнимость чисел a и b по модулю m записывается так:

Вычисление степеней, возведение сравнений в степень

Многие результаты теории сравнений связаны с остатками высоких степеней чисел, поэтому обсудим интересную задачу эффективного вычисления xn по… Та же идея применима, вообще говоря, при произвольном значении n. А именно,… Этот бинарный метод очень древний; он появился раньше 200 г. до н. э. в Древней Индии; однако в течение последующих…

Сравнения с одним неизвестным

Числа, равноостаточные, или, что то же самое, сравнимые по модулю m, образуют класс чисел по модулю m. Из такого определения следует, что всем числам класса отвечает один и тот же… Соответственно m различным значениям r имеем m классов чисел по модулю m.

Наибольший общий делитель

Если u и v – целые числа, не оба рвные нулю, то их наибольшим общим делителем D(u, v) называется наибольшее целое число, на которое делятся без… Для нахождения D(u, v) используется алгоритм Евклида. Чтобы найти наибольший… Обоначив исходные числа через u и v, положительные остатки, получающиеся в результате делений, через r1, r2, ..., rn,…

Простые числа

Едва освовив четыре арифметических действия, люди стали интересоваться различными свойствами натуральных чисел. Почему некоторые числа делятся на… Допустим, что простых чисел существует лишь конечное количество. Обозначим все… p1p2...pk + 1 = q1q2...qm

Теоремы Эйлера и Ферма

Теорема (Эйлера). При m > 1 и D(a,m) = 1 имеем aj(m) º 1 (mod m). Теорема (малая теорема Ферма). Если p – простое число, то

ГЛАВА 5

КРИПТОСИСТЕМЫ С ОТКРЫТЫМ КЛЮЧОМ

 

Однонаправленные функции

Развитие криптографии в XX веке было стремительным, но неравномерным. Анализ истории ее развития как специфической области человеческой деятельности… 1. Начальный, имевший дело лишь с ручными шифрами, начавшийся в седой… 2. Следующий период отмечен созданием и широким внедрением в практику сначала механических, потом электромеханических…

Алгоритм RSA

Первой и наиболее известной криптографической системой с открытым ключом была предложенная в 1978 году так называемая система RSA. Ее название… 1. Выбрать два больших простых числа p и q и вычислить два произведения n = p… 2. Выбирать случайное целое число e, такое что НОД(e, j) = 1.

Практическое использование алгоритма RSA

Для алгоритмов, основанных на открытых ключах, существует ряд математических проблем, которые не всегда учитываются при построении криптосистемы. К… Очевидно, что стойкость RSA и асимметричных алгоритмов в целом зависит от… ,

Открытое распределение ключей

Пока преимущества методов шифрования с открытым ключом не были очевидны. Однако на их основе легко решать задачу выработки общего секретного ключа… Таким образом, открытое распределение ключей позволяет каждой паре… Диффи и Хеллман предложили весьма простой способ использования дискретных логарифмов для обмена секретными ключами…

Электронная подпись

В чем состоит проблема аутентификации данных? В конце обычного письма или документа исполнитель или ответственное лицо обычно ставит свою подпись.… Если подделать подпись человека на бумаге весьма непросто, а установить… С широким распространением в современном мире электронных форм документов (в том числе и конфиденциальных) и средств…