Лекция №17

Лекция №17. Управление криптоключами

Оглавление

Введение. 1

Использование комбинированной криптосистемы 2

Метод распределения ключей Диффи-Хеллмана 4

Инфраструктура управления открытыми ключами PKI 6

Принципы функционирования PKI 7

Логическая структура и компоненты PKI 10

Введение.

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

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

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

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

  • оперативность и точность распределения;
  • конфиденциальность и целостность распределяемых ключей.

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

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

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

Задача распределения ключей сводится к построению такого протокола распределения ключей, который обеспечивает:

  • взаимное подтверждение подлинности участников сеанса;
  • подтверждение достоверности сеанса;
  • использование минимального числа сообщений при обмене ключами.

Характерным примером реализации первого подхода является система аутентификации и распределения ключей Kerberos.

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

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

Для решения этой проблемы можно применить два основных способа:

  • Использование асимметричной криптосистемы с открытым ключом для защиты секретного ключа симметричной криптосистемы.
  • Использование системы открытого распределения ключей Диффи-Хеллмана.

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

Второй способ безопасного распространения секретных ключей основан на применении алгоритма открытого распределения ключей Диффи-Хеллмана. Этот алгоритм позволяет пользователям обмениваться ключами по незащищенным каналам связи.

Использование комбинированной криптосистемы

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

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

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

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

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

Метод комбинированного использования симметричного и асимметричного шифрования заключается в следующем: симметричную криптосистему применяют для шифрования исходного открытого текста, а асимметричную криптосистему с открытым ключом — только для шифрования секретного ключа симметричной криптосистемы. В результате асимметричная криптосистема с открытым ключом не заменяет, а лишь дополняет симметричную криптосистему с секретным ключом, позволяя повысить в целом защищенность передаваемой информации. Такой подход иногда называют схемой электронного цифрового конверта. Пусть пользователь А хочет использовать комбинированный метод шифрования для защищенной передачи сообщения М пользователю В.

Тогда последовательность действий пользователей А и В будет следующей.

Действия пользователя А:

  1. Создает (например, генерирует случайным образом) сеансовый секретный ключ KS, который будет использован в алгоритме симметричного шифрования для зашифрования конкретного сообщения или цепочки сообщений.
  2. Зашифровывает симметричным алгоритмом сообщение М на сеансовом секретном ключе KS.
  3. Зашифровывает асимметричным алгоритмом секретный сеансовый ключ KS на открытом ключе Ke пользователя В (получателя сообщения).
  4. Передает по открытому каналу связи в адрес пользователя В зашифрованное сообщение М вместе с зашифрованным сеансовым ключом KS.

Действия пользователя А иллюстрируются схемой шифрования сообщения комбинированным методом (рис. 1).

Рис. 1. Схема шифрования сообщения комбинированным методом.

Действия пользователя В (при получении электронного цифрового конверта — зашифрованного сообщения М и зашифрованного сеансового ключа KS):

  1. Расшифровывает асимметричным алгоритмом сеансовый ключ KS с помощью своего секретного ключа kB.
  2. Расшифровывает симметричным алгоритмом принятое сообщение М с помощью полученного сеансового ключа KS.

Действия пользователя В иллюстрируются схемой расшифрования сообщения комбинированным методом (рис. 2).

Полученный электронный цифровой конверт может раскрыть только законный получатель — пользователь В.

Рис. 2. Схема расшифрования сообщения комбинированным методом.

Только пользователь В, владеющий личным секретным ключом kB, сможет правильно расшифровать секретный сеансовый ключ KS и затем с помощью этого ключа расшифровать и прочитать полученное сообщение М.

При методе цифрового конверта недостатки симметричного и асимметричного криптоалгоритмов компенсируются следующим образом:

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

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

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

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

В табл. 1 приведены распространенные длины ключей симметричных и асимметричных криптосистем, для которых трудность атаки полного перебора примерно равна трудности факторизации соответствующих модулей асимметричных криптосистем [47].

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

Длина ключа симметричной криптосистемы, бит Длина ключа асимметричной криптосистемы, бит
56 384
64 512
80 768
112 1792
128 2304

