Slide 1

Slide 1 text

CRIPTOGRAFIA: Como Funciona o HTTPS

Slide 2

Slide 2 text

/me Diego Hernandes @hernandev CTO - Kino Contabilidade https://sejakino.com.br CODECASTER https://codecasts.com.br

Slide 3

Slide 3 text

O Problema Oi Bob! Manda Nudes

Slide 4

Slide 4 text

Criptografia Clássica Quadro de Políbio - Grécia CODECASTS || 13 34 14 15 13 11 43 44 43

Slide 5

Slide 5 text

Criptografia Clássica Cífra de Cesar - Roma

Slide 6

Slide 6 text

Criptografía Simétrica

Slide 7

Slide 7 text

Criptografía Simétrica WTF is that? Manda Nudes Me = ƒe(M, K) M = ƒd(Me, K) Oi Bob!

Slide 8

Slide 8 text

Criptografía Simétrica Me = ƒe (M, K)

Slide 9

Slide 9 text

Criptografía Simétrica M = ƒd (Me , K)

Slide 10

Slide 10 text

DES: Data Encryption Standard - Criado no Início dos anos 70 - Adotado como Padrão pelo Governo Americano em 1976 - Usava chaves de 56-bit - Em 1999, era possível de ser quebrada em ~ 22 horas (distributed.net e Electronic Frontier Foundation)

Slide 11

Slide 11 text

AES: Advanced Encryption Standard - Padrão Americano desde 2001 - Chaves podem ser 128, 192 and 256 bits

Slide 12

Slide 12 text

Criptografía Simétrica: O Problema WTF is that? Manda Nudes Me = Fe(M, K) M = Fe(Me, K) Oi Bob! Como trocar as chaves de forma segura?

Slide 13

Slide 13 text

Criptografía Asimétrica

Slide 14

Slide 14 text

No content

Slide 15

Slide 15 text

Criptografía Asimétrica Chave Privada Chave Pública ƒKDF KDF = Key Derivation Function

Slide 16

Slide 16 text

Criptografía Asimétrica Me = ƒe (M, Kpub ) M = ƒd (Me , Kpriv )

Slide 17

Slide 17 text

Criptografía Asimétrica Alice encripta a mensagem pura usando a chave publica de bob Ei Bob, me passa sua chave pública? Claro, aqui está: Mensagem da Alice, agora criptografada Bob, usa sua chave privada, que nunca saiu de seu computador, Para decriptar a mensagem de Alice

Slide 18

Slide 18 text

Criptografía Asimétrica: Problemas Custo Computacional Muito mais alto que a criptografia simétrica

Slide 19

Slide 19 text

HTTPS

Slide 20

Slide 20 text

CLIENT SERVER ClientHello ClientHello Cliente Informa ao Servidor quais protocolos e formatos suporta, e prefere.

Slide 21

Slide 21 text

CLIENT SERVER ClientHello ServerHello Servidor Confirma e Escolhe o melhor protocolo dentro dos suportados pelo Cliente O mais importante, é que o Servidor manda seu Certificado junto ao ServerHello, que contem a chave pública do servidor ServerHello

Slide 22

Slide 22 text

CLIENT SERVER ClientHello ServerHello Servidor Confirma e Escolhe o melhor protocolo dentro dos suportados pelo Cliente O Servidor também envia seu Certificado, que contém a chave pública. ServerHello

Slide 23

Slide 23 text

CLIENT SERVER ClientHello Pre-Master Key Cliente gera uma chave aleatória e encripta essa chave usando a chave pública do Servidor. Essa Chave é Enviada encriptada ao Servidor. ServerHello Client Key Exchange PRE-MASTER KEY

Slide 24

Slide 24 text

CLIENT SERVER ClientHello Pre-Master Key Em posse da “pre-master key” encriptada, o Servidor usa sua Chave Privada para Descobrir seu valor. ServerHello Client Key Exchange PRE-MASTER KEY PRE-MASTER KEY

Slide 25

Slide 25 text

CLIENT SERVER ClientHello Chave Simétrica Baseados na comunicação inicial e chave preliminar (pre-master), ambos os lados calculam a chave simétrica a ser usada ServerHello Client Key Exchange PRE-MASTER KEY PRE-MASTER KEY SYMMETRIC KEY SYMMETRIC KEY

Slide 26

Slide 26 text

CLIENT SERVER ClientHello Após o Handshake, Servidor e Cliente compartilham uma chave segura, que nunca foi transmitida via internet, que é usada para criptografar e decriptografar as mensagens enviadas e recebidas. ServerHello Client Key Exchange PRE-MASTER KEY PRE-MASTER KEY SYMMETRIC KEY SYMMETRIC KEY COMUNICAÇÃO SEGURA

Slide 27

Slide 27 text

No content