Escolar Documentos
Profissional Documentos
Cultura Documentos
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
Processadores inviolveis
2.5.3 2.5.4
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
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
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.
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.
Processadores inviolveis
Processadores inviolveis
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
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
Processadores inviolveis
10
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.
11
Processadores inviolveis
Processadores inviolveis
13
Processadores inviolveis
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
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.
15
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
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.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
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
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.
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.
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.
Processadores inviolveis
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
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.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
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
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
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.
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
29
Processadores inviolveis
Ambiente Operacional
Garantia Projeto
Do
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.
30
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
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
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.
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.
Nvel 4
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.
33
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.
34
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.
35
Processadores inviolveis
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
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
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
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
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.
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
Processadores inviolveis
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
Processadores inviolveis
Autenticao exigente dos servidores clientes Processador criptogrco com alto desempenho, mais que 1600 TPS. Tamanho compatvel com qualquer Rack 1U.
6.3 Rainbow
Na seo a seguir descrito um produto do tipo HSM da empresa Rainbow ([2]).
43
Processadores inviolveis
44
Processadores inviolveis
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
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