Você está na página 1de 49

MP202 - Segurana da Informao Professor: Ricardo Dahab Tecnologias de hardware para preveno de ataques: processadores inviolveis

Ana Cristina Livino Cabral - RA 961904 Paulo Henrique Nbrega Tavares - RA 898087 29 de novembro de 2003

Contedo
1 Introduo 1.1 Ambientes inseguros ou no conveis . . . . . . . . . . . 1.2 Ameaas . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.2.1 Mquinas desprotegidas . . . . . . . . . . . . . . 1.2.2 Erros de software . . . . . . . . . . . . . . . . . . 1.2.3 Empregados, subcontratados e clientes desonestos 1.2.4 Cpias de segurana e recuperao de desastres . . 1.3 Ambientes hostis . . . . . . . . . . . . . . . . . . . . . . 4 4 5 5 6 6 6 6 8 8 9 10 10 11 11 11 12 12 12 12 12 13 13 13 14 14 14 14 15

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

2 Processadores seguros ou inviolveis 2.1 Arquitetura . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.2 Operao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.3 Como os processadores respondem a ameaas . . . . . . . . . . . 2.3.1 Mquinas e circuitos vulnerveis . . . . . . . . . . . . . . 2.3.2 Erros de software . . . . . . . . . . . . . . . . . . . . . . 2.3.3 Empregados, subcontratados e clientes desonestos . . . . 2.3.4 Cpias de segurana e recuperao de desastres . . . . . . 2.4 Principais aplicaes . . . . . . . . . . . . . . . . . . . . . . . . 2.4.1 Segurana de PKI e aplicaes seguras . . . . . . . . . . 2.4.2 Encriptao segura . . . . . . . . . . . . . . . . . . . . . 2.4.3 Mquinas de pagamento seguras (PIN) e processamento de senhas . . . . . . . . . . . . . . . . . . . . . . . . . . 2.4.4 Autenticao segura de usurios . . . . . . . . . . . . . . 2.4.5 Autoridades Certicadoras . . . . . . . . . . . . . . . . . 2.4.6 Aceleradores de Transaes . . . . . . . . . . . . . . . . 2.4.7 Assinaturas Digitais . . . . . . . . . . . . . . . . . . . . 2.4.8 Informao correta de tempo . . . . . . . . . . . . . . . . 2.4.9 Distribuio de contedo Digital . . . . . . . . . . . . . . 2.5 As famlias de processadores seguros . . . . . . . . . . . . . . . . 2.5.1 Chip Card . . . . . . . . . . . . . . . . . . . . . . . . . . 2.5.2 Personal Tokens . . . . . . . . . . . . . . . . . . . . . . 1

Ana C. L. Cabral e Paulo H. N. Tavares

Processadores inviolveis

2.5.3 2.5.4

Aceleradores criptogrcos . . . . . . . . . . . . . . . . 15 Processador seguro de alto padro . . . . . . . . . . . . . 15 17 17 17 17 18 18 20 20 21 21 21 22 22 23 23 24 24 24 25 25 25 25 26 27 28 28 30 33 33 33 33 33 34 34 35 35

3 Estudo de caso 3.1 Autoridades certicadoras . . . . . . . . . . 3.1.1 Descrio do problema . . . . . . . . 3.1.2 Requisitos da soluo . . . . . . . . . 3.1.3 Soluo utilizando processador seguro 3.1.4 Vantagens . . . . . . . . . . . . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

4 Padronizao e Certicao 4.1 Objetivos Funcionais de Segurana . . . . . . . . . . . . . 4.2 Especicao do mdulo criptogrco . . . . . . . . . . . 4.3 Critrio comum . . . . . . . . . . . . . . . . . . . . . . . 4.3.1 Projeto Modular . . . . . . . . . . . . . . . . . . 4.3.2 Mdulos do Software - Interfaces e procedimentos 4.3.3 Construo Interna . . . . . . . . . . . . . . . . . 4.3.4 Documentao do cdigo . . . . . . . . . . . . . . 4.3.5 Linguagem Assembly . . . . . . . . . . . . . . . . 4.4 Nveis de avaliao de acordo com o Critrio Comum . . . 4.4.1 EAL1 . . . . . . . . . . . . . . . . . . . . . . . . 4.4.2 EAL2 . . . . . . . . . . . . . . . . . . . . . . . . 4.4.3 EAL3 . . . . . . . . . . . . . . . . . . . . . . . . 4.4.4 EAL4 . . . . . . . . . . . . . . . . . . . . . . . . 4.5 Nveis de segurana de acordo com FIPS . . . . . . . . . . 4.5.1 Nvel 1 . . . . . . . . . . . . . . . . . . . . . . . 4.5.2 Nvel 2 . . . . . . . . . . . . . . . . . . . . . . . 4.5.3 Nvel 3 . . . . . . . . . . . . . . . . . . . . . . . 4.5.4 Nvel 4 . . . . . . . . . . . . . . . . . . . . . . . 4.6 Requisitos de segurana . . . . . . . . . . . . . . . . . . . 4.6.1 Segurana fsica de acordo com o FIPS 140-2 . . . 5 Ataques 5.1 Classes de atacantes . . . . . . . . . . . . . . . . . . . . 5.1.1 Classe I (atacantes externos inteligentes) . . . . 5.1.2 Classe II (atacantes internos com conhecimento) 5.1.3 Classe III (Organizaes) . . . . . . . . . . . . . 5.2 Tipos de ataque . . . . . . . . . . . . . . . . . . . . . . 5.2.1 Anlise da potncia . . . . . . . . . . . . . . . . 5.2.2 Anlise do sincronismo . . . . . . . . . . . . . . 5.2.3 Induo a falha . . . . . . . . . . . . . . . . . . 2

. . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

Ana C. L. Cabral e Paulo H. N. Tavares

Processadores inviolveis

5.2.4

Ataque tempestade . . . . . . . . . . . . . . . . . . . . .

36 37 37 37 39 40 40 40 41 42 43 43 44 46

6 Produtos 6.1 IBM 4758 . . . . . . . . . 6.1.1 Arquitetura . . . . 6.1.2 Firmware . . . . . 6.1.3 Software . . . . . 6.2 nCipher . . . . . . . . . . 6.2.1 NForce . . . . . . 6.2.2 payShield . . . . . 6.2.3 netHSM . . . . . . 6.2.4 Key Safe . . . . . 6.3 Rainbow . . . . . . . . . . 6.3.1 CryptoSwift HSM 7 Concluso

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

Captulo 1 Introduo
O propsito geral do trabalho descrever o que so processadores seguros ou inviolveis, algumas de suas caractersticas gerais e aplicaes, mencionando o principal padro existente para avaliao de tais processadores e concluindo com exemplos de processadores comerciais existentes no mercado. HSM (Hardware Security Module) um dispositivo de segurana baseado em hardware que gera, armazena e protege chaves criptogrcas e outras informaes crticas para que no possam ser adulteradas ou roubadas. Geralmente o HSM trabalha em conjunto com aplicaes hospedeiras, como por exemplo, aplicaes para Autoridades Certicadoras que autenticam identidades digitais e protegem as chaves privadas de outras aplicaes, aplicaes para realizar operaes criptogrcas. Muitas vezes o HSM acoplado a um servidor para proteger as informaes importantes e tambm para agilizar as autenticaes do programas ou clientes desse mesmo servidor. Os HSM podem ser aplicados em quase todas as solues que exijam segurana e criptograa, s necessria uma anlise de custos e riscos para se escolher o melhor hardware que se aplica ao problema.

1.1 Ambientes inseguros ou no conveis


provavelmente indiscutvel [13] que a segurana crtica para muitos sistemas nanceiros, de comrcio eletrnico, militares etc. Entretanto, um aspecto frequntemente negligenciado nestes sistemas so as mquinas e dispositivos de armazenamento. Certamente poucos considerariam adequado deixar um pacote de dinheiro sobre o guich enquanto se busca uma guia de depsito, no entanto um computador inseguro pode no ser um lugar muito melhor para deixar o dinheiro. Dados ou algoritmos podem ser modicados e controle sobre os bens pode ser usurpado ou perdido. Por causa desta situao, muitas operaes computacionais e de armazena4

Ana C. L. Cabral e Paulo H. N. Tavares

Processadores inviolveis

mento tm que ocorrer em um ambiente seguro, de forma que as partes que precisam possam conar que as operaes satisfazem algumas propriedades como: A chave privada foi revelada a algum ? Houve uma mudana espria na quantidade de fundos armazenados ? O par de chaves foi gerado aleatoriamente ou de uma forma que pode ter sido prevista por um adversrio ? Os fundos foram transferidos de forma atmica (em uma transao) ou um erro de comunicao criou fundos esprios ? A chave privada gerou somente as assinaturas autorizadas pelo proprietrio ?

1.2 Ameaas
Algumas das ameaas de segurana mais difceis de conter vm de adversrios potenciais com acesso ao hardware ou software que executam uma operao e podem se beneciar de sua eventual alterao, um problema que s aumentou com o crescimento do comrcio eletrnico e a conectividade das mquinas em rede.

1.2.1 Mquinas desprotegidas


