Что можно получить в удостоверяющем центре. Создание удостоверяющих центров. Госдума утвердила законопроект "Об электронной подписи"

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

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

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

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

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

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

Итак, для начала нужно зарегистрироваться как субъект предпринимательской деятельности . Лучше сразу оформить юридическое лицо, предпочтительная форма – общество с ограниченной ответственностью. Тут уже неплохо иметь в штате или просто обратиться к грамотному юристу, который поможет с регистрацией и выбором системы налогообложения. Код деятельности - (ОКПД 2) 62.09 Услуги в области информационных технологий прочие и компьютерные услуги, хотя могут понадобиться и дополнительные кодировки в зависимости от перечня предлагаемых услуг. После прохождения этапа регистрации можно обращаться за получением лицензии.

По факту лицензию на выдачу электронных подписей выдаёт Министерство связи и массовых коммуникаций Российской Федерации (Минкомсвязь России) и его территориальные отделения, вернее это даже не лицензия, а прохождение аккредитации центра сертификации, по итогам которой выдаётся разрешение на деятельность с подтверждением того, что выдаваемые центром электронные подписи соответствуют государственному стандарту.

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

Однако есть другая существенная трудность. Работа в сфере информационной безопасности требует получение лицензии от Федеральной службы безопасности РФ (ФСБ) на (дословно) «деятельность по разработке, производству, распространению шифровальных (криптографических) средств, информационных систем и телекоммуникационных систем, защищенных с использованием шифровальных (криптографических) средств, выполнению работ, оказанию услуг в области шифрования информации, техническому обслуживанию шифровальных (криптографических) средств, информационных систем и телекоммуникационных систем, защищенных с использованием шифровальных (криптографических) средств (за исключением случая, если техническое обслуживание шифровальных (криптографических) средств, информационных систем и телекоммуникационных систем, защищенных с использованием шифровальных (криптографических) средств, осуществляется для обеспечения собственных нужд юридического лица или индивидуального предпринимателя)».

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

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

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

Чтобы получить лицензию ФСБ, необходимо, чтобы организация обладала некоторыми возможностями. Для начала необходимо найти руководителя, который имеет соответствующие высшее профессиональное образование по направлению подготовки «Информационная безопасность» или просто прошёл переподготовку по одной из специальностей данного направления. Стаж его работы должен составлять не менее трёх лет, а в некоторых случаях даже не менее пяти лет в зависимости от перечня оказываемых услуг.

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

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

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

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

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

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

Чтобы была возможность заниматься подобной деятельностью, необходимо приобрести мощное вычислительное оборудование, это может быть не только компьютеры, но и сопутствующая техника, к примеру, мощные серверы. На оборудование придётся выделить в среднем сумму порядка 500 тысяч рублей, есть возможность , конечно, сэкономить, если приобрести не столь мощное или даже бывшее в употреблении оборудование.

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

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

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

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

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

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

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

Так, физическое лицо должно предоставить только паспорт, адрес электронной почты и номер СНИЛС.

Квалифицированный сертификат электронной подписи юридическому лицу выдадут только по предоставлению учредительных документов с документом о внесении информации о предприятии в единый реестр и свидетельством о постановке на учёт в налоговый орган.

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

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

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

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

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

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

Что необходимо для создания и дальнейшей эксплуатации собственного УЦ (удостоверяющего центра) в компании? И в каких случаях вообще рекомендуется создавать именно свой, а не пользоваться услугами стороннего УЦ?

Ответ

Как правило, собственный удостоверяющий центр (далее - УЦ) в компании создается с целью обеспечения внутреннего юридически значимого документооборота. Для этого необходимо:

1. Собственно развернуть УЦ. Это вы можете сделать, например, на базе службы Microsoft Windows.

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

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

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

Подробно все это описано в Федеральном законе от 06.04.2011 № 63 «Об электронной подписи».

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

