sexta-feira, 25 de novembro de 2011

Ignorância a respeito do Secure Boot

Apesar de não escrever mais no FGdH, eu continuo acessando-o no modo somente leitura.

E o tópico Windows 8 poderá bloquear ou dificultar a Instalação de Linux! mostra como as pessoas não se informam antes de opinarem sobre as coisas.

Então vamos esclarecer:

1 - Secure Boot faz parte da especificação UEFI, que pode ser implementada por qualquer fabricante de hardware e de software, incluindo as distribuições Linux, os BSDs e tudo o mais. É um calhamaço de mais de duas mil páginas, com tudo detalhado.

2 - O mecanismo Secure Boot em si é uma boa ideia, pois permite assegurar que a inicialização do sistema operacional, em teoria, não será comprometida. Esta verificação é feita usando criptografia (opcionalmente com um TPM para verificar todo o processo) . O firmware UEFI com o recurso Secure Boot habilitado apenas carregará bootloaders assinados digitalmente cuja chave usada exista no firmware, ou seja, esteja gravada na flash ROM, no hardware da máquina.

3 - O kernel Linux no momento não tem suporte a Secure Boot, pois ele possui um suporte a UEFI defasado, baseado em uma versão muito velha da especificação. Isso será corrgido, é só questão de alguém programar, pois a especificação está disponível. Lembrando que hoje não existe ainda nenhum hardware na praça que use Secure Boot.

4 - Complicação pode surgir com o GRUB 2. Não na parte técnica. Esta se resolve com código. A questão é que a GPLv3 tem restrições quanto ao uso de binários assinados quando a chave não é pública, de forma que talvez seja necessário usar outro bootloader.

5 - O problema real é que não existe até o momento uma entidade responsável por gerenciar as chaves usadas pelos diferentes sistemas operacionais. O modelo que desponta é que a decisão de vender o hardware com uma chave e não com outra fica totalmente a critério do fabricante do hardware e também não está claro se o usuário poderá adicionar mais chaves posteriormente se assim desejar. Como a Microsoft exigirá que os PCs com o selo "Designed for Windows 8" sejam vendidos com Secure Boot, não é de duvidar que muitos fabricantes se preocuparão só com o Windows, dando uma banana para usuários de outros sistemas.

6 - Mesmo a Microsoft exigindo Secure Boot nos PCs "Designed for Windows 8", acho difícil os fabricantes de hardware não disponibilizarem uma opção no setup para desativar o recurso. Por um motivo: o Windows 7 será o próximo Windows XP, o próximo Matusalém ao que tudo indica. E o Windows 7 não suporta Secure Boot. A análise de Thom Holwerda do OSNews faz todo o sentido. Tendo o Windows 7 como porto seguro, a Microsoft pode experimentar e revolucionar a vontade no Windows 8. Caso não caia no gosto do público, o 7 é o plano B natural, sem drama. Qual fabricante de hardware estará disposto a não suportar o Windows que será o mais usado no mundo em pouco tempo? [Atualização: o Windows 7 já ultrapassou o XP segundo o StatCounter] Não que não existirão máquinas com Windows 8 sem a possibilidade de desativar o Secure Boot, mas eu acho que serão poucas.

7 - Sobre bloquear dual boot nada a ver. Superada a questão das chaves, na verdade, firmwares UEFI são melhores que BIOS neste sentido, pois existe um mecanismo nativo para evitar colisões entre sistemas operacionais. Aquela coisa de instalar o Windows depois do Linux e perder o "GRUB do MBR" acabará de vez.

Red Hat e Canonical publicaram um documento em conjunto entitulado "UEFI Secure Boot Impact on Linux", que explica detalhadamente a situação. Repetindo: o problema não é o recurso em si, mas sim como as chaves presentes no firmware, que são necessárias para carregar qualquer sistema através de Secure Boot, serão gerenciadas.

White Paper: Secure Boot impact on Linux (Canonical Blog)
Documento aqui: uefi-secure-boot-impact-on-linux.pdf

Para não cair em FUD barato, obtenha as informações na fonte. O blog do Matthew Garrett, engenheiro da Red Hat, é leitura obrigatória sobre esta questão:

http://mjg59.dreamwidth.org/

3 comentários:

  1. Bom post, aquele tópico estava tomando maus caminhos, ainda bem que já postaram o link lá.

    ResponderExcluir
  2. Excelente post, pra variar ja tinha postado la sem ler aqui. []'s

    ResponderExcluir
  3. quando eu isntalei o windows ultimate de 64 bits nao tive problemas para ativa-lo pois após antes de concluir a instalação o proprio sistema ativou ele ou estou errado

    ResponderExcluir