Курсовая ЭЦП. 1 Электронный документооборот и электронная цифровая подпись
Скачать 150.43 Kb.
|
1.2.3. Алгоритм цифровой подписи DSAАлгоритм DSA (Digitaд Signature Algorithm) — это алгоритм создания электронной цифровой, разработанный в 1991 г. в США, который в отличие от алгоритмов RSA и Эль-Гамаля применим только для создания электронной цифровой подписи, но не для шифрования. Процесс формирования электронной подписи с использованием данного алгоритма включает в себя следующие шаги: Выбор криптографической хеш-функции H(x). Выбор большого простого числа q, размерность которого N в битах совпадает с размерностью в битах значений хэш-функции H(x). Выбор простого числа p, такого, чтобы (p-1) делилось на q. Битовая длина p обозначается L, причем должно выполняться условие: 2L-1 < p < 2L. Вычисление такого числа g , чтобы его мультипликативный порядок по модулю p был равен q по формуле: g = h(p-1)/q, где h — некоторое произвольное число, h ∈ (1; p -1) такое, что g ≠ 1 . В большинстве случаев значение h = 2 удовлетворяет этому требованию. Далее следует нахождение открытого и закрытого (секретного) ключей, где закрытый ключ представляет собой число x ∈ (0, q), а открытый ключ вычисляется по формуле: y = gx (mod p). Открытыми параметрами являются числа (p, q, g, y). Закрытый параметр только один — число x. При этом числа (p, q, g) могут быть общими для группы пользователей, а числа x и y являются соответственно закрытым и открытым ключами конкретного пользователя. При подписании сообщения используются секретные числа x и k, причем число k должно выбираться случайным образом (на практике псевдослучайным) при подписании каждого следующего сообщения. Процесс подписания сообщения выполняется по следующему алгоритму: Выбор случайного числа k ∈ (0, q); Вычисление r = (gk (mod p)) (mod q); Вычисление s = k-1 (H(m) + x·r) (mod q); Выбор другого k, если оказалось, что r = 0 или s = 0. Подписью является пара чисел {r, s}, общая длинна подписи 2N. Процесс подписания сообщения выполняется по следующему алгоритму: Вычисление w = g-1 (mod q); Вычисление u1 = H(m)·w (mod q); Вычисление u1 = r·w (mod q); Вычисление v = (gu1·yu2 (mod p)) (mod q); Подпись верна, если v = r. 1.2.4. Алгоритм цифровой подписи ГОСТ Р 34.11-2012ГОСТ Р 34.10-2012 (полное название: «ГОСТ Р 34.10-2012. Информационная технология. Криптографическая защита информации. Процессы формирования и проверки электронной цифровой подписи») – это действующий российский стандарт, описывающий алгоритмы формирования и проверки электронной цифровой подписи. До введения этого стандарта в действие (7 августа 2012 года) использовался другой стандарт по формированию и проверки электронной цифровой подписи – ГОСТ Р 34.10-2001, а до него – ГОСТ Р 34.10-94. Далее будет рассмотрен алгоритм создания электронной подписи на примере секретного ключа длинной 256 бит. Но для секретного ключа длинной 512 бит все преобразования аналогичны [12]. Параметры схемы цифровой подписи следующие: - p, простое число, при котором p > 2255; - эллиптическая кривая E задается своим интервалом J(E) или коэффициентами a, b ∈ Fp, где Fp – конечное поле из p элементов. J(E) связан с коэффициентами a и b следующим образом: J(E) = 1728(4a3 / 4a3 + 27b2) (mod p), причем 4a3 + 27b2 ≠ 0 (mod p); - целое число m – порядок группы точек эллиптической кривой, то есть выполняется соответствие m = nq, для некоторого n ∈ N. Также q лежит в пределах 2254 > q > 2256. - точка P = (xP, yP) эллиптической кривой E, являющейся генератором подгруппы порядка q, то есть q·P = О и k·P ≠ О для всех k = 1, 2, …, q-1, где О – нейтральный элемент группы точек эллиптической кривой E; - h(M) – хеш-функция, прописанная в ГОСТ Р 34.11-2012 [12]. Каждый пользователь цифровой подписи имеет личные ключи: - ключ шифрования d – целое число, лежащее в пределах 0 < d < q; - ключ расшифровывания Q = (xQ, yQ), вычисляемый как Q = d·P. Схема формирования электронной цифровой подписи по данному стандарту включает в себя следующие этапы: Вычисление хэш-функции от сообщения М: m = h(M). Вычисление e = z (mod q), где z целое число, соответствующее m. Генерация случайного числа k такого, чтобы выполнялось условие: 0 < k < q. Вычисление точки эллиптической кривой C = kP, и по ней нахождение r = xc (mod q), где xc – это координата x точки C. Если r = 0, то следует вернуться к предыдущему этапу. Нахождение s = (rd + ke) (mod q). Если s = 0, то следует вернуться к третьему этапу. Формирование цифровой подписи ξ = ( | ), где и — векторы, соответствующие r и s [12]. Схема проверки электронной цифровой подписи включает в себя следующие этапы: Вычисление по цифровой подписи ξ чисел r и s, учитывая, что ξ = ( | ), где r и s — числа, соответствующие векторам и . Если хотя бы одно из неравенств r < q или s < q неверно, то подпись выполнена неверно. Вычисление хэш-функции от сообщения М: m = h(M). Вычисление e = z (mod q), где z — целое число соответствующее m. Вычисление v = e-1 (mod q). Вычисление z1 = sv (mod q) и z2 = -rv (mod q). Вычисление точки эллиптической кривой C = z1P + z2Q. Определение R = xc, где xc — координата x кривой C. В случае равенства R = r, подпись является достоверной, иначе — подделкой [12]. 1.3. Анализ угроз электронной цифровой подписи и необходимость ее сертификации Ввиду того, что в соответствии с федеральным законом Российской Федерации «Об электронной подписи» электронный документ, равнозначный документу на бумажном носителе и подписанный (усиленной) электронной подписью, признается равнозначным документу на бумажном носителе, заверенному печатью и подписанному собственноручной подписью, существует реальная угроза фальсификации электронной подписи или документа, подписанного ею. Такие действия в отношении электронной подписи называются «атаками» на электронную подпись. Согласно классификации, предложенной Петровым А.А., атаки на электронную подпись можно разделить на следующие несколько типов: - атака с известным открытым ключом, которая является самой слабой из всех перечисленных ниже атак, так как любой может получить открытый ключ пользователя; - атака с известными подписанными сообщениями, когда злоумышленник обладает не только открытым ключом, но и набором подписанных сообщений; - простая атака с выбором подписанных сообщений, когда злоумышленник имеет возможность выбирать подписанные сообщения, при этом открытый ключ он получает после выбора сообщений; - направленная атака с выбором сообщений, которая представляет собой вариацию предыдущей атаки и отличается лишь тем, что, получая подписанные сообщения, злоумышленник знает открытый ключ; - адаптивная атака с выбором сообщений, когда злоумышленник не только знает открытый ключ и может выбирать подписанные сообщения, но и имеет подписи всех ранее подписанных сообщений. Каждая из атак на электронную подпись преследует определенные цели, которые также можно разделить на следующие типы: - полное раскрытие, которое обуславливается нахождением злоумышленником секретного ключа пользователя, что означает полный взлом алгоритма; - универсальная подделка электронной подписи, когда злоумышленник находит алгоритм, аналогичный алгоритму генерации ключей электронной подписи, что позволяет подделывать электронные подписи для любого электронного документа; - выборочная подделка электронной подписи, когда существует возможность подделки электронной подписи для сообщения, выбранного злоумышленником; - экзистенциальная подделка электронной подписи, когда существует возможность подделки электронной подписи хотя бы для одного случайно выбранного сообщения. Очевидно, что самой опасной атакой на электронную подпись является адаптивная атака на основе выбранных сообщений, поэтому при анализе алгоритмов электронной подписи на криптостойкость следует рассматривать именно её (если, конечно, не имеется каких-либо особых условий). Однако при безошибочной реализации современных алгоритмов формирования электронной подписи получение закрытого ключа становится практически невозможным из-за вычислительной сложности. Поэтому вероятность того, что злоумышленник будет проводить атаки на электронную подпись, которые можно классифицировать, как коллизии первого и второго рода, существенно выше. Коллизиия первого рода представляет собой подбор злоумышленником такого электронного документа, чтобы хеш-значение этого документа был идентичен хеш-значению подделываемого документа, что, в сущности, соответствует экзистенциальной подделке электронной подписи. Как было сказано выше, количество сообщений (в данном случае электронных документов) безгранично, а количество хеш-значений ограничено числом 2N, где N — длина хеш-значения в битах, поэтому у совершенно разных сообщений (документов) может быть одно и то же хеш-значение. Однако в подавляющем большинстве случаев такой документ невозможно подобрать по следующим причинам: - случайный набор байт, имеющий идентичное хеш-значение с подделываемым документом, должен подойти под сложно структурированный формат документа; - подделываемый электронный документ может содержать определенную форму заполнения, которая не должна быть нарушена в ложном документе; - если подделываемый документ содержит текст, то текст его «хеш-двойника» должен быть осмысленным и структурированным, а не представлять собой псевдопроизвольный набор букв и символов. Вероятность выполнения всех этих условий крайне мала, поэтому считается, что на практике такого случиться не может даже с ненадёжными хеш-функциями, так как размер документов обычно превышает несколько килобайтов. Коллизией второго рода называется получение двух электронных документов с одинаковой подписью (что соответствует выборочной подделке электронной подписи), чтобы впоследствии один подменить другим. При этом данная атака возможна лишь в случае, если конкретные алгоритмы хешировании и электронной подписи недостаточно криптоустойчивы или из-за ошибок их реализации. Наибольшую популярность приобрели так называемые «социальные атаки» на электронную подпись, так как они направлены не на взлом алгоритма электронной подписи, что требует немалых затрат (как временных, так и вычислительных), а на манипуляцию с открытым и закрытым (секретным) ключами электронной подписи. Эти атаки могут представлять собой: - кражу закрытого ключа злоумышленником для дальнейшего подписания электронных документов от имени владельца; - подписание электронного документа самим владельцем путем введения его в заблуждение; - подмену злоумышленником открытого ключа владельца на свой собственный, выдавая себя за него. Основными же причинами компрометации ключей электронной подписи, как правило, являются: - использование слабых паролей (и других методов защиты) для обеспечения безопасности ключевой информации; - хранение ключей на ненадежных носителях информации; - передача ключевой информации по незащищенным или ненадежным каналам связи; - передача ключевого носителя сторонним пользователям. Таким образом, основываясь на приведенных выше причинах возникновения угроз электронной подписи, можно сделать вывод, что, помимо обеспечения криптостойкости алгоритмов электронной подписи и хеширования, одной из важнейших проблем систем создания и верификации электронной подписи является управление открытыми ключами. В соответствии с российским законодательством, за обеспечение безопасности секретного ключа электронной подписи несет ответственность непосредственно сам владелец электронной подписи (подписант). Однако встает вопрос об организации безопасного распределения открытых ключей. Ввиду того, что открытый ключ должен быть доступен любому пользователю, должен существовать механизм проверки того, что данный ключ принадлежит именно своему владельцу. Следовательно, необходимо обеспечить доступ любого пользователя к подлинному открытому ключу любого другого пользователя, защитить эти ключи от подмены злоумышленником, а также организовать отзыв ключа в случае его фальсификации. Проблема защиты ключей от подмены решается путем выдачи сертификатов, которые удостоверяют заключённые в нём данные о владельце открытого ключа и его открытый ключ подписью какого-либо доверенного лица. В роли такого доверенного лица, как правило, выступают удостоверяющие центры (или центры сертификации), которые являются одним из важнейших элементов инфраструктуры управления открытыми ключами. 1.4. Инфраструктура управления открытыми ключами Как было сказано выше, для того чтобы обеспечить наиболее полную защиту открытых ключей от фальсификации, а также максимально исключить риски подделки электронной цифровой подписи в отношениях двух сторон с применением электронной цифровой подписи возникает необходимость в привлечении третьей доверенной стороны, честность и непредвзятость которой не могут вызывать никаких сомнений. В качестве такой стороны выступают удостоверяющие центры (или центры сертификации), которые в совокупности с конечными пользователями, взаимодействующими друг с другом посредством этих центров, составляют основу инфраструктуры управления открытыми ключами. Инфраструктура управления открытыми ключами (или инфраструктура открытых ключей) представляет собой комплексную систему средств (технических, материальных, людских и т. д.), служб и компонентов, которая использует криптографию с открытыми ключами для идентификации и аутентификации субъектов. Эта инфраструктура позволяет использовать сервисы шифрования и, что самое главное, сервисы формирования и проверки электронной цифровой подписи согласованно с широким кругом приложений, функционирующих в среде открытых ключей. Помимо удостоверяющего центра и конечных пользователей, в инфраструктуру управления открытыми ключами должны входить такие обязательные компоненты, как сертификат ключа проверки электронной подписи, который кроме открытого ключа электронной подписи должен содержать еще и необходимую информацию о подписанте и быть удостоверен центром сертификации, реестр и архив этих сертификатов, созданных, выданных и аннулированных данным центром сертификации. Для полноценной работы инфраструктуры открытых ключей этих компонентов вполне достаточно, но для наиболее эффективного функционирования данной инфраструктуры нередко прибегают к включению в нее таких дополнительных компонентов, как регистрационный центр и центр запросов, которые предназначены для регистрации новых пользователей и приема запросов пользователей на получение сертификатов соответственно. В случае, если эти компоненты не включены в состав инфраструктуры, их функции выполняет удостоверяющий центр. К основным же функциям удостоверяющего центра, который, согласно федеральному закону «Об электронной подписи», является ничем иным, как юридическим лицом или индивидуальным предпринимателем, уполномоченным в создании и верификации электронных подписей и удостоверения их подлинности, относятся: - создание сертификатов ключей проверки электронных подписей и их выдача заявителям (лицам, обратившимся за их получением); - установление сроков действия сертификатов ключей проверки электронных подписей; - аннулирование сертификатов ключей проверки электронных подписей, выданных данным удостоверяющим центром; - выдача средств электронной подписи, содержащих ключ электронной подписи и ключ проверки электронной подписи (в том числе созданные удостоверяющим центром) по обращению заявителя; - ведение реестра сертификатов ключей проверки электронной подписи, выданных и аннулированных данным удостоверяющим центром, и информации, содержащейся в этих сертификатах; - создание ключей электронных подписей и ключей проверки электронных подписей по обращениям заявителей; - проверка уникальности ключей проверки электронных подписей в реестре сертификатов; - проверка электронных подписей. Сертификат ключа проверки электронной подписи, как и удостоверяющий центр, является одной из важнейших составляющих инфраструктуры управления открытыми ключами и представляет собой документ (электронный или на бумажном носителе), подтверждающий принадлежность ключа проверки электронной подписи (открытого ключа) владельцу этого сертификата. Электронная подпись, чей ключ проверки задокументирован в данном сертификате, является усиленной электронной подписью, которая может быть двух видов: усиленной квалифицированной электронной подписью или усиленной неквалифицированной электронной подписью. Эти два вида усиленной электронной подписи отличаются тем, что у квалифицированной электронной подписи ключ проверки электронной подписи указан в квалифицированном сертификате, а средства электронной подписи получили подтверждение соответствия требованиям федерального закона «Об электронной подписи». Иными словами, все зависит от сертификата ключа – если сертификат квалифицированный, то и подпись, чей ключ проверки содержится в нем, является квалифицированной. Данный квалифицированный сертификат открытого ключа электронной подписи отличается он неквалифицированного тем, что он может быть выдан исключительно аккредитованным удостоверяющим центром, его доверенным лицом или федеральным уполномоченным органом исполнительной власти. Но до тех пор, пока удостоверяющий центр не получил аккредитацию, электронная подпись, ключи проверки которой находятся в сертификате, выданным данным удостоверяющим центром, не может считаться квалифицированной. Очевидно, что для стимулирования дальнейшего развития трансграничного электронного документооборота с использованием электронной цифровой подписи необходимо в первую очередь максимально эффективно наладить внутригосударственный электронный документооборот, чему может сильно поспособствовать аккредитация как можно большего количества удостоверяющих центров. Ведь, в соответствии с федеральным законом, регулирующим на данный момент отношения с использованием электронной подписи в Российской Федерации, усиленная квалифицированная электронная подпись имеет огромное преимущество перед неквалифицированной – электронные документы, подписанные усиленной квалифицированной электронной подписью, везде должны признаваться равнозначными документам на бумажном носителе за исключением случаев, когда в каком-либо федеральном законе или ином нормативно-правовом акте прописано обратное. А электронные документы, подписанные усиленной неквалифицированной электронной подписью, только тогда признаются равнозначными документам на бумажном носителе, когда это прописано в каком-либо федеральном законе или ином нормативно-правовом акте. Таким образом, всеобщая аккредитация удостоверяющих центров может на один шаг приблизить страну к формированию более совершенной внутригосударственной системы электронного документооборота, что позволит более плотно подойти к решению вопросов касательно обеспечения функционирования данной системы на международном уровне. Однако на настоящий момент существует множество проблем трансграничного обмена электронными документами и признания их действительными за границей, которые возникают, в основном, в связи со следующими факторами: - различиями в терминологиях и определениях законодательств разных стран; - неполнотой правовой базы; - локальные нормативные базы содержат требования, не соответствующие иностранным решениям; - возможность многозначного толкования общей нормативной базы (например, Европейского союза), таких, как различие в концепциях квалифицированных сертификатов и в особенности может ли квалифицированный сертификат быть выдан юридическому лицу; - отсутствие в нормативной базе явного предпочтения квалифицированной электронной цифровой подписи; - неоднообразное использование атрибутов сертификатов: нет общепринятого стандарта для атрибутов, который можно было бы использовать для определения роли подписанта, а так же единого мнения по поводу значений, которые атрибут может содержать, в том числе и языковые различия (например, lawyer, advocate, Rechtsanwalt); - помимо правовых различий имеет место и технологическое различие – в алгоритмах хеширования и алгоритмах электронной подписи. Все эти аспекты крайне важны в вопросе обеспечения функционирования системы электронного документооборота на международном уровне и нуждаются в дальнейшем, более детальном рассмотрении. |