В удостоверяющем центре можно получить ЭЦП. А где найти перечень аккредитованных удостоверяющих центров и как удостоверяющему центру пройти аккредитацию? Ответы на эти и другие вопросы узнайте в материале.

Удостоверяющие центры для получения ЭЦП, аккредитованные Минкомсвязью России

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

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

ЭЦП бывает 2 видов: простая и усиленная.

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

Усиленная подпись бывает 2 видов: неквалифицированная и квалифицированная.

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

Квалифицированная ЭЦП обладает всеми свойствами неквалифицированного аналога, но сертификат ключа проверки ЭЦП — обязательный атрибут квалифицированной подписи, который выдается только в аккредитованном УЦ. При этом токен (съемный носитель электронного сертификата), а также сопутствующее программное обеспечение сертифицирует ФСБ РФ.

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

Головной УЦ

Минкомсвязь России - головной удостоверяющий центр (ГУЦ), выполняющий свои функции на основании постановления Правительства РФ «О федеральном органе исполнительной власти, уполномоченном в сфере использования электронной подписи» от 28.11.2011 № 976. Ознакомиться с алгоритмом работы и распорядительными документами ГУЦ, увидеть перечень удостоверяющих центров , список выданных сертификатов, а также узнать реквизиты ведомства можно на официальном сайте: e-trust.gosuslugi.ru.

Перечень документов для оформления аккредитации

Чтобы получить аккредитацию в Минкомсвязи, представителю УЦ следует направить в адрес ведомства заявление на получение свидетельства об аккредитации и пакет необходимых документов:

  1. Копии трудовых книжек и договоров как минимум с двумя сотрудниками, выполняющими функционал по созданию и выдаче сертификатов ключей ЭЦП. При этом работники должны иметь высшее образование в области инфобезопасности и технологий или среднее образование с последующим прохождением дополнительного образования по способам использования ЭЦП.
  2. Учредительные бумаги.
  3. Документы, подтверждающие законность использования программного обеспечения, которое впоследствии будет применяться для генерации ключей ЭЦП, соответствующих требованиям, предъявляемым к квалифицированной ЭЦП.
  4. Копия или выписка из бухбаланса, подтверждающая, что стоимостная оценка чистых активов — более 1 млн руб.
  5. Документ, позволяющий доверенному лицу действовать от имени УЦ.
  6. Документ, который подтверждает наличие у УЦ финансового обеспечения (подробнее об этом далее).
  7. Иные документы по требованию головного центра.

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

Страхование ответственности УЦ

Аккредитованные удостоверяющие центры должны обеспечить свою ответственность перед третьими лицами за возможные убытки в размере 1,5 млн руб., предоставив в ГУЦ подтверждающий документ, указанный в п. 5 предыдущего раздела. Таким документом может быть:

  • договор поручительства;
  • банковская гарантия (УЦ следует дополнительно указать номер лицензии банка);
  • договор страхования ответственности (ГУЦ проверяет наличие страховой компании в Едином госреестре субъектов страхового дела).

УЦ получает аккредитацию и электронную цифровую подпись

Заявление на аккредитацию удостоверяющих центров электронной подписи рассматривается в 30-дневный срок, в течение которого ГУЦ принимает решение о выдаче или об отказе в выдаче свидетельства об аккредитации. В случае положительного ответа Минкомсвязь в течение 5 дней оформляет сам документ-решение. В срок до 10 дней со дня принятия решения направляет в УЦ уведомление и выдает свидетельство об аккредитации и квалифицированный сертификат, сгенерированный с использованием средств создания подписи Минкомсвязью. А после выдачи сертификата в течение 24 часов размещает сведения о новом УЦ на едином портале. В случае принятия отрицательного решения ГУЦ направляет в УЦ соответствующее уведомление на бумажном носителе с указанием причин отказа.

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

