18.11.2014 Views

Anais - Engenharia de Redes de Comunicação - UnB

Anais - Engenharia de Redes de Comunicação - UnB

Anais - Engenharia de Redes de Comunicação - UnB

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

(lógicos) <strong>de</strong> software e hardware são <strong>de</strong>scritos formalmente e técnicas <strong>de</strong> obtenção <strong>de</strong><br />

provas são utilizadas para se <strong>de</strong>terminar a valida<strong>de</strong> das especificações. Apesar <strong>de</strong> po<strong>de</strong>rosas,<br />

no entanto, tais técnicas têm complexida<strong>de</strong> NP-difícil ou in<strong>de</strong>cidível [7, 8, 16],<br />

dificultando o seu uso na prática. Desta forma, técnicas totalmente informais ou mistas<br />

são utilizadas na verificação das proprieda<strong>de</strong>s dos sistemas [1]. Neste sentido, técnicas<br />

<strong>de</strong> verificação lógica <strong>de</strong> segurança baseadas em simulação, em especial via introspecção<br />

<strong>de</strong> máquinas virtuais, têm se mostrado úteis, como mostram os trabalhos <strong>de</strong> Payne [14] e<br />

Dwoskin [13].<br />

3. Arquitetura do SCuP<br />

A Figura 1 mostra a arquitetura do SCuP. Nela é possível i<strong>de</strong>ntificar dois núcleos SPARC<br />

<strong>de</strong> 32 bits, baseados no Leon 3, instanciados <strong>de</strong> maneira assimétrica, o Application Core<br />

- AC, e o Secure Core - SC. Estes dois núcleos estão ligados aos barramentos internos<br />

AHB (e APB) modificados. Estes barramentos implementam um firewall <strong>de</strong> hardware,<br />

programado por SC e que limita o acesso dos mestres <strong>de</strong> barramento aos periféricos.<br />

Os componentes periféricos encontrados no processador são divididos em dois<br />

principais grupos: componentes sem função <strong>de</strong> segurança (caixas mais claras e que incluem,<br />

<strong>de</strong>ntre outros, USB, PCI, Controle <strong>de</strong> DDR2) e componentes com funcionalida<strong>de</strong>s<br />

seguras (como cifradores <strong>de</strong> memória externa e o TRNG (true random number generator)).<br />

No que se segue apresentamos uma breve <strong>de</strong>scrição dos componentes do SCuP e<br />

em seguida algumas das funcionalida<strong>de</strong>s <strong>de</strong> segurança permitidas pela nossa plataforma.<br />

3.1. Componentes do Sistema<br />

3.1.1. Os Núcleos AC e SC<br />

A arquitetura do SCuP permite que coexistam diversos (n) Núcleos <strong>de</strong> Aplicação (AC)<br />

com diversos (m) Núcleos <strong>de</strong> Segurança (SC). Na Figura 1, n = m = 1. O AC é<br />

um núcleo completo para uma CPU, com unida<strong>de</strong> <strong>de</strong> ponto flutuante, cache <strong>de</strong> dados e<br />

programa e MMU, e que serve para a execução <strong>de</strong> aplicações <strong>de</strong> usuários convencionais<br />

como, por exemplo, executar um S.O. Linux com uma aplicação <strong>de</strong> votação. O AC é<br />

controlado e monitorado pelo SC, com mecanismos que serão <strong>de</strong>scritos mais a adiante.<br />

O SC, por sua vez, é um núcleo minimalista e que foi modificado para ser uma das<br />

raízes <strong>de</strong> confiança do sistema. Para minimizar possibilida<strong>de</strong>s <strong>de</strong> <strong>de</strong>feitos <strong>de</strong> segurança no<br />

próprio VHDL do processador, FPU e MMU foram eliminados, ao mesmo tempo em que<br />

uma memória interna, <strong>de</strong> acesso exclusivo ao núcleo foi adicionada. Esta memória, chamada<br />

<strong>de</strong> scratchpad, é essencial na segurança do sistema e foi projetada para permitir que<br />

operações que <strong>de</strong>mandam sigilo (manipulação <strong>de</strong> chaves e outros parâmetros críticos <strong>de</strong><br />

sistema) pu<strong>de</strong>ssem ser realizados com a menor possibilida<strong>de</strong> <strong>de</strong> vazamento e sem a necessida<strong>de</strong><br />

<strong>de</strong> memória externa. O SC tem capacida<strong>de</strong> para executar um sistema operacional<br />

mínimo, seguindo o princípio da minimização da Trusted Computing Base (TCB).<br />

O SC tem controle sobre todos os outros componentes do SCuP, permitindo, <strong>de</strong>ntre<br />

outros, o Mecanismo <strong>de</strong> Inspeção/Introspecção Profunda (MIP) e a Sequência <strong>de</strong> Boot<br />

Seguro.<br />

76

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!