Если используется короткий сеансовый ключ (например, 56-битный ключ алгоритма DES), то не имеет значения, насколько велики асимметричные ключи. Злоумышленник будет атаковать не их, а сеансовый ключ.

Метод распределения ключей Диффи-Хеллмана

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

Суть метода Диффи-Хеллмана заключается в следующем (рис. 3).

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

Затем пользователь А вычисляет на основании своего секретного ключа kA открытый ключ

Одновременно пользователь В вычисляет на основании своего секретного ключа kB открытый ключ

где N и g — большие целые простые числа. Арифметические действия выполняются с приведением по модулю N.

Рис. 3. Схема открытого распределения ключей Диффи-Хеллмана

Числа N и g могут не храниться в секрете. Как правило, эти значения являются общими для всех пользователей сети или системы.

Затем пользователи А и В обмениваются своими открытыми ключами KA и КВ по незащищенному каналу и используют их для вычисления общего сессионного ключа К (разделяемого секрета):

Таким образом, результатом этих действий оказывается общий сессионный ключ, который является функцией обоих секретных ключей kA и kB.

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

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

Схема Диффи-Хеллмана дает возможность шифровать данные при каждом сеансе связи на новых ключах. Это позволяет не хранить секреты на дискетах или других носителях. Не следует забывать, что любое хранение секретов повышает вероятность попадания их в руки конкурентов или противника.

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

Метод комплексной защиты конфиденциальности и аутентичности передаваемых данных

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

Действительно, согласно данному алгоритму, пользователи А и В сначала генерируют свои секретные ключи kА и kВ и вычисляют свои открытые ключи KA и KB. Затем абоненты А и В используют эти промежуточные результаты для одновременного вычисления общего разделяемого секретного ключа K, который может использоваться для симметричного шифрования данных.

Метод комплексной защиты конфиденциальности и аутентичности передаваемых данных работает по следующей схеме:

  • абонент A подписывает сообщение М с помощью своего секретного ключа kA, используя стандартный алгоритм цифровой подписи;
  • абонент A вычисляет совместно разделяемый секретный ключ K по алгоритму Диффи-Хеллмана из своего секретного ключа kA и открытого ключа KB абонента B;
  • абонент A зашифровывает сообщение М на полученном совместно разделяемом секретном ключе K, используя согласованный с партнером по обмену алгоритм симметричного шифрования;
  • абонент B при получении зашифрованного сообщения М вычисляет по алгоритму Диффи-Хеллмана совместно разделяемый секретный ключ K из своего секретного ключа kB и открытого ключа KA абонента A;
  • абонент B расшифровывает полученное сообщение М на ключе K;
  • абонент B проверяет подпись расшифрованного сообщения М с помощью открытого ключа абонента KA.

На основе схемы Диффи-Хеллмана функционируют протоколы управления криптоключами SKIP (Simple Key management for Internet Protocols) и IKE (Internet Key Exchange), применяемые при построении защищенных виртуальных сетей VPN на сетевом уровне.

Важным достоинством схемы распределения ключей Диффи- Хеллмана является то, что они позволяют обойтись без защищенного канала для передачи ключей. Однако необходимо иметь гарантию того, что пользователь А получил открытый ключ именно от пользователя В, и наоборот. Эта проблема решается с помощью сертификатов открытых ключей, создаваемых и распространяемых центрами сертификации CA (Certification Authority) в рамках инфраструктуры управления открытыми ключами PKI (Public Key Infrastructure).

Инфраструктура управления открытыми ключами PKI

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

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

  • необходимо для N пользователей распространять в защищенном режиме N(N — 1)/2 ключей, что при N порядка нескольких сотен может стать очень обременительной задачей;
  • система распространения ключей получается сложной (много ключей и закрытый канал распространения), что приводит к появлению уязвимых мест.

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

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

  • перегруженность количеством ключей — их теперь всего N;
  • сложность распространения — их можно распространять открыто.

Однако у этой технологии есть один недостаток — подверженность атаке «человек в середине», когда атакующий злоумышленник расположен между участниками взаимодействия. В этом случае появляется риск подмены передаваемых открытых ключей.

