Компьютерные технологии все прочнее входят в наш мир. Многие руководители помнят, как еще недавно для оплаты необходимо было заполнять печатными буквами несколько платежных поручений и везти их в банк. В середине 90-х годов прошлого столетия банки стали предлагать компаниям производить платежи, не покидая офиса. Это стало возможно с появлением электронных платежей в основе, которых лежит электронная цифровая подпись (ЭЦП). В отличие от обычного бумажного документа, подлинность которого устанавливается наличием мастичной печати и подписи ответственного лица, в электронном документе за достоверность отвечает ЭЦП. Технология ЭЦП известна с начала 70-х годов прошлого века. Она основана на использовании криптографии с открытым распределением ключей. ЭЦП позволяет однозначно определить подлинность и авторство электронного документа. Для этого пользователь должен получить случайное число, которое называется секретным ключом. Именно на нем будет происходить подпись электронного документа. Кроме того, пользователь вычисляет открытый ключ, который является результатом работы однонаправленной функции над секретным ключом. Особенность однонаправленной функции такова, что прямые вычисления проводятся достаточно просто, а обратные вычисления провести за приемлемое время практически невозможно.
|
Алгоритмы
Сегодня используются в основном три алгоритма вычисления открытого ключа: алгоритм RSA, широко поддерживаемый компанией Microsoft, алгоритм Диффи-Хелмана - на нем базируются старые государственные стандарты ЭЦП (России и США) и, наиболее перспективный сегодня, алгоритм вычисления с использованием эллиптических кривых. На последнем методе основан новый Российский стандарт ЭЦП 34.10-2001.
ЭЦП происходит только с использованием секретного ключа пользователя. Сначала документ сжимается в некоторое число определенной длины. Эта процедура называется вычислением хеш-значения. Хеш-значение является дайджестом документа и однозначно определяет его содержимое. Далее хеш-значение обрабатывается (замешивается) на секретном ключе отправителя, в результате получаем электронную цифровую подпись. ЭЦП является неотъемлемой частью электронного документа и передается вместе с ним, внутри самого документа или в отдельном файле.
Проверка ЭЦП происходит на открытом ключе отправителя. Таким образом, в отличие от обычной подписи, ЭЦП зависит от содержания документа и ключей отправителя, используемых для подписи и ее распознавания. Поэтому ЭЦП по надежности на несколько порядков превосходит обычную подпись и печать.
Не имея открытого ключа абонента, невозможно проверить его электронную цифровую подпись. Обычно открытые ключи пользователей хранятся в отдельном списке (хранилище). Пользователь должен быть уверен в достоверности открытых ключей абонентов и поддерживать список открытых ключей в актуальном состоянии.
Примеры построения системы ЭЦП, основанной на открытом распределении ключей
Можно выделить две основные архитектуры построения:
- Простая архитектура, где каждый участник поддерживает список открытых ключей других пользователей, с которыми он работает. Данное решение применимо для небольшого количества абонентов, где каждый работает с каждым, или схемы "звезда", где пользователи не взаимодействуют между собой, а работают только с центром.
- Архитектура с выделенным администратором. Из группы абонентов выделяется один, называемый администратором. В задачи Администратора входит формирование списка открытых ключей для всех пользователей.
Простая архитектура
В этой архитектуре каждый участник поддерживает список открытых ключей других пользователей группы. Пользователь сам редактирует каталог, включая или исключая открытые ключи других абонентов. Эта архитектура строится на равноправии всех пользователей в группе, каждый использует только свой личный список открытых ключей.
Преимущество данной архитектуры заключается в простоте развертывания. Вся ответственность по управлению открытыми ключами возлагается на пользователей.
Недостатком данной архитектуры можно отметить трудоемкость добавления нового пользователя в группу, поскольку все пользователи должны добавить открытые ключи нового пользователя в свой каталог. Такая архитектура подходит только для небольшого количества абонентов в группе.
Архитектура с выделенным администратором
В этой архитектуре выделяется один пользователь, который поддерживает список открытых ключей для всех пользователей. Он называется администратором.
В задачи администратора входит поддержание списка открытых ключей пользователей и размещение данного списка в общедоступном месте. Администратор не имеет преимуществ перед остальными. Он выступает в роли доверенного пользователя, уполномоченного для поддержания списка открытых ключей пользователей в актуальном состоянии.
При выполнении операций проверки подписи все пользователи обращаются к единому списку открытых ключей, созданному администратором.
Преимущество этой архитектуры заключается в простоте развертывания и управления пользователями. Для включения нового абонента в группу или исключения его из группы администратору достаточно произвести необходимые операции с открытым ключом пользователя: добавить открытые ключи в список или удалить их оттуда.
Архитектура, основанная на открытых ключах пользователя, обычно используется в компаниях, где пользователи знают друг друга и нет необходимости проверять достоверность открытых ключей и полномочий друг друга.
В последнее время наиболее популярной стало использование системы PKI, основанной на цифровых сертификатах Х.509.
Цифровой сертификат представляет собой структуру электронных данных, связывающую значения открытого ключа с информацией о конкретном пользователе. Цифровой сертификат заверяется ЭЦП некоторого Удостоверяющего Центра (Certificate Authority). УЦ является центром доверия для всех пользователей группы(чьи сертификаты он заверяет). Он гарантирует, что владелец сертификата является именно тем лицом, за кого себя выдает и обладает соответствующим секретным ключом.
Примеры построения системы управления ключами (PKI), основанных на сертификатах X.509
Иногда пользователю, работающему с одним центром сертификации, необходимо связываться с абонентами, работающими с другими центрами сертификации. Имеются два основных решения такой задачи. Первое, когда каждый пользователь поддерживает список доверенных центров сертификации. Такое решение применимо в основном для небольшого количества центров сертификации. Второе, когда центры сертификации могут устанавливать доверительные отношения между собой. Пользователь при этом комбинирует доверительные взаимоотношения в форме цепочки сертификатов.
Обычно реализуют одну из четырёх конфигураций архитектуры PKI:
- Архитектура с одним удостоверяющим центром. Все пользователи доверяют только этому удостоверяющему центру. Каждая цепочка сертификатов начинается с сертификата этого центра;
- Иерархическая архитектура с подчинёнными удостоверяющими центрами. В такой конфигурации есть головной центр, которому подчиняются другие УЦ.
- Сетевая архитектура, объединяющая удостоверяющие центры. В такой конфигурации все УЦ равноправны.
- Мостовая (гибридная) архитектура PKI. Данная архитектура объединяет нескольких разных PKI-архитектур.
Архитектура с одним Удостоверяющим Центром
Одна из основных архитектур PKI, включающая в себя только один удостоверяющий центр, который отвечает за выпуск сертификатов, получение статуса сертификата, ведение списка аннулированных сертификатов и т.д.
 Рисунок 1. Разделённые PKI с одним Удостоверяющим Центром
