E-Mail Seguro – Problemas, Padrões e Perspectivas

(Marshall T. Rose e David Strom)

Com o aumento no uso do E-mail, muitos defendem a necessidade de se poder comprovar sua identidade e assegurar o conteúdo de suas mensagens de modo que outros não possam visualizar seu conteúdo. No entanto, comprovar a identidade (autenticação) na Internet é um problema bastante complicado. Sendo assim, esse fator constitui uma das principais razões para o desenvolvimento de sistemas que pretendem assegurar que todas as mensagens carreguem consigo sua autenticação apropriada, o tempo todo. Garantir o conteúdo das mensagens também é um desafio, pois todo e-mail enviado pela Internet, a menos que esteja protegido, é enviado em formato ASCII. Qualquer pessoa que tenha as ferramentas, tempo e conhecimento técnico pode capturar o tráfego e ler a correspondência de quem quer que seja. Isso não é simples de ser feito, mas é possível.

Padrões de Criptografia

Atualmente, nenhuma tecnologia para segurança de e-mail atende a todos os critérios relacionados a baixo:

Conceitos Básicos

A fim de entender a segurança do e-mail, é necessário entender os três conceitos abaixo:

Encriptação de dados

Quando se deseja que o conteúdo de uma mensagem seja protegido de terceiros, é necessário que a mensagem passe por um algoritmo de encriptação. Historicamente, tem se utilizados algoritmos simétricos de encriptação. Nesse algoritmos, a mesma chave é usada tanto para encriptar como para descriptar os dados. Algoritmos simétricos tem sidos escolhidos por serem computacionalmente mais rápido de executarem do que os algoritmos assimétricos. Sendo assim, toda vez que uma mensagem tiver de ser encriptada, gera-se um chave que é enviada junto com a mensagem, mas encriptada, de modo que só o receptor poderá decifrá-la. Decifrada a chave, o receptor pode aplicar o algorítmo de encriptação e visualizar o conteúdo original.

Integridade da Mensagem

Quando se deseja assegurar que o conteúdo de uma mensagem não foi alterado por um outro usuário e garantir a autoria dessa mesma mensagem, é necessário submete-la a uma assinatura e a um algoritmo hash. A assinatura verifica a autenticidade de uma mensagem e o algoritmo hash é usado para garantir a integridade.

Para algoritmos de assinatura, normalmente tem se usado algoritmos assimétricos. Esses algoritmos usam uma chave pública e uma chave privada. Um algoritmo de assinatura combinado com uma chave privada permite a geração de uma assinatura digital para uma mensagem. O algoritmo combinado com uma chave pública permite a verificação de uma assinatura digital para uma mensagem .

Algoritmos hash simplesmente computam um checksum dos dados (as chaves não participam). Bons algoritmos hash são aqueles que produzem resultados muito diferentes para entradas muito similares, ou seja, se um simples bit for alterado ou corrompido durante a transmissão, o resultado do hash será diferente.

Gerenciamento da chave

Nesse caso nos interessa saber como funcionam as chaves nos algoritmos assimétricos. Especificamente, como confiar na identidade de uma chave privada usada para fazer a assinatura digital? Inicialmente , é preciso introduzir a noção de certificado de chave pública. Embora haja diferentes formatos, todos os certificados possuem três items:

A identidade pode ser qualquer coisa que possa ser representada digitalmente.

As garantias são assinaturas digitais de outras chaves públicas que garantem a veracidade da ligação.

Além disso, os certificados possuem outras propriedades, como a data em que o certificado torna-se válido, data em que expira e uma impressão digital. A impressão digital é simplesmente um hash da identidade e chave pública, usada caso ocorra alguma alteração nesses items durante a transmissão. Finalmente, listas de certificados nulos identificam certificados que não são válidos.

Pretty Good Privacy : A Web da Confiança

Pretty Good Privacy (PGP) é a encriptação popular. A versão "pré standard" do PGP utiliza o algoritmo RSA para assinaturas e o IDEA para encriptação. A principal marca do PGP é o seu modelo de confiança. Se voltarmos a questão de como confiar na identidade em um certificado chave pública temos a seguinte resposta do PGP:

Então, inicialmente sua coleção local de certificados inicia com apenas um certificado, o seu certificado PGP. Você então assina o certificado dos seus amigos e eles assinam o seu. Como você confia em você mesmo, quando assina esses certificados, eles são automaticamente considerados válidos. Então baseado no julgamento que você tem na habilidade dos seus amigos em assinarem outros certificados acertadamente, você marca um nível de confiança para os certificados PGP de seus amigos.

Servidores de chaves (repositórios de certificados PGP) estão disponíveis. Se você precisa enviar um e-mail para alguém, mas não tem seu certificado, você pode consultar um servidor para ver se existe uma cópia nele. Nesse caso, as regras de validade e confiança continuam valendo. Os servidores de chaves também são úteis quando você recebe um e-mail de alguém novo. Você decidirá se confia ou não na chave baseado em quem assinou a mesma.

 

 

Secure MIME: a hierarquia da confiança

