66
CRIPTOGRAFIA * Créditos: Prof. Dr.Edgar Jamhour - PUC Parana

11 - seguranca_criptografia

Embed Size (px)

DESCRIPTION

11 - seguranca_criptografia

Citation preview

CRIPTOGRAFIA

* Créditos: Prof. Dr.Edgar Jamhour - PUC Parana

Uma das ferramentas mais importantes

para a segurança da informação é a

criptografia.

Qualquer método que transforme

informação legível em informação

legível ilegível.

O fato é que todos nós temos informações que queremos

manter em sigilo:

Desejo de Privacidade.

Autoproteção.

Empresas também têm segredos.

Informações estratégicas.

Previsões de vendas.

Detalhes técnicos como produtos.

Resultados de pesquisa de mercado.

Arquivos pessoais.

Por que Criptografia ?

O papel da criptografia na segurança da informação

Mundo real

Se as fechaduras nas portas e janelas

da sua casa são relativamente fortes, a

ponto de que um ladrão não pode invadir

e furtar seus pertences …

… a sua casa está segura.

O papel da criptografia na segurança da informação

Mundo real

Para maior proteção contra invasores,

talvez você tenha de ter um sistema de

alarme de segurança.

A sua casa estará mais segura.

O papel da criptografia na segurança da informação

Mundo real

Se alguém tentar fraudulentamente

retirar dinheiro de sua conta bancária,

mas se o banco não confiar na história do

ladrão …

… seu dinheiro estará seguro.

O papel da criptografia na segurança da informação

Mundo real

Quando você assina um contrato, as

assinaturas são imposições legais que

orientam e impelem ambas as partes a

honrar suas palavras.

O papel da criptografia na segurança da informação

Mundo Digital

Confidencialidade ou Privacidade

Ninguém pode invadir seus arquivos e ler os

seus dados pessoais sigilosos (Privacidade).

Ninguém pode invadir um meio de comunicação

e obter a informação trafegada, no sentido de

usufruir vantagem no uso de recursos de uma

rede (confidencialidade).

O papel da criptografia na segurança da informação

Mundo Digital

A privacidade é a fechadura da porta.

Integridade refere-se ao mecanismo

que informa quando algo foi alterado.

Integridade é alarme da casa.

O papel da criptografia na segurança da informação

De algum modo a criptografia contribui

para resolver os problemas de:

confidencialidade,

privacidade,

integridade,

autenticação,

irretratabilidade,

disponibilidade.

O papel da criptografia na segurança da informação

Mas, de modo algum a criptografia é a

única ferramenta para assegurar a

segurança da informação.

Nem resolverá todos os problemas de

segurança.

Criptografia não é a prova de falhas.

O papel da criptografia na segurança da informação

Toda criptografia pode ser quebrada e ,

sobretudo, se for implementada

incorretamente, não agrega nenhuma

segurança real.

O que veremos: uma visão da criptografia,

focalizando a sua uitlização de forma

adequada.

O papel da criptografia na segurança da informação

Não se trata de uma análise completa de

tudo o que se deve conhecer sobre

criptografia.

Veremos as técnicas de criptografia

mais amplamente usadas no mundo

atual.

Significado da palavra “Criptografia”

A palavra criptografia vem das palavras gregas

que significam “escrita secreta”.

Kriptos (em grego) = Secreto + Grafia (de

escrever)

Criptografia = Escrita secreta.

Criar mensagens cifradas.

História de milhares de anos.

Jargões da Criptografia

Encripta (codifica, criptografa, cifra)

Decripta (decodifica, decriptografa,

decifra)

Os procedimentos de criptografar e

decriptografar são obtidos através de um

algoritmo.

Criptografia

Possui emprego nas mais diferentes áreas

de atuação, mas em todas, tem o mesmo

significado: proteger informações

consideradas ‘especiais’ ou de qualidade

sensível.

Criptografia

É o ato de alterar uma mensagem para

esconder o significado desta.

