Você está na página 1de 128

Marcelo de Oliveira Rosa Universidade Tecnológica Federal do Paraná 23/05/2018

SEGURANÇA
CIBERNÉTICA
MARCELO DE OLIVEIRA ROSA
mrosa@utfpr.edu.br

UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ, CAMPUS CURITIBA


Marcelo de Oliveira Rosa Universidade Tecnológica Federal do Paraná 23/05/2018

2
EU NÃO QUERO QUE VOCÊ
SAIBA O QUE EU FIZ NO
VERÃO PASSADO
MARCELO DE OLIVEIRA ROSA
mrosa@utfpr.edu.br

UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ, CAMPUS CURITIBA


Marcelo de Oliveira Rosa Universidade Tecnológica Federal do Paraná 23/05/2018

TRUST NO ONE,
MR. MULDER
MARCELO DE OLIVEIRA ROSA
mrosa@utfpr.edu.br

UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ, CAMPUS CURITIBA


Marcelo de Oliveira Rosa Universidade Tecnológica Federal do Paraná 23/05/2018

NÃO CONFIO EM NINGUÉM


COM 32 DENTES...
MARCELO DE OLIVEIRA ROSA
mrosa@utfpr.edu.br

UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ, CAMPUS CURITIBA


Marcelo de Oliveira Rosa Universidade Tecnológica Federal do Paraná 23/05/2018

5 Programa

• Problemas básicos
• Tipos de cifragem e codificação
• Autenticação Segura
• Comunicação Segura
• Computação e Dados Seguros
• Moeda e Eleição Seguros
Marcelo de Oliveira Rosa Universidade Tecnológica Federal do Paraná 23/05/2018

6 Problemas Básicos

• Controle de acesso a recursos


Marcelo de Oliveira Rosa Universidade Tecnológica Federal do Paraná 23/05/2018

7 Problemas Básicos

• Proteger dados sensíveis de acesso indevido


Marcelo de Oliveira Rosa Universidade Tecnológica Federal do Paraná 23/05/2018

8 Problemas Básicos

• Necessidade de transmitir informação sem que TERCEIROS a descubram


• Transmissão de mensagens militares SEM que inimigos as interceptem
• Se as mensagens forem interceptadas, inimigo NÃO deve ser capaz de lê-las.

• Man-in-the-middle
Marcelo de Oliveira Rosa Universidade Tecnológica Federal do Paraná 23/05/2018

9 Problemas Básicos

• Necessidade de transmitir informação sem que TERCEIROS a descubram


• Transmissão de mensagens militares SEM que inimigos as interceptem
• Se as mensagens forem interceptadas, inimigo NÃO deve ser capaz de lê-las.

• Man-in-the-middle
Marcelo de Oliveira Rosa Universidade Tecnológica Federal do Paraná 23/05/2018

10 Problemas Básicos

• Formas de ataque
• Exploração de falhas no sistema
• Phreaking
• Morris worm (1988)
• Falhas no sendmail, estouro de buffer no fingerd + falhas sistema de login remoto rsh/rexec
• Jerusalem (1987)
• Infectava o MS-DOS, para deletar todos os programas do computador em sextas-feiras 13
• EternalBlue
• NSA ☞ MS-Windows (falha no protocolo SMB – server message block)
• Usado em Wannacry (ataque de resgate)
Marcelo de Oliveira Rosa Universidade Tecnológica Federal do Paraná 23/05/2018

11 Problemas Básicos

• Formas de ataque
• Exploração de falhas no sistema
• Stuxnet
• NSA? Israel? ☞ CLPs das centrífugas do programa nuclear iraniano
• Sistemas PCS7, WinCC e STEP7 SCADA da Siemens
• Altamente especializado

• Armazenada em pendrives ☞ infectar computadores isoladas da internet


• Exigiu alguém conectá-lo a algum computador iraniano

• Descoberto por erro de projeto do próprio “virus”


• Se propagou além da infraestrutura e chegou ao mundo virtual
Marcelo de Oliveira Rosa Universidade Tecnológica Federal do Paraná 23/05/2018

12 Problemas Básicos

• Formas de ataque
• Exploração de falhas no sistema
• Wannacry
• Ataque global explorando falhas do MS-Windows
• Criptografava todos os seus arquivos
• Exigia resgate
Marcelo de Oliveira Rosa Universidade Tecnológica Federal do Paraná 23/05/2018

13 Problemas Básicos

• Formas de ataque
• Ataque de exaustão
• Distributed Denial of Service (DDoS)
• Milhares de computadores escravos (por vírus) são comandados remotamente a acessar serviços
específicos, exaurindo recursos computacionais.
• Mydoom ☞ www.sco.com (sítio da Santa Cruz Operation, proprietária da marca UNIX)
• Mafiaboy ☞ amazon.com, CNN, Dell, eBay, Yahoo!
• Estonia
• 24.000 computadores ☞ bancos russos
• 620 Gbps de tráfego ☞ Brian Krebs (jornalista que relatou Stuxnet)
Marcelo de Oliveira Rosa Universidade Tecnológica Federal do Paraná 23/05/2018

14 Problemas Básicos

• Formas de ataque
• Ataque de exaustão
• Distributed Denial of Service (DDoS)
• GCHQ (NSA britânica) possui ferramentas para ataques DDoS
• Dia da morte de Michael Jackson
Marcelo de Oliveira Rosa Universidade Tecnológica Federal do Paraná 23/05/2018

15 Problemas Básicos

• Formas de ataque
• Engenharia Social
• Usar influência pessoal, carisma, etc, para conseguir acessos e dados sensíveis
• Kevin Mitnick
• Susan Headley

• “Aqui é do seu banco. Poderia nos passar sua senha para atualização de cadastro?”
Marcelo de Oliveira Rosa Universidade Tecnológica Federal do Paraná 23/05/2018

16 Tipos de Cifragem e Codificação

• Letras e símbolos ☞ Alfabeto


• Ideogramas chineses, japoneses (katakana, hiragana e kanji), egípcios, cuneiformes,
etc.
• Símbolos latinos, gregos, cirílico, etc.
• Braille, código Morse

• Arranjo dos elementos de alfabeto ☞ Idioma/Língua


• Mandarim, japonês, coreano, etc.
• Pedra de Roseta
• Português, inglês, alemão, etc.
Marcelo de Oliveira Rosa Universidade Tecnológica Federal do Paraná 23/05/2018

17 Tipos de Cifragem e Codificação

• Cifragem e decifragem de uma mensagem somente é possível se:


• Mesmo simbologia
• Mesmo linguagem (código/cifragem)
• Mandarim não é entendido por um falante brasileiro nativo

• Algumas cifragens e decifragens são possíveis


• Mesma simbologia (Português e Espanhol)
• Similaridade entre linguagem (ola ☞ hola)
Marcelo de Oliveira Rosa Universidade Tecnológica Federal do Paraná 23/05/2018

18 Tipos de Cifragem e Codificação

• Primeiras tentativas: ESTENOGRAFIA


• Escrever mensagem no couro cabeludo (raspado) do mensageiro e enviá-lo quando
seu cabelo voltar a crescer
• Escrever mensagem em seda fina, amassá-la, cobri-la com cera, e dá-la ao
mensageiro para engoli-la
• Escrever mensagem com “tinta” de limão
• Escrever mensagem, fotografá-la e reduzi-la até um “micro-ponto”

• Qual o problema com essa técnica?


Marcelo de Oliveira Rosa Universidade Tecnológica Federal do Paraná 23/05/2018

19 Tipos de Cifragem e Codificação

• Objetivo: ocultar o conteúdo da mensagem (M) do espião