Преимуществом такой архитектуры является простота развертывания.
К основным недостаткам такой архитектуры можно отнести сложность масштабирования.
Иерархическая архитектура с подчинёнными удостоверяющими центрами
При такой архитектуре все пользователи доверяют только одному удостоверяющему центру, который называют "корневым". "Корневой" УЦ выпускает сертификаты подчиненным удостоверяющим центрам. Сертификатов пользователям он не выпускает. Пользователи получают свои сертификаты у подчиненных УЦ.
 Рисунок 2. Иерархическая архитектура PKI
Вместо подчиненных удостоверяющих центров могут выступать центры регистрации. Они не выпускают сертификаты для пользователей, а только проверяют информацию в заявках на сертификацию.
К преимуществам такой архитектуры можно отнести:
- Простое построение цепочек сертификатов.
- Небольшое количество сертификатов в цепочке.
- Хорошую масштабируемость.
- Пользователи точно знают, какой сертификат использовать, основываясь на позиции центра сертификации в иерархии.
Иерархическая структура PKI так же имеет и недостатки. Например, компрометация "корневого" УЦ, приведет к компрометации всей развернутой структуре PKI.
Сетевая архитектура, объединяющая удостоверяющие центры
Объединяющая PKI архитектура базируется на равноправном взаимоотношении всех удостоверяющих центров.
УЦ выпускают сертификаты друг другу, таким образом устанавливается доверительное взаимоотношение.
Все удостоверяющие центры, входящие в данную архитектуру являются доверенными для пользователей.
 Рисунок 3. Пример объединяющей PKI архитектуры
