Guia Inicialização Segura UEFI

Transcrição

Guia Inicialização Segura UEFI
Fedora 18
Guia Inicialização
Segura UEFI
Josh Boyer
Kevin Fenzi
Peter Jones
Josh Bressers
Guia Inicialização Segura UEFI
Fedora 18 Guia Inicialização Segura UEFI
Edição 18.2.3
Autor
Autor
Autor
Autor
Editor
Josh Boyer
Kevin Fenzi
Peter Jones
Josh Bressers
Eric Christensen
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
Copyright © 2012-2013 Fedora Project Contributors.
The text of and illustrations in this document are licensed by Red Hat under a Creative Commons
Attribution–Share Alike 3.0 Unported license ("CC-BY-SA"). An explanation of CC-BY-SA is available
at http://creativecommons.org/licenses/by-sa/3.0/. The original authors of this document, and Red Hat,
designate the Fedora Project as the "Attribution Party" for purposes of CC-BY-SA. In accordance with
CC-BY-SA, if you distribute this document or an adaptation of it, you must provide the URL for the
original version.
Red Hat, as the licensor of this document, waives the right to enforce, and agrees not to assert,
Section 4d of CC-BY-SA to the fullest extent permitted by applicable law.
Red Hat, Red Hat Enterprise Linux, the Shadowman logo, JBoss, MetaMatrix, Fedora, the Infinity
Logo, and RHCE are trademarks of Red Hat, Inc., registered in the United States and other countries.
For guidelines on the permitted uses of the Fedora trademarks, refer to https://fedoraproject.org/wiki/
Legal:Trademark_guidelines.
Linux® is the registered trademark of Linus Torvalds in the United States and other countries.
Java® is a registered trademark of Oracle and/or its affiliates.
XFS® is a trademark of Silicon Graphics International Corp. or its subsidiaries in the United States
and/or other countries.
MySQL® is a registered trademark of MySQL AB in the United States, the European Union and other
countries.
All other trademarks are the property of their respective owners.
Preface
v
1. Convenções de Documentos ........................................................................................... v
1.1. Convenções Tipográficas ...................................................................................... v
1.2. Convenções de Pull-Quote ................................................................................... vi
1.3. Notas e Avisos ................................................................................................... vii
2. Nós precisamos de seu comentário ............................................................................... viii
1. O que é a Inicialização Segura UEFI?
1
1.1. Do que a Inicialização Segura protege você? ................................................................ 1
1.2. Do que a Inicialização Segura não protege você? .......................................................... 1
2. Implementação da Inicialização Segura UEFI
2.1. Chaves ........................................................................................................................
2.2. Shim ............................................................................................................................
2.3. Restrições ....................................................................................................................
3
3
4
5
3. Tools
3.1.
3.2.
3.3.
3.4.
Shim ............................................................................................................................
Pesign .........................................................................................................................
EFIKeyGen ..................................................................................................................
sign-file ........................................................................................................................
7
7
7
7
7
4. Utilizando suas próprias chaves
4.1. Criando chaves ............................................................................................................
4.2. Criando chaves para a compilação do Shim ..................................................................
4.3. Pacotes que necessitam ser refeitos. ............................................................................
4.4. Registrar suas chaves no firmware ...............................................................................
9
9
9
9
9
A. Histórico de Revisão
11
Índice Remissivo
13
iii
iv
Preface
1. Convenções de Documentos
Este manual usa diversas convenções para destacar certas palavras e frases e chamar a atenção
para informações específicas.
Em PDF e edições de texto, este manual usa tipos de letras retiradas do conjunto de Fontes
1
Liberation Fonts . O conjunto de Fontes Liberation Fonts, também é usado em formato HTML, caso
o conjunto esteja instalado em seu sistema. Caso ainda não esteja, como forma alternativa, estão
disponíveis tipos de letras equivalentes. Nota: O Red Hat Enterprise Linux 5 e versões mais recentes
do mesmo, incluem o conjunto Liberation Fonts por padrão.
1.1. Convenções Tipográficas
São usadas quatro convenções tipográficas para realçar palavras e frases específicas. Estas
convenções, e circunstâncias a que se aplicam, são as seguintes:
Negrito Espaço Único (Mono-spaced Bold)
Usada para realçar entradas do sistema, incluindo comandos de shell, nomes de arquivos e
caminhos. São também usadas para realçar tecla de Maiúsculas/Minúsculas e as combinações de
teclas. Por exemplo:
Para ver o conteúdo do arquivo my_next_bestselling_novel em sua pasta de
trabalho atual, insira o comando cat my_next_bestselling_novel na janela de
solicitação e pressione Enter para executar o comando.
O comando acima inclui um nome de arquivo, um comando de shell e uma tecla cap, todos
apresentados em Negrito Espaço Único (Mono-spaced Bold) e todos distintos, graças ao conteúdo.
As combinações de Teclas podem ser diferenciadas da tecla Caps Lock por um hífen, conectando
cada parte de uma combinação de teclas. Por exemplo:
Pressione Enter para executar o comando.
Pressione Ctrl+Alt+F2 para mudar para o primeiro terminal virtual. Pressione
Ctrl+Alt+F1 para voltar para sua sessão do X-Windows.
A primeira sentença, destaca uma tecla específica a ser pressionada. A segunda destaca
duas combinações de teclas (cada conjunto de três teclas Caps com cada um pressionado
simultaneamente).
Caso o código fonte seja discutido, serão apresentados como acima, os nomes de classe, métodos,
funções, nomes de variantes e valores retornados mencionados em um parágrafo, em Negrito de
Espaço Único (Mono-spaced Bold). Por exemplo:
Classes baseadas em arquivo, incluem filesystem para sistemas de arquivo, file
para arquivos, e dir para diretórios. Cada classe possui seu conjunto próprio de
permissões associadas.
Negrito Proporcional
1
https://fedorahosted.org/liberation-fonts/
v
Preface
Esta representa as palavras e frases encontradas no sistema, incluindo os nomes de aplicativos, texto
de caixa de diálogo, botões rotulados, caixa de seleção e rótulos de botão de opção, títulos de menus
e sub-menus. Por exemplo:
Escolha Sistema ��� Preferências��� Mouse a partir da barra de menu para
obter Preferências de Mouse. Na aba Botões, clique na caixa de seleção Mouse
para mão esquerda e clique em Fechar para mudar o botão do mouse anterior da
esquerda para a direita (deixando-o assim, mais adequado para o uso do canhoto).
Para inserir um caractere especial em um arquivo gedit, escolha Aplicativos���
Acessórios��� Mapa de Caracteresa partir da barra de menu principal. Depois,
escolha a opçãoPesquisar��� Encontrar…a partir da barra de menu Mapa de
Caracteres , digite o nome do caractere no campo Pesquisar e clique em Próximo.
O caractere que você buscou estará em destaque na Tabela de Caracteres. Clique
novamente nestes caracteres realçados para colocá-los no campo Texto para cópia
e depois clique em Copiar. Agora mude novamente para seu documento e escolha
Editar��� Colar a partir da barra de menu do gedit.
O texto acima inclui nomes de aplicativos, nomes de menu e itens de todo o sistema, nomes de menu
específicos do aplicativo, e botões e textos encontrados na Interface Gráfica GUI, todos apresentados
em Negrito Proporcional (Proportional Bold) e todos diferenciados de acordo com o contexto.
Itálico em Negrito de Espaço Único (Mono-spaced Bold Italic) ouItálico em
Negrito Proporcional (Proportional Bold Italic)
Sendo o Negrito Espaço Único (Mono-spaced Bold) ou Negrito Proporcional (Proportional Bold), os
itálicos extras indicam textos substituíveis ou variáveis. O Itálico denota o texto que você não inseriu
literalmente ou textos exibidos que mudam dependendo das circunstâncias. Por exemplo:
Para conectar-se à uma máquina remota usando o ssh, digite ssh nome do
usuá[email protected] na janela de comandos. Por exemplo, considre que a
máquina remota seja example.com e seu nome de usuário nesta máquina seja john,
digite ssh [email protected].
O comando mount -o remount file-system remonta o sistema de arquivo
nomeado. Por exemplo, para remontar o sistema de arquivo /home, o comando é
mount -o remount /home.
Para ver a versão de um pacote instalado, use o comando rpm -q package. Ele
retornará um resultado como este: package-version-release.
Observe as palavras em negrito e itálicas acima — nome de usuário, nome do domínio, sistema de
arquivo, pacote, versão e lançamento. Cada palavra é um espaço reservado, tanto para o texto que
você inseriu ao emitir um comando ou para o texto exibido pelo sistema.
Além de uso padrão para apresentar o título de um trabalho, os itálicos denotam a primeira vez que
um termo novo e importante é usado. Por exemplo:
O Publican é um sistema de publicação do DocBook.
1.2. Convenções de Pull-Quote
Resultado de terminal e listagem de código fonte são definidos visualmente com base no contexto.
O resultado enviado à um terminal é configurado em Romano de Espaço Único (Mono-spaced
Roman) e apresentado assim:
books
vi
Desktop
documentation
drafts
mss
photos
stuff
svn
Notas e Avisos
books_tests
Desktop1
downloads
images
notes
scripts
svgs
As listas de código fonte também são configuradas em Romano de Espaço Único (Monospaced Roman), porém são apresentadas e realçadas como a seguir:
package org.jboss.book.jca.ex1;
import javax.naming.InitialContext;
public class ExClient
{
public static void main(String args[])
throws Exception
{
InitialContext iniCtx = new InitialContext();
Object
ref
= iniCtx.lookup("EchoBean");
EchoHome
home
= (EchoHome) ref;
Echo
echo
= home.create();
System.out.println("Created Echo");
System.out.println("Echo.echo('Hello') = " + echo.echo("Hello"));
}
}
1.3. Notas e Avisos
E por fim, usamos três estilos visuais para chamar a atenção para informações que possam passar
despercebidas.
Nota
Uma nota é uma dica ou símbolo, ou ainda uma opção alternativa para a tarefa em questão.
Se você ignorar uma nota, provavelmente não resultará em más consequências, porém poderá
deixar passar uma dica importante que tornará sua vida mais fácil.
Importante
Caixas importantes detalham coisas que são geralmente fáceis de passarem despercebidas:
mudanças de configuração que somente se aplicam à sessão atual, ou serviços que precisam
ser reiniciados antes que uma atualização seja efetuada. Se você ignorar estas caixas
importantes, não perderá dados, porém isto poderá causar irritação e frustração.
Aviso
Um Aviso não deve ser ignorado. Se você ignorar avisos, muito provavelmente perderá dados.
vii
Preface
2. Nós precisamos de seu comentário
Se você encontrar erro ortográfico neste manual, ou se você tem uma sugestão para melhoramento
deste manual, nós gostaríamos muito de ouvir sua opinião! Por favor submita um relatório em
Bugzilla:http://bugzilla.redhat.com/bugzilla/ contra o produto Fedora..
Uma vez submetendo um relatório de bug, por favor mencione a identificação do
manual:UEFI_Secure_Boot_Guide.
Se você tiver uma sugestão para o melhoramento deste documento, por favor tente ser o mais
específico possível em sua descrição. Caso você tenha encontrado um erro, por favor inclua o
número da seção e alguns detalhes a respeito do texto para a nossa melhor identificação.
viii
O que é a Inicialização Segura UEFI?
Inicialização Segura é uma configuração utilizando o firmware UEFI para verificar as assinaturas
criptográficas no gerenciador de inicialização e no kernel do sistema operacional associado para
garantir que apenas binários confiáveis sejam carregados durante o processo de inicialização. Essas
assinaturas são verificadas contra as chaves armazenadas nas variáveis do UEFI. Se um binário
contém uma assinatura válida, ele tem a permissão para ser executado. Caso contrário, o binário não
obtém a permissão de execução.
Versões anteriores do Fedora inicializados nesses equipamentos não irão iniciar até que o usuário
desabilite a Inicialização Segura no firmware. Enquanto desabilitar a Inicialização Segura é uma
opção viável que alguns usuários podem desejar escolher, ela não é a solução ideal.
Para facilitar o funcionamento automático em novos hardwares, os mantenedores do GRUB, kernel,
e pacotes associados implementaram o suporte a Inicialização Segura no Fedora. Em máquinas
UEFI, Fedora utiliza um pequeno gerenciador de inicialização chamado shim que foi assinado pelo
serviço de assinatura da Microsoft (via Verisign). Isso permite ao UEFI carregar o shim em máquinas
prontas para o Windows 8 e dar continuidade ao processo de inicialização do Linux. Shim por sua vez
inicializa o GRUB, que é assinado pela chave do Fedora. O GRUB então inicializa um Kernel Linux
assinado de forma similar pelo Fedora que carrega o restante do sistema operacional no processo de
inicialização usual. A máquina se mantém no modo de Inicialização Segura.
1.1. Do que a Inicialização Segura protege você?
A Inicialização Segura é realmente apenas um mecanismo para proteger a fase de inicialização do
sistema. O objetivo é previnir que códigos não confiáveis sejam inicializados no sistema, uma vez que
essa parte foi verificada, é com o sistema operacional assumir a proteção. Isso dá o potencial para o
sistema operacional extender a cadeia de confiança até os binários do usuários, mas isso está fora do
foco desse documento.
O Fedora expandiu a sua cadeia de confiança até o Kernel. A verificação ocorre até apenas os
modulos assinados do Kernel, mas não é extendida aos aplicativos do espaço do usuários. Nós
podemos ter certeza de que nenhum código não assinado está presente até que o ramdisk (initrd)
inicial é carregado. Como o initrd não pode ser assinado, ele não pode ser verificado.
1.2. Do que a Inicialização Segura não protege você?
A Inicialização Segura não protegerá seu computador de malware ou ataques. A Inicialização Segura
em si é simplesmente para proteger a fase de inicialização do sistema. No %PRODUCT; se você
utiliza a Inicialização Segura, quais os módulos o Kernel carrega podem ser restringidos, mais o
malware no espaço do usuário não pode. Isso com certeza não significa que a Inicialização Segura
não é útil, apenas que ela atualmente serve apenas para um único propósito, que é proteger o
gerenciador de inicialização.
1
2
Implementação da Inicialização Segura
UEFI
A implementação da Inicialização Segura do Fedora inclui suporte para dois métodos de inicialização
através do mecanismo de Inicialização Segura. O primeiro método utiliza o serviço de assinatura
hospedado pela Microsoft para fornecer uma cópia do gerenciador de inicialização shim assinado
com as chaves da Microsoft. O segundo método é uma forma mais geral do primeiro, onde um site ou
usuário pode criar sua própria chave, implementá-la no firmware do sistema, e assinar seus próprios
binários.
2.1. Chaves
A solução de utilizar o serviço de assinatura da Microsoft foi simples. A chave que a Microsoft utiliza
é distribuida em todos os hardwares conhecidos, o que resulta no Fedora ter a possibilidade de
inicializar nesse hardware sem problemas. Existem com certeza riscos de depender de um terceiro
para esses serviços. O Fedora Project está comprometido em acompanhar de perto as atividades
nesse espaço e responderá a qualquer nova informação apropriadamente.
O uso da chave na implementação do Fedora pode ser confusa por causa de sua complexidade. Aqui
está como vários componentes estão assinados.
Shim: Ele está assinado pelo serviço de assinatura do UEFI. Nós não temos controle dessa chave.
O shim contém a chave pública de inicialização da Autoridade Certificadora da Inicialização do
Fedora.
GRUB: Ele está assinado pela chave "Signatário de Inicialização do Fedora", que se liga a chave da
Autoridade Certificadora de inicialização do Fedora. O GRUB não contém nenhuma chave, ele se liga
no shim para sua verificação.
Kernel: Ele também é assinado pelo Signatário de Inicialização do Fedora. O kernel contém as
chaves públicas utilizadas para assinar os módulos do kernel.
Módulos do Kernel: Esses são assinados com uma chave privada gerada durante a compilação. A
chave não é salva, e uma nova é utilizada em cada compilação do kernel.
A Autoridade Certificadora da Inicialização Segura do Fedora é utilizada para verificar a integridade
do GRUB e do kernel. A chave pública pode atualmente ser encontrada no código-fonte do shim. Os
detalhes da chave são:
Certificate:
Data:
Version: 3 (0x2)
Serial Number: 2574709492 (0x9976f2f4)
Signature Algorithm: sha256WithRSAEncryption
Issuer: CN=Fedora Secure Boot CA
Validity
Not Before: Dec 7 16:25:54 2012 GMT
Not After : Dec 5 16:25:54 2022 GMT
Subject: CN=Fedora Secure Boot CA
Subject Public Key Info:
Public Key Algorithm: rsaEncryption
Public-Key: (2048 bit)
Modulus:
00:ae:f5:f7:52:81:a9:5c:3e:2b:f7:1d:55:f4:5a:
68:84:2d:bc:8b:76:96:85:0d:27:b8:18:a5:cd:c1:
3
Capítulo 2. Implementação da Inicialização Segura UEFI
83:b2:8c:27:5d:23:0a:d1:12:0a:75:98:a2:e6:5d:
01:8a:f4:d9:9f:fc:70:bc:c3:c4:17:7b:02:b5:13:
c4:51:92:e0:c0:05:74:b9:2e:3d:24:78:a0:79:73:
94:c0:c2:2b:b2:82:a7:f4:ab:67:4a:22:f3:64:cd:
c3:f9:0c:26:01:bf:1b:d5:3d:39:bf:c9:fa:fb:5e:
52:b9:a4:48:fb:13:bf:87:29:0a:64:ef:21:7b:bc:
1e:16:7b:88:4f:f1:40:2b:d9:22:15:47:4e:84:f6:
24:1c:4d:53:16:5a:b1:29:bb:5e:7d:7f:c0:d4:e2:
d5:79:af:59:73:02:dc:b7:48:bf:ae:2b:70:c1:fa:
74:7f:79:f5:ee:23:d0:03:05:b1:79:18:4f:fd:4f:
2f:e2:63:19:4d:77:ba:c1:2c:8b:b3:d9:05:2e:d9:
d8:b6:51:13:bf:ce:36:67:97:e4:ad:58:56:07:ab:
d0:8c:66:12:49:dc:91:68:b4:c8:ea:dd:9c:c0:81:
c6:91:5b:db:12:78:db:ff:c1:af:08:16:fc:70:13:
97:5b:57:ad:6b:44:98:7e:1f:ec:ed:46:66:95:0f:
05:55
Exponent: 65537 (0x10001)
X509v3 extensions:
Authority Information Access:
CA Issuers URI:https://fedoraproject.org/wiki/Features/SecureBoot
X509v3 Authority Key Identifier:
keyid:FD:E3:25:99:C2:D6:1D:B1:BF:58:07:33:5D:7B:20:E4:CD:96:3B:42
X509v3 Extended Key Usage:
Code Signing
X509v3 Subject Key Identifier:
FD:E3:25:99:C2:D6:1D:B1:BF:58:07:33:5D:7B:20:E4:CD:96:3B:42
Signature Algorithm: sha256WithRSAEncryption
37:77:f0:3a:41:a2:1c:9f:71:3b:d6:9b:95:b5:15:df:4a:b6:
f4:d1:51:ba:0d:04:da:9c:b2:23:f0:f3:34:59:8d:b8:d4:9a:
75:74:65:80:17:61:3a:c1:96:7f:a7:c1:2b:d3:1a:d6:60:3c:
71:3a:a4:c4:e3:39:03:02:15:12:08:1f:4e:cd:97:50:f8:ff:
50:cc:b6:3e:03:7d:7a:e7:82:7a:c2:67:be:c9:0e:11:0f:16:
2e:1e:a9:f2:6e:fe:04:bd:ea:9e:f4:a9:b3:d9:d4:61:57:08:
87:c4:98:d8:a2:99:64:de:15:54:8d:57:79:14:1f:fa:0d:4d:
6b:cd:98:35:f5:0c:06:bd:f3:31:d6:fe:05:1f:60:90:b6:1e:
10:f7:24:e0:3c:f6:33:50:cd:44:c2:71:18:51:bd:18:31:81:
1e:32:e1:e6:9f:f9:9c:02:53:b4:e5:6a:41:d6:65:b4:2e:f1:
cf:b3:b8:82:b0:a3:96:e2:24:d8:83:ae:06:5b:b3:24:74:4d:
d1:a4:0a:1d:0a:32:1b:75:a2:96:d1:0e:3e:e1:30:c3:18:e8:
cb:53:c4:0b:00:ad:7e:ad:c8:49:41:ef:97:69:bd:13:5f:ef:
ef:3c:da:60:05:d8:92:fc:da:6a:ea:48:3f:0e:3e:73:77:fd:
a6:89:e9:3f
2.2. Shim
No Fedora existem dois pacotes que fazem o shim. O pacote de nome "shim" é o resultado da
compilação do código-fonte que faz o shim. O pacote não inicializará o sistema se ele não estiver
assinado. Os resultados da compilação do pacote shim são assinados, depois encorporados no
pacote assinado shim. O pacote shim assinado contém o binário assinado que é capaz de inicializar o
sistema.
O pacote shim também contém uma lista negra de chaves nocivas ou binários que não deve ter
permissão de inicialização. A lista negra é um arquivo chamado dbx.esl no pacote assinado do
shim. A Microsoft fornecerá essa lista ao Fedora para inclusão. Isso pode resultar em atualizações
periódicas do pacote assinado do shim que não alterarão a binário atual do shim, mas atualizarão a
lista negra para garantir que códigos nocivos não possam ser executados.
Os detalhes da lista negra devem vir da Microsoft. Nós não podemos atualizar a lista negra por conta
própria. Os dados são assinados com uma chave da Microsoft que irá previnir atualizações não
4
Restrições
autorizadas na lista. A Microsoft especificou que a lista negra é utilizada para prevenir o computador
de inicializar chaves comprometidas e vulnerabilidades conhecidas.
Em ambos os métodos de inicialização, o shim, o GRUB e o kernel detectarão que foram iniciados
no que o UEFI descreve como "Modo do usuário" com a Inicialização Segura habilitada, e após
detectar isso eles validarão o próximo estágio com uma chave pública criptografada específica do
Fedora antes de inicializar. A validação é feita via shim para o GRUB, e o GRUB retorna ao shim para
validar o kernel também. Após o kernel ser inicializado, ele também detectará que está no modo de
Inicialização Segura, o que causará que algumas coisas aconteçam:
Ele validará o comando de inicialização para permitir apenas certas configurações do Kernel
Ele irá checar os módulos no momento do carregamento pelas assinaturas e recusar o carregamento
dos mesmos se eles não estiverem assinados ou estiverem com uma assinatura não encontrada nas
variáveis de armazenamento de chaves UEFI (veja as notas)
Ele recusará quaisquer operações do espaço do usuário que causem DMA definido pelo espaço do
usuário.
Nota
Outras distribuições escolharam não precisar de módulos assinados do kernel em suas
implementações da Inicialização Segura. O Fedora acredita que para suporte completo da
Inicialização Segura isso é necessário. Nós estamos trabalhando para limitar o impacto disto
enquanto garantimos que código não confiável de módulos não ganhem permissão para serem
executados.
2.3. Restrições
Essas restrições estão em vigor para serem totalmente compatíveis com a Inicialização Segura. Isso
que nos obriga a evitar a qualquer execução de código não confiável no nível de supervisor. A maior
parte dos usuários não notarão essas restrições já que a maioria dos pacotes do nível do usuário
que necessitam desse acesso foram consertados para funcionarem sem isso. Entretando, existem
alguns poucos serviços e recursos que não funcionarão nesse momento em uma máquina com a
Inicialização Segura habilitada. Eles incluem:
kexec/kdump
Hibernar (suspender para o disco)
Módulos de terceiros que não estão assinados, ou estão assinados com uma chave desconhecida
Testando o systemtap do Kernel (e Kprobes)
Nota
Em futuras melhorias no suporte a Inicialização Segura o acima pode também ser possível,
entretanto implementações seguras não foram possíveis no prazo do Fedora 18. Se você
necessita do suporte de alguns desses recursos, a Inicialização Rápida deve ser desabilitada.
5
Capítulo 2. Implementação da Inicialização Segura UEFI
Importante
Atualmente, o Fedora shim foi assinado de uma forma que tem a data de expiração em Outubro
de 2013, antes do fim do ciclo de vida do Fedora 18. Nós não temos conhecimento de qualquer
hardware que honre essa data de expiração, mas isto não está fora de questão. Essa foi a
data que a Microsoft deu a assinatura, o Fedora não tem controle sobre ela. Nós estamos
investigando esse problema e experamos resolvê-lo no futuro.
6
Tools
Several tools have been developed to allow Fedora to work with the UEFI Secure Boot firmware.
3.1. Shim
Shim is the cryptographically signed software that creates the trust between the UEFI firmware and
GRUB and the kernel software. Shim is cryptographically signed by Verisign (via Microsoft) so that the
UEFI firmware will cryptographically recognize the Fedora system and allow the software to continue
through the boot process. The shim validates GRUB and kernel through a cryptographic verification
based on a Fedora key used to sign all three.
3.2. Pesign
Pesign allows users to create their own shim and use their own cryptographic keys. Using this tool,
one can create their own trust model and not be required to trust the Microsoft trust model. Once the
user has created their keys and signed their shim, and optionally signed and built GRUB and kernel,
they can use the setup mode in the firmware to install Fedora and use the sbsetup tool as provided by
pesign to enroll their keys in the firmware.
3.3. EFIKeyGen
3.4. sign-file
7
8
Utilizando suas próprias chaves
4.1. Criando chaves
4.2. Criando chaves para a compilação do Shim
4.3. Pacotes que necessitam ser refeitos.
4.4. Registrar suas chaves no firmware
9
10
Apêndice A. Histórico de Revisão
Revisão 18-2
Mon 04 February 2013
Eric Christensen
[email protected]
Reescrita completa da maioria dos capítulos.
Revisão 18-1
Fri 04 January 2013
Eric Christensen
[email protected]
Atualizado capítulo 'O que é a Inicialização Segura'. (BZ 891758)
Atualizado capítulo "Implementação". (BZ 891924)
Atualizado endereço de email de Josh Boyer. (BZ 891932)
Revisão 0-1
Thu Jul 12 2012
Eric Christensen
[email protected]
Criação inicial do livro por publican
11
12
Índice Remissivo
definition, 7
A
Autoridade Certificadora da Inicilização Segura
do Fedora, 3
C
chaves
Autoridade Certificadora da Inicilização Segura
do Fedora
chave pública, 3
expiração
Fedora 18, 6
GRUB, 3
kernel, 3
shim, 3
comentário
contato de informação para este manual, viii
E
EFIKeyGen
definition, 7
G
GRUB, 1
chave, 3
integridade, 3
I
Inicialização Segura
chaves, 3
Implementação, 3
lista negra, 4
restrições, 5
K
kernel
chave, 3
integridade, 3
P
pesign
definition, 7
sbsetup, 7
S
shim, 1
chave, 3
definition, 7
explicação, 4
sign-file
13
14