No artigo anterior Lembrei-me de um precedente do requisito da Microsoft de exigir que o módulo TPM versão 2 seja capaz de usar o Windows 11. Refiro-me ao requisito de que os computadores com Windows 8 pré-instalado usem UEFI em vez de BIOS para o carregador de inicialização e que o módulo de inicialização segura foi pré-instalado. Agora vou falar sobre a, na minha opinião, a maneira errada com que o Linux lidou com o problema.
Linux e inicialização segura
A inicialização segura requer que cada programa iniciado tenha uma assinatura que garanta sua autenticidade armazenada no banco de dados da memória não volátil da placa-mãe. Existem duas maneiras de aparecer nesse banco de dados. Quer seja incluído pelo fabricante ou pela Microsoft.
A solução alcançada por algumas distribuições de Linux com a Microsoft foi que esta empresa aceitou a assinatura de um binário que se encarregaria de lançar o boot loader de cada distribuição. Esses binários foram disponibilizados para a comunidade.
Posteriormente, a Linux Foundation lançaria uma solução genérica que pode ser adotada por todas as distribuições.
Procurando uma solução melhor, um desenvolvedor da Red Hat sugeriu o seguinte a Linus Torvalds:
Olá Linus,
Você pode incluir este conjunto de patch, por favor?
Fornece uma função pela qual as chaves podem ser adicionadas dinamicamente a um kernel em execução no modo de inicialização seguro. Para permitir que uma chave seja carregada sob tal condição, exigimos que a nova chave seja assinada por uma chave que já temos (e em que confiamos), onde as chaves que "já temos" podem incluir aquelas embutidas no kernel, aqueles no banco de dados UEFI e aqueles do hardware criptográfico.
Agora, "keyctl add" já manipulará certificados X.509 assinados dessa forma, mas o serviço de assinatura da Microsoft assinará apenas binários EFI PE executáveis.
Podemos exigir que o usuário reinicie na BIOS, adicione a chave e, em seguida, volte, mas em algumas circunstâncias queremos ser capazes de fazer isso enquanto o kernel está rodando.
A maneira que criamos para corrigir isso é incorporar um certificado X.509 contendo a chave em uma seção chamada ".keylist" em um binário EFI PE e, em seguida, obter o binário assinado pela Microsoft
Palavra Linus
A resposta de Linus (vamos lembrar que isso foi antes de seu retiro espiritual para reconsiderar sua atitude no relacionamento com outras pessoas), foi a seguinte:
AVISO: o texto a seguir inclui palavrões
Caras, este não é um concurso de chupar pau.
Se você deseja usar os binários PE, por favor, continue. Se a Red Hat deseja aprofundar seu relacionamento com a Microsoft, esse é o * seu * problema. Isso não tem nada a ver com o kernel que mantenho. É fácil para você ter um mecanismo de assinatura que analisa o binário PE, verifica as assinaturas e assina as chaves resultantes com sua própria chave. O código, pelo amor de Deus, já está escrito, está naquele maldito pedido de inclusão.
Por que eu deveria me importar? Por que o kernel deveria se preocupar com algum idiota "nós apenas assinamos binários PE"? Oferecemos suporte para X.509, que é o padrão para assinatura.
Isso pode ser feito no nível do usuário. Não há desculpa para fazer isso no kernel.
Linus
Minha opinião é que Linus estava certo pela primeira vez. De fato nem a Linux Foundation nem as distribuições deveriam ter sido chantageadas pela Microsoft. É verdade que os usuários podem ter sido perdidos. Mas, como descobrimos mais tarde, o Windows 8 foi um fracasso e o XP continuou a reinar por muito mais tempo.
A realidade é que quando a Microsoft enfrenta uma batalha, ela é forçada a cumprir os padrões. Aconteceu quando ela falhou com o SIlverlight e foi forçada a adotar o padrão da web HTML 5. Aconteceu quando ela teve que abandonar o desenvolvimento do mecanismo de renderização da web e basear o Edge no Chromium.
Também não devemos esquecer que, para atrair programadores, era necessário incluir nada menos do que a capacidade de rodar Linux no Windows.
As distribuições do Linux estão em uma posição melhor do que nunca para oferecer aos usuários uma alternativa para continuar usando um hardware perfeitamente funcional.
Exatamente, ninguém no universo GNU / Linux deve ir para a Microsoft ou qualquer empresa, devemos ser a resistência e defensores da liberdade na computação, já temos o suficiente com as prisões dos telefones móveis, para que agora temos que engolir as demandas que beneficia apenas uma empresa.
Pelo que eu sei, as decisões da Microsoft nunca beneficiaram nem mesmo seu próprio ecossistema, é apenas uma questão de marketing na crença de que se você não pode executar o tpm 2, você mudará os computadores apenas para poder rodar o w 11, se algo tiver grande na microsoft é o ego, o futuro é o linux, não o windows, e para mim a decisão da microsoft é a melhor para aproximar os usuários do linux
Eu amo o Linux, mas a falta de suporte de inicialização segura me obriga a ter apenas o Ubuntu querendo mais arco, pena que ao querer acompanhar a corrente eles estão perdendo usuários