Изначально написать данную статью меня побудила дискуссия в комментариях к //infostart.ru/public/157454/. Как я заметил, вопросы лицензирования разработок с использованием криптографических преобразований достаточно далеки для основной массы разработчиков на 1С. Тем не менее эти вопросы очень важны, или лучше иначе - жизненно важны, если в один прекрасный момент разработчик не желает проснуться нарушителем Федерального закона.
Маленький "disclaimer" - данная статья является сугубо моим мнением и призвана только обратить внимание разработчиков на существующую проблему.
Для начала позвольте описать кто же я такой:
- Являюсь первичным автором очень известной программы "КриптоАрм" (www.trusted.ru). Разработал эту программу в 2003-2004 годах, один, с нуля и до версии 2.5 включительно. С середины 2004-го года отношения к ней не имею;
- Являюсь автором статьи "Использование Crypto API" (http://rsdn.ru/article/crypto/usingcryptoapi.xml), которая была написана в 2004-ом году. Очень рекомендую ознакомиться с этой статьей перед ознакомлением со всем следующим материалом;
- Являюсь автором статьи "ASN.1 простыми словами" (http://habrahabr.ru/post/150757/);
- С 2005-го года являюсь активным участником наиболее популярного форума по тему использования криптографии - форума фирмы "Крипто-ПРО" (http://www.cryptopro.ru/forum2/);
- Начинал профессиональную карьеру как программист 1С. Опыт работы - более 5-ти лет, сертификаты по всем компонентам 1С 7.7 получены в январе-феврале 2000 года;
Итак, перейдём теперь к сути данной статьи. В последнее время очень популярной стала тема использования шифрования и цифровой подписи (ЭЦП). Возможности удобного использования криптографических преобразований встроены и в 1С. Однако достаточно много людей упускают один важный момент - почти все прикладные решения, использующие криптографию, должны быть выполнены исключительно при наличие лицензии ФСБ. Теперь перейдём к юридической базе данного вопроса.
Основным документом, регулирующим деятельность в описываемой сфере, является Федеральный Закон "О лицензировании отдельных видов деятельности". Приведу выдержку из этого закона:
Статья 12. Перечень видов деятельности, на которые требуются лицензии
1. В соответствии с настоящим Федеральным законом лицензированию подлежат следующие виды деятельности:
1) разработка, производство, распространение шифровальных (криптографических) средств, информационных систем и телекоммуникационных систем, защищенных с использованием шифровальных (криптографических) средств, выполнение работ, оказание услуг в области шифрования информации, техническое обслуживание шифровальных (криптографических) средств, информационных систем и телекоммуникационных систем, защищенных с использованием шифровальных (криптографических) средств (за исключением случая, если техническое обслуживание шифровальных (криптографических) средств, информационных систем и телекоммуникационных систем, защищенных с использованием шифровальных (криптографических) средств, осуществляется для обеспечения собственных нужд юридического лица или индивидуального предпринимателя);
В качестве более развернутой информации о том, что же собственно понимается под этим лицензируемыми видами деятельности следует использовать постановление правительства Российской Федерации "ОБ УТВЕРЖДЕНИИ ПОЛОЖЕНИЯ О ЛИЦЕНЗИРОВАНИИ ДЕЯТЕЛЬНОСТИ ПО РАЗРАБОТКЕ, ПРОИЗВОДСТВУ, РАСПРОСТРАНЕНИЮ ШИФРОВАЛЬНЫХ (КРИПТОГРАФИЧЕСКИХ) СРЕДСТВ". Ниже приведена выдержка из этого положения:
2. К шифровальным (криптографическим) средствам (средствам криптографической защиты информации), включая документацию на эти средства, относятся:
а) средства шифрования - аппаратные, программные и программно-аппаратные шифровальные (криптографические) средства, реализующие алгоритмы криптографического преобразования информации для ограничения доступа к ней, в том числе при ее хранении, обработке и передаче;
б) средства имитозащиты - аппаратные, программные и программно-аппаратные шифровальные (криптографические) средства (за исключением средств шифрования), реализующие алгоритмы криптографического преобразования информации для ее защиты от навязывания ложной информации, в том числе защиты от модифицирования, для обеспечения ее достоверности и некорректируемости, а также обеспечения возможности выявления изменений, имитации, фальсификации или модифицирования информации;
в) средства электронной подписи;
г) средства кодирования - средства шифрования, в которых часть криптографических преобразований информации осуществляется с использованием ручных операций или с использованием автоматизированных средств, предназначенных для выполнения таких операций;
д) средства изготовления ключевых документов - аппаратные, программные, программно-аппаратные шифровальные (криптографические) средства, обеспечивающие возможность изготовления ключевых документов для шифровальных (криптографических) средств, не входящие в состав этих шифровальных (криптографических) средств;
е) ключевые документы - электронные документы на любых носителях информации, а также документы на бумажных носителях, содержащие ключевую информацию ограниченного доступа для криптографического преобразования информации с использованием алгоритмов криптографического преобразования информации (криптографический ключ) в шифровальных (криптографических) средствах;
ж) аппаратные шифровальные (криптографические) средства - устройства и их компоненты, в том числе содержащие ключевую информацию, обеспечивающие возможность преобразования информации в соответствии с алгоритмами криптографического преобразования информации без использования программ для электронных вычислительных машин;
з) программные шифровальные (криптографические) средства - программы для электронных вычислительных машин и их части, в том числе содержащие ключевую информацию, обеспечивающие возможность преобразования информации в соответствии с алгоритмами криптографического преобразования информации в программно-аппаратных шифровальных (криптографических) средствах, информационных системах и телекоммуникационных системах, защищенных с использованием шифровальных (криптографических) средств;
и) программно-аппаратные шифровальные (криптографические) средства - устройства и их компоненты (за исключением информационных систем и телекоммуникационных систем), в том числе содержащие ключевую информацию, обеспечивающие возможность преобразования информации в соответствии с алгоритмами криптографического преобразования информации с использованием программ для электронных вычислительных машин, предназначенных для осуществления этих преобразований информации или их части.
Ну а теперь расскажу о том, что как здесь может быть нарушено простым программистом 1С. Во-первых при создании конфигураций, использующих создание электронной цифровой подписи, напрямую нарушается пункт "в)" упомянутого выше положения. Кроме того при создании конфигураций использующих шифрование нарушается пункт "г)", хотя это и менее очевидно. Остановимся на этом пункте более подробно.
Для начала подставим вместо определения "средства шифрования" полную расшифровку этого понятия из пункта "а)". В итоге получим следующий текст пункта "г)":
средства кодирования - аппаратные, программные и программно-аппаратные шифровальные (криптографические) средства, реализующие алгоритмы криптографического преобразования информации, в которых часть криптографических преобразований информации осуществляется с использованием ручных операций или с использованием автоматизированных средств, предназначенных для выполнения таких операций
Согласен, очень много букв, так что упростим данной предложение и уберем лишнее для нас:
Средства кодирования - программные средства, реализующие алгоритмы криптографического преобразования информации, в которых часть криптографических преобразований осуществляется с использованием автоматизированных средств, предназначенных для выполнения таких операций.
То есть если программа имеет своим "выходом" зашифрованный файл, то её производство должно осуществляться только при наличие лицензии ФСБ Российской Федерации на разработку шифровальных и криптографических средств.
Теперь обсудим возможные возражения на приведенное мною утверждение:
- "Ну я же шифрую через 1С, причём здесь лицензия?"
- Увы, но вы делаете "программное средство", которое производит "криптографические преобразования" с использованием "автоматизированных средств, предназначенных для выполнения таких операций". То есть конечно вы используете сторонние компоненты (криптопровайдер), а также стороннее средство создания программных средств (1С), но сути это не меняет - закон требует лицензирования процесса создания "сферической программы в вакууме", которая выполняет "сферические криптографические преобразования в вакууме";
- "Лицензированию подвергается только криптопровайдер и всё"
- Опять же увы, но это ошибка. Разработка криптопровайдеров это тоже лицензируемый вид деятельности, но только он проходит по пункту "а)". А вот все программы, которые используют функции криптопровайдера, должны быть лицензированны уже по пункту "г)";
В заключение приведу ссылки на вопросы, связанные с лицензированием и заданные на форуме Крипто-ПРО. В ответах фигурирует пользователь "Юрий Маслов", который является коммерческим директором самой фирмы Крипто-ПРО. Этот человек занимается лицензированием продукции криптографической направленности уже более 13-ти лет и является одним из наиболее авторитетнейших экспертов в этой области:
- http://www.cryptopro.ru/forum2/default.aspx?g=posts&t=1662
- http://www.cryptopro.ru/forum2/default.aspx?q=cryptopro/forum2/default.aspx?g=posts&t=1347
- http://www.cryptopro.ru/forum2/default.aspx?g=posts&t=6060
А теперь маленькая оговорка: в действительности лицензирование требуется только в том случае, если вы продаёте программное средство, то есть осуществляете предпринимательскую деятельность. В случае если вы делаете это программное средство для себя и своего предприятия, то это выходит за рамки ФЗ "О лицензировании отдельных видов деятельности" (в следствие отсутствия деятельности как таковой).
Так что делайте программные средства, прозводящие криптографические преобразования, сколько вашей душе будет угодно, но только пожалуйста осторожнее.