• Princípio de Kerchkoff
• A segurança de um criptossistema NÃO DEVE depender da manutenção de um
criptoalgoritmo em segredo”
• Qualquer um deve conhecer a cifra: mesmo assim, dado uma mensagem cifrada, o
INIMIGO não deve ser capaz de decifrar seu conteúdo.
• Apenas algum parâmetro deve ser bem guardado
• Chave
Marcelo de Oliveira Rosa Universidade Tecnológica Federal do Paraná 23/05/2018

20 Tipos de Cifragem e Codificação

• Próximo passo: cifrar/criptografar a mensagem (M)


• CIFRA
• Forma de manipular (algoritmo) sequência de símbolos (dados) de forma a
ESCONDER a informação contida nessa sequência.
• Exemplo simples: somar uma constante ao código ASCII das mensagens
• MARCELO OCTEGNQ
• (77 65 82 67 69 76 79) + 2 = (79 67 84 69 71 78 81)

• Qual o problema dessa técnica?


Marcelo de Oliveira Rosa Universidade Tecnológica Federal do Paraná 23/05/2018

21 Tipos de Cifragem e Codificação

• Transposição
• Geração e transmissão de anagramas da mensagem
• Pode ser muito trabalhoso sem oferecer suficientes garantias de segurança
• Exemplo (tipo de citale)
• EU NAO QUERO QUE NINGUEM LEIA ISTO ☞
• EUNAOQUEROQUENINGUEMLEIAISTO ☞
• E N O U R Q E I G E L I I T ☞
• U A Q E O U N N U M E A S O ☞
• ENOURQEIGELIITUAQEOUNNUMEASO
Marcelo de Oliveira Rosa Universidade Tecnológica Federal do Paraná 23/05/2018

22 Tipos de Cifragem e Codificação

• Substituição
• Uso de dicionário simples de “tradução” simbólica (cifra de César)

a b c d e f g h i j k l m n o p q r s t u v w x y z
V I P H X O A R D L T B Q K E J Z S C U F G M Y M W

• A segunda linha do dicionário é a chave de cifragem

• A AULA SERA EM ITAIPU ☞ AAULASERAEMITAIPU ☞ VVFBVCXSAXDUVDJF

• Qual o problema dessa técnica?


Marcelo de Oliveira Rosa Universidade Tecnológica Federal do Paraná 23/05/2018

23 Quebrando Cifras

• Criptoanálise
• Técnicas para encontrar as chaves e decifrar mensagens
• Usada pelo INIMIGO (gato atrás do rato)
• Análise de frequência simbólica
• Alta probabilidade do símbolo CIFRADO mais frequente da mensagem corresponder
à LETRA mais frequente do IDIOMA da mensagem.
• Em VVFBVCXSAXDUVDJF, o símbolo V ocorre 4 vezes: pode ser A ou E.
• Alta probabilidade de sequência de poucos símbolos corresponder a palavras simples
como QUE, ELE, ELA, etc.
• Praticamente uma análise linguística!
Marcelo de Oliveira Rosa Universidade Tecnológica Federal do Paraná 23/05/2018

24 Tipos de Cifragem e Codificação

• Substituição polialfabética
• Uso de múltiplos dicionário simples de “tradução” simbólica

a b c d e f g h i j k l m n o p q r s t u v w x y z
B C D E F G H I J K L M N O P Q R S T U V W X Y Z A
C D E F G H I J K L M N O P Q R S T U V W X Y Z A B
D E F G H I J K L M N O P Q R S T U V W X Y Z A B C
E F G H I J K L M N O P Q R S T U V W X Y Z A B C D
F G H I J K L M N O P Q R S T U V W X Y Z A B C D E
G H I J K L M N O P Q R S T U V W X Y Z A B C D E F
Marcelo de Oliveira Rosa Universidade Tecnológica Federal do Paraná 23/05/2018

25 Tipos de Cifragem e Codificação

• Substituição polialfabética
• Cada símbolo da chave seleciona o alfabeto que cifra uma símbolo da mensagem

a b c d e f g h i j k l m n o p q r s t u v w x y z
B C D E F G H I J K L M N O P Q R S T U V W X Y Z A
C D E F G H I J K L M N O P Q R S T U V W X Y Z A B
D E F G H I J K L M N O P Q R S T U V W X Y Z A B C
E F G H I J K L M N O P Q R S T U V W X Y Z A B C D
F G H I J K L M N O P Q R S T U V W X Y Z A B C D E
G H I J K L M N O P Q R S T U V W X Y Z A B C D E F
Marcelo de Oliveira Rosa Universidade Tecnológica Federal do Paraná 23/05/2018

26 Tipos de Cifragem e Codificação

• Substituição polialfabética
• Exemplo: chave igual a CADE para mensagem FACA = ?

a b c d e f g h i j k l m n o p q r s t u v w x y z
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z A
C D E F G H I J K L M N O P Q R S T U V W X Y Z A B
C D E F G H I J K L M N O P Q R S T U V W X Y Z A B C
D E F G H I J K L M N O P Q R S T U V W X Y Z A B C D
E F G H I J K L M N O P Q R S T U V W X Y Z A B C D E
G H I J K L M N O P Q R S T U V W X Y Z A B C D E F
Marcelo de Oliveira Rosa Universidade Tecnológica Federal do Paraná 23/05/2018

27 Tipos de Cifragem e Codificação

• Substituição polialfabética
• Exemplo: chave igual a CADE para mensagem FACA = IBGF

a b c d e f g h i j k l m n o p q r s t u v w x y z
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z A
C D E F G H I J K L M N O P Q R S T U V W X Y Z A B
C D E F G H I J K L M N O P Q R S T U V W X Y Z A B C
D E F G H I J K L M N O P Q R S T U V W X Y Z A B C D
E F G H I J K L M N O P Q R S T U V W X Y Z A B C D E
G H I J K L M N O P Q R S T U V W X Y Z A B C D E F
Marcelo de Oliveira Rosa Universidade Tecnológica Federal do Paraná 23/05/2018

28 Quebrando Cifras

• Substituição polialfabética é imune a análise de frequência


• Note que o A foi cifrado de modos diferentes
• Chaves maiores tornam mais difícil a quebra dessa cifra
Marcelo de Oliveira Rosa Universidade Tecnológica Federal do Paraná 23/05/2018

29 Tipos de Cifragem e Codificação

• Chaves simétricas
• Personagens no mundo da criptografia
• Alice e Bob desejam se comunicar
• Eve deseja ouvir o que eles conversam
• Aqui Alice e Bob possuem possuem a mesma chave de cifragem
• Carol DEVE desconhecer essa chave

• Princípios básicos
• Substituição
• Permutação
Marcelo de Oliveira Rosa Universidade Tecnológica Federal do Paraná 23/05/2018

30 Tipos de Cifragem e Codificação

• Chaves simétricas
• Substituição
• Trocar símbolos originais por outros
• Uso de alfabetos
2 4 1 3
• Permutação/Transposição I T A I
• Reposicionamento de símbolos segundo uma regra
P U P R
• ITAIPU PRODUZ ENERGIA = APUEA IPOEG IRZRX TUDNI
O D U Z
E N E R
G I A X
Marcelo de Oliveira Rosa Universidade Tecnológica Federal do Paraná 23/05/2018

31 Tipos de Cifragem e Codificação

• Chaves simétricas
• Máquina Enigma
Marcelo de Oliveira Rosa Universidade Tecnológica Federal do Paraná 23/05/2018

32 Tipos de Cifragem e Codificação

• Chaves simétricas
• Máquina Enigma
• Repetição é a inimiga da segurança
• Repetições cíclicas
• Mensagens alemãs apresentavam textos repetitivos
• Marian Rejewski
• Allan Turing
Marcelo de Oliveira Rosa Universidade Tecnológica Federal do Paraná 23/05/2018

33 Tipos de Cifragem e Codificação

• Chaves simétricas
• Substituição binária
• S-Box: entrada de m bits ☞ n bits : operação não-linear + efeito avalanche
• 10110 ☞ 1 011 0 =