Такая архитектура имеет свои преимущества:
- Легко добавить новую группу пользователей. Любой из удостоверяющих центров в объединении устанавливает доверительные отношения с удостоверяющим центром из подключаемой группы.
- Компрометация одного удостоверяющего центра не приведёт к компрометации всей инфраструктуры.
- Данную архитектуру удобно использовать при объединении отдельных PKI в организации.
К недостаткам такой архитектуры можно отнести:
- Такая архитектура позволяет эффективно подключать небольшое число корпоративных PKI. Построение цепочки сертификатов более сложное, чем в иерархической структуре (4 УЦ должны выпустить шесть кросс-сертификатов, 6 УЦ должны выпустить уже 15 и так далее).
- Цепочка сертификатов может быть достаточно больших размеров и включать все удостоверяющие центры в объединении.
Мостовая (гибридная) архитектура PKI
Мостовой УЦ не выпускает сертификаты непосредственно для пользователей. В отличие от головного УЦ, мостовой УЦ не является пунктом доверия. Все пользователи PKI рассматривают мостовой УЦ в качестве посредника. Он устанавливает равноправные доверительные взаимоотношения с различными группами пользователей.
 Рисунок 4. Удостоверяющий Центр "мост" объединяет различные PKI архитектуры
Если домен доверия реализован как иерархическая PKI, мостовой УЦ устанавливает связь с головным УЦ иерархии. Если домен реализован как сетевая PKI, мостовой УЦ устанавливает связь только с одним из удостоверяющих центров сети. Мостовая архитектура PKI уменьшает длину цепочки, которую необходимо пройти, чтобы провести аутентификацию сертификата, предъявленного извне ее PKI. Такая технология выгодна тем, что она упрощает аннулирование взаимной сертификации. Мостовая архитектура позволяет PKI легко восстанавливаться после компрометации. Если главный УЦ корпоративной PKI скомпрометирован, мостовой УЦ просто аннулирует его сертификат.
Такая архитектура сегодня является наиболее эффективной, она позволяет легко добавлять новые удостоверяющие центры или целые корпоративные PKI, при этом все изменения для пользователей остаются прозрачными.
Работа с электронными документами
Особенностью работы с электронными документами является невозможность физически соприкоснуться с документом. Это означает, что стороны должны доверять, как друг другу, так и используемым технологиям. Для привлечения клиентов необходимо чтобы степень доверия к используемым технологиям и решениям была выше чем у конкурентов. При работе с системами PKI и электронными документами самым важным является сохранение в тайне секретного ключа ЭЦП. Существует ряд носителей, обеспечивающих защиту секретного ключа ЭЦП, в той или иной степени. Оптимальными являются токены - носители, изготовленные по смарт-карточным технологиям и имеющие USB-интерфейс.
Выпущенный для отечественного рынка идентификатор Rutoken - это токен, созданный по российским стандартам и в соответствии с российским законодательством. Он идеально подходит для надежного хранения закрытых ключей шифрования и ЭЦП. Rutoken может хранить информацию до 100 лет и имеет до 1 000 000 циклов записи. Для хранения ключевой информации в нем используется энергонезависимая память объемом до 128 Кб, причем все данные аппаратно шифруются в соответствии с ГОСТ 28147-89. Запись ключей и доступ к данным осуществляется на основании PIN-кода пользователя. Подобрать PIN код практически невозможно, поскольку в устройстве есть настраиваемый счетчик неверно введенных паролей. Когда число неверно введенных паролей превышает допустимый уровень - PIN пользователя блокируется . Таким образом, для доступа к ЭЦП необходимо не только обладать самим устройством, но и знать код доступа к нему.
|