- Chave de Endosso (Endorsement
Key)
A chave de endosso
é um par de chaves RSA, pública e privada, de 2.048 bits,
que é criado no chip responsável pela
Computação Confiável (Trusted Plattform Module -
TPM) no momento de sua fabricação. A chave de endosso
está permanentemente embutida no hardware do TPM. A chave
privada do par de chaves, que constituem a chave de endosso, nunca
sai do TPM. Já a chave pública é usada para
reconhecer um TPM legítimo.
Operações
do TPM que envolvem a assinatura de parte da informação,
podem usar a chave de endosso para permitir que os outros
componentes verifiquem que os dados são confiáveis. Para
assinar um dado, a chave privada é usada para criptografar uma
pequena porção da informação. A assinatura pode
ser verificada pelo uso da correspondente chave pública para
decriptar a mesma parte dos dados. Se puder ser decriptografada com
a chave pública, então foi criptografado pela chave
privada correspondente. Enquanto a chave privada for mantida em
segredo, a assinatura digital será
confiável.
- Isolamento de áreas de memória e
Execução Segura (Memory
curtaining)
Refere-se ao
isolamento de memória, usando-se dispositivos de hardware para
impedir que um programa consiga ler ou escrever em uma área de
memória destinada a outro programa. Atualmente, um programa
com código malicioso pode ter acesso a dados sensíveis na
memória do PC. Na Computação Confiável, nem
mesmo o sistema operacional terá acesso às
porções de memória isoladas, destinadas a certo
programa. Assim, mesmo que um programa intruso ganhe controle do
sistema operacional, ele não conseguirá ter acesso a
áreas de memória seguras de outros
programas.
Embora o isolamento
de memória seja possível de ser implementado por
software, isso implicaria na necessidade de reescrever sistemas
operacionais, drivers de dispositivos e até mesmo
aplicações. A implementação em hardware dessa
característica garante uma compatibilidade com software
anteriores, necessitando de um número bem menor de programas a
serem reescritos. Vale lembrar que grande parte dos ganhos em
segurança dessa característica, poderiam ser
alcançados através da reescrita dos softwares,
contemplando essa característica. Entretanto, isso é
considerado inviável.
- E/S Segura (Secure
I/O)
Entrada e saída
seguras, E/S segura ou Trusted Path, como é
tradicionalmente conhecida, lida com as ameaças exemplificadas
pelos keyboard loggers e screen-scrapers, softwares
que são usados para espionar as atividades dos usuários
do computador. Keyboard logger, ou keylogger, é
um software capaz de gravar o que o usuário digita.
Screen-scraper é um software que armazena o que é
mostrado na tela do computador.
E/S segura refere-se
a um caminho protegido entre o usuário e o software, que o
usuário acredita estar interagindo. Atualmente, há muitos
meios de software maliciosos interceptarem os dados durante o
percurso entre o usuário e o processo que deve tratar aquela
entrada ou saída. E/S segura vai prover um canal assegurado,
através de hardware e software protegidos, usando
checksums armazenados na TPM para verificar se o software
que faz o controle de E/S não tenha sido adulterado. Softwares
maliciosos que se injetem nesse caminho podem ser
identificados.
- Armazenamento Selado (Sealed
Storage)
O armazenamento
selado lida com um dos maiores problemas de segurança dos PCs,
a incapacidade de armazenar de forma segura as chaves
criptográficas. Costumeiramente, as chaves e senhas que
protegem os dados privados são armazenadas localmente, nos
mesmo disco rígido que os próprios documentos que
protegem. As chaves têm que estar disponíveis para os
usuários legítimos, para que esses façam uso dessas
da forma como quiserem, mas as chaves não podem ficar expostas
caso o computador seja invadido, assim o intruso teria acesso a
chaves de decriptografia e de assinatura
digital.
O armazenamento
selado protege a informação privada ligando-a às
configurações da plataforma, incluindo
informações do software e do hardware usados. Isso
significa que os dados só podem ser lidos por uma mesma
combinação de software e hardware. O armazenamento é
uma invenção que gera as chaves baseado em parte na
identificação do software que o chamou para ser usado e
em parte no computador no qual esse software está sendo
executado. O resultado é que a chaves mesmas não precisam
ser armazenadas no disco rígido, mas podem ser geradas sempre
que necessário. Se outro programa, diferente do que encriptou
a informação, tentar decriptar, é garantido que esse
irá falhar. Da mesma forma, se a informação
criptografada for copiada para outra máquina, as tentativas
para decriptá-la também irão
falhar.
- Atestação remota (Remote
attestation)
A
Atestação Remota permite que alterações
não autorizadas em softwares sejam detectadas, o que a torna o
mais importante conceito da Computação Confiável. Se
um atacante trocar uma de suas aplicações ou parte de seu
sistema operacional por uma versão alterada maliciosamente, a
atestação será capaz de identificar. Como a
atestação é remota, outros indivíduos com os
quais você interage, também serão capazes de
identificar que houve a alteração. Então, eles podem
se negar a enviar dados sensíveis a sistemas
comprometidos.
A
Atestação Remota funciona gerando, em hardware, um
certificado criptográfico que atesta a identidade do software
que está sendo executado no PC naquele momento. Essa identidade
citada, não leva nenhum critério de julgamento quanto ao
comportamento do software em questão, mas somente um
hash criptográfico, que permite que se distingam
programas diferentes e programas com e sem alterações.
Esse certificado pode ser repassado a outras entidades, e a
princípio tem o objetivo de provar que a máquina, que
o está emitindo, usa o software esperado e sem
alterações. Se a máquina estiver usando um programa
alterado, o certificado gerado irá refletir esse
fato.