000 001 010 011 100 101 110 111


00 0101 1011 1000 0101 0010 0110 1000 1111
01 1010 1111 0001 1001 0111 0010 0010 0111
10 1011 0110 1001 0011 1111 0101 1011 0001
11 0001 1001 0111 0001 1011 1010 0010 1011
Marcelo de Oliveira Rosa Universidade Tecnológica Federal do Paraná 23/05/2018

34 Tipos de Cifragem e Codificação

• Chaves simétricas
• Substituição binária
• S-Box: entrada de m bits ☞ n bits : operação não-linear + efeito avalanche
• 10110 ☞ 1 011 0 = 0011

000 001 010 011 100 101 110 111


00 0101 1011 1000 0101 0010 0110 1000 1111
01 1010 1111 0001 1001 0111 0010 0010 0111
10 1011 0110 1001 0011 1111 0101 1011 0001
11 0001 1001 0111 0001 1011 1010 0010 1011
Marcelo de Oliveira Rosa Universidade Tecnológica Federal do Paraná 23/05/2018

35 Tipos de Cifragem e Codificação

• Chaves simétricas
• DES (Data Encryption Standard)
• Desenvolvido pela IBM
• Padronizado pelo NBS (National Bureau of Standards)
• Atual NIST (National Institute of Standards and Technology)
• “Ajustado” pela NSA (National Security Agency)
• Chaves de 56-bits
• Melhorado no 3DES (Triple DES)
Marcelo de Oliveira Rosa Universidade Tecnológica Federal do Paraná 23/05/2018

36 Tipos de Cifragem e Codificação

• Chaves simétricas Esquerda (32 bits) Direita (32 bits)


• DES (Data Encryption Standard)
Subkey 1
• 16 rounds X F(a, b)
(48 bits)
• Ao lado, apenas 2 para ilustrar
• Estrutura Feistel
• Expansão (32 ☞ 48 bits) +
Mixagem (xor bit-a-bit) +
Esquerda (32 bits) Direita (32 bits)
substituição + permutação
• Ajuste de chave
Subkey 2
X F(a, b)
(48 bits)
• Seleção de subchaves por rodada a
partir de chave de 56 bits!
Marcelo de Oliveira Rosa Universidade Tecnológica Federal do Paraná 23/05/2018

37 Tipos de Cifragem e Codificação

• Chaves simétricas
• DES (Data Encryption Standard)
• Frágil
• Interesses de segurança nacional americana
• Principais problemas
• Tamanho da chave (56 bits)
• S-Box
Marcelo de Oliveira Rosa Universidade Tecnológica Federal do Paraná 23/05/2018

38 Tipos de Cifragem e Codificação

• Chaves simétricas
• Novas propostas
• “Concurso” do NIST para novo padrão de cifragem
• Alguns concorrentes
• AES (Advanced Encryption Standard)
• Serpent
• Twofish
• RC6
• MARS
Marcelo de Oliveira Rosa Universidade Tecnológica Federal do Paraná 23/05/2018

39 Tipos de Cifragem e Codificação

• Chaves simétricas
• AES
• Rede de substituição/permutação
• Opera sobre blocos de 128 bits (16 bytes)
• Chaves de 128, 192 e 256 bits
• 10, 12, ou 14 rounds
• De acordo com tamanho de chaves

• Operações em álgebra de corpo finitos (finite fields)


• + Matrizes 4 x 4 (1 byte por elemento)
Marcelo de Oliveira Rosa Universidade Tecnológica Federal do Paraná 23/05/2018

40 Tipos de Cifragem e Codificação

• Chaves simétricas
• Outras disponíveis
• Blowfish
• CAMELLIA
• CAST-128
• IDEA (International Data Encryption Algorithm)
• RC2
• RC4
• SEED
• Parte da biblioteca OpenSSL
Marcelo de Oliveira Rosa Universidade Tecnológica Federal do Paraná 23/05/2018

41 Tipos de Cifragem e Codificação

• Chaves assimétricas
• Criptografia com chaves simétricas é suficiente para vencer man-in-the-middle
• Problema de distribuição de chaves
• Como Alice e Bob recebem trocam chaves sem que Eve saiba?
• Chave pública e privada
• Uso de aritmética modular (resto de divisão) + números primos
• Conceito de função de mão única ou função não-inversível
Marcelo de Oliveira Rosa Universidade Tecnológica Federal do Paraná 23/05/2018

42 Tipos de Cifragem e Codificação

• Distribuição de chaves
• Aritmética modular

X 1 2 3 4 5 6

3X 3 9 27 81 243 729

3X % 7

• Note: 7 é número primo!


Marcelo de Oliveira Rosa Universidade Tecnológica Federal do Paraná 23/05/2018

43 Tipos de Cifragem e Codificação

• Distribuição de chaves
• Aritmética modular

X 1 2 3 4 5 6

3X 3 9 27 81 243 729

3X % 7 3 2 6 4 5 1

• Note: 7 é número primo!


Marcelo de Oliveira Rosa Universidade Tecnológica Federal do Paraná 23/05/2018

44 Tipos de Cifragem e Codificação

• Distribuição de chaves
• Escolham um número A entre 0 (zero e 10)
• Não conte A para ninguém
• Calcule 7A % 11 = R
• Troque R’s com seu colega
• Calcule RA % 11 = S
• S é uma chave que você trocou com seu colega

• Parabéns, ninguém sabe A, mas ambos têm o mesmo S trocando R


• Eve demorará para encontrar A de ambos!
Marcelo de Oliveira Rosa Universidade Tecnológica Federal do Paraná 23/05/2018

45 Tipos de Cifragem e Codificação

• Distribuição de chaves
• Troca de chaves Diffie-Hellman-Merkle
• Equação modular Yx % P = R
• P primo, Y<P
• É possível trocar chaves por meio de comunicação inseguro
• Problema do logaritmo discreto
• Com números P grandes, considerável tempo para descobrir X,conhecendo-se Y, P e R.
• (>1024 bits)

• Há variantes mais seguras


• Diffie-Hellman com curvas elípticas
Marcelo de Oliveira Rosa Universidade Tecnológica Federal do Paraná 23/05/2018

46 Tipos de Cifragem e Codificação

• Chaves assimétricas
• Chave pública e privada
• Alice e Bob possuem, cada um, um par de chaves
• 1 pública e 1 privada
• Alice e Bob divulgam amplamente suas chaves públicas
• Eve pode ler as chaves públicas
• Alice manda uma mensagem para Bob cifrada com a chave pública de Bob
• Bob decifra a mensagem com sua chave privada
Marcelo de Oliveira Rosa Universidade Tecnológica Federal do Paraná 23/05/2018

47 Tipos de Cifragem e Codificação

• Chaves assimétricas
• Alice escolhe dois números primos (p e q)
• p = 17, q = 11
• Alice calcula N = p . q e escolhe um número e
• N = 187, e = 7
• Alice divulga N e e
Marcelo de Oliveira Rosa Universidade Tecnológica Federal do Paraná 23/05/2018

48 Tipos de Cifragem e Codificação

• Chaves assimétricas
• Alice conhece p, q (privada) e todos conhecem N e e (pública)
• Bob quer mandar mensagem M para Alice
• M = ‘X’, que em ASCII é 88
• Calcula C = Me % N
• C = 887 % 187 =
Marcelo de Oliveira Rosa Universidade Tecnológica Federal do Paraná 23/05/2018

49 Tipos de Cifragem e Codificação

• Chaves assimétricas
• Alice conhece p, q (privada) e todos conhecem N e e (pública)
• Bob quer mandar mensagem M para Alice
• M = ‘X’, que em ASCII é 88
• Calcula C = Me % N
• C = 887 % 187 = (884 % 187 + 882 % 187 + 881 % 187) % 187 = 11
• Aritmética modular (matemágica)

