Computação Confiável (do termo em inglês Trusted Computing, TC) é uma tecnologia desenvolvida e promovida pelo Grupo de Computação Confiável (do inglês Trusted Computing Group, TCG). O termo é tirado da área de sistema confiáveis e possui um significado especial. Com a computação confiável, o computador vai se comportar consistentemente nos modos esperados, e tais comportamentos serão forçados por hardware e software. Na prática, a computação confiável usa criptografia para auxiliar a obrigatoriedade de um comportamento selecionado. A funcionalidade principal da computação confiável é permitir que alguém verifique que apenas código confiável seja executado no sistema. Esta autorização cobre boot inicial e kernel e também pode cobrir diversas aplicações e scripts. O TC por si só não protege contra ataques que exploram vulnerabilidades de segurança introduzidas por erros de programação.
O TC é controverso uma vez que é tecnicamente possível não apenas proteger o hardware para o proprietário, mas também contra o próprio proprietário. Tal controvérsia tem gerado opositores a computação confiável, tais como Richard Stallman, que se refere a mesma como computação desleal ou computação traidora, e alguns acadêmicos opositores têm começado a colocar pontos de interrogação em torno do termo "computação confiável" em alguns textos acadêmicos.
A plataforma para a computação confiável não precisa necessariamente ser usada para proteger o sistema contra o proprietário. É possível deixar ao proprietário autorizações e não possuir autoridade centralizada. Também é possível construir pilhas de módulos confiáveis abertos (open source), deixando a cargo do chip de segurança apenas a tarefa de proteger contra modificações não autorizadas. Existem drivers abertos do linux que possibilitam o acesso e o uso do chip de computação confiável. Contudo, sistemas operacionais não cooperativos podem usar incorretamente características de segurança para prevenir troca de dados legítimos.
Apoiadores da computação confiável, como a International Data Corporation, The Enterprise Strategy Group e a Endpoint Technologies Associates, argumentam que a tecnologia produzirá computadores mais seguros, menos suscetíveis a vírus e malware, e portanto mais confiáveis do ponto de vista do usuário final. Além disso, eles também argumentam que a computação confiável permitirá que computadores e servidores ofereçam segurança computacional aprimorada em relação a atualmente disponível. Os opositores por sua vez regularmente argumentam que esta tecnologia será usada principalmente para impor as políticas da Digital Right Management (DMR) e não para aumentar a segurança dos computadores.
Produtoras de chip como Intel e AMD, produtoras de hardware como a Dell, e fornecedores de sistemas operacionais como a Microsoft, todos planejam incluir a computação confiável nas futuras gerações de produtos. O exército americano requer que cada computador comprado venha com o Modulo de Plataforma Confiável (Trusted Plataform Module, TPM), assim como faz virtualmente todo o Departamento de Defesa Americano desde de 3 de julho de 2007.
Conceitos Chave
A computação confiável engloba seis conceitos tecnológicos chaves, os quais são todos necessários para um sistema confiável completo, ou seja, um sistema que cumpre todas as especificações estabelecidas pelo Grupo de Computação Confiável: Chave de endosso Entrada e saída segura Separação de memória/ execução protegida Armazenamento selado Atestado Remoto Terceiro Partido Confiável (Trusted Third Party)
Chave de Endosso
A chave de endosso é um par de chaves publico RSA e privado de 2048 bits, que é criado aleatoriamente no chip em fase de produção e não pode ser modificado. A chave privada nunca deixa o chip, enquanto que a chave pública é usada para atestado e encriptação de dados sensíveis enviados ao chip, assim como ocorre durante o comando TPM_TakeOwnership - David Safford.
Tal chave usada para permitir a execução de transações seguras: é exigido de cada módulo de plataforma confiável a capacidade de indicar um número aleatório (de forma a permitir que o proprietário mostrar que possui um computador confiável genuíno) usando um protocolo criado pelo grupo de computação confiável (o protocolo direto de atestado anônimo) de forma a garantir sua concordância com o padrão TCG e para provar sua identidade; isto torna impossível para um emulador de software TPM com uma chave de endosso não confiável (gerada pelo próprio software, por exemplo)iniciar uma transação segura com uma entidade confiável. O TPM deve ser desenvolvido para fazer extração desta chave via análise complexa do hardware, contudo resistência a adulteração não é um requerimento forte.
Separação de memória
Separação de memória (ou cortinamento de memória) expande as técnicas comum de proteção a memória para garantir isolamento completo de áreas sensíveis da memória, como, por exemplo, locais contendo chaves criptográficas. Até mesmo o sistema operacional não possui acesso completo a memória separada. Os detalhes exatos de implementação são específicos de cada vendedor; a Trusted Execution Technology da Intel já oferece tal característica.
Armazenamento Selado
O armazenamento selado protege informação privada fixando-a a informações de configuração da plataforma, o que inclui informações sobre o software e o hardware usados. Isso significa que os dados só podem ser liberados apenas a uma combinação particular de hardware e software. Armazenamento selado pode ser usado para forçar a DRM. Por exemplo, usuários que mantém uma música em seus computadores que não foi licenciada para ser ouvida não poderão mais tocá-la. Atualmente, usuários podem localizar a música, ouvi-la, enviar para outras pessoas e tocá-la no software de sua escolha. Alternativamente, o usuário pode usar software que modificam as rotinas de DRM do sistema operacional de forma a vazar os dados da música uma vez, adquirindo assim uma licença temporária. Usando armazenamento selado, a música é seguramente encriptada usando uma chave associada ao módulo de plataforma confiável fazendo com que somente o tocador de música não modificado e não adulterado no seu computador possa tocá-la. Nesta arquitetura DRM, tal armazenamento também pode prevenir pessoas de ouvirem a música após comprarem um novo computador, ou fazer upgrade de partes do computador atual, exceto após permissão explícita do vendedor da música.
Atestado Remoto
O Atestado Remoto permite que mudanças feitas no computador do usuário sejam detectadas por partidos autorizados. Por exemplo, companhias de software podem identificar mudanças não autorizadas no software, incluindo adulterações do usuários que usam seus softwares para contornar medidas de proteção tecnológica. Ele funciona fazendo com que o hardware gere um certificado indicando qual software está sendo executado no momento. O computador pode então apresentar tal certificado a um aparte remota para mostrar que software inalterado está sendo executado.
Atestado remoto é usualmente combinado com encriptação de chave pública para que a informação enviada possa ser lida apenas pelos programas que apresentaram ou requisitaram o atestado, e não por observadores externos.
Voltando ao exemplo da música, o software tocador de música do usuário pode enviar a música a outras máquinas, mas apenas se elas poderem atestar que estão executando uma cópia segura do software tocador de música. Combinada com outras tecnologias, isto provê uma caminho mais seguro para a música: I/O seguros previnem o usuário de gravar a música quando ela é transmitida para o subsistema de áudio, trancamento de memória previne que a mesma seja jogada para arquivos de disco regulares, cortinas de armazenamento selado não autoriza acessos a mesma quando ela é salva no disco rígido, e atestado remoto a protege de softwares não autorizados mesmo quando é usada em outros computadores. Enviar dados de atestado remoto para um terceiro partido confiável contudo tem sido desencorajado a favor do atestado anônimo direto (Direct Anonymous attestattion).
Confiança em Terceiros
Um dos principais obstáculos que teve que ser ultrapassado pelos desenvolvedores da tecnologia do TCG foi como manter a anonimidade e ainda assim prover uma plataforma confiável. O objeto principal para obter "modo confiável" é que um outro partido (Bob), com quem um computador (Alice) pode estar se comunicando, pode confiar que Alice está executando software e hardware não adulterados. Isso vai garantir a Bob que Alice não pode usar software malicioso para comprometer informações sensíveis no computador. Infelizmente, para fazer isto, Alice precisa informar a Bob que está tanto software quanto hardware registrados e seguros, identificando-se unicamente, portanto, a Bob.
Isto pode não ser um problema quando alguém deseja ser identificado pela outra parte, como, por exemplo, durante transações de bancos pela internet. Contudo, em diversos outros tipos de atividades de comunicação, as pessoas usufruem da anonimidade oferecida pelo computador. O TCG reconhece isto, e tem alegadamente desenvolvido um processo para obter tal anonimidade mas ao mesmo tempo garantir ao outro partido com quem ele ou ela está se comunicando é uma parte confiável. Isto foi feito desenvolvendo um "terceiro partido confiável". Tal entidade irá trabalhar como um intermediário entre o usuário e seu próprio computador e entre o usuário e outros usuários. Nesta redação o foco será no processo recentemente descrito, o atestado remoto.
quando um usuário requer uma chave de atestado de identificação (do inglês AIK: Attestation Identity Key) o usuário deseja que sua chave seja certificada pela autoridade de certificação, AC. O usuário através de um TPM (Módulo de plataforma confiável) enviar três credenciais: uma de chave pública, outra de plataforma e uma última de conformidade. Este conjunto de certificados e chaves criptográficas será referenciada de maneira reduzida como "EK". A EK pode ser dividida em duas partes principais, a parte privada "EKpr" e a parte pública "EKpb". A EKpr nunca deixa o TPM.
A divulgação da parte pública contudo é necessária (versão 1.1). A EKpub irá identificar unicamente a plataforma, o modelo, que tipo de software está sendo usado na plataforma, detalhes do TPM, e que a plataforma cumpre com as especificações do TCG. Se tal informação for comunicada diretamente a outra parte com um processo de obter estado confiável será impossível conseguir uma identidade anônima ao mesmo tempo. Desta forma esta informação é enviada para a autoridade de certificação privada, ou seja, o terceiro partido confiável. Quando o AC (autoridade de certificação privada) recebe a EKpub enviada pelo TPM, ele verificação as informações. Se a informação pode ser verificada a AC irá criar um par de chave AIK secundário e certificado, e envia tal credencial para o requisitor. Isto tem a intenção de prover o usuário com anonimidade. quando o usuário possuir esta nova AIK certificado, ele ou ela pode usá-lo para comunicar-se com outras plataformas confiáveis.