Substituição de importação de sistemas operacionais. Como vejo o SO doméstico

Quando falamos sobre a distribuição do sistema operacional, a primeira vez não é sobre o kernel do sistema operacional, mas sobre os aplicativos que fazem parte da distribuição. E quando falamos sobre substituição de importação de sistemas operacionais, estamos falando de uma versão específica do Linux. Nada mais é oferecido no mercado russo para substituição de importações. Quanto ao kernel do linux, Linus Benedict Torvalds é responsável por seu desenvolvimento. E, para ser sincero, não sei nada sobre o kernel linux russo. Mas o ambiente de qualquer distribuição Linux é desenvolvido por várias organizações, as quais não podem ser listadas: KDE, Mozilla, Google, IBM, etc. etc. E seria de esperar que, com o advento do sistema operacional doméstico ala linux, essa lista seja expandida por desenvolvimentos ou modificações domésticas. Mas isso não é. Não, este não é necessariamente um navegador doméstico ou cliente de email nessas distribuições. Mas eu gostaria de ver algo finalizado, levando em consideração as realidades russas na economia digital. Vamos insistir nisso.

Eles vão me dizer: - "Por que o que não combina com você do que é?". Primeiro, se não contribuímos com nada, por que chamamos de "software doméstico"? Só porque, na melhor das hipóteses, é armazenado na Rússia? Como exemplo, vejamos o uso de certificados eletrônicos X509, assinaturas eletrônicas, criptografia de documentos e tráfego (tls / https). E uma análise muito interessante me ajudou nisso (de certa forma, posso não concordar com ele, mas isso é particular) dos problemas com o uso das ferramentas EDS encontradas pelos usuários do Linux. Aqui está uma das conclusões:
em alguns casos, os desenvolvedores de portais que prestam serviços públicos recomendam o uso de sistemas operacionais não incluídos no Registro, além de software e configurações que deliberadamente reduzem a segurança dos dados do usuário.
Pelas palavras "sistemas operacionais não registrados", é claro, precisamos entender o MS Windows. O padrão entre os portais do estado e outros serviços deve ser considerado o portal padrão de serviços públicos. Ele permite que você trabalhe com qualquer sistema operacional doméstico da família Linux. E apenas que o plug-in que ele distribui fornece suporte para o padrão PKCS # 11 para tokens / cartões inteligentes e isso o torna independente do SO, e para o MS Windows fornece suporte para o padrão MS CSP com algoritmos criptográficos russos. E isso é tudo. Ele (o plug-in Gosuslug) não impõe um provedor de criptografia (seja CSP ou PKCS # 11) de um ou outro fabricante, verifica se o provedor de criptografia está em conformidade com o padrão. E por que essa experiência positiva não se estende a outros departamentos é um mistério. Além disso, a prática de plugins ainda é cruel, vincula o usuário de uma maneira ou de outra a determinados sistemas operacionais e até navegadores. Este navegador suporta esses plugins (que custa um CAPICOM), mas este não, etc. Por que não exigir autenticação durante o processo, por exemplo, para que o usuário forneça o portal assinado por ele, seus meios, seu cartão de visita ou algo assim.

E assim, a primeira coisa que precisa ser feita é desatar, tornar os portais de serviço independentes do SO e dos provedores de criptografia, incluindo a atualização do portal de Serviços de Estado.
E hoje é ridículo que toda a empresa trabalhe no sistema operacional doméstico (incluindo contabilidade), mas eles têm um computador especial com MS Windows para acessar o Serviço Fiscal Federal (requer GOST tls / https).

Acima, falamos sobre melhorias no sistema operacional doméstico. De volta para eles. Por que e por que eles são necessários. Hoje, depois de comprar e instalar um sistema operacional doméstico no local de trabalho, o consumidor russo não recebe nada do ponto de vista da criptografia russa: ele não pode criar uma solicitação de certificado (que está tão bem escrita aqui ), não pode visualizar normalmente o certificado GOST, assinar um documento ou verificar assinatura, não proteja seu email. Surge imediatamente a pergunta: - “O que eu adquiri? Não seria mais fácil fazer o download da distribuição Linux na Internet, especialmente porque eles estão em constante evolução. " No oeste ou no leste, as pessoas que adquirem (não necessariamente por dinheiro) o sistema operacional recebem imediatamente um monte de serviços úteis. E onde estão nossas distribuições Linux com navegadores ou clientes de e-mail usando criptografia russa, onde estão os utilitários que podem verificar a assinatura eletrônica fornecida pelo Serviço Fiscal Federal, com extrato do Registro Estadual Unificado de Pessoas Jurídicas? Etc. Tais distribuições não são conhecidas para mim. Portanto, pego o kit de distribuição da Mageia e prendo nele tudo o que escrevo aqui:



Como os certificados são armazenados e as chaves são usadas na maioria dos aplicativos Linux. A grande maioria dos aplicativos no Linux (Mozilla, Google, LibreOffice, GnuPG, etc. etc.) usa o pacote NSS (Network Security Service) como um repositório de certificados:



