Upload
others
View
1
Download
0
Embed Size (px)
Citation preview
06/24/13 1
Prof. Edward David MorenoEdward David [email protected]
Aspectos de Segurança em Aspectos de Segurança em Hardware – Desafios e Hardware – Desafios e
Oportunidades de PesquisaOportunidades de PesquisaPalestra na FACOM/UFMS21 de junho de 2013
Segurança - Edward Moreno06/24/13 2
Classificaçã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 browserVPN DRM Secure Storage
Protocolos de Segurança
Protocolos de Comunicação SeguraSSL/TLS, WTLS, IPSEC, S/MIME
Protocolos DRM Autenticação Biométrica (fingerprint, face, voice)
Primitivas CriptográficasCriptografia 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)
Segurança - Edward Moreno06/24/13 3
Criptografia em Hardware Embarcado
Vantagens Potenciais de algoritmos de criptografia implementados em Hardware Reconfigurável
Agilidade dos AlgoritmosCarga e Atualização dos AlgoritmosEficiência da ArquiteturaEficiência de RecursosMudanças nos AlgoritmosThroughput – relativo ao softwareEficiencia vs Custo – relativo aos ASICs
Segurança - Edward Moreno06/24/13 4
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 SecurityHigh Performance
System
Segurança - Edward Moreno06/24/13 5
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 segurança.
Segurança - Edward Moreno06/24/13 6
Principais Algoritmos SimétricosPrincipais Algoritmos SimétricosAlgoritmo Projetista Key (bits) Bloco (bytes) AplicaçãoAES J. Daemen, V. Rijmen 128, 192, 256 16 DMSEnvoyBlowfish Bruce Schneier <= 448 8 Norton Utilities3DES D. Coppersmith 168 8 SSL, SSHIDEA X Lai, J. Massey 128 8 PGP, SSH, SSLRC6 R. Rivest, M.
Robshaw, et al.128, 192, 256 16 AES candidato
STREAM KEYRC4 R. Rivest Mínimo 8, máximo 2048 em
múltiplo de 8 bitsDefault: 128
SSL
SEAL P. Rogaway Variável, Default: 160 Disk Encryption
Segurança - Edward Moreno06/24/13 7
Implementação em SoftwareImplementação em SoftwareLinguagem CLinguagem C
Segurança - Edward Moreno06/24/13 8
Implementação em SoftwareImplementação em SoftwareLinguagem CLinguagem C
Desempenho em software
0,94 0,880,14
3,93,35
0,7
5,77
1,4
7,09
012345678
DES AES RC5
Segu
ndos 1 MB
5 MB10 MB
Segurança - Edward Moreno06/24/13 9
Operações nos AlgoritmosOperações nos AlgoritmosXOR Deslocamento/R
otaçãoS-BOX Permutação
DES
X X X X
AES
X X X
Serpent
X X X
Cast-128
X X
MARS
X X X
Twofish
X X X X
Magenta
X X X X
Frog
X X X
BlowFish
X X X
RC5
X X
RC6
X X X
Segurança - Edward Moreno06/24/13 10
Implementação em Hardware Implementação em Hardware FPGAsFPGAs
19,5528,789
21,05
0
10
20
30
Ns
DES AES RC5
Algoritmos
Tempo 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
Segurança - Edward Moreno06/24/13 11
Comparação do DESComparação do DES
Desempenho Temporal
400
25 10
100200300400500
1 s 1 s 1 s
Hardware c/Pipeline
Hardware s/Pipeline
Software em C
Tempo em segundos
Meg
a B
ytes
Cifr
ados
Segurança - Edward Moreno06/24/13 12
CASAD - CriptoprocessadorCASAD - Criptoprocessador
Segurança - Edward Moreno06/24/13 13
Criptoprocessador CASADCriptoprocessador CASAD
Segurança - Edward Moreno06/24/13 14
Criptoprocessador CASADCriptoprocessador CASAD
Desempenho dos algoritmos DES e RC5
1
7,25
17,5
2625
19
0
5
10
15
20
25
30
DES RC5
Algoritmo
MB/
s
PPGCriptoHW
Segurança - Edward Moreno06/24/13 15
CASAD – Criptoprocessador CASAD – Criptoprocessador DESDESCriptoprocessadores Nº de
CiclosMHz MB/s
Hifn BCM5802 -- 33 100Hifn 790x 22 50 143OpenCores 16 155 620SecuCore DES 5 166 1999VLIW 16 122 26
Proc. Freqüência Memória Texto claro Tempo de cifragem
P4 1.6 GHz 256 MB 1 MB 0,99 sP3 1.0 GHz 256 MB 1 MB 1,05 sP3 800 MHz 128 MB 1 MB 1,19 sP3 700 MHz 128 MB 1 MB 1,26 sP3 500 MHz 128 MB 1 MB 1,75 sK6 500 MHz 64 MB 1 MB 2,15 sVLIW 122 MHz -- 1 MB 0,038 s
Segurança - Edward Moreno06/24/13 16
DES -DES -DES Key Search MachineDES Key Search Machine
Segurança - Edward Moreno06/24/13 17
Algoritmos AssimetricosAlgoritmos Assimetricos
Tempo de cifrar e decifrar
20 seg
14 seg16 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
tem
po e
m s
egun
dos
24 bits 56 bits
Tempo em ns do RSA
21.178
30.241
40.481
55.429
83.382
12.60916.841
22.895
56.480
34.178
14.89920.441
28.547
72.456
43.331
010.00020.00030.00040.00050.00060.00070.00080.00090.000
24 bits 56 bits 128 bits 256 bits 512 bits
xc2vp100-6ff1704 (Virtex II -Pro) Xcv3200e-8fg1156 (Virtex E ) xc3s5000-5fg1156(Spartan 3 )
•T = Cd mod n.
Segurança - Edward Moreno06/24/13 18
Algoritmos AssimetricosAlgoritmos Assimetricos
Segurança - Edward Moreno06/24/13 19
Arquiteturas Especiais para Arquiteturas Especiais para SegurançaSegurança
Segurança - Edward Moreno06/24/13 20
Arquiteturas Especiais para Arquiteturas Especiais para SegurançaSeguranç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
DebugInterface 8,6206 116 MHz
Total 8,4033 119 MHz
Core Slices Ocupação
AES 2810 9%
RSA1024 3929 13%
SHA-2 1974 6%
MD5 1225 4%
Shanon 2407 8%
DebugInterface 10765 35%
Total 25391 84%
Segurança - Edward Moreno06/24/13 21
Plataformas MulticorePlataformas Multicore
E/S E/S
E/SE/S
(A)
(B)
(C)
(n)
UPEM 1
UPEM 2
UPEM 3
UPEM n
Segurança - Edward Moreno06/24/13 22
Plataformas MulticorePlataformas Multicore
Pesquisas: - Cripto-análise-Sistemas IDS de Alto desempenho- Genoma Humano – Sequencias de Gens- Processamento de Imagens-- Reconhecimento de Voz
Segurança - Edward Moreno06/24/13 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;
Segurança - Edward Moreno06/24/13 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);
Segurança - Edward Moreno06/24/13 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.
Segurança - Edward Moreno06/24/13 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.
Segurança - Edward Moreno06/24/13 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;
Segurança - Edward Moreno06/24/13 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;
Segurança - Edward Moreno06/24/13 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.
Segurança - Edward Moreno06/24/13 30
Desafios em Consumo de Energia
Parâmetro ValoresTempo entre execuções
0,16 s
Tempo por execução 0,04 sVariação de Voltagem
0,96 V
Potência Média durante execução
30,90 W
Consumo 1,24 JSHA-1
Segurança - Edward Moreno06/24/13 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.