Cifra de Cesar

A cifra de Cesar é uma das mais simples e

conhecidas técnicas de criptografia. É um tipo

de cifra de substituição na qual cada letra do

texto é substituída por outra representada no

mesmo alfabeto. A substituição ocorre

alterando a posição definida.

Cifra de Cesar

Cifra de Cesar

Por exemplo para que a substituição ocorra

no valor de 3 posições teríamos:

Texto Normal:

ABCDEFGHIJKLMNOPQRSTUVWXYZ

Texto Cifrado:

DEFGHIJKLMNOPQRSTUVWXYZABC

Cifra de Cesar

Perdurou por mais de 1000 anos e foi

descoberta pelos árabes

Depois vieram muitas outras cifras que

também foram quebradas.

2º Guerra Mundial

Em meados da 2º guerra mundial, foi criado uma

máquina chamada ENIGMA.

Muito parecida com uma máquina de escrever.

2º Guerra Mundial

2º Guerra Mundial

2º Guerra Mundial

2º Guerra Mundial

Tinha uma variedade de combinações de

aproximadamente 1 SEXTILHÃO de possibilidade.

Muito usado pelos soldados alemães para se

comunicar durante a guerra.

2º Guerra Mundial

Criptografia Baseada em Chaves

Texto Aberto

(PlainText)

Texto Fechado

(Ciphertext)

CRIPTOGRAFIA

DESCRIPTOGRAFIA

Criptografia por Chaves

Princípio: O resultado da criptografia depende de um parâmetro de entrada, denominado chave.

Exemplo. Caesar Cipher

Chave: N = número de letras deslocadas

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

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

Nada de novo

no front.

Qdgd gh qryr

qr iurqw.

N = 3

N = 4 Rehe hi rszs rs

jvstx.

Espaço das Chaves (KeySpace)

Uma chave é um valor específico do espaço de chaves (keyspace).

No exemplo anterior:

KS = 25

N = 3, é a chave específica.

Algoritmos Modernos:

Utilizam chaves binárias

O espaço de chaves depende do tamanho da chave

Dois tipos de Algoritmos:

Simétricos: KS 2tamanho_chave

Assimétricos: KS << 2tamanho_chave

Segurança =Tamanho do Espaço de Chaves

Exemplo: Algoritmo Simétrico

chaves de 128 bits: KS = 2128 chaves

KS = 3,4028 1038 chaves

Computador: capaz de avaliar

1 bilhões de chaves por segundo

= 3,1536 1016 chaves por ano

= 31,536 milhões de bilhões chaves por ano

Testaria todas as chaves em:

1,0781 1022 de anos

= 1,0781 1010 trilhões de anos

= 10,0781 bilhões de trilhões de anos

Criptografia Simétrica e Assimétrica

Dois sistemas de criptografia são usados atualmente:

Criptografia Simétrica ou de Chave Secreta

trabalha com uma única chave.

Chave secreta ou chave de sessão

Criptografia Assimétrica ou de Chave Pública

trabalha com um par de chaves

Chave pública

Chave privada

Chave Secreta (Criptografia Simétrica)

Texto

Simples

(plaintext)

Texto

Codificado

(ciphertext)

Texto

Simples

(plaintext)

Chave Secreta

Algoritmo de

Criptografia

Algoritmo de

Descriptografia

Chave Secreta=

DES – Data Encryption Standard

Um dos algoritmo de chave secreta mais difundido é o DES.

Originalmente Desenvolvido pela IBM.

Este algoritmo é padronizado pela ANSI, e foi adotado como algoritmo

oficial pelo governo americano.

DES criptografia blocos de 64 bits com chaves de 56 bits.

DES utiliza técnicas baseadas em permutação sucessiva de bits.

Modos de Operação

O DES possui vários modos de operação, dependendo da maneira como os blocos de 64 bits de uma mesma mensagem são criptografados.

Alguns exemplos são:

ECB: Electronic Codebook Mode

CBC: Cipher Block Chaining