Também se supõe que os certificados pessoais (certificado mais chave privada) sejam armazenados nos tokens / smartcards PKCS # 11. Nesse caso, não é absolutamente importante se é um token ou software de hardware ou mesmo em nuvem. Esta é uma implementação, o principal é que o padrão PKCS # 11 seja respeitado. O NSS armazena certificados raiz em seu próprio banco de dados. Note-se que a Mozilla, desenvolvedores de navegadores do Google, fornece sua lista de certificados raiz confiáveis. Infelizmente, não há um único certificado raiz russo nesta lista. O NSS também mantém um banco de dados de módulos (bibliotecas) responsáveis ​​por trabalhar com um tipo específico de token. O pacote NSS não é de forma alguma inferior ao OpenSSL, mas possui uma vantagem indiscutível - a disponibilidade de bancos de dados de certificados.

E o que temos no final? O pacote NSS, que faz parte das distribuições domésticas de SO Linux, não suporta o trabalho com tokens PKCS # 11 GOST domésticos. E isso leva ao fato de o Firefox e outros programas não quererem trabalhar com tokens domésticos. Temos tokens domésticos com suporte interno para o GOST? Acontece que há o suficiente. Estes são tokens de hardware de vários fabricantes:



Infelizmente, a grande maioria dos tokens de hardware atualmente é usada como uma unidade flash comum para armazenar chaves e certificados.
Também existem tokens de software distribuídos gratuitamente, não certificados e certificados:



E até os tokens de nuvem PKCS # 11 estão disponíveis:



É lamentável que o pacote NSS, que inclui vários utilitários, venha com bugs que às vezes aparecem apenas nos certificados GOST (utilitários pp e calgoid)
E seria ótimo se as distribuições domésticas incluíssem o pacote NSS que suporta o trabalho com tokens PKCS # 11 com criptografia GOST. Eles podem me opor, é difícil, caro etc. Mas se os desenvolvedores estavam interessados, eles sabiam que em 2010 um bug foi registrado no GOST for NSS. Eu mesmo acompanho o NSS e adiciono suporte a GOST a partir da versão NSS-3.11 e até agora do NSS-3.41. E com quem eu simplesmente não conheci ao longo dos anos (qualquer um pode contar), o resultado é zero. Gosto da resposta: - "E eles, no oeste, acrescentaram?". Mas eles não precisam. E acaba sendo nós também.

E agora, se o NSS com suporte para GOSTs estivesse em distribuições domésticas, com pouco sangue seria possível adicionar suporte para GOSTs no Firefox, Thunderbird, KMail, LibreOffice, etc. E sobre tudo isso de qualquer maneira, estava escrito nas páginas de Habr. Sim, quase senti falta do OpenSSL com GOST. Existem também versões certificadas pelo FSB da Rússia. E o openssl com GOSTs quase automaticamente leva ao aparecimento de versões do openvpn nos GOSTs nas distribuições domésticas:

imagem

Adicione o Apache com suporte a tls / https no GOST e o PHP com o GOST não fará mal.
E nas mãos de um usuário do sistema operacional doméstico, já haveria utilitários openssl e p7sign / p7verify para assinar arquivos eletronicamente. Mas haveria um utilitário gráfico da Cleópatra para o mesmo objetivo e uma GUI para o NSS.

Para criar uma solicitação de certificado, você pode usar o utilitário guicreate_csp:



E se alguém quisesse implantar um centro de certificação em sua empresa, por favor:



Alguém pode dizer certificação? E no Ocidente eles vendem e usam Linux certificado? Não é claro. Afinal, todos os fabricantes nacionais de todos os produtos acima fazem parte de distribuições certificadas. O que impede a certificação de incorporar pacotes modificados. E que distribuições legais seriam para uso no processo educacional na especialidade "Segurança da informação" ou nas escolas. Na minha opinião, o Ministério do Desenvolvimento Digital, Comunicações e Meios de Comunicação de Massa da Federação Russa também deve estar interessado em certificação.
E então, qual é a conclusão? Lembro que conversamos sobre a assinatura eletrônica, sobre o uso da criptografia doméstica.

Primeiro, o acesso aos portais não deve depender do tipo de sistema operacional ou provedor de serviços de criptografia usado.

Segundo, os sistemas operacionais domésticos devem incluir navegadores com suporte para GOST https.

Terceiro, os sistemas operacionais domésticos devem incluir clientes de email com suporte ao GOST (assinatura / criptografia).

Quarto, o sistema operacional doméstico deve incluir assinatura e criptografia eletrônicas

Em quinto lugar, os SOs domésticos devem ter suporte para tokens / smartcards PKCS # 11 com suporte para criptografia russa.

Agora, se esse mínimo for alcançado, poderemos falar de sistemas operacionais domésticos, como o Linux.
E não faz muito tempo, eu estava em um ministério e vi uma substituição única de importação: eles receberam um determinado Linux doméstico, lançaram uma máquina virtual com Windows e todos os sinos e assobios usados ​​no Ministério no Windows e disseram que você pode informar sobre a substituição de importações. Espero que meu último parágrafo não se torne um guia de ação.

Isso é muito legal !!! O que nós simplesmente não temos!

Source: https://habr.com/ru/post/pt434358/


All Articles