quinta-feira, 26 de novembro de 2009

Conheça aqui como o S/MIME está colaborando para tornar o e-mail mais seguro

É possível enviar informações sigilosas via correio eletrônico?
 João Henrique Franco

Se o presidente Tancredo Neves ainda estivesse vivo certamente não estaria utilizando o correio eletrônico (nem o telefone celular) em seus contatos com outros políticos. Tancredo, como bom político mineiro, jamais tratava de assuntos sigilosos no telefone; ele dizia que só usava o aparelho para marcar encontros - sempre falsos - para despistar seus adversários.
Embora não respeite a privacidade de seus usuários, o uso do correio eletrônico continua se disseminando rapidamente. Uma mensagem de e-mail pode ser comparada a um cartão postal escrito a lápis: até chegar ao destinatário, seu conteúdo pode ser lido e mesmo modificado sem muita dificuldade. Como se não bastasse, não há como saber, com certeza, seu verdadeiro autor.
Em outras palavras, o correio eletrônico convencional não assegura o sigilo e a integridade da mensagem nem garante a autenticidade do remetente. Se essas condições são aceitáveis em alguns casos, em outras situações - durante, por exemplo, uma troca de idéias sobre leilões de privatização ou abertura de empresas em paraísos fiscais - elas são absolutamente intoleráveis (para os interlocutores, é claro :-).
Como surgiu o S/MIME
Motivadas em alterar um quadro tão tenebroso (os políticos norte-americanos não são melhores que os nossos!), um grupo de empresas (RSA, Microsoft, Netscape, Lotus e Novell) criou em 1995 uma especificação de correio eletrônico seguro, denominada S/MIME (Secure MIME), com o propósito evitar a interceptação, alteração e a falsificação de mensagens trocadas eletronicamente.
Embora ainda não seja um padrão Internet, o S/MIME foi adotado por aquelas empresas em seus produtos de correio eletrônico, o que acabou disseminando o S/MIME internacionalmente. Sendo um padrão aberto e interoperável, o S/MIME possibilita que mailers de diferentes fornecedores possam trocar mensagens entre si. Entre os mailers que suportam S/MIME destacam-se o Microsoft Outlook e o Outlook Express (que acompanha o Internet Explorer), o Netscape Messenger (que integra o Netscape Communicator) e o Eudora Pro (com a ajuda do plug-in WorldSecure da WorldTalk).
S/MIME vs OpenPGP
O grande rival do S/MIME é o OpenPGP - padrão baseado no famoso PGP (Pretty Good Privacy) - e que, tal como o S/MIME, é também objeto de estudo do IETF (Internet Engineering Task Force).
Como vimos na última coluna, os certificados X.509 (usados pelo S/MIME) podem ser usados em escala global, o que não acontece com os certificados PGP, cuja utilização só é viável em pequenos grupos. Por esse motivo, o S/MIME tem melhores credenciais que o OpenPGP para se impor como o padrão mundial para correio eletrônico seguro. Outro ponto em favor do S/MIME é o fato de contar com o apoio das arquiinimigas Netscape e Microsoft.
Características do S/MIME
Vale lembrar aqui uma importante diferença entre o correio eletrônico e outros serviços interativos disponíveis na Internet (p.ex Web). Quando você, leitor, está surfando na Web, seu browser se conecta diretamente com cada servidor visitado. Por isso, para proteger essa comunicação basta proteger o canal por onde trafegam as informações trocadas. Esse é o modelo usado pelo protocolo SSL (Secure Sockets Layer), que cria um canal seguro por onde passam, "no andar de cima", as mensagens do protocolo HTTP.
Por outro lado, o correio eletrônico utiliza o modelo "store-and-forward", onde as mensagens passam de servidor a servidor (via protocolo SMTP) até chegarem ao seu destino final (o que pode acontecer em alguns minutos, horas ou até mesmo dias). Nessa situação não há canal a ser protegido; a saída é proteger a mensagem propriamente dita. É nesse ponto que entra o S/MIME.
No S/MIME, o sigilo das mensagens é assegurado pelo uso de algoritmos simétricos (que utilizam uma mesma chave para ciframento e deciframento). Todas os mailers S/MIME 1.0 devem suportar, no mínimo, o algoritmo RC2 com chave de 40 bits (cuja exportação é autorizada pelos EUA); opcionalmente podem ser usados o DES (que usa chaves de 56 bits) e o DES-triplo (que opera com chaves de 168 bits). Para garantir a integridade e a autenticidade das mensagens, o S/MIME utiliza assinaturas digitais, baseadas em algoritmos de chave pública como o RSA (que usa chaves distintas para ciframento e deciframento).
Com o S/MIME é possível, a critério do usuário, enviar uma mensagem
  • somente criptografada (quando só o sigilo é importante)
  • somente assinada digitalmente (quando interessam apenas integridade e autenticidade)
  • criptografada e assinada digitalmente (quando são desejados sigilo, integridade e autenticidade).