Инфраструктура управления открытыми ключами PKI позволяет преодолеть этот недостаток и обеспечить эффективную защиту от атаки «человек в середине».

Принципы функционирования PKI

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

Защита от атаки «человек в середине»

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

Поясним на примере действия атакующего злоумышленника (рис. 4).

Рис. 4. Подмена открытого ключа

Предположим, есть два пользователя i и j, каждый из которых имеет по паре ключей, при этом у пользователя j есть открытый (public) ключ Kpi для проверки ЭЦП пользователя i. Далее предположим, что злоумышленник может перехватить этот ключ Kpi в процессе его передачи от пользователя i пользователю j или получить доступ к этому ключу, хранящемуся у пользователя j. В любом случае злоумышленник считает из ключа его реквизиты (например, фамилию владельца, место работы и т. д.) и создаст свою пару ключей, Ksi’ и Kpi’, в которые запишет известные ему реквизиты пользователя i. Затем он подменит посланный пользователю j открытый ключ Kpi своим фальшивым открытым ключом Kpi’, имеющим реквизиты пользователя i.

Любое сообщение злоумышленник будет подписывать своим секретным ключом Ksi’ (причем для пользователя j эта подпись выглядит так, как если бы она была поставлена пользователем i). Подпись такого сообщения, проверяемая пользователем j, будет верна, поскольку ему был послан фальшивый открытый ключ Kpi’, парный столь же фальшивому секретному(sequrity) ключу Ksi’.

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

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

Сертификаты открытых ключей

Сертификаты открытых ключей играют важную роль в криптографии открытых ключей. Основное назначение сертификата открытого ключа — сделать доступным и достоверным открытый ключ пользователя.

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

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

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

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

Таким источником, согласно стандарту X.509, является центр сертификации СА (Certification Authority). Центр сертификации называют также УЦ — удостоверяющим центром; последний термин используется, в частности, в Федеральный законе «Об электронной подписи» от 06.04.2011 N 63-ФЗ.

Центр сертификации СА (Certification Authority) является доверенной третьей стороной, которая обеспечивает аутентификацию открытых ключей, содержащихся в сертификатах. СА имеет собственную пару ключей (открытый/секретный), где секретный ключ СА используется для подписывания сертификатов, а открытый ключ СА публикуется и применяется пользователями для проверки подлинности открытого ключа, содержащегося в сертификате.

Сертификация открытого ключа — это подтверждение подлинности открытого ключа и хранимой совместно с ним служебной информации, в частности о принадлежности ключа. Сертификация ключа выполняется путем вычисления ЭЦП сертифицируемого ключа и служебной информации с помощью специального секретного ключа-сертификата, доступного только центру сертификации CA. Иными словами, сертификация открытого ключа — это подписывание открытого ключа электронной подписью, вычисленной на секретном ключе центра сертификации.

Открытый ключ совместно с сертифицирующей его ЭЦП часто называют сертификатом открытого ключа, или просто сертификатом.

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

Центр сертификации СА формирует сертификат открытого ключа пользователя путем заверения цифровой подписью CA определенного набора данных.

В соответствии с форматом Х.509 в этот набор данных включаются:

  • период действия открытого ключа, состоящий из двух дат: начала и конца периода;
  • номер и серия ключа;
  • уникальное имя пользователя;
  • информация об открытом ключе пользователя: идентификатор алгоритма, для которого предназначен данный ключ, и собственно открытый ключ;
  • ЭЦП и информация, используемая при проведении процедуры проверки ЭЦП (например, идентификатор алгоритма генерации ЭЦП);
  • уникальное имя сертификационного центра.

Рис. 5. Структура сертификата X.509

Таким образом, цифровой сертификат содержит три главные составляющие:

  • информацию о пользователе-владельце сертификата;
  • открытый ключ пользователя;
  • сертифицирующую ЭЦП двух предыдущих составляющих, вычисленную на секретном ключе СА.

Сертификат открытого ключа обладает следующими свойствами:

  • каждый пользователь, имеющий доступ к открытому ключу центра сертификации СА, может извлечь открытый ключ, включенный в сертификат;
  • ни одна сторона, помимо центра сертификации, не может изменить сертификат так, чтобы это не было обнаружено (сертификаты нельзя подделать).

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