Головной удостоверяющий центр Минкомсвязи ведет:

  1. Реестр аккредитованных удостоверяющих центров , который содержит названия и адреса УЦ.
  2. Реестр удостоверяющих центров с аннулированной аккредитацией.
  3. Перечень выданных и аннулированных ГУЦ квалифицированных сертификатов.
  4. Список удостоверяющих центров с приостановленной аккредитацией.
  5. Перечень удостоверяющих центров ЭЦП , деятельность которых прекращена.

На каком ресурсе публикуется реестр УЦ (единый сайт)

Список аккредитованных удостоверяющих центров Минкомсвязи , а также все вышеперечисленные перечни ГУЦ размещает на едином портале уполномоченного федерального органа в области использования электронной подписи по адресу https://e-trust.gosuslugi.ru.

Регламент работы УЦ (договор присоединения к формуляру) на примере УЦ «Картотека»

Аккредитованные удостоверяющие центры ЭЦП разрабатывают свой регламент работы самостоятельно на основании действующего законодательства. Регламент является договором присоединения, то есть условия договора определены законодательством и Минкомсвязью, и абонент соглашается с данными положениями путем присоединения к формуляру (ст. 428 ГК РФ).

Например, регламент УЦ «Картотека» содержит следующие сведения:

  1. О самом УЦ, включая реквизиты.
  2. Алгоритм присоединения к формуляру.
  3. Порядок предоставления информации.
  4. Права и обязанности сторон.
  5. Порядок взимания платы за услуги по генерации квалифицированной ЭЦП.
  6. Ответственность сторон.
  7. Алгоритм предоставления и пользования услугами центра.

Ознакомиться с регламентом УЦ «Картотека» можно на официальном сайте сервиса kartoteka.ru в разделе «Нормативные документы».

Итоги

ЭЦП можно получить в любом аккредитованном удостоверяющем центре. Список аккредитованных удостоверяющих центров ЭЦП публикует Минкомсвязь -головной удостоверяющий центр. Перечень удостоверяющих центров , аккредитованных Минкомсвязью России , можно скачать на едином сайте ведомства по адресу: e-rust.gosuslugi.ru.

Когда работал системным администратором, возникла у меня необходимость реализовать VPN на несколько десятков филиалов компании, интранет и почту на серверах в Москве с суровой защитой и доступом через VPN вообще отовсюду. При этом придумать всю систему и организовать её развёртывание предстояло в одно лицо. Бюджет был в тысячи полторы долларов, было это 4 года назад, некоторое время честно пытался найти более-менее приемлемое по цене ПО, потом нечестно пытался найти что-то на торрентах – пусто. В итоге – OpenSSL и OpenVPN. В этом вводном тексте хотелось бы поговорить об OpenSSL.

В конечном итоге были развёрнуты:

  • центр выдачи сертификатов (CA – Certificate Authority, он-же УЦ – Удостоверяющий Центр, в отечественной терминологии организация, уполномоченная выпускать сертификаты),
  • интранет-сайт с авторизацией доступа по клиентским сертификатам,
  • VPN с взаимной аутентификацией серверов, клиентов и динамической маршрутизацией,
  • Авторизация клиентов на корпоративном IM сервере с помощью тех-же сертификатов.
Судя по всему, к настоящему моменту система умерла… не знаю, как долго она продержалась после моего увольнения, скорее всего до момента истечения корневого сертификата (т.е. 2 года от момента запуска).

Описанное далее будет интересно скорее корпоративным технарям, нежели обычным пользователям. При условии, если: организация не государственная, есть цель сэкономить, есть желание попробовать некоторые «штуки» не вбухивая в R&D сумму с шестью нолями.

Предполагается, что читающие знакомы с понятиями VPN (в данном случае Virtual Private Network) и SSL (Secure Sockets Layer) и тем, что из себя представляют электронные сертификаты в формате x.509 .