• Bob transmite C para Alice


Marcelo de Oliveira Rosa Universidade Tecnológica Federal do Paraná 23/05/2018

50 Tipos de Cifragem e Codificação

• Chaves assimétricas
• Alice recebe C
• Alice calcula [e . d] % [(p-1) . (q-1)] = 1
• [7 . d] % [ 160 ] = 1 ☞ d = 23
• Algoritmo de Euclides para MDC
• Alice decodifica mensagem por M = Cd % N
• M = 1123 % 187
• M = 88
Marcelo de Oliveira Rosa Universidade Tecnológica Federal do Paraná 23/05/2018

51 Tipos de Cifragem e Codificação

Chaves de Alice
• Chaves assimétricas
• RSA (Rivest, Shamir, Adleman)
pública privada

mensagem c8s7amSj#amx mensagem


secreta sjf!ajgAMslkd secreta
Marcelo de Oliveira Rosa Universidade Tecnológica Federal do Paraná 23/05/2018

52 Tipos de Cifragem e Codificação

• Assinatura Digital
• Como Bob verifica se um documento foi realmente enviado por Alice?
• Alice usa chaves assimétricas para “assinar o documento”
• Gera resumo criptográfico (hash) do documento
• “Decifra” resumo criptográfico com sua chave privada
• Envia documento + resumo criptográfico “decifrado” = Documento Assinado
• Bob checa se Alice realmente enviou documento
• Também gera resumo criptográfico do documento
• Cifra esse novo resumo “decifrado” com chave pública de Alice
• Teste: resumo cifrado = cifra [ resumo decifrado (chave privada) ] com chave pública
Marcelo de Oliveira Rosa Universidade Tecnológica Federal do Paraná 23/05/2018

53 Tipos de Cifragem e Codificação

Chaves de Alice
• Assinatura Digital
• RSA (Rivest, Shamir, Adleman)
pública privada

mensagem mensagem mensagem


secreta secreta secreta 8Mslgja

&maLs28#@ &maLs28#@

8Mslgja 8Mslgja
Marcelo de Oliveira Rosa Universidade Tecnológica Federal do Paraná 23/05/2018

54 Tipos de Cifragem e Codificação

• Funções HASH e MAC


• Hash ☞ Função de mapeamento y = f(x)
• Geralmente Tamanho(x) > Tamanho(y)
• Sobrejetora

• Hash para criptografia


• Tamanho(y) é constante (fixo)
• Inversa de f deve ser muito difícil de encontrar
• Ideal que seja bijetora
Marcelo de Oliveira Rosa Universidade Tecnológica Federal do Paraná 23/05/2018

55 Tipos de Cifragem e Codificação

• Funções HASH e MAC


• Itaipú Binacional ☞ c5885f9d5316b22804cb96d5bc593982
• Itaipu Binacional ☞ ab35a291ddaa2f32a3537bf02609bd7a
• Usando função MD5

• Pequenas mudanças no texto ☞ Grandes mudanças no resultado


• Checagem de integridade de documentos
• Identidade de arquivos
• Armazenagem de senhas
Marcelo de Oliveira Rosa Universidade Tecnológica Federal do Paraná 23/05/2018

56 Tipos de Cifragem e Codificação

• Funções HASH e MAC


• MAC (Message Authentication Code)
• Equivalente criptográfico do CRC
• Dígito verificador do RG, CPF, etc.

• Usado em troca de mensagens para autenticar a própria mensagem


• Difícil alterar a mensagem para preservar mesmo MAC

• Integridade + Autenticidade
Marcelo de Oliveira Rosa Universidade Tecnológica Federal do Paraná 23/05/2018

57 Tipos de Cifragem e Codificação

• Funções HASH e MAC


• MD5
• SHA-0
• SHA-1
• SHA-2
• SHA-224, SHA-256, SHA-384, SHA-512, e outras
• NSA
• SHA-3
• NIST
Marcelo de Oliveira Rosa Universidade Tecnológica Federal do Paraná 23/05/2018

58 Autenticação Segura

• Como nos “logamos” em um computador e adquirimos recursos


• Diversos métodos
• /etc/passwd (/etc/shadow)
• Linux PAM
• NTLM
• LDAP
• Windows Active Directory
• Kerberos
Marcelo de Oliveira Rosa Universidade Tecnológica Federal do Paraná 23/05/2018

59 Autenticação Segura

• /etc/passwd (/etc/shadow)*
• Arquivos onde cada linha contém:
• Nome dos usuário
• Senha criptografada* (para que o administrador não saiba sua senha)
• Diretório do usuário (onde você coloca seus dados)
• Informações adicionais
• Arquivo “protegido”
• Somente o usuário “root” e suas aplicações pode lê-lo e manipulá-lo
• Autenticação, por exemplo

• Qual o problema?
Marcelo de Oliveira Rosa Universidade Tecnológica Federal do Paraná 23/05/2018

60 Autenticação Segura

• Linux PAM
• Ideia básica: aplicações do usuário (Itaipú) podem requisitar senha do usuário
• Como evitar que o programa tenha acesso a senha do usuário?
• TI/Administradores querem controlar o acesso!
• Pluggable authentication module
• Configurado de acordo com o gosto da TI (administradores)
• auth : Definir quem é o usuário através de alguma credencial
• account : Definir se o usuário pode fazer o que deseja fazer
• password: Permite que o usuário troque suas credenciais
• session: o que o sistema faz antes ou depois da autenticação
• Qual o problema?
Marcelo de Oliveira Rosa Universidade Tecnológica Federal do Paraná 23/05/2018

61 Autenticação Segura

• NTLM
• NT LAN Manager
• Desenvolvido pela Microsoft para seus produtos
• Baseado em protocolos de de autenticação desafio-resposta
• Challenge-response authentication
• Cliente calcula hash() da senha digitada pelo usuário e a envia para o servidor
• Servidor calcula o hash() da senha que ele conhece e efetua comparação
• Geralmente armazena apenas hash(senha) ao invés de senha.

• Servidor pode enviar desafio também!

• Infelizmente é vulnerável (Microsoft implementou melhorias ao longo do tempo)


Marcelo de Oliveira Rosa Universidade Tecnológica Federal do Paraná 23/05/2018

62 Autenticação Segura

• LDAP
• Lightweight Directory Access Protocol
• Microsoft usou-o para implementar seu Windows Active Directory
• Arquitetura Cliente – Servidor
• É um diretório de serviços
• Lista de telefones / Lista de Ramais / Lista de Emails
• “Banco de Dados” de informações sobre objetos
• Chave ☞ Valor
• Chave ☞ Distinguished Name (DN)
• Valor ☞ Common Name (CN) ou email ou objectClass ou userPassword
• O céu é o limite para informações contidas
Marcelo de Oliveira Rosa Universidade Tecnológica Federal do Paraná 23/05/2018

63 Autenticação Segura

• LDAP
• Adaptado para funcionar com autenticação
• No Linux ☞ PAM
• PAM requisita credenciais (login / senha) do usuário
• Módulo pam_ldap consulta servidor LDAP (search) pelo DN
• Comunicação segura – aguarde próxima seção!!!

• Módulo pam_ldap checa se senhas são iguais

• Checagem de senhas não é feita usando a senha mas sua versão criptografada.
• Módulo pam_ldap deve rodar em ambiente seguro
Marcelo de Oliveira Rosa Universidade Tecnológica Federal do Paraná 23/05/2018

64 Autenticação Segura

• Kerberos
• Protocolo de autenticação
• Arquitetura Cliente – Servidor
• Assume que o meio de comunicação é inseguro!
• Usa criptografia simétrica para troca de informações
• Usa a senha do usuário como chave de criptografia
Marcelo de Oliveira Rosa Universidade Tecnológica Federal do Paraná 23/05/2018

