Com o kernel Linux 6.4, está sendo introduzida a capacidade de que o machine keyring, opcionalmente, armazenar apenas chaves impostas pela CA.
Eric Snowberg, da Oracle, tem trabalhado nas restrições do conjunto de chaves de imposição de CA para que possa haver imposição da autoridade de certificação (CA) do conjunto de chaves da máquina. Snowberg explicou na série de patches :
"Antes da introdução do chaveiro da máquina, a maioria das distribuições simplesmente permitia que todas as chaves contidas no chaveiro da plataforma fossem usadas tanto para verificação do kernel quanto do módulo. Isso foi feito por um patch fora da árvore. Algumas distros levaram isso ainda mais longe e carregaram todos essas chaves no chaveiro confiável secundário. Isso também permitiu que o proprietário do sistema adicionasse sua própria chave para uso do IMA.
Cada distro contém documentação semelhante sobre como assinar módulos do kernel e registrar a chave no MOK. O processo é bastante direto. Com o introdução do chaveiro da máquina, o processo permanece basicamente o mesmo, sem a necessidade de patches fora da árvore.
O chaveiro da máquina permitiu que as distros eliminassem os patches fora da árvore para a assinatura do módulo do kernel. No entanto, deixa a desejar ao permitir que o usuário final adicione suas próprias chaves para o IMA. Atualmente, o chaveiro da máquina não pode ser usado como outra âncora de confiança para adicionar chaves ao chaveiro ima, pois a imposição de CA não existe no momento. Isso expandiria a lacuna de integridade atual. O Kconfig IMA_KEYRINGS_PERMIT_SIGNED_BY_BUILTIN_OR_SECONDARY indica que as chaves podem ser adicionadas aos chaveiros ima se a chave for validamente assinada por um certificado CA no chaveiro integrado do sistema ou secundário confiável. Atualmente, não há código que imponha o conteúdo de um certificado CA.
Esta série apresenta uma maneira de aplicar a CA com o chaveiro da máquina. Ele apresenta três maneiras diferentes de configurar o chaveiro da máquina. Novas opções do Kconfig são adicionadas para controlar os tipos de chaves que podem ser adicionadas a ele. A opção padrão permite todas as chaves MOK no chaveiro da máquina. Quando CONFIG_INTEGRITY_CA_MACHINE_KEYRING é selecionado, o bit X.509 CA deve ser verdadeiro e o uso da chave deve conter keyCertSign; qualquer outro campo de uso também pode ser definido.
Quando o CONFIG_INTEGRITY_CA_MACHINE_KEYRING_MAX também é selecionado, o bit X.509 CA deve ser verdadeiro e o uso da chave deve conter keyCertSign. Com esta opção, o uso de digitalSignature não pode ser definido. Se uma chave não passar na verificação de restrição da CA, em vez de ir para o chaveiro da máquina, ela será adicionada ao chaveiro da plataforma. Com a capacidade de configurar o machine keyring.com restrições de CA, o código que impedia que o chaveiro da máquina fosse habilitado com IMA_KEYRINGS_PERMIT_SIGNED_BY_BUILTIN_OR_SECONDARY foi removido."
Novamente, conforme declarado, isso é estritamente opcional com o comportamento padrão, permitindo que todas as chaves MOK sejam inseridas no machine keyring.
A solicitação pull TPMDD foi enviada hoje para o kernel Linux 6.4 e inclui essa nova funcionalidade.
"O chaveiro .machine, usado para Chaves do Proprietário da Máquina (MOK), adquiriu a capacidade de armazenar apenas chaves impostas pela CA e colocar resto no chaveiro .platform, separando assim as chaves de assinatura de código das chaves usadas para assinar certificados. Isso essencialmente desbloqueia o uso do chaveiro .machine como uma âncora de confiança para o IMA. É um recurso opcional, o que significa que as restrições adicionais não irão bloquear ninguém que não se importe com elas."
Os aprimoramentos do Linux em torno da manipulação da Arquitetura de Medição de Integridade (IMA) continuam sendo uma grande área de interesse para as partes interessadas corporativas.
Até a próxima !!
Nenhum comentário:
Postar um comentário