Aspectos de Segurança em Hardware Desafios e Oportunidades de Pesquisa



Documentos relacionados
Sumário. Parte I Conceitos Básicos de Criptografia, Software e Hardware Agradecimentos...7 Sobre os Autores...9 Prefácio...

Você acha que não precisa de um FPGA? Pense melhor!

IW10. Rev.: 02. Especificações Técnicas

Prof. Roberto Franciscatto 4º Semestre - TSI - CAFW. Free Powerpoint Templates Page 1

Auditoria e Segurança da Informação GSI536. Prof. Rodrigo Sanches Miani FACOM/UFU

UNIP UNIVERSIDADE PAULISTA

Criptografia e Chave Pública. Segurança da Informação

Capítulo 8. Segurança de redes

Execícios de Revisão Redes de Computadores Edgard Jamhour. Filtros de Pacotes Criptografia SSL

Capítulo 3. Avaliação de Desempenho. 3.1 Definição de Desempenho

Implementação de um módulo Ethernet 10/100Mbps com interface Avalon para o processador Nios II da Altera

Organização de Computadores

Expresso V3 Segurança com Certificação Digital

Arquitetura dos Sistemas de Informação Distribuídos

Primeiro Foguete Brasileiro com Propulsão Líquida

Sistemas Computacionais II Professor Frederico Sauer

Conceitos de Criptografia e o protocolo SSL

SISTEMAS DISTRIBUIDOS. Prof. Marcelo de Sá Barbosa

Arquitetura de Computadores. Ivan Saraiva Silva

CERTIFICAÇÃO DIGITAL

Simplifique a complexidade do sistema

CAPÍTULO 5. INTERFACES PARA PERIFÉRICOS DE ARMAZENAMENTO INTERFACES DIVERSAS: FIREWIRE, SPI e I 2 C INTERFACES COM O MUNDO ANALÓGICO

Computadores de Programação (MAB353)

Análise e Projeto de Sistemas. Engenharia de Software. Análise e Projeto de Sistemas. Contextualização. Perspectiva Histórica. A Evolução do Software

Guilherme Pina Cardim. Relatório de Sistemas Operacionais I

Sistema de Computação

PLANO DE ESTUDOS DE T.I.C. 7.º ANO

XDOC. Solução otimizada para armazenamento e recuperação de documentos

INTEGRE Diversas fontes de informações em uma interface intuitiva que exibe exatamente o que você precisa

APLICAÇÃO PARA ANÁLISE GRÁFICA DE EXERCÍCIO FÍSICO A PARTIR DA PLATAFORMA ARDUINO

Estratégias para o Desenvolvimento de Aplicações Móveis HP Enterprise Services CMT - Cloud, Mobility and Transformation Março, 2013

Aula 26: Arquiteturas RISC vs. CISC

UNIVERSIDADE FEDERAL DE PERNAMBUCO - PRÓ-REITORIA PARA ASSUNTOS ACADÊMICOS CURRÍCULO DO CURSO DE GRADUAÇÃO EM ENGENHARIA DA COMPUTAÇÃO PERFIL

Algoritmos. Cláudio Barbosa

Java. para Dispositivos Móveis. Thienne M. Johnson. Novatec. Desenvolvendo Aplicações com J2ME

Rede sem fio. Pollyana do Amaral Ferreira pop-mg.rnp.br

Segurança Internet. Fernando Albuquerque. (061)

NOVA PROPOSTA DE MATRIZ CURRICULAR CURSO SUPERIOR DE TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS

Máquinas Multiníveis

Gerência de Redes. Introdução.

Arquiteturas Multi e Many cores baseadas em redes-em-chip

Projeto de Redes de Computadores. Desenvolvimento de Estratégias de Segurança e Gerência

TRIBUTAÇÃO NA NUVEM. Tax Friday 21 de outubro de 2011 AMCHAM - RJ

Segurança de Redes de Computadores. Ricardo José Cabeça de Souza

Desempenho de Computadores

Tecnologia PCI express. Introdução. Tecnologia PCI Express

Esclarecimento: Não, a operação de matching ocorre no lado cliente da solução, de forma distribuída.

Sistema Operacional Saber Gnu/Linux Prefeitura de São Paulo

7 Processamento Paralelo

Ano Letivo 2015/2016 Ciclo de Formação: Nº DO PROJETO: POCH FSE AUTOMAÇÃO E COMANDO,12ºANO PLANIFICAÇÃO ANUAL

Comunicado. Ataque LogJam - Nova vulnerabilidade no SSL/TLS.