Создание сертификата открытого ключа начинается с создания пары ключей (открытый/секретный).

Процедура генерации ключей может осуществляться двумя способами:

  1. СА создает пару ключей. Открытый ключ заносится в сертификат, а парный ему секретный ключ передается пользователю с обеспечением аутентификации пользователя и конфиденциальности передачи ключа.
  2. Пользователь сам создает пару ключей. Секретный ключ сохраняется у пользователя, а открытый ключ передается по защищенному каналу в СА.

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

Логическая структура и компоненты PKI

Инфраструктура открытых ключей PKI (Public Key Infrastructure) — это набор программных агентов и правил, предназначенных для управления ключами, политикой безопасности и собственно обменом защищенными сообщениями.

Основными задачами PKI являются:

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

Токен безопасности — это индивидуальное средство безопасности, определяющее все права и окружение пользователя в системе, например, USB-ключ или смарт-карта.

Рис. 6. JaCarta ГОСТ – персональное средство электронной подписи с российской криптографией «на борту» для формирования усиленной квалифицированной ЭП с неизвлекаемым ключом ЭП и строгой аутентификации пользователей.

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

Для предоставления удаленного доступа мобильным пользователям центр управления должен допускать подключение компьютеров, IP-адрес которых ему заранее неизвестен. Участники информационного обмена опознаются по их криптографическим сертификатам. Так как криптографический сертификат пользователя является электронным паспортом, он, как и любой паспорт, должен соответствовать определенным стандартам. В криптографии это стандарт Х.509.

Рис. 7. Пример распределенной сети организации.

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

Рис. 8. Иерархическая структура сертификатов.

Иерархическая схема PKI предусматривает существование четырех типов сертификатов:

  1. Сертификат конечного пользователя (описанный выше).
  2. Сертификат Удостоверяющего Центра (СА). Должен быть доступен для проверки ЭЦП сертификата конечного пользователя и подписан секретным ключом СА верхнего уровня, причем эта ЭЦП также должна проверяться, для чего должен быть доступен сертификат СА верхнего уровня, и т. д.
  3. Самоподписанный сертификат. Является корневым для всей PKI и доверенным по определению. Если в результате проверки цепочки сертификатов СА выяснится, что один из них подписан корневым секретным ключом, тогда процесс проверки ЭЦП сертификатов заканчивается.
  4. Кросс-сертификат. Кросс-сертификаты позволяют расширить действие конкретной PKI путем взаимоподписания корневых сертификатов двух разных PKI.

Процедура проверки ЭЦП электронного документа происходит в системе PKI следующим образом. Сначала проверяется ЭЦП конкретного документа, а затем — ЭЦП сертификата, с помощью которого проверялась предыдущая ЭЦП. Последняя проверка повторяется в цикле до тех пор, пока цепочка сертификатов не приведет к корневому.

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

Заметим, что корневых сертификатов может быть несколько: каждая организация (или организационная единица) вправе устанавливать свои корневые сертификаты (один или несколько). Стандартом предусмотрено и наличие корневого сертификата для всего сообщества пользователей Интернета.

Логическая структура и основные компоненты инфраструктуры управления открытыми ключами PKI приведены на рис. 9.

Компоненты этой структуры имеют следующее назначение:

Каталог сертификатов — общедоступное хранилище сертификатов пользователей. Доступ к сертификатам производится обычно по стандартизованному протоколу доступа к каталогам LDAP (Lightweight Directory Access Protocol).

Центр регистрации RA (Registration Authority) — организационная единица, назначение которой — регистрация пользователей системы.

C:\Users\Admin\AppData\Local\Temp\FineReader12.00\media\image98.jpeg

Рис. 9. Структура PKI

Пользователь — владелец какого-либо сертификата (такой пользователь подлежит регистрации) или любой пользователь, запрашивающий сертификат, хранящийся в каталоге сертификатов.

