Trusted Platform Module - TPM

O módulo de plataforma confiável possui arquitetura definida pelo Trusted Computing Group. Essa sessão visa apresentar suas principais características.

Topo da Página

Introdução à cadeia de confiança

Como vimos na introdução a esse trabalho, um sistema confiável deve se comportar de modo a garantir serviços de integridade, confidencialidade e autenticação. Para tanto, o TCG elaborou especificações para uma arquitetura genérica de dispositivos integrados as plataformas.

A idéia é a criação de uma cadeia de confiança entre os dispositivos internos e externos da plataforma de modo a garantir a confiabilidade da plataforma como um todo.

Essa cadeia de confiança possui três raízes: Root of Trust for Measurement (RTM), Root of Trust for Storage (RTS) e Root of Trust for Reporting (RTR).

O Trusted Platform Module (TPM) contém essas três raízes e é, portanto, a base de segurança da plataforma.

Topo da Página

Entendendo a função das raízes

Cada uma das raízes apresentadas possui uma função dentro do TPM, nesta seção apresentaremos cada uma delas:

RTM: é o componente que mede a integridade de um software em execução na plataforma.

RTS: componente responsável por armazenar os dados medidos pelo RTM dentro dos Platform Configuration Register.

RTR: componente que tem por finalidade recuperar os dados armazenados na memória do TPM.

Topo da Página

Hierarquia de chaves

Para o funcionamento do TPM é fundamental a existência de diversas chaves criptográficas. Existe uma hierarquia entre as mesmas de modo que cada uma funciona como um certificador para uma chave de um grau inferior. Nesta seção apresentamos as principais chaves do TPM:

Chave de Endosso (Endorsment Key - EK): é um par de chaves (pública e privada) geradas no momento de confecção do chip, das quais a privada é mantida internamente (em local inacessível do módulo) e a pública pode ser divulgada. As chaves são do tipo RSA podendo ser de até 2048 bits. Apesar da possibilidade da chave pública poder ser divulgada, deve-se evitar sua exposição de modo a aumentar a privacidade do usuário.

Chave de Raiz de Armazenamento (Storage Root Key - SRK): é a chave que protege as demais chaves que fazem a segurança do módulo.

Chave de Atestação de identidade (Atestation of identification key - AIK): é a chave que autentifica a identidade de um módulo quando o mesmo tenta se comunicar com alguma entidade externa. É a assinatura do TPM.

Topo da Página

Arquitetura TPM

Existem poucos fabricantes de módulos TPM, são eles a Atmel, Infineon, ST MIcroeletronics e Broadcom. Todas são participantes do Trusted Computing Group. Cada uma dessas possui uma arquitetura própria, porém que podem ser mapeadas em uma arquitetura referência.

O TPM possui especificação bem definida pelo TCG e sua implementação pode ser feita tanto em software quanto em hardware. Contudo, sua API (Application Programming Interface) de acesso é definida de uma forma orientada melhor implementação em hardware.

A API do modulo possui em média 135 funções [8] que podem ser categorizadas, segundo GALLO, R et al. em: funções relacionadas ao armazenamento volátil e não volátil, funções criptográficas, funções administrativas, funções para gestão de chaves e funções para protocolos de comunicação.[5]

A seguir são apresentados os componentes presentes na arquitetura do TPM, segundo GALLO, R. et al.:

Componente de I/O: dispositivo passivo que recebe as chamadas de funções e retorna uma reposta. Visa esconder o fluxo de dados dentro do módulo.

Coprocessador criptográfico: responsável por agilizar a realização de operações básicas. Utilização de RSA com módulos de até 2048 bits.

SHA-1 engine: realiza o armazenamento nas Platform Configuration Registers, dos estados da plataforma. O hash criptográfico SHA-1 impossibilita que se deduza o estado que gerou cada valor guardado no PCR.

Componente de geração de chaves: todas as chaves criptográficas utilizadas no módulo, exceto a Endorsement Key (EK), são geradas no próprio TPM.

Memórias volátil e não volátil: para armazenamento de dados dos estados do modulo e chaves criptográficas.

Componente Opt-In: opção de ligar ou desligar o TPM.

Gerador de números aleatórios: geração de matéria para as chaves criptográficas. Sugestão de utilização de ruído de Johnson-Nyquist [5]

Detector de potência: monitora a tensão do modulo de forma a evitar ataques do tipo Simple Power Analysis (SPA) ou Differential Power Analysis (DPA).

Dispositivo de execução: gerencia todos os componentes, atribui tarefas e monta os resultados.

Topo da Página

Proteção do Módulo

Indivíduos mal intencionados podem utilizar diversas técnicas para obter dados do TPM, como a chave de endosso e chave de raiz de armazenamento. Assim, os fabricantes utilizam algumas ferramentas que protejam o módulo dessas ameaças. As mais importantes são o embaralhamento de barramentos (conexões desorganizadas de circuitos), sensores de luminosidade que detectam se o dispositivo está aberto, sensores de frequência e tensão para evitar ataques do tipo timing, sobretensão e subtensão. Além destes, ocorre o uso de componentes químicos capazes de destruir o componente no caso de detecção de ataque [5].

Topo da Página

Próximo

Anterior