МЕНЮ


Фестивали и конкурсы
Семинары
Издания
О МОДНТ
Приглашения
Поздравляем

НАУЧНЫЕ РАБОТЫ


  • Инновационный менеджмент
  • Инвестиции
  • ИГП
  • Земельное право
  • Журналистика
  • Жилищное право
  • Радиоэлектроника
  • Психология
  • Программирование и комп-ры
  • Предпринимательство
  • Право
  • Политология
  • Полиграфия
  • Педагогика
  • Оккультизм и уфология
  • Начертательная геометрия
  • Бухучет управленчучет
  • Биология
  • Бизнес-план
  • Безопасность жизнедеятельности
  • Банковское дело
  • АХД экпред финансы предприятий
  • Аудит
  • Ветеринария
  • Валютные отношения
  • Бухгалтерский учет и аудит
  • Ботаника и сельское хозяйство
  • Биржевое дело
  • Банковское дело
  • Астрономия
  • Архитектура
  • Арбитражный процесс
  • Безопасность жизнедеятельности
  • Административное право
  • Авиация и космонавтика
  • Кулинария
  • Наука и техника
  • Криминология
  • Криминалистика
  • Косметология
  • Коммуникации и связь
  • Кибернетика
  • Исторические личности
  • Информатика
  • Инвестиции
  • по Зоология
  • Журналистика
  • Карта сайта
  • Баричев С. Криптография без секретов

    В этом случае для защиты также используется электронная подпись.

    Повтор.

    Владимир повторяет ранее переданное сообщение, которое Александра

    посылал ранее Борису . Несмотря на то, что принимаются всевозможные меры

    защиты от повторов, именно на этот метод приходится большинство случаев

    незаконного снятия и траты денег в системах электронных платежей.

    Наиболее действенным методом защиты от повтора являются

    использование имитовставок,

    учет входящих сообщений.

    Возможные нарушения защиты сообщений,. посылаемых пользователем А

    пользователю В.

    Электронная подпись на основе алгоритма RSA

    Наиболее простым и распространенным инструментом электронной подписи

    является уже знакомый алгоритм RSA. Ниже оно будет рассмотрена в качестве

    примера. Кроме этого существуют еще десятки других схем цифровой подписи.

    Предположим, что

    d,p,q - секретные, а е, n=pq - открытые.

    Замечания.

    1. Разложение по n дает: ((n)=(p-1)(q-1); зная ((n) и e, можно найти

    d.

    2. Из e и d можно найти кратность ((n); кратность ((n) позволяет

    определить делители n.

    Пусть DATA - передаваемое Александром Борису сообщение.

    Александр подписывает DATA для Бориса при передаче :

    EeB,nB { EdA,nA {DATA}}.

    При этом он использует:

    закрытый ключ EdA,nA Александра,

    открытый ключ EeB,nB Бориса.

    Борис может читать это подписанное сообщение сначала при помощи

    закрытого ключа EdВ,nВ Бориса с целью получения

    EdA,nA {DATA} = EdB,nB {EeB,nB {EdA,nA {DATA}}}

    и затем - открытого ключа EeA,nA Александра для получения

    DATA = EeA,nA { EdA,nA {DATA}}.

    Таким образом, у Бориса появляется сообщение DATA, посланное ему

    Александром.

    Очевидно, что данная схема позволяет защититься от нескольких видов

    нарушений.

    Александр не может отказаться от своего сообщения, если он признает,

    что секретный ключ известен только ему.

    Нарушитель без знания секретного ключа не может ни сформировать, ни

    сделать осмысленное изменение сообщения, передаваемого по линии связи.

    Данная схема позволяет при решении многих конфликтных ситуаций

    обходиться без посредников.

    Иногда нет необходимости зашифровывать передаваемое сообщение, но нужно

    его скрепить электронной подписью. В этом случае текст шифруется закрытым

    ключом отправителя и полученная цепочка символов прикрепляется к документу.

    Получатель с помощью открытого ключа отправителя расшифровывает подпись и

    сверяет ее с текстом.

    В 1991 г. Национальный институт стандартов и технологии (NIST)

    предложил для появившегося тогда алгоритма цифровой подписи DSA (Digital

    Signature Algorithm) стандарт DSS (Digital Signature Standard), в основу

    которого положены алгоритмы Эль-Гамаля и RSA. [13]

    Цифровая сигнатура

    Часто возникают ситуации, когда получатель должен уметь доказать

    подлинность сообщения внешнему лицу. Чтобы иметь такую возможность, к

    передаваемым сообщениям должны быть приписаны так называемые цифровые

    сигнатуры.

    Цифровая сигнатура - это строка символов, зависящая как от

    идентификатора отправителя, так и содержания сообщения.

    Цифровая сигнатура

    Никто при этом кроме пользователя А не может вычислить цифровую

    сигнатуру А для конкретного сообщения. Никто, даже сам пользователь не

    может изменить посланного сообщения так, чтобы сигнатура осталась

    неизменной. Хотя получатель должен иметь возможность проверить является ли

    цифровая сигнатура сообщения подлинной. Чтобы проверить цифровую сигнатуру,

    пользователь В должен представить посреднику С информацию, которую он сам

    использовал для верификации сигнатуры.

    Если помеченное сигнатурой сообщение передается непосредственно от

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

    речь об истинной цифровой сигнатуре.

    Рассмотрим типичную схему цифровой сигнатуры.

    Пусть Е - функция симметричного шифрования и f - функция отображения

    некоторого множества сообщений на подмножество мощности р из

    последовательности {1, ..., n}.

    Например р=3 и n=9. Если m - сообщение , то в качестве f можно взять

    функцию f(m) = {2, 5, 7}.

    Для каждого сообщения пользователь А выбирает некоторое множество

    ключей K=[K1, ..., Kn} и параметров V={v1, ...,vn} для использования в

    качестве пометок сообщения, которое будет послано В. Множества V и

    V’={E(v1,K1) ..., E(vn,Kn)} посылаются пользователю В и заранее выбранному

    посреднику С.

    Пусть m - сообщение и idm - объединение идентификационных номеров

    отправителя, получателя и номера сообщения. Если f({idm, m}), то цифровая

    сигнатура m есть множество K’=[Ki, ..., Kj}. Сообщение m, идентификационный

    номер idm и цифровая сигнатура К’ посылаются В.

    Получатель В проверяет сигнатуру следующим образом. Он вычисляет

    функцию f({idm, m}) и проверяет ее равенство К’. Затем он проверяет, что

    подмножество {vi, ...,vj} правильно зашифровано в виде подмножества

    {E(vi,Ki) ..., E(vj,Kj)} множества V’.

    В конфликтной ситуации В посылает С сообщение m, идентификационный

    номер idm и множество ключей K’, которое В объявляет сигнатурой m. Тогда

    посредник С так же, как и В, будет способен проверить сигнатуру.

    Вероятность раскрытия двух сообщений с одним и тем же значением функции f

    должна быть очень мала. Чтобы гарантировать это, число n должно быть

    достаточно большим, а число р должно быть больше 1, но меньше n.

    Ряд недостатков этой модели очевиден:

    должно быть третье лицо - посредник, которому доверяют как получатель, так

    и отправитель;

    получатель, отправитель и посредник должны обменяться существенным объемом

    информации, прежде чем будет передано реальное сообщение;

    передача этой информации должна осуществляться в закрытом виде;

    эта информация используется крайне неэффективно, поскольку множества K, V,

    V’ используются только один раз.

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

    информационных системах, в которых необходимо обеспечить аутентификацию и

    защиту передаваемых сообщений.

    Хэш-функции

    Использование цифровой сигнатуры предполагает использование некоторых

    функций шифрования:

    S = H(k, T),

    где S - сигнатура, k - ключ, T - исходный текст.

    Функция H(k, T) - является хэш-функцией, если она удовлетворяет

    следующим условиям:

    1) исходный текст может быть произвольной длины;

    2) само значение H(k, T) имеет фиксированную длину;

    3) значение функции H(k, T) легко вычисляется для любого аргумента;

    4) восстановить аргумент по значению с вычислительной точки зрения -

    практически невозможно;

    5) функция H(k, T) - однозначна[14].

    Из определения следует, что для любой хэш-функции есть тексты-близнецы

    - имеющие одинаковое значение хэш-функции, так как мощность множества

    аргументов неограниченно больше мощности множества значений. Такой факт

    получил название «эффект дня рождения».[15]

    Наиболее известные из хэш-функций - MD2, MD4, MD5 и SHA.

    Три алгоритма серии MD разработаны Ривестом в 1989-м, 90-м и 91-м году

    соответственно. Все они преобразуют текст произвольной длины в 128-битную

    сигнатуру.

    Алгоритм MD2 предполагает:

    дополнение текста до длины, кратной 128 битам;

    вычисление 16-битной контрольной суммы (старшие разряды отбрасываются);

    добавление контрольной суммы к тексту;

    повторное вычисление контрольной суммы.

    Алгоритм MD4 предусматривает:

    дополнение текста до длины, равной 448 бит по модулю 512;

    добавляется длина текста в 64-битном представлении;

    512-битные блоки подвергаются процедуре Damgard-Merkle[16], причем каждый

    блок участвует в трех разных циклах.

    В алгоритме MD4 довольно быстро были найдены «дыры», поэтому он был

    заменен алгоритмом MD5, в котором каждый блок участвует не в трех, а в

    четырех различных циклах.

    Алгоритм SHA (Secure Hash Algorithm) разработан NIST (National

    Institute of Standard and Technology) и повторяет идеи серии MD. В SHA

    используются тексты более 264 бит, которые закрываются сигнатурой длиной

    160 бит. Данный алгоритм предполагается использовать в программе

    Capstone[17].

    Управление ключами

    Кроме выбора подходящей для конкретной ИС криптографической системы,

    важная проблема - управление ключами. Как бы ни была сложна и надежна сама

    криптосистема, она основана на использовании ключей. Если для обеспечения

    конфиденциального обмена информацией между двумя пользователями процесс

    обмена ключами тривиален, то в ИС, где количество пользователей составляет

    десятки и сотни управление ключами - серьезная проблема.

    Под ключевой информацией понимается совокупность всех действующих в ИС

    ключей. Если не обеспечено достаточно надежное управление ключевой

    информацией, то завладев ею, злоумышленник получает неограниченный доступ

    ко всей информации.

    Управление ключами - информационный процесс, включающий в себя три

    элемента:

    генерацию ключей;

    накопление ключей;

    распределение ключей.

    Рассмотрим, как они должны быть реализованы для того, чтобы обеспечить

    безопасность ключевой информации в ИС.

    Генерация ключей

    В самом начале разговора о криптографических методах было сказано, что

    не стоит использовать неслучайные ключи с целью легкости их запоминания. В

    серьезных ИС используются специальные аппаратные и программные методы

    генерации случайных ключей. Как правило используют датчики ПСЧ. Однако

    степень случайности их генерации должна быть достаточно высоким. Идеальным

    генераторами являются устройства на основе “натуральных” случайных

    процессов. Например, появились серийные образцы генерации ключей на основе

    белого радиошума. Другим случайным математическим объектом являются

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

    вычисляются с помощью стандартных математических методов.

    В ИС со средними требованиями защищенности вполне приемлемы

    программные генераторы ключей, которые вычисляют ПСЧ как сложную функцию от

    текущего времени и (или) числа, введенного пользователем.

    Накопление ключей

    Под накоплением ключей понимается организация их хранения, учета и

    удаления.

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

    объектом, открывающим ему путь к конфиденциальной информации, то вопросам

    накопления ключей следует уделять особое внимание.

    Секретные ключи никогда не должны записываться в явном виде на

    носителе, который может быть считан или скопирован.

    В достаточно сложной ИС один пользователь может работать с большим

    объемом ключевой информации, и иногда даже возникает необходимость

    организации мини-баз данных по ключевой информации. Такие базы данных

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

    Итак, каждая информация об используемых ключах должна храниться в

    зашифрованном виде. Ключи, зашифровывающие ключевую информацию называются

    мастер-ключами. Желательно, чтобы мастер-ключи каждый пользователь знал

    наизусть, и не хранил их вообще на каких-либо материальных носителях.

    Очень важным условием безопасности информации является периодическое

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

    обычные ключи, так и мастер-ключи. В особо ответственных ИС обновление

    ключевой информации желательно делать ежедневно.

    Вопрос обновления ключевой информации связан и с третьим элементом

    управления ключами - распределением ключей.

    Распределение ключей

    Распределение ключей - самый ответственный процесс в управлении

    ключами. К нему предъявляются два требования:

    Оперативность и точность распределения

    Скрытность распределяемых ключей.

    В последнее время заметен сдвиг в сторону использования криптосистем с

    открытым ключом, в которых проблема распределения ключей отпадает. Тем не

    менее распределение ключевой информации в ИС требует новых эффективных

    решений.

    Распределение ключей между пользователями реализуются двумя разными

    подходами:

    1. Путем создания одного ли нескольких центров распределения ключей.

    Недостаток такого подхода состоит в том, что в центре распределения

    известно, кому и какие ключи назначены и это позволяет читать все

    сообщения, циркулирующие в ИС. Возможные злоупотребления существенно влияют

    на защиту.

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

    этом случае проблема состоит в том, чтобы надежно удостоверить подлинность

    субъектов.

    В обоих случаях должна быть гарантирована подлинность сеанса связи. Это

    можно обеспечить двумя способами:

    1. Механизм запроса-ответа, который состоит в следующем. Если

    пользователь А желает быть уверенным, что сообщения который он получает от

    В, не являются ложными, он включает в посылаемое для В сообщение

    непредсказуемый элемент (запрос). При ответе пользователь В должен

    выполнить некоторую операцию над этим элементом (например, добавить 1). Это

    невозможно осуществить заранее, так как не известно, какое случайное число

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

    пользователь А может быть уверен, что сеанс является подлинным. Недостатком

    этого метода является возможность установления хотя и сложной

    закономерности между запросом и ответом.

    2. Механизм отметки времени (“временной штемпель”). Он подразумевает

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

    ИС может знать, насколько “старым” является пришедшее сообщение.

    В обоих случаях следует использовать шифрование, чтобы быть уверенным,

    что ответ послан не злоумышленником и штемпель отметки времени не изменен.

    При использовании отметок времени встает проблема допустимого

    временного интервала задержки для подтверждения подлинности сеанса. Ведь

    сообщение с “временным штемпелем” в принципе не может быть передано

    мгновенно. Кроме этого компьютерные часы получателя и отправителя не могут

    быть абсолютно синхронизированы. Какое запаздывание “штемпеля” считать

    подозрительным.

    Поэтому в реальных ИС, например в системах оплаты кредитных карточек

    используется именно второй механизм установления подлинности и защиты от

    подделок. Используемый интервал составляет от одной до нескольких минут.

    Большое число известных способов кражи электронных денег, основано на

    “вклинивании” в этот промежуток с подложными запросами на снятии денег.

    Для обмена ключами можно использовать криптосистемы с открытым ключом,

    используя тот же алгоритм RSA.

    Но весьма эффективным оказался алгоритм Диффи-Хелмана, позволяющий двум

    пользователям без посредников обменяться ключом, который может быть

    использован затем для симметричного шифрования.

    Алгоритм Диффи-Хеллмана

    Диффи и Хелман предложили для создания криптографических систем с

    открытым ключом функцию дискретного возведения в степень.

    Необратимость преобразования в этом случае обеспечивается тем, что

    достаточно легко вычислить показательную функцию в конечном поле Галуа

    состоящим из p элементов. (p - либо простое число, либо простое в любой

    степени). Вычисление же логарифмов в таких полях - значительно более

    трудоемкая операция.

    Если y=(x,, 1

    y над GF(p). Имея x, легко вычислить y. Для этого потребуется 2 ln(x+y)

    операций умножения.

    Обратная задача вычисления x из y будет достаточно сложной. Если p

    выбрано достаточно правильно, то извлечение логарифма потребует вычислений,

    пропорциональных

    L(p) = exp { (ln p ln ln p)0.5 }

    Для обмена информацией первый пользователь выбирает случайное число x1,

    равновероятное из целых 1...p-1. Это число он держит в секрете, а другому

    пользователю посылает число

    y1 = (x mod p

    Аналогично поступает и второй пользователь, генерируя x2 и вычислив y2,

    отправляя его первому пользователю. В результате этого они могут вычислять

    k12 = (x1x2 mod p.

    Для того, чтобы вычислить k12, первый пользователь возводит y2 в

    степень x1. То же делает и второй пользователь. Таким образом, у обоих

    пользователей оказывается общий ключ k12, который можно использовать для

    шифрования информации обычными алгоритмами. В отличие от алгоритма RSA,

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

    Не зная x1 и x2, злоумышленник может попытаться вычислить k12, зная

    только перехваченные y1 и y2. Эквивалентность этой проблемы проблеме

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

    с открытым ключом. Простого решения до настоящего времени не найдено. Так,

    если для прямого преобразования 1000-битных простых чисел требуется 2000

    операций, то для обратного преобразования (вычисления логарифма в поле

    Галуа) - потребуется около 1030 операций.

    Как видно, при всей простоте алгоритма Диффи-Хелмана, вторым его

    недостатком по сравнению с системой RSA является отсутствие гарантированной

    нижней оценки трудоемкости раскрытия ключа.

    Кроме того, хотя описанный алгоритм позволяет обойти проблему скрытой

    передачи ключа, необходимость аутентификации остается. Без дополнительных

    средств, один из пользователей не может быть уверен, что он обменялся

    Страницы: 1, 2, 3, 4, 5


    Приглашения

    09.12.2013 - 16.12.2013

    Международный конкурс хореографического искусства в рамках Международного фестиваля искусств «РОЖДЕСТВЕНСКАЯ АНДОРРА»

    09.12.2013 - 16.12.2013

    Международный конкурс хорового искусства в АНДОРРЕ «РОЖДЕСТВЕНСКАЯ АНДОРРА»




    Copyright © 2012 г.
    При использовании материалов - ссылка на сайт обязательна.