Gostaria de usar criptografia S/MIME com nossos e-mails. Acho que entendo como as coisas funcionam e sou capaz de enviar e-mails criptografados entre pessoas quando elas possuem todos os certificados necessários instalados.
Mas na vida real, ao iniciar o programa, as pessoas podem não ter meu certificado S/MIME instalado em seus dispositivos. Como eles os conseguem?
Opção 1) Devo enviar os certificados para eles usando um e-mail padrão e enviar o certificado como anexo? (Por exemplo, o Microsoft Outlook não permite isso por padrão...)
Opção 2) Minha chave pública é anexada automaticamente aos meus e-mails assim que eu os instalo? (Mas eu receberia muitos e-mails com anexos de chave pública...)
Opção 3) Minha chave pública será anexada automaticamente aos meus e-mails se eles estiverem criptografados (usando minha chave privada)? Esta seria a solução mais fácil na minha opinião. Mas é este o caso?
Se nenhuma das opções acima for verdadeira, como os destinatários obtêm meu certificado para que possam descriptografar meus e-mails?
Geralmente, há duas maneiras de disponibilizar certificados S/MIME com a chave pública para outros usuários de e-mail.
1. E-mails assinados
Depois de configurar o S/MIME em um cliente de e-mail, você normalmente o configuraria para assinar todos os e-mails enviados. A maioria - senão todos - dos clientes de e-mail incorporarão automaticamente o certificado S/MIME nessa assinatura S/MIME.
O destinatário recebe o e-mail assinado e pode importar o certificado S/MIME incorporado. Alguns clientes de e-mail podem ser configurados para fazer isso automaticamente, mas isso sempre deve ser feito manualmente. Depois que o certificado S/MIME for importado, o destinatário poderá começar a enviar e-mails criptografados ao proprietário do certificado.
2. Diretórios
Os certificados S/MIME podem ser publicados em diretórios baseados em LDAP e os clientes de e-mail podem ser configurados para recuperá-los automaticamente do diretório.
Através deste método, torna-se desnecessário trocar e-mails assinados antes que a comunicação criptografada possa ser estabelecida. No entanto, requer que ambos os clientes de e-mail sejam configurados para procurar o diretório adequado. Este método é frequentemente usado para usuários que estão nas mesmas organizações. Às vezes, várias organizações compartilham um diretório comum para permitir e simplificar a comunicação criptografada entre seus usuários.
No entanto, não existem realmente diretórios S/MIME públicos, pois existem servidores de chaves PGP para criptografia PGP. Conheço a iniciativa Open Keys (ldap.openkeys.de) e o Zertificon Global Trustpoint (ldap.globaltrustpoint.com), mas duvido que sejam muito usados.
PKI e confiança
Suas respectivas infraestruturas de chave pública (PKI) são a principal diferença entre a criptografia de e-mail com S/MIME e PGP. S/MIME depende de certificados raiz como âncoras de confiança, enquanto o PGP usa uma metodologia de confiança distribuída (“rede de confiança”), onde cada usuário decide mais ou menos por conta própria se pode confiar em uma chave ou não.
As mensagens não são criptografadas usando sua chave privada (ou qualquer chave privada). Eles são descriptografados apenas usando um.
(Eles são, no entanto, assinados usando sua chave privada – mas esse é um recurso separado no S/MIME e não deve ser confundido com criptografia! O conteúdo de uma mensagem assinada pode ser empacotado de uma forma semelhante a uma mensagem criptografada, mas isso não significa que nada esteja realmente criptografado.)
Os destinatários não precisam do seu certificado para descriptografar seus e-mails. Eles só precisam de seu próprio certificado – ou melhor, da chave privada que o acompanha.
Em vez disso, você precisa do certificado do destinatário para poder criptografar a mensagem desse destinatário específico.
Portanto, não faz sentido enviar nada junto com a mensagem (certamente não uma chave privada – o objetivo dos sistemas de chave pública é que a chave privada nunca é enviada para lugar nenhum, jamais); em vez disso, o destinatário deverá enviar-lhe primeiro o certificado.
Você pode estar confundindo criptografia S/MIME com assinatura, que é o oposto em muitos aspectos: você usa sua própria chave privada para criar uma assinatura digital, e o destinatário realmente precisa do seu certificado para poder verificar essa assinatura. (Mas não necessariamente para ler a mensagem – eles podem simplesmente abri-la sem verificação, se desejarem. Na verdade, a maioria das pessoas que recebem uma mensagem assinada não a verifica.)
Ao assinar mensagens, seu próprio certificado pode realmente ser incluído nos dados assinados; Acredito que a maioria dos aplicativos de e-mail faz isso por padrão com S/MIME. Isso funciona sob a suposição de que seu certificado foi emitido por uma CA na qual o destinatário “confia”. (Com o OpenPGP também é uma opção, mas não tão comum, devido à natureza diferente da verificação do certificado OpenPGP.)
Essa também é uma maneira de coletar certificados para criptografia – a outra pessoa lhe envia um “Olá!” assinado, você verifica e, esperançosamente, seu cliente de e-mail armazena o certificado da pessoa no catálogo de endereços. (Pelo menos alguns clientes de e-mail têm a opção de fazer isso, manual ou automaticamente.)