СА
В полученной системе сертификаты можно было обновлять, отзывать, использовать для аутентификации, шифрования кода, файлов, почты, а в случае компрометации отозвать ветку, не убивая весь CA. Для этого пришлось очень внимательно отнестись к файлам настройки OpenSSL, построить процедуру генерации списка отозванных сертификатов (CRL – Certificate Revocation List) и корректную иерархию в CA. Только тогда выбранная реализация позволяла использовать сертификаты, в т.ч. и в автоматических процессах, где некому было нажимать кнопку «Да, я всё равно доверяю этому сертификату, хотя он и просрочен и выпущен неправильно и вообще не для этого предназначен ».

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

Сайт
Для интранет-сайта (первый эшелон – Apache, что там за ним было – не суть важно ) была реализована многофакторная аутентификация. Обычно первым и единственным фактором при аутентификации выступает знание логина и пароля или логина и пин-кода; представляется серверу только клиент, а серверу не нужно доказывать что он - это он, отсюда возможность воровства логина/пароля и/или подмены сервера. В моём случае это было неприемлемо, поэтому к знанию логина/пароля добавилась необходимость иметь сертификат. Выгружались сертификаты из CA в формате PKCS12 (PFX) с паролем.

В конфиг сервера было добавлено что-то вроде:



SSLVerifyClient require
SSLVerifyDepth 2
SSLRequire %{SSL_CLIENT_I_DN_CN} in {"My LTD OpenSSL CA"}

Т.е. разрешить всем, чей сертификат выдан My LTD OpenSSL CA (в реальности, конечно, название другое )

Также можно ограничить доступ по именам:


SSLOptions +FakeBasicAuth +StdEnvVars
SSLVerifyClient require
SSLVerifyDepth 2
SSLRequire %{SSL_CLIENT_S_DN_CN} in {"Ivan A Ivanov", \
"Petr B Petrov"}

В логи сервера пишется с помощью вот такой вот конструкции:

CustomLog ../logs/ssl/ssl_request.log \
"\"%t\",\"%h\",\"%{SSL_CLIENT_S_DN_CN}x\",\"%r\",\"%s\"" env=!dontlogit

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

Т.к. я был сам себе УЦ, то был избавлен и от такого «сервиса» и от копирования сертификатов «на память» техническими специалистами (и не очень).

Разъездным сотрудникам сертификаты выдавались на аппаратном носителе – USB-ключе Aladdin. Банки и УЦ предлагали (и предлагают) юридическим лицам для этой цели использовать дискеты или современный вариант - флешки. Это более удобно, но приводит к другой опасности - возможности сделать дубликат. В идеальном случае ключи и сертификаты должны храниться на смарт-карте, которая дополнительно защищена pin-кодом, имеет собственный крипто-процессор на борту, генератор случайных чисел, который, как считается, сильно понижает шансы потенциальных взломщиков, буде те решаться подобрать ваш ключ. Кроме того, смарт-карты практически не поддаются копированию.
USB-ключи Aladdin eToken как раз и являются такими картами, только в виде USB-брелка.
В случае аутентификации шифруется лишь небольшой объём данных, необходимый для процедуры, но при желании можно шифровать и весь трафик между клиентом и сервером. В случае, если сертификат нужно использовать для шифрования на сервере с большим количеством клиентов, в сервер нужно ставить уже что-то посерьёзнее например, крипто-плату, бесплатный IBM HTTP Server (тот-же Apache, фактически ), даже какое-то их количество поддерживает.
Никто конечно не мешает использовать смарт-карты, которые выглядят как обычные пластиковые карты, но тогда на каждом рабочем месте, на котором такую карту нужно будет использовать, должен стоять картридер.

После того, как мы получили у УЦ сертификат, поместили его на «токен», и закрыли токен пин-кодом, мы получаем возможность выполнить двухфакторную двустороннюю аутентификацию. Фактор первый - мы имеем токен, фактор второй - знаем от него пин-код. А имея сертификат можем выполнить проверку, что сервер действительно тот, за кого себя выдаёт, в этом случае bobik.ru и bоbik.ru уже спутать не получится, потому, что русская «о» во втором варианте даст несовпадение имени (для компьютера это всё-таки разные буквы ).

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

