Содержание
ОГЛАВЛЕНИЕ
ВВЕДЕНИЕ3
1 ТЕОРЕТИЧЕСКИЕ И ПРАВОВЫЕ ОСНОВЫ ИСПОЛЬЗОВАНИЯ ЭЛЕКТРОННОЙ ЦИФРОВОЙ ПОДПИСИ8
1.1 Понятие «электронная цифровая подпись»8
1.2 Нормативно-правовая основа использования ЭЦП15
2 ПРИМЕНЕНИЕ ЭЦП25
2.1 Использование ЭЦП в гражданских сделках25
2.2 Использование ЭЦП в коммерческих сделках30
2.3 Использование ЭЦП в международной практике38
3 АНАЛИЗ НАУЧНОЙ ЛИТЕРАТУРЫ ПО ВОПРОСУ ПРОБЛЕМ В ИСПОЛЬЗОВАНИИ ЭЦП43
ЗАКЛЮЧЕНИЕ58
ЛИТЕРАТУРА63
Выдержка из текста работы
Научно-техническая революция в последнее время приняла грандиозные масштабы в области информатизации общества на базе современных средств вычислительной техники, связи, а также современных методов автоматизированной обработки информации. Вычислительные системы и сети становятся глобальными как в смысле территориальной распределености, так и в смысле широты охвата в рамках единых технологий процессов сбора, передачи, накопления, хранения, поиска, переработки информации и выдачи ее для использования.
Информация в современном обществе — одна из самых ценных вещей в жизни, требующая защиты от несанкционированного проникновения лиц, не имеющих к ней доступа.
В 60-х и частично в 70-х годах проблема защиты информации решалась достаточно эффективно применением в основном организационных мер. К ним относились, прежде всего, режимные мероприятия, охрана, сигнализация и простейшие программные средства защиты информации. Эффективность использования указанных средств достигалась за счет концентрации информации на вычислительных центрах, как правило, автономных, что способствовало обеспечению защиты относительно малыми средствами.
«Рассредоточение» информации по местам ее хранения и обработки, чему в немалой степени способствовало появление в огромных количествах дешевых персональных компьютеров и построенных на их основе локальных и глобальных национальных и транснациональных сетей ЭВМ, использующих спутниковые каналы связи, создание высокоэффективных систем разведки и добычи информации, обострило ситуацию с защитой информации .
Проблема обеспечения необходимого уровня защиты информации оказалась (и это предметно подтверждено как теоретическими исследованиями, так и опытом практического решения) весьма сложной. Она требует для своего решения не просто осуществления некоторой совокупности научных, научно-технических и организационных мероприятий и применения специфических средств и методов, а создания целостной системы организационных мероприятий и применения специфических средств и методов по защите информации.
На современном этапе развития информационно-технических средств передачи и хранения информации одним из подходов защиты информации является применение криптографических методов защиты, основанных на принципе Киркхгофа, который гласит о том, что секретность криптографического алгоритма основывается на секретности ключа, а не на секретности алгоритма шифрования.
Данная работа посвящена проблемам
· распределения ключей для криптографических алгоритмов;
· обмена информации защищенной от фальсификаций и незаконных пользователей.
1.1 Электронная цифровая подпись
Электронная цифровая подпись (ЭЦП) -(англ. digital signature) — последовательность символов, полученная в результате криптографического преобразования исходной информации (криптографическая защита информации основана на функциональном преобразовании информации и используется с целью скрыть содержание информации), которая позволяет подтверждать целостность и неизменность этой информации, а также ее авторство.
Системы электронной цифровой подписи (далее — ЭЦП) являются разделом криптографии.
В настоящее время ЭЦП используется в основном для аутентификации автора (создателя) информации и для доказательства (проверки) того факта, что подписанное сообщение или данные не были модифицированы при передаче информации в компьютерных сетях.
Механизм электронной цифровой подписи (ЭЦП) возник как побочный эффект криптографии с открытым ключом. Поэтому, характерное для систем с открытым ключом разделение ключа на 2 части — секретную и несекретную, позволяет реализовать возможность проверки подлинности без возможности подписать другой документ.
Итак, цифровая подпись это конечная цифровая последовательность, зависящая от самого сообщения или документа и от секретного ключа, известного только подписывающему субъекту, предназначенная для установления авторства. Так как цифровая подпись строится на базе криптосистемы с открытым ключом, то необходимо иметь пару ключей — секретный и открытый. Секретный ключ используется для формирования цифровой подписи, поэтому его нужно хранить в тайне. А открытый ключ используется для проверки соответствия подписи документу, поэтому он должен быть опубликован, например, в общедоступном каталоге.
Предположим, что абонент A уже сформировал свою пару секретного и открытого ключей и на их основе построил функции DKA(x) и EKA(x). Причем для любого x должно выполнятся равенство EKA(DKA(x)) = x. Функцию DKA(x) будем называть функцией подписи сообщения x, а функцию EKA(x) функцией проверки подписи для сообщения x. В дальнейшем будем отождествлять функции DKA(x) и EKA(x) с секретным и открытым ключами пользователя A соответственно. Надо заметить, что функции DKA(x) и EKA(x) связаны (так как связаны секретный и открытый ключи), однако по опубликованной функции EKA(x) вычислительно невозможно восстановить функцию DKA(x).
Рассмотрим схему взаимодействия отправителя (A) и получателя (B), которая позволяет B проверить подлинность передаваемого сообщения.
1. A создает сообщение x, которое он собирается подписать и вычисляет подпись DKA(x).
2. A передает B пару (x,DKA(x)).
3. B проверяет равенство EKA(DKA(x)) = x. В случае совпадения обоих величин B принимает решение о подлинности сообщения x, в противном случае B принимает решение считать сообщение x искаженным.
Рассмотренный протокол взаимодействия имеет следующий недостаток: так как функция EKA(x) — опубликована, то злоумышленник C может для любого z вычислить EKA(z) и предать в канал связи пару (EKA(z),z). Несложно видеть, что в этом случае z, будет подписью для EKA(z). Для предотвращения такой возможности пользователи должны подписывать не сами сообщения, а их хэши, то есть значения хэш-функции от сообщения.
Напомним определение хэш-функции.
Функция h:X -> M называется хэш функцией, если выполнены следующие условия:
1. Постоянство размера — для входного массива данных любого размера результатом должен быть блок данных фиксированного размера.
2. Функция h(x) легко вычислима
3. Функцию h(x) трудно инвертировать, то есть почти для всех m из M трудно найти x из X такой, что h(x) = m.
4. Для данного x сложно найти x’ неравный x такой, что h(x) = h(x’).
5. Сложно найти пару (x, x’) из X2 такую, что x неравен x’ и h(x) = h(x’).
Где M — множество векторов фиксированной длины, а X — вектора произвольной длины. Пара (x, x’) из X2 такая, что x неравно x’ и h(x) = h(x’) называется коллизией хэш-функции h.
Помимо устранения рассмотренной выше возможности создания подписи без знания секретного ключа, использование хэш-функции решает еще одну проблему: дело в том, что функции EKA(x) и DKA(x) оперируют с блоками данных фиксированного размера, а размер сообщения может превышать этот размер. Без использования хэш-функции подписывать сообщение x пришлось бы следующим образом:
x = (x1,..,xk) \to ( (x1,DKA(x1)),.., (xk,DKA(xk))).
Где x1,..,xk — вектора фиксированной длины, совпадающей с длиной входа функций EKA(x) и DKA(x). Подобная подпись обладает следующими недостатками:
· для больших документов слишком сильно загружается процессор, так как прийдеться много раз вычислять функцию DKA(xi).
· злоумышленник может набрать достаточно большой набор пар (xi, DKA(xi)) и сам формировать сообщения из фрагментов.
Модифицированный протокол выглядит таким образом:
1. A создает сообщение x, которое он собирается подписать и вычисляет его хэш h(x), после чего подписывает DKA(h(x)).
2. A передает B пару (x,DKA(h(x))).
3. B проверяет равенство EKA(DKA(h(x))) = h(x). В случае совпадения обоих величин B принимает решение о подлинности сообщения x, в противном случае B принимает решение считать сообщение x искаженным.
В этом протоколе возможность подделки подписи может быть основана на нахождении коллизии хэш-функции, то есть по известному значению h(x) найти x’ такой, что h(x) = h(x’). Для предотвращения этой возможности нельзя использовать непроверенные функции. Как правило, стойкие к коллизиям хэш-функции описаны в государственном стандарте. В Российской Федерации этот стандарт носит название ГОСТ Р 34.11-94, в США — описывается документами FIPS 180-1 и FIPS 180-2, а в Евросоюзе рекомендуется использование стандарта Whirlpool. Отечественный стандарт хэширования был принят в 1994 году и с тех пор не изменялся, размер хэш-блока для него составляет 256 бит. В США изначально действовал стандарт SHS (secure hash standard), где размер хэш-блока был равен 160 бит. Однако в 2002 году стандарт был пересмотрен: прежний остался действовать и получил обозначение SHA-1, но к нему были добавлены три новых алгоритма, вырабатывающие хэш-блоки размером 256,384 и 512 бит, названные SHA-256/384/512 соответственно.
Рисунок 1.1-Алгоритм электронной цифровой подписи.
1.2 Асимметричные алгоритмы шифрования
Развитие основных типов криптографических протоколов (ключевой обмен, электронно-цифровая подпись (ЭЦП), аутентификация и др) было бы невозможно без создания открытых ключей и построенных на их основе ассиметричных протоколов шифрования.
Основная идея асимметричных криптоалгоритмов состоит в том, что для шифрования сообщения используется один ключ, а при дешифровании — другой. Кроме того, процедура шифрования выбрана так, что она необратима даже по известному ключу шифрования — это второе необходимое условие асимметричной криптографии. То есть, зная ключ шифрования и зашифрованный текст, невозможно восстановить исходное сообщение — прочесть его можно только с помощью второго ключа — ключа дешифрования. А раз так, то ключ шифрования для отправки писем какому-либо лицу можно вообще не скрывать — зная его все равно невозможно прочесть зашифрованное сообщение. Поэтому, ключ шифрования называют в асимметричных системах «открытым ключом», а вот ключ дешифрования получателю сообщений необходимо держать в секрете — он называется «закрытым ключом».
Таким образом, мы избавляемся от необходимости решать сложную задачу обмена секретными ключами.
Напрашивается вопрос: «Почему, зная открытый ключ, нельзя вычислить закрытый ключ ?» — это третье необходимое условие асимметричной криптографии — алгоритмы шифрования и дешифрования создаются так, чтобы зная открытый ключ, невозможно вычислить закрытый ключ.
В целом система переписки при использовании асимметричного шифрования выглядит следующим образом. Для каждого из N абонентов, ведущих переписку, выбрана своя пара ключей: «открытый» Ej и «закрытый» Dj, где j — номер абонента. Все открытые ключи известны всем пользователям сети, каждый закрытый ключ, наоборот, хранится только у того абонента, которому он принадлежит. Если абонент, скажем под номером 7, собирается передать информацию абоненту под номером 9, он шифрует данные ключом шифрования E9 и отправляет ее абоненту 9. Несмотря на то, что все пользователи сети знают ключ E9 и, возможно, имеют доступ к каналу, по которому идет зашифрованное послание, они не могут прочесть исходный текст, так как процедура шифрования необратима по открытому ключу. И только абонент №9, получив послание, производит над ним преобразование с помощью известного только ему ключа D9 и восстанавливает текст послания. Заметьте, что если сообщение нужно отправить в противоположном направлении (от абонента 9 к абоненту 7), то нужно будет использовать уже другую пару ключей (для шифрования ключ E7, а для дешифрования — ключ D7).
Как мы видим, во-первых, в асимметричных системах количество существующих ключей связано с количеством абонентов линейно (в системе из N пользователей используются 2*N ключей), а не квадратично, как в симметричных системах. Во-вторых, при нарушении конфиденциальности k-ой рабочей станции злоумышленник узнает только ключ Dk: это позволяет ему читать все сообщения, приходящие абоненту k, но не позволяет вывадавать себя за него при отправке писем.
Технология применения
Технология применения систем ЭЦП рассчитана на сеть абонентов, посылающих друг другу электронные документы, например платежные поручения. Абонентами могут быть клиенты банка и сам банк в системах клиент банк или банки при обмене документами в межбанковской сети. Некоторые из этих абонентов могут только проверять подписанные другими сообщения, другие (назовем их абонентами с правом подписи) могут как проверять, так и подписывать сообщения. Кроме того, могут быть случаи, когда кто-либо может ставить свою ЭЦП только в качестве второй подписи после подписи определенного абонента-начальника (например, директор бухгалтер); это не меняет существа дела.
Далее, возможны две ситуации: либо в этой сети есть центр (абонент, наделенный особыми полномочиями), либо все абоненты с правом подписи равноправны. Не исключен, однако, и вариант, при котором функции центра рассредоточены по нескольким «локальным центрам». В сетях с центрами могут быть заложены разные степени «доверия» центра к абонентам. Образно говоря, сети могут быть «тоталитарными» и «демократическими», т.е. центры в сетях могут (потенциально) либо полностью контролировать абонента, либо выполнять чисто формальные функции администрирования, скажем, по приему в сеть новых абонентов.
Архитектура алгоритмов ЭЦП
Поскольку подпись под важным документом может иметь далеко идущие последствия, перед подписанием необходимо предусмотреть определенные меры предосторожности. В случае программной реализации, как правило, секретный ключ подписывающего хранится на его личной дискете, защищенной от копирования. Однако этого бывает недостаточно, ведь дискету могут похитить или просто потерять. Следовательно, необходима защита от несанкционированного доступа к секретной информации (ключу). Естественным решением этой проблемы является парольная защита. Паролем могут защищаться не только функции (опции) постановки подписи и генерации ключей, но и функции, изменяющие содержимое каталога открытых ключей абонентов сети, и др.
В случае программной реализации необходимо проверить, нет ли в системе «криптовирусов», которые могут нанести существенный вред. Например, в момент подписания «криптовирусы» могут перехватить секретные ключи (и скопировать их в нужное место). Кроме того, при проверке подписи они могут заставить систему «сказать», что подпись верна, хотя она на самом деле неверна. Можно представить себе «криптовирус», который, попав в систему лишь один-единственный раз в момент генерации ключей, «поможет» системе сгенерировать слабые ключи. Например, если ключи генерируются на основе датчика случайных чисел, который использует встроенный таймер, вирус может изменить показания таймера, а потом восстановить «статус кво». Впоследствии эти ключи могут быть легко вскрыты злоумышленником. Далее этот вирус уже не нужен, он сделал свое дело. Против таких «криптовирусов» имеется только одна защита — загрузка с «чистой» системной дискеты, и использование «чистого», «родного» программного продукта.
Постановка подписи
Чтобы поставить ЭЦП под конкретным документом, необходимо проделать довольно большой объем вычислительной работы. Эти вычисления разбиваются на два этапа.
1. Генерация ключей. На этом этапе для каждого абонента генерируется пара ключей: секретный и открытый. Секретный ключ хранится абонентом в тайне. Он используется для формирования подписи. Открытый ключ связан с секретным особым математическим соотношением. Открытый ключ известен всем другим пользователям сети и предназначен для проверки подписи. Его следует рассматривать как необходимый инструмент для проверки, позволяющий определить автора подписи и достоверность электронного документа, но не позволяющий вычислить секретный ключ.
Возможны два варианта проведения этого этапа. Естественным представляется вариант, когда генерацию ключей абонент может осуществлять самостоятельно. Не исключено, однако, что в определенных ситуациях эту функцию целесообразно передать центру, который будет вырабатывать для каждого абонента пару ключей секретный и открытый и заниматься их распространением. Второй вариант имеет ряд преимуществ административного характера, однако обладает принципиальным недостатком у абонента нет гарантии, что его личный секретный ключ уникален. Другими словами, можно сказать, что здесь все абоненты находятся «под колпаком» центра, и центр может подделать любую подпись.
2. Подписание документа. Прежде всего, документ «сжимают» до нескольких десятков или сотен байтов с помощью так называемой хеш-функции, значение которой сложным образом зависит от содержания документа, но не позволяет восстановить сам документ.
Далее, к полученному значению хеш-функции применяют то или иное математическое преобразование (в зависимости от выбранного алгоритма ЭЦП), и получают собственно подпись документа.
Эта подпись может быть составлена из читаемых символов (букв), но часто ее представляют в виде последовательности произвольных «нечитаемых» символов. ЭЦП может храниться вместе с документом, например стоять в его начале или конце, либо в отдельном файле. Естественно, в последнем случае для проверки подписи необходимо располагать как самим документом, так и файлом, содержащим его ЭЦП.
Проверка подписи
При проверке подписи проверяющий должен располагать открытым ключом абонента, поставившего подпись. Этот ключ должен быть аутентифицирован, т.е. проверяющий должен быть полностью уверен, что данный ключ соответствует именно тому абоненту, который выдает себя за его «хозяина». Если абоненты самостоятельно обмениваются ключами, эта уверенность может подкрепляться связью по телефону, личным контактом или любым другим способом. Если же абоненты действуют в сети с выделенным центром, открытые ключи абонентов подписываются (сертифицируются) центром, и непосредственный контакт абонентов между собой (при передаче или подтверждении подлинности ключей) заменяется контактами каждого из них в отдельности с центром.
Процедура проверки подписи состоит из двух этапов: вычисления хеш-функции документа и проведения математических вычислений, определяемых алгоритмом подписи. Последние заключаются в проверке того или иного соотношения, связывающего хеш-функцию документа, подпись под этим документом и открытый ключ подписавшего абонента.
Если рассматриваемое соотношение оказывается выполненным, то подпись признается правильной, а сам документ подлинным, в противном случае документ считается измененным, а подпись под ним недействительной.
Стандарты и сертификаты
Система ЭЦП должна решать задачу предотвращения подделки подписи. Не так давно (после долгих споров, продвинувших науку вперед) в США был принят стандарт на электронную подпись. Для чего он нужен? Во-первых, для получения уверенности в том, что сделанное в соответствии со стандартом средство реализации ЭЦП является криптостойким. Во-вторых, стандарт обеспечивает патентную чистоту. В частности, алгоритм RSA запатентован в США.
Некоторые банки используют в качестве основы своей системы ЭЦП известный пакет программ Pretty Good Privacy (PGP), созданный под руководством Филипа Циммермaннa (Philip Zimmermann). Хотя он свободно рaспрострaняется по сетям, это не означает, что его можно безнаказанно использовать существует патентное законодательство. Кроме того, в банках обнаружено несколько закладок (в частности против систем, построенных на основе пакета программ PGP), при помощи которых были подделаны электронные документы (см. статью А.Щербакова, упомянутую выше).
Попросту говоря, стандарт это достаточно подробное описание алгоритмов, по которым вычисляется и проверяется подпись.
Подчеркнем, что под стандартом на подпись понимается только стандарт на криптографический алгоритм. Многие существенные детали в стандарте не оговорены (например, способ распространения открытых ключей, способ генерации псевдослучайных чисел и др.). Это, вообще говоря, может привести к тому, что разные средства, осуществляющие функции ЭЦП (каждое из которых соответствует стандарту!), окажутся несовместимыми между собой.
В России приняты стандарты: ГОСТ Р 34.10-94 «Процедуры выработки и проверки электронной цифровой подписи на базе асимметричного криптографического алгоритма» и ГОСТ Р 34.11-94 «Функция хеширования». В основу ГОСТ Р 34.10-94 положена однонаправленная функция, основанная на дискретном возведении в степень.
Можно быть вполне уверенным, что алгоритм из стандарта ГОСТ Р 34.10-94 обладает высокой криптографической стойкостью. Однако пользователя мало интересуют премудрости криптографии. Он должен быть убежден, что его подпись никто подделать не сможет и если программа определила, что такое-то сообщение подписал А. Б. Иванов, то его на самом деле подписал именно А. Б. Иванов и он не сможет от этого отпереться.
Для осуществления этой цели необходимо выполнить целую систему требований, одним из которых является криптографическая стойкость алгоритма ЭЦП (именно она и обеспечивается стандартом). Примерами других требований являются содержание в тайне секретного ключа подписывающего и обеспечение достоверности его открытого ключа.
Гарантией надежности может служить сертификация продукта Федеральным агентством правительственной связи и информации (ФАПСИ). Сертификация — это процесс, в результате которого подтверждается соответствие требованиям стандарта. Однако в данном случае имеется тонкость, состоящая в том, что стандарт определяет процедуру выработки и проверки электронной цифровой подписи, а сертифицируется средство, реализующее эту процедуру. При сертификации необходимо проверять соответствие сертифицируемого средства требованиям не только стандарта, но и целому ряду других требований (по надежности, отсутствию закладок, качеству протоколов и т.д.). Ясно, что работа по сертификации требуют высочайшей квалификации, весьма ответственна и трудоемка, а поэтому и длительна. В США, например, процесс сертификации занимает более года. Здесь банкам надо выбирать между надежными сертифицированными средствами реализации функции ЭЦП и средствами, может быть, более современными, но не прошедшими еще сертификации, а значит и менее надежными).В связи с этим может возникнуть ситуация, когда выбор на рынке средств, реализующих процедуру выработки и проверки ЭЦП, окажется небольшим, что поставит банки перед необходимостью покупать не очень удобное средство или платить непомерно высокую цену. Будем надеяться, что подготавливаемые нормативные акты по реализации законодательных положений, регулирующих применение средств обеспечения подлинности информации учтут требования антимонопольного законодательства.
Атаки на ЭЦП
Стойкость большинства схем ЭЦП зависит от стойкости асимметричных алгоритмов шифрования и хэш-функций.
Существует следующая классификация атак на схемы ЭЦП:
— атака с известным открытым ключом.
— Атака и известными подписанными сообщениями — противник, кроме открытого ключа имеет и набор подписанных сообщений.
— Простая атака с выбором подписанных сообщений — противник имеет возможность выбирать сообщения, при этом открытый ключ он получает после выбора сообщения.
— Направленная атака с выбором сообщения
— Адаптивная атака с выбором сообщения.
Каждая атака преследует определенную цель, которые можно разделить на несколько классов:
— полное раскрытие. Противник находит секретный ключ пользователя
— универсальная подделка. Противник находит алгоритм, функционально аналогичный алгоритму генерации ЭЦП
— селективная подделка. Подделка подписи под выбранным сообщением.
— экзистенциальная подделка. Подделка подписи хотя бы для одного случайно выбранного сообщения.
На практике применение ЭЦП позволяет выявить или предотвратить следующие действия нарушителя:
— Отказ одного из участников авторства документа.
— Модификация принятого электронного документа.
— Подделка документа.
— Навязывание сообщений в процессе передачи — противник перехватывает обмен сообщениями и модифицирует их.
— Имитация передачи сообщения.
Так же существуют нарушения, от которых невозможно оградить систему обмена сообщениями — это повтор передачи сообщения и фальсификация времени отправления сообщения. Противодействие данным нарушениям может основываться на использовании временных вставок и строгом учете входящих сообщений.
Некоторые средства работы с ЭЦП
В настоящее время существует большое количество комплексов для работы с электронной подписью, или использующие ее. Приведем некоторые из них:
Наиболее известный — это пакет PGP (Pretty Good Privacy) — (www.pgpi.org), без сомнений являющийся на сегодня самым распространенным программным продуктом, позволяющим использовать современные надежные криптографические алгоритмы для защиты информации в персональных компьютерах.
К основным преимуществам данного пакета, выделяющим его среди других аналогичных продуктов следует отнести следующие:
1. Открытость. Исходный код всех версий программ PGP доступен в открытом виде. Любой эксперт может убедиться в том, что в программе эффективно реализованы криптоалгоритмы. Так как сам способ реализации известных алгоритмов был доступен специалистам, то открытость повлекла за собой и другое преимущество — эффективность программного кода.
2. Стойкость. Для реализации основных функций использованы лучшие (по крайней мере на начало 90-х) из известных алгоритмов, при этом допуская использование достаточно большой длины ключа для надежной защиты данных.
3. Бесплатность. Готовые базовые продукты PGP (равно как и исходные тексты программ) доступны в Интернете в частности на официальном сайте PGP Inc.
4. Поддержка как централизованной (через серверы ключей) так и децентрализованной (через «сеть доверия») модели распределения открытых ключей.
5.Удобство программного интерфейса. PGP изначально создавалась как продукт для широкого круга пользователей, поэтому освоение основных приемов работы отнимает всего несколько часов
Текущая версия — 7.0.3 для платформ Windows 9x/NT/2000, MacOS.
GNU Privacy Guard (GnuPG)
GnuPG (www.gnupg.org) — полная и свободно распространяемая замена для пакета PGP. Этот пакет не использует патентованный алгоритм IDEA, и поэтому может быть использован без каких-нибудь ограничений. GnuPG соответствует стандарту RFC2440 (OpenPGP).
Текущая версия — 1.0.4, платформы — Unices, Windows 9x/NT
Криптон
Пакет программ КРИПТОН®Подпись (http://www.ancud.ru/crypto/crpodpis.htm) предназначен для использования электронной цифровой подписи (ЭЦП) электронных документов.
Программы пакета КРИПТОН®Подпись функционируют на компьютере, удовлетворяющем следующим требованиям:
· наличие операционной системы Windows-98 или Windows NT 4.0;
· наличие УКЗД серии КРИПТОН с соответствующим драйвером для Windows-98/NT или его программного драйвера-эмулятора для Windows — Crypton Emulator версии 1.3 или выше.
· наличие Crypton API для Windows версии 2.2 или выше (входит в поставку УКЗД серии КРИПТОН и содержит также драйвер поставляемого УКЗД);
· наличие манипулятора «мышь».
В стандартной поставке для хранения файлов открытых ключей используются дискеты. Помимо дискет, пакет КРИПТОН®Подпись дает возможность использования всех типов ключевых носителей (смарт-карт, электронных таблеток Touch Memory и др.), поддерживаемых текущей версией интерфейса SCApi, входящего в поставку Crypton API v2.2 и выше
Управление ключами
Эффективными системами криптографической защиты данных являются асимметричные криптосистемы, называемые также криптосистемами с открытым ключом. В таких системах для шифрования данных используется один ключ, а для расшифрования — другой ключ (отсюда и название — ассиметричные ). Первый ключ является открытым и может быть опубликован для использования всеми пользователями системы, которые зашифровывают данные. Расшифрование данных с помощью открытого ключа невозможно .
Для расшифрования данных получатель зашифрованной информации использует второй ключ, который является секретным. Разумеется, ключ расшифрования не может быть определен из ключа зашифрования.
0дной из главных сфер применения схемы шифрования с открытым ключом является решение проблемы распределения ключей. Имеется две совершенно различные области использования шифрования с открытым ключом в этой сфере:
– распределение открытых ключей;
– использование шифрования с открытым ключом для распределения секретных ключей.
Рассмотрим каждую из этих областей использования данной схемы шифрования по порядку .
Распределение открытых ключей
Для распределения открытых ключей было предложено несколько методов. Фактически их можно сгруппировать в следующие общие классы:
– публичное объявление;
– публично доступный каталог;
– авторитетный источник открытых ключей;
– сертификаты открытых ключей.
Публичное объявление открытых ключей
Одной из основных составляющих шифрования с открытым ключом является то, что открытый ключ является общедоступным. Таким образом, при наличии широко используемого алгоритма (например, RSA) любая участвующая в обмене данными сторона может предоставить свой открытый ключ любой другой стороне или передать ключ по средствам коммуникаций для всех вообще (рис. 1.2). Например, из-за возрастающей популярности PGP в которой используется RSA, многие пользователи PGP приняли практику присоединения своих открытых ключей к сообщениям, которые они посылают в открытые форумы, например в группы новостей USENET или списки рассылки Internet.
Рисунок 1.2 — Неконтролируемое распределение открытых ключей
Этот подход удобен, но он имеет одно слабое место: такое публичное объявление может написать кто угодно. Это значит, что кто-то может представиться пользователем А и послать открытый ключ другому пользователю сети или предложить такой открытый ключ для всеобщего пользования. Пока пользователь А откроет подлог и предупредит других пользователей, фальсификатор сможет прочитать все шифрованные сообщения, пришедшие за это время для А, и сможет использовать фальсифицированные ключи для аутентификации.
Рисунок 1.3 — Публикация открытых ключей
Публично доступный каталог
Более высокую степень защиты можно обеспечить с помощью создания и обслуживания некоторого публично доступного динамичного каталога открытых ключей. За сопровождение и распространение публичного каталога должен отвечать некоторый надежный центр или надежная организация (рис. 1.3). Такая схема должна включать следующие элементы.
Уполномоченный объект поддерживает каталог с записями вида {имя, открытый ключ} для каждого из участников.
Каждый участник регистрирует свой открытый ключ с помощью объекта, уполномоченного вести каталог. Такая регистрация должна происходить либо при личной явке участника, либо по каким-то образом защищенным каналам коммуникации.
Любой участник может заменить существующий ключ новым в любой момент или из-за того, что открытый ключ уже был использован для пересылки достаточно большого объема данных, или из-за того, что соответствующий личный ключ был каким-то образом скомпрометирован.
Периодически объект, уполномоченный вести каталог, публикует весь каталог или обновления нему. Например, может публиковаться печатная версия каталога наподобие телефонной книги или печататься обновления в общедоступной популярной газете.
Участники могут также иметь доступ к каталогу в его электронной версии. Для этого обязательно требуется канал связи между участниками обмена данными и объектом, уполномоченным вести каталог, предполагающий использование средств аутентификации.
Эта схема, очевидно, более защищена, чем индивидуальные публичные объявления, но и она уязвима. Если противнику удастся получить или вычислить личный ключ объекта, уполномоченного вести каталог, противник сможет авторитетно выдавать фальсифицированные открытые ключи и, следовательно, выступать от имени любого из участников обмена данными и читать сообщения, предназначенные любому участнику. Того же результата противник может достичь с помощью изменения записей, хранящихся в каталоге.
Авторитетный источник открытых ключей
Лучшая защита распределения открытых ключей может быть достигнута путем более строгого контроля за распределением открытых ключей из каталога. Типичный сценарий представлен схемой (рис. 1.3), в основу которого положен один из рисунков из [РОРЕ79]. Как и прежде, сценарий предполагает наличие некоторого центрального объекта, уполномоченного поддерживать динамический каталог открытых ключей всех участников обмена данными. Кроме того, каждому из участников достоверно известен открытый ключ центра, но только центр знает соответствующий личный ключ. При этом выполняются следующие действия (их номера согласованы с номерами на рис. 1.3).
Инициатор А посылает сообщение с меткой даты/времени авторитетному источнику открытых ключей с запросом о текущем открытом ключе участника В.
Авторитетный источник отвечает сообщением, которое шифруется с использованием личного ключа авторитетного источника, KRаuth. Это сообщение инициатор А может дешифровать, используя открытый ключ авторитетного источника. Поэтому отправитель А может быть уверенным в том, что сообщение исходит от авторитетного источника. Это сообщение должно включать следующее:
- открытый ключ участника В, KUb, который участник А может использовать для шифрования сообщений, предназначенных для получателя В;
- оригинальный запрос, чтобы сторона А имела возможность сопоставить ответ с ранее отправленным запросом и убедиться, что запрос не был изменен на пути к авторитетному источнику;
- оригинальную метку даты/времени, чтобы отправитель А мог удостове-риться, что это сообщение не является одним из старых сообщений от авторитетного источника, содержащим ключ, отличный от текущего открытого ключа адресата В.
Инициатор А сохраняет открытый ключ участника В и использует его для шифрования сообщения, направляемого получателю В и содержащего идентификатор отправителя А (IDA) и оказию (N1), которая выступает вкачестве уникальной метки данного сообщения.
Респондент В получает открытый ключ участника А от авторитетного источника точно таким же способом, каким отправитель А получил открытый ключ получателя В.
К этому моменту открытые ключи оказываются доставленными участникам А и В вышеописанной защищенной процедурой, так что теперь они могут начать защищенный обмен данными. Но перед этим желательно выполнить два следующих дополнительных действия.
Респондент В посылает сообщение инициатору А, шифрованное с помощью KU. и содержащее оказию отправителя А (N1), а также новую оказию, сгенерированную участником В (N2). Ввиду того что только он и мог де шифровать сообщение (3), присутствие N1 в сообщении (6) убеждает участника А в том, что отправителем полученного сообщения был В.
Рисунок 1.4 — Сценарий распределения открытых ключей
Инициатор А возвращает N2, шифрованное с помощью открытого ключа участника В, чтобы тот мог убедиться в том, что отправителем ответа является А.
Итак, в общей сумме потребуется семь сообщений. Однако отсылать первые четыре сообщения потребуется нечасто, так как и обе стороны могут сохранить открытые ключи друг друга для дальнейшего использования, что обычно называют кэшированием. Периодически пользователь должен запрашивать свежие экземпляры открытых ключей своих адресатов, чтобы иметь гарантированную возможность обмена данными.
Сертификаты открытых ключей
Сценарий, показанный на рис. 1.5, привлекателен, но и он имеет некоторые недостатки. Авторитетный источник открытых ключей является узким местом системы, поскольку пользователь должен апеллировать к авторитетному источнику при необходимости получить открытый ключ для каждого нового адресата, с которым этот пользователь намерен вести переписку. Кроме того, как и в предыдущем случае, каталог имен и открытых ключей, поддерживаемый авторитетным источником, остается уязвимым в отношении вмешательства с неблаговидными намерениями.
Альтернативный подход, который предложил Конфельдер (Kohnfelder) [KOHN78], основан на сертификатах, которые могут использоваться участниками для обмена ключами без контакта с авторитетным источником открытых ключей и должны обеспечивать способ обмена, такой же надежный, как способ получения ключей непосредственно от авторитетного источника открытых ключей. Каждый сертификат содержит открытый ключ и другую информацию, создается авторитетным источником сертификатов и выдается участнику вместе с соответствующим личным ключом. Один участник передает информацию о своем ключе другом; с помощью передачи своего сертификата. Другие участники мо гут проверить, что сертификат был создан авторитетным источником. Можно сформулировать следующие требования к этой схеме:
Любой участник должен иметь возможность прочитать сертификат, чтобы определить имя и открытый ключ владельца сертификата.
Любой участник должен иметь возможность проверить, что сертификат исходит из авторитетного источника сертификатов и не является подделкой.
Только авторитетный источник сертификатов должен иметь возможность создавать и изменять сертификаты.
Все эти требования удовлетворялись первоначальной схемой из [KOHN78]. Деннинг (Denning) добавил к ним следующее дополнительное требование [DENN83].
4. Любой участник должен иметь возможность проверить срок действия сертификата.
Схема использования сертификатов показана на рис. 1.4. Каждый участник обращается к авторитетному источнику сертификатов, предоставляя открытый ключ и запрашивая для него сертификат. Запрос должен предполагать либо личное обращение, либо некоторую защищенную форму связи. Для участника А авторитетный источник обеспечивает сертификат вида
CA=EKRauth[T, IDA, KUa],
где KR.auth обозначает личный ключ, используемый авторитетным источником. Теперь участник А может переслать этот сертификат любому другому участнику, который прочитывает и проверяет сертификат:
D KUauth [CA] = DKUauth[EKRauth[T, IDA, KUa] = (Т, IDA, KUa ).
Получатель использует открытый ключ авторитетного источника сертификатов KUauth , чтобы дешифровать сертификат. Ввиду того, что сертификат можно прочитать только с помощью открытого ключа авторитетного источника сертификатов это дает гарантию того, что сертификат пришел именно от авторитетного источника сертификатов. Элементы IDA и KUa сообщают получателю имя и открытый ключ владельца сертификата. Наконец, метка даты/времени Т определяет срок действия сертификата. Метка даты/времени должна быть защищена от следующей последовательности действий. Противник узнает личный ключ А. По этой причине А генерирует новую пару ключей (личный и открытый) и обращается к авторитетному источнику сертификатов за новым сертификатом. Тем временем противник воспроизводит сообщение со старым сертификатом и отсылает его В. Если В будет шифровать сообщения, используя старый скомпрометированный открытый ключ, противник сможет прочитать эти сообщения.
Рисунок 1.5- Обмен сертификатами открытых ключей
В этом смысле компрометация личного ключа сравнима с потерей кредитной карточки. Владелец объявляет номер кредитной карточки недействительным, но ситуация остается потенциально рискованной до тех пор, пока все возможные системы не будут информированы о том, что старая кредитная карточка уже недействительна. Таким образом, метка даты/времени является чем-то вроде даты истечения срока действия. Если сертификат оказывается выданным достаточно давно, предполагается, что срок его действия истек.
Распределение секретных ключей с помощью системы с открытым ключом
После того как открытые ключи были распределены и стали доступными, становится реальной организация защищенной связи, не допускающей возможности перехвата или искажения сообщений или того и другого вместе. Однако некоторые пользователи предпочтут использовать шифрование с открытым ключом только в исключительных случаях из-за того, что в условиях применения шифрования скорость передачи данных оказывается относительно медленной. Поэтому шифрование с открытым ключом приходится рассматривать, скорее, как средство распределения секретных ключей, используемых для традиционного шифрования.
Простое распределение секретных ключей
Исключительно простую схему предложил Меркл (Merkle) [MERK79], рис. 1.6. Если инициатор А намерен обменяться данными с пользователем В, для этого предполагается следующая процедура.
Рисунок 1.6 — Простое использование шифрования с открытым ключом при выборе сеансового ключа
Сторона А генерирует пару открытый/личный ключи {KUа, KRа} и передает сообщение стороне В, содержащее KUа и идентификатор отправителя A, IDA .
Получатель В генерирует секретный ключ Ка и передает этот ключ инициатору сообщения А зашифрованным с помощью открытого ключа инициатора А.
Пользователь А вычисляет DKRа[EKUa[Ka]], чтобы восстановить секретный ключ. Поскольку только пользователь А может дешифровать это сообщение, только участника обмена данными А и В будут знать значение Кa.
Участник А выбрасывает ключ KRa , а участник В — выбрасывает ключ KUa.
Теперь обе стороны, А и В, могут использовать связь, защищенную традиционным шифрованием с сеансовым ключом Кa. По окончании обмена данными и А, и В выбрасывают Кa. Несмотря на простоту, этот протокол весьма привлекателен. Никаких ключей не существуют перед началом связи и никаких ключей не остается после завершения связи. Поэтому риск компрометации ключей минимален. В то же время связь оказывается защищенной от подслушивания.
Этот протокол уязвим в отношении активных атак. Если противник E имеет возможность внедрения в канал связи, то он может скомпрометировать связь без того, чтобы быть обнаруженным, следующим образом.
Участник А генерирует пару открытый/личный ключи {KUa, KRa} и передает сообщение адресату В, содержащее KUa и идентификатор участника А IDА.
Противник Е перехватывает сообщение, создает собственную пару открытый/личный ключи {KUe, KRe} и передает сообщение адресату В, содержащее KUe || IDA .
В генерирует секретный ключ Кa и передает ЕKUe[Кa].
Противник Е перехватывает это сообщение и узнает Кa , вычисляя DKRe [EKUe [Ka]] .
Противник Е передает участнику А сообщение ЕKUa[Кa].
В результате оба участника, А и В, будут знать Кa , но не будут подозревать, что Кa также известен и противнику Е. Поэтому стороны А и В могут начать обмен сообщениями, используя Кa. Противник Е больше не будет активно вмешиваться в канал связи, а просто будет перехватывать сообщения. Зная Кa , он сможет дешифровать любое сообщение, а участники А и В даже не будут подозревать о существовании проблемы. Таким образом, этот простой протокол оказывается полезным только в случае, когда единственной возможной угрозой является пассивный перехват сообщений.
Распределение секретных ключей с обеспечением конфиденциальности и аутентификации
Схема на рис. 1.7, основанная на подходе, предлагаемом в [NEED78], обеспечивает защиту и от активной, и от пассивной форм атаки. В качестве исходных условий предположим, что А и В уже обменялись открытыми ключами по одной из схем, описанных выше. Далее следует выполнить следующие действия.
Рисунок 1.7 — Распределение секретных ключей с помощью шифрования с открытым ключом
Сторона А использует открытый ключ стороны В, чтобы переслать стороне В шифрованное сообщение, содержащее идентификатор участника A (IDA) и оказию (N1), используемую для идентификации данной конкретной транзакции.
Пользователь В посылает сообщение пользователю А, зашифрованное с помощью KUa и содержащее полученную от него оказию (N1) и новую оказию (N2), сгенерированную пользователем В. Ввиду того что только участник В мог дешифровать сообщение (1), присутствие N1 в сообщении (2) убеждает участника А в том, что респондентом является сторона В.
Сторона А возвращает N2, шифруя сообщение открытым ключом стороны В, чтобы гарантировать ей, что его респондентом является сторона А.
Участник А выбирает секретный ключ Кa посылает участнику В сообщение М = EKUb[EKRa[Ka]]. Шифрование этого сообщения открытым ключом стороны В гарантирует, что только участник В сможет прочитать его, а шифрование личным ключом участника А — что только участник А мог послать его.
Сторона В вычисляет DKUa [EKRb [M]], чтобы восстановить секретный ключ.
Обратите внимание на то, что первые три действия этой схемы соответствуют последним трем действиям схемы, показанной на рис. 1.3. В результате при обмене секретными ключами эта схема гарантирует как конфиденциальность, так и аутентификацию.
Гибридная схема
Еще одна схема использования шифрования с открытым ключом при распределении секретных ключей представляет гибридный подход, применяемый на мэйнфреймах IBM [LE93]. Эта схема предполагает участие центра распределения ключей (ЦРК), с которым каждый пользователь использует свой главный секретный ключ, и распределение секретных сеансовых ключей, шифруемых главным ключом. Схема шифрования с открытым ключом служит для распределения главных ключей. В основе такого трехуровневого подхода лежит следующая логика.
1. Скорость выполнения процедуры. Существует много приложений, особенно ориентированных на передачу транзакций, где, сеансовые ключи должны меняться очень часто. Распределение сеансовых ключей с помощью схемы с открытым ключом могло бы сделать производительность системы слишком низкой из-за относительно высоких требований к вычислительным ресурсам при шифровании и дешифровании по такой схеме. В случае трехуровневой иерархии шифрование с открытым ключом применяется лишь иногда, чтобы изменить главный ключ, разделяемый пользователем и ЦРК.
2. Обратная совместимость. Гибридную схему можно легко реализовать в виде расширения уже имеющейся схемы, предполагающей использование ЦРК, с минимальными изменениями предусмотренной процедуры и программного обеспечения.
Добавление уровня шифрования с открытым ключом обеспечивает защищенное и эффективное средство распределения главных ключей. Это является преимуществом в конфигурации, когда один ЦРК обслуживает большое число пользователей, находящихся на значительном расстоянии друг от друга.
Итогом, все перечисленные методы обмена ключами наряду с индивидуальными недостатками имеют один общий: все существующие системы обмена ключами являются закрытыми, недоступными для анализа ПО и использования в разрабатываемых системах
1.3 Постановка задачи
Таким образом, в работе необходимо разработать программное приложение, осуществляющее:
создание электронной цифровой подписи в электронном документе с использованием закрытого ключа электронной цифровой подписи;
создание закрытых и открытых ключей электронных цифровых подписей.
В качестве алгоритмов шифрования данных выбрать асимметричный алгоритм, поскольку он надежнее, и у него упрощенный механизм обмена ключами.
Для разработки программного приложения будем использовать программную среду Delphi 7.0.
2.1 Выбор программных средств
Среди большого разнообразия продуктов для разработки приложений Delphi занимает одно из ведущих мест. Delphi отдают предпочтение разработчики с разным стажем, привычками, профессиональными интересами. С помощью Delphi написано колоссальное количество приложений, десятки фирм и тысячи программистов-одиночек разрабатывают для Delphi дополнительные компоненты..
В основе такой общепризнанной популярности лежит тот факт, что Delphi, как никакая другая система программирования, удовлетворяет изложенным выше требованиям. Действительно, приложения с помощью Delphi разрабатываются быстро, причем взаимодействие разработчика с интерактивной средой Delphi не вызывает внутреннего отторжения, а наоборот, оставляет ощущение комфорта. Delphi-приложения эффективны, если разработчик соблюдает определенные правила (и часто — если не соблюдает). Эти приложения надежны и при эксплуатации обладают предсказуемым поведением.
Пакет Delphi — продолжение линии компиляторов языка Pascal корпорации Borland. Pascal как язык очень прост, а строгий контроль типов данных способствует раннему обнаружению ошибок и позволяет быстро создавать надежные и эффективные программы. Корпорация Borland постоянно обогащала язык. Когда-то в версию 4.0 были включены средства раздельной трансляции, позже, начиная с версии 5.5, появились объекты, а в состав шестой версии пакета вошла полноценная библиотека классов Turbo Vision, реализующая оконную систему в текстовом режиме работы видеоадаптера. Это был один из первых продуктов, содержавших интегрированную среду разработки программ.
В классе инструментальных средств для начинающих программистов продуктам компании Borland пришлось конкурировать со средой Visual Basic корпорации Microsoft, где вопросы интеграции и удобства работы были решены лучше. Когда в начале 70-х годов Н. Вирт опубликовал сообщение о Pascal, это был компактный, с небольшим количеством основных понятий и зарезервированных слов язык программирования, нацеленный на обучение студентов. Язык, на котором предстоит работать пользователю Delphi, отличается от исходного не только наличием множества новых понятий и конструкций, но и идейно: в нем вместо минимизации числа понятий и использования самых простых конструкций (что, безусловно, хорошо для обучения, но не всегда оправдано в практической работе), предпочтение отдается удобству работы профессионального пользователя. Как язык Turbo Pascal естественно сравнивать с его ближайшими конкурентами — многочисленными вариациями на тему языка Basic (в первую очередь с Visual Basic корпорации Microsoft) и с C++. Я считаю, что Turbo Pascal существенно превосходит Basic за счет полноценного объектного подхода, включающего в себя развитые механизмы инкапсуляции, наследование и полиморфизм. Последняя версия языка, применяемая в Delphi, по своим возможностям приближается к C++. Из основных механизмов, присущих C++, отсутствует только множественное наследование. (Впрочем, этим красивым и мощным механизмом порождения новых классов пользуется лишь небольшая часть программистов, пишущих на С++.) Плюсы применения языка Pascal очевидны: с одной стороны, в отличие от Visual Basic, основанного на интерпретации промежуточного кода, для него имеется компилятор, генерирующий машинный код, что позволяет получать значительно более быстрые программы. С другой — в отличие от C++ синтаксис языка Pascal способствует построению очень быстрых компиляторов.
Среда программирования напоминает пакет Visual Basic. В вашем распоряжении несколько отдельных окон: меню и инструментальные панели, Object Inspector (в котором можно видеть свойства объекта и связанные с ним события), окна визуального построителя интерфейсов (Visual User Interface Builder), Object Browser (позволяющее изучать иерархию классов и просматривать списки их полей, методов и свойств), окна управления проектом (Project Manager) и редактора.
Delphi содержит полноценный текстовый редактор типа Brief, назначения клавиш в котором соответствуют принятым в Windows стандартам, а глубина иерархии операций Undo неограниченна. Как это стало уже обязательным, реализовано цветовое выделение различных лексических элементов программы. Процесс построения приложения достаточно прост. Нужно выбрать форму (в понятие формы входят обычные, диалоговые, родительские и дочерние окна MDI), задать ее свойства и включить в нее необходимые компоненты (видимые и, если понадобится, неотображаемые): меню, инструментальные панели, строку состояния и т. п., задать их свойства и далее написать (с помощью редактора исходного кода) обработчики событий. Object Browser Окна типа Object Browser стали неотъемлемой частью систем программирования на объектно-ориентированных языках. Работа с ними становится возможной сразу после того, как вы скомпилировали приложение.
Projeсt Manager — это отдельное окно, где перечисляются модули и формы, составляющие проект. При каждом модуле указывается маршрут к каталогу, в котором находится исходный текст. Жирным шрифтом выделяются измененные, но еще не сохраненные части проекта. В верхней части окна имеется набор кнопок: добавить, удалить, показать исходный текст, показать форму, задать опции и синхронизировать содержимое окна с текстом файла проекта, т. е. с головной программой на языке Pascal.
Опции, включая режимы компиляции, задаются для всего проекта в целом. В этом отношении традиционные make-файлы, используемые в компиляторах языка C, значительно более гибки.
Visual Component Library (VCL) Богатство палитры объектов для построения пользовательского интерфейса — один из ключевых факторов при выборе инструмента визуального программирования. При этом для пользователя имеет значение как число элементов, включенных непосредственно в среду, так и доступность элементов соответствующего формата на рынке.
2.2 Выбор алгоритма шифрования
Алгоритм Эль-Гамаля
Общепризнанные приёмы установления подлинности физической подписи под документом абсолютно не пригодны при обработке документов в электронной форме. Решением данного вопроса является алгоритм, так называемой, системы электронного подписания документов. Для гарантии подлинности авторства и целостности информационного сообщения необходимо зашифровать его содержимое. При использовании цифровой подписи информация не шифруется и остаётся доступной любому пользователю, имеющему к ней доступ.
При обмене электронными документами по сети значительно снижаются затраты, связанные с их обработкой, хранением и поиском.
Одновременно при этом возникает проблема, как аутентификации автора электронного документа, так и самого документа, т.е. установление подлинности автора и отсутствия изменений в полученном электронном сообщении.
ЭЦП используется для аутентификации текстов, передаваемых по телекоммуникационным каналам. Функционально она аналогична обычной рукописной подписи и обладает основными её свойствами:
· Удостоверяет, что подписанный текст исходит от лица, поставившего подпись;
· Не дает этому самому лицу возможности отказаться от обязательств, связанных с подписанным текстом;
· Гарантирует целостность подписанного текста.
ЭЦП представляет собой относительно небольшой объём дополнительной цифровой информации, передаваемой вместе с подписанным текстом.
Концепция формирования ЭЦП по схеме Эль-Гамаля также основана на обратимости асимметричных шифров и на взаимосвязанности содержимого сообщения, самой подписи и пары ключей.
Идея алгоритма цифровой подписи Эль-Гамаля основана на том, что для обоснования практической невозможности фальсификации цифровой подписи в ней использована более сложная вычислительная задача дискретного логарифмирования, чем разложение на множители большого целого числа. Основным достоинством такой схемы цифровой подписи является возможность выработки ЭЦП для большого числа сообщений с использованием одного секретного ключа.
Безопасность схемы Эль-Гамаля обусловлена сложностью вычисления дискретных логарифмов в конечном поле.
В асимметричных криптосистемах используется два ключа: КА — для зашифрования информации, КB — для расширофвания.
В теории криптографии разработаны требования к асимметричным криптосистемам, которые полностью покрывают требования предъявляемые к модулям разрабатываемой системы:
– вычисление пары ключей (КА, КВ) получателем B на основе начального условия должно быть простым;
– отправитель A, зная открытый ключ КА и сообщение М, может легко вычислить криптограмму C (2.6);
(2.6)
– получатель В, используя секретный ключ КВ и криптограмму C, может легко восстановить исходное сообщение M (2.7)
(2.7)
– злоумышленник, зная открытый ключ КА, при попытке вычислить секретный ключ КВ наталкивается на непреодолимую вычислительную проблему.
– злоумышленник, зная пару (КА, С), при попытке вычислить исходное сообщение M наталкивается на непреодолимую вычислительную проблему.
Следует иметь ввиду, что с учетом того, что для решения поставленной проблемы, необходимо использовать криптосистему, «умеющую» обеспечивать и конфиденциальность и аутентичность, не всякая асимметричная криптосистема может обеспечивать цифровую подпись. Для организации и шифрования и цифровой подписи широко используются два алгоритма Эль-Гамаля и RSA. Оба этих алгоритма хорошо справляются с организацией цифровой подписи.
Алгоритм RSA
В 1978 г. Р.Ривест, А.Шамир и Л.Адлеман [RSA78] создали первую криптосистему с открытым ключом для шифрования и цифровой подписи, получившую название RSA (по первым буквам фамилий авторов). Система описывается в терминах элементарной теории чисел. Ее надежность обуславливается практической неразрешимостью задачи разложения большого натурального числа на простые множители. Современное состояние алгоритмов факторизации (разложения на множители) позволяет решать эту задачу для чисел длиной до 430 бит; исходя из этого, ключ длиной в 512 бит считается надежным для защиты данных на срок до 10 лет, а в 1024 бита — безусловно надежным. Длина подписи в системе RSA совпадает с длиной ключа.
Несмотря на то, что отсутствует математически доказанное сведение задачи раскрытия RSA к задаче разложения на множители, а также задачи разложения на множители к классу NP-полных задач, система выдержала испытание практикой и является признанным стандартом de-facto в промышленной криптографии, а также официальным стандартом ряда международных организаций. С другой стороны, свободное распространение программного обеспечения, основанного на RSA, ограничено тем, что алгоритм RSA защищен в США рядом патентов.
Алгоритм DSA
В 1991 г. в США был опубликован проект федерального стандарта цифровой подписи — DSS (Digital Signature Standard), описывающий систему цифровой подписи DSA (Digital Signature Algorithm). Одним из основных критериев при создании проекта была его патентная чистота.
Предлагаемый алгоритм DSA, имеет, как и RSA, теоретико-числовой характер, и основан на криптографической системе Эль-Гамаля в варианте Шнорра. Его надежность основана на практической неразрешимости определенного частного случая задачи вычисления дискретного логарифма. Современные методы решения этой задачи имеют приблизительно ту же эффективность, что и методы решения задачи факторизации; в связи с этим предлагается использовать ключи длиной от 512 до 1024 бит с теми же характеристиками надежности, что и в системе RSA. Длина подписи в системе DSA меньше, чем в RSA, и составляет 320 бит.
С момента опубликования проект получил много критических отзывов, многие из которых были учтены при его доработке. Одним из главных аргументов против DSA является то, что, в отличие от общей задачи вычисления дискретного логарифма, ее частный случай, использованный в данной схеме, мало изучен и, возможно, имеет существенно меньшую сложность вскрытия. Кроме того, стандарт не специфицирует способ получения псевдослучайных чисел, используемых при формировании цифровой подписи, и не указывает на то, что этот элемент алгоритма является одним из самых критичных по криптографической стойкости.
Функции DSA ограничены только цифровой подписью, система принципиально не предназначена для шифрования данных. По быстродействию система DSA сравнима с RSA при формировании подписи, но существенно (в 10-40 раз) уступает ей при проверке подписи.
Вместе с проектом DSS опубликован проект стандарта SHS (Secure Hash Standard), описывающий однонаправленную хэш-функцию SHA (Secure Hash Algorithm), рекомендованную для использования вместе с DSA. Хэш-функция SHA является модификацией алгоритма MD4, хорошо известного в криптографической литературе.
ГОСТ 28147
В 1993 г. в России были изданы два государственных стандарта “Процедуры выработки и проверки электронной цифровой подписи на базе асимметричного криптографического алгоритма” и “Функция хэширования”, под общим заголовком “Информационная технология. Криптографическая защита информации”.
Стандарт “Процедуры выработки и проверки электронной цифровой подписи…” во многом схож со своим американским аналогом DSS. Для формирования и проверки цифровой подписи в нем используется тот же алгоритм Эль-Гамаля и Шнорра, что и в DSS, с незначительными модификациями. Имеется две альтернативных длины ключа, 512 и 1024 бит; длина подписи составляет 512 бит.
Для генерации ключей предложен ряд новых алгоритмов. Ключи, получаемые при помощи этих алгоритмов, имеют специальный вид, что потенциально может упростить задачу вскрытия системы по сравнению с DSS. Критика DSS, связанная с недостаточно разработанным теоретическим обоснованием алгоритма, в случае росийского стандарта несколько смягчается тем, что элемент ключа q выбирается более длинным, чем в DSA. Критика, связанная с отсутствием спецификации на способ получения псевдослучайных чисел, остается в силе.
Как и DSS, российский стандарт определяет только алгоритм цифровой подписи, но не шифрования. Быстродействие обоих алгоритмов приблизительно совпадает.
Стандарт “Функция хэширования” предназначен для использования вместе со стандартом “Процедуры выработки и проверки цифровой подписи” и представляет собой оригинальный алгоритм, основанный на методе шифрования с симметричным ключом ГОСТ 28147. Стандарт не содержит криптографического обоснования выбранного алгоритма и не корректирует ГОСТ 28147 в части заполнения узлов замены.
Несмотря на указанные недостатки, система, описанная в российском стандарте, применима во многих областях, особенно для коммерческих приложений.
В результате сравнений асимметричных алгоритмов был выбран алгоритм шифрования Эль-Гамаля.
Таблица 2.1 -Сравнение асимметричных алгоритмов шифрования
3.1 Математическая модель
Рассмотрим подробнее алгоритм Эль-Гамаля.
Имея открытый текст , и пару чисел , которые распространенны среди пользователей системы, в ходе самого алгоритма шифрования, а не в отдельном модуле генерации, генерируется пара ключей. Секретный ключ выбирается случайным образом. Открытый ключ вычисляют по формуле (3.1)
. (3.1)
Кроме ключа для шифрования сообщения М, выбирают случайное целое число К, удовлетворяющее условию (3.2)
(3.2)
Затем вычисляют числа а, b (3.3)
(3.3)
Пара чисел (а,b) является шифртекстом. Заметим, что длина шифртекста вдвое больше длины исходного открытого текста М.
Для того чтобы расшифровать шифртекст (а,b), используют (3.4)
(3.4)
данное соотношение справедливо в силу (3.5).
(3.5)
Для обеспечения цифровой подписи с использованием алгоритма Эль-Гамаля необходимо воспользоваться теми же ключами и , что и при шифровании.
Передача информации по сети значительно увеличивает скорость обмена данными, возникает проблема установления подлинности автора и отсутствия изменений в полученном документе. Поэтому одной из задач разрабатываемой системы является защита передаваемых сообщений от возможных видов злоумышленных действий, к которым относятся:
– активный перехват. Нарушитель, подключившийся к сети, перехватывает документы (файлы) и изменяет их;
– маскарад. Абонент С посылает документ абоненту В от имени абонента А;
– ренегатство. Абонент А заявляет, что не посылал сообщения абоненту В, хотя на самом деле послал;
– подмена. Абонент В изменяет или формирует новый документ и заявляет, что получил его от абонента А;
– повтор. Абонент С повторяет ранее переданный документ, который абонент А посылал абоненту В.
Эти виды злоумышленных действий могут нанести существенный ущерб пользователям, участвующим в работе системы и применяющим систему в своей деятельности.
Решить проблему фальсификации документов и передаваемой информации возможно с использованием цифровой подписи.
Система генерации цифровой подписи должна включать две процедуры:
1) процедуру постановки подписи;
2) процедуру проверки подписи.
В процедуре постановки подписи используется секретный ключ отправителя сообщения, в процедуре проверки подписи — открытый ключ от правителя .
При формировании цифровой подписи отправитель, прежде всего, вычисляет хэш-функцию h(М) подписываемого текста М. Вычисленное значение хэш-функции h(М) представляет собой один короткий блок информации m, характеризующий весь текст М в целом. Затем число m шифруется секретным ключом отправителя . Получаемая при этом пара чисел представляет собой цифровую подпись для данного текста М.
При проверке цифровой подписи получатель сообщения снова вычисляет хэш-функцию m = h(М) принятого по каналу текста М, после чего при помощи открытого ключа отправителя проверяет, соответствует ли полученная подпись вычисленному значению m хэш-функции (рис 2.2).
Рисунок 3.1 — Схема реализации цифровой подписи
Принципиальным моментом в системе цифровой подписи является невозможность подделки цифровой подписи пользователя без знания его секретного ключа подписывания.
В качестве подписываемого документа может быть использован любой файл. Подписанный файл создается из неподписанного путем добавления в него одной или более электронных подписей.
Функция хеширования должна иметь следующие свойства
– быть допустимой для блока любой длинны;
– на входе давать значение фиксированной длинны;
– дайджест h=Н(x) должен вычисляться легко для любого заданного значения х, а алгоритм вычисления должен быть практичным со взгляда, как аппаратной, так и программой реализации.
– для любого данного дайджеста h должно быть практически невозможным вычисление x, для которого H(x)=h.
– для любого блока х должно быть практически невозможным исчисление ух, для которого H(x)=H(y). практично невозможно исчислить какую-либо пару разных х и у, для которых H(x)=H(y).
В качестве хеш-функции, применяемой в разрабатываемой в системе, выберем хеш-функцию, основанную на побитовом сложении по модулю 2. Эта функция удовлетворяет всем перечисленным требованиям, является достаточно простой в реализации и имеет высокую скорость исполнения.
Таблица 3.1-Скорости Эль-Гамаля для различных длин модулей при 160-битовом показателе степени
512 битов |
768 битов |
1024 битов |
||
Шифрование |
0.33 с |
0.80 с |
1.09 с |
|
Дешифрирование |
0.24 с |
0.58 с |
0.77 с |
|
Подпись |
0.25 с |
0.47 с |
0.63 с |
|
Проверка |
l.37 с |
5.12 с |
9.30 с |
Схема формирования ЭЦП Эль-Гамаля
Определение открытого “y” и секретного “x” ключей:
· Выбор двух взаимно простых больших чисел p и q, q<p
· Выбор значения секретного ключа x, x<p
· Определение значения открытого ключа у из выражения:
Формирование ЭЦП:
· Вычисление хэш-значения сообщения
· Выбор случайного числа k, 0<k<p-1 и НОД(k,p-1)=1
· Определение значения а из выражения:
· Определение значения b из выражения:
· Цифровая подпись и открытый текст сообщения М отправляются получателю.
Аутентификация сообщения — проверка подлинности подписи:
· Вычисление хэш-значения принятого открытого текста сообщения М
· Подпись считается достоверной, если a<p, и выполняется условие
Процедура формирования ЭЦП:
· Выбираем простое число р и два случайных числа q и x (q и x<p), p=11, q=2 и секретный ключ x=8;
· Вычисляем значение открытого ключа у
· Определяем хэш-значение исходного сообщения М, (312)
, в данном примере принимает m=3
· Выбираем случайное число k, взаимно простое с p-1.
Принимаем k=9, НОД(9, 10)=1.
· Для формирования ЭЦП вычисляем элементы подписи a и b
Элемент b определяем с помощью расширенного алгоритма Евклида из следующего соотношения:
В данном примере цифровой подписью является пара чисео a=6, b=5.
Цифровая подпись S=(a,b) и открытый текст сообщения М отправляются получателю. Для контроля целостности сообщения и достоверности ЭЦП получатель вычисляет хэш-значение принятого открытого текста сообщения М. При этом отправитель и получатель используют одну и ту же хэш-функцию.
Получив подписанное сообщение и открытый ключ у=3, получатель для проверки подлинности підписи проверяет віполнение условия:
Так как условие выполняется, то принятое получателем сообщение признается подлинным.
Таким образом, процедура установления подлинности принятого сообщения состоит в проверке соответствия аутентификации сообщения.
Следует иметь ввиду, что каждая подпись по схеме Эль-Гамаля требует нового значения k. Случайное значение k должно храниться в секрете.
Рисунок 3.1-Блок-схема шифрование электронной цифровой подписи
3.2 Программная реализация
Рассмотрим сновные процедуры и функции, обеспечивающие работу модулей системы генерации ключей и обмена конфиденциальной информацией. Основная часть этих функций реализована в модуле Unit1.
Переменные, используемые в расматриваемом модуле именованы согласно математической модели. Так для работы алгоритма Эль-Гамаля используются переменные целого типа (integer)
P, Q — простые числа для реализации алгоритма ELGAMAL
N — модуль, по которому выполняется шифрование сообщения
fn — функция Эйлера
Ka,Kb — открытый и личный ключи пользователя системы
Возможности, предоставляемые пользователям системы клиентским приложением, определыены в модуле как элементы массива ClCmds
ClCmds:array[1..3] of string = (‘-msg’,’-RSA’,’-sig’);
Здесь
‘-msg’ — передача открытого сообщения,
‘-ELGAMAL’ — организация процесса ширования и передачи сообщения,
‘-sig’ — реализацияцифровой подписи для сообщения.
Процедура ChooseCommand(RecText :string) отвечает за обработку комманды сервера и выбор нужного действия
Центральное место в реализации алгоритмов шифрования и цифровой подписи занимает функция нахождения НОД — iNOD
function iNOD(a,b:real):real;
i:real;
xnod:real;
begin
if a<b then xnod:=a
else xnod:=b;
i:=xnod;
while i>0 do
begin
if ((iMod(a,i)=0) and (iMod(b,i) = 0))
then
begin
xnod:=i;
i:=0;
else
i:=i-1;
end;
iNOD:=xnod;
end;
Генерация ключей реализована в процедуре ELGAMAL_keys
procedure ELGAMAL_keys(P,Q:integer; var N,fn,Ka,Kb:integer);
begin
N:=P*Q;
fn:=(P-1)*(Q-1);
randomize;
repeat
begin
repeat
Ka:=(Random(fn-2)+2)
until (iNod(fn,ka)=1);
repeat
Kb:=(Random(fn-2)+2)
until (((Ka*Kb) mod fn=1));
until ((Ka<>Kb) and (iNod(Kb,N)=1));
end;
Ключи, сгенерированные в процедуре ELGAMAL_keys используются в функии шифрования сообщения методом ELGAMAL — shifrD. В зависимости от того, какое значение Ka или Kb было присвоено формальному параметру Kab, будет выполнятся либо шифрование сообщения либо его расшифрование.
function shifrD(Kab,N:integer;input:string):string;
i,codeS:integer;
code,cod:real;
res,tmp:string;
iCode,iKab,jN,iRes:TFGInt;
begin
res:=»;
Base10StringToFGInt(FloatToStr(Kab),iKab);
Base10StringToFGInt(IntToStr(N),jN);
for i := 1 to length(input) do
begin
code:=ord(input[i]);
Base10StringToFGInt(FloatToStr(code),iCode);
FGIntModExp(iCode,iKab,jN,iRes);
FGIntToBase10String(iRes,tmp);
codeS:=StrToInt(tmp);
res:=res+ chr(codes);
end;
shifrD:=res;
end;
Для организации цифровой подпси было принято решение использовать хеш-функцию, которая обрабатывает блоки данныхв 64 бит и, используя операцию сложения по модулю 2, на выходе выдает дайджест длиной в 8 бит. Поэтому весь передаваемый текст необходимо перевести в двоичные коды. Для этого использовалась функция
function ch8to64b(InputText:string):string,
которая переводит 8 символов таблицы ASCII кодов в 64-битный блок:
function ch8to64b(InputText:string):string;
i,j:integer;
BinText,tmp:string;
smb,tsmb:array[1..8] of string;
begin
for i:=1 to 8 do
begin
tsmb[i]:=IntToBin(ord(InputText[i]));
for j:=1 to 8 do
begin
tmp:=tsmb[i];
smb[i]:=smb[i]+tmp[j+24];
end;
end;
for i:= 1 to 8 do
BinText:=BinText+smb[i];
ch8to64b:=BinText; end;
Функция function xHash(inp: string):string хеширует n-ое количество символов, используя в своей работе функцию хеширования двух символов.
function xHash(inp: string):string;
tmp,res,inp2:string;
i:integer;
begin
inp2:=inp;
while (length(inp) mod 8 <>0) do
begin
inp:=inp+’а’;
end;
tmp:=»;
res:=»;
for i:=1 to length(inp) do
begin
tmp:=tmp+inp[i];
if (i mod 8 = 0) then
begin
res:= res+iHash(tmp);
tmp:=»;
end;
end;
xHash:=res;
end;
Выполнив хеширование сообщения, необходимо организовать подписание полученного дайджеста личным ключем пользователя системы, другими словами необходимо зашифровать дайтджест. Шифрование дайджеста происходит и использованием функции shifr_hash. В зависимости от того, какое значение Ka или Kb было присвоено формальному параметру Keyb, будет выполняться либо шифрование дайджеста сообщения, либо его расшифрование.
function shifr_hash(res1:string;Keyb,n:real):string;
i,fx,fcode:integer;
res2,tmp:string;
iKab,jN,ifx,iRes:TFGInt;
begin
res2:=»;
Base10StringToFGInt(FloatToStr(Keyb),iKab);
Base10StringToFGInt(FloatToStr(N),jN);
for i:=1 to length(res1) do
begin
fx:=ord(res1[i]);
Base10StringToFGInt(FloatToStr(fx),ifx);
FGIntModExp(ifx,iKab,jN,iRes);
FGIntToBase10String(iRes,tmp);
fcode:=StrToInt(tmp);
res2:=res2+chr(fcode);
end;
shifr_hash:=res2;
end.
Для передачи подписанного сообщения необходимо присоеденить дайджест. Было принято решение о том, что дайджест должен передаваться в виде текста для удобства контроля целостности, поэтому переход от бинарного представления дайджеста к символьному (в ASCII-символах), был выполнен через функцию перевода в деяатичную систему счисления BinToInt.
Function BinToInt(binText:string):longint;
bin,mult:longint;
i:integer;
begin
mult:=1;
bin:=0;
for i:=length(binText) downto 1 do
begin
if binText[i]=’1′ then bin:=bin+mult;
mult:=mult shl 1;
end;
BinToInt:=bin;
End.
В данном разделе я описываю помещение СумГУ г.Сумы.
В помещении работает 5 человек.
Габариты помещения:
длина (l)-6,5м;
ширина(d)-4м;
высота(h)-3,2м.
Производим расчет общей площади помещения; площади, приходящейся на одного работника; объёма помещения, приходящегося на одного работника.
Общая площадь помещения(Sобщ.):
Sобщ.=l*d, (4.1)
где l -длина помещения;
d -ширина помещения.
Sобщ.=6,5*4=26м2
Площадь помещения, приходящаяся на одного работника(Sраб.):
Sраб.=(l*d)/n, (4.2)
где n-количество работников.
Sраб.=26/5=5.2м2
Объём помещения, приходящегося на одного работника ( Vраб.):
Vраб.=(l*d*h)/n, (4.3)
где h-высота помещения.
Vраб.=(6,5*4*3,2)/5=17м3
Полученные данные не все соответствуют нормативным значениям согласно СниП 2.09.04-87 .
Нормативные значения:
h>=2,5м;
Sраб.>=4м2;
Vраб. >=30м3.
В помещении находится следующий инвентарь:
1)рабочий стол (РС) 3 шт. (габариты (l*d*h) 1,3*0,7*0,8м);
2)стулья (С) 5 шт. (0,45*0,45*1,5): 3 для работников данного помещения и 2 для посетителей;
3) книжная полка (КП) 1 шт. (1,2*0,25*0,25м);
4) шкаф для одежды (ШО) 1шт. (1,3*0,6*1,8м);
5)стол (СТ) 4шт. (1,3*0,7*0,8м);
6)компьютер (К) 3 шт. с напряжением питания 220В и габаритными размерами:
монитор — 0,4*0,4*0,42м;
системный блок-0,33*0,33*0,35м;
клавиатура-0,2*0,47*0,2м;
7)принтер (П) 1шт. (0,4*0,3*0,2м);
8)телефон (Т) 3шт. (0,2*0,15*0,13м).
Рассмотрим планировку помещения с указанием рабочих мест, оборудования на рисунке 4.1
Деятельность фирмы согласно ГОСТу 12.1.005-88 относится к категории 1б по тяжести (лёгкая): работы, которые производятся сидя и не требующие систематического физического напряжения.
По степени поражения электрическим током данное помещение относится к категории без повышенной опасности. Помещение сухое, с нормальной температурой воздуха, относительная влажность не превышает 75%. В помещении отсутствует токопроводящая пыль и химически активная среда.
4.1 Анализ условий труда
В данном помещении существуют следующие места, где возможно воздействие на работников опасных или вредных факторов, в соответствии с ГОСТом 12.0.003-74:
1) при не соблюдении работниками в помещении правил пожарной безопасности, существует опасность возникновения пожара;
2) при не соблюдении работниками правил электробезопасности, существует опасность термических ожогов от имеющегося нагревательного оборудования-электрочайника, которое находится в данном помещении;
3) существует психофизическая опасность (работа за компьютером, монотонность труда);
4) существует опасность поражения электрическим током во время пользования электроприбором при не соблюдении правил электробезопасности;
5) данное помещение не относится к категории производственных помещений и поэтому опасность взрыва отсутствует.
Рисунок 4.1 — Планировка помещения с указанием рабочих мест, оборудования
В отделе безопасности труда используются следующие защитные устройства:
1) оборудование (принтер, системный блок) заземлено, для защиты работников от статического электричества, что соответствует ГОСТ 12.1.030-81;
2) для защиты от ионизирующих излучений на монитор компьютера установлен защитный экран согласно ГОСТ 12.4.120-83;
3) для оповещения рабочего персонала о возможных опасностях в помещении предусмотрена телефонная и радиосвязь.
При анализе промышленной санитарии отметим:
а) согласно ГОСТ 12.1.005-88 в данном помещении источником загрязнения воздушной среды служит форточка размером 1,5*0,5(м);
б) принтер выступает источником шума, но уровень шума, создаваемый им, не имеет отрицательного воздействия на работников;
в) монитор- источник ионизирующих излучений, однако на монитор установлен защитный экран, который защищает человека от вредных воздействий излучения.
4.2 Вентиляция
Рассмотрим соответствует ли естественная вентиляция нормам
ГОСТа 12.1.005-88. Цель анализа: оценить эффективность естественной вентиляции в помещении.
Данные помещения:
верхний проём: длина 1,5м; ширина 0,5 м;
окно: длина 2 м; ширина 1,5 м;
нижний проём: длина 2м ; ширина 0,8 м;
расстояние от пола до окон: 0,8 м;
высота помещения: 3,2 м.
На рисунке 4.2 рассмотрим схему помещения.
Для оценки естественной вентиляции необходимо сравнить необходимый воздухообмен, обеспечивающий нормальные условия работы, с фактическим, который обеспечивает имеющаяся в помещении вентиляция.
Необходимый воздухообмен определяем по формуле:
электронный цифровой подпись шифрование
Lн=L*n, м3/час, (4.4)
где Lн- необходимый воздухообмен;
L’- количество воздуха необходимого для нормальной работы одного человека( L’=30 м3/час);
n- число работников в наиболее многочисленную смену (n=5 чел.).
Lн=30*5=150 м3/час
Рисунок 4.2 — Схема естественной вентиляции помещения
Фактический воздухообмен:
Lф=*F*V*3600, м3/час, (4.5)
где Lф- фактический воздухообмен;
— коэффициент расхода воздуха(=0,55);
F- площадь верхнего проёма, через который будет выходить воздух, м2.
F=1,5*0,5=0,75 м2
V- скорость выхода воздуха через верхний проём, м/с; рассчитываем по формуле:
V=2g*H2/вн., м/ (4.6)
Где g- ускорение свободного падения (g=9,8м/с);
H2- тепловой напор, под действием которого будет совершаться выход воздуха из верхнего проёма и рассчитывается по формуле:
H2 =h2*(н.- вн.), кгс/м2, (4.7)
где h 2- высота от площади равных давлений до центра форточки.
Расстояние от площади равных давлений до центров верхнего и нижнего проёмов обратнопропорционально квадратам площадей этих проёмов:
h1/h2=S2форточки/S2двери,
h=h1+h2
н. и вн.- соответственно объёмный вес воздуха внутри и снаружи помещения, кгс/м3.
В общем виде объёмный вес воздуха определяем по формуле:
=0,465*Pб/T , кгс/м3, (4.8)
где Pб- барометрическое давление;(Pб=750 мм. рт. ст.);
T- температура воздуха в К.
Для помещений, где выполняются лёгкие работы в соответствии с ГОСТом 12.1.005-88 для тёплого периода года температура не должна превышать 28C или T=301К,для холодного периода 17C или 290К.
Для воздуха снаружи помещения температуру определяем по СНИП 2.04.05-91:
*для лета t=24С, T=297К;
*для зимы t=-11C, T=262К.
вн л=0,465*(750/301)=1,16 кгс/м3,
н л=0,465*(750/297)=1,17 кгс/м3,
вн з=0,465*(750/290)=1,20 кгс/м3,
н з=0,465*(750/262)=1,33 кгс/м3.
Находим высоту от площади равных давлений до центра форточки (h2) из соотношения:
h1/h2=S2форточки/S2двери,
h=h1+h2
h=3,2-1-0,25-0,4=1,55 м;
S2форточки =(1,5*0,5)2=0,56 м2;
S2двери =(2*0,8)2=2,56 м2 ;
h1 =0,21*h2; h1=1,55-h2; 0,21*h2=1,55-h2; 1,21*h2=1,55; h2=1,28;
h1=1,55-1,28=0,27
Тепловой напор (H2):
Для зимнего периода H2=1,28*(1,33-1,22)=0,17кгс/м2.
Для летнего периода H2=1,28*(1,17-1.16)=0,013кгс/м2.
Скорость выхода воздуха (V):
для зимнего периода Vз=2*9,8*0,17/1,2=1,7 м/с;
для летнего периода Vл=2*9,8*0,013/1,16=0,47 м/с.
Фактический воздухообмен (Lф):
для зимнего периода Lфз=0,75*1,7*0,55*3600=3524,5 м3/час;
для летнего периода Lфл=0,75*0,47*0,55*3600=697,95 м3/час.
Видим, что необходимый воздухообмен не соответствует фактическому ни зимой, ни летом. Мероприятия по достижению нормативного значения рассмотрены ниже.
4.3 Освещение
Система освещения помещения представлена как естественными источниками света, так и искусственными.
Освещение служит одним из важнейших факторов влияющих на благоприятные условия труда. Рационально устроенное освещение на рабочих местах работников, обеспечивает высокий уровень работоспособности и оказывает положительное психологическое воздействие на работающих, способствует повышению производительности труда
Вся информация подается через зрительный анализатор. Вредное воздействие на глаза человека оказывают следующие опасные и вредные производственные факторы:
1) Недостаточное освещение рабочей зоны;
2) Отсутствие/недостаток естественного света;
3) Повышенная яркость;
4) Перенапряжение анализаторов (в т.ч. зрительных)
По данным ВОЗ на зрение влияет:
— УФИ;
— яркий видимый свет;
— мерцание;
— блики и отраженный свет.
Естественное освещение
Рассмотрим схему естественного освещения на рисунке 4.3 и проанализируем естественное освещение.
Рисунок 4.3 — Схема естественного освещения
На рисунке 4.3 РТ — расчетная точка, наиболее удалённая от оконных проёмов; УРП- уровень рабочей поверхности.
Нормативное значение коэффициента природного освещения (КЕО) для четвёртого светового пояса, в котором размещена Украина, ен4 определяется по формуле:
ен4=ен3*m*c, %, (4.9)
где ен3- нормативное значение КЕО для 3 светового пояса, которое определяется по СНИП II-4-79.
m- коэффициент светового климата (m=0,9);
c- коэффициент солнечности (с=0,75).
ен4=1,5*0,9*0,75=1,01%.
Фактическое значение КЕО выводится из формулы:
100*So/Sп=ен*о*Кз*Кзд/о*r1, (4.10)
Отсюда
еф=100*So*о*r1/Sп*о*Кз*Кзд, (4.11)
где еф- фактическое значение КЕО;
So- площадь всех окон в помещении, м2;
So=2*1,5*2=6 м2
Sп- площадь пола помещения, м2;
Sп=6,5*4=26 м2
о- общий коэффициент светопропускания (о=0,6);
r1- коэффициент, учитывающий отражение света от внутренних поверхностей помещения. Он зависит от: отношения глубины помещения к высоте от уровня условной рабочей поверхности до верха окна; отношения расстояния расчётной точки от наружной стены к глубине помещения; отношения длины помещения к его глубине(r1=3,6) ;
о- световая характеристика окна — зависит от соотношения длины помещения к его глубине и от отношения глубины помещения к его высоте от уровня условной рабочей поверхности до верха окна(о=39);
Кзд- коэффициент, который учитывает затемнение окон другими зданиями(Кзд=1);
Кз- коэффициент запаса(Кз).
Получаем
еф=100*6*0,6*3,6/26*39*1*1,3=0,98%
Видим, что еф<ен на 0,03%. Чтобы ликвидировать разницу в необходимо очистить окна от пыли (вымыть).
Искусственное освещение
Рассмотрим эффективность искусственного освещения, которое обеспечивается 6 лампами накаливания. Рассмотрим рисунок 4.4 схема искусственного освещения. Где — — светильники в которых находятся лампочки.
Рисунок 4.4 — Схема искусственного освещения
Размещение ламп накаливания в помещении соответствует требованиям СниП II-4-79.
По формуле:
L=1,4*Hр, (4.12)
где L- расстояние между светильниками;
Hр- высота подвеса светильников над расчётной поверхностью.
L=1,4*(3,2-0,8-0,4)=2,83 м
Расстояние от светильников до стен l=0,5L=1,5 м
Расчёт искусственного освещения производим по методу использования светового потока:
E=F*N*n*/S*K*Z, (4.13)
где F- требуемый световой поток 1 лампы, согласно ГОСТ 22-39-70
F=1630 лм;
N- количество светильников, N=2 шт.;
n- количество ламп в светильнике, n=3 шт.;
— коэффициент использования светового потока,=0,6;
S- площадь помещения, S=26 м2;
K- коэффициент запаса, K=1,5;
Z- коэффициент неравномерности освещения, Z=1,15.
Е=1630*2*3*0,6/26*1,5*1,15=130,85 лк
Фактическая освещённость не соответствует нормативному значению (200 лк).
4.4 Санитарно-гигиенические параметры
В таблице 4.1 приведены санитарно-гигиенические параметры, характеризующие условия труда в помещении.
Здание, в котором находится ЧПКП «Полюс» г.Сумы, относится к трудносгораемым ( по степени огнестойкости- 2 категория).В отделах имеется деревянная мебель и работа отдела связана с большим количеством бумаги, следовательно помещение относится к категории. В (ОНТП 24-86). Это отвечает требованиям пожарной безопасности в соответствии с СНиП 2.01.02-85.
Таблица 4.1 — Санитарно-гигиенические параметры, характеризующие условия труда в помещении
Параметр |
Значение |
параметра |
Примечание |
|
Фактическое |
Нормируемое (допустимое) |
|||
Освещённость, лк |
130,9 |
200 |
СНиП II-4-79 |
|
Значение КЕО,% |
0,98 |
1,01 |
СниП II-4-79 |
|
Температура С зимой летом |
20-22 22-27 |
20-25 21-28 |
ГОСТ 12.1.005-88 |
|
Относительная влажность, % тёплое время холодное время |
50-60 65-74 |
60 75 |
ГОСТ 12.1.005-88 |
|
Скорость движения воздуха, м/с тёплое время холодное время |
0,47 1,7 |
0,1-0,3 <=0,2 |
ГОСТ 12.1005-88 |
|
Шум, дБа |
43-48 |
50 |
ГОСТ12.1.002-83 |
Причиной возникновения пожара может быть неправильное обращение с электроприборами. Пожар, который может возникнуть, будет относиться к классу Е (горючая среда — электроустановки, которые находятся под напряжением). С целью предотвращения пожара проводится пожарная профилактика, также имеется инструкция по пожарной безопасности.
4.5 Пожаробезопасность
Пожар в отделе, может привести к очень неблагоприятным последствиям (потеря ценной информации, порча имущества, гибель людей и т.д.), поэтому необходимо: выявить и устранить все причины возникновения пожара; разработать план мер по ликвидации пожара в здании; план эвакуации людей из здания.
Требования по предотвращению пожара:
1) запрещается пользоваться электрическими нагревательными приборами без разрешения;
2) хранить в помещении быстровоспламеняющиеся и взрывоопасные предметы;
3) закрывать электрические лампочки абажурами из бумаги или материала без каркаса;
4) пользоваться разбитыми включателями, розетками.
При проектировании здания были учтены все условия для того,
чтобы как можно быстрее покинуть помещение в случае возникновения пожара. В соответствии с требованиями СниП II-2-80 имеется 1 выход из помещения на площадку, которая непосредственно имеет выход наружу. Общая ширина выходов 1,5 м, протяжённость эвакуационного пути около 10 м (СниП II-90-81).
Для оповещения рабочих о возможных опасностях в здании предусмотрена радиосвязь и пожарная сигнализация. Для тушения используются пожарные краны, огнетушители, которые находятся на каждом этаже здания.
4.6 Организация рабочего места оператора ПК
Производственная деятельность программиста, заставляет его продолжительное время находиться в сидячем положении, которое является вынужденной позой, поэтому организм постоянно испытывает недостаток в подвижности и активной физической деятельности. При выполнении работы сидя большую роль играет плечевой пояс. Перемещение рук в пространстве влияет не только на работу мышц плечевого пояса и спины, но и на положение позвоночника, таза и даже ног.
Чтобы исключить возникновение заболеваний необходимо иметь возможность свободной перемены поз. Необходимо соблюдать режим труда и отдыха с перерывами, заполняемыми “отвлекающими” мышечными нагрузками на те звенья опорно-двигательного аппарата, которые не включены в поддержание основной рабочей позы.
Антропологические характеристики человека определяют габаритные и компоновочные параметры его рабочего места, а также свободные параметры отдельных его элементов.
По условиям работы рабочее место программиста относится к индивидуальному рабочему месту для работы сидя.
Рабочее место программиста должно занимать площадь не менее 6 м?, высота помещения должна быть не менее 4 м, а объем — не менее 20 м3 на одного человека.
Рабочее место программиста: высота над уровнем пола рабочей поверхности, за которой работает оператор, должна составлять 720 мм. Желательно, чтобы рабочий стол оператора при необходимости можно было регулировать по высоте в пределах 680 — 780 мм. Оптимальные размеры поверхности стола 1600Х1000 кв. мм. Под столом должно иметься пространство для ног с размерами по глубине 650 мм. Рабочий стол оператора должен также иметь подставку для ног, расположенную под углом 15° к поверхности стола. Длина подставки 400 мм, ширина — 350 мм. Удаленность клавиатуры от края стола должна быть не более 300 мм, что обеспечит оператору удобную опору для предплечий. Расстояние между глазами оператора и экраном видеодисплея должно составлять 40 — 80 см.
Рабочий стул программиста должен быть снабжен подъемно-поворотным механизмом. Высота сиденья должна регулироваться в пределах 400 — 500 мм. Глубина сиденья должна составлять не менее 380 мм, а ширина — не менее 400 мм. Высота опорной поверхности спинки не менее 300 мм, ширина — не менее 380 мм. Угол наклона спинки стула к плоскости сиденья должен изменяться в пределах 90 — 110 °.
4.7 Мероприятия для улучшения условий труда
Исходя из вышесказанного, необходимо разработать ряд мероприятий:
1. Для организации соответствия между фактическим и нормативным значениями воздухообмена необходимо:
летом
а) уменьшить площадь форточки до 0,16 м2
150=х*0,47*0,55*3600, х=0,16
б) открывать форточку на 13,15(мин.) в час
150=0,75*0,47*0,55*х, х=789,47(сек.) или 13,15 (мин.)
зимой
а) уменьшить площадь форточки до 0,044 м2
150=х*1,7*0,55*3600, х=0,044
б) открывать форточку на 3,5(мин.) в час
150=0,75*1,7*0,55*х, х=214,28(сек.) или 3,5 (мин.)
2. Так как освещённость фактическая меньше нормативной при искусственном освещении, то необходимо применять местное освещение.
3. Во избежание опасности поражения электрическим током необходимо следовать инструкции по мерам пожарной безопасности.
4. Относительно психофизических опасностей необходимо соблюдать санитарные нормы: при работе за компьютером необходимо делать в течении часа перерывы по 4-6 минут; операторы должны работать в течении дня 4 часа за компьютером и после каждого часа работы делать перерыв на 15 минут.
Цифровая подпись обеспечивает:
· Удостоверение источника документа. В зависимости от деталей определения «документа» могут быть подписаны такие поля как автор, внесённые изменения, метка времени и т. д.
· Защиту от изменений документа. При любом случайном или преднамеренном изменении документа (или подписи) изменится хэш, следовательно подпись станет недействительной.
· Невозможность отказа от авторства. Так как создать корректную подпись можно лишь зная закрытый ключ, а он известен только владельцу, то владелец не может отказаться от своей подписи под документом.
· Возможны следующие угрозы цифровой подписи:
· Злоумышленник может попытаться подделать подпись для выбранного им документа.
· Злоумышленник может попытаться подобрать документ к данной подписи, чтобы подпись к нему подходила.
· При использовании надёжной хэш-функции, вычислительно сложно создать поддельный документ с таким же хэшем, как у подлинного. Однако, эти угрозы могут реализоваться из-за слабостей конкретных алгоритмов хэширования, подписи, или ошибок в их реализациях.
· Тем не менее, возможны ещё такие угрозы системам цифровой подписи:
· Злоумышленник, укравший закрытый ключ, может подписать любой документ от имени владельца ключа.
· Злоумышленник может обманом заставить владельца подписать какой-либо документ, например используя протокол слепой подписи.
· Злоумышленник может подменить открытый ключ владельца на свой собственный, выдавая себя за него.
В данной работе проведено исследование проблемы генерации и распределения ключей для криптографических алгоритмов защиты передаваемой информации по открытым сетям. Выбрана схема распределения ключей, алгоритм шифрования для организации цифровой подписи
Разработана информационная система для реализации электронной цифровой подписи методом Эль-Гамаля. Разработанная информационная система реализована в программном обеспечении созданная при помощи инструментальной программной среды Delphi 7.0.
1. Петров А.А Компьютерная безопасность. Криптографические методы защиты. ДМК Москва, 2000 г.
2. «Методы и средства защиты информации» (курс лекций) Авторские права: Беляев А.В. (http://www.citforum.ru/internet/infsecure/index.shtml)
3. Криптография (http://www.citforum.ru/internet/securities/crypto.shtml)
4. http://www.e-sign.ru
5. Александр Володин «Кто заверит ЭЦП» — журнал «Банковские системы» — ноябрь 2000 (http://www.bizcom.ru/system/2000-11/04.html)
6. Теоретические основы — Безопасность информационных систем -Криптографические системы (http://argosoft.webservis.ru/Base/Crypt.html#Механизмы шифрования )
7. Криптографические алгоритмы с открытым ключом (http://argosoft.webservis.ru/Base/RSAintro.html#Криптографические алгоритмы с открытым ключом)
8. Совpеменные кpиптогpафические методы защиты инфоpмации — Системы с откpытым ключом ( http://ppt.newmail.ru/crypto04.htm#Heading20 )
9. Криптография с открытым ключом: от теории к стандарту А.Н.Терехов, А.В.Тискин «Программирование РАН», N 5 (сентябрь-октябрь), 1994, стр. 17—22
10. (http://www1.tepkom.ru/users/ant/Articles/Pkcstand.html)
11. Баричев С.Г., Гончаров В.В., Серов Р.Е. Основы современной криптографии — Москва, Горячая линия — Телеком, 2001
12. Для подготовки данной работы были использованы материалы с сайта http://www.ed.vseved.ru/
Русак О.Н. Справочная книга по охране труда в машиностроении — Л.: Машиностроение, 1984.
Денисенко Г.Ф. Охрана труда — М.: Высшая школа, 1985.
Долин П. А. Справочник по технике безопасности. — М.: Энергоиздат, 1984.
Белов С.В. Средства защиты в машиностроении. — М.: Машиностроение, 1989.
СНиП 2.09.04 — 87 Административные и бытовые здания и сооружения.
СНиП 2.01.02 — 85 Противопожарные нормы.
СНиП 2.05.02 — 89 Общие требования к освещению
ГОСТ 12.1.005 — 88 ССБТ. Общие и санитарно — гигиенические требования к воздуху рабочей зоны.
СНиП 2.04.05 — 91 Отопление, вентиляция и кондиционирование.
ГОСТ 12.1.003 — 83 ССБТ. Шум. Общие требования безопасности.
ГР 2411 — 81
ГОСТ 12.1.029 — 80 ССБТ. Средства и методы защиты от шума. Классификация.
ГОСТ 12.2.007 — 75 ССБТ.
ГОСТ 25.851 — 85 ССБТ.
ГНАТО 0.00. — 1.21.98
СНиП II-4-79. Естественное и искусственное освещение.
Правила побудови електроустановок, затверджені в 1984 р.
Правила безпечної експлуатації електроустановок споживачів.
ДсанПин 3.3.2 — 007 — 98