Chave Pública = CRIPTOGRAFIA ASSIMÉTRICA

Sistema de Criptografia Assimétrico

Utiliza um par de chaves.

Uma chave publica para criptografar a mensagem.

Uma chave privada para descriptografar a mensagem.

A chave pública não é secreta.

A chave privada é secreta.

A chave pública deve ser distribuída para os usuário que desejarem enviar uma mensagem com segurança.

Chave Pública (Criptografia Assimétrica)

Texto

Simples

(plaintext)

Texto

Codificado

(ciphertext)

Texto

Simples

(plaintext)

Chave Pública Chave Privada

Algoritmo de

CriptografiaAlgoritmo de

Decriptografia

Chave Pública e Chave Secreta

Receptor

(servidor)

Transmissor

(cliente)

Chave privada

Chave pública

1

2

3

(chave secreta

aleatória)

4

(chave secreta

aleatória)

COMUNICAÇÃO

SEGURA

RSA (Rivest, Shamir, Adleman)

Sejam p, q e e números primos (> 512 bits). Calcula-se:

n = p.q e ed = 1 mod (p-1)(q-1)

As chaves são definidas da seguinte maneira:

Chave pública: (n,e) e Chave privada: d

Para criptografar uma mensagem “m” efetua-se a operação:

s = me mod n

Para decriptografar, efetua-se a operação:

m = sd mod n

RSA

O algoritmo RSA é muito mais lento que o DES, pois os cálculos efetuados são complexos.

Por utilizar números primos, o RSA precisa de chaves muito grandes para reproduzir o mesmo grau de segurança do DES.

Espaço de Chaves <<< 2tamanho_chave

As chaves em RSA são em geral da ordem de 1024 bits.

Assinatura Digital com Chave Pública

Permite ao receptor verificar a integridade da mensagem:

O conteúdo não foi alterado durante a transmissão.

O transmissor é quem ele diz ser.

Assinatura

digital

Chave privada

Algoritmo

de assinatura

digitalMensagem

isto é

segredo

Implementação da Assinatura Digital

ABFC01

FE012A0

2C897C

D012DF

41

DIGEST

F18901B

Algoritmo

de

Hashing

ASSINATURA

DIGITAL

ABFC01

FE012A0

2C897C

D012DF

41

Mensagem

com

Assinatura

Digital

MENSAGEM

aberta

ASSINATURA

criptografada

Algoritmo de

Cripografia

Geração e Validação das Assinaturas

xxxx

yyyy

zzzz

Assinatura

DigitalDIGEST

1B2A37...Criptografia com

chave privada

Algoritmo

de

Hashing

Rede

Assinatura

Digital

xxxx

yyyy

zzzz

DIGEST

Decriptografia

com chave

pública

DIGEST

Algoritmo

de

Hashing

COMPARAÇÃO

RECEPTORTRANSMISSOR

Verificação da Integridade da Mensagem

Transmissor

(A)Receptor

(B)

MENSAGEMASSINATURA

DIGITAL

CHAVE PRIVADA DE ACHAVE PÚBLICA DE A

O receptor precisa ter a chave

pública do transmissor para verificar

a assinatura.

Autoridade Certificadora

C.A.

(Certification

Authority)

I.D. do

Proprietário

Assinatura

Digital

Autoridade

Certificadora

(Verisign,

Certisign,

Etc.)

Chave pública (e.g., Banco do Brasil)

CHAVE

PRIVADA

I.D. da

CA

Certificado X509

www.bancodobrasil.com.br

Banco do Brasil S.A.

Brasilia, DF, Brasil

www.verisign.com

Verisign, Inc.

Estratégias de Certificação

O software que recebe o certificado (por exemplo, o browser) deve possuir a chave pública da autoridade certificadora.

Base

de

chaves

I.D. do

Proprietário

Assinatura

Eletrônica

I.D. da

Autoridade

Certificadora

VERISIGN: www.verisign.com

Off-line On-line

