Prof. Edward David MorenoEdward David Moreno edwdavid@gmail.com
Aspectos de Segurança em
Aspectos de Segurança em
Hardware – Desafios e
Hardware – Desafios e
Oportunidades de Pesquisa
Oportunidades de Pesquisa
Palestra na FACOM/UFMS 21 de junho de 2013Classificação Moderna de
Soluções de Segurança
Qual é o Impacto se essas soluções são embarcadas ……
Qual é o impacto de ter essas soluções em Dispositivos Móveis …..
Aplicações
WEB browser
VPN DRM Secure Storage
Protocolos de Segurança
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)
Figura 3. Classificação Moderna de Soluções de Segurança [Ravi, 2006]
Key Exchange (DH,ecDH)
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
Objetivos do Projeto de Sistemas
Embarcados
■ 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
Segurança ! ■ Implementação de Primitivas/Aplicações de Segurança ! Symptom free Security aware Activity aware Agile Robust Throughput Efficiency Latency Area Power Energy Cost Performance issues Security issues High Security High Performance System
Aspectos de Segurança 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
Principais Algoritmos Simétricos
Principais Algoritmos Simétricos
Algoritmo Projetista Key (bits) Bloco (bytes) Aplicação
AES J. Daemen, V. Rijmen 128, 192, 256 16 DMSEnvoy
Blowfish Bruce Schneier <= 448 8 Norton Utilities
3DES D. Coppersmith 168 8 SSL, SSH
IDEA X Lai, J. Massey 128 8 PGP, SSH, SSL
RC6 R. Rivest, M.
Robshaw, et al.
128, 192, 256 16 AES candidato
STREAM KEY
RC4 R. Rivest Mínimo 8, máximo 2048 em
múltiplo de 8 bits Default: 128
SSL
Implementação em Software
Implementação em Software
Linguagem C
Implementação em Software
Implementação em Software
Linguagem C
Linguagem C
Desempenho em software 0,94 0,88 0,14 3,9 3,35 0,7 5,77 1,4 7,09 0 1 2 3 4 5 6 7 8 DES AES RC5 S e g u n d o s 1 MB 5 MB 10 MBOperações nos Algoritmos
Operações nos Algoritmos
XOR Deslocamento/R otação S-BOX Permutação D E S X X X X A E S X X X Se rp en t X X X C as t-12 8 X X M A R S X X X T w of is h X X X X M ag en ta X X X X Fr og X X X B lo w Fi s h X X X R C 5 X X R X X X
Implementação em Hardware
Implementação em Hardware
FPGAs
FPGAs
19,55 28,789 21,05 0 10 20 30 Ns DES AES RC5 AlgoritmosTempo de propagação de cada algoritmo em hardware 20,46 55,57 19,00 0,00 20,00 40,00 60,00 MB/seg DES AES RC5 Algoritmos
Taxa de texto cifrado por segundo
Comparação do DES
Comparação do DES
Desempenho Temporal 400 25 1 0 100 200 300 400 500 1 s 1 s 1 s Hardware c/ Pipeline Hardware s/ Pipeline Software em C Tempo em segundos M eg a B yt es C if ra d o sCASAD - Criptoprocessador
Criptoprocessador CASAD
Criptoprocessador CASAD
Criptoprocessador CASAD
Desempenho dos algoritmos DES e RC5
1 7,25 17,5 26 25 19 0 5 10 15 20 25 30 DES RC5 Algoritmo M B /s PPGCripto HW
CASAD – Criptoprocessador
CASAD – Criptoprocessador
DES
DES
Criptoprocessadores Nº de Ciclos MHz MB/s Hifn BCM5802 -- 33 100 Hifn 790x 22 50 143 OpenCores 16 155 620 SecuCore DES 5 166 1999 VLIW 16 122 26Proc. Freqüência Memória Texto claro Tempo de cifragem P4 1.6 GHz 256 MB 1 MB 0,99 s P3 1.0 GHz 256 MB 1 MB 1,05 s P3 800 MHz 128 MB 1 MB 1,19 s P3 700 MHz 128 MB 1 MB 1,26 s P3 500 MHz 128 MB 1 MB 1,75 s K6 500 MHz 64 MB 1 MB 2,15 s VLIW 122 MHz -- 1 MB 0,038 s
DES
Algoritmos Assimetricos
Algoritmos Assimetricos
Tempo de cifrar e decifrar
20 seg 14 seg 16 seg 24 seg 34 seg 22 seg 35 seg 18 seg 0 5 10 15 20 25 30 35 40
cifrar 1.0 cifrar 1.5 decifrar 1.0 decifrar 1.5
Tamanho da chave em bits
te m p o e m s eg u n d o s 24 bits 56 bits Tempo em ns do RSA 21.178 30.241 40.481 55.429 83.382 12.609 16.841 22.895 56.480 34.178 14.899 20.441 28.547 72.456 43.331 0 10.000 20.000 30.000 40.000 50.000 60.000 70.000 80.000 90.000
24 bits 56 bits 128 bits 256 bits 512 bits
xc2vp100-6ff1704 (Virtex II -Pro) Xcv3200e-8fg1156 (Virtex E ) xc3s5000-5fg1156(Spartan 3 )
Algoritmos Assimetricos
Arquiteturas Especiais para
Arquiteturas Especiais para
Segurança
Arquiteturas Especiais para
Arquiteturas Especiais para
Segurança
Segurança
IP Core Tempo de Propagação(ns) Freqüência AES 8,8495 113 MHz RSA1024 9,3458 107 MHz SHA-2 6,3694 157 MHz MD5 7,4627 134 MHz Shanon 8,2645 121 MHz Debug Interface 8,6206 116 MHz Total 8,4033 119 MHzCore Slices Ocupação
AES 2810 9% RSA1024 3929 13% SHA-2 1974 6% MD5 1225 4% Shanon 2407 8% Debug Interface 10765 35% Total 25391 84%
Plataformas Multicore
Plataformas Multicore
E/S E/S (A) (B) (C) (n) UPEM 1 UPEM 2 UPEM 3 UPEM nPlataformas Multicore
Plataformas Multicore
Pesquisas:
- Cripto-análise
-Sistemas IDS de Alto desempenho
- Genoma Humano – Sequencias de Gens - Processamento de Imagens
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;
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);
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.
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.
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;
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;
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.
Desafios
em Consumo de Energia
Parâmetro Valores
Tempo entre execuções
0,16 s Tempo por execução 0,04 s Variação de Voltagem 0,96 V Potência Média durante execução 30,90 W Consumo 1,24 J SHA-1
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.