65 Autenticação Segura

• Kerberos
• Estrutura Lógica Básica
• KDC – Key distribution center
• Gera chaves usadas na autenticação
• TGS – Ticket granting services
• Gera tickets com duração finita para transporte de informações
• Servidor do serviço
• Duas (2) etapas básicas
• Obtenção de ticket para usar algum serviço
• Acesso ao serviço usando ticket
Marcelo de Oliveira Rosa Universidade Tecnológica Federal do Paraná 23/05/2018

66 Autenticação Segura

• Kerberos
• Obtenção de ticket para usar algum serviço
• Cliente
• Recebe credenciais do usuário (login / senha)
• Gera uma chave secreta a partir dessa senha (hash por exemplo)
• Chave secreta e senha NUNCA trafegam na rede!

• Cliente ☞ Servidor TGS


• Requisição de ticket de autenticação para servidor Kerberos
• Contém apenas login (sem criptografia)
Marcelo de Oliveira Rosa Universidade Tecnológica Federal do Paraná 23/05/2018

67 Autenticação Segura

• Kerberos
• Obtenção de ticket para usar algum serviço
• Servidor TGS
• Checa se login existe

• Servidor TGS ☞ Cliente (se login existir)


• Chave de sessão cifrada com a chave gerada a partir da senha armazenada no servidor
• Ticket de autenticação cifrado com a chave do TGS (só ele conhece!)
• ID do usuário [1] + prazo de validade + chave de sessão
Marcelo de Oliveira Rosa Universidade Tecnológica Federal do Paraná 23/05/2018

68 Autenticação Segura

• Kerberos
• Obtenção de ticket para usar algum serviço
• Cliente
• Decifra chave de sessão usando chave gerada localmente a partir da senha do usuário
• Não decifra ticket de autenticação – só o servidor sabe a senha

• Cliente possui ☞ Ticket de autenticação + chave de sessão

• Cliente ☞ Servidor TGS:


• ID do serviço desejado + ticket de autenticação (continua cifrado com chave do TGS)
• ID do usuário [1] + timestamp cifrados com chave de sessão
Marcelo de Oliveira Rosa Universidade Tecnológica Federal do Paraná 23/05/2018

69 Autenticação Segura

• Kerberos
• Acesso ao serviço usando ticket
• Servidor TGS
• Recupera ID do serviço desejado
• Decifra ticket de autenticação com chave do TGS
• Decifra ID do usuário [1] com chave de sessão (foi ele quem gerou)

• Servidor TGS ☞ Cliente


• Ticket cliente-servidor (ID do usuário [1] + validade + chave de sessão) cifrado com chave de
serviço (só servidores TGS e de Serviço a conhecem!)
• Chave cliente-servidor cifrada com chave de sessão
Marcelo de Oliveira Rosa Universidade Tecnológica Federal do Paraná 23/05/2018

70 Autenticação Segura

• Kerberos
• Acesso ao serviço usando ticket
• Cliente possui
• Ticket de autenticação + chave de sessão + Ticket cliente-servidor

• Cliente ☞ Servidor de Serviço (SS – finalmente!):


• Ticket de cliente-servidor (continua cifrado com chave de serviço)
• ID de usuário [2] + timestamp cifrados com sua chave de sessão
Marcelo de Oliveira Rosa Universidade Tecnológica Federal do Paraná 23/05/2018

71 Autenticação Segura

• Kerberos
• Acesso ao serviço usando ticket
• Servidor de Serviço (SS)
• Decifra ticket de cliente-servidor com chave de serviço (só TGS e SS conhecem!)
• Recupera e decifra requisição do serviço
• Checa ID de usuário [1] = ID de usuário [2]

• Servidor de Serviço ☞ Cliente


• Responde com timetamp cifrado com chave de serviço

• Cliente e Servidor Desejado se conhecem e começam a trabalhar juntos


Marcelo de Oliveira Rosa Universidade Tecnológica Federal do Paraná 23/05/2018

72 Autenticação Segura

• Kerberos
• Mensagens foram cifradas usando chaves que servidor
• Cliente e Servidor conheciam
• Apenas 1 servidor (TGS) conhecia
• Dois servidores conhecem (TGS + SS)

• Separação entre servidores


• De Autenticação e Autorização (TGS)
• Do próprio serviço (SS)
Marcelo de Oliveira Rosa Universidade Tecnológica Federal do Paraná 23/05/2018

73 Autenticação Segura

• Problema das senhas:


• De nada adianta tudo isso se o usuário usa senhas fáceis de descobrir
• password
• 123456
• 12345678
• querty
• Abc123
• dragon
• iloveyou
Marcelo de Oliveira Rosa Universidade Tecnológica Federal do Paraná 23/05/2018

74 Autenticação Segura

• Problema das senhas:


• De nada adianta tudo isso se o usuário usa senhas fáceis de descobrir
• <data de aniversário>
• <nome do cônjuge>
• <data de aniversário do filho>
• <sobrenome>
• <nome da namorado/namorada>
• <nome do animal de estimação>
Marcelo de Oliveira Rosa Universidade Tecnológica Federal do Paraná 23/05/2018

75 Comunicação Segura

• “Antigamente” computadores não conversavam entre si


• Ataques exigiam contato direto com os computadores
• Solução era proteger/controlar seu acesso

• INTERNET
• Proposta de protocolos de comunicação entre computadores com premissas:
• Orientada a pacotes (blocos de dados)
• Descentralizada (“ninguém” é dono da rede)
• Tolerante a falha (queda de nós exige apenas redirecionamento da informação)
• Alguns problemas atuais originam-se da “antiguidade” da proposta
Marcelo de Oliveira Rosa Universidade Tecnológica Federal do Paraná 23/05/2018

76 Comunicação Segura

• Computadores conversam entre si usando PROTOCOLOS


• Modelo conceitual em camadas (OSI – Open Systems Interconnection – model)
• 7 camadas (1 – física, 2 – enlace de dados, 3 – rede, 4 – transporte,
5 – sessão, 6 – apresentação, 7 – aplicação)
• Mais usado atualmente: TCP/IP
• Implementação das 4 primeiras camadas (1 a 4), deixando a camada de aplicação (7) sem
definição
• Interface de programação (API) baseada em conectores lógicos
• SOCKETS
• Comunicação orientada a datagramas (UDP) ou a conexão (TCP)
• Protocolos sem segurança implícita!
Marcelo de Oliveira Rosa Universidade Tecnológica Federal do Paraná 23/05/2018

77 Comunicação Segura

• Barreiras tecnológicas para impedir acessos não autorizados


• Iptables e Firewall
• BIND (Berkeley Internet Name Domain) para DNS (Domain Name System)

• No mundo MS Windows temos:


• netsh firewall e netsh advfirewall (diretamente na linha de comando)
• NBNS (NetBIOS Name Service)
• WINS (Windows Internet Name Service)
Marcelo de Oliveira Rosa Universidade Tecnológica Federal do Paraná 23/05/2018

78 Comunicação Segura

• Iptables e Firewall
• Controla a propagação de pacotes TCP/IP em uma máquina ou roteador
• Roteador
• Máquina “especializada” que gerencia o envio de pacotes
• Opera na camada 3 do modelo OSI
• Configurado a partir de regras
• Todos os pacotes destinados a porta XX devem ser encaminhados para o endereço YY pela
porta ZZ
• Bloqueie todos os pacotes para a porta HTTP (80)
• Mascare endereços externos para endereços da rede interna 172.16.0.0/12
• Gerenciado pelo administrador de redes/TI
Marcelo de Oliveira Rosa Universidade Tecnológica Federal do Paraná 23/05/2018

79 Comunicação Segura

