Aspectos de Segurança em Hardware Desafios e Oportunidades de Pesquisa - PDF
Aspectos de Segurança em Hardware Desafios e Oportunidades de Pesquisa
Download "Aspectos de Segurança em Hardware Desafios e Oportunidades de Pesquisa"
Baltazar de Lacerda Mascarenhas
1 Aspectos de em Hardware Desafios e Oportunidades de Pesquisa Palestra na FACOM/UFMS 21 de junho de 2013 Prof. Edward David Moreno 06/24/13 1
2 Classificação Moderna de Soluções de Aplicações VPN WEB browser DRM Secure Storage Protocolos de Protocolos de Comunicação Segura SSL/TLS, WTLS, IPSEC, S/MIME Protocolos DRM Autenticação Biométrica (fingerprint, face, voice) Primitivas Criptográficas Criptografia Simétrica (RC4, RC5, DES, AES, entre outros) Hash (Sha-1, MD5) Criptografia Chave Pública (RSA, ECC) Assinatura Digital (DAS, ecdsa) Key Exchange (DH, ecdh) Figura 3. Classificação Moderna de Soluções de [Ravi, 2006] Qual é o Impacto se essas soluções são embarcadas Qual é o impacto de ter essas soluções em Dispositivos Móveis 2
3 Criptografia em Hardware Embarcado Vantagens Potenciais de algoritmos de criptografia implementados em Hardware Reconfigurável Agilidade dos Algoritmos Carga e Atualização dos Algoritmos Eficiência da Arquitetura Eficiência de Recursos Mudanças nos Algoritmos Throughput relativo ao software Eficiencia vs Custo relativo aos ASICs 3
4 Objetivos do Projeto de Sistemas Embarcados Latency Qual é o custo da segurança? Qual é o impacto de soluções de segurança no desempenho das aplicações? Quais os parâmetros relevantes no projeto de soluções seguras? Novas estratégias? Novas Soluções? Novos algoritmos Suporte Arquitetural para! Implementação de Primitivas/Aplicações de! Efficiency Performance Symptomfree issues Area Security aware Throughput Security issues HighSecurity High Performance System Agile Activity aware Power Robust Cost Energy 4
5 Aspectos de e Impacto em Dispositivos Móveis PROBLEMA Com o uso crescente de dispositivos móveis nas aplicações do dia a dia, existe a necessidade de se ter comunicações seguras. Existem técnicas e estratégias de segurança já conhecidas, porém há pouco conhecimento sobre qual o seu impacto nos dispositivos (memória, maior processamento, maior consumo de energia, e impacto na comunicação). Objetivos Estudar os aspectos arquiteturais de algoritmos e soluções de segurança já existentes em dispositivos móveis, verificando aspectos tais como: consumo de memória, necessidades de processamento, consumo de energia, impacto na comunicação, impacto no desempenho das aplicações executadas nesses dispositivos. Propor novas estratégias de segurança específicas para sistemas embarcados, verificando aspectos tais como: Propor novos algoritmos e soluções de segurança com aspectos biométricos em dispositivos móveis. Desenvolver novos produtos com melhores critérios de segurança. 5
6 Principais Algoritmos Simétricos Algoritmo AES Blowfish 3DES IDEA RC6 Projetista J. Daemen, V. Rijmen Bruce Schneier D. Coppersmith Lai, J. Massey R. Rivest, M. Robshaw, et al. STREAM RC4 R. Rivest SEAL P. Rogaway Key (bits) 128, 192, 256 <= , 192, 256 Bloco (bytes) KEY Mínimo 8, máximo 2048 em múltiplo de 8 bits Default: 128 Variável, Default: 160 Aplicação DMSEnvoy Norton Utilities SSL, SSH PGP, SSH, SSL AES candidato SSL Disk Encryption 6
7 Implementação em Software Linguagem C 7
8 Implementação em Software Linguagem C Segundos Desempenho em software ,09 5,77 3,9 0,94 3,35 1,4 0,88 0,14 DES AES 1 MB 5 MB 10 MB 0,7 RC5 8
9 Operações nos Algoritmos OR D E S A E S Deslocamento/R otação Se rp en t C as t12 8 M A R S T w of is h M ag en ta Fr og S-BO Permutação B lo w Fi s h R C 5 R C 6 9
10 Implementação em Hardware FPGAs Tempo de propagação de cada algoritmo em hardware 28, Ns 21,05 19, DES AES Taxa de texto cifrado por segundo RC5 Algoritmos 55,57 60,00 MB/seg 40,00 20,46 19,00 20,00 0,00 DES AES Algoritmos RC5 10
11 Mega Bytes Cifrados Comparação do DES Desempenho Temporal s 1s 1s Hardware c/ Pipeline Hardware s/ Pipeline Software em C Tempo em segundos 11
12 CASAD - Criptoprocessador 12
13 Criptoprocessador CASAD 13
14 Criptoprocessador CASAD Desempenho dos algoritmos DES e RC ,5 20 MB/s Cripto 10 5 PPG HW 7, DES RC5 Algoritmo 14
15 CASAD Criptoprocessador DES Criptoprocessadores Hifn BCM5802 Hifn 790x OpenCores SecuCore DES VLIW Proc. P4 P3 P3 P3 P3 K6 VLIW Nº de Ciclos MHz MB/s Freqüência Memória Texto claro Tempo de cifragem 1.6 GHz 1.0 GHz 800 MHz 700 MHz 500 MHz 500 MHz 122 MHz 256 MB 256 MB 128 MB 128 MB 128 MB 64 MB -- 1 MB 1 MB 1 MB 1 MB 1 MB 1 MB 1 MB 0,99 s 1,05 s 1,19 s 1,26 s 1,75 s 2,15 s 0,038 s 15
16 DES -DES Key Search Machine 16
17 Algoritmos Assimetricos tempo em segundos T = Cd mod n. Tempo de cifrar e decifrar seg 34 seg seg 22 seg seg 18 seg seg 14 seg cifrar 1.0 cifrar 1.5 decifrar bits Tempo em ns do RSA bits Tamanho da chave em bits 24 bits decifrar bits bits 256 bits 512 bits xc2vp100-6ff1704 (Virtex II -Pro) cv3200e-8fg1156 (Virtex E ) xc3s5000-5fg1156(spartan 3 ) 17
18 Algoritmos Assimetricos 18
19 Arquiteturas Especiais para 19
20 Arquiteturas Especiais para IP Core Tempo de Propagação(ns) Freqüência Core AES AES RSA1024 SHA-2 MD5 8, MHz RSA1024 9, MHz SHA-2 6, MHz 7,4627 MD5 8, MHz Debug Interface Debug Interface 8, MHz Total 8, MHz Ocupação % % % % % % % 134 MHz Shanon Shanon Slices Total 20
21 Plataformas Multicore (A) UPEM 1 (C) UPEM 3 E/S E/S (B) UPEM 2 E/S (n) UPEM n E/S 21
22 Plataformas Multicore Pesquisas: - Cripto-análise -Sistemas IDS de Alto desempenho - Genoma Humano Sequencias de Gens - Processamento de Imagens -- Reconhecimento de Voz 22
23 Desafios em Sistemas Embarcados Estudar e Implementar algoritmos (ex. criptografia, de Compressão de código, de imagens, entre outros) em hardware, Especificamente FPGAs e SoC, e plataformas embarcadas como microcontroladores, DSP, redes de sensores, plataformas com ouco poder de processamento, quando comparados aos tradicionais sistemas computacionais; Projetar processadores para aplicações específicas de segurança em hardware em FPGAs e SoC, eficientes em desempenho e consumo de energia; Projetar processadores para aplicações específicas de processamento de sinais e imagens, ou aceleradores em hardware, em FPGAs e SoC, eficientes em desempenho e consumo de energia; 23
24 Desafios em Sistemas Embarcados Conhecer, por meio de técnicas de simulação, as características de execução de algumas dessas técnicas em plataformas embarcadas; de modo a descobrir pontos críticos de desempenho e consumo de energia, que auxiliarão na proposta de otimizações e melhoramentos na descrição de arquitetura específicas e eficientes; Propor arquiteturas específicas para essas aplicações, visando principalmente o projeto de processadores de aplicações específicas, com respectiva prototipação em FPGAs, da área de segurança, processamento de imagens, e aceleradores e aplicações críticas de performance; Caracterizar o uso de memória e consumo de energia de algumas dessas soluções quando executando em sistemas embarcados (processadores embarcados, microcontroladores, FPGAs, SoC, DSP, e plataformas embarcadas); 24
25 Desafios em Sistemas Embarcados Analisar a possibilidade de criar soluções que tenham reconfiguração parcial e/ou total, aproveitando as tecnologias reconfiguráveis; Projetar sistemas de segurança (algoritmos criptográficos modernos, tais como algoritmo MQQ, ECC Criptografia com curvas elípticas e HECC Criptografia com Curvas Hiper Elípticas, hashing do padrão SHA-3, integração de serviços de segurança) em hardware (FPGAs, microcontroladores, DSPs, SoC) eficientes em processamento, velocidade, uso de memória e consumo de energia. 25
26 Desafios em Processadores Específicos Projetar sistemas novos e modernos de segurança em hardware e em sistemas embarcados, por exemplo, soluções para redes de sensores, soluções para aplicações automotivas, soluções para aplicações médicas, entre outros; Propor novas arquiteturas eficientes e especificas para sistemas de segurança e processamento de imagens em hardware e plataformas embarcadas; Projetar hardware específico para algoritmos criptográficos modernos, como AES, SHA-3, ECC, HECC, e outros. Projetar hardware específico para processamento de sinais biométricos, como voz, reconhecimento de Iris, reconhecimento de fingerprint, entre outros. 26
27 Desafios em Processadores Específicos Projetar aceleradores em hardware para aplicações/algoritmos de processamento de imagens, aplicações biomédicas, multimídia, entre outros. Projetar processadores específicos para soluções e integração de serviços de segurança e para tratamento de informações contidas em imagens; Gerar IP core de algumas soluções de segurança e de processamento de imagens, que requeiram de otimizações em hardware; Projetar sistemas de segurança visando a integração de serviços; 27
28 Desafios em Multicore e GPUS Projetar sistemas multicore eficientes em consumo de energia; Paralelizar aplicações que requeiram alto desempenho e adequálas a plataformas multicore de forma eficiente e escalável; Criar ferramentas que paralelizem automaticamente aplicações e as executem de forma eficiente em plataformas multicore; Projetar e avaliar sistemas Multi-core e uso de GPUs em soluções de segurança e processamento de imagens que requeiram alto desempenho; 28
29 Desafios em Multicore e GPUS Considerando a nova geração da arquitetura unificada dos hardwares gráficos (GPUs), lançada pela nvidia, que veio tornar capaz a execução de programas genéricos, e que existem aplicações com alto grau de paralelismo, e que transformam as GPUs em verdadeiros clusters; existe ainda necessidade de estudar e aplicar as GPU em várias aplicações que requeiram o uso de alto processamento para alto volume de dados; Construir ferramentas que auxiliem no processo automático do uso eficiente de GPUs em aplicações de alto volume de informações; Verificar o uso de GPUs em soluções modernas de segurança: IDS e IPS de alto desempenho, em algoritmos criptográficos de desempenho crítico, em algoritmos biométricos e etc. 29
30 Desafios em Consumo de Energia Parâmetro Tempo entre execuções Tempo por execução Variação de Voltagem Potência Média durante execução Consumo Valores 0,16 s 0,04 s 0,96 V 30,90 W 1,24 J SHA-1 30
31 Desafios em Consumo de Energia Criar simuladores para diferentes plataformas computacionais; - Criar ferramentas que permitam a medição real do consumo de energia na execução de algoritmos e aplicações provenientes do benchmark de sistemas embarcados Mibench (Guthaus 2002), e programas de outros benchmarks de aplicações científicas (Ex. o SPEC), Java (benchmarks de Java), jogos, multimídia, entre outros. - Criar ferramentas que detectem os gargalos no consumo de energia, identificando as funções e/ou trechos de código que mais demandam corrente; - Otimizar código visando diminuir o consumo de energia; - Criar novas estratégias de projeto e comunicação, tanto em hardware quanto em software, que permitam um menor consumo de energia. 31
UM IP DE CRIPTOGRAFIA PADRÃO RIJNDAEL PARA PROJETOS EM FPGA
UM IP DE CRIPTOGRAFIA PADRÃO RIJNDAEL PARA PROJETOS EM FPGA Marcelo B. de Barcelos, Alex F. Panato, Ricardo A. da Luz Reis mb@e-trust.com.br panato@inf.ufrgs.br reis@inf.ufrgs.br Universidade Federal do