Esse processo impedirá a inicialização de software não certificado. Isso pode ter benefícios, embora eu não possa vê-los.
Você tem um novo mecanismo de segurança para controlar o que pode eo que não pode ser inicializado pelo seu hardware. Um recurso de segurança. Você não sente vontade de precisar até que seja tarde demais. Mas eu discordo.
Eu li um tópico na lista de discussão do Linux em que um funcionário da Red hat pede a Linus Torvalds que faça um conjunto de alterações que implementa a facilidade de analisar os binários de PE e execute um conjunto complexo de ações para permitir que o kernel seja inicializado no modo Inicialização Segura (tanto quanto eu entendo )
Drivers, como o firmware da GPU, precisam ser assinados de acordo com a Inicialização segura, caso contrário, pode ser outro rootkit. O status quo é que esses drivers são assinados no formato PE. O kernel pode inicializar sem eles, mas o hardware não funciona. A análise do formato PE no kernel é apenas uma opção tecnicamente mais simples para isso do que pedir a todos os fornecedores de hardware que assinem seus blobs para cada distribuição, ou configurar uma estrutura de espaço do usuário para fazer isso. Linus decide não chupar o pau da Microsoft. Isso não é um argumento técnico.
Quais benefícios vou obter com UEFI e Secure Boot, como usuário doméstico?
O recurso mais visível é a inicialização rápida da UEFI. Eu tenho minhas mãos em vários desktops com logotipo do Windows 8 e eles inicializam tão rápido que muitas vezes sinto falta de abrir o menu de inicialização. Intel e OEMs têm alguma engenharia nisso.
Se você é do tipo de usuário do Linux que odeia inchaço e duplicação de código com paixão, também pode querer gerenciar a inicialização múltipla no nível do firmware e se livrar dos gerenciadores de inicialização. O UEFI fornece um gerenciador de inicialização com o qual você pode inicializar diretamente no kernel ou optar por inicializar outro SO com o menu de firmware. Embora possa precisar de alguns ajustes.
Além disso, gráficos mais sofisticados durante o tempo de inicialização e no menu do firmware. Melhor segurança durante a inicialização (Inicialização Segura). Outros recursos (inicialização de rede IPv4 / 6, dispositivos de inicialização de 2 TB + etc.) destinam-se principalmente a usuários corporativos.
De qualquer forma, como Linus disse , o BIOS / UEFI deveria "simplesmente carregar o sistema operacional e dar o fora daqui", e o UEFI certamente parece o mesmo para usuários domésticos com inicialização rápida. Certamente faz mais coisas do que o BIOS, mas se estamos falando de usuários domésticos, eles não se importam com isso.
Como é feita essa assinatura?
Teoricamente, um binário é criptografado com uma chave privada para produzir uma assinatura. Em seguida, a assinatura pode ser verificada com a chave pública para provar que o binário é assinado pelo proprietário da chave privada e, em seguida, o binário verificado. Veja mais na Wikipedia .
Tecnicamente, apenas o hash do binário é assinado, e a assinatura é incorporada no binário com o formato PE e ajustes adicionais no formato.
Processualmente, a chave pública é armazenada no firmware pelo seu OEM e é da Microsoft. Você tem duas opções:
- Gere seu próprio par de chaves e gerencie-os com segurança, instale sua própria chave pública no firmware e assine o binário com sua própria chave privada ( sbsign do Ubuntu ou pesign do Fedora) ou
- Envie seu binário para a Microsoft e deixe-o assinar.
Quem pode obter assinaturas / certificados? É pago? Pode ser público? (Ele deve estar disponível no código fonte do Linux, não é?)
Como assinaturas / certificados são incorporados em binários, espera-se que todos os usuários os obtenham. Qualquer pessoa pode configurar sua própria CA e gerar um certificado para si mesma. Mas se você deseja que a Microsoft gere um certificado para você, você deve passar pela Verisign para verificar sua identidade. O processo custa US $ 99. A chave pública está no firmware. A chave privada está no cofre da Microsoft. O certificado está no binário assinado. Nenhum código fonte envolvido.
A Microsoft é a única autoridade para fornecer assinaturas? Não deveria haver uma fundação independente para fornecê-los?
O lado técnico é bastante trivial, comparado ao processo de gerenciamento de PKI, verificação de identidade, coordenação com todos os fabricantes conhecidos de OEM e hardware. Isso custa um caro. Por acaso, a Microsoft possui infraestrutura (WHQL) e experiência há anos. Então eles se oferecem para assinar binários. Qualquer fundação independente pode se oferecer para oferecer a mesma coisa, mas nenhuma até agora.
Em uma sessão da UEFI na IDF 2013, vejo que a Canonical também começou a colocar sua própria chave em algum firmware de tablet. Portanto, a Canonical pode assinar seus próprios binários sem passar pela Microsoft. Mas é improvável que assinem binários para você porque não sabem quem você é.
Como isso afetará os kernels de código aberto e gratuito, os desenvolvedores amadores / acadêmicos do kernel etc.
Seu kernel personalizado não será inicializado no Secure Boot, porque não está assinado. Você pode desligá-lo embora.
O modelo de confiança do Secure Boot bloqueia alguns aspectos do kernel. Como você não pode destruir seu kernel, escrevendo para / dev / kmem, mesmo que você seja root agora. Você não pode hibernar para o disco (sendo processado upstream) porque não há como garantir que a imagem do kernel não seja alterada para um kit de inicialização ao reiniciar. Você não pode despejar o núcleo quando o kernel entra em pânico, porque o mecanismo do kdump (kexec) pode ser usado para inicializar um kit de inicialização (também sendo trabalhado upstream). Isso é controverso e não é aceito por Linus no kernel da linha principal, mas algumas distribuições (Fedora, RHEL, Ubuntu, openSUSE, SUSE) são enviadas com seus próprios patches de Inicialização Segura de qualquer maneira.
Pessoalmente, a assinatura do módulo necessária para a criação de um kernel do Secure Boot custa 10 minutos, enquanto a compilação real leva apenas 5 minutos. Se eu desativar a assinatura do módulo e ativar o ccache, a criação do kernel leva apenas um minuto.
UEFI é um caminho de inicialização completamente diferente do BIOS. Todo o código de inicialização do BIOS não será chamado pelo firmware UEFI.
Um grupo de usuários do Linux em espanhol chamado Hispalinux apresentou uma queixa contra a Microsoft sobre este assunto à Europan Comission.
Como dito acima, ninguém, exceto a Microsoft, intensificou o serviço público. Atualmente, não há evidências da intenção da Microsoft de fazer algum mal com isso, mas também não há nada para impedir que a Microsoft abuse do seu monopólio de fato e faça uma viagem de poder. Portanto, embora os grupos de usuários do FSF e Linux possam não parecer muito pragmáticos e não tenham realmente se sentado para resolver problemas de forma construtiva, é necessário que as pessoas pressionem a Microsoft e avisem sobre as repercussões.
Devo me preocupar? Recuso-me a usar nem software proprietário nem software assinado por empresas confiáveis. Fiz isso até agora e quero continuar.
Razões para adotar o Secure Boot:
- Elimina um vetor de ataque de segurança real.
- É um mecanismo técnico para dar ao usuário mais liberdade para controlar seu hardware.
- Os usuários do Linux precisam entender o mecanismo de Inicialização Segura e agir proativamente antes que a Microsoft chegue ao monopólio da política de Inicialização Segura .
UEFI
por si só não é um grande problema, mas pode ser uma inicialização segura.