• Iptables e Firewall
• Roteamento de pacotes é função do núcleo de um sistema operacional (kernel)
• “Antigamente” exigia re-compilação do sistema operacional
• “Atualmente” apenas exige manutenção de arquivos de regras
• Permite roteamento baseado no conteúdo dos pacotes

• Mudança errada de regras pode paralisar toda a rede de uma organização


Marcelo de Oliveira Rosa Universidade Tecnológica Federal do Paraná 23/05/2018

80 Comunicação Segura

• BIND para DNS


• Servidor responsável pela tradução de nomes em endereços IPs
• Evita que tenhamos que decorar números para serviços desejados
• Exemplos
• www.utfpr.edu.br ☞ 200.19.73.182
• www.nsa.org ☞ 96.7.195.243
• www.itaipu.gov.py ☞ 131.161.254.21
• www.itaipu.gov.br ☞ 189.42.28.193
Marcelo de Oliveira Rosa Universidade Tecnológica Federal do Paraná 23/05/2018

81 Comunicação Segura

• BIND para DNS


• Funcionamento
• Cliente faz pergunta aos servidores DNS que conhece
• Cadastrado na própria máquina ou obtido via DHCP
• Servidor pode saber a resposta ou ter que perguntar a outro servidor
• Hierarquia em árvore (descentralizado, tolerante a falhas, eficiente)
• Resposta é o endereço IP (pode receber mais de um)
• Ferramentas para testar
• nslookup (Windows e Linux)
• dig (Linux mas pode ser instalado em Linux)
Marcelo de Oliveira Rosa Universidade Tecnológica Federal do Paraná 23/05/2018

82 Comunicação Segura

• BIND para DNS


Marcelo de Oliveira Rosa Universidade Tecnológica Federal do Paraná 23/05/2018

83 Comunicação Segura

• BIND para DNS


• Tanto a pergunta quanto a resposta são descriptografadas (abertas)
• Ataques man-in-the-middle não são percebidos
• Intruso pode responder mais rápido que o servidor correto, enganando o cliente
• Pergunto www.itaipu.gov.br e recebo 200.19.73.182 (endereço da UTFPR)
• Servidor local DNS pode ser inundado por requisições, que impedem a minha de ser
respondida a tempo (DoS ou Denial of Service)
Marcelo de Oliveira Rosa Universidade Tecnológica Federal do Paraná 23/05/2018

84 Comunicação Segura

• Como incorporar segurança na comunicação de dados?


• Incluir criptografia para:
• Impedir ataques do tipo man-in-the-middle
• Verificar identidade das partes envolvidas (autenticação)
Marcelo de Oliveira Rosa Universidade Tecnológica Federal do Paraná 23/05/2018

85 Comunicação Segura

• Conceitos adicionais importantes


• CA (Certificate authority)
• Entidade que emite certificados digitais
• Como um cartório em quem você confia!
• Certificado digital
• Documento digital cuja assinatura digital pode ser verificada (com prazo de validade)
• Contém informações como seu dono, quem emitiu o certificado
• Números aleatórios (true random numbers e pseudo random numbers)
• Protocolo X.509 para infraestrutura de chave pública (PKI)
• Cadeia de confiança
Marcelo de Oliveira Rosa Universidade Tecnológica Federal do Paraná 23/05/2018

86 Comunicação Segura

• Certificado Digital

CA checa
Subject: www.utfpr.edu.br Subject: www.utfpr.edu.br
identidade,
Organization: ITAIPÚ Organization: ITAIPÚ
criptografa-o
BINACIONAL BINACIONAL
com a chave
Address: xxx Address: xxx
PRIVADA do
Country: Brazil Country: Brazil
CA e gera seu
Chave pública de ITAIPÚ HASH = Chave pública de ITAIPÚ
59 A9 00 58 AF 03 51 95 assinatura 59 A9 00 58 AF 03 51 95
digital
Assinatura digital do
Certificador
CD 06 71 23 AA CE E8 49
Marcelo de Oliveira Rosa Universidade Tecnológica Federal do Paraná 23/05/2018

87 Comunicação Segura

• TLS/SSL
• “Túneis” criptográficos de dados
• SSL ☞ Secure Sockets Layer
• TLS ☞ Transport Layer Security

• Usa certificados digitais para garantir que cada lado é quem diz ser!
• Usa criptografia para proteger a comunicação
• Implementados na forma de bibliotecas
• OpenSSL, LibreSSL, GnuTLS, wolfSSL
• Usados no desenvolvimento da aplicação
Marcelo de Oliveira Rosa Universidade Tecnológica Federal do Paraná 23/05/2018

88 Comunicação Segura

• TLS/SSL
• Após o estabelecimento de comunicação insegura (TCP/IP)
• Algoritmos de cifragem e de troca de chaves são negociados
• Que idioma usaremos?
• Certificados são trocados e autenticados
• Você é quem diz ser?
• Trocam chaves públicas assimétricas
• Use minha “caneta especial” para escrever mensagens para mim
• Trocam chaves simétricas
• A caneta anterior era lenta: Vamos usar esta que é mais rápida

• Comunicação é segura pelo uso de criptografia com chaves simétricas


Marcelo de Oliveira Rosa Universidade Tecnológica Federal do Paraná 23/05/2018

89 Comunicação Segura

• TLS/SSL
Marcelo de Oliveira Rosa Universidade Tecnológica Federal do Paraná 23/05/2018

90 Comunicação Segura

• Iptable e Firewall
• Exige proteção das configurações de roteamento contra ataques de acesso
• Autenticação Segura + Computação e Dados Seguros
• Veremos mais tarde!

• Tais serviços atuam na camada 3 do modelo OSI, implicitamente inseguro


• Níveis superiores devem se responsabilizar pela segurança

• BIND para DNS


• Uma tentativa de combater alguns ataques é DNSSEC
• Incluir criptografia na pergunta e na resposta
Marcelo de Oliveira Rosa Universidade Tecnológica Federal do Paraná 23/05/2018

91 Comunicação Segura

• Ferramentas para INIMIGO


• Wireshark
• Inspeção de todos os pacotes de
dados
• Usado como ferramenta de “debug”
de protocolos de comunicação
• Muito usado para inspecionar – sem
autorização – redes Wi-Fi
• Descobrir senhas e outras
informações
Marcelo de Oliveira Rosa Universidade Tecnológica Federal do Paraná 23/05/2018

92 Comunicação Segura

• Ferramentas para INIMIGO


• KALI
• Instalação LINUX com ferramentas
para avaliação de segurança de
sistemas
• Projetado para o BEM, mas pode
ser usado para o MAL
Marcelo de Oliveira Rosa Universidade Tecnológica Federal do Paraná 23/05/2018

93 Comunicação Segura

• Wi-Fi
• Rede de comunicação sem fio (IEEE 802.11)
• Equivalente a rede física, só que via onda eletromagnética
• Formas de proteção
• Esconder o SSID
• Só quem conhece o nome da rede consegue localizá-la
• Endereços MAC específicos
• MAC ☞ Media access control address
• Endereço físico “único” do dispositivo
• Controle de acesso à rede + cifragem de dados
Marcelo de Oliveira Rosa Universidade Tecnológica Federal do Paraná 23/05/2018

94 Comunicação Segura

• Wi-Fi
• Controle de acesso à rede + cifragem de dados
• Protocolo para aceitar um dispositivo à uma rede privada específica
• AP (access point) media a entrada do dispositivo a essa rede privada

Rede privada
AP
Marcelo de Oliveira Rosa Universidade Tecnológica Federal do Paraná 23/05/2018

95 Comunicação Segura

• Wi-Fi
• Controle de acesso à rede + cifragem de dados
• WEP (Wired Equivalent Privacy)
• Autenticação por “aperto de mão” (handshake) baseado em desafio ou sem autenticação
• Ambos os lados conhecem a senha WEP (10 dígitos ☞ 40 bits)
• Dados cifrados por RC4 + CRC32
• Dado cifrado = RC4(senha WEP | “salt”) xor [dado transmitido]
• Salt ☞ “número aleatório” para “apimentar” a senha WEP do usuário

