Este documento resume o protocolo HTTPS e como funciona a criptografia TLS. Ele explica os certificados, o handshake TLS, a geração de chaves simétricas e o modo como ocorre a comunicação segura após a autenticação. O documento também discute melhorias como o uso de PFS para aumentar a segurança contra ataques no futuro.
O documento descreve o protocolo MQTT, incluindo suas vantagens para dispositivos IoT, como leveza e simplicidade. Ele explica os principais componentes do modelo MQTT (publicadores, assinantes e corretor) e aborda segurança, qualidade de serviço e implementações.
DoS: Negação de Serviço e formas de defesa - Elgio SchlemerTchelinux
O documento descreve tipos de negação de serviço (DoS) e formas de defesa. DoS local requer acesso à máquina alvo, enquanto DoS remoto não. DoS local pode esgotar recursos como disco, processos e memória, mas há soluções como particionamento e quotas. DoS remoto explora bugs em programas ou protocolos, como Syn Flood, que sobrecarrega servidores TCP; Syn Cookie evita alocar recursos antes do handshake completo.
T aula5-criptografia-distribuição de chaves,Hélio Martins
O documento discute os princípios da criptografia simétrica, assimétrica e hash, e como distribuir chaves de forma segura para cada método. A criptografia simétrica usa a mesma chave para cifrar e decifrar, enquanto a assimétrica usa chaves públicas e privadas. Uma autoridade de chaves públicas pode ajudar na distribuição segura de chaves públicas.
O documento discute o uso de terminais remotos seguros através do SSH, descrevendo como o SSH fornece acesso remoto seguro através da autenticação forte e criptografia de sessão com chaves públicas, substituindo protocolos não seguros como o Telnet. O documento também resume as configurações e comandos principais do SSH.
O documento discute vários tipos de ataques cibernéticos como packet sniffing e man-in-the-middle. Ele também fornece estratégias para prevenir esses ataques, como criptografia de chave pública, validação de entrada no servidor e no cliente, software anti-cheat, e proteção contra DDoS e invasões no servidor.
Este documento resume uma edição da revista H2HC MAGAZINE de agosto de 2014. Contém artigos sobre engenharia reversa de software, fundamentos para computação ofensiva e um resumo do podcast H2HC WORLD do Renegados Cast. Também inclui um artigo sobre a falha Heartbleed e seus impactos nos negócios.
Segurança e Forense em Redes de ComputadoresEuler Neto
O documento discute segurança e análise forense em redes sem fio. Primeiro, explica os tipos de quadros WLAN e como ativar o modo monitor de uma interface de rede para capturar tráfego. Depois, aborda criptografia WLAN como WEP, WPA e WPA2 e como quebrar suas senhas. Por fim, discute técnicas de man-in-the-middle como ARP spoofing e fake APs, além de conceitos e etapas de grampos digitais em redes.
O documento discute os protocolos TCP e UDP para comunicação entre processos, comparando suas características como confiabilidade, ordenamento e sincronia. Também apresenta a API Java para sockets e fluxos TCP, mostrando exemplos de cliente e servidor.
O documento descreve o protocolo MQTT, incluindo suas vantagens para dispositivos IoT, como leveza e simplicidade. Ele explica os principais componentes do modelo MQTT (publicadores, assinantes e corretor) e aborda segurança, qualidade de serviço e implementações.
DoS: Negação de Serviço e formas de defesa - Elgio SchlemerTchelinux
O documento descreve tipos de negação de serviço (DoS) e formas de defesa. DoS local requer acesso à máquina alvo, enquanto DoS remoto não. DoS local pode esgotar recursos como disco, processos e memória, mas há soluções como particionamento e quotas. DoS remoto explora bugs em programas ou protocolos, como Syn Flood, que sobrecarrega servidores TCP; Syn Cookie evita alocar recursos antes do handshake completo.
T aula5-criptografia-distribuição de chaves,Hélio Martins
O documento discute os princípios da criptografia simétrica, assimétrica e hash, e como distribuir chaves de forma segura para cada método. A criptografia simétrica usa a mesma chave para cifrar e decifrar, enquanto a assimétrica usa chaves públicas e privadas. Uma autoridade de chaves públicas pode ajudar na distribuição segura de chaves públicas.
O documento discute o uso de terminais remotos seguros através do SSH, descrevendo como o SSH fornece acesso remoto seguro através da autenticação forte e criptografia de sessão com chaves públicas, substituindo protocolos não seguros como o Telnet. O documento também resume as configurações e comandos principais do SSH.
O documento discute vários tipos de ataques cibernéticos como packet sniffing e man-in-the-middle. Ele também fornece estratégias para prevenir esses ataques, como criptografia de chave pública, validação de entrada no servidor e no cliente, software anti-cheat, e proteção contra DDoS e invasões no servidor.
Este documento resume uma edição da revista H2HC MAGAZINE de agosto de 2014. Contém artigos sobre engenharia reversa de software, fundamentos para computação ofensiva e um resumo do podcast H2HC WORLD do Renegados Cast. Também inclui um artigo sobre a falha Heartbleed e seus impactos nos negócios.
Segurança e Forense em Redes de ComputadoresEuler Neto
O documento discute segurança e análise forense em redes sem fio. Primeiro, explica os tipos de quadros WLAN e como ativar o modo monitor de uma interface de rede para capturar tráfego. Depois, aborda criptografia WLAN como WEP, WPA e WPA2 e como quebrar suas senhas. Por fim, discute técnicas de man-in-the-middle como ARP spoofing e fake APs, além de conceitos e etapas de grampos digitais em redes.
O documento discute os protocolos TCP e UDP para comunicação entre processos, comparando suas características como confiabilidade, ordenamento e sincronia. Também apresenta a API Java para sockets e fluxos TCP, mostrando exemplos de cliente e servidor.
O documento descreve o protocolo SSL (Secure Sockets Layer), incluindo suas características principais como handshake, criptografia e objetivos de privacidade, autenticação e integridade. Também menciona que a versão 3.0 do SSL não é mais considerada segura devido a uma vulnerabilidade chamada POODLE que permite ataques do tipo "man in the middle".
O documento discute conceitos e implementações de segurança para integrações entre Salesforce e Mule, incluindo autenticação HTTP básica, HTTPS usando certificados, e criptografia de dados.
Uma apresentação inicial sobre a importância da camada de segurança no HTTPS e como a Let's Encrypt faz pra gerar certificados SSL gratuitos com um processo automatizado.
O documento discute a infraestrutura da Internet e servidores web, incluindo: 1) a arquitetura cliente-servidor e os protocolos TCP/IP e HTTP; 2) populares servidores web como Apache, Nginx e Varnish; e 3) bancos de dados como MySQL e PostgreSQL usados com servidores web.
O documento discute os protocolos HTTP, HTTPS e TLS que regem a comunicação na World Wide Web. Apresenta a história do HTTP e como ele foi desenvolvido para atender às necessidades da comunidade científica. Explica também conceitos como portas, pacotes SYN, ACK, criptografia e certificados digitais, além de mencionar servidores web comuns como IIS e Apache.
O documento discute vários protocolos e conceitos importantes relacionados à comunicação de dados na Internet, incluindo protocolos como TCP/IP, HTTP, FTP, SMTP e DNS. Ele também aborda tópicos como segurança na web, criptografia e endereços IP.
O documento fornece uma introdução aos conceitos fundamentais da Internet, incluindo sua definição como uma rede de redes que conecta computadores em todo o mundo, a arquitetura cliente-servidor que sustenta seu funcionamento e os principais protocolos e serviços como DNS, HTTP e e-mail.
O documento fornece uma introdução aos conceitos fundamentais da Internet, incluindo sua definição como uma rede de redes que conecta computadores em todo o mundo, a arquitetura cliente-servidor que sustenta a comunicação na Internet, e serviços centrais como DNS e a World Wide Web.
Este documento discute os protocolos TCP e UDP, incluindo como o TCP garante a entrega de dados através de um handshake triplo, enquanto o UDP não fornece garantia de entrega. Também aborda tópicos como ataques de negação de serviço, números de sequência, portas e a diferença entre endereços MAC, IP e números de portas.
Este documento descreve políticas de segurança para aplicações de rede. Resume os processos de autenticação com certificados digitais, incluindo a criação de uma autoridade de certificação interna e a emissão de certificados para clientes e servidores. Também explica o processo de autenticação em redes Windows, dividido em autenticação interativa de usuário e autenticação de rede, listando vários protocolos de autenticação suportados.
O documento descreve os principais protocolos de rede e comunicação na Internet, incluindo TCP/IP, HTTP, HTTPS, FTP e protocolos de email. TCP/IP é o principal protocolo da Internet que permite a comunicação entre computadores através da divisão dos dados em pacotes. HTTPS é uma versão segura do HTTP que utiliza criptografia SSL/TLS.
O documento descreve os principais protocolos de rede e comunicação na Internet, incluindo TCP/IP, HTTP, HTTPS, FTP e protocolos de email. TCP/IP é o principal protocolo da Internet que permite a comunicação entre computadores através da divisão dos dados em pacotes. HTTPS é uma versão segura do HTTP que utiliza criptografia SSL/TLS.
[Antero Jesus] Principais Protocolos de Redeajtr98
O documento discute os principais protocolos de rede, definindo o que são protocolos e portas. Detalha alguns protocolos específicos como TCP/IP, DNS, DHCP, HTTP, HTTPS, SSL, FTP, SFTP, Telnet, POP, SMTP e IMAP, explicando suas funções na comunicação entre redes.
O documento discute os principais protocolos de rede, definindo o que são protocolos e portas. Detalha alguns protocolos específicos como TCP/IP, DNS, DHCP, HTTP, HTTPS, SSL, FTP, SFTP, Telnet, POP, SMTP e IMAP, explicando suas funções na comunicação entre redes.
Além do HTTPS - Como (tentar) Aumentar a Segurança de seu Website e Aplicação...Jeronimo Zucco
Segurança em websites é uma tarefa difícil. Apenas uma brecha em um erro de desenvolvimento ou uma configuração esquecida e mal feita e seu portal pode ser comprometido. Não basta mais somente implementar alguns controles ou ter alguns cuidados na hora da implementação de uma aplicação que será exposta para web. Essa palestra irá abordar como (tentar) aumentar a segurança se seu website através da implementação de alguns controles pró-ativos como: hardening TLS, HSTS, certificate and public key pinning, HTTP headers, XSS protections, Cookies protections, Content Security Policy, Hardening Web Server.
Aceleração em Hardware para OpenSSL em Sistemas Embarcados: Introdução e conc...Bruno Castelucci
-> Introdução - aceleração de hardware para OpenSSL em sistemas embarcados.
1) Sistema embarcados.
2) Aceleradores de hardware
3) SSL - OpenSSL
4) Linux
5) Acelerando
6) IPSec, DPI e segurança sistemica
7) Conclusões
8) Referências
A) Referência de chamadas de código para cifrador AES.
Este documento descreve um workshop sobre datacenters na nuvem. O workshop inclui introduções sobre conceitos-chave, administração de datacenters, AWS EC2, VPN, automação e privacidade. Os participantes terão experiência prática criando um datacenter completo na AWS com subredes, VPN e implantação de uma aplicação web usando Ansible.
Datasnap avançado - Respostas para um sistema robusto - Embarcadero Conferenc...Kelver Merlotti
Kelver Merlotti apresenta sobre segurança, performance e responsividade em sistemas robustos com Datasnap Avançado. Ele discute autenticação, autorização e filtros de transporte para segurança, caching, filtros REST e callbacks para melhorar performance e responsividade.
O documento fornece uma introdução aos protocolos TCP e UDP, descrevendo suas principais características e diferenças. TCP é orientado a conexão e fornece entrega confiável de dados através de confirmações, enquanto UDP é sem conexão e não garante entrega. Ambos usam números de porta para direcionar pacotes a aplicativos.
Um Mecanismo de Autenticação Baseado em ECDH para Redes Eduardo Souza
1) O documento propõe um mecanismo de autenticação baseado em ECDH para redes IEEE 802.11 chamado ImprovedHandshake que fornece autenticação e derivação segura de chaves sem aumentar significativamente a sobrecarga do handshake.
2) O ImprovedHandshake adapta o protocolo 4-way handshake usando chaves públicas baseadas em ECDH para derivar a chave PTK de forma que um atacante não possa reproduzir, solucionando uma vulnerabilidade atual.
3) Experimentos mostraram que o ImprovedHandshake introdu
The K computer is a supercomputer developed by Fujitsu for the Japanese Ministry of Education, Culture, Sports, Science and Technology. It has over 80,000 processing nodes, a total of 10 petaflops of processing power, and 30 petabytes of storage. The K computer is installed at the RIKEN research institute in Kobe, Japan and uses a 6-dimensional torus network along with the Tofu interconnect and Message Passing Interface for parallel processing and communication between nodes.
O documento descreve o protocolo SSL (Secure Sockets Layer), incluindo suas características principais como handshake, criptografia e objetivos de privacidade, autenticação e integridade. Também menciona que a versão 3.0 do SSL não é mais considerada segura devido a uma vulnerabilidade chamada POODLE que permite ataques do tipo "man in the middle".
O documento discute conceitos e implementações de segurança para integrações entre Salesforce e Mule, incluindo autenticação HTTP básica, HTTPS usando certificados, e criptografia de dados.
Uma apresentação inicial sobre a importância da camada de segurança no HTTPS e como a Let's Encrypt faz pra gerar certificados SSL gratuitos com um processo automatizado.
O documento discute a infraestrutura da Internet e servidores web, incluindo: 1) a arquitetura cliente-servidor e os protocolos TCP/IP e HTTP; 2) populares servidores web como Apache, Nginx e Varnish; e 3) bancos de dados como MySQL e PostgreSQL usados com servidores web.
O documento discute os protocolos HTTP, HTTPS e TLS que regem a comunicação na World Wide Web. Apresenta a história do HTTP e como ele foi desenvolvido para atender às necessidades da comunidade científica. Explica também conceitos como portas, pacotes SYN, ACK, criptografia e certificados digitais, além de mencionar servidores web comuns como IIS e Apache.
O documento discute vários protocolos e conceitos importantes relacionados à comunicação de dados na Internet, incluindo protocolos como TCP/IP, HTTP, FTP, SMTP e DNS. Ele também aborda tópicos como segurança na web, criptografia e endereços IP.
O documento fornece uma introdução aos conceitos fundamentais da Internet, incluindo sua definição como uma rede de redes que conecta computadores em todo o mundo, a arquitetura cliente-servidor que sustenta seu funcionamento e os principais protocolos e serviços como DNS, HTTP e e-mail.
O documento fornece uma introdução aos conceitos fundamentais da Internet, incluindo sua definição como uma rede de redes que conecta computadores em todo o mundo, a arquitetura cliente-servidor que sustenta a comunicação na Internet, e serviços centrais como DNS e a World Wide Web.
Este documento discute os protocolos TCP e UDP, incluindo como o TCP garante a entrega de dados através de um handshake triplo, enquanto o UDP não fornece garantia de entrega. Também aborda tópicos como ataques de negação de serviço, números de sequência, portas e a diferença entre endereços MAC, IP e números de portas.
Este documento descreve políticas de segurança para aplicações de rede. Resume os processos de autenticação com certificados digitais, incluindo a criação de uma autoridade de certificação interna e a emissão de certificados para clientes e servidores. Também explica o processo de autenticação em redes Windows, dividido em autenticação interativa de usuário e autenticação de rede, listando vários protocolos de autenticação suportados.
O documento descreve os principais protocolos de rede e comunicação na Internet, incluindo TCP/IP, HTTP, HTTPS, FTP e protocolos de email. TCP/IP é o principal protocolo da Internet que permite a comunicação entre computadores através da divisão dos dados em pacotes. HTTPS é uma versão segura do HTTP que utiliza criptografia SSL/TLS.
O documento descreve os principais protocolos de rede e comunicação na Internet, incluindo TCP/IP, HTTP, HTTPS, FTP e protocolos de email. TCP/IP é o principal protocolo da Internet que permite a comunicação entre computadores através da divisão dos dados em pacotes. HTTPS é uma versão segura do HTTP que utiliza criptografia SSL/TLS.
[Antero Jesus] Principais Protocolos de Redeajtr98
O documento discute os principais protocolos de rede, definindo o que são protocolos e portas. Detalha alguns protocolos específicos como TCP/IP, DNS, DHCP, HTTP, HTTPS, SSL, FTP, SFTP, Telnet, POP, SMTP e IMAP, explicando suas funções na comunicação entre redes.
O documento discute os principais protocolos de rede, definindo o que são protocolos e portas. Detalha alguns protocolos específicos como TCP/IP, DNS, DHCP, HTTP, HTTPS, SSL, FTP, SFTP, Telnet, POP, SMTP e IMAP, explicando suas funções na comunicação entre redes.
Além do HTTPS - Como (tentar) Aumentar a Segurança de seu Website e Aplicação...Jeronimo Zucco
Segurança em websites é uma tarefa difícil. Apenas uma brecha em um erro de desenvolvimento ou uma configuração esquecida e mal feita e seu portal pode ser comprometido. Não basta mais somente implementar alguns controles ou ter alguns cuidados na hora da implementação de uma aplicação que será exposta para web. Essa palestra irá abordar como (tentar) aumentar a segurança se seu website através da implementação de alguns controles pró-ativos como: hardening TLS, HSTS, certificate and public key pinning, HTTP headers, XSS protections, Cookies protections, Content Security Policy, Hardening Web Server.
Aceleração em Hardware para OpenSSL em Sistemas Embarcados: Introdução e conc...Bruno Castelucci
-> Introdução - aceleração de hardware para OpenSSL em sistemas embarcados.
1) Sistema embarcados.
2) Aceleradores de hardware
3) SSL - OpenSSL
4) Linux
5) Acelerando
6) IPSec, DPI e segurança sistemica
7) Conclusões
8) Referências
A) Referência de chamadas de código para cifrador AES.
Este documento descreve um workshop sobre datacenters na nuvem. O workshop inclui introduções sobre conceitos-chave, administração de datacenters, AWS EC2, VPN, automação e privacidade. Os participantes terão experiência prática criando um datacenter completo na AWS com subredes, VPN e implantação de uma aplicação web usando Ansible.
Datasnap avançado - Respostas para um sistema robusto - Embarcadero Conferenc...Kelver Merlotti
Kelver Merlotti apresenta sobre segurança, performance e responsividade em sistemas robustos com Datasnap Avançado. Ele discute autenticação, autorização e filtros de transporte para segurança, caching, filtros REST e callbacks para melhorar performance e responsividade.
O documento fornece uma introdução aos protocolos TCP e UDP, descrevendo suas principais características e diferenças. TCP é orientado a conexão e fornece entrega confiável de dados através de confirmações, enquanto UDP é sem conexão e não garante entrega. Ambos usam números de porta para direcionar pacotes a aplicativos.
Um Mecanismo de Autenticação Baseado em ECDH para Redes Eduardo Souza
1) O documento propõe um mecanismo de autenticação baseado em ECDH para redes IEEE 802.11 chamado ImprovedHandshake que fornece autenticação e derivação segura de chaves sem aumentar significativamente a sobrecarga do handshake.
2) O ImprovedHandshake adapta o protocolo 4-way handshake usando chaves públicas baseadas em ECDH para derivar a chave PTK de forma que um atacante não possa reproduzir, solucionando uma vulnerabilidade atual.
3) Experimentos mostraram que o ImprovedHandshake introdu
The K computer is a supercomputer developed by Fujitsu for the Japanese Ministry of Education, Culture, Sports, Science and Technology. It has over 80,000 processing nodes, a total of 10 petaflops of processing power, and 30 petabytes of storage. The K computer is installed at the RIKEN research institute in Kobe, Japan and uses a 6-dimensional torus network along with the Tofu interconnect and Message Passing Interface for parallel processing and communication between nodes.
O documento discute otimização de código Python, explicando que a otimização prematura pode gerar código confuso e que ferramentas de perfilagem podem identificar gargalos de desempenho. Também recomenda o uso de estruturas de dados simples e módulos em C para melhorar a velocidade.
O documento apresenta uma introdução à linguagem de programação Python, descrevendo suas características, aplicações e exemplos de código. É feita uma comparação com outras linguagens, destacando as vantagens de Python como fácil aprendizagem, biblioteca abrangente e multiplataforma. Exemplos de uso no Brasil e no exterior também são apresentados.
Este documento apresenta os principais conceitos da linguagem de programação Python em menos de 10 minutos, incluindo tipos de dados, variáveis, expressões, estruturas de controle, funções, classes, objetos e um exemplo de programa.
O propósito dessa palestra é:
* Entender o que é um ambiente chroot;
* Criar um ambiente chroot;
* Dar subsídios para a pessoa saber criar seus próprios ambientes em chroot.
3. Introdução
• HTTPS = HTTP Secure = HTTP no topo de SSL/
TLS. Porta TCP 443. URI https://…
• Idéia da Netscape (dos anos 90) para prover
segurança ao canal de comunicação do HTTP.
• Tecnologias: asymmetric Public Key Infrastructure
(PKI) system = Chaves Pública/Privada +
Infraestrutura de Certificados + Algoritmos de
Criptografia.
4. SSL/TLS
• O SSL foi desenvolvido nos anos 90 para
possibilitar transações bancárias e comerciais na
Web.
• Autores: Netscape, MasterCard, Bank of America,
MDI & Silicon Graphics.
• SSLv1, SSLv2 (1994), SSLv3 (1999). IETF TLS
(2001).
5. HTTPS: Inicialização
• Cliente (HTTP/TLS) abre conexão com o Servidor e
envia o ClientHello para iniciar o handshake do TLS.
Negocia cifras e compressão.
• Servidor oferece SessionID, Cifras certificadas e
métodos de compressão.
• Cliente inicia a troca de chaves.
• Quando o handshake terminar, o cliente pode enviar
o request HTTP como application data do TLS.
7. Certificados
• Server Name (identidade).
• Certificate Authority (quem assinou).
• Public Key (do Servidor).
• SSL warnings, certificados expirados e certificados
auto-assinados.
8. HTTPS: Identificação
• Uma URI conhecida é utilizada para iniciar o HTTPS e um
Certificado é recebido. O que fazer com o certificado é
problema do cliente.
• O cliente procura por um subjectAltName extension of type
dNSName. Caso contrário, e utilizado o campo Common
Name. Se usar IP, então iPAddress subjectAltName deve
estar presente.
• Cliente faz o match da identidade, valida o certificado com
a assinatura da certificadora.
• Nota: Servidor não se importa com a identidade do cliente.
10. PFS
• Problema: Pode-se guardar o tráfego SSL de uma comunicação, com a
esperança (no futuro) de se obter a chave privada e ler os dados contidos.
• There is a defence against this, known as perfect forward secrecy (PFS).
When PFS is used, the compromise of an SSL site's private key does not
necessarily reveal the secrets of past private communication; connections
to SSL sites which use PFS have a per-session key which is not
revealed if the long-term private key is compromised. The security of PFS
depends on both parties discarding the shared secret after the transaction is
complete (or after a reasonable period to allow for session resumption).
• Perfect forward secrecy was invented in 1992, pre-dating the SSL protocol
by two years, and consequently one might reasonably have expected that
SSL would have made operational use of PFS from the outset. Nevertheless,
almost twenty years later, PFS usage is not used by the majority of SSL sites.
11. PFS (cont.)
• The cipher suite selected for the SSL connection depends on an
agreement between the browser and the SSL site.
• Diffie-Hellman key exchange and variants of it are used to
negotiate a per-session shared secret key between two parties
without ever transmitting the key itself.
• The per-session key can be discarded after the session has
terminated leading to the ephemeral property which PFS relies
upon.
• Variants = Elliptic curve-based DHE key exchange despite being
faster is supported by fewer SSL sites than conventional DHE.
14. Client Hello
• Version versão do protocolo que o cliente quer falar. Ex.: TLS 1.0 (0x0301).
• Random contém 4 bytes que formam uma data UTC (GMT Unix Time) + 28 bytes
aleatórios.
• Session ID é um token que pode ser utilizado para um handshake mais rápido. Aqui
ele é null (não existente previamente).
• Cipher Suites é a lista de conjuntos de algoritmos de criptografia que o cliente
suportar. Ex.: TLS_RSA_WITH_RC4_128_MD5, TLS_RSA_WITH_AES_128_CBC_SHA,
TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA.
• Compression Methods é a lista de algoritmos de compressão que o cliente suporta.
Pode ser null (nenhum).
• Extensions são características adicionais, por exemplo, server_name é o nome do
servidor que estamos querendo alcançar. Outros: Extended Master Secret,
elliptic_curvers, signature_algorithms, etc.
15. Server Hello
• Version versão do protocolo que servidor concordou. Ex.: TLS 1.0 (0x0301).
• Random contém 4 bytes que formam uma data UTC (GMT Unix Time) + 28
bytes aleatórios.
• Session ID é um token (32 bytes) que o cliente pode utilizar para um
handshake rápido.
• Cipher Suite é o conjunto de algoritmos de criptografia que o servidor
escolheu, da lista oferecida pelo cliente. Ex.: TLS_RSA_WITH_RC4_128_MD5
• Compression Method é o método de compressão que o servidor escolheu,
da lista que o cliente enviou. Pode ser null (nenhum).
• Extensions são características adicionais que o servidor concordou em usar,
da lista que o cliente ofereceu.
16. Server Certificate + Done
• Certificates contém a lista de certificados que o
servidor apresenta para o cliente. Ex.: Certificados
X.509v3.
• Cada certificado deve conter uma chave. Ex.: RSA
(RSA Public Key), DH_RSA (Diffie-Hellman key), etc.
• Certificate Status contém a resposta do Online
Certificate Status Protocol (OCSP).
• Server Hello Done marca o fim do Server Hello.
17. Client Key Exchange
• O cliente seleciona entre RSA ou Diffie Hellman e envia
uma chave como parâmetro.
• No caso de RSA, o cliente deve criar uma Pre-Master
Secret (PMS), cifrar (usando a chave pública RSA) e
enviar para o servidor, para que ambos conheçam.
• Cliente e Servidor derivam a Master Secret a partir da
Pre-Master Secret.
• NOTA: Forward Secrecy só é possível com Diffie
Hellman.
18. Pre-Master Secret
• A PMS contém 48 bytes: 2 bytes da versão do protocolo
TLS (ex.: 0x03, 0x01) + 46 bytes aleatórios.
• Este número é gerado pelo cliente e é cifrado utilizando a
chave pública do certificado do servidor ou a chave
temporária provida em troca de mensagem.
• A PMS cifrada é enviada ao servidor, que utiliza a chave
privada para conhecer a PMS e derivar outras chaves.
• O PKCS 1.5 pede que a PMS deva conter preenchimentos
(pads) aleatórios do tamanho exato do módulo (1024 bits/
128 bytes).
19. Master Secret
• master_secret = PRF(pre_master_secret, “master secret”,
ClientHello.random+ServerHello.random) com 48 bytes.
• PRF Função geradora de números pseudo-aleatórios,
definida no padrão TLS.
• pre_master_secret = 2 bytes da versão TLS do cliente +
46 bytes aleatórios gerados.
• “master secret” é uma string literal, em que os bytes são
utilizados pela PRF.
• Cliente e Servidor conhecem a Master Secret.
20. Pseudo Random Function
• PRF(secret,label,seed) = P_MD5(S1,label+seed)
⨁ P_SHA-1(S2,label+seed).
• S1 contém a primeira metade de secret.
• S2 contém a segunda metade de secret.
22. Change Cipher Spec
• É uma mensagem simples que o cliente e o
servidor trocam entre si, para sinalizar a mudança
de estratégias de cifras.
• Ambos concordaram em utilizar um método de
criptografia simétrico, um HMAC e as respectivas
chaves.
23. Finished
• O cliente guarda todas as mensagens que trocou até então em
handshake_messages:
• Calcula-se PRF(master_secret, "client finished",
MD5(handshake_messages)+SHA-1(handshake_messages)).
• Utiliza-se os 12 primeiros bytes resultantes em verify_data. De verify_data
tira-se o hash dele, com algoritmo de hash negociado (Ex.: HMAC_MD5).
• Todos esses bytes (verify_data+hash) são cifrados, utilizado o algoritmo
simétrico negociado (Ex.: RC4) e enviados para o servidor.
• O Servidor efetua as mesmas operações, inclusive utiliza a mensagem
decifrada de Finished do cliente como sua mensagem de Finished.
24. Conclusão
• HTTPS oferece ótima segurança ao canal de
comunicação HTTP. Utiliza tecnologias de
criptografia que hoje são comuns.
• Desafio: Como otimizá-lo sem perder a
segurança? Pode ser vulnerável a análise de
tráfego, MITM e comprometimento de chaves.
• Obstáculos: Complexidade e custo de
certificados. Clientes com SSL obsoleto
(inseguro) e algoritmos de criptografia fracos.
25. Referências
• HTTPS: [https://tools.ietf.org/html/rfc2818]; [https://
www.cs.cmu.edu/~dnaylor/CostOfTheS.pdf]
• SSL/TLS: [https://wiki.wireshark.org/SSL]
• Traffic Analysis: [https://www.petsymposium.org/2014/papers/
Miller.pdf]
• Certificados: [https://www.eff.org/deeplinks/2014/11/certificate-
authority-encrypt-entire-web]
• PFS: [https://news.netcraft.com/archives/2013/06/25/ssl-
intercepted-today-decrypted-tomorrow.html]
• Links foram visitados em Setembro de 2016.
26. Referências
• The First Few Milliseconds of an HTTPS Connection. http://
www.moserware.com/2009/06/first-few-milliseconds-of-
https.html.
• Wireshark:SSL. https://wiki.wireshark.org/SSL.
• The Transport Layer Security (TLS) Protocol. Version 1.2.
https://tools.ietf.org/html/rfc5246.
• Debugging SSL/TLS Connections. https://docs.oracle.com/
javase/7/docs/technotes/guides/security/jsse/ReadDebug.html.
• Links visitados em Setembro de 2016.