Redes II Comércio Eletrônico Protocolos SSL e SET Raul Baldin Renato Stringassi 02088243 02172070 1 Introdução A popularização da internet fez com que surgisse um grande mercado virtual. Devido à suas facilidades e comodidade de acesso. No Brasil, no ano de 2004, o comércio eletrônico movimentou cerca de 1,7 bilhões de reais. 2 Faturamento do e-commerce no Brasil 3 Dificuldades Democratização da internet no Brasil. Ainda existem muitas pessoas sem acesso à internet. Medo da má utilização dos dados dos clientes na internet. Receio de fraudes. 4 Comércio Eletrônico Compra de bens pela Internet Envolve três participantes: Consumidores (compra o produto) Comerciantes (vende o produto) Instituições Financeiras (autoriza compra) 5 Comércio Eletrônico usando SSL/TLS SSL (secure sockets layer) – Camada de Portas de Segurança TLS (transport layer security) – Segurança da Camada de Transporte Geralmente só a sigla SSL é usada para representar ambos 6 Comércio Eletrônico usando SSL/TLS (cont.) Inicialmente desenvolvido pela Netscape Fornece criptografia de dados entre um cliente e um servidor Implementado em quase todos os clientes (navegadores) e servidores Várias implementações, bibliotecas (ex: OpenSSL) 7 Comércio Eletrônico usando SSL/TLS (cont.) Pode ser vista como uma camada entre a camada de aplicação e a de transporte Camada de Aplicação TLS Camada de Transporte Não é limitado apenas a aplicações Web: pode ser usado em correio Imap, POP3, e por praticamente qualquer aplicação rodando sobre TCP Fornece: Confiabilidade Integridade de conexão e mensagens Autenticação do servidor e opcionalmente do cliente 8 Problemas de uma transação de comércio eletrônico Bob Ordem pagamento Ordem pagamento (Senha + #Cartão) (Senha + #Cartão) Trudy Alice Intruso interceptando ordem de pagamento: Um intruso (Trudy) pode interceptar a ordem de pagamento de um cliente (Bob), obter o número do cartão de crédito e senha para realizar outras compras em nome de Bob 9 Problemas de uma transação de comércio eletrônico Ordem pagamento (Senha + #Cartão) Bob Trudy se passando por Alice Intruso se passando por comerciante: O site do comerciante (Alice) pode ser falso e estar sendo mantido pelo intruso (Trudy) só para conseguir obter o número do cartão e a senha de seus clientes (no caso, Bob) 10 Autenticação do servidor SSL Permite que o usuário confirme a autenticidade do servidor: Autenticação feita pelo navegador que mantém uma lista de CAs de confiança com suas respectivas chaves públicas. Navegador autentica servidor antes do usuário informar seus dados sigilosos Bob verifica que ele está realmente enviando dados a Alice, e não a alguém se passando por Alice (Trudy) 11 Autenticação do cliente SSL Permite que o servidor confirme a identidade do usuário: Análogo a autenticação de servidor Servidor mantém lista de certificados de clientes emitidos por CAs Suportada pelo SSL, porém opcional Usado, por exemplo, se um Banco quiser enviar dados confidenciais a um cliente 12 Uma sessão SSL criptografada Toda informação trocada entre navegador e servidor é criptografada por software (navegador ou servidor) Confidencialidade importante para o cliente e comerciante Fornece mecanismo de detecção de alteração (por um intruso) das informações trocadas 13 Solução para uma transação segura, usando SSL Bob consulta (com navegador) a página segura de Alice Alice envia seu certificado a Bob Bob obtém chave pública de Alice Bob cria uma chave simétrica aleatória e a criptografa usando a chave pública de Alice Alice obtém a chave simétrica de Bob 14 Limitações do SSL no comércio eletrônico Muito simples e genérico Não foi produzido visando transações com cartões de pagamentos, e sim para comunicação segura entre cliente e servidor Certificado não mostra se estabelecimento comercial é de confiança ou se o mesmo está autorizado a aceitar compras usando cartões de pagamento Certificado não mostra se cliente está autorizado a fazer compra com cartões de pagamento Abertura para diversos tipos de fraudes: Compra com cartões de crédito roubado Recusa de bens comprados 15 Protocolo SET (secure eletronic transactions ) Originalmente desenvolvido pela Visa International e MasterCard International em 1996, conjuntamente com outras empresas (IBM, Microsoft, Netscape). SETCo, em 1997 reconhecido como uma entidade legal para administrar e promover a adoção global do protocolo SET. 16 Características do Protocolo SET Diferente do SSL, ele foi projetado para criptografar tipos específicos de mensagens relacionadas ao cartões de pagamento, não podendo criptografar texto ou imagens. Envolve três participantes: Cliente Comerciante Banco Todos as informações importantes envolvidas na transação são criptografadas. Os três participantes devem ter certificados. O banco fornece certificados para o cliente representando o cartão de pagamento do cliente com informações sobre sua conta a instituição financeira que emitiu o certificado e outras informações cifradas. O mesmo ocorre para o comerciante contendo informações sobre ele, o banco do comerciante e a instituição que emitiu o certificado. 17 Características do Protocolo SET O protocolo especifica o significado legal do certificado em poder de cada participante e a atribuição de responsabilidades vinculadas à transação. O número do cartão de pagamento do cliente é passado diretamente ao banco do comerciante, sem que ele tenha posse desses dados, evitando com quem acidentalmente esses dados vão parar em mãos erradas. 18 Componentes de Software Carteira do browser: Servidor do comerciante: É integrada ao browser e fornece ao cliente armazenagem e administração de cartões de pagamento e certificado durante as compras Ele processa as transações do portador do cartão e se comunica com o banco do comerciante para aprovação e subseqüente captura do pagamento. Gateway do adquirinte: Componente de software no banco do comerciante, processa a transação do cartão de pagamento do comerciante referente à aprovação e ao pagamento. 19 Estágios de uma compra 1. 2. 3. 4. Cliente informa a intenção de compra O comerciante envia ao cliente uma fatura e um identificador de transação exclusivo Comerciante envia seu certificado com sua chave pública juntamente com a chave pública do banco e ambos criptografados com uma chave privada de uma CA. O cliente usa a chave pública de CA para decifrar os dois certificados. 20 Estágios de uma compra 5. O cliente gera dois pacotes de informação: - informação de ordem -> contém o identificador da transação e informação sobre a bandeira do cartão que está sendo usado (destinado ao comerciante). Criptografado com a chave pública do comerciante. - instruções de compra -> contém o identificador da transação, o número do cartão do cliente e o valor da compra (destinado ao banco). Criptografado com a chave pública do banco do comerciante. Ambos os pacotes são enviados ao comerciante. 6. O comerciante gera uma solicitação do cartão de pagamento, junto como o identificador da transação. 21 Estágios de uma compra 7. O comerciante envia uma mensagem criptografada com a chave pública do banco contendo um pedido de autenticação, o pacote IC do cliente e seu certificado. 8. O banco do comerciante decifra a mensagem verificando se houve alguma falsificação e se o identificador de transação contido no pedido de autorização bate com o contido no pacote de IC do cliente. 9. O banco do comerciante envia uma solicitação de autorização de pagamento ao cartão de pagamento do cliente através de uma rede bancária (exatamente como cartões). 10. Após receber a autorização, o banco do comerciante envia uma resposta criptografada, contendo o número identificador da transação. 11. Se a transação for aprovada o comerciante envia sua própria mensagem ao cliente, que servirá de recibo, informando que o pagamento foi efetuado. 22 Estágios de uma compra 23 Objetivos do SET Oferecer confidencialidade sobre as informações relacionadas a pagamentos e pedidos de compra. Assegurar a integridade das informações trafegadas. Oferecer a autenticação de que o proprietário de cartão é um usuário legítimo de uma conta em uma administradora de cartões. Oferecer a autenticação de que o comerciante está habilitado para aceitar pagamentos da administradora de cartões em questão, através do seu relacionamento com uma instituição financeira. Assegurar o uso das melhores práticas de segurança e técnicas de projeto de sistemas, a fim de proteger todas as partes envolvidas na transação de compra eletrônica. Criar um protocolo que não dependa de mecanismos de segurança no nível de transporte e não “previna seu uso”. Facilitar e encorajar a interoperabilidade entre provedores de software e serviços de rede. 24 Bibliografia http://ltodi.est.ips.pt/nribeiro/Lecturing/SD_00-01/sd_0001.html#Objectivos http://www.inf.ufrgs.br/pos/SemanaAcademica/Semana98/alex is.html http://www306.ibm.com/software/genservers/commerce/payment/suppor t/overview.html Redes de Computadores e a Internet (James F. Kurose, Keith W. Ross) 25