2. Bradesco Net
2.1. Componentes do Sistema
3. Protocolo SET
3.1. Criptografia
3.2. Message Digest
3.3. Esquema de Segurança
4. Ferramenta de Desenvolvimento
4.1. Active Server Pages
Para garantir a segurança de dados sigilosos envolvidos numa compra eletrônica, como o número do cartão de crédito, é necessária a criptografia desses dados. Essa técnica garante apenas que o emissor e o receptor terão conhecimento das informações enviadas.
Outra questão está relacionada ao repúdio. Uma vez efetuada a venda o comerciante deve ter a segurança de que o verdadeiro dono do cartão efetuou a compra e que esse não poderá negar mais tarde o pagamento da mesma.
O padrão SET (Secure Eletronic Transactions) surgiu da iniciativa de um consórcio de empresas como uma alternativa para resolver esses principais problemas relacionados ao comércio eletrônico. O SET é um protocolo de segurança desenvolvido para garantir a transmissão segura de informações financeiras em redes públicas. Muita coisa ainda vai ser dita, discutida e modificada até que esse protocolo se firme como um padrão mundialmente reconhecido e aceito. Porém, segundo a Gartner Group, existe uma probabilidade de 60% de no final de 2001 o SET já ser o padrão mundial para segurança em pagamentos eletrônicos, dando suporte a mais de 50% das compras na Web.
Por ser o SET um protocolo novo, mas com grandes perspectivas de se tornar um padrão, esse trabalho tem como tema o primeiro site nacional de comércio eletrônico que utiliza esse protocolo de segurança, o Bradesco Net.
O Bradesco Net foi inaugurado no dia 24 de março de 1998 no endereço eletrônico http://www.bradesco.com.br/comercio. A principal característica desse shopping é a utilização da carteira eletrônica (as "Wallets"), um conceito novo introduzido na especificação do protocolo SET. O sistema cobre os pontos mais críticos do comércio eletrônico: sigilo, autenticação, através dos certificados digitais, integridade, autenticidade das informações e não repúdio.
O shopping foi construído no período de um ano, teve um custo de 700 mil dólares e nasceu com 13 lojas conveniadas.
O site do Bradesco é um hospedeiro de lojas que queiram realizar vendas pela Web. O Bradesco não oferece produtos, ele fornece a infra-estrutura de um sistema de pagamentos pela Internet. As lojas interessadas assinam um convênio com o Bradesco Net e assim podem receber pagamentos eletrônicos efetuados com os cartões de crédito, débito e/ou de poupança do banco.
Resumidamente, a compra virtual funciona da seguinte forma: ao fazer uma compra pela Internet numa loja conveniada, o cliente do Bradesco utiliza a carteira eletrônica, que ele mesmo instala no micro ou mantém em disquete. Ao concretizar a operação é emitido um recibo com o número da operação e a mercadoria é enviada pelo lojista.
A home-page da loja conveniada pode estar hospedada
num domínio próprio ou dentro do domínio do Bradesco
Net. Caso a loja tenha um domínio próprio, na hora do pagamento,
é feito o link para o back-end do Banco.
A identificação é a primeira etapa na compra eletrônica. Tanto comprador como vendedor devem se certificar sobre a verdadeira identidade do outro. Todas as entidades envolvidas na transação devem possuir um Certificado Digital, que é um tipo especial de estrutura de dados digitalmente assinada. Para o Comprador, o certificado é como uma representação eletrônica do seu cartão contendo além da identificação do cartão e de seu proprietário, a chave pública do comprador e a assinatura digital da instituição que emitiu o certificado. Para o Vendedor, o certificado é como um adesivo digital que comprova sua ligação com uma instituição financeira permitindo o recebimento de pagamento com determinado tipo de cartão. Esses certificados são válidos por um determinado período de tempo e cada um fica armazenado criptografado e protegido por senha no computador do seu proprietário.
Na segunda etapa da compra, a autorização, o vendedor deve confirmar a validade do número do cartão do comprador junto à sua administradora de cartão e se esse tem o crédito necessário para realizar a compra.
A autenticação das mensagens deve ser testada em todas as etapas onde informações essenciais sejam trocadas, fornecendo uma garantia de que a mensagem não foi modificada durante o seu envio. Essa garantia é fornecida pelo uso de envelopes e assinaturas digitais.
A assinatura digital além de garantir a integridade da mensagem, comprova também a sua autoria. Ela é gerada através da cifragem da “Message Digest”.
O protocolo SET, assim como o HTTP, é um protocolo
de comunicação para Internet. Porém seu uso é
exclusivo para transações comerciais. A figura 1 mostra um
esquema com todos os protocolos já utilizados ou em implantação
nas comunicações pela Internet e a localização
do SET nesse esquema.
O uso de técnicas de criptografia é hoje a forma mais completa de garantia da segurança dos dados nas transações eletrônicas.
Os esquemas criptográficos são classificados
em:
Assim a “Message Digest” é como uma
impressão digital da mensagem. Ela garante a sua integridade, pois
se algum bit for mudado durante a transmissão da mensagem, o cálculo
feito pelo receptor para verificação irá detectar
tal mudança. Essa verificação consiste no receptor
aplicar o mesmo algoritmo Hash nos dados recebidos e comparar com o “Message
Digest” recebido se eles forem iguais é sinal de que nenhuma mudança
ocorreu. Além disso, quando a “Message Digest” é usada para
gerar a assinatura digital, através da sua cifragem pela chave privada
do emissor, ela serve como garantia de autoria. Assim, o repúdio
(termo usado quando o emissor nega o envio da mensagem) é impossível,
pois existe uma prova digital que aquela mensagem foi gerada pela pessoa
que a assinou.
1. Para enviar a mensagem para Bob, Alice dispara o aplicativo responsável
pela segurança no envio da mensagem. O sistema aplica uma função
Hash sobre os dados confidenciais a serem transmitidos, por exemplo o número
do cartão, gerando uma “Message Digest”.
2. A “Message Digest” é cifrada com a chave privada de Alice
para produzir a assinatura digital dessa mensagem.
3. Depois, o sistema gera uma chave randômica simétrica
e cifra os dados, a assinatura digital e o certificado de Alice, num único
pacote, gerando a mensagem criptografada.
4. Para poder decifrar a mensagem Bob irá precisar de uma cópia
da chave simétrica. Essa chave é cifrada com a chave pública
de Bob que Alice obteve através do certificado de Bob (previamente
enviado), gerando um envelope digital.
5. Alice envia para Bob um pacote contendo a mensagem criptografada
e o envelope digital.
6. O sistema de Bob recebe a mensagem e decifra o envelope digital
com sua chave privada, obtendo assim a chave simétrica.
7. Bob usa a chave simétrica para decifrar a mensagem e obter
os dados confidenciais, a assinatura digital e o certificado de Alice.
8. Ele decifra a assinatura digital de Alice com sua chave pública,
que ele obteve através do certificado de Alice, obtendo assim a
“Message Digest” original.
9. Ele roda a mesma função Hash, usada por Alice, sobre
os dados recebidos, gerando uma “Message Digest”.
10. Finalmente, Bob compara as duas “Message Digest”, se elas forem
iguais ele pode ter certeza da autenticidade e integridade dos dados recebidos.
A especificação do protocolo SET define o formato das mensagens enviadas durante o comércio eletrônico, as formas de criptografia e o esquema de segurança a ser seguido.
Além disso, através de uma esquema de assinatura digital dupla, as informações só estarão disponíveis para as entidades responsáveis pelo seu tratamento. Os dados da compra são cifrados com a chave pública do vendedor e os dados do cartão são cifrados com a chave pública da instituição financeira. Assim, a administradora de cartão não terá acesso à lista de compras, nem o vendedor terá acesso ao número do cartão de crédito do comprador.
Uma página ASP é um conjunto de tags HTML, comandos Script, em JavaScript ou VBScript, e texto. Através dos comandos Script são realizadas as consultas e modificações na base de dados. Esses comandos são delimitados através dos marcadores: <% e %>.
Abaixo está um trecho de uma página ASP como exemplo.
<--! Tag HTML para definição
da cor da fonte -->
<FONT COLOR=“GREEN”>
<--! Comando Script que verifica se a hora
atual está entre 12:00AM e 12:00PM -->
<% If time >= #12:00:00 AM# And Time <
#12:00:00:00 PM# Then %>
<--! Texto a ser escrito na página
caso seja de manhã -->
Good Morning!
<--! Comando Script Else -->
<% Else %>
<--! Texto a ser escrito caso não seja
manhã -->
Hello!
<--! Comando Script que finaliza o If -->
<% End If %>
<--! Tag HTML de término da definição
da cor da fonte -->
</FONT>
As páginas ASP provêem a mesma flexibilidade
de programas CGI sem ocasionar problemas de performance por tradeoff. Com
CGI para cada requisição do cliente é criado um processo
no servidor para atender aquela requisição. Com isso existe
muito consumo de tempo e de memória do servidor para criação
dessses processos. A criação das páginas ASP é
através de processos multi-threaded o que otimiza o atendimento
a várias requisições ao mesmo tempo.
A troca de mensagens relacionadas ao pagamento da compra é criptografada e enviada através do protocolo SET. O aplicativo responsável pela comunicação do cliente com o Banco e com o lojista para elaboração do pedido é a carteira digital. É ela a responsável por separar e enviar os dados do cartão para o banco e os da compra para o lojista.
A partir dessa página é possível navegar dentro da loja, escolhendo produtos e selecionando-os para inclusão na cesta de compras. A cesta de compra pode ser visualizada a qualquer instante e possui todos os dados do produto selecionado, seu valor e o valor total da compra.
Se houver falha de comunicação ou se o comprador quiser voltar uma outra hora para efetuar a compra, os valores referentes a escolha feita são armazenados e através de cookies esses dados podem ser recuperados quando o comprador entrar novamente na loja.
Na hora do pagamento é fornecida a opção de pagamento através da Carteira Eletrônica Bradesco. Caso seja essa a opção o próprio site vai apresentar a carteira do cliente na tela do seu micro para que esse escolha o endereço de entrega da mercadoria e o cartão para efetuar o pagamento. A Carteira Eletrônica Bradesco é mostrada na figura 6.
O comprador quando instala a carteira em seu computador deve cadastrar pelo menos um endereço pessoal, que será o endereço utilizado para a entrega das mercadorias. Além disso, para cada cartão de pagamento registrado na carteira é gerado um certificado digital referente àquele cartão. Esse certificado vai ser a garantia para o banco da autenticidade do cartão e de seu portador.
A evolução do comércio eletrônico pela Web está diretamente ligado a evolução das técnicas que garantem a segurança na transmissão de dados sigilosos pela rede. Além disso, técnicas de marketing personalizado e direcionado ao consumidor alvo e novas formas de apresentação dos produtos, entre outros fatores, também estão na lista dos pontos de evolução dos shoppings virtuais. Tudo isso, busca a simpatia e a comodidade dos compradores.
Existem alguns problemas que ainda precisam ser superados para que o comércio eletrônico cresça em qualidade e uso. Um desses problemas é a conquista da confiança dos compradores. Muito ainda precisa ser falado e provado para que essa confiança seja realmente conquistada. Dentro desse ponto temos a falta de assistência técnica que tranqüilize e oriente o usuário em caso de erros e falhas de comunicação.
Um problema que tem surgido com a aceitação do protocolo SET diz respeito à política de segurança de alguns países do mundo. Na França, por exemplo, existe a restrição que toda mensagem cifrada deve ser possível de ser decifrada pelas autoridades governamentais. A solução encontrada na França é uma adaptação do protocolo SET, chamada C-SET (Chip-Secure Eletronic Transaction), que utiliza smartcards. O C-SET é compatível com o SET e permite transações entre comerciantes franceses e consumidores estrangeiros, assim como entre consumidores franceses e comerciantes estrangeiros.
O uso dos smartcards tem mostrado ser uma possível evolução na forma de segurança das transações comerciais. E com a evolução dos computadores e o aumento da capacidade operacional desses, cada vez mais será necessário criar algoritmos de criptografia seguros que não possam ser quebrados por essas máquinas.
[2] Revista Informática Exame. São Paulo, Editora Abril, 1997-1998
[3] CommerceNet Home Page - http://www.commerce.net/
[4] Basic Flaws in Internet Security and Commerce -
http://http.cs.berkeley.edu/~gauthier/endpoint-security.html
[5] Beginners' Guide to Cryptography - http://www.ftech.net/~monark/crypto/crypt/vig.htm
[6] RSA Data Security - http://www.rsa.com
[7] SET Especification Books One, Two and Three
[8] Matuck, M., O sucesso do Internet Banking do Bradesco é a
base do Comércio Eletrônico recém lançado pelo
banco.
http://www.intersection.com.br/artigos/1998/05061998.html
[9] PC Webopedia Definition and Links - http://www.pcwebopedia.com/
[10] Feit, S., SET - Needed to Build Trust. Application Development Trends, p. 68-72, Fev. 1997
[11] Microsoft Site Server Commerce Edition Documentation
http://www.microsoft.com/siteserver/commerce/default.asp
[12] Carroll, M., Internet-Commerce Security. Byte, Maio 1997
[13] Active Server Pages Overview -
http://www.microsoft.com/iis/guide/aspoverview.asp?A=2&B=9