Криптографическая защита информации
Защита передаваемых по каналам связи или хранящихся в системах обработки информации данных от несанкционированного ознакомления с ними и от преднамеренного их искажения. Схема преобразования информации при шифровании. Анализ основных видов угроз.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | лекция |
Язык | русский |
Дата добавления | 29.09.2018 |
Размер файла | 318,1 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
КРИПТОГРАФИЧЕСКАЯ ЗАЩИТА ИНФОРМАЦИИ
1. Основные понятия криптографии
Криптография это наука, изучающая способы защиты процессов информационного взаимодействия от целенаправленных попыток отклонить их от условий нормального протекания, основанные на криптографических преобразованиях, то есть преобразованиях данных по секретным алгоритмам.
С давних времен вплоть до настоящего время важнейшей задачей криптографии является защита передаваемых по каналам связи или хранящихся в системах обработки информации данных от несанкционированного ознакомления с ними и от преднамеренного их искажения. Криптография решает указанную задачу посредством шифрования защищаемых данных, что предполагает использование двух следующих взаимно обратных преобразований:
- перед отправлением данных по линии связи или перед помещением на хранение они подвергаются шифрованию;
- для восстановления исходных данных из зашифрованных к ним применяется процедура расшифрования.
На рисунке 17 приведена схема преобразования данных при шифровании.
Рисунок 17 - Схема преобразования данных при шифровании
От прочих методов защиты информации криптографические методы отличаются тем, что основаны на преобразовании информации по секретным алгоритмам. Понятие «секретный алгоритм» здесь трактуется широко алгоритм, хоть какая-то деталь которого держится в секрете - и включает в себя открытые в общем алгоритмы, часть параметров которых держится в тайне.
Под процессом информационного взаимодействия, или информационным взаимодействием, или информационным процессом понимают такой процесс взаимодействия нескольких субъектов, основным содержанием которого является обмен информацией между ними. Взаимодействующие субъекты в криптографии называются законными или легальными участниками процесса, слово «взаимодействие» предполагает, что их как минимум два.
Теперь поговорим о том, что есть нормальное протекание процесса информационного взаимодействия, и о возможных отклонениях от него. Очевидно, что никакого объективного критерия нормы не может существовать, здесь норма - это просто соответствие процесса параметрам его протекания, запланированным тем субъектом или субъектами, которые пытаются выполнить стоящие перед ними задачи посредством этого самого информационного процесса. Соответственно, любое событие, выводящее процесс за рамки предусмотренной для него нормы считается отклонением. Криптография есть дисциплина, которая рассматривает способы борьбы с отклонениями, вызванными целенаправленными действиями злоумышленников. Так как в ней постулируется, что последние действуют наилучшим возможным с точки зрения достижения своих целей образом в рамках имеющихся в их распоряжении данных и имеют все необходимые ресурсы, любое случайное воздействие на информационный процесс не способно отклонить его протекание от нормы больше, чем это сделал бы злоумышленник. Следовательно, криптографические методы годятся для защиты информационных взаимодействий и от случайных отклоняющих факторов, хотя последнее не является их основным назначением.
В качестве злоумышленников могут выступать:
· законные участники процесса;
· субъекты, не являющиеся законными участниками процесса, но имеющие доступ к информации, передаваемой и обрабатываемой в ходе осуществления информационного взаимодействия и могущие повлиять на его протекание.
Задачи, решаемые криптографическими методами, отличаются друг от друга следующим:
· характером защищаемого информационного взаимодействия;
· целями злоумышленников;
· возможностями злоумышленников.
Простейший случай информационного взаимодействия - это передача данных от одного субъекта другому. Соответственно, самая распространенная задача из сферы защиты информации - защита передаваемой по каналам связи или хранимой в компьютерной системе информации, она исторически возникла первой и до сих пор является наиболее важной. Необходимо добавить, что в последнее время в связи с проникновением электронных технологий во многие сферы жизни человека и общества возникают и принципиально новые проблемы. Одни из них первичны, такие, как уже упомянутая проблема защиты данных в каналах связи. Другие вторичны и существуют только в рамках конкретного решения той или иной первичной задачи. Например, «открытое распределение ключей» - совместная выработка двумя субъектами в ходе сеанса связи по открытому каналу общего секретного ключа таким образом, чтобы злоумышленники, «прослушивающие» канал, не смогли получить тот же самый ключ.
2. Шифр. Криптостойкость шифра
Шифром называется пара алгоритмов, реализующих каждое из преобразований шифрования и расшифрования. Секретность второго из них делает данные недоступными для несанкционированного ознакомления, а секретность первого делает невозможным навязывание ложных данных. Получение открытых данных по зашифрованным без знания алгоритма расшифрования называется дешифрованием. Изначально шифрование использовалось для защиты передаваемых сообщений от обеих указанных угроз, однако позднее было показано, что оно может защитить данные от несанкционированной модификации только если выполнены определенные условия, а именно:
- шифруемое сообщение содержит большую избыточность;
- процесс шифрования хорошо «перемешивает» структурные единицы сообщения (биты, символы и т.д.).
Так как эти условия выполняются далеко не всегда, то в общем случае шифрование не является средством имитозащиты защиты от навязывания ложных данных.
Каким же условиям должен удовлетворять шифр? Ну прежде всего, процедура расшифрования должна всегда восстанавливать открытое сообщение в его исходном виде. Иными словами, для каждого допустимого сообщения T преобразования зашифрования и расшифрования должны удовлетворять следующему свойству:
T = D(E(T))
Второе условие, которому должен удовлетворять шифр, следующее: он должен шифровать данные, то есть делать их непонятными для непосвященного. Другими словами, не должно существовать легко прослеживаемых связей между исходными и зашифрованными данными.
Кроме того, шифр должен быть криптостойким, то есть устойчивым к попыткам дешифрования сообщений. Понятно, что вопрос стойкости шифров является главным в этой отрасли криптографии, и его рассмотрение мы начнем с выяснения того, что же может служить мерой стойкости.
Отправленное сообщение до поступления к получателю является для него и, естественно, для злоумышленника неопределенным если это было бы не так, тогда не было бы вообще никакого смысла его посылать. Пусть возможна отправка сообщений T1, T2, . . . , Tn с вероятностью p1, p2, . . . , pn соответственно. Тогда мерой неопределенности сообщения для всех, кто обладает этой априорной информацией, может служить величина математического ожидания логарифма вероятности одного сообщения, взятая со знаком «минус»; по некоторым соображениям в качестве основания логарифма удобно выбрать 2:
.
Эта величина имеет вполне понятный физический смысл: количество битов информации, которое необходимо в среднем передать, чтобы полностью устранить неопределенность. Если никакой априорной информации о сообщении нет кроме его размера в N бит, то все возможные из 2N вариантов считаются равновероятными, и тогда неопределенность сообщения равна его размеру:
H(T) = -2N·2-N·log2(2-N) = N = | T |,
где через | X | обозначен размер блока данных X в битах. А если об исходном тексте неизвестно вообще ничего, даже его размер? В этом случае все равно необходимо принять за основу какую-либо модель распределения. Как правило, в реальности подобных трудностей не возникает, поскольку многие весьма стойкие шифры «не считают нужным» скрывать размер шифруемого сообщения, так как в этом действительно почти никогда нет особой необходимости, и эта характеристика априорно считается известной злоумышленнику. Там же, где этот размер все же реально необходимо скрыть, все сообщения перед зашифрованием преобразуются в массивы данных одной и той же длины, и мы опять получаем рассмотренную выше ситуацию.
После перехвата шифротекста эта величина, естественно, может измениться, теперь она становится апостериорной («после-опытной») условной неопределенностью условием здесь является перехваченное шифрованное сообщение T'. Теперь она задается следующей формулой:
где через обозначена вероятность того, что исходное сообщение есть Ti при условии, что результат его зашифрования есть T'.
Одной из важнейших характеристик качества шифра служит количество информации об исходном тексте, которое злоумышленник может извлечь из перехваченного шифротекста оно находится как разность между априорной и апостериорной неопределенностью исходного сообщения:
I = H(T ) H(T / T' ).
Эта величина всегда неотрицательна. Показателем здесь является то, насколько уменьшится - понятно, что увеличиться она не может неопределенность исходного текста при получении соответствующего шифротекста по сравнению с априорной неопределенностью, и не станет ли она меньше минимально допустимой величины.
В наилучшем для разработчиков шифра случае обе эти неопределенности равны:
H(T / T') = H(T),
то есть злоумышленник не может извлечь никакой полезной для себя информации об открытом тексте из перехваченного шифротекста: I =0. Иными словами, знание шифротекста не позволяет уменьшить неопределенность соответствующего открытого текста, улучшить его оценку и увеличить вероятность его правильного определения. Шифры, удовлетворяющие данному условию, называются абсолютно стойкими или совершенными шифрами, так как зашифрованные с их применением сообщения не только не могут быть дешифрованы в принципе, но злоумышленник даже не сможет приблизиться к успешному определению исходного текста, то есть увеличить вероятность его правильного дешифрования.
Естественно, основной вопрос, который интересовал криптографов, это существуют ли на практике абсолютно стойкие шифры. Специалистам было интуитивно понятно, что они существуют, и пример подобного шифра привел Вернам более чем за два десятилетия до того, как один из основоположников теории информации К.Шеннон формально доказал их существование. В этом доказательстве Шеннон также получил и необходимое условие абсолютной стойкости шифра: «Для того, чтобы шифр был абсолютно стойким, необходимо, чтобы неопределенность алгоритма шифрования была не меньше неопределенности шифруемого сообщения:
H(E)H(T)».
Неопределенность алгоритма шифрования определяется точно так же, как и неопределенность сообщения математическое ожидание двоичного логарифма вероятности использования алгоритма со знаком минус, и имеет смысл только в том случае, если определено множество возможных алгоритмов и задана вероятность использования каждого из них. Стойкость шифров основана на секретности, то есть на неопределенности для злоумышленника алгоритма расшифрования если бы это было не так, любой бы мог расшифровать зашифрованные данные. Чем меньше знает злоумышленник о шифре, тем менее вероятно успешное дешифрование сообщения. Поясним сказанное на примере: пусть перехвачена короткая 12-битовая шифровка, имеющая следующее содержание:
Для простоты предположим, что исходное сообщение имеет ту же длину. Если у злоумышленника нет никаких априорных сведений о зашифрованном сообщении, для него каждый из 212 исходных вариантов равновероятен, и, таким образом, вероятность правильно определить исходное сообщение простым угадыванием равна 2-12. Предположим теперь, что злоумышленнику априорно известно, что зашифрование является наложением одной и той же 4-битовой маски на каждую 4-битовую группу сообщения с помощью операции побитового исключающего или. Очевидно, возможно 16 = 24 различных вариантов битовой маски, соответственно, возможно 16 различных значений исходного текста:
Таким образом, теперь вероятность правильно угадать исходный текст равна 1/16 - знание особенности использованного способа шифрования повысило ее в 256 раз. Отсюда следует интересный вывод: чем больше неопределенность в шифрующем преобразовании для постороннего лица, тем дальше оно стоит от разгадки шифра, тем шифр надежнее. Шифр, полностью неопределенный для злоумышленника, является нераскрываемым для него, то есть абсолютно стойким! Получается, что надежность шифра зависит исключительно от его секретности и не зависит от прочих его свойств.
Самое интересное, что это верно, и никакого парадокса здесь нет. Однако, на практике бывает сложно сохранить полную неопределенность относительно шифра у злоумышленника - он может получить информацию о шифре следующими способами:
- анализировать перехваченное шифрованное сообщение практически всегда в его распоряжении имеется определенный набор шифротекстов, для некоторых из них могут иметься и соответствующие открытые тексты, или даже возможность получить шифротекст для любого наперед заданного открытого текста;
- злоумышленник может располагать априорными сведениями о шифре, полученными из различных источников например, раньше это могла бы быть инструкция по шифрованию или черновик с промежуточными результатами для конкретного текста, в настоящее время фрагмент компьютерного кода или микросхема, реализующая шифрование аппаратно.
Первая возможность есть у злоумышленника всегда, вторая также очень вероятна трудно удержать в секрете от посторонних активно «работающий» алгоритм. Исходя из сказанного выше, можно перечислить несколько качеств, которым должен удовлетворять шифр, претендующий на то, чтобы считаться хорошим:
1. Анализ зашифрованных данных не должен давать злоумышленнику никаких сведений о внутреннем устройстве шифра. В шифротексте не должно прослеживаться никаких статистических закономерностей например, статистические тесты не должны выявлять в зашифрованных данных никаких зависимостей и отклонений от равновероятного распределения битов (символов) шифротекста.
2. Алгоритм должен быть перенастраиваемым. В распоряжении злоумышленника рано или поздно может оказаться описание алгоритма, его программная или аппаратная реализация. Для того, чтобы в этом случае не пришлось заменять алгоритм полностью на всех узлах шифрования, где он используется, он должен содержать легко сменяемую часть.
Второе условие приводит нас к принципу Кирхгофа, безоговорочно принятому сейчас в искусстве построения надежных шифров. Этот принцип заключается в следующем: шифр определяется как параметризованный алгоритм, состоящий из процедурной части, то есть описания того, какие именно операции и в какой последовательности выполняются над шифруемыми данными, и параметров различных элементов данных, используемых в преобразованиях. Раскрытие только процедурной части не должно приводить к увеличению вероятности успешного дешифрования сообщения злоумышленником выше допустимого предела. По этой причине, а также в силу того, что рассекречивание этой части достаточно вероятно само по себе, особого смысла хранить ее в секрете нет. В секрете держится некоторая часть параметров алгоритма, которая называется ключом шифра:
T'= E ( T ) = EK ( T ),
здесь K ключ шифра.
Использование принципа Кирхгофа позволяет получить следующие преимущества в построении шифров:
- разглашение конкретного шифра (алгоритма и ключа) не приводит к необходимости полной замены реализации всего алгоритма, достаточно заменить только скомпрометированный ключ;
- ключи можно отчуждать от остальных компонентов системы шифрования хранить отдельно от реализации алгоритма в более надежном месте и загружать их в шифрователь только по мере необходимости и только на время выполнения шифрования это значительно повышает надежность системы в целом;
- появляется возможность для точной оценки «степени неопределенности» алгоритма шифрования она просто равна неопределенности используемого ключа:
H ( EK ) = H ( K ).
Соответственно, становится возможным оценить вероятность и трудоемкость успешного дешифрования, то есть количество вычислительной работы, которую необходимо выполнить злоумышленнику для этого.
Вернемся к необходимому условию абсолютной стойкости шифра для шифров, построенных в соответствии с принципом Кирхгофа. В предположении, что никаких априорных данных о шифруемом тексте кроме его длины нет, получаем, что неопределенность исходного текста равна его длине, выраженной в битах:
H( T ) = | T |.
Максимально возможная неопределенность блока данных фиксированного размера достигается, когда все возможные значения этого блока равновероятны в этом случае она равна размеру блока в битах. Таким образом, неопределенность ключа K не превышает его длины:
.
С учетом сказанного выше получаем необходимое условие абсолютной стойкости для шифров, удовлетворяющих принципу Кирхгофа:
.
Для того, чтобы шифр, построенный по принципу Кирхгофа, был абсолютно стойким, необходимо, чтобы размер использованного для шифрования ключа был не меньше размера шифруемых данных:
.
Точное равенство возможно только в том случае, если все возможные значения ключа равновероятны, что эквивалентно условию, что биты ключа равновероятны и статистически независимы друг от друга.
Примером абсолютно стойкого шифра может служить одноразовая гамма Вернама - наложение на открытые данные (T) ключа (K) такого же размера, составленного из статистически независимых битов, принимающих возможные значения с одинаковой вероятностью, с помощью некоторой бинарной операции:
T' = T K..
Используемая для наложения гаммы операция должна удовлетворять некоторым условиям, которые можно суммировать следующим образом: уравнение зашифрования должно быть однозначно разрешимо относительно открытых данных при известных зашифрованных и ключе, и однозначно разрешимо относительно ключа при известных открытых и зашифрованных данных. Если операция удовлетворяет этому свойству, она подходит. Среди подходящих операций нет подходящих лучше и подходящих хуже, с точки зрения стойкости шифра они все одинаковы - понятие «совершенство» не знает сравнительных степеней, оно либо есть, либо его нет. По указанной причине для практического использования обычно выбирают наиболее удобную в реализации операцию побитовое суммирование по модулю 2 или побитовое исключающее ИЛИ, так как она:
требует для своей реализации минимальной по сложности логики из всех возможных операций;
обратна самой себе, поэтому для за- и расшифрования применяется одна и та же процедура.
Рассмотрим вопрос абсолютной стойкости шифров: как было отмечено ранее, абсолютно стойкие шифры требуют использования ключа, по размеру не меньшего шифруемых данных. Этот ключ должен быть и у отправителя, и у получателя, то есть его необходимо предварительно доставить им, а для этого необходим защищенный канал. Таким образом, наряду с потенциально незащищенным каналом для передачи зашифрованных данных необходимо существование защищенного канала для передачи такого же по размеру ключа. Это не всегда приемлемо по экономическим соображениям, поэтому подобные системы применяются лишь в исключительных случаях для защиты сведений, представляющих особую ценность. В подавляющем большинстве реальных систем шифрованной связи используются алгоритмы, не обладающие абсолютной стойкостью и поэтому называемые несовершенными шифрами.
Естественно, для таких шифров актуален вопрос надежной оценки их стойкости. Для них знание шифротекста позволяет снизить неопределенность соответствующего открытого текста, повысив тем самым вероятность успешного дешифрования. Однако, вопреки распространенному заблуждению, из этого вовсе не следует, что такое дешифрование возможно всегда.Мнение о том, что сообщение, зашифрованное несовершенным шифром всегда можно однозначно дешифровать, если криптоаналитик располагает достаточным по объемы шифротекстом и неограниченными вычислительными возможностями, является чрезмерно грубым упрощением и в общем случае неверно.
Все дело в том, что несколько повысить вероятность успешного дешифрования и сделать ее равной единице - не одно и то же. Данную мысль легко проиллюстрировать на примере: пусть зашифрованию подвергается некий массив битов, ключ имеет размер один бит и шифрование осуществляется по следующим правилам:
если ключ равен 0, инвертируются нечетные по номеру биты исходного текста, нумерация слева направо;
если ключ равен 1, инвертируются четные по номеру биты исходного текста.
Таким образом, E0(01) = 11, E1(01) = 00. Очевидно, что наш шифр не обладает абсолютной стойкостью. Предположим, что перехвачена шифровка «10». Каков исходный текст? Понятно, что он может быть как 00 так и 11 в зависимости от значения ключа, и однозначно определить это невозможно, что и требовалось доказать. Для более серьезных шифров у криптоаналитика будет просто больше «вариантов выбора» открытого текста, и никаких указаний на то, какой из них предпочесть.
Таким образом, вопрос о возможности однозначного дешифрования сообщения, зашифрованного несовершенным шифром, остается открытым. Когда же такое дешифрование возможно? Шеннон в своих работах подробно исследовал этот вопрос. Для анализа он ввел в рассмотрение следующие характеристики шифра, в целях упрощения изложения здесь они приведены для варианта битового представления данных:
1. Функция ненадежности ключа неопределенность ключа при известных n битах шифротекста:
f ( n ) = H( K | T' ), где | T' | = n.
Понятно, что f(n) может быть определена не для всех n..
2. Расстояние единственности шифра такое значение n, при котором функция ненадежности, то есть неопределенность ключа становится близкой к 0. U(E) = n, где n минимальное из тех значений, для которых .
Шеннон показал, что обе определенные выше величины зависят от избыточности открытого текста, причем расстояние единственности прямо пропорционально размеру ключа и обратно пропорционально избыточности:
,
где избыточность исходного текста R определяется следующим соотношением:
.
Сказанное означает, что полностью устранив избыточность открытого текста, мы сделаем невозможным его однозначное дешифрование на основе знания только соответствующего шифротекста, даже если в распоряжении криптоаналитика имеются неограниченные вычислительные возможности. При этом неопределенность исходного текста будет равной неопределенности, и, следовательно, размеру ключа:
H( T ) = H( K ) = | K |
Полное отсутствие избыточности в исходном тексте означает, что какой бы мы не взяли ключ, после расшифрования мы получим «корректные» исходные данные, и оснований предпочесть один вариант другому просто не будет. Из этого, в частности, следует, что в реальной практике перед зашифрованием данные весьма полезно «ужать» каким-либо архиватором. Конечно, полная безизбыточность исходного текста при этом недостижима, однако такое «ужатие» очень сильно затруднит криптоанализ на основе только шифротекста.
Аналогичные числовые характеристики стойкости шифра можно получить и для ситуации, когда в распоряжении криптоаналитика есть не только шифротекст, но и соответствующий открытый текст. Понятно, что они уже не будут зависеть от избыточности исходных сообщений. В этом случае расстояние единственности шифра имеет порядок размера его ключа, то есть весьма мало. В силу указанных причин такой шифр легко вскрывается при неограниченных вычислительных ресурсах аналитика, и при проектировании стойких шифров на первый план выступают уже совершенно другие принципы.
Рассмотрим основные виды угроз.
1. Угрозы со стороны злоумышленника:
1.1. Ознакомление с содержанием переданного сообщения.
1.2. Навязывание получателю ложного сообщения - как полная его фабрикация, так и внесение искажений в действительно переданное сообщение.
1.3. Изъятие переданного отправителем сообщения из системы таким образом, чтобы получатель не узнал о факте передачи сообщения;
1.4. Создание помех для нормальной работы канала передачи связи, то есть нарушение работоспособности канала связи.
2. Угрозы со стороны законного отправителя сообщения:
2.1. Разглашение переданного сообщения.
2.2. Отказ от авторства в действительности переданного им сообщения.
2.3. Утверждение, что некоторое сообщение отправлено получателю когда в действительности отправка не производилась.
3. Угрозы со стороны законного получателя сообщения:
3.1. Разглашение полученного сообщения.
3.2. Отказ от факта получения некоторого сообщения, когда в действительности оно было им получено.
3.3. Утверждение, что некоторое сообщение получено от отправителя, когда в действительности предъявленное сообщение сфабриковано самим получателем.
Как правило, угроза работоспособности канала связи (угроза 1.4) наиболее эффективно достигается нарушением физической среды передачи данных (разрушение линий передачи и узлов обработки данных) или созданием помех («глушение» радиосигнала, бомбардировка системы большим количеством ложных сообщений «спам», и т.д.). Близко к ней находится угроза 1.3 изъятие сообщения из канала связи. Эффективной защиты криптографическими средствами от этих угроз не существует, поэтому они обычно не рассматривается в работах по криптографии, проблема решается другими методами. Так, для устранения угрозы 1.3 обычно используется квитирование - высылка получателем отправителю квитанции (подтверждения) на полученное сообщение. Также в рамках криптографии отсутствует решение, которое бы устранило угрозы 2.1 и 3.1 разглашение секретных данных одной из легальных сторон со «списыванием» этого на другую сторону или на ненадежность канала связи.
Оказалось, что сформулированная выше задача за вычетом угроз 1.3, 1.4, 2.1, 3.1 может быть разделена на три подзадачи, которые решаются независимо друг от друга и характеризуются собственными наборами угроз из приведенного списка:
· «классическая задача криптографии» защита данных от разглашения и искажения при передаче по открытому каналу связи;
· «подпись электронного документа» защита от отказа от авторства сообщения;
· «вручение заказного письма» защита от отказа от факта получения сообщения;
3. Защита передаваемых и хранимых секретных данных от разглашения и искажения
Это исторически первая и до сих пор наиболее важная задача криптографии, в ней учитываются угрозы 1.1 и 1.2 из приведенного выше списка. «Классическая» задача возникает, если создание и использование массивов данных разделены во времени и/или в пространстве, и на своей пространственно-временной «линии жизни» информация оказывается в зоне досягаемости злоумышленника. В первом случае говорят о защите данных при хранении, во втором при передаче. При достаточной общности каждый из вариантов задачи имеет свои особенности, соответственно и методы решения также могут отличаться. В задаче присутствуют две легальные стороны:
· отправитель или источник сообщения (О, назовем его Олегом, чтобы избежать фраз типа «отправитель отправляет, а получатель получает»);
· получатель или приемник сообщения (П, назовем его Петром).
Между отправителем и получателем сообщения есть взаимное доверие, поэтому в качестве злоумышленника может выступать только субъект, отличный от них обоих (С, назовем его Сергей). Олег отправляет Петру сообщение, при этом Сергей может попытаться выполнить одно или несколько следующих действий:
1) чтение сообщений;
2) внесение изменений в реальное переданное сообщение «на лету»;
3) создание нового сообщения и отправка его Петру от имени Олега;
4) повторная передача ранее переданного сообщения;
5) уничтожение переданного сообщения.
Каждое из перечисленных выше действий является атакой на наш информационный процесс. Возможности по доступу к каналу передачи, необходимые для их выполнения, различны, и в реальной ситуации может оказаться, что одни атаки осуществимы, а другие нет. Для реализации атаки №1 необходим доступ к каналу передачи данных на чтение, для атаки №3 на запись, для атаки №4 на чтение и запись. Для осуществления атак №2 и 5 необходим полный контроль над каналом, то есть возможность разорвать его и встроить туда собственные узлы обработки данных, или получить контроль над существующим узлом обработки. Какие из атак доступны злоумышленнику, зависит от конкретных условий протекания информационного процесса от среды передачи данных, от аппаратуры, которой он располагает, и т.д. Так, если средой передачи информации служит радиоэфир, осуществление атак №2 и частично №5 (если не рассматривать «глушение») невозможно, доступны только атаки № 1,3,4. При использовании оптоволоконной линии связи злоумышленнику может быть доступна только атака №1 - незаметно «врезаться» в оптоволоконную линию практически невозможно. Некоторые атаки из приведенного списка могут рассматриваться как последовательное осуществление других из того же списка. Так, атака №2 может рассматриваться как последовательное исполнение атак № 1,5,3, а атака № 4 как исполнение атак №1 и 3, разнесенное по времени.
Сформулируем постановку «классической» задачи криптографии:
1. Законные стороны информационного процесса отправитель и получатель сообщения. Задача первого отправить, а второго получить сообщение и понять его содержание.
2. Процесс считается нормально идущим, если к получателю придет именно то сообщение, которое отправил отправитель, и кроме него никто не сможет ознакомиться с его содержанием. Возможны следующие отклонения от его нормального течения:
· передаваемые данные станут известны кому либо еще помимо законного получателя;
· передаваемые данные будут искажены, то есть получатель получит не то или не в точности то, что отправлено отправителем.
3. Между отправителем и получателем есть взаимное доверие и ни один из них не осуществляет злоумышленных действий, злоумышленником является третья сторона, которая ставит перед собой цели ознакомиться с содержанием переданного сообщения или навязать получателю ложное сообщение, полностью сфабриковав его самостоятельно или исказив переданное отправителем сообщение. Злоумышленник имеет доступ к каналу связи и для осуществления своей цели может «слушать» канал или передавать в него свои данные. В наилучшей для себя ситуации злоумышленник может захватить полный контроль над каналом и ему станут доступны любые манипуляции с переданными данными.
Задача подтверждения авторства сообщения
В этой задаче принимаются во внимание угрозы 2.2 и 3.3 из приведенного выше списка между отправителем и получателем сообщения отсутствует взаимное доверие и возможно возникновение конфликта по поводу переданных данных. Каждый из них может совершать злоумышленные действия, направленные против другой стороны, и по этой причине в системе необходимо наличие инстанции, которая выполняет «арбитражные» функции, то есть в случае конфликта между абонентами решает, кто из них прав, а кто нет эта сторона по вполне понятным причинам называется в криптографии «независимым арбитражем». Вместе с тем, злоумышленник как отдельный субъект информационного процесса здесь отсутствует. Опишем задачу:
Законные стороны информационного процесса отправитель и получатель сообщения.
· отправитель или источник сообщения (О, Олег);
· получатель или приемник сообщения (П, Петр);
· независимый арбитр (А, Антон), разрешающий конфликт между Олегом и Петром в случае его возникновения.
Задача первого отправить, а второго получить сообщение и понять его содержание, задача последнего вынести суждение о том, кто из двух предыдущих участников прав в случае возникновения конфликта между ними.
Процесс считается проходящим нормально, если Петр получит именно то сообщение, которое отправил Олег, и стороны не будут предъявлять претензий друг другу касательно переданных данных. Возможны следующие отклонения от нормального течения процесса:
· отправитель откажется от авторства переданного им сообщения;
· получатель будет утверждать, что некоторое сообщение получено им от отправителя, хотя в действительности тот его не передавал.
Между отправителем и получателем отсутствует взаимное доверие, каждый из них может осуществить злоумышленные действия в отношении другого: Олег может попытаться убедить Антона, что он не отправлял сообщения, которое в действительности отправил Петру. Петр, в свою очередь, может попытаться убедить Антона в том, что он получил некоторое сообщение от Олега, хотя тот его в действительности не отправлял.
Вручение сообщения под расписку
В этой задаче принимаются во внимание угрозы 2.3 и 3.2 из приведенного выше списка между отправителем и получателем сообщения отсутствует взаимное доверие и возможно возникновение конфликта по поводу переданных данных. Каждый из них может совершать злоумышленные действия, направленные против другой стороны, злоумышленник как отдельный субъект информационного процесса здесь также отсутствует.
Законные стороны информационного процесса отправитель и получатель сообщения:
· отправитель или источник сообщения (О, Олег);
· получатель или приемник сообщения (П, Петр).
Задача первого отправить, а второго получить сообщение и понять его содержание.
Процесс считается проходящим нормально, если получатель ознакомится с содержанием полученного сообщения и стороны не будут предъявлять претензий друг другу касательно переданных данных. Возможны следующие отклонения от нормального течения процесса:
· отправитель будет утверждать, что передал получателю сообщение, хотя в действительности не отправлял его;
· получатель ознакомится с содержанием сообщения, но будет утверждать, что никакого сообщения не получал.
Между отправителем и получателем отсутствует взаимное доверие, каждый из них может осуществить злоумышленные действия в отношении другого, Петр может утверждать, что он не получал сообщения, которое в действительности получил и прочитал, а Олег, в свою очередь, может утверждать, что Петр прочитал сообщение, хотя в действительности он его не передавал Петру.
Решением этой задачи может являться такая схема информационного взаимодействия, которая группирует в одну транзакцию два следующих действия, не позволяя ни одному из них осуществиться без другого:
· Олег получает и читает сообщение;
· Петр получает подтверждение о том, что Олег получил сообщение.
Две следующие задачи касаются проблемы обмена ключевой информацией. Для защиты передаваемых по открытым каналам связи данных обычно применяется шифрование, одним из наиболее распространенных вариантов является использование симметричных шифров, то есть шифров с секретным ключом. В таких системах возникает проблема распределения ключевой информации, так как для ее передачи участникам информационного обмена нужен защищенный канал связи. В системах с большим числом абонентов эта проблема превращается в серьезную головную боль администраторов. Способов ее обойти всего два:
· использовать асимметричные алгоритмы шифрования, в которых для процедуры за- и расшифрования используются различные ключи и знание ключа зашифрования не позволяет определить соответствующий ключ расшифрования, поэтому он может быть несекретным и передаваться по открытым каналам связи;
· вырабатывать общий секретный ключ в ходе некоторого сеанса информационного взаимодействия по открытому каналу, организованного таким образом, чтобы ключ было невозможно выработать на основе только перехваченных в канале данных.
Первый подход получил название асимметричного или двухключевого шифрования, второй - открытого распределения ключей.
Кратко перечислим наиболее известные из практических задач криптографии:
1. Синхронный обмен сообщениями. Требуется организовать обмен двух субъектов сообщениями таким образом, чтобы ни один из них, получив сообщение другой стороны, не смог отказаться от передачи своего и не смог сформировать свое сообщение в зависимости от сведений из сообщения другой стороны. В качестве дополнительного условия иногда требуется, чтобы передаваемые сообщения удовлетворяли определенным заранее критериям.
2. Как вариант предыдущей задачи проблема «подписи контракта»: есть два документа в электронной форме и есть процедура выработки цифровой подписи под документами. Требуется организовать обмен подписанными документами между двумя субъектами таким образом, чтобы ни один из них не смог отказаться передавать «свой» подписанный документ, получив подписанный документ от другой стороны. Очевидно, что это вариант предыдущей задачи, в котором «определенный критерий» - это корректность подписи документа, то есть соответствие подписи содержанию.
3. «Передача с забыванием» организовать передачу сообщения одним субъектом другому таким образом, чтобы вероятность получения сообщения была ровно 0,5 и чтобы на эту вероятность никто не мог повлиять.
4. «Бросание монеты по телефону» организовать такое взаимодействие не доверяющих друг другу субъектов через канал передачи данных, которое позволит выработать один бит информации (значение 0 или 1) таким образом, чтобы он был случайным, несмещенным (вероятность каждого исхода равна 0.5), чтобы на исход «бросания монеты» не мог повлиять никто извне («третьи лица»), и чтобы в исходе «бросания» можно было убедить независимый арбитраж при возникновении у участников разногласий о результате.
5. «Сравнение с нулевым разглашением» или «проблема двух миллионеров» два миллионера хотят узнать, кто из них богаче, но при этом никто из них не хочет сообщить другой стороне истинную величину своего состояния. В более общей постановке задача формулируется следующим образом: есть два субъекта, каждый из которых располагает некоторым элементом данных - соответственно a и b, и которые желают совместно вычислить значение некоторой согласованной функции f(a,b). Требуется организовать процедуру вычисления таким образом, чтобы никто из субъектов не узнал значения параметра другого.
6. «(n,k)-пороговая схема» - имеется некоторый ресурс, например зашифрованный набор данных (файл), также есть n субъектов. Необходимо построить процедуру, разрешающую доступ к ресурсу (дающую возможность расшифровать файл), только если его запросят одновременно не менее k субъектов.
7. «Тайное голосование по телефону» имеется n субъектов, взаимодействующих по линиям связи, некоторый вопрос ставится им на голосование, каждый из субъектов может проголосовать либо «за», либо «против». Требуется организовать процедуру голосования таким образом, чтобы можно было вычислить ее исход подсчитать, сколько подано голосов «за» или, в более простом случае, выяснить, что «за» было подано достаточное (большее или равное некоторой величине), или недостаточное (меньшее этой величины) число голосов, и чтобы при этом результаты голосования каждого из субъектов оставались в тайне.
4. Алгоритмы шифрования
Шифрованием (encryption) называют процесс преобразования открытых данных (plaintext) в зашифрованные (шифртекст, ciphertext) или зашифрованных данных в открытые по определенным правилам с применением ключей.
К алгоритмам шифрования предъявляются определенные требования:
· высокий уровень защиты данных против дешифрования и возможной модификации;
· защищенность информации должна основываться только на знании ключа и не зависеть от того, известен алгоритм или нет (правило Киркхоффа);
· малое изменение исходного текста или ключа должно приводить к значительному изменению шифрованного текста (эффект «обвала»);
· область значений ключа должна исключать возможность дешифрования данных путем перебора значений ключа;
· экономичность реализации алгоритма при достаточном быстродействии;
· стоимость дешифрования данных без знания ключа должна превышать стоимость данных.
Классификация алгоритмов шифрования
1. Симметричные (с секретным, единым ключом, одноключевые, single-key).
1.1. Потоковые (шифрование потока данных):
· с одноразовым или бесконечным ключом (infinite-key cipher);
· с конечным ключом (система Вернама - Vernam);
· на основе генератора псевдослучайных чисел (ПСЧ).
1.2. Блочные (шифрование данных поблочно):
1.2.1. Шифры перестановки (permutation, P-блоки);
1.2.2. Шифры замены (подстановки, substitution, S-блоки):
· моноалфавитные (код Цезаря);
· полиалфавитные (шифр Видженера, цилиндр Джефферсона, диск Уэтстоуна, Enigma);
1.2.3. Аналитические преобразования:
§ матричные;
§ по особым зависимостям;
1.2.4. Комбинированные:
· DES (Data Encryption Standard, США);
· Lucipher (IBM, США);
· FEAL-1 (Fast Enciphering Algoritm, Япония);
· IDEA/IPES (International Data Encryption Algorithm/
· Improved Proposed Encryption Standard, фирма Ascom-Tech AG, Швейцария);
· B-Crypt (фирма British Telecom, Великобритания);
· ГОСТ 28147-89 (СССР);
· Skipjack (США).
2. Асимметричные (с открытым ключом, public-key):
· Диффи-Хеллман DH (Diffie, Hellman);
· Райвест-Шамир-Адлeман RSA (Rivest, Shamir, Adleman);
· Эль-Гамаль ElGamal.
Кроме того, есть разделение алгоритмов шифрования на собственно шифры (ciphers) и коды (codes). Шифры работают с отдельными битами, буквами, символами. Коды оперируют лингвистическими элементами (слоги, слова, фразы).
Симметричные алгоритмы шифрования
Симметричные алгоритмы шифрования (или криптография с секретными ключами) основаны на том, что отправитель и получатель информации используют один и тот же ключ. Этот ключ должен храниться в тайне и передаваться способом, исключающим его перехват.
Обмен информацией осуществляется в 3 этапа:
· отправитель передает получателю ключ (в случае сети с несколькими абонентами у каждой пары абонентов должен быть свой ключ, отличный от ключей других пар);
· отправитель, используя ключ, зашифровывает сообщение, которое пересылается получателю;
· получатель получает сообщение и расшифровывает его.
Если для каждого дня и для каждого сеанса связи будет использоваться уникальный ключ, это повысит защищенность системы.
Потоковые шифры
В потоковых шифрах, т. е. при шифровании потока данных, каждый бит исходной информации шифруется независимо от других с помощью гаммирования.
Гаммирование - наложение на открытые данные гаммы шифра (случайной или псевдослучайной последовательности единиц и нулей) по определенному правилу. Обычно используется «исключающее ИЛИ», называемое также сложением по модулю 2 и реализуемое в ассемблерных программах командой XOR. Для расшифровывания та же гамма накладывается на зашифрованные данные.
При однократном использовании случайной гаммы одинакового размера с зашифровываемыми данными взлом кода невозможен (так называемые криптосистемы с одноразовым или бесконечным ключом). В данном случае «бесконечный» означает, что гамма не повторяется.
В некоторых потоковых шифрах ключ короче сообщения. Так, в системе Вернама для телеграфа используется бумажное кольцо, содержащее гамму. Конечно, стойкость такого шифра не идеальна.
Понятно, что обмен ключами размером с шифруемую информацию не всегда уместен. Поэтому чаще используют гамму, получаемую с помощью генератора псевдослучайных чисел (ПСЧ). В этом случае ключ - порождающее число (начальное значение, вектор инициализации, initializing value) для запуска генератора ПСЧ. Каждый генератор ПСЧ имеет период, после которого генерируемая последовательность повторяется. Очевидно, что период псевдослучайной гаммы должен превышать длину шифруемой информации.
Генератор ПСЧ считается корректным, если наблюдение фрагментов его выхода не позволяет восстановить пропущенные части или всю последовательность при известном алгоритме, но неизвестном начальном значении.
При использовании генератора ПСЧ возможны несколько вариантов:
1. Побитовое шифрование потока данных. Цифровой ключ используется в качестве начального значения генератора ПСЧ, а выходной поток битов суммируется по модулю 2 с исходной информацией. В таких системах отсутствует свойство распространения ошибок.
2. Побитовое шифрование потока данных с обратной связью (ОС) по шифртексту. Такая система аналогична предыдущей, за исключением того, что шифртекст возвращается в качестве параметра в генератор ПСЧ. Характерно свойство распространения ошибок. Область распространения ошибки зависит от структуры генератора ПСЧ.
3. Побитовое шифрование потока данных с ОС по исходному тексту. Базой генератора ПСЧ является исходная информация. Характерно свойство неограниченного распространения ошибки.
4. Побитовое шифрование потока данных с ОС по шифртексту и по исходному тексту.
Стойкость гаммирования однозначно определяется длиной периода гаммы. При использовании современных ПСЧ реальным становится использование бесконечной гаммы, что приводит к бесконечной теоретической стойкости зашифрованного текста.
Блочные шифры
При блочном шифровании информация разбивается на блоки фиксированной длины и шифруется поблочно. Блочные шифры бывают двух основных видов:
· шифры перестановки (transposition, permutation, P-блоки);
· шифры замены (подстановки, substitution, S-блоки).
Шифры перестановок переставляют элементы открытых данных (биты, буквы, символы) в некотором новом порядке. Различают шифры горизонтальной, вертикальной, двойной перестановки, решетки, лабиринты, лозунговые и др.
Простая перестановка. Выбирается размер блока шифрования в n столбцов и m строк и ключевая последовательность, которая формируется из натурального ряда чисел 1,2,...,n случайной перестановкой.
Шифрование проводится в следующем порядке:
1. Шифруемый текст записывается последовательными строками под числами ключевой последовательности, образуя блок шифрования размером n*m.
2. Зашифрованный текст выписывается колонками в порядке возрастания номеров колонок, задаваемых ключевой последовательностью.
3. Заполняется новый блок и т.д.
Пример. Зашифруем текст
«ПЕРЕДАЧА_ДАННЫХ_ПО_СЕТИ» блоком размером 8*3 и ключом 5 - 8 - 1 - 3 - 7 - 4 - 6 - 2.
Таблица простой перестановки будет иметь вид:
Зашифрованное сообщение:
РА_А_ _ЕНСАЫТП_ПЧХИДНЕЕДО
Расшифрование выполняется в следующем порядке:
1. Из зашифрованного текста выделяется блок символов размером n*m.
2. Этот блок разбивается на n групп по m символов.
3. Символы записываются в те столбцы таблицы перестановки, номера которых совпадают с номерами групп в блоке. Расшифрованный текст читается по строкам таблицы перестановки.
4. Выделяется новый блок символов и т.д.
Перестановка, усложненная по таблице. При усложнении перестановки по таблицам для повышения стойкости шифра в таблицу перестановки вводятся неиспользуемые клетки таблицы. Количество и расположение неиспользуемых элементов является дополнительным ключом шифрования.
При шифровании текста в неиспользуемые элементы не заносятся символы текста и в зашифрованный текст из них не записываются никакие символы они просто пропускаются. При расшифровке символы зашифрованного текста также не заносятся в неиспользуемые элементы.
Для дальнейшего увеличения криптостойкости шифра можно в процессе шифрования менять ключи, размеры таблицы перестановки, количество и расположение неиспользуемых элементов по некоторому алгоритму, причем этот алгоритм становится дополнительным ключом шифра.
Перестановка, усложненная по маршрутам. Высокую стойкость шифрования можно обеспечить усложнением перестановок по маршрутам типа гамильтоновских. При этом для записи символов шифруемого текста используются вершины некоторого гиперкуба, а знаки зашифрованного текста считываются по маршрутам Гамильтона, причем используются несколько различных маршрутов. Для примера рассмотрим шифрование по маршрутам Гамильтона при n=3.
Структура трехмерного гиперкуба:
Номера вершин куба определяют последовательность его заполнения символами шифруемого текста при формировании блока. В общем случае n-мерный гиперкуб имеет n2 вершин.
Маршруты Гамильтона имеют вид:
Последовательность перестановок символов в шифруемом блоке для первой схемы 5-6-2-1-3-4-8-7, а для второй 5-1-3-4-2-6-8-7. Аналогично можно получить последовательность перестановок для других маршрутов: 5-7-3-1-2-6-8-4, 5-6-8-7-3-1-2-4, 5-1-2-4-3-7-8-6 и т.д.
Размерность гиперкуба, количество и вид выбираемых маршрутов Гамильтона составляют секретный ключ метода.
Стойкость простой перестановки однозначно определяется размерами используемой матрицы перестановки. Например, при использовании матрицы 16*16 число возможных перестановок достигает 1.4*1026. Такое число вариантов невозможно перебрать даже с использованием ЭВМ. Стойкость усложненных перестановок еще выше. Однако следует иметь в виду, что при шифровании перестановкой полностью сохраняются вероятностные характеристики исходного текста, что облегчает криптоанализ.
Шифры замены заменяют элементы открытых данных на другие элементы по определенному правилу. Paзличают шифры простой, сложной, парной замены, буквенно-слоговое шифрование и шифры колонной замены. Шифры замены делятся на две группы:
· моноалфавитные (код Цезаря, квадрат Полибия, метод одноалфавитной замены);
· полиалфавитные (шифр Виженера, цилиндр Джефферсона, диск Уэтстоуна, Enigma и др.).
В моноалфавитных шифрах замены буква исходного текста заменяется на другую, заранее определенную букву.
Шифр Цезаря. В шифре Цезаря буква заменяется на букву, отстоящую от нее в латинском алфавите на некоторое число позиций, т.е. шифр Цезаря реализуется циклическим сдвигом алфавита на некоторое количество букв.
Пример.
Получим ключ, циклически сдвинув алфавит на 3 буквы.
Алфавит: АБВГДЕЖЗИКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ.,!?
Ключ: ГДЕЖЗИКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ.,!?АБВ
Подобные документы
Исследование понятия и классификации видов и методов несанкционированного доступа. Определение и модель злоумышленника. Организация защиты информации. Классификация способов защиты информации в компьютерных системах от случайных и преднамеренных угроз.
реферат [115,1 K], добавлен 16.03.2014Механизм разработки общих рекомендаций для исследуемого учреждения, по обеспечению защиты информации в системах обработки данных и разработке типового пакета документов по недопущению несанкционированного доступа к служебной и секретной информации.
доклад [102,9 K], добавлен 30.04.2011Анализ технологий обработки информации. Построение системы защиты информации, порядок контроля за ее состоянием, определение и анализ угроз. Защита информации, которая циркулирует в системах звукоусиления. Техническая защита банковских операций.
дипломная работа [474,0 K], добавлен 19.10.2011Методы и средства защиты информационных данных. Защита от несанкционированного доступа к информации. Особенности защиты компьютерных систем методами криптографии. Критерии оценки безопасности информационных компьютерных технологий в европейских странах.
контрольная работа [40,2 K], добавлен 06.08.2010Защита информации и ее виды. Роль информационной безопасности. Защита от несанкционированного доступа к информации. Физическая защита данных на дисках. Виды компьютерных вирусов. Защита от вредоносных программ и спамов (антивирусы, хакерские утилиты).
презентация [160,9 K], добавлен 04.10.2014Важнейшие стороны обеспечения информационной безопасности. Технические средства обработки информации, ее документационные носители. Типовые пути несанкционированного получения информации. Понятие об электронной подписи. Защита информации от разрушения.
реферат [138,5 K], добавлен 14.07.2015Виды угроз безопасности в экономических информационных системах: цель, источники, средства реализации. Основные пути несанкционированного доступа к информации. Методы и средства защиты, используемые в АИТ маркетинговой деятельности, их классификация.
реферат [30,1 K], добавлен 12.03.2011Защита от несанкционированного доступа к информации: биометрическая и с использованием паролей. Физическая защита данных на дисках. Понятие вредоносных и антивирусных программ. Компьютерные вирусы, сетевые черви, троянские программы и защита от них.
презентация [2,4 M], добавлен 07.12.2014Наиболее распространённые пути несанкционированного доступа к информации, каналы ее утечки. Методы защиты информации от угроз природного (аварийного) характера, от случайных угроз. Криптография как средство защиты информации. Промышленный шпионаж.
реферат [111,7 K], добавлен 04.06.2013Способы и средства защиты информации от несанкционированного доступа. Особенности защиты информации в компьютерных сетях. Криптографическая защита и электронная цифровая подпись. Методы защиты информации от компьютерных вирусов и от хакерских атак.
реферат [30,8 K], добавлен 23.10.2011