Когда мы говорим о дистрибутиве операционной системы, то речь впервую очередь идет не об ядре операционной системы, а о тех приложениях, которые входят в состав дистрибутива. А когда мы говорим об импортозамещение операционных систем, то речь идет о той или иной версии Linux. Ничего другого на российском рынке для импортозамещения не предлагается. Что касается ядра linux, то за его развитие отвечает Ли́нус Бенедикт То́рвальдс. И честно говоря мне ничего неизвестно, про российское ядро linux. А вот окружение любого дистрибутива linux разрабатывается различными организациями, все их и не перечислить: KDE, Mozilla, Google, IBM и т.д. и т.д. И следовало бы ожидать, что с появлением отечественных ОС аля linux этот список будет расширен отечественными разработками или модификациями. Но этого нет. Нет, это не обязательно отечественный браузер или почтовый клиент в этих дистрибутивах. Но что-то доработанное с учетом российских реалий в цифровой экономике хотелось бы видеть. Остановимся на этом.
Мне скажут:- «А зачем, что не устраивает из того что есть?». Первое, если мы ничего не вносим, то почему называем «отечественное ПО»? Только из-за того что, в лучшем случае, хранится на территории России? В качестве примера, давайте рассмотрим использование электронных сертификатов X509, электронной подписи, шифрование документов и трафика (tls/https). И в этом мне помог очень интересный анализ (в чем-то я с ним могу и не согласиться, но это частности) проблем с применением средств ЭЦП, возникающих у пользователей Linux. Вот один из выводов:
Итак, первое что должно быть сделано, это отвязать, сделать независимыми от ОС и криптопровайдеров порталы услуг, в том числе и модернизировать портал Госуслуг.
А то сегодня до смешного доходит, вся компания работает на отечественной ОС (в том числе и бухгалтерия), но для доступа в ФНС (требуется ГОСТ-овый tls/https) держат специальный компьютер с MS Windows.
Выше мы говорили о доработках в отечественных ОС. Вернемся к ним. Зачем и почему они нужны. Сегодня купив и поставив на рабочее место отечественную ОС, российский потребитель, оказывается, ничего не получает с точки зрения российской криптографии: не может создать запрос на сертификат (о чем так хорошо написано здесь), ни просмотреть нормально ГОСТ-ый сертификат, ни подписать документ или проверить подпись, ни защитить свою электронную почту. Сразу возникает вопрос:- «А что я приобрел? Не проще ли было скачать в Интернете дистрибутив Linux, тем более они постоянно развиваются». На Западе или Востоке люди приобретая (необязательно за деньги) ОС, сразу получают кучу полезных сервисов. А где у нас дистрибутивы Линукс с браузерами или почтовыми клиентами, использующие российскую криптографию, где утилиты, позволяющие проверить электронную подпись, поставленную ФНС под выпиской из ЕГРЮЛ? И т.д. Мне такие дистрибутивы не известны. Поэтому я беру дистрибутив Mageia и прикручиваю к нему все то, о чем здесь пишу:
Как хранятся сертификаты и используются ключи в большинстке приложений в Линукс. Абсолютное большинство приложений в Линукс (Mozilla, Google, LibreOffice, GnuPG и т.д. и т.д.) в качестве хранилища сертификатов используют пакет NSS (Network Security Service):
При этом предполагается, что личные сертификаты (сертификат плюс закрытый ключ) хранят на токенах/смарткартах PKCS#11. При этом абсолютно не важно аппаратный это токен или программный, или даже облачный. Это реализация, главное чтобы соблюдался стандарт PKCS#11. Корневые сертификаты NSS хранит в собственной БД. Следует отметить, что разработчики браузеров Mozilla, Google предоставляют свой список доверенных корневых сертификатов. К сожалению в этом списке нет ни одного российского корневого сертификата. NSS также ведет базу модулей (библиотек), ответственных за работу с тем или иным типом токена. Пакет NSS ни в чем не уступает OpenSSL, но имеет одно неоспоримое преимущество – наличие базы данных сертификатов.
И что мы имеем в итоге? Пакет NSS, входящий в отечественные дистрибутивы ОС от Линукс, не поддерживает работу с отечественными ГОСТ-оыми токенами PKCS#11. А это ведет к тому, что Firefox и другие программы не хотят работать с отечественными токенами. А есть у нас отечественные токены со встроенной поддержкой ГОСТ-ов? Оказывается, есть, и в достаточном количестве. Это и аппаратные токены от различных производителей:
К сожалению, абсолютное большинство аппаратных токенов сегодня используется как обыкновенная флэшка для хранения ключей и сертификатов.
Есть и свободно распространяемые программные токены как несертифицированные, так и сертифицированные:
И даже облачные токены PKCS#11 имеются:
Досадно еще то, что пакет NSS, включающий в свой состав ряд утилит, поставляется с багами, проявляющимися порой только на ГОСТ-вых сертификатах (утилиты pp и calgoid)
И как было бы здорово, если бы в состав отечественных дистрибутивов входил пакет NSS, поддерживающий работу с токенами PKCS#11 с ГОСТ-овой криптографией. Мне могут возразить, это сложно, дорого и т.д. Но если бы разработчики были заинтересованы, то они знали, что еще в 2010 году был зарегистрирован баг с ГОСТ для NSS. Сам я отслеживаю NSS и добавляю в него поддержку ГОСТ-в начиная с версии NSS-3.11 и по настоящее время NSS-3.41. И с кем я только не встречался за эти годы (желающие могут посчитать), результат нуль. Мне нравится ответ: — «А они там, на западе, добавили?». Но им не надо. И нам оказывается тоже.
И вот, если бы NSS с поддержкой ГОСТ-ов, был бы в отечественных дистрибутивах, то уже малой кровью можно было добавлять поддержку ГОСТ-ов и в Firefox, и в Thunderbird, KMail, LibreOffice и т.д. И про все это так или иначе на страницах Хабр было написано. Да, чуть не упустил OpenSSL с ГОСТ-ами. Имеются так же и сертифицированные в ФСБ России версии. А openssl с ГОСТ-ами практически автоматом ведет к появлению в отечественных дистрибутивах и версии openvpn на ГОСТ-ах:
Добавим сюда Apache, с поддержкой tls/https на ГОСТ-ах, да PHP с ГОСТ-ами не помешает.
И вот в руках пользователя отечественной ОС уже имелись бы и утилиты openssl и p7sign/p7verify для подписания электронной подписью файлов. Но появилась бы и графическая утилита Клеопатра для этих же целей и GUI для NSS.
Для создания запроса на сертификат можно было бы воспользоваться утилитой guicreate_csp:
А если бы кто-то захотел развернуть на своем предприятии удостоверяющий центр, то пожалуйста:
Кто-то возможно бы сказал, а сертификация? А на западе продают и используют сертифицированный Линукс? Нет, конечно. Но ведь у всех отечественных производителей все перечисленные выше продукты входят в состав сертифицированных дистрибутивов. Что мешает при сертификации включить в состав доработанные пакеты. А какие бы классные дистрибутивы были бы для использования в учебном процессе по специальности «Информационная безопасность» или в школах. На мой взгляд в сертификации должно быть заинтересовано и Министерство цифрового развития, связи и массовых коммуникаций Российской Федерации.
Итак, какой напрашивается вывод? Напоминаю, мы говорили про электронную подпись, про использование отечественной криптографии.
Первое, доступ к порталам не должен зависеть от типа операционной системы и используемого криптопровайдера.
Второе, отечественные ОС должны иметь в своем составе браузеры с поддержкой ГОСТ-ового https.
Третье, отечественные ОС должны иметь в своем составе почтовые клиенты с поддержкой ГОСТ (подписание/шифрование).
Четвертое, отечественные ОС должны иметь в своем составе средства электронной подписи и шифрования
Пятое, отечественные ОС должны иметь поддержку токенов/смарткарт PKCS#11 с поддержкой российской криптографии.
Вот если этот минимум будет реализован, то можно говорить об отечественных ОС типа Linux.
А то не так давно был в одном министерстве, а там увидел уникальное импортозамещение: им предложили некий отечественный Линукс, в нем запустили виртуалку с Windows и со всеми прибамбасами, которые в Министерстве используются на Винде были, и сказали можно рапортовать об импортозамещении. Надеюсь, мой последний абзац не станет руководством к действию.
Это по настоящему круто!!! Чего у нас только нету!
Мне скажут:- «А зачем, что не устраивает из того что есть?». Первое, если мы ничего не вносим, то почему называем «отечественное ПО»? Только из-за того что, в лучшем случае, хранится на территории России? В качестве примера, давайте рассмотрим использование электронных сертификатов X509, электронной подписи, шифрование документов и трафика (tls/https). И в этом мне помог очень интересный анализ (в чем-то я с ним могу и не согласиться, но это частности) проблем с применением средств ЭЦП, возникающих у пользователей Linux. Вот один из выводов:
в некоторых случаях разработчики порталов, предоставляющих государственные услуги, рекомендуют использовать не входящие в Реестр операционные системы, а также программные средства и конфигурации, заведомо снижающие защищённость пользовательских данных.Под словами «не входящие в Реестр операционные системы», естественно, надо понимать MS Windows. Эталоном среди порталов государственных, да и других услуг эталоном следует считать портал Госуслуги. Он позволяет работать с ним с любой отечественной ОС семейства Линукс. А всего-то в плагине, который он распространяет, обеспечена поддержка стандарта PKCS#11 для токенов/смарткарт и это делает его независимым от ОС, а для MS Windows в нем предусмотрена поддержка стандарта MS CSP с российскими криптоалгоритмами. И все. Он (плагин Госуслуг) не навязывает криптопровайдера (будь то CSP или PKCS#11) от того или иного производителя, он проверяет соответствие криптопровайдера стандарту. И почему этот положительный опыт не распространяется на другие ведомства загадка. Более того практика плагинов является все же порочной, она привязывает пользователя так или иначе к определенным ОС, а то и браузерам. Этот браузер поддерживает эти плагины (чего один CAPICOM стоит), а этот нет и т.п. Почему не затребовать в процессе аутентификации, например, чтобы пользователь предоставлял на портал подписанный им, его средствами, свою визитку или что-то в этом роде.
Итак, первое что должно быть сделано, это отвязать, сделать независимыми от ОС и криптопровайдеров порталы услуг, в том числе и модернизировать портал Госуслуг.
А то сегодня до смешного доходит, вся компания работает на отечественной ОС (в том числе и бухгалтерия), но для доступа в ФНС (требуется ГОСТ-овый tls/https) держат специальный компьютер с MS Windows.
Выше мы говорили о доработках в отечественных ОС. Вернемся к ним. Зачем и почему они нужны. Сегодня купив и поставив на рабочее место отечественную ОС, российский потребитель, оказывается, ничего не получает с точки зрения российской криптографии: не может создать запрос на сертификат (о чем так хорошо написано здесь), ни просмотреть нормально ГОСТ-ый сертификат, ни подписать документ или проверить подпись, ни защитить свою электронную почту. Сразу возникает вопрос:- «А что я приобрел? Не проще ли было скачать в Интернете дистрибутив Linux, тем более они постоянно развиваются». На Западе или Востоке люди приобретая (необязательно за деньги) ОС, сразу получают кучу полезных сервисов. А где у нас дистрибутивы Линукс с браузерами или почтовыми клиентами, использующие российскую криптографию, где утилиты, позволяющие проверить электронную подпись, поставленную ФНС под выпиской из ЕГРЮЛ? И т.д. Мне такие дистрибутивы не известны. Поэтому я беру дистрибутив Mageia и прикручиваю к нему все то, о чем здесь пишу:
Как хранятся сертификаты и используются ключи в большинстке приложений в Линукс. Абсолютное большинство приложений в Линукс (Mozilla, Google, LibreOffice, GnuPG и т.д. и т.д.) в качестве хранилища сертификатов используют пакет NSS (Network Security Service):
При этом предполагается, что личные сертификаты (сертификат плюс закрытый ключ) хранят на токенах/смарткартах PKCS#11. При этом абсолютно не важно аппаратный это токен или программный, или даже облачный. Это реализация, главное чтобы соблюдался стандарт PKCS#11. Корневые сертификаты NSS хранит в собственной БД. Следует отметить, что разработчики браузеров Mozilla, Google предоставляют свой список доверенных корневых сертификатов. К сожалению в этом списке нет ни одного российского корневого сертификата. NSS также ведет базу модулей (библиотек), ответственных за работу с тем или иным типом токена. Пакет NSS ни в чем не уступает OpenSSL, но имеет одно неоспоримое преимущество – наличие базы данных сертификатов.
И что мы имеем в итоге? Пакет NSS, входящий в отечественные дистрибутивы ОС от Линукс, не поддерживает работу с отечественными ГОСТ-оыми токенами PKCS#11. А это ведет к тому, что Firefox и другие программы не хотят работать с отечественными токенами. А есть у нас отечественные токены со встроенной поддержкой ГОСТ-ов? Оказывается, есть, и в достаточном количестве. Это и аппаратные токены от различных производителей:
К сожалению, абсолютное большинство аппаратных токенов сегодня используется как обыкновенная флэшка для хранения ключей и сертификатов.
Есть и свободно распространяемые программные токены как несертифицированные, так и сертифицированные:
И даже облачные токены PKCS#11 имеются:
Досадно еще то, что пакет NSS, включающий в свой состав ряд утилит, поставляется с багами, проявляющимися порой только на ГОСТ-вых сертификатах (утилиты pp и calgoid)
И как было бы здорово, если бы в состав отечественных дистрибутивов входил пакет NSS, поддерживающий работу с токенами PKCS#11 с ГОСТ-овой криптографией. Мне могут возразить, это сложно, дорого и т.д. Но если бы разработчики были заинтересованы, то они знали, что еще в 2010 году был зарегистрирован баг с ГОСТ для NSS. Сам я отслеживаю NSS и добавляю в него поддержку ГОСТ-в начиная с версии NSS-3.11 и по настоящее время NSS-3.41. И с кем я только не встречался за эти годы (желающие могут посчитать), результат нуль. Мне нравится ответ: — «А они там, на западе, добавили?». Но им не надо. И нам оказывается тоже.
И вот, если бы NSS с поддержкой ГОСТ-ов, был бы в отечественных дистрибутивах, то уже малой кровью можно было добавлять поддержку ГОСТ-ов и в Firefox, и в Thunderbird, KMail, LibreOffice и т.д. И про все это так или иначе на страницах Хабр было написано. Да, чуть не упустил OpenSSL с ГОСТ-ами. Имеются так же и сертифицированные в ФСБ России версии. А openssl с ГОСТ-ами практически автоматом ведет к появлению в отечественных дистрибутивах и версии openvpn на ГОСТ-ах:
Добавим сюда Apache, с поддержкой tls/https на ГОСТ-ах, да PHP с ГОСТ-ами не помешает.
И вот в руках пользователя отечественной ОС уже имелись бы и утилиты openssl и p7sign/p7verify для подписания электронной подписью файлов. Но появилась бы и графическая утилита Клеопатра для этих же целей и GUI для NSS.
Для создания запроса на сертификат можно было бы воспользоваться утилитой guicreate_csp:
А если бы кто-то захотел развернуть на своем предприятии удостоверяющий центр, то пожалуйста:
Кто-то возможно бы сказал, а сертификация? А на западе продают и используют сертифицированный Линукс? Нет, конечно. Но ведь у всех отечественных производителей все перечисленные выше продукты входят в состав сертифицированных дистрибутивов. Что мешает при сертификации включить в состав доработанные пакеты. А какие бы классные дистрибутивы были бы для использования в учебном процессе по специальности «Информационная безопасность» или в школах. На мой взгляд в сертификации должно быть заинтересовано и Министерство цифрового развития, связи и массовых коммуникаций Российской Федерации.
Итак, какой напрашивается вывод? Напоминаю, мы говорили про электронную подпись, про использование отечественной криптографии.
Первое, доступ к порталам не должен зависеть от типа операционной системы и используемого криптопровайдера.
Второе, отечественные ОС должны иметь в своем составе браузеры с поддержкой ГОСТ-ового https.
Третье, отечественные ОС должны иметь в своем составе почтовые клиенты с поддержкой ГОСТ (подписание/шифрование).
Четвертое, отечественные ОС должны иметь в своем составе средства электронной подписи и шифрования
Пятое, отечественные ОС должны иметь поддержку токенов/смарткарт PKCS#11 с поддержкой российской криптографии.
Вот если этот минимум будет реализован, то можно говорить об отечественных ОС типа Linux.
А то не так давно был в одном министерстве, а там увидел уникальное импортозамещение: им предложили некий отечественный Линукс, в нем запустили виртуалку с Windows и со всеми прибамбасами, которые в Министерстве используются на Винде были, и сказали можно рапортовать об импортозамещении. Надеюсь, мой последний абзац не станет руководством к действию.
Это по настоящему круто!!! Чего у нас только нету!