• Insegura
• Aircrack-ng presente em Kali consegue abrir pacotes e descobrir senha
Marcelo de Oliveira Rosa Universidade Tecnológica Federal do Paraná 23/05/2018

96 Comunicação Segura

• Wi-Fi
• Controle de acesso à rede + cifragem de dados
• WAP/WAP-2 (Wi-Fi Protected Access)
• Resposta aos problemas do WEP
• Cifragem de dados com chaves diferentes por pacotes (TKIP) ☞ WPA
• RC4 ☞ Minimiza problema do WEP por usar múltiplas chaves

• Cifragem de dados baseado em algoritmos usados em AES


• Variante usada em Zigbee

• Permite autenticação contra servidor RADIUS


• Para empresas
Marcelo de Oliveira Rosa Universidade Tecnológica Federal do Paraná 23/05/2018

97 Comunicação Segura

• Wi-Fi
• Controle de acesso à rede + cifragem de dados
• WAP/WAP-2 (Wi-Fi Protected Access)
• Permite autenticação contra servidor RADIUS
• Diversos EAP (Extensible Authentication Protocol)
• EAP-MD5 (Microsoft) ☞ Inseguro mas extremamente comum
• EAP-TLS
• EAP-SIM
• ... E muito outros
Marcelo de Oliveira Rosa Universidade Tecnológica Federal do Paraná 23/05/2018

98 Comunicação Segura

• Wi-Fi
• Pausa para vídeo “demonstrativo”
Marcelo de Oliveira Rosa Universidade Tecnológica Federal do Paraná 23/05/2018

99 Computação e Dados Seguros

• Mundo em nuvem
• Cloud computing
• Google, Amazon, Microsoft
• Infra-estrutura local
• Atualização constante (CAPEX elevado)
• Pessoal + material sobresalente (OPEX elevado)
• Eu controlo tudo
• Infra-estrutura na núvem
• Paga o que usa
• Alguém controla tudo por mim
Marcelo de Oliveira Rosa Universidade Tecnológica Federal do Paraná 23/05/2018

100 Computação e Dados Seguros

• Mundo conectado
• Máquinas de cartão de crédito/débito
• Chupa-cabra
• Processamento de distribuído
• Controle remoto de carro da Chrysler/FIAT
• Equipe TI
• (Ex-) funcionário resolve se vingar
• Ataque interno
Marcelo de Oliveira Rosa Universidade Tecnológica Federal do Paraná 23/05/2018

101 Computação e Dados Seguros

• Hardware pode sofrer ataques


• Side-channel attacks

• Objetivo ☞ obter senhas e dados sensíveis


• Extrato de conta bancária
• Acordos de confidencialidade
• Informações comerciais relevantes

• TPM
• Trusted Platform Module
• Não confiamos nem no sistema operacional (root)
Marcelo de Oliveira Rosa Universidade Tecnológica Federal do Paraná 23/05/2018

102 Computação e Dados Seguros

• Side-channel attacks
• Ataques onde se inspeciona características físicas de desempenho do hardware
para inferir o que ele está fazendo e extrair senhas
Marcelo de Oliveira Rosa Universidade Tecnológica Federal do Paraná 23/05/2018

103 Computação e Dados Seguros

• Side-channel attacks
• Ataques onde se inspeciona características físicas de desempenho do hardware
para inferir o que ele está fazendo e extrair senhas
Marcelo de Oliveira Rosa Universidade Tecnológica Federal do Paraná 23/05/2018

104 Computação e Dados Seguros

• TPM
• Padrão para hardware seguro
• Pode ser:
• Conjunto de instruções dedicado (SGX)
• Co-processador dedicado
• Soluções de software que rodam em ambientes seguros de hardware
• Máquinas virtuais rodando em hardware seguro
Marcelo de Oliveira Rosa Universidade Tecnológica Federal do Paraná 23/05/2018

105 Computação e Dados Seguros

• TPM
• Atestação remota
• Permitir que um elemento externo saiba se está ou não conversando com um software
sendo executado em ambiente seguro
• Handshake seguro com troca de credenciais
• Geração de números “quase”-aleatórios
• Selagem
• Garantir que dados sejam somente entendidos pelo processador seguro que o gerou
• Cifragem em hardware
• Memória RAM cifrada
Marcelo de Oliveira Rosa Universidade Tecnológica Federal do Paraná 23/05/2018

106 Computação e Dados Seguros

• TPM
• Intel SGX
• Conceito de ENCLAVEs
• Áreas seguras de memória, onde códigos são executados de modo “seguro”
• Intel Core sexta-geração e superior
• Exige que a placa-mãe saiba trabalhar com SGX
• Operacional desde 2015/2016
• ARM TrustZone
• Processador seguro “dentro” do processador inseguro
• Anunciado em 2015
Marcelo de Oliveira Rosa Universidade Tecnológica Federal do Paraná 23/05/2018

107 Computação e Dados Seguros

• Dados armazenados em nuvem


• Nossos dados estão na nuvem
• Facebook, Google, Amazon, Microsoft
• Como confiar neles?

• Dados sensíveis são cifrados


• Problemas com chaves primárias
• Se dados sensíveis forem chaves, como fazer operações lógicas com dados cifrados?

• Ainda um problema em pesquisa!


Marcelo de Oliveira Rosa Universidade Tecnológica Federal do Paraná 23/05/2018

108 Computação e Dados Seguros

• Dados armazenados em nuvem


• “Máquina virtual” segura
• Docker seguro = SCONE (TU Dresden)
• Processamento seguro
• SCBR (University of Neuchatel) + TaLoS (Imperial College)
• Armazenamento de dados seguro
• ChocolateCloud + CASCA (UTFPR)
• Smartgrid seguro
• Institutos Lactec + COPEL + Inmetro + UTFPR + UFCG + UniFEI
Marcelo de Oliveira Rosa Universidade Tecnológica Federal do Paraná 23/05/2018

109 Moeda e Eleição Seguros

• Moeda digital ou criptomoeda


• Bitcoin
• Satoshi Nakamoto
• Ethereum, Cardano, Litecoin, Stellar,
NEM, Monero, Ripple, ...
Marcelo de Oliveira Rosa Universidade Tecnológica Federal do Paraná 23/05/2018

110 Moeda e Eleição Seguros

• Moeda digital ou criptomoeda


• Sem autoridade central para gerenciá-las
• Consenso distribuído
• Propriedade definida por cifragem
• Chaves pública e privadas
• Transações definem troca de propriedade de moeda
• Evitar duplo pagamento!
• Evolução transacional é mantida por cifragem
• Novas quantidades de uma moeda são criadas em circunstâncias específicas
Marcelo de Oliveira Rosa Universidade Tecnológica Federal do Paraná 23/05/2018

111 Moeda e Eleição Seguros

• Moeda digital ou criptomoeda


• Bitcoin (ou 100.000.000 shatoshi’s)
• Armazenados em endereços de bitcoin
• Um usuário pode criar quantos endereços
☞ quiser (segundo regras)
• Assinado digitalmente
• Propriedade de endereços de bitcoins é definida por chave privada da carteira do proprietário

• Máximo de 21.000.000 bitcoins (atualmente 16.000.000 bitcoins)


• Novos bitcoins são criados através de mineração
• Criação é logarítmica ☞ Taxas de mineração são reduzidas sucessivamente a metade, até zero
• Lei de oferta e procura
Marcelo de Oliveira Rosa Universidade Tecnológica Federal do Paraná 23/05/2018

112 Moeda e Eleição Seguros

• Moeda digital ou criptomoeda