Vamos ver exemplos dos dois primeiros casos (já que o terceiro é uma combinação de ambos).
Exemplo 1: enviando uma mensagem criptografada
Um funcionário público, José da Silva, que deseja permanecer anônimo, quer enviar para um famoso jornalista, Gilberto Rossi, através de um "anonymous remailer", um amplo relato do mau uso de verbas públicas em seu estado.
Para proteger o conteúdo da mensagem contra bisbolheteiros, o S/MIME prevê o uso de um algoritmo simétrico como o DES para criptografar a mensagem usando uma chave gerada aleatoriamente ("chave de sessão").
Bom, mas como fazer essa chave chegar às mãos do Gilberto Rossi? Aqui é que entra em cena o algoritmo RSA: a chave de sessão é criptografada com a chave pública do Gilberto, extraída de seu certificado, e o resultado é anexado à mensagem cifrada no passo anterior.
Ótimo, mas onde o mailer que José usa vai conseguir o tal certificado? Na maior parte dos casos, o certificado desejado pode ser obtido em algum serviço de diretório (como o InfoSpace Directory), a partir do nome e/ou endereço eletrônico do detentor (é claro que Gilberto, como profissional atualizado que é, já havia providenciado a emissão, junto a uma Autoridade Certificadora, ou CA, de um certificado X.509). Uma vez verificada a validade do certificado de Gilberto, sua chave pública pode ser utilizada com certeza de sua autenticidade.
Na outra ponta, o "mailer" de Gilberto, ao receber a mensagem, vai utilizar sua chave privada (que ninguém mais conhece exceto ele) para recuperar a chave de sessão; em seguida, essa chave é usada com o DES para decifrar a mensagem recebida e obter a mensagem original. Se a matéria for verídica (ou não), Gilberto pode ficar mais famoso ainda.
Exemplo 2: enviando uma mensagem assinada
A Laserbrás, uma estatal, vai fazer uma licitação para a compra de poltronas reclináveis. Sendo uma empresa moderna, ela vai enviar uma "carta-convite" via correio eletrônico para fornecedores previamente cadastrados. Não há, neste caso, necessidade de sigilo mas sim de integridade (para que não sejam alteradas as informações do edital) e de autenticidade (para que todos os fornecedores reconheçam o edital como autêntico). A solução adotada pela Laserbrás é enviar uma mensagem S/MIME assinada digitalmente para a "mailing list" de fornecedores.
O primeiro passo do mailer S/MIME é, com a ajuda do algoritmo SHA-1 (recomendado pelo S/MIME), gerar um "resumo" (uma espécie de checksum sofisticado) do edital que, no caso do SHA-1, é uma cadeia de 160 bits (20 bytes).
Uma das propriedades importantes de um algoritmo de "hash" como o SHA-1 é que qualquer alteração, por menor que seja (p.ex. omissão de uma vírgula), provocará uma alteração drástica no novo resumo. Outra característica é que um resumo obtido com o SHA-1 terá sempre 160 bits não importando se a mensagem é um parágrafo de texto (com algumas centenas de bytes) ou um clip de vídeo (com dezenas de megabytes).
Em seguida, o resumo é criptografado com a chave privada da Laserbrás e anexado ao texto (legível) do edital; a mensagem, agora assinada digitalmente, pode então ser enviada.
Ao receber a mensagem, a CampCadeiras, um dos fornecedores, pode verificar facilmente a integridade e autenticidade do edital. A primeira providência do "mailer" é verificar a validade do certificado da Laserbrás (que pode ter sido revogado pela CA que o emitiu após a última licitação) e, se tudo estiver ok, extrair a chave pública do certificado da Laserbrás.
Essa chave será aplicada ao resumo criptografado para recuperar o resumo original. A partir do texto do edital recebido na mensagem, é possível, por outro lado, calcular localmente o resumo. Se ambos forem iguais, a CampCadeiras pode concluir que a mensagem foi efetivamente produzida pela Laserbrás e não sofreu alterações durante a transmissão. A CampCadeiras pode, agora, preparar sua proposta.
Na próxima coluna veremos mais aplicações de certificados digitais. Até lá!


fonte: http://www.bax.com.br/Bax/Fiemg/Modulo4/Bax/Textos/MIME.htm
 
Reações:

0 comentários: