Разработка алгоритмов защиты информации в сетях АТМ
Принципы организации сетей связи, основные системно-технические требования к их построению на технологии АТМ, особенности современного трафика. Характеристика криптографических методов защиты информации. Требования к размещению компьютерной техники.
Рубрика | Коммуникации, связь, цифровые приборы и радиоэлектроника |
Вид | дипломная работа |
Язык | русский |
Дата добавления | 17.05.2012 |
Размер файла | 423,2 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Криптография даёт возможность преобразовать информацию таким образом, что её прочтение (восстановление) возможно только при знании ключа.
В качестве информации, подлежащей шифрованию и дешифрованию, используются тексты, построенные на некотором алфавите. Под этими терминами понимается следующее:
- алфавит - конечное множество используемых для кодирования информации знаков;
- текст - упорядоченный набор из элементов алфавита;
- шифрование - процесс преобразования исходного текста, который носит также название открытого текста, в шифрованный текст;
- дешифрование - процесс, обратный шифрованию, когда на основе ключа шифрованный текст преобразуется в исходный.
Криптографическая система представляет собой семейство Т преобразований открытого текста. Члены этого семейства индексируются, или обозначаютcя символом k; параметр k обычно называется ключом. Преобразование Tk определяется соответствующим алгоритмом и значением ключа k.
Ключ - информация, необходимая для беспрепятственного шифрования и дешифрования текстов.
Пространство ключей К - это набор возможных значений ключа. Обычно ключ представляет собой последовательный ряд букв алфавита.
Криптосистемы подразделяются на симметричные и асимметричные (или с открытым ключом).
В симметричных криптосистемах для шифрования и дешифрования используется один и тот же ключ.
В системах с открытым ключом используется два ключа - открытый и закрытый (секретный), которые математически связаны друг с другом. Информация шифруется с помощью открытого ключа, который доступен всем желающим, а дешифровывается с помощью закрытого ключа, известного только получателю сообщения.
Термины распределения ключей и управления ключами относятся к процессам системы обработки информации, содержанием которых является выработка и распределение ключей между пользователями.
Электронной цифровой подписью (ЭЦП) называется присоединяемое к тексту его криптографическое преобразование, которое позволяет при получении текста другим пользователям проверить авторство и подлинность сообщения.
Криптостойкостью называется характеристика шифра, определяющая его стойкость к дешифрованию без знания ключа (то есть криптоанализу). Имеется несколько показателей криптостойкости, среди которых:
- количество всех возможных ключей;
- среднее время, необходимое для успешной криптоаналитической атаки того или иного вида.
Эффективность шифрования с целью защиты информации зависит от сохранения тайны ключа и криптостойкости шифра.
2.1 Требования к криптографическим системам
Процесс криптографического закрытия данных может осуществляться как программно, так и аппаратно. Аппаратная реализация отличается существенно большей стоимостью, однако ей присущи и преимущества: высокая производительность, простота, защищённость и так далее. Программная реализация более практична, допускает известную гибкость в использовании.
Для современных криптографических систем защиты информации сформулированы следующие общепринятые требования:
- зашифрованные сообщения должны поддаваться чтению только при наличии ключа;
- число операций, необходимых для определения использованного ключа шифрования по фрагменту шифрованного сообщения и соответствующего ему открытого текста, должно быть не меньше общего числа возможных ключей;
- число операций, необходимых для дешифрования информации путём перебора всевозможных ключей должно иметь строгую нижнюю оценку и выходить за пределы возможностей современных компьютеров (с учётом возможности использования сетевых вычислений), или требовать неприемлемо высоких затрат на эти вычисления;
- знание алгоритма шифрования не должно влиять на надёжность защиты;
- незначительные изменения ключа должно приводить к существенному изменению вида зашифрованного сообщения даже при шифровании одного и того же исходного текста;
- незначительные изменения исходного текста должны приводить к существенному изменению вида зашифрованного сообщения даже при использовании одного и того же ключа;
- структурные элементы алгоритма шифрования должны быть неизменными;
- дополнительные биты, вводимые в сообщение в процессе шифрования, должны быть полностью и надёжно скрыты в шифрованном тексте;
- длинна шифрованного текста не должна превосходить длину исходного текста;
- не должно быть простых и легко устанавливаемых зависимостей между ключами, последовательно используемыми в процессе шифрования;
- любой ключ из множества возможных должен обеспечивать надёжную защиту информации;
- алгоритм должен допускать как программную, так и аппаратную реализацию, при этом изменение длины ключа не должно вести к качественному ухудшению алгоритма шифрования.
2.2 Симметричные криптосистемы
Под симметричными криптосистемами понимаются такие криптосистемы, в которых для шифрования и дешифрования используется один и тот же ключ. Для пользователей это означает, что прежде, чем начать использовать систему, необходимо получить общий секретный ключ так, чтобы исключить к нему доступ потенциального злоумышленника. Всё многообразие симметричных криптосистем основывается на следующих базовых классах:
- моно- и многоалфавитные подстановки - это наиболее простой вид преобразований, заключающийся в замене символов исходного текста на другие (того же алфавита) по более или менее сложному правилу. В случае моноалфавитных подстановок каждый символ исходного текста преобразуется в символ шифрованного текста по одному и тому же закону. При многоалфавитной подстановке закон преобразования меняется от символа к символу. Для обеспечения высокой криптостойкости требуется использование больших ключей. К этому классу относится так называемая криптосистема с одноразовым ключом, обладающая абсолютной теоретической стойкостью, но, к сожалению, неудобная для практического применения.
- перестановки - также не сложный метод криптографического преобразования, заключающийся в перестановке местами символов исходного текста по некоторому правилу. Шифры перестановок в настоящее время не используются в чистом виде, так как их криптостойкость недостаточна;
- блочные шифры - представляют собой семейство обратимых преобразований блоков (частей фиксированной длины) исходного текста. Фактически блочный шифр - это система подстановки блоков. В настоящее время блочные шифры наиболее распространены на практике. Российские и американские стандарты шифрования относятся именно к этому классу шифров;
- гаммирование - представляет собой преобразование исходного текста, при котором символы исходного текста складываются (по модулю, равному мощности алфавита) с символами псевдослучайной последовательности, вырабатываемой по некоторому правилу. Собственно говоря, гаммирование нельзя целиком выделить в отдельный класс криптографических преобразований, так как эта псевдослучайная последовательность может вырабатываться, например, с помощью блочного шифра. В случае, если последовательность является истинно случайной (например, снятой с физического датчика) и каждый её фрагмент используется только один раз, мы получаем криптосистему с одноразовым ключом.
2.3 Ассиметричные криптосистемы
Ещё одним обширным классом криптографических систем являются так называемые ассиметричные или двухключевые системы. Эти системы характеризуются тем, что для шифрования и для дешифрования используются разные ключи, связанные между собой некоторой зависимостью. При этом данная зависимость такова, что установить один ключ, зная другой, с вычислительной точки зрения очень трудно.
Один из ключей (например, ключ шифрования) может быть сделан общедоступным, и в этом случае проблема получения общего секретного ключа для связи отпадает. Если сделать общедоступным ключ дешифрования, то на базе полученной системы можно построить систему аутентификации передаваемых сообщений. Поскольку в большинстве случаев один ключ из пары делается общедоступным, такие системы получили также название криптосистем с открытым ключом.
Криптосистема с открытым ключом определяется тремя алгоритмами:
- генерации ключей;
- шифрования;
- дешифрования.
Алгоритм генерации ключей открыт, всякий может подать ему на вход случайную строку r надлежащей длины и получить пару ключей (k1, k2). Один из ключей (например, k1) публикуется, он называется открытым, а второй, называемый секретным, хранится в тайне. Алгоритм шифрования Еk1 и дешифрования Dk2 таковы, что для любого открытого текста m:
Dk2(Ek1(m))=m. (2.3.1)
Рассмотрим теперь гипотетическую атаку злоумышленника на эту систему. Противнику известен открытый ключ k1, но неизвестен соответствующий секретный ключ k2. Противник перехватил криптограмму d и пытается найти сообщение m, где:
d=Ek1(m). (2.3.2)
Поскольку алгоритм шифрования открыт, противник может просто последовательно перебрать все возможные сообщения длины n, вычислить для каждого такого сообщения mi криптограмму di=Ek1(mi) и сравнить di c d. То сообщение, для которого di=d и будет искомым открытым текстом. Если повезёт, то открытый текст будет найден достаточно быстро. В худшем же случае перебор будет выполнен за время порядка 2nT(n), где T(n) - время, требуемое для шифрования сообщения длины n. Если сообщение имеет длину порядка 1000 битов, то такой перебор не осуществим на практике ни на каких самых мощных компьютерах.
Был рассмотрен лишь один из возможных способов атаки на криптосистему и простейший алгоритм поиска открытого текста, называемый обычно алгоритмом полного перебора. Используется также и другое название - метод грубой силы. Другой простейший алгоритм поиска открытого текста - угадывание. Этот очевидный алгоритм требует небольших вычислений, но срабатывает с пренебрежимо малой вероятностью (при больших длинах текстов). На самом деле противник может пытаться атаковать криптосистему различными способами и использовать различные, более изощрённые алгоритмы поиска открытого текста.
Кроме того, злоумышленник может попытаться восстановить секретный ключ, используя знания (в общем случае несекретные) о математической зависимости между открытым и секретным ключами. Естественно считать криптосистему стойкой, если любой такой алгоритм требует практически неосуществимого объёма вычислений или срабатывает с пренебрежимо малой вероятностью. При этом противник может использовать не только детерминированные, но и вероятностные алгоритмы. Это и есть теоретико-сложностный подход к определению сложности. Для его реализации в отношении того или иного типа криптографических систем необходимо выполнить следующее:
- дать формальное определение системе данного типа;
- дать формальное определение стойкости системы;
- доказать стойкость конкретной конструкции системы данного типа.
Здесь сразу же возникает ряд проблем.
Во-первых, для применения теоретико-сложностного подхода необходимо построить математическую модель криптографической системы, зависящую от некоторого параметра, называемого параметром безопасности, который может принимать сколь угодно большие значения (обычно для простоты предполагается, что параметр безопасности может пробегать весь натуральный ряд).
Во-вторых, определение стойкости криптографической системы зависит от той задачи, которая стоит перед противником, и от того, какая информация о схеме ему доступна. Поэтому стойкость систем приходится определять и исследовать отдельно для каждого предположения о противнике.
В-третьих, необходимо уточнить, какой объём вычислений можно считать практически неосуществимым. Из сказанного выше следует, что эта величина не может быть просто константой, она должна быть представлена функцией от растущего параметра безопасности. В соответствии с тезисом Эдмондса алгоритм считается эффективным, если время его выполнения ограниченно некоторым полиномом от длины входного слова (от параметра безопасности). В противном случае говорят, что вычисления по данному алгоритму практически не осуществимы. Заметим также, что сами криптографические системы должны быть эффективными, то есть все вычисления, предписанные той или иной схемой, должны выполняться за полиномиальное время.
В-четвёртых, необходимо определить, какую вероятность можно считать пренебрежимо малой. В криптографии принято считать таковой любую вероятность, которая для любого полинома р и для всех достаточно больших n не превосходит 1/p(n), где n - параметр безопасности.
При наличии всех указанных выше определений, проблема обоснования стойкости криптографической системы свелась к доказательству отсутствия полиномиального алгоритма, который решает задачу, стоящую перед противником. Но здесь возникает ещё одно и весьма серьёзное препятствие: современное состояние теории сложности вычислений не позволяет доказывать сверхполиномиальные нижние оценки сложности для конкретных задач рассматриваемого класса. Из этого следует, что на данный момент стойкость криптографических систем может быть установлена лишь с привлечением каких-либо недоказанных предположений. Поэтому основное направление исследований состоит в поиске наиболее слабых достаточных условий (в идеале - необходимых и достаточных) для существования стойких систем каждого из типов.
В основном, рассматриваются предположения двух типов - общие (или теоретико-сложностные) и теоретико-числовые, то есть предположения о сложности конкретных теоретико-числовых задач. Все эти предположения обычно называются криптографическими.
2.3.1 Односторонние функции и функции-ловушки
Центральным понятием в теории ассиметричных криптографических систем является понятие односторонней функции.
Неформально под односторонней функцией понимается эффективно вычислимая функция, для обращения которой (то есть для поиска хотя бы одного значения аргумента по заданному значению функции) не существует эффективных алгоритмов. При этом, обратная функция может и не существовать.
Под функцией понимается семейство отображений {fn}, где fn: Уn>Уm, m=m(n). Для простоты предполагают, что n пробегает натуральный ряд, а отображения fn определены всюду. Функция f называется честной, если существует полином q(x), такой что для любого n:
q(m(n))?n. (2.3.1.1)
Формально понятие односторонней функции описывается следующим образом: Честная функция f называется односторонней, если:
- существует полиномиальный алгоритм, который для всякого x вычисляет f(x);
- для любой полиномиальной вероятностной машины Тьюринга А выполнено следующее - пусть строка х выбрана случайным образом из множества Уn, тогда для любого полинома р и всех достаточно больших n:
P{f(A(F(x)))=f(x)}<1/p(n). (2.3.1.2)
Второе условие качественно означает следующее: любая полиномиальная вероятностная машина Тьюринга А может по данному y найти х из уравнения f(x)=y лишь с пренебрежимо малой вероятностью. При этом требование честности опустить нельзя. Поскольку длина входного слова f(x) машины А равна m, ей может не хватить полиномиального от m времени просто на выписывание строки х.
Существование односторонних функций является необходимым условием стойкости многих криптосистем.
Фунцкцией-ловушкой называется односторонняя функция, для которой обратную функцию вычислить просто, если имеется некоторая дополнительная информация, и сложно, если такая информация отсутствует.
Криптосистемы с открытым ключом основываются на односторонних функциях-ловушках. При этом открытый ключ определяет конкретную реализацию функции, а секретный ключ даёт информацию о ловушке. Любой, знающий ловушку, может легко вычислять функцию в обоих направлениях, но тот, у кого такая информация отсутствует, может производить вычисления только в одном направлении. Прямое направление используется для шифрования и для верификации цифровых подписей, а обратное - для дешифрования и выработки цифровой подписи.
Во всех криптосистемах с открытым ключом, чем больше длина ключа, тем выше различие между усилиями, необходимыми для вычисления функции в прямом и обратном направлениях (для того, кто не обладает информацией о ловушке).
Все практические криптосистемы с открытым ключом основываются на функциях, считающихся односторонними, но это свойство не было доказано в отношении ни одной из них. Это означает, что теоретически возможно создание алгоритма, позволяющего легко вычислить обратную функцию без знания информации о ловушке. В этом случае, криптосистема, основанная на этой функции, станет бесполезной. С другой стороны, теоретические исследования могут привести к доказательству существования конкретной нижней границы сложности обращения некоторой функции, и это доказательство будет существенным событием, которое окажет значительное позитивное влияние на развитие криптографии.
2.4 Электронные цифровые подписи
Передача сообщения отправителем (пользователь А) получателю (пользователь В) предполагает передачу данных, побуждающих пользователей к определённым действиям. Передача данных может представлять собой передачу фондов между банками, продажу акций или облигаций на автоматизированном рынке, а также передачу приказов (сигналов) по каналам электросвязи. Участники нуждаются в защите от множества злонамеренных действий, к которым относятся:
- отказ - отправитель в последствии отказывается от переданного сообщения;
- фальсификация - получатель подделывает сообщение;
- изменение - получатель вносит изменения в сообщение;
- маскировка - пользователь маскируется под другого.
Для верификации (подтверждения) сообщения М (пользователь А - пользователю В) необходимо следующее:
- отправитель (пользователь А) должен внести в М подпись, содержащую дополнительную информацию, зависящую от М и, в общем случае, от получателя сообщения и известной только отправителю kA;
- необходимо, чтобы правильную подпись М SIG{kA, M, идентификатор В} в сообщении для пользователя В нельзя было составить без kA;
- для предупреждения повторного использования устаревших сообщений процедура составления подписи зависит от времени;
- пользователь В должен иметь возможность удостовериться, SIG{kA, M, идентификатор В} - есть правильная подпись М пользователем А.
Рассмотрим эти пункты подробнее:
1. Подпись сообщения - определённый способ шифрования М путём криптографического преобразования. Закрываемым элементом kA в преобразовании
<Идентификатор В, М>>SIG{kA, M, Идентификатор В} (2.4.1)
является ключ криптопреобразования.
Во всех практических криптографических системах kA принадлежит конечному множеству ключей. Исчерпывающая проверка всех ключей, задаваемая соответствующими парами
<М, Идентификатор В>>SIG{kA, M, Идентификатор В} (2.4.2)
в общем должна привести к определению ключа kА злоумышленником. Если множество К достаточно велико и ключ k определён методом случайного выбора, то полная проверка ключей невозможна. Говоря, что составить правильную подпись без ключа невозможно, имеется в виду, что определение SIG{kA, M, Идентификатор В} без kА с вычислительной точки зрения эквивалентно поиску ключа.
2. Доступ к аппаратуре, программам и файлам системы обработки информации обычно контролируется паролями. Подпись - это вид пароля, зависящий от отправителя, получателя информации и содержания передаваемого сообщения.
3. Подпись должна меняться от сообщения к сообщению для предупреждения её повторного использования с целью проверки нового сообщения. Цифровая подпись отличается от рукописной, которая обычно не зависит от времени составления и данных. Цифровая и рукописная подписи идентичны в том смысле, что они характерны только для данного владельца.
4. Хотя получатель информации не может составить правильную подпись, он должен уметь удостоверять её подлинность. В обычных коммерческих сделках, таких, например, как продажа недвижимой собственности, эту функцию зачастую выполняет третье независимое доверенное лицо (нотариус).
Установление подлинности подписи - это процесс, посредством которого каждая сторона устанавливает подлинность другой. Обязательным условием этого процесса является сохранение тайны. Для того, чтобы в системе обработки данных получатель мог установить подлинность отправителя, необходимо выполнение следующих условий:
- отправитель (пользователь А) должен обеспечить получателя (пользователя В) удостоверяющей информацией AUTH{kA, M, Идентификатор В}, зависящей от секретной информации kА известной только пользователю А;
- необходимо, чтобы удостоверяющую информацию AUTH{kA, M, Идентификатор В} от пользователя А пользователю В можно было дать только при наличии ключа kА;
- пользователь В должен располагать процедурой проверки того, что AUTH{kA, M, Идентификатор В} действительно подтверждает личность пользователя А;
- для предупреждения использования предыдущей проверенной на достоверность информации процесс установления подлинности должен иметь некоторую зависимость от времени.
Установление подлинности и верификация передаваемого сообщения имеют сходные элементы: цифровая подпись является удостоверением подлинности информации с добавлением требования о её зависимости от содержания передаваемого сообщения.
2.4.1 Функции хэширования
Функция хэширования Н представляет собой отображение, на вход которого подаётся сообщение переменной длины М, а выходом является строка фиксированной длины Н(М). В общем случае Н(М) будет гораздо меньшим, чем М, например, Н(М) может быть 128 или 256 бит, тогда как М может быть размером мегабайт или более.
Функция хэширования может служить для обнаружения модификации сообщения. Она может служить в качестве криптографической контрольной суммы (также называемой кодом обнаружения изменений или кодом аутентификации сообщения).
Теоретически возможно, что два различных сообщения могут быть сжаты в одну и ту же свёртку (так называемая ситуация «столкновения»). Поэтому для обеспечения стойкости функции хэширования необходимо предусмотреть способ избегать столкновений. Полностью столкновений избежать нельзя, поскольку в общем случае количество возможных сообщений превышает количество возможных выходных значений функции хэширования, но вероятность столкновений должна быть низкой.
Чтобы функция хэширования Н могла должным образом быть использована в процессе аутентификации, она должна обладать следующими свойствами:
1. Н может быть применена к аргументу любого размера;
2. Выходное значение Н имеет фиксированный размер;
3. Н(х) достаточно просто вычислить для любого х. Скорость вычисления хэш-функции должна быть такой, чтобы скорость выработки и проверки ЭЦП при использовании хэш-функции была значительно больше, чем при использовании самого сообщения;
4. Для любого у с вычислительной точки зрения невозможно найти х, такое что
Н(х)=у; (2.4.1.1)
5. Для любого фиксированного х с вычислительной точки зрения невозможно найти , такое что
. (2.4.1.2)
Свойство 5 гарантирует, что не может быть найдено другое сообщение, дающее ту же свёртку. Это предотвращает подделку и также позволяет использовать Н в качестве криптографической контрольной суммы для проверки целостности.
Свойство 4 эквивалентно тому, что Н является односторонней функцией. Стойкость систем с открытыми ключами зависит от того, что открытое криптопреобразование является односторонней функцией-ловушкой. Напротив, функции хэширования являются односторонними функциями, не имеющими ловушек.
2.5 Управление криптографическими ключами
Помимо выбора подходящих для конкретной информационной системы средств криптографической защиты информации, важной проблемой является управление ключами. Как бы не была сложна и надёжна сама криптосистема, она основана на использовании ключей. Если для обеспечения конфиденциального обмена информацией между двумя пользователями процесс обмена ключами тривиален, то в информационной системе, где количество пользователей составляет сотни и тысячи, управление ключами - серьёзная проблема.
Под ключевой информацией понимается совокупность всех действующих в ИС ключей. Если не обеспечено достаточно надёжное управление ключевой информацией, то, завладев ею, злоумышленник получает неограниченный доступ ко всей информации.
Управление ключами - информационный процесс, включающий в себя три элемента:
- генерацию ключей;
- накопление ключей;
- распределение ключей.
Известно, что не стоит использовать неслучайные ключи с целью лёгкости их запоминания. В серьёзных информационных системах используются специальные аппаратные и программные методы генерации случайных ключей. Как правило, используют датчики псевдослучайных чисел. Степень случайности их генерации должна быть достаточно высокой. Идеальными генераторами являются устройства на основе «натуральных» случайных процессов. Например, появились серийные образцы генерации ключей на основе белого радиошума. Физический датчик случайных чисел встроен в ядро процессора Pentium-III. Другим случайным математическим объектом является десятичные знаки трансцендентных чисел, например р или е, которые вычисляются с помощью стандартных математических методов.
В ИС со средними требованиями защищённости вполне приемлемы программные генераторы ключей, которые вычисляют псевдослучайные числа как сложную функцию от текущего времени и/или числа, введённого пользователем.
Под накоплением ключей понимается организация их хранения, учёта и удаления.
Поскольку ключ является самым привлекательным для злоумышленника объектом, открывающим ему путь к конфиденциальной информации, то вопросам накопления ключей следует уделять особое внимание.
Секретные ключи никогда не должны записываться в явном виде на носители, которые могут быть считаны или скопированы.
В достаточно сложной ИС один пользователь может работать с большим объёмом ключевой информации, и иногда даже возникает необходимость организации мини-баз данных по ключевой информации. Такие базы данных отвечают за принятие, хранение, учёт и удаление используемых ключей.
Каждая информация об используемых ключах должна храниться в зашифрованном виде. Ключи, зашифровывающие ключевую информацию, называются мастер-ключами. Желательно, чтобы мастер-ключи каждый пользователь знал наизусть, и не хранил их вообще на каких-либо материальных носителях.
Очень важным условием безопасности информации является периодическое обновление ключевой информации в ИС. При этом переназначаться должны как обычные ключи, так и мастер-ключи. В особо ответственных ИС обновление ключевой информации желательно делать ежедневно.
Вопрос обновления ключевой информации связан и с третьим элементом управления ключами - распределением ключей.
Для описания алгоритмов и методов потребуются следующие обозначения:
IA - идентификатор стороны А;
DА - секретное криптопреобразование стороны А (с использованием секретного ключа асимметричной криптосистемы);
ЕА - открытое криптопреобразование стороны А (с использованием открытого ключа асимметричной криптосистемы);
ТА - временной штамп стороны А;
RА - случайное число, выбранное стороной А.
2.5.1 Обычная система управления ключами
Распределение ключей - самый ответственный процесс в управлении ключами. К нему предъявляются два требования:
- оперативность и точность распределения;
- скрытность распределяемых ключей.
В рамках симметричной (одноключевой) системы шифрования двум пользователям, желающим установить безопасное взаимодействие, необходимо сначала установить безопасный общий ключ. Одной из возможностей этого является использование третей стороны, такой как курьера. На практике по соображениям безопасности необходимо время от времени менять ключ. Это может сделать использование курьера или другой подобной схемы дорогостоящим и неэффективным.
Альтернативой является получение двумя пользователями общего ключа от центрального органа - центра распределения ключей (ЦРК), с помощью которого они могут безопасно взаимодействовать. Для организации обмена данными между ЦРК и пользователем последнему при регистрации выделяется специальный ключ, которым шифруются сообщения, передаваемые между ними.
Поскольку каждому пользователю выделяется отдельный ключ, его компрометация не приведёт к особо неприятным последствиям. Слабое место этого подхода заключается в следующем: в ЦРК, обладающий доступом к ключам, возможно проникновение злоумышленника. Вследствие концентрации доверия одно нарушение безопасности скомпрометирует всю систему. Кроме того, ЦРК может, например, долгое время участвовать в пассивном подслушивании, прежде чем это будет обнаружено, хотя доказать это может оказаться трудно.
В больших сетях эта процедура может стать узким местом, поскольку каждой паре пользователей, нуждающейся в ключе, необходимо хотя бы один раз обратиться к центральному узлу. Кроме того, сбой центрального органа может разрушить систему ключей. Иерархическая (древовидная) система с пользователями, находящимися на листьях, и центрами распределения ключей в промежуточных узлах является одним из способов смягчения этой проблемы.
Однако, это создаёт новую проблему безопасности, поскольку создаётся множество точек входа для злоумышленника. Более того, данная система будет неэффективной, если пара часто взаимодействующих пользователей не будет находиться в одном поддереве, поскольку в этом случае корень дерева опять окажется узким местом.
Некоторые из этих недостатков можно устранить, применив подход к распределению ключей, основанный на системах с открытым ключом.
2.5.2 Управление ключами, основанное на системах с открытым ключом
До использования криптосистемы с открытым ключом для обмена обычными секретными ключами пользователи А и В должны обменяться своими открытыми ключами. Эта проблема проще, чем обмен секретными ключами, поскольку открытые ключи не требуют секретности при хранении и передаче. Управление открытыми ключами может быть организованно с помощью оперативной или автономной службы каталогов, пользователи могут также обмениваться ключами непосредственно.
Однако проблемой здесь является аутентичность. Если А думает что ЕС в действительности является ЕВ, то А может зашифровать сообщение с помощью ЕС и ненамеренно дать возможность С расшифровать сообщение используя DC. Второй проблемой является целостность: любая ошибка в передаче открытого ключа сделает его бесполезным. Поэтому желательно наличие какой-либо формы обнаружения ошибок.
В независимости от схемы, выбранной для распределения открытых ключей, скорее всего, на каком-либо этапе будет участвовать центральный орган. При этом обмен открытыми ключами между пользователями не требует участия центрального органа, поскольку основной проблемой является аутентичность. Следовательно, последствия компрометации центрального органа будут не столь тяжёлыми, как в случае обычной ключевой системы.
Ещё одним аспектом проблемы является достоверность: открытый ключ пользователя может оказаться недостоверным вследствие компрометации соответствующего секретного ключа или по какой-либо иной причине, например, из-за истечения срока действия. Это создаёт проблему устаревших данных в случае, если открытые ключи хранятся или доступ к ним осуществляется через каталог.
В качестве примера можно привести протокол обмена ключом Диффи-Хеллмана. Системными параметрами этого протокола является большое простое число р и число g, являющееся примитивным элементом GF(p).
Пусть теперь пользователи А и В желают получить общий секретный ключ. Сначала А генерирует случайное число a, которое он держит в секрете, а В генерирует случайное число b, которое он также держит в секрете. Затем они вычисляют и соответственно и передают вычисленные значения друг другу, причём это можно сделать по открытым каналам связи. После этого А вычисляет
, (2.5.2.1)
а В вычисляет
. (2.5.2.2)
Поскольку , у А и В теперь есть общий секретный ключ k.
Протокол Диффи-Хеллмана, однако, является уязвимым для атаки, называемой «человек в середине». Злоумышленник С может перехватить открытое значение, посылаемое от А к В, и послать вместо него своё открытое значение. Затем он может перехватить открытое значение, посылаемое от В к А, и также послать вместо него своё открытое значение. Тем самым С получит общие секретные ключи А и В и сможет читать и/или модифицировать сообщения, передаваемые от одной стороны к другой.
2.5.3 Протоколы обмена секретным ключом
Для защиты от атаки «человек в середине» можно использовать следующий протокол. При этом предполагается, что А и В обладают возможностью проверить аутентичность открытых ключей друг друга.
Предположим, что А и В желают определить общий секретный ключ (К). Предположим далее, что они получили открытые ключи друг друга. Теперь можно использовать трёхэтапный протокол рукопожатия.
А может послать В сообщение
, (2.5.3.1)
где ЕВ - процедура шифрования с открытым ключом В, IA - идентификатор А и RA - случайное число. Теперь В может расшифровать С и получить IA. Теперь В выбирает случайное число RВ и посылает
(2.5.3.2)
А. После расшифрования С' А может в реальном времени проверить, что В получил RA, поскольку только В может расшифровать С.
Наконец, А посылает В
, (2.5.3.3)
и когда В расшифрует С'' он сможет проверить в реальном времени, что А получил RВ, поскольку только А может расшифровать С'. Тем самым А и В аутентифицировали друг друга, то есть каждый из них знает, что они общаются друг с другом.
Теперь А посылает В , В расшифровывает сообщение и получает К. Данная процедура обеспечивает как секретность, так и аутентичность при обмене ключом К.
Рассмотренная выше процедура является вариантом так называемого механизма «запрос-ответ», который заключается в том, что для аутентификации контрагента пользователь направляет ему некоторое непредсказуемое заранее сообщение, на которое тот должен дать ответ, выполнив некоторую заранее обусловленную операцию над сообщением-запросом.
После получения ответа пользователь может быть уверен в подлинности сеанса связи. Недостатком этого метода является возможность установления, хотя и сложной, закономерности между запросом и ответом.
2.5.4 Использование сертификатов
Метод достижения одновременно аутентичности и целостности при распределении открытых ключей заключается в использовании сертификатов. Система, основанная на сертификатах, предполагает, что имеется центральный орган (ЦО), как и в случае распределения секретных ключей.
Далее предполагается, что каждый пользователь может осуществлять безопасное взаимодействие с ЦО. Это относительно просто сделать, поскольку для этого требуется только, чтобы у каждого пользователя был открытый ключ ЦО - ЕЦО. Тогда каждый пользователь А может зарегистрировать в ЦО свой открытый ключ ЕА. Поскольку ЕА является открытым, это можно сделать по почте, по открытому каналу электросвязи и так далее.
Обычно при регистрации в ЦО А будет следовать определённой аутентификационной процедуре. Альтернативным вариантом может быть обработка регистрации системы, имеющая древовидную структуру: ЦО выдаёт сертификаты местным представителям, которые в дальнейшем действуют в качестве посредников в процессе регистрации пользователя на более низких уровнях иерархии.
В любом случае, в ответ А получает сертификат, подписанный ЦО и содержащий ЕА. То есть, ЦО формирует сообщение М, содержащее ЕА, идентификационную информацию для А (IA), период действия сертификата и так далее. Затем ЦО вычисляет
CERTA=DЦО(М), (2.5.4.1)
который и становится сертификатом А. CERTA делается общедоступным документом, который содержит ЕА и одновременно аутентифицирует его, поскольку сертификат подписан ЦО. Сертификаты могут распространяться ЦО, пользователями или использоваться в иерархической системе. Включение срока действия является обобщением временного штампа. Важность временного штампа заключается в защите от использования скомпрометированных ключей.
Однако проблема устаревших данных не может быть решена только с помощью временных штампов, поскольку сертификат может стать недействительным до истечения срока его действия вследствие компрометации или по административным причинам. Поэтому, если сертификаты хранятся у пользователей (а не выдаются каждый раз ЦО при их использовании), ЦО должен время от времени публиковать списки аннулированных сертификатов.
Некоторые свойства рассмотренных схем могут быть объединены в подход, известный под названием «телефонный справочник», с использованием электронного эквивалента, такого как гибкий диск, содержащий сертификаты. Это облегчит использование, поскольку пользователь сможет быстро связаться с другим пользователем, быстро получая доступ к сертификату последнего. Однако, и в этом случае ЦО должен выпускать «горячие списки». Периодическое распространение списков сертификатов будет представлять собой отдельный управленческий процесс. Кроме того, безопасность подобной схемы определённо находится под вопросом, поскольку элементы телефонного справочника могут содержать ошибки или быть намеренно изменены.
2.5.5 Протоколы аутентификации
Предположим, что А желает установить связь с В. Предположим далее, что А получил сертификационный путь от А до В, например, обратившись к каталогу, и использовал этот путь для получения открытого ключа В.
Пусть:
IA - идентификатор стороны А;
DA - секретное криптопреобразование стороны А (секретный ключ);
ЕА - открытое криптопреобразование стороны А (открытый ключ);
ТА - временный штамп стороны А;
RA - случайное число, выбранное стороной А;
СА - сертификат стороны А;
IВ - идентификатор стороны В;
DВ - секретное криптопреобразование стороны В (секретный ключ);
ЕВ - открытое криптопреобразование стороны В (открытый ключ);
ТВ - временный штамп стороны В;
RВ - случайное число, выбранное стороной В.
Идентификаторы - это уникальные имена А и В. Временной штамп, включаемый в сообщение М, содержит также дату истечения срока действия М. Дополнительно он также может включать время создания М. Случайные числа могут быть заменены последовательными числами, которые не должны повторяться в течение срока действия, указанного во временном штампе в том же сеансе связи.
Тогда односторонний протокол аутентификации будет выглядеть следующим образом.
Пользователь А:
- выбирает RA;
- формирует сообщение
М=(ТА, ТА, IВ,<данные>), (2.5.5.1)
где <данные> произвольны, причём, они могут быть зашифрованы с помощью ЕВ, например, когда А передаёт В ключ шифрования данных;
- посылает (СА, DA(М)) пользователю В.
Пользователь В:
- расшифровывает СА и получает ЕА;
- проверяет дату окончания срока действия сертификата;
- использует ЕА для расшифрования DA(М), проверяя как подлинность подписи А, так и целостность подписанной информации;
- проверяет IВ, содержащийся в М, на точность;
- проверяет ТА в М;
- дополнительно проверяет RА, содержащийся в М.
Широкое распространение основанных на интеллектуальных картах систем доступа для различного рода приложений (как гражданского, так и военного назначения) потребовало создать схему обеспечения безопасной аутентификации субъекта. При этом секретный ключ владельца карты становится неотъемлемым признаком его личности, и для обеспечения защиты от возможной компрометации этого ключа был предложен ряд схем, называемых протоколами доказательства с нулевым разглашением или с нулевым знанием (zero-knowledge proofs), в рамках которого субъект может подтвердить свои полномочия, не раскрывая значение своего секретного ключа.
Первая схема подобного рода была предложена в 1986 году Фейге, Фиатом и Шамиром. Суть её состоит в следующем.
Для группы пользователей, которым придётся доказывать свою подлинность, выбирается большое (длиной более 512 бит) случайное целое число n, являющееся произведением двух простых чисел. В процессе аутентификации участвуют две стороны. Сторона А, доказывающая свою подлинность, и сторона В - проверяющая.
Доверенный арбитр (центр распределения ключей) выбирает некоторое целое число v, являющееся квадратичным вычетом по модулю n, то есть существует x:
x2=v(mod n), (2.5.5.2)
и взаимно простое с n. Это значение v передаётся А в качестве открытого ключа. Затем вычисляется наименьшее значение s, такое что
s=(v-1)1/2(mod n). (2.5.5.3)
Это значение будет секретным ключом стороны А.
После этого протокол аутентификации выглядит следующим образом:
- сторона А выбирает случайное число r: 0<r<n, затем она вычисляет
x=r2mod n (2.5.5.4)
и отправляет его стороне В;
- сторона В посылает А случайный бит b;
- если b=0, то А отправляет В число r, если же b=1, то А отправляет В
y=rs(mod n); (2.5.5.5)
- если b=0, то В проверяет, что x=r2mod n, чтобы убедиться, что А знает квадратный корень из х, если же b=1, то сторона В проверяет, что
x=y2v(mod n), (2.5.5.6)
чтобы убедиться, что А знает квадратный корень из v-1.
Эти шаги образуют один цикл протокола. Стороны повторяют этот цикл t раз при разных случайных значениях r и b. Если сторона А не знает значения s, она может выбрать такое r, которое позволит ей обмануть В в случае b=0 или b=1, но не в обоих случаях одновременно. Вероятность обмана в одном цикле составляет 0.5. Вероятность обмана в t циклах равна 2-t.
Недостатком данной схемы является большое число циклов протокола, необходимое для доказательства с требуемой вероятностью, если эта вероятность достаточно мала. Способ, требующий только одного раунда обмена, но требующий большого объёма вычислений был предложен Гиллоу и Куискуотером.
Пусть I - идентификационная информация стороны А (или значение её хэш-функции), n - открытое произведение двух секретных простых чисел, v - открытое значение (показатель степени).
Секретный ключ g стороны А выбирается так, что
Igv=1(mod n). (2.5.5.7)
Сторона А отправляет В свои идентификационные данные I. Протокол доказательства выглядит следующим образом:
- А выбирает случайное целое r, такое, что 1<r<n-1 и вычисляет
T=rv(mod n) (2.5.5.8)
и отправляет это значение стороне В;
- В выбирает случайное целое d: 1<d<n-1 и отправляет это число стороне А;
- А вычисляет
D=rgd(mod n) (2.5.5.9)
и отправляет это значение В;
- В вычисляет
T'=DvId(mod n) (2.5.5.10)
и проверяет выполнение равенства Т=Т', если оно выполняется, то проверка считается завершённой успешно.
В самом деле,
T=DvId=(rgd)vId=rvgdvId=rv(Igv)d=rv?T(mod n). (2.5.5.11)
2.5.6 Анонимное распределение ключей
Если мы полагаем, что пользователи сами не могут выбирать собственные ключи, то они должны пользоваться услугами центра распределения ключей. Проблема заключается в том, что ключи должны распределяться так, чтобы никто не мог определить, кто получил какой ключ. Процедура распределения ключей в этом случае может выглядеть так:
- А выбирает пару <открытый ключ, секретный ключ> (для этого протокола он держит оба ключа в секрете);
- ЦРК генерирует непрерывный поток ключей;
- ЦРК шифрует ключи, один за другим, своим открытым ключом;
- ЦРК передаёт зашифрованные ключи, один за другим, в сеть;
- А выбирает ключ случайным образом;
- А шифрует выбранный ключ своим открытым ключом;
- А ожидает некоторое время и посылает дважды зашифрованный ключ обратно в ЦРК;
- ЦРК расшифровывает дважды зашифрованный ключ своим секретным ключом, оставляя ключ зашифрованным один раз открытым ключом А;
- ЦРК посылает зашифрованный ключ назад пользователю А;
- А расшифровывает ключ своим секретным ключом.
2.6 Имитозащита информации
2.6.1 Защита от навязывания ложной информации
В теории защиты информации рассматривается защита от двух классов воздействий - случайных и преднамеренных. Защита информации, передаваемой по каналам связи, от случайных помех осуществляется с помощью её помехоустойчивого кодирования. При таком кодировании в информацию вносится избыточность (добавляется контрольная сумма, вычисленная по определённому алгоритму), и на приёмном конце с использованием этой избыточности производится обнаружение и/или исправление ошибок, внесённых в сообщение при его передаче.
Однако с помощью помехоустойчивого кодирования трудно обеспечить защиту от преднамеренных воздействий на сообщение, так как алгоритмы кодирования являются открытыми и известны злоумышленнику. В этом случае он может модифицировать сообщение и затем вновь вычислить контрольную сумму, а затем передать изменённое сообщение получателю. Он также может навязывать ложную информацию, создавая собственные сообщения, кодируя их помехоустойчивым кодом и передавая их в канал связи.
Защита канала шифрованной связи от навязывания ложной информации носит название имитозащиты.
Для обеспечения имитозащиты необходимо, чтобы злоумышленник не имел возможности создавать правильные сообщения (то есть те, которые на приёмном конце канала будут восприняты как правильные).
Это возможно путём внесения избыточности в сообщения подобно тому, как это делается в случае защиты от случайных помех. В этом случае алгоритм внесения избыточности должен быть скрыт от злоумышленника. Обычно процедура защиты строится на основе некоторой криптографической системы. К сообщению добавляется отрезок информации фиксированной длины, вычисленный по определённому правилу на основе открытых данных и ключа, называемый имитовставкой. В открытые данные, используемые для выработки имитовставки, помимо собственно текста сообщения может быть включена и служебная информация, такая как дата и время отправки сообщения, регистрационный номер сообщения и так далее. В этом случае можно обеспечить также защиту от повторной передачи ранее переданного правильного сообщения.
Подобные документы
Угрозы передаваемой информации в сетях сотовой связи. Анализ методов обеспечения безопасности речевой информации, передаваемой в сетях сотовой связи стандарта GSM. Классификация методов генерации псевдослучайных последовательностей, их характеристики.
дипломная работа [2,0 M], добавлен 28.07.2013Задачи защиты информации в информационных и телекоммуникационных сетях. Угрозы информации. Способы их воздействия на объекты защиты информации. Традиционные и нетрадиционные меры и методы защиты информации. Информационная безопасность предприятия.
курсовая работа [347,8 K], добавлен 08.09.2008Объекты защиты информации. Технические каналы утечки информации. Экранирование электромагнитных волн. Оптоволоконные кабельные системы. Особенности слаботочных линий и сетей как каналов утечки информации. Скрытие информации криптографическим методом.
реферат [937,8 K], добавлен 10.05.2011Требования к системам телекоммуникаций. Классификация нарушений передачи информации. Криптографические системы. Общие критерии оценки безопасности информационных технологий. Защита информации в сетях с технологией ATM.
учебное пособие [480,3 K], добавлен 03.05.2007Принципы построения систем передачи информации. Характеристики сигналов и каналов связи. Методы и способы реализации амплитудной модуляции. Структура телефонных и телекоммуникационных сетей. Особенности телеграфных, мобильных и цифровых систем связи.
курсовая работа [6,4 M], добавлен 29.06.2010Графическая структура защищаемой информации. Пространственная модель контролируемых зон, моделирование угроз информации и возможных каналов утечки информации в кабинете. Моделирование мероприятий инженерно-технической защиты информации объекта защиты.
курсовая работа [2,9 M], добавлен 19.06.2012Принцип действия беспроводных сетей и устройств, их уязвимость и основные угрозы. Средства защиты информации беспроводных сетей; режимы WEP, WPA и WPA-PSK. Настройка безопасности в сети при использовании систем обнаружения вторжения на примере Kismet.
курсовая работа [175,3 K], добавлен 28.12.2017Особенности защиты информации в автоматизированных системах. Краткое описание стандартов сотовой связи. Аутентификация и шифрование как основные средства защиты идентичности пользователя. Обеспечение секретности в процедуре корректировки местоположения.
курсовая работа [553,5 K], добавлен 13.01.2015Математическая основа построения систем защиты информации в телекоммуникационных системах. Особенности методов криптографии. Принципы, методы и средства реализации защиты данных. Основы ассиметричного и симметричного шифрования-дешифрования информации.
курсовая работа [46,9 K], добавлен 13.12.2013Основные термины в технологии защиты потоков SDH и суть одного из методов обеспечения быстрого восстановления работоспособности синхронных сетей. Требования, предъявляемые к линейным кодам волоконно-оптических систем передачи, кодирование сигнала.
контрольная работа [436,0 K], добавлен 09.07.2009