PROJETO DE PESQUISA MODALIDADE INICIAÇÃO CIENTÍFICA (BOLSA PIC/FACIT/FAPEMIG)

Arquitetura de Computadores

Arquitetura de Computadores I

Resumo da solução SAP SAP Technology SAP Afaria. Gestão da mobilidade empresarial como vantagem competitiva

Resumo Descritivo dos Conteúdos das Disciplinas de Ementa Aberta para

Bancos de Dados Paralelos. Alunos: ALLAN ROGER BELLO WILLIAN DIAS TAMAGI

Suporte em software para o conjunto de instruções SPARC16

Estrutura Curricular do 2º Ciclo do Mestrado integrado em Engenharia Eletrotécnica e Computadores (MIEEC)

Introdução à Computação Móvel. Carlos Maurício Seródio Figueiredo

Assinatura Digital: problema

Arquiteturas RISC. (Reduced Instructions Set Computers)

Transcrição:

Aspectos de em Hardware Desafios e Oportunidades de Pesquisa Palestra na FACOM/UFMS 21 de junho de 2013 Prof. Edward David Moreno edwdavid@gmail.com 06/24/13 1

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

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

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

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

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 <= 448 168 128 128, 192, 256 Bloco (bytes) 16 8 8 8 16 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

Implementação em Software Linguagem C 7

Implementação em Software Linguagem C Segundos Desempenho em software 8 7 6 5 4 3 2 1 0 7,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

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

Implementação em Hardware FPGAs Tempo de propagação de cada algoritmo em hardware 28,789 30 Ns 21,05 19,55 20 10 0 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

Mega Bytes Cifrados Comparação do DES Desempenho Temporal 500 400 300 200 100 0 400 25 1 1s 1s 1s Hardware c/ Pipeline Hardware s/ Pipeline Software em C Tempo em segundos 11

CASAD - Criptoprocessador 12

Criptoprocessador CASAD 13

Criptoprocessador CASAD Desempenho dos algoritmos DES e RC5 30 25 19 17,5 20 MB/s 26 25 15 Cripto 10 5 PPG HW 7,25 1 0 DES RC5 Algoritmo 14

CASAD Criptoprocessador DES Criptoprocessadores Hifn BCM5802 Hifn 790x OpenCores SecuCore DES VLIW Proc. P4 P3 P3 P3 P3 K6 VLIW Nº de Ciclos -22 16 5 16 MHz MB/s 33 50 155 166 122 100 143 620 1999 26 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

DES -DES Key Search Machine 16

Algoritmos Assimetricos tempo em segundos T = Cd mod n. Tempo de cifrar e decifrar 40 35 seg 34 seg 35 30 24 seg 22 seg 25 20 seg 18 seg 20 16 seg 14 seg 15 10 5 0 cifrar 1.0 cifrar 1.5 decifrar 1.0 56 bits 83.382 Tempo em ns do RSA 72.456 56.480 55.429 43.331 40.481 34.178 30.241 21.178 12.609 14.899 24 bits Tamanho da chave em bits 24 bits decifrar 1.5 90.000 80.000 70.000 60.000 50.000 40.000 30.000 20.000 10.000 0 16.841 20.441 56 bits 22.895 28.547 128 bits 256 bits 512 bits xc2vp100-6ff1704 (Virtex II -Pro) cv3200e-8fg1156 (Virtex E ) xc3s5000-5fg1156(spartan 3 ) 17

Algoritmos Assimetricos 18

Arquiteturas Especiais para 19

Arquiteturas Especiais para IP Core Tempo de Propagação(ns) Freqüência Core AES AES RSA1024 SHA-2 MD5 8,8495 113 MHz RSA1024 9,3458 107 MHz SHA-2 6,3694 157 MHz 7,4627 MD5 8,2645 121 MHz Debug Interface Debug Interface 8,6206 116 MHz Total 8,4033 119 MHz Ocupação 2810 9% 3929 13% 1974 6% 1225 4% 2407 8% 10765 35% 25391 84% 134 MHz Shanon Shanon Slices Total 20

Plataformas Multicore (A) UPEM 1 (C) UPEM 3 E/S E/S (B) UPEM 2 E/S (n) UPEM n E/S 21

Plataformas Multicore Pesquisas: - Cripto-análise -Sistemas IDS de Alto desempenho - Genoma Humano Sequencias de Gens - Processamento de Imagens -- Reconhecimento de Voz 22

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

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

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

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

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

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

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

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

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