www.bancodobrasil.com.br

PKI (Public Key Infrastructure)

O termo PKI (Infraestrutura de chave pública) é utilizado para descrever o

conjunto de elementos necessários para implementar um mecanismo de

certificação por chave pública.

EMPRESA

A

EMPRESA

B

CA

(Autoridade

Certificadora)certificadoscertificados

Como a criptografia pode ser implementada?

Protolco de

Aplicação

FTP, SMTP, HTTP,

Telnet, SNM, etc.

TCP, UDP

Data Link

Ethernet, Token

Ring, FDDI, etc

IP

Física

Aplicações

Tecnologia

heterogênea

aplicação

transporte

rede

enlace

física

Seqüência de

empacotamento

SSL

SSL: Secure Sockets Layer

HTTP TELNET

SSL

TCP/IP

POP

80 110 23

HTTPs TELNETsPOPs

443 995 992

Sockets

Exemplo: HTTPS

CLIENTE SERVIDOR

SOCKS

SSL

>1023

>1023

SOCKS

SSL443

80

HTTP

HTTPS

Recurso

Não

Protegido

Recurso

Protegido

X

SSL e TLS

SSL: Secure Socket Layer

Definido pela Netscape

Versão atual: 3.0

TLS: Transport Layer Security

Definido pelo IETF

Versão atual: 1.0

RFC 2246 (Janeiro de 1999)

O TLS 1.0 é baseado no SSL 3.0, mas eles possuem diferenças que os tornam incompatíveis.

TLS

O TLS define dois sub-protocolos:

TLS Record Protocol

Utilizado para encapsular os protocolos das camadas superiores.

TLS Handshake Protocol

Utilizado para negociar o algorítmo e as chaves de criptografia antes que o primeiro byte da comunicação segura seja transmitido.

SSL/TLS

SSL Record Protocol

TLS

Os objetivos do TLS são:

Segurança criptográfica entre dois pontos.

Interoperabilidade

Fabricantes diferentes

Extensibilidade

Novos algorítmos de criptografia.

Eficiência:

CPU

Tráfego de rede.

Secure Socket Layer (SSL) e Transport Layer Security (TLS)

O SSL/TLS permite executar duas funções básicas:

autenticação entre o cliente e o servidor.

criptografia na troca de mensagens.

SSL/TLS

O cliente se autentica para o servidor (opctional)

O servidor se autentica para o cliente (obrigatório)

Identificação

do CA

Autenticação do Servidor

SSL/TLS permite ao usuário confirmar a identidade do servidor.

SSL

Identificação do

Servidor

Chave pública

do servidor

Assinatura Digital

de uma CA

Certificados de Servidor

Autenticação do Cliente

SSL permite ao servidor identificar a identidade do cliente.

SSL

Identificação

do CA

Identificação do

Cliente

Chave pública

do Cliente

Assinatura Digital

de uma CA

Certificados de Cliente

Criptografia da Comunicação

Após a certificação, o SSL/TLS cria uma chave de sessão que garante:

Confidencialidade e Proteção contra Tampering (alteração dos dados em transito).

info(chave secreta

aleatória)

info(chave secreta

aleatória)

TLS Handshake

Algoritmos Padronizados para SSL/TLS

Strongest cipher suite.

Triple DES (168-bit encryption com autenticação)

Strong cipher suites

RC4, criptografia de 128-bits (utiliza o MD5 para autenticação)

é o mais rápido da categoria

RC2, criptografia de 128-bits (utiliza o MD5 para autenticação)

DES, que suporta criptografia de 56-bits (utiliza o SHA-1 para

autenticação).

Conclusão

Algoritmos modernos são baseados no conceito de chaves.

Algoritmos assimétricos são lentos e unidirecionais.

Algoritmos simétricos são rápidos e bidirecionais.

SSL é um mecanismo para negociação de algoritmos e chaves de criptografia.

SSL é implementado nas aplicações através de uma biblioteca de sockets estendida.