UEFI vs. ARM TrustZone

0

Eu entendo que o UEFI tem um recurso de inicialização segura que é agora para todos os Win 8 (tablets e smartphones). Como isso se encaixa com o TrustZone da AMR, por exemplo? A UEFI é semelhante a um TPM de firmware que pode ser usado como um aplicativo confiável no domínio normal da TrustZone após o TEE da TrustZone ter carregado o domínio seguro? Eu não sei como esses dois se encaixam - ou talvez eles estão competindo tecnologias ??

    
por Mic 17.12.2013 / 13:33

2 respostas

2

Não vou entrar em nenhuma controvérsia que envolva UEFI, inicialização segura ou TPM em geral (fora do escopo), então tentarei responder da forma mais direta possível.

UEFI é (para todos os efeitos) uma 'substituição' da BIOS que fica no nível do BIOS (entre hardware e OS). O arranque seguro UEFI tem de ser suportado pelo firmware (BIOS); A Inicialização segura da UEFI é essencialmente uma forma de evitar que o código 'não assinado' seja inicializado, já que agora o Windows 8, Windows Server 2012 e determinadas distribuições do Linux assinaram chaves de inicialização seguras UEFI que podem usar o recurso.

O TPM (módulo de plataforma confiável) é um padrão que geralmente é implementado como um módulo de hardware separado que pode ser usado para gerar chaves de criptografia (entre outras coisas). Não é o mesmo que UEFI (nem são de grupos organizacionais relacionados); O TPM é uma criptografia em nível de hardware usada para criptografia de disco total e DRM e precisa ser instalada fisicamente como um módulo separado (embora muitos novos PCs / laptops / placas-mãe incluam a opção de pré-instalação com um TPM de hardware). como UEFI fica entre o hardware e o próprio sistema operacional. Tecnicamente falando, pode-se usar UEFI (inicialização segura) com um TPM. Os TPMs são fabricados por muitas empresas diferentes. O UEFI é um firmware que é 'fabricado' (codificado) por algumas empresas também.

O UEFI e o TPM são (normalmente) encontrados apenas em plataformas x86 / x64 (ou seja, CPU / chipsets Intel / AMD / PPC). A ARM (uma fabricante concorrente de processadores / processadores de chips para a Intel e AMD) oferece algo semelhante a uma configuração UEFI / TPM e isso é o seu TrustZone . TrustZone é algo que está embutido nos próprios chips ARM, é um pouco diferente, pois o UEFI está no BIOS e o TPM é 'cozido' nos módulos de hardware, mas o TrustZone da ARM pode ser utilizado 'em todo o sistema'; a idéia é que você tem uma mistura da funcionalidade do tipo UEFI / TPM em cada dispositivo que possui um chipset ARM (que pode ser qualquer coisa, desde um teclado / mouse a um monitor e impressora).

Uma coisa a notar com TODAS estas tecnologias é que, em um nível de software, a maior parte da funcionalidade 'segura' precisa ser implementada para ser usada. Por exemplo, você pode ter um PC com um TPM e usar TrueCrypt para criptografia de disco completo (TrueCrypt não suporta TPM). Isso é o mesmo com o TrustZone da ARM; o integrador do sistema / software precisa tirar proveito dessas capacidades para que ele seja eficaz / trabalhe (em outras palavras, só porque algo está fisicamente na sua máquina não significa que ele esteja 'ativo').

    
por 17.12.2013 / 23:00
0

txtechhelp resposta é interessante e acredito que ele dá uma perspectiva x86 . O TrustZone no nível mais baixo é um mecanismo para particionar o software ARM em dois mundos . Um é o mundo seguro e o outro é o mundo normal . Nunca é uma solução completa por si só. O licenciado ARM (Freescale, Samsung, TI, Apple, BroadCom, etc) deve fornecer ganchos para completar a solução. Por exemplo, o TZASC , é um controlador de barramento que está ciente do TrustZone . A essência disso é que ataques de DMA em um sistema suficientemente configurado não são possíveis.

Para configurar o controlador de barramento e o mundo seguro , por necessidade o TrustZone inicializa em modo seguro . Isto implica que qualquer sistema que tente implementar segurança com o TrustZone tenha boot seguro .

A partir da descrição do UEFI, se alguém tiver um exploit para um kernel assinado, ele poderá roubar segredos diretamente ou usando um dispositivo DMA (MMU de etapas secundárias). Se os segredos não são acessíveis através do barramento, isso não é possível. TrustZone tenta permitir que dois conjuntos de código sejam executados. Então uma versão unsigned do Linux pode ser usada com Trusted code que faz um boot seguro e configura o controlador de barramento para restringir mestres de barramento e escravos . Esse Código Confiável pode ser apenas um conjunto de rotinas que fazem autenticação e criptografia / decriptografia de acordo com um TPM; também deve haver algum hardware para fornecer chaves secretas protegidas nesse caso.

O código confiável deve ser um conjunto mínimo de funcionalidades. Pode ser um sistema operacional ou simplesmente um conjunto de rotinas / API, dependendo dos requisitos. Assim como no UEFI, uma exploração aqui pode subverter a segurança. No entanto, como a pegada deve ser mínima / reduzida, os vetores de ataque devem ser menores.

Consulte: Whitepaper da TrustZone para mais informações.

    
por 10.01.2014 / 20:00