Mquinas sicamente desprotegidas so particularmente vulnerveis a ataques, seja por vndalos ou por atacantes mais srios. Qualquer um com acesso a uma mquina pode tentar reinicializ-la, alterar seus arquivos, carregar software falso ou at mesmo roubar a mquina para tentar quebrar a sua segurana em segredo. As recentes tendncias de disponibilizar os servios em qualquer lugar (por exemplo caixas eletrnicos) tm colocado mquinas em ambientes remotos, distantes das localizaes tradicionais seguras (num banco, num centro de computao etc). Estas mquinas so claramente mais vulnerveis a ataques do que aquelas com acesso fsico mais controlado. Circuitos desprotegidos tambm so vulnerveis a ataques. Um atacante com acesso fsico ao circuito pode com relativa facilidade utilizar equipamentos que permitem analisar o trfego de dados em um circuito impresso e observar, por exemplo, chaves que so trocadas entre a memria e os dispositivos de criptograa.

Ana C. L. Cabral e Paulo H. N. Tavares

Processadores inviolveis

1.2.2 Erros de software


Erros de software, sejam intencionais ou no, podem facilmente comprometer a segurana de um sistema. Em um ambiente supostamente seguro (um smart card, por exemplo) em que no h isolamento entre tarefas, uma aplicao com erros pode estragar os dados de outra aplicao (como o saldo restante). Falhas nos sistemas operacionais (e mais recentemente em ambientes de execuo como o do Java) tambm podem levar a graves problemas de segurana.

1.2.3 Empregados, subcontratados e clientes desonestos


Empregados desonestos so um problema particularmente complicado. Como funcionrios, eles tm que ter acesso informao e aos sistemas para fazer o seu trabalho mas freqentemente difcil fazer um controle muito no deste acesso. Por exemplo, um administrador de sistema tem que ter acesso irrestrito a uma mquina para fazer atualizaes de software, cpias de segurana etc. Infelizmente, em muitas mquinas o controle no tem granularidade suciente para permitir isso mas impedir a cpia indevida de arquivos para venda a competidores. No caso dos subcontratados a situao ainda mais difcil porque a sua ligao com a empresa tipicamente muito menor do que a de um empregado regular. Clientes desonestos so ainda menos sujeitos a controle. No possvel despedir um cliente (ou impedir que ele volte) e, como no pode distinguir os honestos dos desonestos, um fornecedor tem que tratar todos os seus clientes com cortesia, sem demonstrar suspeita. Hoje em dia os clientes muitas vezes tm acesso a bases de dados de catlogos, preos e outras informaes potencialmente sensveis que podem ser valiosas para competidores.

1.2.4 Cpias de segurana e recuperao de desastres


O objetivo explcito das cpias de segurana e recuperao de desastres replicar dados crticos em um nmero suciente de lugares de forma a ser possvel a recuperao de qualquer falha nica. Neste caso, o desao proteger esta enorme quantidade de dados de roubo, modicao ou mau uso, especialmente quando as cpias de segurana so armazenadas remotamente, sob a guarda de terceiros (que o que normalmente ocorre).

1.3 Ambientes hostis


Em muitos tipos de aplicao (como por exemplo comrcio eletrnico) todos que tm acesso infraestrutura incluindo o usurio nal podem ser considerados 6

Ana C. L. Cabral e Paulo H. N. Tavares

Processadores inviolveis

adversrios. Neste cenrio todo o ambiente deve ser considerado hostil.

Captulo 2 Processadores seguros ou inviolveis


A seo 1.2 descreveu algumas das ameaas aos sistemas existentes hoje. Um processador inviolvel que tambm pode ser chamado de (co)processador 1 seguro (secure coprocessor) HSMs (High Security Machines ou High Security Modules) essencialmente um dispositivo que tem como objetivo ajudar a enderear aquelas ameaas e permitir a execuo de clculos apesar das tentativas de adulterao perpetradas pelos adversrios. Normalmente so utilizados para armazenar e processar informaes sensveis (chaves, senhas etc). Se as informaes de um banco de dados, por exemplo, estiverem criptografadas adequadamente no necessrio armazenar todas os dados num processador seguro, apenas as chaves que permitem acesso s informaes.