Многие отечественные CA местоположение CRL указывают, а выкладывать или обновлять сам список «забывают», и когда, скажем, тот-же Outlook не может проверить сертификат по списку отозванных и вывешивает предупреждение, консультант в CA по телефону может предложить вам это предупреждение проигнорировать. В случае, если клиентом является другой сервер, при невозможности проверки сертификата, он просто будет разрывать подключение.

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

Доводка OpenSSL
В общем всем понятно, что сертификат – штука хорошая, осталось правильно его выпустить. После довольно продолжительной обкатки и изучения «документации» в несколько сотен страниц (на самом деле это был учебник по PKI и криптографии от «Интуита» ) выяснилось, что имеющиеся в инете на тот момент примеры конфигурации OpenSSL пригодны только для целей «на поиграться», я некоторое время сталкивался с тем, что выпущенные мной сертификаты то не работали в Outlook, то в Thunderbird, то в Firefox. Самым всеядным оказался IE.

Чтобы всё было чуть серьёзнее нужна небольшая рихтовка:

  • если вы хотите, чтобы ваша система прожила больше года, перед выпуском корневого сертификата CA увеличьте количество дней до 3650, потом верните обратно, для пользовательских сертификатов лучше оставить год или полгода
  • в секции [ CA_default ]
    выставить параметр unique_subject в «yes» - это не позволит вам выпустить 2 идентичных сертификата
  • в секции [ user_cert ]
    добавить
    ExtendedKeyUsage = clientAuth
  • секция для серверов может выглядеть так
    [ server_cert ]
    basicConstraints = CA:FALSE
    nsCertType = server
    keyUsage = digitalSignature, keyEncipherment
    extendedKeyUsage = nsSGC, serverAuth
  • в секции [ v3_ca]
    изменить
    basicConstraints = CA:TRUE, pathlen:5
  • раскомментировать nsCertType и keyUsage
  • добавить
    extendedKeyUsage = serverAuth, clientAuth
Как водится – готовый конфиг .
Автоматизация выпуска сертификатов
Следующим шагом наколенной автоматизации может являться написание интерфейса для просмотра списка сертификатов. Список имеет имя index.txt, понятный формат и я написал под него интерфейс на HTA. Для упрощения отладки HTA вызывал батники для отдельных процедур. Необходимый набор следующий:
  1. отдельно вынесен файл настройки переменных окружения
  2. выпуск произвольного сертификата – минимум настроек, задаёт кучу вопросов, позволяет выпустить сертификат, скажем, для партнёров, потом подписать в нашем CA
  3. выпуск корневого сертификата CA – вызывается один раз или несколько раз, если строится дерево, ручками
  4. выпуск сертификата сервера – понятная штука, openssl вызывается с параметром -extensions server_cert, а в конфиге в секции должны быть нужные параметры, ещё одно отличие – не упаковывается в PFX и создаёт распакованные версии ключей, может понадобится некоторым серверам
  5. выпуск сертификата пользователя
  6. отзыв сертификата – интересный процесс: из архива (надо делать самому) выданных сертификатов извлекался нужный (по имени, но можно и по серийному номеру), потом по нему уже выполнялся отзыв
  7. обновление сертификата пользователя – сначала выполнялся отзыв старого сертификата (батником №6), потом создание нового сертификата (батником №5) для старого ключа
  8. обновление списка отозванных сертификатов – простая команда, но в моём случае сопровождалась запуском скрипта на Perl, который препарировал полученный список и помещал его в директорию (адресную книгу, как её ещё иногда называют ) Lotus Domino, оттуда его было проще доставать (через LDAP, что является практически стандартным способом дистрибуции CRL)
Вот и весь инструментарий, пожалуй. Приятного внедрения.