Хеш-функции: понятие и основы
Хэш-функция как один из ключевых инструментов обеспечения парольной защиты данных, а также организации обмена документов. Знакомство с особенностями последовательности действий по защите ключей. Характеристика пакета программ "КРИПТОН® Подпись".
Рубрика | Программирование, компьютеры и кибернетика |
Вид | реферат |
Язык | русский |
Дата добавления | 08.11.2016 |
Размер файла | 632,4 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Размещено на http://www.allbest.ru/
Введение
В самых различных отраслях информационных технологий находят свое применение хэш-функции. Они предназначены для того, чтобы, с одной стороны, значительно упростить обмен данными между пользователями и обработку файлов, используемых в тех или иных целях, с другой -- оптимизировать алгоритмы обеспечения контроля доступа к соответствующим ресурсам. Хэш-функция -- один из ключевых инструментов обеспечения парольной защиты данных, а также организации обмена документов, подписанных с помощью ЭЦП. Существует большое количество стандартов, посредством которых может осуществляться кэширование файлов. Многие из них разработаны российскими специалистами.
1.Требования к хэш-функции
Хэш-функцией называется односторонняя функция, предназначенная для получения дайджеста или "отпечатков пальцев" файла, сообщения или некоторого блока данных.
Хэш-код создается функцией Н:
h = H (M)
Где М является сообщением произвольной длины и h является хэш-кодом фиксированной длины.
Рассмотрим требования, которым должна соответствовать хэш-функция для того, чтобы она могла использоваться в качестве аутентификатора сообщения. Рассмотрим очень простой пример хэш-функции. Затем проанализируем несколько подходов к построению хэш-функции.
Хэш-функция Н, которая используется для аутентификации сообщений, должна обладать следующими свойствами:
1. Хэш-функция Н должна применяться к блоку данных любой длины.
2. Хэш-функция Н создает выход фиксированной длины.
3. Н (М) относительно легко (за полиномиальное время) вычисляется для любого значения М.
4. Для любого данного значения хэш-кода h вычислительно невозможно найти M такое, что Н (M) = h.
5. Для любого данного х вычислительно невозможно найти , что H (y) = H (x).
6. Вычислительно невозможно найти произвольную пару (х, y) такую, что H (y) = H (x).
Первые три свойства требуют, чтобы хэш-функция создавала хэш-код для любого сообщения.
Четвертое свойство определяет требование односторонности хэш-функции: легко создать хэш-код по данному сообщению, но невозможно восстановить сообщение по данному хэш-коду. Это свойство важно, если аутентификация с использованием хэш-функции включает секретное значение. Само секретное значение может не посылаться, тем не менее, если хэш-функция не является односторонней, противник может легко раскрыть секретное значение следующим образом. При перехвате передачи атакующий получает сообщение М и хэш-код С = Н (SAB || M). Если атакующий может инвертировать хэш-функцию, то, следовательно, он может получить SAB || M = H-1 (C). Так как атакующий теперь знает и М и SAB || M, получить SABсовсем просто.
Пятое свойство гарантирует, что невозможно найти другое сообщение, чье значение хэш-функции совпадало бы со значениемхэш-функции данного сообщения. Это предотвращает подделку аутентификатора при использовании зашифрованного хэш-кода. В данном случае противник может читать сообщение и, следовательно, создать его хэш-код. Но так как противник не владеетсекретным ключом, он не имеет возможности изменить сообщение так, чтобы получатель этого не обнаружил . Если данное свойство не выполняется, атакующий имеет возможность выполнить следующую последовательность действий: перехватить сообщение и его зашифрованный хэш-код, вычислить хэш-код сообщения, создать альтернативное сообщение с тем же самым хэш-кодом, заменить исходное сообщение на поддельное. Поскольку хэш-коды этих сообщений совпадают, получатель не обнаружит подмены.
Хэш-функция, которая удовлетворяет первым пяти свойствам, называется простой или слабой хэш-функцией . Если кроме того выполняется шестое свойство, то такая функция называется сильной хэш-функцией. Шестое свойство защищает против класса атак, известных как атака " день рождения ".
Как производится формирование «Базы данных открытых ключей», ее функциональное назначение в системе «Криптон®Подпись»
Пакет программ «КРИПТОН® Подпись» предназначен для использования электронной цифровой подписи (ЭЦП) электронных документов.
ЭЦП обеспечивает:
· установление авторства документов;
· проверку целостности документов.
Для штатной работы с программами пакета «КРИПТОН® Подпись» каждый пользователь, предполагающий использовать ЭЦП в электронном документообороте, снабжается парой ключей - секретным и открытым. Пары ключей создаются на подготовительном этапе с помощью программы «Мастер ключей» либо самостоятельно пользователем, либо специально выделенным администратором.
Секретный ключ пользователя является тем самым ключевым элементом, с помощью которого формируется ЭЦП данного пользователя, поэтому ключевой носитель (дискета, смарт-карта и т. д.), содержащий данный ключ, должен храниться пользователем особо тщательно во избежание подделки своей подписи. Секретный ключ запрашивается программами пакета перед выполнением каких-либо действий. Таким образом, не имея секретного ключа ЭЦП, войти в программы пакета невозможно.
Открытые ключи подписи используются для проверки ЭЦП получаемых документов-файлов. Владелец (или администратор) должен обеспечить наличие своего открытого ключа у всех, с кем он собирается обмениваться подписанными документами. При этом следует исключить возможность подмены открытых ключей как на этапе передачи, так и на этапе их использования.
Используемые пакетом «КРИПТОН® Подпись» ключевые схемы подробно описаны ниже. Кроме того, даны практические рекомендации по защите секретных ключей ЭЦП от несанкционированного копирования или подмены.
Все действия, выполняемые пользователем с помощью программ пакета «КРИПТОН® Подпись», заносятся в специальный журнал, который может быть просмотрен с помощью программы «Менеджер журнала операций».
Целостность электронных документов подтверждается подписью, помещаемой в конец подписываемых документов-файлов. При формировании подписи используется текст документа и секретный ключ.
В качестве электронного документа в программе используется любой файл. При необходимости, несколько владельцев могут подтвердить достоверность документа, т. е. один документ-файл может быть подписан несколько раз. При этом не изменяются ни имя подписываемого файла, ни его расширение. Подписанный файл выглядит следующим образом:
Таблица 1
В ЭЦП записывается следующая информация:
· дата формирования подписи;
· срок окончания действия открытого и секретного ключей;
· информация о лице, сформировавшем подпись (Ф.И.О., должность, краткое наименование фирмы);
· секретный ключ (имя файла секретного ключа);
· собственно код ЭЦП.
ЭЦП может быть записана и в отдельный файл. Этот файл имеет имя, соответствующее подписанному файлу, а расширение - sg*. В данном файле хранится вся вышеуказанная информация, а также имя файла, который был подписан. При таком способе постановки ЭЦП исходный файл не изменяется, что может быть полезно, например, при подписывании файлов программ и динамических библиотек (файлы *.exe, *.dll), а также файлов - документов Microsoft Office, поскольку ЭЦП, хранящаяся в отдельном файле, не изменяет структуру подписанного файла.
Способ подписывания определяется при настройке программ пакета с помощью программы «КРИПТОН® Подпись - Конфигурация».
Ключи ЭЦП представляют собой обычные файлы на дискете или каком-либо другом ключевом носителе. В именах этих файлов используются следующие расширения:
sk - для секретного ключа;
pk - для открытого ключа.
Генерация случайного кода для создания открытого ключа выполняется аппаратно устройством криптографической защиты данных (УКЗД) серии «Криптон» или программно драйвером-эмулятором УКЗД (Crypton Emulator).
Для формирования подписи файла необходимо выбрать этот файл и затем выполнить команду «Поставить подпись».
Команда «Проверить подпись» используется для проверки наличия и подлинности подписи у файла, а также для получения дополнительной информации об авторе документа. Данные команды также выполняются после выбора проверяемого файла.
При необходимости можно удалить последнюю подпись или группу последних подписей. Для этого в программе используется команда «Удалить подпись». Для ее выполнения необходимо также выбрать документы-файлы, у которых удаляются подписи.
Пакет «КРИПТОН® Подпись» предоставляет также разнообразную справочную информацию, которая может быть получена как с помощью пунктов «Справка» или «Помощь» меню программ, так и с помощью кнопок «Справка» различных диалоговых окон. В последнем случае на экран выводится контекстная справочная информация, поясняющая работу именно в данном диалоговом окне, что наиболее удобно при работе с программами пакета.
Пакет программ «КРИПТОН® Подпись» предназначен для использования в операционных системах Windows-95/98/NT, поэтому программы данного пакета функционируют на компьютере, удовлетворяющем следующим требованиям:
· наличие операционной системы Windows-95/98 или Windows NT 4.0;
· наличие УКЗД серии «Криптон» с соответствующим драйвером для Windows-95/98/NT или его программного драйвера-эмулятора для Windows - Crypton Emulator версии 1.4;
· наличие Crypton API для Windows версии 2.25 (входит в поставку УКЗД серии «Криптон» и содержит также драйвер поставляемого УКЗД);
· наличие манипулятора «мышь».
Пакет программ «КРИПТОН® Подпись» поставляется на отдельной дискете емкостью 1,44Мб. На магнитном носителе записаны несколько файлов, названия которых состоят из цифр, и файлы Setup.exe и Readme.txt. Кроме того, на дискете содержатся также ключи для инициализации УКЗД серии «Криптон» или ПО Crypton Emulator - файлы uz.db3 и gk.db3.
При работе с программами пакета «КРИПТОН® Подпись» используется стандартное программное обеспечение, состоящее из Crypton API и Crypton Emulator (при отсутствии УКЗД). Данные продукты должны быть инсталлированы на компьютер до начала инсталляции пакета программ «КРИПТОН® Подпись». Для инсталляции пакета «КРИПТОН® Подпись» следует запустить программу Setup.exe. При запуске программы на экране появится окно стандартной процедуры установки программного обеспечения.
«КРИПТОН® Подпись» поставляется в двух вариантах: вариант для администратора («КРИПТОН® Подпись - Администратор») и вариант для пользователя. Вариант для администратора является полнофункциональным.
После установки пакета программ «КРИПТОН® Подпись» на персональном компьютере, если использовать предлагаемые инсталляционной программой пути и названия, в пусковое меню Windows в группу «Программы\Ancud Software» добавляется новая группа «Signature».
Кроме того, после инсталляции пакета в контекстное меню Windows Explorer («Проводник Windows»), вызываемое по нажатию правой кнопки мыши, добавится расширение, позволяющее подписывать документы-файлы и проверять их ЭЦП, а также в каталоге установки пакета «КРИПТОН® Подпись» будет доступна утилита командной строки SgnCmd.exe.
Работа с ключами электронной цифровой подписи в пакете программ «КРИПТОН® Подпись».
При работе с пакетом «КРИПТОН® Подпись» каждый пользователь должен иметь, как минимум, один секретный ключ для формирования своей подписи и множество открытых ключей для проверки чужих подписей. Понятно, что секретный ключ должен быть недоступен для других. Иначе любой имеющий его может вместо вас подписывать документы.
Открытые ключи не являются секретными, но существует опасность их подмены. Рассмотрим следующую ситуацию.
У других пользователей есть доступ к вашему компьютеру, на котором вы храните открытые ключи. Один из них читает данные (Ф.И.О., должность...) из интересующего его открытого ключа. Далее генерирует секретный и открытый ключи с этими данными, заменяет на вашем компьютере открытый ключ, архивирует любой документ и присылает вам. В этом случае проверка подписи дает результат «подпись лица (Ф.И.О., должность...) верна», что может, мягко говоря, ввести вас в заблуждение. Таким образом, необходима защита и открытых ключей. Такую защиту можно обеспечить несколькими способами.
Таблица 2. Состав персональной дискеты
Секретный и открытый ключи могут быть записаны на персональную дискету, доступ к которой должен быть только у ее владельца. Однако при большом количестве открытых ключей такой вариант нецелесообразен, поскольку замедляется проверка подписи.
Рекомендуется использовать вариант персональной дискеты (или другого носителя), состав которой описан в табл. 1.
В минимальной конфигурации на персональной дискете могут находиться только два собственных ключа. В этом случае в качестве ключа-сертификата (при отсутствии последнего) может использоваться собственный открытый ключ. На этой же дискете рекомендуется хранить файлы для инициализации УКЗД «Криптон» или драйвера-эмулятора: gk.db3, uz.db3.
Рис. 1. Схема работы с ключами
Рассмотрим последовательность действий по защите ключей. В общем случае необходимо выполнить следующую последовательность шагов:
· Создание собственных ключей на персональной дискете. Секретный ключ необходимо закрыть Паролем, который не позволит злоумышленнику воспользоваться им при похищении или копировании его. Также это даст необходимое время для регистрации нового открытого ключа в случае утери дискеты.
· Создание отдельного раздела (каталога) для размещения открытых ключей (например, PK DIR).
· Создание резервных копий открытых ключей, полученных путем прямого обмена с другими пользователями. Эти ключи могут понадобиться при решении спорных вопросов, поэтому необходимо обеспечить их сохранность. С этой целью осуществляют запись открытых ключей в раздел с открытыми ключами (PK DIR), удаляют у них подпись, формируют подпись этих открытых ключей собственным секретным ключом (для обеспечения целостности открытых ключей в процессе работы).
· Создание резервной копии открытых ключей, сертифицированных на ключе-сертификате. Эти открытые ключи записываются в соответствующий раздел (PK DIR). Ключ-сертификат записывается на персональную дискету. Этот вариант предпочтительнее, чем предыдущий.
Таким образом, на персональной дискете будут находиться:
· собственный секретный ключ (обязательно);
· собственный открытый ключ (обязательно, если он используется в качестве открытого ключа для проверки факта сертификации);
· ключ-сертификат (ключей-сертификатов может быть много - по числу сертификационных центров, в которых вы сертифицированы).
Такая организация работы обеспечивает относительную безопасность, поскольку следует помнить, что высококвалифицированный специалист, имеющий доступ к Вашему компьютеру, может изменить работу программ операционной системы с целью искажения результатов проверки подписи или перехвата секретного ключа и пароля. Схема работы с ключами представлена на рисунке (см. рис. 1):
Все пользователи, обменивающиеся документами, предварительно должны обменяться своими открытыми ключами. При этом необходимо исключить подмену на этапе пересылки.
Рис. 2. Прямой обмен открытыми ключами
Предлагается следующий вариант обмена (см. рис. 2):
· Создается персональная дискета с собственными ключами. Секретный ключ закрывается Паролем.
· Для собственного открытого ключа формируется подпись на собственном секретном ключе, и открытый ключ записывается на дискету для передачи.
· Подготавливается юридический документ на бумаге (например, письмо), в котором указываются: данные о владельце (Ф.И.О., должность, место работы), сам открытый ключ (распечатка в шестнадцатеричном виде), полномочия владельца (перечень документов, которые уполномочен удостоверять владелец открытого ключа). Данный документ должен быть оформлен таким образом, чтобы иметь юридическую силу в случае возникновения спорных вопросов о принадлежности подписи и полномочиях владельца. Если в письме не установлено полномочий, то они определяются по должности и месту работы. Например, бухгалтер одного предприятия не может удостоверять платежные поручения другого, а программист не может удостоверять платежные поручения и своего предприятия.
· Дискеты и соответствующие сопроводительные документы направляются по адресам предприятий и пользователей, с которыми будет производиться обмен документами.
Получив такой комплект, необходимо убедиться в юридической силе полученного документа, а также в идентичности копий открытого ключа на дискете и в документе. Если открытый ключ верен, необходимо поместить его в каталог открытых ключей для последующего использования.
Такую операцию по пересылке ключей необходимо выполнить столько раз, сколько существует пользователей, с которыми вы работаете. Это возможно, но для большого числа пользователей неэффективно.
Организуется центр для сертификации пользователей. В СЦ поступают открытые ключи и сопровождающие их документы (см. рис. 3). В ответ пользователь получает:
· зарегистрированные открытые ключи (или базу данных (БД) зарегистрированных открытых ключей) всех владельцев (в том числе и свой);
· файл с полномочиями этих владельцев (и с подписями);
· ключ-сертификат как в виде файла, так и в виде юридического документа.
Владелец при получении должен проверить истинность ключа-сертификата, а затем проверить подписи всех полученных открытых ключей и файлов. Также необходимо проверить свой открытый ключ. При положительных результатах проверки БД открытых ключей записываются в соответствующий каталог.
Время от времени СЦ должен пополнять вашу базу данных открытых ключей и полномочий.
При такой организации работ пользователь формирует подпись документов и не заботится об обмене открытыми ключами и полномочиями. Однако большая нагрузка ложится на СЦ по рассылке баз открытых ключей и полномочий. Кроме этого, администратор этого центра в принципе может включить в БД ложный открытый ключ, что обязательно выявится. Если есть сомнения, можно запросить открытый ключ и полномочия напрямую.
Можно оставить за СЦ только сертификацию ключей и полномочий, освободив его от рассылки БД. В этом случае при первой посылке в любой адрес документов пользователю необходимо послать по этому адресу также зарегистрированные открытые ключи и полномочия. Можно зарегистрироваться в разных не связанных друг с другом СЦ или же связать СЦ в любую сеть для обмена либо только ключами-сертификатами, либо дополнительно еще и базами данных. Тогда пользователю достаточно зарегистрироваться только в одном из СЦ.
Пакет программ «КРИПТОН® Подпись» обеспечивает возможность организации работы по всем описанным выше вариантам.
парольный защита ключ программа
Заключение
Есть много сфер деятельности, где наличие бумажного документа будет необходимым еще долгое время. Например, все операции или сделки, которые должны иметь документальное подтверждение, заверенное и зарегистрированное государственными органами, нотариальными конторами.
Полное замещение бумажных документов электронными произойдет еще не через один год. Одним из факторов бурного распространения электронных документов будет полная компьютеризация всех областей жизни. Второй важный фактор -- наличие систем коммуникации, обеспечивающих обмен электронными документами. Без этого говорить о переходе на безбумажный документооборот бессмысленно.
Список использованных источников
1. Теоретические основы - Безопасность информационных систем-Криптографические системы (http://argosoft.webservis.ru/Base/Crypt.html#Механизмы шифрования)
2. Криптографические алгоритмы с открытым ключом (http://argosoft.webservis.ru/Base/RSAintro.html#Криптографические алгоритмы с открытым ключом)
3. Совpеменные кpиптогpафические методы защиты инфоpмации - Системы с открытым ключом (http://ppt.newmail.ru/crypto04.htm#Heading20 )
4. Криптография с открытым ключом: от теории к стандарту А.Н. Терехов, А.В.Тискин "Программирование РАН", N 5.
Размещено на Allbest.ru
...Подобные документы
Правила использования и инструкция по организации антивирусной и парольной защиты. Порядок обращения с информацией, подлежащей защите. План обеспечения непрерывной работы и восстановления. Договор и соглашение о неразглашении конфиденциальной информации.
лабораторная работа [33,4 K], добавлен 07.12.2010Исследование больших объемов данных, выявление зависимостей, статистические и маркетинговые исследования и построение моделей. Создание проекта разработки статистического пакета. Структура пакета, план его реализации. Выбор инструментов разработки.
курсовая работа [1,3 M], добавлен 20.10.2012Электронная цифровая подпись: понятие, составляющие, назначение и преимущества ее использования. Использование ЭЦП в мире. Правовые основы и особенности использования ЭЦП в Украине. Функция вычисления подписи на основе документа и секретного ключа.
реферат [22,7 K], добавлен 26.12.2009Направления реализации технической политики обеспечения информационной безопасности, разработка документов. Характеристика средств обеспечения конфиденциальности информации: шифрование, электронная цифровая подпись. Алгоритм создания сетевого архива.
реферат [713,2 K], добавлен 15.12.2010Общая характеристика IPsec ка набора протоколов для обеспечения защиты данных, передаваемых по межсетевому протоколу IP. Задачи и функции протокола IPsec, особенности его структуры. Конфиденциальность и распределение секретных ключей в протоколе.
презентация [67,2 K], добавлен 10.09.2013Проблема лицензирования и защиты программного обеспечения от несанкционированного использования и распространения. Ознакомление с платформой по защите ПО с помощью электронных ключей Sentinel HASP: назначение, функции, разновидности и принципы работы.
курсовая работа [268,8 K], добавлен 07.07.2013Свойства и методы формирования криптопараметров и оценка стойкости. Криптографические хэш-функции. Методы и алгоритмы формирования рабочих ключей. Моделирование упрощенной модели электронной цифровой подписи файла с использованием метода Шнорра.
курсовая работа [47,9 K], добавлен 14.12.2012Обмен информации, защищенной от фальсификаций и незаконных пользователей. Распределение секретных ключей с помощью системы с открытым ключом. Разработка модулей системы генерации ключей и обмена конфиденциальной информацией для группы пользователей.
курсовая работа [2,0 M], добавлен 17.11.2011Классификация баз данных. Использование пакета прикладных программ. Основные функции всех систем управления базами данных. Настольная система управления базами данных реляционного типа Microsoft Access. Хранение и извлечение электронных данных.
курсовая работа [962,4 K], добавлен 23.04.2013Электронная цифровая подпись. Асимметричные алгоритмы шифрования. Сценарий распределения открытых ключей, обмен сертификатами. Выбор программных средств. Математическая модель. Скорости Эль-Гамаля для различных длин модулей. Программная реализация.
дипломная работа [461,7 K], добавлен 22.09.2011Регистрация документов как один из видов документационного обеспечения деятельности организации. Формы автоматизации регистрации документов. Функции систем автоматизации делопроизводства и документооборота.
реферат [23,8 K], добавлен 21.03.2006Требования к криптографическим системам защиты информации и их возможности. Условия, которым должна удовлетворять хеш-функция. Алгоритм цифровой подписи Эль-Гамаля (ЕGSА), ее формирование и проверка. Интерфейс программы, реализующей ЭЦП по ЕGSА.
курсовая работа [1,6 M], добавлен 27.11.2014Применение пакета прикладных программ для автоматического учета, оформления почтово-кассовых операций, первичной обработки данных по услугам, оказываемым Почтой России. Открытие операционного дня в системе "WinPost". Формирование отчетных документов.
презентация [2,6 M], добавлен 10.04.2013Знакомство с проблемами обнаружения вредоносного программного обеспечения для мобильных устройств. Анализ функций антивирусного пакета Kaspersky Mobile Security 8.0. Характеристика наиболее распространенных антивирусных программ для мобильных устройств.
реферат [55,1 K], добавлен 11.01.2017Исследование и оценка возможностей работы со следующими разделами библиотеки приложения Simulink пакета программ Matlab: Source, Sinks, Continuous, Math Operation. Функции по представлению полученных в результате моделирования данных в графическом виде.
лабораторная работа [438,9 K], добавлен 23.09.2022Математическая статистика. Выборочная функция распределения. Использование инструментов Мастера функций и Пакета анализа Excel при статистической обработке данных. Анализ однородности выборки. Корреляционный, регрессионный анализ экспериментальных данных.
курсовая работа [473,6 K], добавлен 22.12.2015Понятие и классификация компьютерных вирусов. Методы защиты от вредоносных программ, их разновидности. Признаки заражения компьютера вирусом. Проблема защиты информации. Работа с приложениями пакета MS Office. Анализ файловых вирусов, хакерских утилит.
курсовая работа [2,9 M], добавлен 12.01.2015Создание базы данных в среде MS Access. Создание и работа с базой данных на бирже труда. Алгоритм решения. Выбор пакета прикладных программ. Проектирование форм выходных документов и описание структуры таблиц базы данных. Отчеты по запросам и таблицам.
курсовая работа [2,1 M], добавлен 30.01.2009Создание базы данных в среде MS Access. Создание и работа с базой данных в ателье. Алгоритм решения задачи. Выбор пакета прикладных программ. Проектирование форм выходных документов с использованием СУБД MS Access. Структура записи таблиц базы данных.
курсовая работа [1,6 M], добавлен 30.01.2009История криптографии и ее основные задачи. Основные понятия криптографии (конфиденциальность, целостность, аутентификация, цифровая подпись). Криптографические средства защиты (криптосистемы и принципы ее работы, распространение ключей, алгоритмы).
курсовая работа [55,7 K], добавлен 08.03.2008