2.1 Arquitetura
A gura 2.1 (extrada de [13] mostra um dispositivo genrico. Uma fronteira segura protege a CPU e a memria. Um subconjunto da memria especicado como seguro. O projeto fsico tem como objetivo assegurar que tentativas de penetrar no dispositivo ou adulter-lo resultar na destruio dos dados da memria segura. Esta memria segura permite aplicaes seguras. Por exemplo, uma chave privada colocada nesta memria permite que o dispositivo atue como uma testemunha convel, j que uma parte remota pode conar que uma mensagem assinada corretamente por esta chave deve ter sido produzida por um dispositivo intacto. Este modelo pode ser estendido para prover segurana para uma aplicao inteira. A eccia de um tal processador como uma ferramenta para construir aplicaes seguras depende da eccia da sua proteo de memria e da sua capacidade
no faremos a distino entre processador e coprocessador neste trabalho, visto que os objetivos e congurao destes so bastante semelhantes
1

Ana C. L. Cabral e Paulo H. N. Tavares

Processadores inviolveis

Figura 2.1: Arquitetura hardware tpica de um processador seguro computacional. Alm disso ele requer algumas propriedades adicionais: executar apenas os programas que deve execut-los sem interferncias permitir que se distinga um programa real de um que tenta se passar por ele, mesmo que o processador seguro esteja a milhares de quilmetros Tipicamente os processadores seguros incorporam criptograa de alto desempenho mas no basta a eles serem processadores criptogrcos j que outras operaes alm de criptograa so executadas l.

2.2 Operao
A operao dos processadores seguros geralmente requer uma senha ou chave para que possam ser programados e para que certas operaes sejam autorizadas. Em alguns casos (e.g. IBM 4758) o prprio processador gera uma chave interna e em outros o fabricante fornece esta chave, que deve ser usada posteriormente para acesso ao dispositivo. Uma discusso maior sobre a inicializao de um dispositivo pode ser encontrada em [14], que enfoca o caso do IBM 4758. Freqentemente os processadores so tambm colocados em um ambiente sicamente seguro, que pode incluir mecanismos sosticados (controles biomtricos, por exemplo) para permitir o acesso fsico ao dispositivo. 9

Ana C. L. Cabral e Paulo H. N. Tavares

Processadores inviolveis

2.3 Como os processadores respondem a ameaas


Disponibilizando poder computacional mas resistindo e reagindo a ataques fsicos, um processador seguro de alto desempenho ideal para prover segurana em ambientes hostis: O processador em um ambiente hostil pode executar a parte da aplicao que deve ser protegida de adversrios O dispositivo sucientemente poderoso para que estas operaes sejam razoavelmente complexas Um atacante que tentar modicar esta operao disparar a resposta intruso Um atacante que desmontar o dispositivo no descobrir nenhum segredo Com um software adequado, um tal dispositivo pode ser uma ferramenta para enderear as ameaas descrita em 1.2. [12] discute em mais detalhes possveis aplicaes para um tal processador. Alguns exemplos de aplicao so mostrados na seo 3.

2.3.1 Mquinas e circuitos vulnerveis


Processadores seguros so projetados para poderem ser colocados em ambientes sicamente expostos. Vndalos podem atacar vontade mas no sero capazes de encontrar segredos dentro dos processadores (se estes forem capazes de responder a tentativas de intromisso ou adulterao). Tampouco sero capazes de carregar software falso no processador. O dispositivo ir apagar os seus segredos e se desligar em caso de tentativa de penetrao no empacotamento resistente a intromisso para descobrir segredos ou interferir na execuo. O projeto de segurana fsica ([14]) geralmente contempla as seguintes possibilidades: evidncia de adulterao (tamper evidence), quando o empacotamento fora a (tentativa de) adulterao a deixar mudanas fsicas indelveis resistncia a adulterao (tamper resistance), quando o empacotamento do dispositivo torna a adulterao difcil deteo de adulterao (tamper detection), quando o dispositivo toma conhecimento da adulterao

10

Ana C. L. Cabral e Paulo H. N. Tavares

Processadores inviolveis

resposta a adulterao (tamper response), quando o dispositivo toma medidas como resposta adulterao A deteo de penetrao sica pode ser feita, por exemplo, atravs de uma rede de condutores envolvendo o dispositivo. Em geral esta rede est recoberta por um outro material semelhante (para dicultar a deteo da rede de proteo) e, nos dispositivos capazes de responder tentativa de adulterao, dispara as operaes apropriadas quando rompida.

2.3.2 Erros de software


Os processadores seguros oferecem isolamento (tanto de hardware quanto de software) entre as aplicaes e entre o sistema operacional e as aplicaes. (Em alguns casos necessrio proteger certas regies de memria at do sistema operacional). Desta forma, uma aplicao executando dentro de um processador seguro no consegue causar dano a outra que esteja no mesmo processador. Nem o sistema operacional consegue danicar o microcdigo ou a sua rea de armazenamento protegida dentro do processador. A ameaa de comprometer a criptograa pode ser tratada pelo suporte em hardware para operaes bsicas (como uma fonte hardware para aleatoriedade) e autenticao da congurao de software.

2.3.3 Empregados, subcontratados e clientes desonestos


Os processadores podem ser usados para vericar os direitos de acesso a dados sensveis tanto dos empregados quanto dos clientes. Alm disso, graas possibilidade de programar o processador, os controles de acesso podem ser razoavelmente complexos como, por exemplo, estabelecer limites de dia, hora, dia da semana etc.

2.3.4 Cpias de segurana e recuperao de desastres


Como tornam possveis a criptograa de dados sensveis em alta velocidade, os processadores podem ser usados para operaes de cpia de segurana. As chaves tambm podem ser armazenadas em mais de um processador seguro ao redor do mundo e acessadas apenas em condies adequadas. Desta forma os empregados nas localidades remotas vem apenas dados criptografados, o texto em claro aparece apenas em uma recuperao autorizada.

11

Ana C. L. Cabral e Paulo H. N. Tavares

Processadores inviolveis

2.4 Principais aplicaes


2.4.1 Segurana de PKI e aplicaes seguras
Com o aumento da demanda por segurana e privacidade, mais e mais aplicaes utilizam criptograa na forma de PKI (Public Key Infrastructure Infraestrutura de Chave Pblica), certicados digitais, assinaturas eletrnicas, encriptao de contedo, conrmao de identidade, autenticao, no repudiao, etc. Ao mesmo tempo em que estas aplicaes de segurana so crticas para proteo da informao, elas mesmas correm risco se so protegidas apenas por software: as chaves condenciais podem ser extradas dos servidores e o software da aplicao pode ser modicado e corrompido. Com um aumento no nmero de aplicaes que esto sendo automatizadas ou colocadas em terminais remotos, essencial no somente que as chaves condenciais estejam seguras dos usurios autorizados, mas tambm que ningum consiga violar o cdigo que controla as aplicaes criticas.

2.4.2 Encriptao segura


Para dados enviados atravs de um canal SSL (Secure Socket Layer) que precisam ser encriptados no seu destino existe o risco de comprometimento destes dados. Anal os dados vo chegar como texto claro no servidor. Existe uma soluo de HSM para ser colocada em uma conexo SSL de modo que os dados j deixem o equipamento corretamente encriptados, no havendo o risco de contaminao ou roubo da informao.

2.4.3 Mquinas de pagamento seguras (PIN) e processamento de senhas


Informaes condenciais so colocadas nesta mquina, como informaes do carto de crdito e da senha dos usurios. muito importante que este tipo de hardware seja seguro e tenha proteo contra roubo de informaes. E as informaes devem ser armazenadas e enviadas criptografadas.

2.4.4 Autenticao segura de usurios


Os servidores que fazem a validao de acesso de usurio a um determinado sistema podem ser facilmente invadidos e as senhas dos usurios capturadas. O ideal utilizar uma soluo HSM para isso, deste modo o HSM pode ter uma cpia encriptada das chaves e atravs de comparao validar ou usurio ou no. E ainda tem-se a garantia que as informaes no sero roubadas ou corrompidas. 12

Ana C. L. Cabral e Paulo H. N. Tavares

Processadores inviolveis

Figura 2.2: Terminal para autenticao segura de usurios

2.4.5 Autoridades Certicadoras


A falha na proteo das chaves privadas da raiz da Autoridade certicadora (que o corao da sua infra-estrutura de PKI), pe em risco toda a infra-estrutura da Autoridade Certicadora. Existem HSMs especcos para serem usados para proteger a integridade das chaves privadas de Autoridades Certicadoras, esses HSMs fornecem solues para PKI e Gerenciamento Avanado de chaves.

2.4.6 Aceleradores de Transaes


Com a expanso das aplicaes PKI a cada nova transao uma requisio de validao feita, isso criou um srio gargalo nas transaes. Existe uma soluo de HSM para prover mais de 20 vezes mais assinaturas por segundo do que um servidor comum e ainda a soluo em HSM tem o compromisso da proteo das chaves privadas, que o servidor no tem. geralmente usado junto com um servidor. Comunicao Segura Uma comunicao segura entre os diversos componentes de uma infra-estrutura empresarial to importante quanto a segurana das aplicaes em si. HSM usado conjuntamente com canais SSL fornece essa segurana necessria.

2.4.7 Assinaturas Digitais


A assinatura digital fornece uma maneira padronizada e garantida de se fazer transaes comercias pela Internet. Este novo tipo de prtica deve envolver equipamentos que garantam que aquela assinatura somente daquele usurio e que esta assinatura no ser roubada. Pode- se usar um HSM na base de dados que armazenar a assinatura e o usurio pode usar um HSM (smart card) para carregar consigo a sua assinatura.

13

Ana C. L. Cabral e Paulo H. N. Tavares

Processadores inviolveis

2.4.8 Informao correta de tempo


O tempo real uma informao vital para vrias aplicaes, como processos bancrios on-line, negociaes de contratos, mercados de aes. Uma informao segura e autntica do tempo pode ser provida por um hardware HSM.

2.4.9 Distribuio de contedo Digital


Um HSM tambm pode ser usado para validar as licenas do usurio, garantir que somente os usurios que possuam a autorizao vo receber o contedo e para garantir a correta criao das licenas.

2.5 As famlias de processadores seguros


Os dispositivos genericamente descritos como processadores seguros podem se enquadrar em diversas categorias e representam compromissos diferentes entre segurana, capacidade computacional e criptogrca e custo. Descrevemos abaixo as principais famlias (de acordo com a taxonomia utilizada em [13]).

2.5.1

Chip Card

O membro menos poderoso da famlia o smart card2 (tambm conhecido com chip card). Um smart card tpico de hoje inclui um pequeno processador de 8 bits, 512 bytes de RAM, 8 Kbytes de ROM, 8 Kbytes de EEPROM e um acelerador de hardware para operaes criptogrcas. Estes dispositivos precisam ser programados na fbrica uma vez que o seu software colocado de forma permanente na ROM quando os chips so fabricados. Como o espao de memria muito limitado o software geralmente feito em linguagem de mquina otimizada. Smart cards oferecem deteo limitada de ataques fsicos. Entretanto, a resposta a estes ataques depende de o dispositivo estar alimentado ou no. A resposta quando o carto est inserido em uma leitora, por exemplo, pode ser muito diferente da resposta a um ataque quando ele est sem alimentao em uma bancada do atacante. Sem alimentao o dispositivo incapaz de apagar os dados sensveis armazenados na EEPROM. Mesmo que haja alimentao apagar os dados em uma janela de tempo limitada pouco provvel ou mesmo impossvel. A proteo contra ataques lgicos limitada. Os processadores nestes cartes geralmente no tm a combinao entre modo supervisor e proteo de hardware para regies de memria, que um elemento essencial para impedir que uma aplicao acesse a memria de outra. Isto normalmente controlado atravs da

14

Ana C. L. Cabral e Paulo H. N. Tavares

Processadores inviolveis

inspeo cuidadosa das aplicaes que coexistiro no mesmo carto. Uma outra limitao a velocidade de entrada e sada da interface serial do carto tipicamente limitada a 9600 bits/segundo. As vantagens principais do carto so o baixo custo, a portabilidade e a robustez fsica.

2.5.2

Personal Tokens

Um Personal Token, como um carto PCMCIA ou smart button o prximo na escala de capacidades de desempenho criptogrco. Em muitos casos simplesmente um reempacotamento de um chip card com mais espao de memria, bateria ou protees maiores. No outro m da escala ele pode ter muitas das caractersticas dos aceleradores criptogrcos e/ou processadores seguros de alto desempenho. Estes cartes so freqentemente resistentes a adulterao e, em alguns casos, tm caractersticas de evidenciar a adulterao ou mesmo responder a ela. O dispositivo tpico capaz de desempenhar funes como autenticao, criptograa de arquivos e armazenado de segredos fora do host. A maioria dos cartes PCMCIA disponveis so dispositivos com funo pr-denida e no so programveis, embora alguns ofeream alguma capacidade de programao quando acordado com o fabricante.

2.5.3 Aceleradores criptogrcos


Os aceleradores criptogrcos tipicamente incluem um microprocessador pequeno (ARM7, por exemplo), uma quantidade razovel de memria (EEPROM de 2 megabytes, RAM de 512K) e chips para incrementar o desempenho critogrco. O propsito principal de tais dispositivos acelerar operaes criptogrcas enquanto oferece um certo grau de proteo fsica s chaves. Esses dispositivos so freqentemente resistentes adulterao mas raramente so capazes de responder a uma tentativa de adulterao. (Por exemplo, o seu empacotamento pode ser difcil de abrir mas no apaga dados sensveis se so abertos) Normalmente no so programveis pelo cliente nal mas podem receber uma programao especial do fabricante para clientes que compram em alto volume.

2.5.4 Processador seguro de alto padro


O dispositivo mais sosticado da famlia um processador de alto desempenho, com um microprocessador poderoso, megabytes de RAM e memria FLASH, chips para incrementar o desempenho criptogrco, relgio para manter a hora

15

Ana C. L. Cabral e Paulo H. N. Tavares

Processadores inviolveis

corrente e um gerador de nmeros aleatrios implementado em hardware, tudo isso em um empacotamento capaz de responder a tentativas de adulterao. As diculdades prticas para construir um tal processador so discutidas em [13].

16

Captulo 3 Estudo de caso


3.1 Autoridades certicadoras
3.1.1 Descrio do problema
Conforme indicado na seo 2.4.5, a segurana da chave crtica para uma autoridade certicadora. A chave privada da autoridade certicadora utilizada para assinar as chaves pblicas dos portadores de certicados e, alm disso, assinar a prpria chave pblica da autoridade certicadora. Se esta chave for comprometida, todos os certicados emitidos pela autoridade tornar-se-o suspeitos e a sua credibilidade ser arruinada. A guarda desta chave uma das principais aplicaes de um processador seguro. Em geral as autoridades certicadoras utilizam equipamentos com certicao FIPS 140-2 nvel 3 ou maior para armazenamento e gerao de chaves.

3.1.2 Requisitos da soluo


Alguns pontos importantes a considerar na montagem de uma infraestrutura para armazenamento de chaves so os seguintes: Gerao de chaves todas as chaves privadas so geradas em um dispositivo seguro ? Armazenamento de chaves todas as chaves privadas so armazenadas em um dispositivo seguro 100% do tempo ? Cpia de segurana de chaves as chaves privadas so copiadas de um dispositivo com segurana FIPS 140-2 nvel 3 para outro dispositivo idntico ? Assinatura de certicados todos os certicados so assinados dentro do dispositivo seguro 100 % das vezes ? 17

Ana C. L. Cabral e Paulo H. N. Tavares

Processadores inviolveis

Trfego da chave raiz o trfego ou cpia de segurana da chave raiz no deve expor a chave em claro Acesso ao mdulo seguro acesso ao mdulo de segurana que armazena a chave deve exigir autenticao forte e/ou controle de acesso compartilhado do tipo m/n, onde m > 2 e n > 4 (por exemplo, 3/5). Segurana fsica ataque fsico ao mdulo deve desabilitar as funes criptogrcas e destruir as chaves.

3.1.3 Soluo utilizando processador seguro


Um processador seguro pode ser usado para armazenar a chave privada raiz mantendo-a segura durante todo o tempo. Este mesmo processador pode comunicarse com outros para receber as chaves pblicas e gerar os certicados sem passar a chave privada em claro para fora do permetro de segurana do processador. Para cpia de segurana o ideal que a chave seja criptografada e dividida em vrios pedaos, de forma que ningum tenha sozinho a posse de todas as partes necessrias para reconstituir a chave caso o processador seguro seja destrudo ou violado.

3.1.4 Vantagens
Uma soluo utilizando processadores seguros apresenta vrias vantagens em relao a uma soluo que considere apenas software e barreiras fsicas: hardware talvez seja menos suscetvel a falhas e adulteraes de sistema como vrus o contedo do dispositivo pode ser copiado para outro dispositivo igualmente seguro, possibilitando a recuperao de falha e mantendo a segurana pode-se exigir uma senha para ativar a chave privada, o que aumentaria a segurana do mdulo hardware prov segurana melhor do que meios de armazenamento removveis, como tas, disquetes etc o custo de barreiras fsicas (cofres, entradas seguras etc) pode ser proibitivo para utilizaes em autoridades certicadoras menores (de uma universidade, por exemplo)

18

Ana C. L. Cabral e Paulo H. N. Tavares

Processadores inviolveis

cpias de segurana da chave podem levar existncia de cpias mltiplas e no-controladas da chave, no havendo como assegurar que a chave no foi copiada indevidamente o hardware pode ser usado para controlar quantas cpias das chaves existem e onde elas se encontram. A gura 3.1 (extrada de [10]) mostra a diferena entre as duas alternativas:

Figura 3.1: criptograa baseada em hardware versus software importante lembrar tambm que como em qualquer situao, a utilizao de prticas organizacionais adequadas to importante quanto os mecanismos de segurana oferecido pelo hardware e software.

19

Captulo 4 Padronizao e Certicao


O documento Requisitos de segurana para mdulos criptgracos ([11]), que faz parte do conjunto de padres do FIPS (Federal Information Processing Standard) emitidos pelo NIST (National Institute of Standards and Technology) tambm conhecido como FIPS 140-2 a forma mais utilizada para avaliao de segurana de mdulos criptogrcos. O Critrio Comum (Common Criteria) ([8]) um padro para avaliao de segurana de tecnologia da informao que foi desenvolvido conjuntamente por vrios pases (Alemanha, Canad, Estados Unidos, Frana, Holanda, Reino Unido) e est alinhado com a norma ISO 15408:1999. Vrios aspectos do FIPS 140-2 esto baseados no Critrio Comum

4.1 Objetivos Funcionais de Segurana


De acordo com o FIPS ([11]), os objetivos de segurana para um mdulo criptogrco so: Empregar e implementar corretamente as funes de segurana para a proteo de informao sensvel Proteger um mdulo criptogrco de uso ou operao no autorizados Evitar a revelao no autorizada dos contedos do mdulo criptogrco, incluindo chaves criptogrcas em claro e CSPs (Critical Security Parameters - Parmetros Crticos de Segurana). Evitar a modicao no autorizada e no detectada do mdulo criptogrco e algoritmos criptogrcos, incluindo a modicao, substituio, insero e remoo de chaves criptogrcas e CSPs. Fornecer indicaes do estado operacional do mdulo criptogrco 20

Ana C. L. Cabral e Paulo H. N. Tavares

Processadores inviolveis

Assegurar que os mdulos criptogrcos operem apropriadamente quando funcionando em um modo de operao aprovado. Detectar erros na operao dos mdulos criptogrcos e evitar o comprometimento de dados sensveis e CSPs resultantes desses erros.

4.2 Especicao do mdulo criptogrco


Para [11] um mdulo criptogrco deve ser um conjunto de hardware, software, rmware, ou de alguma combinao que implemente funes criptogrcas ou processos, incluindo algoritmos criptogrcos e, opcionalmente, gerao de chave e estejam contidos dentro de um limite criptogrco denido. Um mdulo criptogrco deve executar ao menos uma funo aprovada de segurana usada em um modo de operao aprovada. As funes de segurana no aprovadas podem tambm ser includas para o uso em modos de operao no aprovados. O operador deve ser capaz de determinar quando um modo de operao aprovada selecionado. Para os nveis 1 e 2 de segurana, a poltica de segurana do mdulo criptogrco pode especicar quando um mdulo criptogrco est executando em um modo de operao aprovada. Para os nveis 3 e 4 de segurana, um mdulo criptogrco deve indicar quando um modo de operao aprovado selecionado. Um limite criptogrco consistir em um permetro explicitamente denido que estabelea os limites fsicos de um mdulo criptogrco. Se um mdulo criptogrco tiver componentes de software ou rmware, o limite criptogrco deve conter o processador e outros componentes de hardware que armazenam e protegem os componentes de software e rmware. O hardware, o software, e o rmware de um mdulo criptogrco podem ser excludos das exigncias deste padro se estes componentes no afetam a segurana do mdulo.

4.3 Critrio comum


As principais recomendaes do critrio comum esto descritas nas sees a seguir.

4.3.1 Projeto Modular


Um projeto modular recomendado, especialmente para softwares desenvolvidos em larga escala. Cada mdulo do software deve ter interfaces lgicas e bem denidas que possam ser prontamente compreendidas. 21

Ana C. L. Cabral e Paulo H. N. Tavares

Processadores inviolveis

Os componentes do software devem ser construdos usando os princpios de abstrao dos dados. Se possvel, usar uma linguagem de alto nvel, orientada a objetos, que suporte a construo de tipos de dados abstratos. O software deve ser estruturado hierarquicamente em vrias camadas.

4.3.2 Mdulos do Software - Interfaces e procedimentos


As entradas para um software modular ou um procedimento devem utilizar chamadas em rotinas explicitamente denidas na interface. Cada procedimento deve ter somente um ponto de entrada e pelo menos dois pontos de sada, um para sadas normais e um para sadas de erro. Os dados que precisam ser transmitidos entre os mdulos do software ou entre procedimentos devem ser transmitidos com o uso de listas de argumento e/ou valores de retorno explcitos. Variveis globais no devem ser usadas entre os procedimentos exceto onde for necessrio para a implementao de tipos de dados abstratos. Os valores da entrada devem ser vericados para ver se h erros de escala de modo que se forem invlidos o programa retorne uma mensagem de erro e nenhum dano mais grave possa ser causado.

4.3.3 Construo Interna


Cada procedimento deve executar somente uma nica funo bem denida. O uxo de controle usando um nico thread deve ser denido usando somente condicionais para programao estruturadas (por exemplo, if-thenelse ou case) e construes de laos para programao estruturada (por exemplo, while-do ou repeat-until). Se a execuo simultnea for implementada (por exemplo, mltiplos threads, tarefas, ou processos), os componentes do software devem ter limites bem denidos para o grau mximo de concorrncia permitido e devem usar construes estruturadas para sincronizao e controle de acesso dos dados compartilhados. A equivalncia das variveis no deve ser usada de modo a no permitir o uso mltiplo da memria. Desse modo evitam-se conitos entre mltiplos processos. 22

Ana C. L. Cabral e Paulo H. N. Tavares

Processadores inviolveis

A anlise e o parser so mecanismos que devem ser implementados para se ter uma proteo contra requisies malformadas, fora da escala ou buffer overow da entrada ou sada.

4.3.4 Documentao do cdigo


Cada mdulo, procedimento, e estruturas principais do software devem ser documentados especicando as funes executadas junto com a especicao (formal ou informal) de todas as pr-condies e ps-condies. Cada lao deve ser precedido por um argumento que explique o critrio de parada. Os nomes das variveis devem ser usados somente dentro do mesmo procedimento onde elas foram declaradas. Cada varivel deve ter um comentrio associado a ela para identicar a sua nalidade e a escala de valores permissveis, incluindo se a escala for irrestrita. Se a concorrncia for implementada, a documentao deve especicar quais os limites e o grau mximo permitido de concorrncia e como os acessos aos dados compartilhados so sincronizados a m de evitar erros durante a execuo.

4.3.5 Linguagem Assembly


As seguintes prticas de programao devem ser usadas quando a implementao est na linguagem assembly: Todo o cdigo deve ter posio independente no ser onde a segurana, a ecincia, ou os requisitos de hardware exijam dependncia da posio. Todas as referncias aos registradores devem usar nomes simblicos para eles. Cdigos auto-modicveis no devem ser usados. Todos os procedimentos devem ser responsveis por salvar e restaurar o contedo dos registradores que forem usados dentro do procedimento. As instrues de transferncia de controle no devem usar nmeros literais. Cada unidade deve conter os comentrios que descrevem qual registrador est sendo usando na unidade. 23

Ana C. L. Cabral e Paulo H. N. Tavares

Processadores inviolveis

4.4 Nveis de avaliao de acordo com o Critrio Comum


De acordo com o Critrio Comum ([8]), o Alvo da Avaliao (TOE Target of Evaluation) a parte de um produto ou sistema que alvo de avaliao. A segurana TOE cuida dos objetivos, requisitos e especicao das funes de segurana de um produto. Toda esta documentao junta gera o Alvo da Segurana ou ST (Security Target) e este documento usado pelos auditores como base para fazer uma auditoria de segurana sobre um determinado produto.

4.4.1 EAL1
EAL1 aplicvel onde alguma conana em uma operao segura requerida, mas as ameaas segurana no so vistas como srias. EAL1 fornece um nvel bsico de garantia atravs da anlise das funes de segurana usando uma especicao funcional das interfaces e documentao do comportamento seguro do produto. Para produtos certicados com nvel EAL1 que contm criptograa, uma avaliao criptogrca completa no foi feita. Para estes produtos, o mnimo avaliado que os algoritmos criptogrcos usados no produto so apropriados, entretanto, a exatido de sua implementao no foi avaliada. A avaliao EAL1 fornece um aumento signicativo na garantia do produto se comparado com um produto ou sistema no avaliado. Entretanto, EAL1 no mais do que um exame de vericao do produto que requer um mnimo de documentao.

4.4.2 EAL2
EAL2 aplicada nas circunstncias onde os desenvolvedores ou usurios precisam de um nvel moderado de segurana assegurada, mesmo quando eles no dispem da documentao completa sobre o desenvolvimento. Tal situao pode ser aplicada a sistemas legados ou onde o acesso ao desenvolvedor pode ser limitado. EAL2 fornece garantia atravs da anlise das funes de segurana, usando uma especicao funcional, a especicao da interface, a documentao guia do produto e a documentao alto nvel do TOE. Com esses documentos pode-se fazer uma anlise do comportamento seguro do produto. Este nvel de EAL fornece um aumento signicativo na garantia do EAL1 devido a exigncia de testes durante o desenvolvimento, uma anlise de vulnerabilidade e testes independentes baseados nas especicaes mais detalhadas TOE.

24

Ana C. L. Cabral e Paulo H. N. Tavares

Processadores inviolveis

4.4.3 EAL3
EAL3 aplicvel naquelas circunstncias onde os desenvolvedores ou usurios precisam de um nvel moderado de segurana e exigem uma investigao completa do TOE e do desenvolvimento do produto sem o uso de reengenharia. EAL3 fornece garantia atravs da anlise das funes de segurana, usando uma especicao funcional, a especicao da interface, a documentao guia do produto e a documentao alto nvel do TOE. Com esses documentos pode-se fazer uma anlise do comportamento seguro do produto. Este nvel de EAL fornece um aumento signicativo na garantia do EAL2 devido a exigncia da cobertura completa de todas as funes de segurana e dos mecanismos e/ou procedimentos que fornecem garantia de que o TOE no sofrer violao ou adulterao durante o desenvolvimento.

4.4.4 EAL4
EAL4 aplicvel naquelas circunstncias onde os desenvolvedores ou usurios precisam de um nvel elevado de segurana nos TOE convencionais do produto e podem exigir segurana adicional no coberta nos aspectos da segurana dos TOEs. EAL4 fornece garantia atravs da anlise das funes de segurana, usando uma especicao funcional, a especicao da interface, a documentao guia do produto e a documentao alto nvel do TOE. Alm desses documentos uma analise da poltica de segurana e do modelo informal do TOE tambm exigida. Este nvel de EAL fornece um aumento signicativo na garantia do EAL3 exigindo uma descrio detalhada do projeto, um subconjunto da implementao e os mecanismos e/ou procedimentos melhorados que fornecem a garantia de que o TOE no ser alterado ou violado durante o desenvolvimento ou a entrega.

4.5 Nveis de segurana de acordo com FIPS


As sees a seguir descrevem os nveis de segurana de acordo com o padro FIPS ([11]).

4.5.1 Nvel 1
O nvel 1 fornece o nvel mais baixo de segurana. As exigncias bsicas de segurana so especicadas para um mdulo criptogrco (por exemplo, ao menos um algoritmo aprovado ou uma funo de segurana aprovada devem ser usados). Nenhum mecanismo fsico especco de segurana obrigatrio em um mdulo 25

Ana C. L. Cabral e Paulo H. N. Tavares

Processadores inviolveis

criptogrco de nvel 1 alm da exigncia bsica para componentes de produo em srie. Um exemplo de mdulo criptogrco com nvel 1 uma placa de encriptar para PC. O nvel 1 permite a componentes de software e rmware de um mdulo criptogrco serem executados em um sistema computacional de propsito geral que usa um sistema operacional no avaliado. Esta implementao pode ser apropriada para algumas aplicaes que necessitem de baixo nvel de segurana quando outros controles, tais como segurana fsica, segurana de rede, e procedimentos administrativos so limitados ou inexistentes. A implementao de um software criptogrco pode ser uma soluo mais vivel economicamente nestes casos do que uma soluo baseada em hardware. A soluo de software criptogrco permite as organizaes uma soluo barata para sistemas que no necessitem de altos nveis de segurana.

4.5.2 Nvel 2
O nvel 2 melhora os mecanismos fsicos de segurana de um mdulo criptogrco de nvel 1 adicionando o requisito de evidncia de intruso no sistema. Isto inclui o uso de revestimentos ou de selos que evidenciem a violao e tambm o uso de travas que dicultem toda e qualquer remoo de tampas ou portas removveis do mdulo. Os revestimentos e selos que evidenciam a violao so colocados em um mdulo criptogrco de modo que o revestimento ou o selo possa ser quebrado para se ter acesso fsico s chaves criptogrcas e aos parmetros crticos de segurana (CSPs) dentro do mdulo. Os selos e os fechamentos que evidenciam a intruso so colocados nas tampas ou nas portas para proteger o mdulo de um acesso fsico no autorizado. O nvel 2 requer, no mnimo, a autenticao baseada em papis onde o mdulo criptogrco autentica a autorizao de um operador. Desse modo cada usurio do modulo s pode executar as funes autorizadas para o seu papel. O nvel 2 permite a componentes de software e rmware de um mdulo criptogrco serem executados em um sistema computacional de propsito geral que: Atende as exigncias funcionais especicadas nos Pers de Proteo (PP) do Critrio Comuns (CC). avaliado pelo CC no nvel de garantia EAL2 ou superior. Usa um sistema operacional avaliado que possui segurana equivalente. Um sistema operacional convel prov um nvel de conana de modo que os mdulos criptogrcos que executam nestas plataformas computacionais

26

Ana C. L. Cabral e Paulo H. N. Tavares

Processadores inviolveis

sejam comparveis aos mdulos criptogrco que executam em sistemas de hardware dedicados.

4.5.3 Nvel 3
Alm dos mecanismos fsicos de evidncia de intruso requeridos no nvel 2, o nvel 3 tenta impedir que o intruso ganhe acesso aos parmetros crticos de segurana (CSPs - Critical Security Parameters) que cam escondidos dentro do mdulo criptogrco. Os mecanismos fsicos de segurana requeridos no nvel 3 devem ter uma probabilidade elevada de detectar e de responder s tentativas de acesso, uso ou na modicao fsica do mdulo criptogrco. Os mecanismos fsicos de segurana podem incluir o uso de vedaes fortes e de circuitos que respondam a tentativas de intruso ou modicao. Estes circuitos quando detectam a intruso tem como funo zerar ou destruir os CSPs. O nvel 3 requer mecanismos de autenticao baseados em identicao, isso aumenta a segurana fornecida pelos mecanismos de autenticao baseados em papeis especicados para o nvel 2. O mdulo criptogrco autentica a identidade de um operador e depois verica que o operador identicado est autorizado a desempenhar um papel especco o que corresponde a algumas funes e servios que ele pode executar. O nvel 3 requer que a entrada ou a sada dos parmetros CSPs (esses parmetros saem em texto claro, ou seja, no criptografados) seja executada usando portas que so separadas sicamente das outras portas, ou interfaces que so separadas logicamente das outras interfaces e que usam um trajeto convel. Os parmetros CSPs em texto claro podem ser incorporados ou retirados do mdulo criptogrco de modo encriptado (neste caso podem viajar atravs de sistemas fechados ou protegidos). O nvel 3 permite componentes de software e rmware de um mdulo criptogrco serem executados em um sistema computacional de propsito geral onde: O Sistema atende as exigncias funcionais especicadas no critrio comum mais a exigncia extra de um trajeto convel (FTA_TRP.1 Trusted Path) signica que os dados possam passar por este caminho sem serem observados por outras partes do sistema. O Sistema avaliado no nvel EAL3 da garantia do Critrio Comum. O Sistema atenda a exigncia adicional (ADV_SPM.1 Security policy modeling) do TOE.

27

Ana C. L. Cabral e Paulo H. N. Tavares

Processadores inviolveis

Um sistema operacional convel pode ser usado. Deve somente ter um trajeto convel para proteger os parmetros CSPs em modo claro e os componentes do mdulo criptogrco devem estar protegidos contra o software ou o rmware que no sejam conveis.

4.5.4 Nvel 4
O nvel 4 fornece o nvel mais elevado de segurana denido neste padro. Neste nvel de segurana, os mecanismos fsicos de segurana fornecem um envelope de proteo completo em torno do mdulo criptogrco com a inteno de detectar e de responder a todas as tentativas no autorizadas de acesso fsico. A penetrao do cerco do mdulo criptogrco tem uma probabilidade muito elevada de ser detectada, tendo por resultado a remoo imediata (todos os parmetros so zerados) dos valores dos parmetros CSPs em modo claro. Os mdulos criptogrcos de nvel 4 so teis para a operao em ambientes sicamente desprotegidos. O nvel 4 tambm protege o mdulo criptogrco contra as variaes das condies ambientais ou contra utuaes de temperatura e voltagem fora da escala de operao normal do mdulo. Estas incurses intencionais fora das escalas normais podem ser usadas por um atacante para derrubar as defesas de um mdulo criptogrco. Para um mdulo criptogrco de nvel 4 requerido incluir caractersticas especiais de proteo projetadas para detectar utuaes e condies climticas rigorosas. Este mdulo deve ter proteo e no caso de ser submetido a uma situao extrema as informaes dos CSPs devem ser apagadas como acontece no caso de intruso. O nvel 4 permite a componentes de software e rmware de um mdulo criptogrco serem executados em um sistema computacional de propsito geral onde: O sistema atende todas as exigncias pro nvel 3. Atende as exigncias do nvel EAL4 do CC.

4.6 Requisitos de segurana


Os requisitos de segurana cobrem as reas relacionadas ao projeto e implementao de um mdulo criptogrco. Estas reas incluem: A especicao do mdulo criptogrco; 28

Ana C. L. Cabral e Paulo H. N. Tavares

Processadores inviolveis

As portas e as interfaces do mdulo; Papis, servios, e autenticao; Modelo de estado nito; Segurana fsica; Ambiente operacional; Gerncia de chave criptogrca; Compatibilidade a interferncias eletromagntica (EMI/EMC); Testes e garantia do projeto. A tabela abaixo sumariza as exigncias de segurana em cada uma destas reas (MC signica Mdulo Criptogrco): Tabela 4.1: Resumo das exigncias de segurana do padro FIPS 140-2
Especicao do MC Portas e Interfaces do MC Nvel 1 Nvel 2 Nvel 3 Nvel 4 Especicao do MC, fronteiras Criptogrcas, Algoritmos aprovados e modos aprovados de operao. Descrio do MC incluindo todos os mdulos de hardware, rmware e software. Especicao de todas as interfaces Portas de Dados para parmetros e de todos os caminhos de entrada e crticos de segurana devem ser seda sada de dados. parados sicamente das outras portas de dados. Separao lgica Autenticao de Autenticao de operadores basede papis e servi- operadores base- ada em identidade. os requeridos e ada em papis ou opcionais. identidade. Especicao do modelo de estados nitos. Estados requeridos e estados opcionais. Indique o diagrama de transio e a especicao de transies de estado. Equipamento Co- Revestimentos ou Deteco de vio- Deteco de viomum. selos que eviden- lao e resposta a lao e resposta ciem a violao. violao. a violao. Envelopamento das chaves criptogrcas. Proteo eletromagntica, contra variao de temperatura e tenso.
continua na prxima pgina

Papis, servios e autenticao

Modelo de Estados Finitos Segurana Fsica

29

Ana C. L. Cabral e Paulo H. N. Tavares

Processadores inviolveis

continuao da pgina anterior

Ambiente Operacional

Gerenciamento de Chave Criptogrca

EMI/EMC Auto testes

Garantia Projeto

Do

Proteo contra ataques

Nvel 1 Nvel 2 Nvel 3 Nvel 4 Operador nico. AEL2 meca- AEL3 mais mo- AEL4 mais camiCdigo execu- nismo de controle delo de poltica nho seguro. tvel. Tcnica de acesso. de segurana. aprovada de integridade. Mecanismos de gerncia de chaves: gerao do nmero aleatrio e da chave, estabelecimento de chave, distribuio da chave, entrada e sada da chave, armazenamento da chave, e remoo da chave em caso de intruso. As chaves secretas e condenciais As chaves secretas e condenciais estabelecidas usando mtodos maestabelecidas usando mtodos manuais podem ser inseridas ou retiranuais podem ser inseridas ou retiradas no formato de texto claro. das cifradas ou com procedimentos de diviso do conhecimento. 47 CFR FCC Parte 15. Sub parte B, 47 CFR FCC Parte 15. Sub parte B, Classe A (Uso Comercial). Classe B (Uso Caseiro). Testes de potncia, testes do algoritmo de criptograa, testes de integridade do software e rmware, testes das funes crticas e testes condicionais. Gerncia de Sistema CM. Distribuio Modelo formal. congurao CM Segura , especi- Explicaes Gerao e inscao funcional detalhadas (protalao seguras. Implementao vas informais). Projeto e policia em linguagens de Pr-condies e correspondente. alto nvel. ps-condies. Documentos que garantam o projeto. Especicao e proteo contra ataques para os requisitos disponveis.

4.6.1 Segurana fsica de acordo com o FIPS 140-2


Um mdulo criptogrco deve utilizar mecanismos fsicos de segurana para impedir o acesso fsico no autorizado ao contedo do mdulo e deter o uso ou modicao no autorizados do mdulo (substituies, inclusive do mdulo inteiro) quando instalado. Todo o hardware, software, rmware, e componentes de dados dentro do limite criptogrco devem ser protegidos. Um mdulo criptogrco que implementado completamente em software de modo que a segurana fsica feita unicamente pela plataforma do hardware utilizado no atende s exigncias fsicas de segurana deste padro. As exigncias fsicas de segurana so especicadas para trs tipos de mdulo criptogrco:

30

Ana C. L. Cabral e Paulo H. N. Tavares

Processadores inviolveis

Mdulos criptogrcos com um nico chip: so os equipamentos fsicos onde um CI (circuito integrado) pode ser usado como um dispositivo autnomo ou pode ser encaixado dentro de um dispositivo ou de um produto que no possa ser sicamente protegido. Os exemplos mais conhecidos desse tipo de mdulo criptogrco com um nico chip so os Smart Cards. Mdulos criptogrcos com mltiplos chips embutidos: so os equipamentos fsicos onde dois ou os mais CIs so interconectados e encaixados dentro de uma proteo ou de um produto que no possa ser sicamente protegido. Os exemplos mais conhecidos desse tipo de mdulo incluem adaptadores e placas de expanso. Mdulos criptogrcos autnomos com mltiplos chips: so os equipamentos fsicos onde dois ou os mais CIs so interconectados e tudo isso protegido sicamente. Os exemplos mais conhecidos desse tipo de mdulo incluem roteadores criptogrcos ou rdios seguros. Na tabela 4.2 mostrado um resumo do requisitos de segurana para os diversos tipos de modulo criptogrco baseado nos nveis de segurana: No geral, o nvel 1 requer a proteo fsica mnima. O nvel 2 requer a adio de mecanismos que evidenciem a intruso. O nvel 3 adiciona exigncias de uso de revestimentos e selos fortes com mecanismos de deteco e de resposta intruso. O nvel 4 adiciona exigncias de uso de cercos fortes com mecanismos de deteco e de resposta a intruso. A proteo ambiental(EFP) e a contra voltagem(EFT) so requeridas no nvel 4.

31

Ana C. L. Cabral e Paulo H. N. Tavares

Processadores inviolveis

Nvel 1

Nvel 2

Requisitos Gerais para todos os tipos de Equipamentos Componentes de produo. Devem seguir os padres de segurana. Selos e revestimentos que evidenciem intruso.

MC chip

nico

MC mltiplos chips embutidos

MC mltiplos chips autnomos

Sem requisito adicional.

Revestimento opaco no chip. Deve evidenciar qualquer violao ocorrida.

Nvel 3

Revestimentos de proteo e reposta a intruso com parmetros sendo zerados no caso de violao. Proteo contra descargas eletromagnticas e variaes de potncia e temperatura.

Revestimento no chip. Muito forte, deve tentar impedir a violao.

Se aplicvel cobertura do circuito ou revestimento removvel. Revestimento opaco no produto, deve evidenciar violao, possuir selos e travas resistentes nas portas. Deteco e resposta a intruso, incluindo a zeragem dos valores e chaves criptogrcas.

Proteo e revestimento do produto.

Nvel 4

Revestimento que impea a remoo do chip do produto.

Deteco e resposta a intruso , incluindo a zeragem dos valores e chaves criptogrcas.

Revestimento opaco no produto, deve evidenciar violao, possuir selos e travas resistentes nas portas. Revestimento opaco no produto, se o revestimento for quebrado/violado isso deve causar srio dano ao produto. Revestimento resistente, resposta a intruso, zeragem dos valores e chaves criptogrcas. Revestimento resistente a variao de temperatura e voltagem.

Tabela 4.2: Resumo das exigncias de segurana fsica do padro FIPS 140-2 32

Captulo 5 Ataques
5.1 Classes de atacantes
Utilizando a taxonomia proposta em [3] podemos distribuir as classes de adversrios em trs categorias, de acordo com as habilidades esperadas e a fora dos ataques de cada uma.

5.1.1 Classe I (atacantes externos inteligentes)


Estes so freqentemente muito inteligentes mas talvez tenham um conhecimento insuciente do sistema. Tambm pode ser que tenham acesso apenas a equipamentos pouco sosticados. Freqentemente buscam tirar vantagem de fraquezas existentes no sistema em vez de cri-las.

5.1.2 Classe II (atacantes internos com conhecimento)


Eles tm bastante conhecimento tcnico especializado. O grau de entendimento das partes do sistema varivel mas tm acesso maior parte dele. Freqentemente tm acesso a ferramentas e instrumentos de anlise altamente sosticados

5.1.3 Classe III (Organizaes)


Elas so capazes de reunir times de especialistas com habilidades relacionadas e complementares lastreados em grandes recursos de nanciamento. So capazes de anlise profunda do sistema, projetando ataques sosticados usando as ferramentas mais sosticadas existentes. Talvez usem adversrios da classe II como parte do time de ataque. Algumas possibilidades de ataque por adversrios desta classe so:

33

Ana C. L. Cabral e Paulo H. N. Tavares

Processadores inviolveis

Ataques dirigidos ao hardware onde os dados sensveis so guardados. Um ataque bem-sucedido passa ao largo de todos os controles de software e revela diretamente as chaves criptogrcas ou permite que dados sejam alterados. Falsicao e simulao de hardware substituem o hardware (e talvez algum software especializado) por outro que capaz de subverter o controle de software e permitir acesso no-autorizado ao sistema. Escuta o processo pelo qual dados sensveis so obtidos atravs de sinais que irradiam de vrios pontos do sistema.

5.2 Tipos de ataque


Os mdulos criptogrco podem ser suscetveis a muitos tipos de ataques que no eram conhecidos quando o produto foi desenvolvido ou quando os padres utilizados para medir a sua segurana foram desenvolvidos [11, 4.11]. Alguns dos ataques para os quais testes so geralmente realizados incluem: anlise de potncia, anlise de sincronismo e induo a falha. A suscetibilidade de um mdulo criptogrco a ataques depende do tipo do mdulo, da implementao, e do ambiente da execuo. Tais ataques podem ser aplicveis principalmente aos mdulos criptogrcos que se localizam em ambientes hostis (por exemplo, onde os atacantes podem ser os operadores autorizados do mdulo). Tais tipos de ataques geralmente se baseiam na anlise das informaes obtidas de fontes externas ao mdulo. Em todos os casos, os ataques tentam determinar alguma informao sobre as chaves e os parmetros CSPs que cam dentro do mdulo criptogrco. Os tipos de ataque mais comuns esto descritos de forma genrica nas sees a seguir. [4] cita exemplos de ataques a vrios tipos de processadores especcos.

5.2.1 Anlise da potncia


Os ataques baseados na anlise do consumo de potncia podem ser divididos em duas categorias gerais: na Anlise Simples da Potncia (SPA) e na Anlise Diferencial da Potncia (DPA). O SPA envolve uma anlise (primeiramente visual) direta dos padres do consumo de potncia eltrica e do tempo gasto na execuo das instrues individuais realizadas por um mdulo criptogrco durante um processo criptogrco. Os padres so obtidos atravs da monitorao das variaes no consumo de potncia eltrica de um mdulo criptogrco e tm a nalidade de revelar as caractersticas

34

Ana C. L. Cabral e Paulo H. N. Tavares

Processadores inviolveis

e as execues dos algoritmos e subseqentemente de valores criptogrcos das chaves criptogrcas. O DPA tem os mesmos objetivos mas utiliza mtodos estatsticos avanados e outras tcnicas para analisar as variaes do consumo de potncia eltrica de um mdulo criptogrco. Os mdulos criptogrcos que utilizam fontes de potncia externa (corrente direta) so os que correm maior risco. Os mtodos que podem reduzir o risco total de ataques por anlise da potncia incluem o uso de capacitores para nivelar o consumo de potncia, o uso de fontes de Potncia internas, e a nivelao da taxa de potncia das operaes individuais dos algoritmos ou dos processos durante os processos criptogrcos.

5.2.2 Anlise do sincronismo


Os ataques de anlise do sincronismo so baseados em medir o tempo requerido por um mdulo criptogrco para executar as operaes matemticas especcas associadas com o algoritmo ou com o processo criptogrco. A informao do sincronismo coletada analisada para determinar o relacionamento entre as entradas do mdulo e as chaves criptogrcas usadas pelos algoritmos ou pelos processos subjacentes. A anlise do relacionamento pode ser usada para explorar as medidas de sincronismo para revelar a chave criptogrca ou os parmetros CSPs. Os ataques de sincronismo supem que o atacante tem o conhecimento do projeto do mdulo criptogrco. A manipulao das operaes individuais dos algoritmos ou dos processos para reduzir utuaes do sincronismo durante o processo um mtodo para reduzir o risco deste ataque.

5.2.3 Induo a falha


Os ataques de induo a falha utilizam foras externas tais como microondas, extremos de temperatura, e manipulao de alta tenso para causar erros no processamento dentro do mdulo criptogrco. Uma anlise destes erros e de seus padres pode ser usada em uma engenharia reversa para se descobrir determinadas caractersticas da execuo e dos algoritmos criptogrco e subseqentemente de revelar os valores das chaves criptogrcas. Os mdulos criptogrco com segurana fsica limitada so os que correm maior risco. A seleo apropriada de caractersticas fsicas de segurana pode ser usada para reduzir o risco deste ataque.

35

Ana C. L. Cabral e Paulo H. N. Tavares

Processadores inviolveis

5.2.4 Ataque tempestade


Os ataques de tempestade envolvem a deteco e a coleo dos sinais eletromagnticos emitidos pelo mdulo criptogrco. Tal ataque pode ser usado para se obter a informao de teclas, as mensagens que so mostradas no monitor do equipamento e toda e qualquer informao crtica de segurana que possa ser coletada. O mecanismo usado para reduzir o risco de tal ataque uma proteo especial de todos os componentes do mdulo, inclusive cabos de rede. Uma boa proteo que em alguns casos, impede a emisso de sinais eletromagnticos a melhor maneira de se evitar este tipo de ataque.

36

Captulo 6 Produtos
6.1 IBM 4758
O desenvolvimento do coprocessador seguro IBM 4758 teve como meta uma plataforma de prposito geral que possa ser utilizada por terceiros para o desenvolvimento de aplicaes seguras sem o envolvimento da IBM. Para isto os seguintes objetivos foram buscados: Assegurar que fosse possvel identicar externamente o contedo do dispositivo usando alguma forma de interface de chave pblica (PKI) Projetar o dispositivo e seu software de forma que ele pudessse ser congurado e atualizado de forma segura em campo Construir a arquitetura de software de forma a acomodar camadas de cdigo de fontes diferentes, que podem ou no conar umas nas outras Evitar que o comprometimento de um dispositivo quebrasse a segurana de outro Validar todas essas armativas atravs de uma entidade externa

6.1.1 Arquitetura
A gura 6.1 (extrada de [7]) mostra a arquitetura de hardware do IBM 4758. Resistncia a adulterao O 4758 responde a tentativas de adulterao atravs de hardware, zerando rapidamente os seus segredos e executando uma mudana de estado do coprocessador 37

Ana C. L. Cabral e Paulo H. N. Tavares

Processadores inviolveis

Figura 6.1: Arquitetura de hardware do IBM 4758 sem a necessidade de interveno do software. Esta abordagem tem a vantagem da velocidade e conabilidade. RAM alimentada por bateria O 4758 tem dois tipos de armazenamento alimentados por bateria. O sistema operacional do coprocessador gerencia BBRAM (Battery-backed RAM ), que protege os segredos de software. A LBBRAM (Lockable battery-backed RAM ) protege os segredos de rmware e s pode ser acessada atravs de um processador guardio que mantm o estado de travamento. Uma tentativa de adulterao zera toda a rea de armazenamento alimentada por bateria do 4758. Travas (locks) Travas em hardware tornam reas de memria ash de leitura e reas de LBBRAM totalmente inacessves. Um processador guardio separado controla as travas, que so impelementadas atravs de lingetas (ratchets) de um nico sentido que s podem ser destravadas reinicializando o processador. Este projeto prov a hierarquia de conana e assegura que s rmware ou software autorizado pode modicar o cdigo a ser executado e que se algum nvel contm cdigo adulterado este pode ser corrigido e vericado. O projeto de conana prev que aps a inicializao o dispositivo passa por fases diversas em que o nvel de conana decresce, limitando, portanto, o nvel 38

Ana C. L. Cabral e Paulo H. N. Tavares

Processadores inviolveis

de estrago que pode acontecer em tempo de execuo. A desvantagem que a recuperao em tempo de execuo de um erro de execuo no possvel. Aleatoriedade Cada 4758 tem um gerador de nmeros aleatrios protegido que implementado em hardware. Ele gera a sua prpria chave secreta inicial usando cdigo armazenado em ROM. Armazenamento persistente A memria ash utilizada para prover um espao para o software guardar informaes que devem ser persistentes. Como impossvel garantir que um hardware resistente a adulterao tem energia suciente para apagar o contedo da ash em caso de tentativa de adulterao, o contedo da ash potencialmente vulnervel a uma inspeo mesmo que esta venha a destruir o 4758. Neste caso o ideal manter os dados da ash protegidos por uma chave armazenada na BBRAM. Outros elementos Um computador de propsito geral ca dentro do ambiente seguro, o que permite aplicaes razoavelmente genricas. Alm disso existem tambm os seguintes elementos: um circuito integrado para executar aritmtica modular um dispositivo que implementa Data Encryption Standard (DES) uma implementao de hash seguro

6.1.2

Firmware

Para o 4758, rmware a parte do software que de propriedade da IBM enquanto que software todo o resto (que de propriedade de terceiros). Processador guardio O processador guardio executa o cdigo que instalado na ROM durante a fabricao. Este cdigo mantm o estado de congurao (em-fbrica ou inicializado) e o estado das travas de hardware. Ele tambm protege as chaves que cada camada armazena. A validao do processador guardio pode ser feita atravs de inspeo, j que se trata de um mdulo de cdigo pequeno. 39

Ana C. L. Cabral e Paulo H. N. Tavares

Processadores inviolveis

Cdigo de inicializao O cdigo de inicializao mantido em duas partes: uma em ROM e outra em ash. A camada 0 (mantida em ROM) contm o mnimo de cdigo para permitir que a camada 1 (mantida em ash) possa ser usada. A camada 1 pode ser atualizada dinamicamente. Estabelecendo guardas e chaves Cada nvel tem um guarda de segurana e um par de chaves que o guarda usa para assinar comandos para o rmware. A IBM o guarda para o rmware e esta relao estabelecida durante a fabricao. Um guarda pode atribuir a propriedade da prxima camada assinando um comando de establish owner e certicando a chave pblica do prximo dono. O guarda da camada anterior na hierarquia de segurana assina um certicado validando a chave pblica associada a um novo guarda e assim estabelece uma chave de assinatura. Esta chave ento usada para autorizar mudanas naquela camada.

6.1.3

Software

As camadas de software que fornecem a funcionalidade especca tm sua disposio um sistema operacional (CP/Q++) baseado em um sistema comercial (CP/Q), que oferece o suporte necessrio. Alm disso, um conjunto de ferramentas de desenvolvimento tambm est disponvel e inclui suporte a compiladores C da IBM e Microsoft, uma API para acesso s funes do sistema CP/Q++ e aos device drivers do hardware especco do 4758.

6.2 nCipher
Nas sees a seguir so descritos alguns dos produtos da empresa nCipher que podem ser considerados HSMs ([1]).

6.2.1 NForce
HSM e acelerador SSL. Indicado para melhorar a performance de servidores Web SSL com gerenciamento de Chaves privadas. Principais caractersticas: Hardware Security Module e acelerador SSL

40

Ana C. L. Cabral e Paulo H. N. Tavares

Processadores inviolveis

Acelerador SSL poderoso - mais de 1600 TPS (transaes por segundo). Possui a validao da FIPS 140-2 nvel 2. Gerenciamento seguro de chaves. Possui o certicado de proteo SSL da VeriSign. Esta disponvel como um Carto PCI ou um mdulo SCSI. Fornece aumento de desempenho, proteo e funes de gerenciamento para servidores Web SSL.

Figura 6.2: Equipamento NForce da empresa nCipher

6.2.2 payShield
HSM indicado para rede de bancos e pagamentos eletrnicos. Principais caractersticas: Autenticao segura de cartes. Processamento criptogrco a alta velocidade. FIPS-140-2 Nvel 3 de segurana. Gerencia vrios tipos de funes PIN. Atende os requisitos de segurana da Mastercard e da Visa Electron. Este equipamento o que a nCipher oferece de mais moderno para montar uma infra-estrutura para pagamento eletrnico. 41

Ana C. L. Cabral e Paulo H. N. Tavares

Processadores inviolveis

Figura 6.3: Equipamento payShield da empresa nCipher

Figura 6.4: Equipamento payShield da empresa nCipher

6.2.3 netHSM
HSM compartilhvel, ou seja mltiplos servidores podem usar o mesmo HSM. Este HSM fornece um ambiente criptogrco para mltiplos servidores e clientes. Principais caractersticas: HSM compartilhvel FIPS 140-2 Nvel 3. Arquitetura de segurana multicamadas Bom para comunicao segura em rede. Interface segura para usurio. 42

Ana C. L. Cabral e Paulo H. N. Tavares

Processadores inviolveis

Autenticao exigente dos servidores clientes Processador criptogrco com alto desempenho, mais que 1600 TPS. Tamanho compatvel com qualquer Rack 1U.

Figura 6.5: Equipamento netHSM da empresa nCipher

6.2.4 Key Safe


Protege as chaves criptografadas e um elemento fundamental em uma infraestrutura de segurana. Pode ser usado no lugar do nForce. Principais caractersticas: Interface intuitiva para gerenciamento de chaves. Gerenciamento avanado de chaves atravs da rede e da empresa FIPS 140-2 Nvel 2. Simplica a recuperao das chaves em caso de desastre.

6.3 Rainbow
Na seo a seguir descrito um produto do tipo HSM da empresa Rainbow ([2]).

43

Ana C. L. Cabral e Paulo H. N. Tavares

Processadores inviolveis

Figura 6.6: Equipamento Key Safe da empresa nCipher

6.3.1 CryptoSwift HSM


Principais caractersticas: Fornece segurana fsica e acelerao para servidores Web de alta segurana, autoridades certicadoras e servidores OCSP. Circuito para deteco de violao e armazenamento seguro das chaves e armazenamento de cpias de segurana. Gerao de chave RSA Gerao de numero aleatrio convel. Taxa de acelerao de at 200 novas sesses por segundo. Cdigo baseado em Java. Canal USB seguro para autenticao de usurio e armazenamento de chaves. FIPS 140-1 nvel 3 Certicate #162

44

Ana C. L. Cabral e Paulo H. N. Tavares

Processadores inviolveis

Figura 6.7: Equipamento CryptoSwift da empresa Rainbow

45

Captulo 7 Concluso
Atualmente a demanda por segurana e privacidade no pra de crescer. Com o aumento da utilizao da Internet para realizar operaes bancrias e comerciais, por exemplo, o dinheiro tem circulado muito mais eletronicamente do que na forma de papel moeda. Essa crescente dependncia da comunicao por via eletrnica trouxe muitos requisitos novos de segurana, como proteo de informaes condenciais dos usurios, senhas, saldos das contas, envio seguro dessas informaes, certicados etc. E tudo isso junto a um requisito de maior velocidade, pois de pouco adianta um servidor seguro se ele no tem a capacidade de processar as transaes e autenticaes necessrias. A primeira coisa a ser feita determinar o nvel do risco baseado no valor da informao que voc est protegendo e o custo de substitu-la caso a mesma seja perdida ou destruda. De posse desta informao possvel fazer uma avaliao mais bem fundamentada e tomar as decises necessrias, levando em considerao uma anlise de custo/benefcio. Esta avaliao deve estar apoiada no desenvolvimento de uma poltica de segurana, que deve englobar documentao dos produtos e softwares utilizados, procedimentos de uso, anlise dos locais e mquinas que apresentam maior risco e toda e qualquer informao relevante manuteno da integridade dos dados. Em cenrios onde o comprometimento da segurana pode representar grandes perdas, as solues HSM so bastante atraentes e tm sido muito usadas pelo mercado, especialmente para a proteo de chaves criptogrcas. Existem muitas solues HSM disponveis comercialmente e elas esto em constante evoluo para aliar segurana e processamento eciente. Dependendo do problema a ser solucionado, pode-se escolher entre vrias solues. Cabe ainda lembrar que a segurana (incluindo a a condencialidade, a integridade dos dados, a eccia do sistema, e a no repudiao) depende no s da infraestrutura segura mas tambm da elaborao e utilizao de procedimentos adequados e compatveis com o sistema escolhido. 46

Bibliograa
[1] nCipher web site. http://www.cipher.com. [2] Rainbow Technologies web site. http://www.rainbow.com. [3] D. G. Abraham, G. M. Dolan, G. P. Double, and J. V. Stevens. Transaction security system. IBM Systems Journal, 30(2), 1991. [4] Ross Anderson and Markus Kuhn. Tamper resistance a cautionary note. In Proceedings of the Second USENIX Workshop on Electronic Commerce, www.usenix.org/publications/library/proceedings/ec96/kuhn.html. [5] William A. Arbaugh and Leendert van Doorn. Embedded security:challenges and concerns. IEEE Computer, October 2001. [6] Joan Dyer, Ron Perez, Sean Smith, and Mark Lindemann. Application support architecture for a high-performance, programmable secure coprocessor. In Proceedings, 22nd National Information Systems Security Conference. [7] Joan G. Dyer, Mark Lindemann, Ronald Perez, Reiner Sailer, Leendert van Doorn, Sean W. Smith, and Steve Weingart. Building the IBM 4758 secure coprocessor. IEEE Computer, October 2001. [8] NIST et. al. Common criteria for information technology security evaluation. Technical Report CCIMB-99-031, CCRA, http://www.commoncriteria.org, August 1999. [9] Peter Gutmann. The design of a cryptographic security architecture. In Proceedings of the 8th USENIX Security Symposium, www.cs.auckland.ac.nz/ pgut001/, August 1999. USENIX. [10] KPMG. Key management policy and practice framework. Technical Report 472BOS_0102, KPMG, http://www.kpmg.com, 2002.

47

Ana C. L. Cabral e Paulo H. N. Tavares

Processadores inviolveis

[11] NIST. Security requirements for cryptographic modules. Federal Information Processing Standards Publication FIPS PUB 140-2, Information Technology Laboratory - National Institute of Standards and Technology, www.itl.nist.gov/pspubs/, May 2001. [12] S. Smith. Secure coprocessing applications and research issues, 1996. [13] Sean W. Smith, Elaine R. Palmer, and Steve Weingart. Using a highperformance, programmable secure coprocessor. In Proceedings of the Second International Conference on Financial Cryptography, Springer-Verlag Lecture Notes in Computer Science. [14] Sean W. Smith and Steve Weingart. Building a high-performance, programmable secure coprocessor. IBM research report, IBM Research Division, www.research.ibm.com, October 1998. [15] S.W. Smith and D. Safford. Practical private information retrieval with secure coprocessors. IBM Research Report RC 21806 (Log#98098), IBM Research Division, www.research.ibm.com, July 2000. [16] Bennet S. Yee. Using Secure Coprocessors. PhD thesis, Carnegie Mellon University, http://www.bennetyee.org/ Number=.

48

Você também pode gostar