Центр сертификации СА (Certification Authority) — организационная единица, назначение которой — сертификация открытых ключей пользователей (здесь из открытого ключа получается сертификат формата Х.509) и их опубликование в каталоге сертификатов.

Общая схема работы центра сертификации СА выглядит следующим образом:

  • СА генерирует собственные ключи и формирует сертификаты СА, предназначенные для проверки сертификатов пользователей;
  • пользователи формируют запросы на сертификацию и доставляют их СА тем или иным способом;
  • СА на основе запросов пользователей формирует сертификаты пользователей;
  • СА формирует и периодически обновляет списки отмененных сертификатов CRL (Certificate Revocation List);
  • сертификаты пользователей, сертификаты CA и списки отмены CRL публикуются CA (рассылаются пользователям либо помещаются в общедоступный справочник).

Функции, выполняемые PKI в целом, можно условно разделить на несколько групп:

  1. функции управления сертификатами;
  2. функции управления ключами;
  3. дополнительные функции (службы).

Кратко рассмотрим эти основные группы функций.

В состав функций управления сертификатами входят:

  • регистрация пользователей. Пользователем может быть физический пользователь, прикладная программа, сетевое устройство и прочее;
  • сертификация открытых ключей. По существу, процесс сертификации состоит в связывании имени пользователя и открытого ключа. СА подписывает сертификаты пользователей и СА более низкого уровня;
  • сохранение закрытого ключа СА. Это главная болевая точка системы. Компрометация закрытого ключа СА разрушает всю систему;
  • содержание базы сертификатов и их распределение. Все сертификаты пользователей и промежуточных СА (кроме СА самого верхнего уровня!) обычно выкладываются на общедоступный сервер — сервер сертификатов;
  • обновление сертификата. Процесс активируется в случае истечения срока действия сертификата и состоит в передаче нового сертификата для открытого ключа пользователя;
  • обновление ключей. При генерации новой пары ключей пользователем либо третьей стороной необходима генерация нового сертификата;
  • отзыв сертификата. Этот процесс возможен, например, при компрометации ключей, изменении имени, прекращении доступа и прочем;
  • определение статуса отзыва сертификата. Пользователь проверяет наличие сертификата в каталоге открытых ключей PKD (Public Key Directory) и в списке отзыва сертификатов CRL.

Функции управления ключами делятся на следующие основные подгруппы:

  • генерация ключей;
  • распределение ключей.

В состав группы дополнительных функций (служб) входят:

  • взаимная сертификация (кросс-сертификация в различных СА);
  • проверка открытого ключа с целью убедиться в соответствии открытого ключа арифметическим требованиям для таких ключей;
  • проверка сертификата по просьбе пользователя;
  • служба архивирования и др.

Взаимодействие компонентов инфраструктуры открытых ключей

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

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

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

  • автоматическое создание сертификатов для объектов каталога, управляемое политиками;
  • автоматическая публикация списков отозванных сертификатов и сертификатов CA.

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

Физически система управления инфраструктурой открытых ключей может состоять из нескольких уровней:

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

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

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

подсистема генерации ключей шифрования и ЭЦП, используемая для:

  • создания систем юридически значимой электронной цифровой подписи в системах электронного документооборота (в соответствии с Федеральным законом РФ об электронной цифровой подписи № 1-ФЗ от 10.01.2002 г.);
  • реализации систем однократной и многофакторной аутентификации при доступе к автоматизированным информационным системам;

подсистема безопасного хранения и управления ключевой информацией, реализующая следующие функции:

  • контроль целостности электронных документов;
  • контроль целостности публичных информационных ресурсов;
  • проверку подлинности взаимодействующих программных компонентов и конфиденциальности передаваемых данных при информационном взаимодействии;
  • обеспечение безопасности и разграничение доступа при взаимодействии субъектов автоматизированных информационных систем;

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

На рис. 10 приведена схема инфраструктуры открытых ключей на базе продуктов Microsoft Active Directory и Microsoft Certification Authority. Удостоверяющие центры образуют в приведенном решении двухуровневую иерархию.

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

Рис. 10. Схема инфраструктуры открытых ключей на базе продуктов Microsoft Active Directory и Microsoft Certification Authority

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

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