S/MIME tem duas versões: as versões 2 e 3. A versão 2 usa o algoritmo RSA para assinaturas e um fraco algoritmo para encriptação (RC2 com chaves de 40 bits). S/MIME utiliza um modelo hierárquico para o estabelecimento da confiança. Por exemplo, suponhamos que eu trabalho para uma pequena empresa chamada XYZ Inc. A empresa XYZ dispõe de um sistema de correio eletrônico interno e age como autoridade de certificação para os seus empregados. Mas quando eu enviar ao leitor uma mensagem de correio eletrônico, como o leitor vai saber se a empresa XYZ é de confiança para verificar a minha identidade, e, como o leitor sabe que foi na realidade a empresa XYZ que assinou a minha chave pública se não tem a chave pública da XYZ na sua base de dados? O S/MIME resolve este problema através de uma hierarquia de confiança, também chamada cadeia de confiança. Dessa maneira, eu incluo também o certificado da empresa XYZ, a chave pública da XYZ assinada também por outra autoridade de certificação. Se esta segunda entidade for um serviço do conhecimento e confiança do leitor, então poderá aceitar o meu certificado como válido. Se o nível mais alto da cadeia for conhecido e de confiança, então poderemos considerar que o certificado é de confiança. A autoridade de certificação proeminente é a VeriSign. Uma chave pública da VeriSign está imediatamente disponível e antecipadamente carregada na maioria dos programas S/MIME.

Os modelos de confiança web e hierárquico compartilham muitos atributos em comum. Por exemplo, quando você recebe uma mensagem, ela contém uma cópia do certificado que foi usado para fazer a assinatura digital. Se você não conhece a assinatura, você pode procurar em um repositório de chaves remoto. A única diferença nesse caso, é que o modelo hierárquico necessita do servidor de chaves para fazer sua infra-estrutura de chaves funcionar. Devido a isso, as chaves são usualmente guardadas em um diretório de serviços acessado via LDAP (Lightweight Directory Access Protocol)

Formato dos Dados

Multipart/signed:

Parâmetros obrigatórios:

Observe que você não encripta a primeira parte em um multipart/signed.

Multipar/encrypted

Parâmetro obrigatório:

PGP x S/MIME

PGP é um produto para a maioria. Ele foi feito para ser usado individualmente e ainda é o método mais fácil de instalar e usar, embora esteja longe de ser simples. Existe, ainda uma versão para workgroups ou businesses. Se você quer usar PGP, você precisará rodar uma parte do software de encriptação e decriptação separadamente.

Com PGP você pode estabelece que todas as mensagens encriptadas que chegam ou saem são primeiro copiadas para um arquivo especial e todas as mensagens que saem são encriptadas com uma chave especial que pode ser usada em uma emergência para ler a mensagem se o remetente esquecer sua chave ou deixar a companhia. S/MIME não tem essa característica.

Nem todos os pacotes S/MIME podem exportar mensagens encriptadas para todos os outros pacotes devido as diferenças de implementação

Assinatura clara e opaca

Com a assinatura clara você ainda pode ler a mensagem , mesmo que não tenha nenhuma função de encriptação no seu software de e-mail. Nesse caso as mensagens são enviadas normalmente e a assinatura é enviada em uma porção separada e pode ser ignorada por quem não tem funções de encriptação. Ela é útil para quem se corresponde com muitas pessoas que não possuem um e-mail seguro ou que possuem tecnologias de encriptação que não são compatíveis. O principal problema é que alguns servidores de correio podem alterar ligeiramente uma mensagem (efetuar quebras de linhas ou eliminar espaços em branco), gerando um sinal de adulteração errado. PGP suporta apenas assinatura clara.

Na assinatura opaca, a assinatura é enviada junto com os dados, gerando em um único conjunto. Isso protege a mensagem de alterações ao longo do caminho, mas torna a mensagem ilegível para quem não utiliza a respectiva tecnologia que usa esse tipo de assinatura. O S/MIME possui os dois tipos de assinatura, alguns programas permitem escolher entre a assinatura clara e a opaca e outros apenas proporcionam um método ou outro.

Escolhendo a Autoridade de Certificação

Outra decisão a tomar é a escolha da autoridade de certificação (CA). Esse software roda em servidores UNIX ou NT e manipula as chaves ou certificados de todos na sua empresa. Isso funciona como um local onde se determina o grau de confiança e se assina todos os certificados dos usuários. Se você confia no seu CA, em teoria você pode confiar nos certificados assinados pelo CA.

Existem dois tipos de CA:

Adquirindo seu certificado

O próximo passo é como adquirir seu próprio certificado. Existem dois métodos: pela Web ou por e-mail

Exportando e Gerenciando Certificados

Você precisa exportar certificados para os seus correspondentes antes de poder exportar mensagens encriptadas. Isso significa mandar sua chave pública para eles e obter suas respectivas chaves públicas. Se você se corresponde com alguém que não tem o mesmo CA, você primeiro terá que estabelecer um relacionamento de confiança o certificado do CA antes de exportar o certificado individual. Esse trabalho é feito por um servidor de diretórios.

Encriptando e Decriptando Mensagens

Agora você pode finalmente encriptar suas mensagens. Várias opções estão disponíveis no seu software de e-mail. Para decriptar, se você exportou certificados conforme dito anteriormente, então a decriptação deve acontecer automaticamente e o texto será mostrado na tela. Você não precisa fazer nada além disso, a menos que o sistema de encriptação tenha sido quebrado por um gateway ou incompatibilidade de produtos.

 

Nome: Ana Carolina Xavier