• Carteira digital
• Conjunto dos endereços de bitcoin de um usuário
• Ideal é que se tenha um endereço de bitcoin por transação
• Evitar que alguém sabia quão rico você é!
• Fornecedores diversos “cuidam” para observar essa regra/sugestão
Marcelo de Oliveira Rosa Universidade Tecnológica Federal do Paraná 23/05/2018

113 Moeda e Eleição Seguros

• Moeda digital ou criptomoeda


• Mineração
• Realizado por um conjunto de entidades (mineradores)
• Rede peer-to-peer
• Validam uma transação, recebendo uma taxa da operação
• Taxa é definida por quem requisita uma transação!
• Operam por consenso
• N mineradores devem chegar no mesmo resultado ☞ confirmação da transação
• N elevado ☞ elevada confiança na transação
• Operação difícil mas recompensável
• “Não se acha ouro em qualquer lugar”
Marcelo de Oliveira Rosa Universidade Tecnológica Federal do Paraná 23/05/2018

114 Moeda e Eleição Seguros

• Moeda digital ou criptomoeda


• Blockchain
Marcelo de Oliveira Rosa Universidade Tecnológica Federal do Paraná 23/05/2018

115 Moeda e Eleição Seguros

• Moeda digital ou criptomoeda


• Alice envia 1BTC para Bob
• Alice submete requisição de transação (bem simplificado)
• <“endereços de bitcoin” de Alice> +
• <“endereços de bitcoin” de Bob> +
• <valor transferido = 1BTC>
• <assinatura digital da requisição>
• Assinatura digital com chave privada do “endereço de bitcoin” de Alice

• <hash de transações prévias que formam 1BTC>


• Dinheiro flui por transações

• Múltiplas entradas ☞ múltiplos destinos


Marcelo de Oliveira Rosa Universidade Tecnológica Federal do Paraná 23/05/2018

116 Moeda e Eleição Seguros

• Moeda digital ou criptomoeda


• Alice envia 1BTC para Bob
• Conjunto de mineradores recebe requisição
• Procuram por transações com melhores taxas
• Validam a requisição de Alice (checagem da assinatura digital)
• Hash(requisição + nonce) = <número de bits INICIAIS nulos>
• Nonce incremental até equação for verificada

• Quando equação é resolvida


• Novo bloco é adicionado à blockchain do minerador
• Resultado é propagado para outros mineradores

• Outros mineradores confirmam a operação


Marcelo de Oliveira Rosa Universidade Tecnológica Federal do Paraná 23/05/2018

117 Moeda e Eleição Seguros

• Moeda digital ou criptomoeda


• Alice envia 1BTC para Bob
• Alice e Bob aguardam N confirmações
• N elevado ☞ Maior garantia de transferência
• Podem aguardar por muito tempo!
• Depende da taxa de transação paga

• Confirmações permitem novas transações na blockchain


Marcelo de Oliveira Rosa Universidade Tecnológica Federal do Paraná 23/05/2018

118 Moeda e Eleição Seguros

• Votação Eletrônica (e-voting)


• Processo eletrônico para coleta e/ou tabulação de resultados de votação
• Apenas contabilização dos votos
• Totalmente eletrônica (fim-a-fim)
• Direct recording eletronic machines (DRE)
• Brasil
• Semi-eletrônica
• Cartões perfurados lidos eletrônicamente (alguns estados dos EUA)
• Online
Marcelo de Oliveira Rosa Universidade Tecnológica Federal do Paraná 23/05/2018

119 Moeda e Eleição Seguros

• Votação Eletrônica (e-voting)


• Identificação única do eleitor
• Dissociação voto – eleitor
• Inviolabilidade do voto
• Auditabilidade do voto
Marcelo de Oliveira Rosa Universidade Tecnológica Federal do Paraná 23/05/2018

120 Moeda e Eleição Seguros

• Votação Eletrônica (e-voting)


• Identificação única do eleitor
• Ninguém irá votar no meu lugar, ou votará mais de uma vez
• Dissociação voto – eleitor
• Apenas eu sei em quem eu votei
• Inviolabilidade do voto
• Ninguém pode alterar meu voto durante o processo eleitoral
• Auditabilidade do voto
• O processo eleitoral pode ser checado, sem invalidar demais características
Marcelo de Oliveira Rosa Universidade Tecnológica Federal do Paraná 23/05/2018

121 Moeda e Eleição Seguros

• Votação Eletrônica (e-voting)


• Segurança fim-a-fim
• Verificação individual
• Eu consigo saber se meu voto foi corretamente considerado na eleição
• Verificação universal
• Um auditor consegue saber que o resultado final é oriundo de todos os votos
Marcelo de Oliveira Rosa Universidade Tecnológica Federal do Paraná 23/05/2018

122 Moeda e Eleição Seguros

• Votação Eletrônica (e-voting)


• Método de Farnel
• Cada eleitor verifica o voto do outro
• Duas urnas:
• Urna primária, com votos sem assinatura
• Urna com votos assinados (Farnel)

• Recibo de votação é checar assinatura em votos


Marcelo de Oliveira Rosa Universidade Tecnológica Federal do Paraná 23/05/2018

123 Moeda e Eleição Seguros

• Votação Eletrônica (e-voting)


• Prêt à Voter
• Cada cédula contém 2 seções
• Lista dos candidatos em ordem aleatória
• Identificador aleatório onde se registra o voto
• Na votação, descarta-se a seção com a lista de candidatos
• Um aparato eletrônico lê o voto e o identificador aleatório
• O eleitor leva consigo a prova de voto, assinada.
• Somente a máquina de apuração sabe a relação entre id aleatória e ordem da lista de candidados
Marcelo de Oliveira Rosa Universidade Tecnológica Federal do Paraná 23/05/2018

124 Moeda e Eleição Seguros

• Votação Eletrônica (e-voting)


• ThreeBallot
• Cédula com três seções idênticas destacáveis
• Mesmos candidatos na mesma ordem em todas as seções
• Um ID único para cada seção
• Vota correto na seção do meio e faz qualquer marcação nas demais seções
• Seção do meio é que conta para resultado
• Uma das seções – aleatoriamente escolhida – é copiada e devolvida ao eleitor
• Recibo só é compreendido pelo eleitor
• Após eleição, todos os votos são publicados
• Checagem do recibo
Marcelo de Oliveira Rosa Universidade Tecnológica Federal do Paraná 23/05/2018

125 Moeda e Eleição Seguros

• Votação Eletrônica (e-voting)


• Bingo Voting
• Usa números aleatórios para representar/codificar votos
• Gera N x M votos “nulos” (dummies – números aleatórios)
• N candidados e M eleitores
• Na votação
• Cada eleitor escolhe um candidato
• O sistema gera um número aleatório para aquele candidato
• Copia votos “nulos” para demais candidatos
• Imprime o recibo com lista de candidatos e respectivos números aleatórios
Marcelo de Oliveira Rosa Universidade Tecnológica Federal do Paraná 23/05/2018

126 Moeda e Eleição Seguros

• Votação Eletrônica (e-voting)


• Bingo Voting
Marcelo de Oliveira Rosa Universidade Tecnológica Federal do Paraná 23/05/2018

127 Moeda e Eleição Seguros

• Votação Eletrônica (e-voting)


• Bingo Voting
• Na apuração
• Publica-se cópia de todos os recibos emitidos
• Número de votos dummies é checado
• Usados + descartados

• Voto por candidato = Número de votos não-”dummies”


• Auditoria
• Eu checo meu voto ☞ conheço a minha sequência aleatória
• Auditor checa totais de votos dummies e não-dummies
Marcelo de Oliveira Rosa Universidade Tecnológica Federal do Paraná 23/05/2018

128 FIM

Marcelo de Oliveira Rosa


mrosa@utfpr.edu.br
Universidade Tecnológica Federal do Paraná, campus Curitiba

Você também pode gostar