Главная страница
Навигация по странице:

  • 2. Однонаправленные хэш-функции Хэш-функция (англ. hash

  • Основы построения хэш-функций Общепринятым принципом построения хэш-функций является итеративная последовательная схема

  • Электронная цифровая подпись 1. Проблема аутентификации данных и электронная цифровая подпись

  • Однонаправленные хэш-функции на основе симметричных блочных алгоритмов

  • Номер схемы Функция хэширования

  • аывыфв. Документ Microsoft Word. Электронная цифровая подпись Проблема аутентификации данных и электронная цифровая подпись


    Скачать 122.36 Kb.
    НазваниеЭлектронная цифровая подпись Проблема аутентификации данных и электронная цифровая подпись
    Анкораывыфв
    Дата16.04.2022
    Размер122.36 Kb.
    Формат файлаdocx
    Имя файлаДокумент Microsoft Word.docx
    ТипДокументы
    #478301
    страница1 из 5
      1   2   3   4   5

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

    1. Проблема аутентификации данных и электронная цифровая подпись

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

    Целью аутентификации электронных документов является их защита от возможных видов злоумышленных действий, к которым относятся:

    • активный перехват - нарушитель, подключившийся к сети, перехватывает документы (файлы) и изменяет их;

    • маскарад - абонент С посылает документ абоненту В от имени абонента А;

    • ренегатство - абонент А заявляет, что не посылал сообщения абоненту В, хотя на самом деле послал;

    • подмена - абонент В изменяет или формирует новый документ и заявляет, что получил его от абонента А;

    • повтор - абонент С повторяет ранее переданный документ, который абонент А посылал абоненту В.

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

    При обработке документов в электронной форме совершенно непригодны традиционные способы установления подлинности по рукописной подписи и оттиску печати на бумажном документе. Принципиально новым решением является электронная цифровая подпись (ЭЦП).

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

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

    Система ЭЦП включает две процедуры: 1) процедуру постановки подписи; 2) процедуру проверки подписи. В процедуре постановки подписи используется секретный ключ отправителя сообщения, в процедуре проверки подписи - открытый ключ отправителя.

    При формировании ЭЦП отправитель прежде всего вычисляет хэш-функцию h(М) подписываемого текста М. Вычисленное значение хэш-функции h(М) представляет собой один короткий блок информации m, характеризующий весь текст М в целом. Затем число m шифруется секретным ключом отправителя. Получаемая при этом пара чисел представляет собой ЭЦП для данного текста М.

    При проверке ЭЦП получатель сообщения снова вычисляет хэш-функцию m = h(М) принятого по каналу текста М, после чего при помощи открытого ключа отправителя проверяет, соответствует ли полученная подпись вычисленному значению m хэш-функции.

    Принципиальным моментом в системе ЭЦП является невозможность подделки ЭЦП пользователя без знания его секретного ключа подписывания.

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

    Каждая подпись содержит следующую информацию:

    • дату подписи;

    • срок окончания действия ключа данной подписи;

    • информацию о лице, подписавшем файл (Ф.И.0., должность, краткое наименование фирмы);

    • идентификатор подписавшего (имя открытого ключа);

    • собственно цифровую подпись.

    2. Однонаправленные хэш-функции

    Хэш-функция (англ. hash - мелко измельчать и перемешивать) предназначена для сжатия подписываемого документа до нескольких десятков или сотен бит. Хэш-функция h(·) принимает в качестве аргумента сообщение (документ) М произвольной длины и возвращает хэш-значение h(М)=Н фиксированной длины. Обычно хэшированная информация является сжатым двоичным представлением основного сообщения произвольной длины. Следует отметить, что значение хэш-функции h(М) сложным образом зависит от документа М и не позволяет восстановить сам документ М.

    Хэш-функция должна удовлетворять целому ряду условий:

    1. хэш-функция должна быть чувствительна к всевозможным изменениям в тексте М, таким как вставки, выбросы, перестановки и т.п.;

    2. хэш-функция должна обладать свойством необратимости, то есть задача подбора документа М', который обладал бы требуемым значением хэш-функции, должна быть вычислительно неразрешима;

    3. вероятность того, что значения хэш-функций двух различных документов (вне зависимости от их длин) совпадут, должна быть ничтожно мала.

    Большинство хэш-функций строится на основе однонаправленной функции f(·), которая образует выходное значение длиной n при задании двух входных значений длиной n. Этими входами являются блок исходного текста М, и хэш-значение Нi-1 предыдущего блока текста (рис.1).


    Рис.1. Построение однонаправленной хэш-функции

    Нi = f(Мi, Нi-1) .

    Хэш-значение, вычисляемое при вводе последнего блока текста, становится хэш-значением всего сообщения М.

    В результате однонаправленная хэш-функция всегда формирует выход фиксированной длины n (независимо от длины входного текста).

    Основы построения хэш-функций

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

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

    Входные данные разбиваются на блоки по (k-n) бит. На каждой итерации хэширования со значением промежуточной величины, полученной на предыдущей итерации, объединяется очередная (k-n)-битная порция входных данных, и над получившимся k-битным блоком производится базовое преобразование. В результате весь входной текст оказывается "перемешанным" с начальным значением вспомогательной величины. Из-за характера преобразования базовую функцию часто называют сжимающей. Значение вспомогательной величины после финальной итерации поступает на выход хэш-функции (рис.2). Иногда над получившимся значением производят дополнительные преобразования. Но в том случае, если сжимающая функция спроектирована с достаточной степенью стойкости, эти преобразования излишни.

    При проектировании хэш-функции по итеративной схеме возникают два взаимосвязанных вопроса: как поступать с данными, не кратными числу (k-n), и как добавлять в хэш-сумму длину документа, если это требуется. Есть два варианта решения этих вопросов. В первом варианте в начало документа перед хэшированием добавляется поле фиксированной длины (например, 32 бита), в котором в двоичном виде записывается исходная длина текста. Затем объединенный блок данных дополняется нулями до ближайшего кратного (k-n) бит размера. Во втором варианте документ дополняется справа одним битом "1", а затем до кратного (k-n) бит размера битами "0". В этом варианте необходимость в поле длины отпадает - никакие два разных документа после выравнивания по границе порций не станут одинаковыми.

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

    1. Проблема аутентификации данных и электронная цифровая подпись

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

    Целью аутентификации электронных документов является их защита от возможных видов злоумышленных действий, к которым относятся:

    • активный перехват - нарушитель, подключившийся к сети, перехватывает документы (файлы) и изменяет их;

    • маскарад - абонент С посылает документ абоненту В от имени абонента А;

    • ренегатство - абонент А заявляет, что не посылал сообщения абоненту В, хотя на самом деле послал;

    • подмена - абонент В изменяет или формирует новый документ и заявляет, что получил его от абонента А;

    • повтор - абонент С повторяет ранее переданный документ, который абонент А посылал абоненту В.

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

    При обработке документов в электронной форме совершенно непригодны традиционные способы установления подлинности по рукописной подписи и оттиску печати на бумажном документе. Принципиально новым решением является электронная цифровая подпись (ЭЦП).

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

    • удостоверяет, что подписанный текст исходит от лица, поставившего подпись;

    • не дает самому этому лицу возможности отказаться от обязательств, связанных с подписанным текстом;

    • гарантирует целостность подписанного текста.

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

    Система ЭЦП включает две процедуры: 1) процедуру постановки подписи; 2) процедуру проверки подписи. В процедуре постановки подписи используется секретный ключ отправителя сообщения, в процедуре проверки подписи - открытый ключ отправителя.

    При формировании ЭЦП отправитель прежде всего вычисляет хэш-функцию h(М) подписываемого текста М. Вычисленное значение хэш-функции h(М) представляет собой один короткий блок информации m, характеризующий весь текст М в целом. Затем число m шифруется секретным ключом отправителя. Получаемая при этом пара чисел представляет собой ЭЦП для данного текста М.

    При проверке ЭЦП получатель сообщения снова вычисляет хэш-функцию m = h(М) принятого по каналу текста М, после чего при помощи открытого ключа отправителя проверяет, соответствует ли полученная подпись вычисленному значению m хэш-функции.

    Принципиальным моментом в системе ЭЦП является невозможность подделки ЭЦП пользователя без знания его секретного ключа подписывания.

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

    Каждая подпись содержит следующую информацию:

    • дату подписи;

    • срок окончания действия ключа данной подписи;

    • информацию о лице, подписавшем файл (Ф.И.0., должность, краткое наименование фирмы);

    • идентификатор подписавшего (имя открытого ключа);

    • собственно цифровую подпись.

    2. Однонаправленные хэш-функции

    Хэш-функция (англ. hash - мелко измельчать и перемешивать) предназначена для сжатия подписываемого документа до нескольких десятков или сотен бит. Хэш-функция h(·) принимает в качестве аргумента сообщение (документ) М произвольной длины и возвращает хэш-значение h(М)=Н фиксированной длины. Обычно хэшированная информация является сжатым двоичным представлением основного сообщения произвольной длины. Следует отметить, что значение хэш-функции h(М) сложным образом зависит от документа М и не позволяет восстановить сам документ М.

    Хэш-функция должна удовлетворять целому ряду условий:

    1. хэш-функция должна быть чувствительна к всевозможным изменениям в тексте М, таким как вставки, выбросы, перестановки и т.п.;

    2. хэш-функция должна обладать свойством необратимости, то есть задача подбора документа М', который обладал бы требуемым значением хэш-функции, должна быть вычислительно неразрешима;

    3. вероятность того, что значения хэш-функций двух различных документов (вне зависимости от их длин) совпадут, должна быть ничтожно мала.

    Большинство хэш-функций строится на основе однонаправленной функции f(·), которая образует выходное значение длиной n при задании двух входных значений длиной n. Этими входами являются блок исходного текста М, и хэш-значение Нi-1 предыдущего блока текста (рис.1).


    Рис.1. Построение однонаправленной хэш-функции

    Нi = f(Мi, Нi-1) .

    Хэш-значение, вычисляемое при вводе последнего блока текста, становится хэш-значением всего сообщения М.

    В результате однонаправленная хэш-функция всегда формирует выход фиксированной длины n (независимо от длины входного текста).

    Основы построения хэш-функций

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

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

    Входные данные разбиваются на блоки по (k-n) бит. На каждой итерации хэширования со значением промежуточной величины, полученной на предыдущей итерации, объединяется очередная (k-n)-битная порция входных данных, и над получившимся k-битным блоком производится базовое преобразование. В результате весь входной текст оказывается "перемешанным" с начальным значением вспомогательной величины. Из-за характера преобразования базовую функцию часто называют сжимающей. Значение вспомогательной величины после финальной итерации поступает на выход хэш-функции (рис.2). Иногда над получившимся значением производят дополнительные преобразования. Но в том случае, если сжимающая функция спроектирована с достаточной степенью стойкости, эти преобразования излишни.

    При проектировании хэш-функции по итеративной схеме возникают два взаимосвязанных вопроса: как поступать с данными, не кратными числу (k-n), и как добавлять в хэш-сумму длину документа, если это требуется. Есть два варианта решения этих вопросов. В первом варианте в начало документа перед хэшированием добавляется поле фиксированной длины (например, 32 бита), в котором в двоичном виде записывается исходная длина текста. Затем объединенный блок данных дополняется нулями до ближайшего кратного (k-n) бит размера. Во втором варианте документ дополняется справа одним битом "1", а затем до кратного (k-n) бит размера битами "0". В этом варианте необходимость в поле длины отпадает - никакие два разных документа после выравнивания по границе порций не станут одинаковыми.

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


    Рис.2. Итерактивная хэш-функция

    Однонаправленные хэш-функции на основе симметричных блочных алгоритмов

    Однонаправленную хэш-функцию можно построить, используя симметричный блочный алгоритм. Наиболее очевидный подход состоит в том, чтобы шифровать сообщение М посредством блочного алгоритма в режиме СВС или СFВ с помощью фиксированного ключа и некоторого вектора инициализации IV. Последний блок шифртекста можно рассматривать в качестве хэш-значения сообщения М. При таком подходе не всегда возможно построить безопасную однонаправленную хэш-функцию, но всегда можно получить код аутентификации сообщения МАС (Message Authentication Code).

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

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

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

    Н0 = Iн,

    Нi = ЕA(В) Å С,

    где Å - сложение по модулю 2 (исключающее ИЛИ); Iн - некоторое случайное начальное значение; А, В, С могут принимать значения Мi, Нi-1, (Мi Å Нi-1) или быть константами.


    Рис.3. Обобщенная схема формирования хэш-функции

    Сообщение М разбивается на блоки Мi принятой длины, которые обрабатываются поочередно.

    Три различные переменные А, В, С могут принимать одно из четырех возможных значений, поэтому в принципе можно получить 64 варианта общей схемы этого типа. Из них 52 варианта являются либо тривиально слабыми, либо небезопасными. Остальные 12 схем безопасного хэширования, у которых длина хэш-значения равна длине блока перечислены в табл.1.

    Таблица 1

    Номер схемы

    Функция хэширования

    1

    Нi = ЕHi-1 ( Мi ) Å Мi

    2

    Нi = ЕHi-1 ( Мi Å Нi-1 ) Å Мi Å Нi-1

    3

    Нi = EHi-1 ( Мi ) Å Мi Å Нi-1

    4

    Нi = ЕHi-1 ( Мi Å Нi-1 ) Å Мi

    5

    Нi = ЕMi ( Нi-1 ) Å Нi-1

    6

    Нi = ЕMi ( Мi Å Нi-1 ) Å Мi Å Нi-1

    7

    Нi = ЕMi ( Нi-1 ) Å Мi Å Нi-1

    8

    Нi = EMi ( Мi Å Нi-1) Å Нi-1

    9

    Нi = ЕMi Å Hi-1 ( Мi ) Å Мi

    10

    Нi = ЕMi Å Hi-1 ( Нi-1) Å Нi-1

    11

    Нi = ЕMi ÅHi-1 ( Mi ) Å Нi-1

    12

    Нi = ЕMi Å Hi-1 ( Нi-1 ) Å Мi
      1   2   3   4   5


    написать администратору сайта