Upload
internet
View
113
Download
3
Embed Size (px)
Citation preview
Criptografia e Criptografia e segurança de redessegurança de redes
Capítulo 17Capítulo 17
Quarta EdiçãoQuarta Edição
por William Stallingspor William Stallings
Slides de Lawrie BrownSlides de Lawrie BrownTradução: Rodrigo MoutinhoTradução: Rodrigo Moutinho
Capítulo 17 – Segurança na WebCapítulo 17 – Segurança na Web
Use a mente.Use a mente.
Acorde para a realidade.Acorde para a realidade.
— — Da canção, "I've Got You under My Da canção, "I've Got You under My Skin“ de Cole PorterSkin“ de Cole Porter
Segurança na WebSegurança na Web
A web é muito usada por empresas, órgãos A web é muito usada por empresas, órgãos do governo e indivíduosdo governo e indivíduos
Mas a Internet & Web são vulneráveisMas a Internet & Web são vulneráveis Tem uma variedade de ameaçasTem uma variedade de ameaças
IntegridadeIntegridade ConfidencialidadeConfidencialidade Negação de serviçosNegação de serviços AutenticaçãoAutenticação
Necessidade de mecanismos adicionais de Necessidade de mecanismos adicionais de segurançasegurança
SSL (Secure Socket Layer)SSL (Secure Socket Layer)
Serviço de segurança na camada de Serviço de segurança na camada de transportetransporte
Originalmente desenvolvido pelo NetscapeOriginalmente desenvolvido pelo Netscape Versão 3 projetada com contribuição públicaVersão 3 projetada com contribuição pública Subseqüentemente se tornou a Internet Subseqüentemente se tornou a Internet
padrão conhecida como TLS (Transport Layer padrão conhecida como TLS (Transport Layer Security)Security)
Usa TCP para fornecer confiança nos serviços Usa TCP para fornecer confiança nos serviços ponta a ponta (end-to-end)ponta a ponta (end-to-end)
SSL tem duas camadas de protocolosSSL tem duas camadas de protocolos
Arquitetura SSLArquitetura SSL
Protocolo de registro SSL
Protocolo de estabeleciment
o de sessão SSL
Protocolo de mudança de especificação de cifra SSL
Protocolo de alerta SSL
Arquitetura SSLArquitetura SSL
Conexão SSLConexão SSL um transiente, peer-to-peer, relacionamento de conexãoum transiente, peer-to-peer, relacionamento de conexão associado a uma sessão SSLassociado a uma sessão SSL
Sessão SSLSessão SSL uma associação entre um cliente e um servidoruma associação entre um cliente e um servidor criados pelo Protocolo de Estabelecimento de Sessãocriados pelo Protocolo de Estabelecimento de Sessão definem um conjunto de parâmetros criptográficosdefinem um conjunto de parâmetros criptográficos podem ser compartilhados entre várias conexõespodem ser compartilhados entre várias conexões
Serviços de Protocolo de Serviços de Protocolo de Registro SSLRegistro SSL
integridade da mensagemintegridade da mensagem usa um MAC com chave secreta compartilhadausa um MAC com chave secreta compartilhada similar ao HMAC mas com um preenchimento diferentesimilar ao HMAC mas com um preenchimento diferente
confidencialidadeconfidencialidade usando criptografia simétrica com chave secreta usando criptografia simétrica com chave secreta
compartilhada definida pelo Protocolo de compartilhada definida pelo Protocolo de Estabelecimento de SessãoEstabelecimento de Sessão
AES, IDEA, RC2-40, DES-40, DES, 3DES, Fortezza, AES, IDEA, RC2-40, DES-40, DES, 3DES, Fortezza, RC4-40, RC4-128RC4-40, RC4-128
mensagem é comprimida antes de ser criptografadamensagem é comprimida antes de ser criptografada
Operação do protocolo de Operação do protocolo de registro SSLregistro SSL
Dados da aplicação
Fragmentar
Compactar
Adicionar MAC
Criptografar
Anexar cabeçalho de registro SSL
Protocolo de mudança de Protocolo de mudança de especificação de cifra SSLespecificação de cifra SSL
um dos três protocolos específicos do SSL um dos três protocolos específicos do SSL que utilizam o Protocolo de Registro SSLque utilizam o Protocolo de Registro SSL
uma mensagem únicauma mensagem única faz com que o estado pendente vire o faz com que o estado pendente vire o
estado atualestado atual por isso atualiza o conjunto de cifras a ser por isso atualiza o conjunto de cifras a ser
usadousado
Protocolo de alerta SSLProtocolo de alerta SSL transmite alertas relacionados ao SSL para as partes transmite alertas relacionados ao SSL para as partes
envolvidasenvolvidas gravidadegravidade
• alerta (1) ou fatal (2)alerta (1) ou fatal (2)
alerta específicoalerta específico• fatal: unexpected_message, bad_record_mac, fatal: unexpected_message, bad_record_mac,
decompression_failure, handshake_failure, decompression_failure, handshake_failure, illegal_parameterillegal_parameter
• alerta: close_notify, no_certificate, bad_certificate, alerta: close_notify, no_certificate, bad_certificate, unsupported_certificate, certificate_revoked, unsupported_certificate, certificate_revoked, certificate_expired, certificate_unknowncertificate_expired, certificate_unknown
compactados e criptografados como todos os dados SSLcompactados e criptografados como todos os dados SSL
Protocolo de estabelecimento Protocolo de estabelecimento de sessão SSLde sessão SSL
permite servidor e cliente fazer:permite servidor e cliente fazer: autentiquem um ao outroautentiquem um ao outro negociem um algoritmo de criptografia e de MACnegociem um algoritmo de criptografia e de MAC Negociem chaves criptográficas a serem usadasNegociem chaves criptográficas a serem usadas
compreende uma série de mensagens em compreende uma série de mensagens em fasesfases
1.1. Estabelecer capacidades de segurançaEstabelecer capacidades de segurança
2.2. Autenticação de servidor e troca de chavesAutenticação de servidor e troca de chaves
3.3. Autenticação de cliente e troca de chavesAutenticação de cliente e troca de chaves
4.4. TérminoTérmino
SSL Handshake ProtocolSSL Handshake Protocol
Fase 1Estabelecer qualificações de segurança, incluindo versão de protocolo, ID de sessão, conjunto de cifras, método de compactação e números aleatórios iniciais.Fase 2O servidor pode enviar certificado, troca de chaves e solicitar certificado. O servidor sinaliza o final da fase da mensagem hello.
Fase 3O cliente envia o certificado se solicitado.O cliente envia a troca de chaves.O cliente pode enviar a verificação de certificado.
Fase 4Trocar conjunto de cifras e encerrar o protocolo de estabelecimento de sessão.
Observação: transferência sombreadas são mensagens opcionais ou dependentes de situação que nem sempre são enviadas.
Cliente
Servidor
Tem
po
TLS (Transport Layer TLS (Transport Layer Security)Security)
padronização IETF na RFC 2246 similar ao SSLv3padronização IETF na RFC 2246 similar ao SSLv3 com pequenas diferençascom pequenas diferenças
grava no formato de número de versãograva no formato de número de versão usa HMAC para MACusa HMAC para MAC funções pseudo-aleatórias para expandir segredosfunções pseudo-aleatórias para expandir segredos tem outros códigos de alertatem outros códigos de alerta algumas diferenças nas cifras disponíveisalgumas diferenças nas cifras disponíveis mudanças nos tipos de certificados e negociaçõesmudanças nos tipos de certificados e negociações mudanças nas cifras computacionais e nos mudanças nas cifras computacionais e nos
enchimentosenchimentos
Secure Electronic Transactions Secure Electronic Transactions (SET)(SET)
especificação aberta de criptografia e segurançaespecificação aberta de criptografia e segurança para proteger transações envolvendo cartões de crédito para proteger transações envolvendo cartões de crédito
pela Internetpela Internet desenvolvido em 1996 pela MasterCard e Visadesenvolvido em 1996 pela MasterCard e Visa não é um sistema de pagamentosnão é um sistema de pagamentos no entanto é um conjunto de protocolos e formatos de no entanto é um conjunto de protocolos e formatos de
segurançasegurança canal de comunicações seguro entre todas as partescanal de comunicações seguro entre todas as partes confiança no uso de certificados digitais X.509v3confiança no uso de certificados digitais X.509v3 privacidade, para disponibilizar as informação apenas para quem privacidade, para disponibilizar as informação apenas para quem
precisaprecisa
Participantes do SETParticipantes do SET
Proprietário do cartão
Emissor
AutoridadeCertificadora
Comerciante
Gateway de pagamento
Acquirer
Rede de pagamento
Internet
Internet
Transação SETTransação SET
1.1. O cliente abre uma conta.O cliente abre uma conta.2.2. O cliente recebe um certificado.O cliente recebe um certificado.3.3. Os comerciantes têm seus próprios certificados.Os comerciantes têm seus próprios certificados.4.4. O cliente faz um pedido.O cliente faz um pedido.5.5. O comerciante é verificado.O comerciante é verificado.6.6. O pedido e o pagamento são enviados.O pedido e o pagamento são enviados.7.7. O comerciante solicita autorização de pagamento.O comerciante solicita autorização de pagamento.8.8. O comerciante confirma o pedido.O comerciante confirma o pedido.9.9. O comerciante fornece os bens ou serviços.O comerciante fornece os bens ou serviços.10.10. O comerciante solicita o pagamento.O comerciante solicita o pagamento.
Assinatura DualAssinatura Dual
cliente cria duas mensagenscliente cria duas mensagens informação do pedido (OI) para o comercianteinformação do pedido (OI) para o comerciante informação de pagamento (PI) para o bancoinformação de pagamento (PI) para o banco
nenhuma das partes precisa de informações nenhuma das partes precisa de informações da outrada outra
porém precisam ser vinculadosporém precisam ser vinculados assinatura dual é usada para issoassinatura dual é usada para isso
cliente concatena os hashes de OI e PIcliente concatena os hashes de OI e PIDS=E(PRDS=E(PRcc, [H(H(PI)||H(OI))]), [H(H(PI)||H(OI))])
Solicitação de compra SETSolicitação de compra SET
A transação de solicitação de A transação de solicitação de compra SET consiste em quatro compra SET consiste em quatro mensagensmensagens
1.1. Inicia solicitação – solicita os Inicia solicitação – solicita os certificadoscertificados
2.2. Inicia resposta – resposta assinadaInicia resposta – resposta assinada
3.3. Solicitação de compra – de OI e PISolicitação de compra – de OI e PI
4.4. Resposta de compra – confirma o Resposta de compra – confirma o pedidopedido
Solicitação de compra - Solicitação de compra - ClienteCliente
Passado pelo comerciante ao gateway
de pagamento
Recebidopelo
comerciante
PIOIPIMDOIMDE
Ks
PUb
=====
==
Informações de pagamentoInformações de pedidoResumo da mensagem de PIResumo da mensagem de OICriptografia (RSA para assimétrica;DES para simétrica)Chave simétrica temporáriaChave pública de troca de chave do banco
Mensagem de solicitação
Assinatura Dual
Assinatura Dual
Certificadode
proprietário
Solicitação de compra - Solicitação de compra - ComercianteComerciante
1.1. Confirma o certificado do proprietário do cartão pela Confirma o certificado do proprietário do cartão pela assinatura da CAassinatura da CA
2.2. Confirma a assinatura dual usando a chave pública Confirma a assinatura dual usando a chave pública de assinatura do cliente garantindo que o pedido não de assinatura do cliente garantindo que o pedido não foi alterado em trânsito e que foi assinado usando a foi alterado em trânsito e que foi assinado usando a chave privada de assinatura do proprietário do cartãochave privada de assinatura do proprietário do cartão
3.3. Processa o pedido e encaminha as informações do Processa o pedido e encaminha as informações do pagamento para o gateway de pagamento para pagamento para o gateway de pagamento para autorização (descrito mais adiante)autorização (descrito mais adiante)
4.4. Envia uma resposta de compra ao proprietário do Envia uma resposta de compra ao proprietário do cartãocartão
Solicitação de compra - Solicitação de compra - ComercianteComerciante
OIOIMDPIMDDHPUc
======
Informações de pedidoResumo da mensagem de OIResumo da mensagem de PIDecriptografia (RSA)Função de hash (SHA-1)Chave pública de assinatura do cliente
Mensagem de solicitação
Assinatura Dual
Certificadode
proprietário
Passado pelo comerciante ao gateway
de pagamento
Autorização do gateway de Autorização do gateway de pagamentopagamento
1.1. Verifica todos os certificadosVerifica todos os certificados2.2. Decriptografa o envelope digital do bloco de autorização para Decriptografa o envelope digital do bloco de autorização para
obter a chave simétrica e depois decriptografa o bloco de obter a chave simétrica e depois decriptografa o bloco de autorizaçãoautorização
3.3. Verifica a assinatura do comerciante no bloco de autorizaçãoVerifica a assinatura do comerciante no bloco de autorização4.4. Decriptografa o envelope digital do bloco de pagamento para Decriptografa o envelope digital do bloco de pagamento para
obter a chave simétrica e depois decriptografa o bloco de obter a chave simétrica e depois decriptografa o bloco de pagamentopagamento
5.5. Verifica a assinatura dual no bloco de pagamentoVerifica a assinatura dual no bloco de pagamento6.6. Verifica se a ID da transação recebida do comerciante combina Verifica se a ID da transação recebida do comerciante combina
com a da PI recebida (indiretamente) do cientecom a da PI recebida (indiretamente) do ciente7.7. Solicita e recebe uma autorização do emissorSolicita e recebe uma autorização do emissor8.8. Retorna uma Resposta de Autorização ao comercianteRetorna uma Resposta de Autorização ao comerciante
Captação de PagamentoCaptação de Pagamento
O comerciante envia um gateway de pagamento O comerciante envia um gateway de pagamento uma transação de captura de pagamentouma transação de captura de pagamento
Gateway checa a solicitaçãoGateway checa a solicitação Depois os fundos são transferidos para a conta Depois os fundos são transferidos para a conta
do comerciantedo comerciante Notifica o comerciante em uma mensagem de Notifica o comerciante em uma mensagem de
Resposta de CaptaçãoResposta de Captação
SumárioSumário
Tenha considera:Tenha considera: Necessidade de segurança na WebNecessidade de segurança na Web Protocolos de segurança da camada de Protocolos de segurança da camada de
transporte - SSL/TLS (Secure Socket Layer / transporte - SSL/TLS (Secure Socket Layer / Transport Layer Service)Transport Layer Service)
Protocolo seguro de pagamento do cartão de Protocolo seguro de pagamento do cartão de crédito – SET (Secure Eletronic Transaction)crédito – SET (Secure Eletronic Transaction)