aboutsummaryrefslogtreecommitdiff
path: root/cryptomail.mdwn
blob: 18fb7b4bc77bf54ae826b9e90a5e6985d430fe00 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
[[!meta title="Cryptomail"]]

O cryptomail é um conceito simples que antecede a projetos mais sofisticados de mensageria usando SMTP como o [LEAP](https://leap.se). Ele consistire num pequeno aplicativo a ser integrado no sistema de email de um servidor e que filtra todos os emails antes dos mesmos serem encaminhados às respectivas caixas postais, realizando a seguinte operação:

- Se a mensagem não estiver criptografada:
  - Se há uma configuração para que o email seja criptografado com a chave do destinatário e a mesma está presente, então o cryptomail cifra a mensagem. 
- Caso contrário, o cryptomail não altera o conteúdo da mensagem. 

Assim, é possível que mensagens que chegam a determinadas caixas postais sejam sempre armazenadas de forma criptografada independentemente de terem sido mandadas em texto puro ou criptografadas.

A grande vantagem em relação a uma mera criptografia na partição onde ficam as caixas postais consiste no fato de os/as administradores do servidor não terão como decifrar as mensagens que não sejam destinadas a eles/as, já que não terão as chaves privadas das caixas postais do resto dos/as usuários, o que podemos denominar de proteção dos dados contra acesso administrativo.

## Implementações

Pesquisa de soluções usando [procmail](http://www.procmail.org) ou similares:

  * [gpgit](https://github.com/mikecardwell/gpgit).
  * [arcane](https://github.com/n0g/arcane).
  * [openpgpkey-milter](https://github.com/letoams/openpgpkey-milter).
  * [mail-gnupg-encrypt.pl](http://opensource.platon.sk/cvs/cvs.php/scripts/perl/mail-gnupg/).
  * [How to automatically PGP/MIME encrypt incoming mail via procmail](http://www.j3e.de/pgp-mime-encrypt-in-procmail.html).
  * [Encrypted system logs to gmail using logcheck/procmail/gpg](http://blog.fealdia.org/2008/06/14/encrypted-system-logs-to-gmail/).
  * [PGP Forwarding Server](http://sourceforge.net/projects/pgpforwarder/).
  * Na página de addons do postfix existem [duas sugestões](http://www.postfix.org/addon.html#security-gateway):
    * [DjigZo Open source email encryption gateway](http://www.djigzo.com/).
    * [Z1 SecureMail Gateway](http://freecode.com/projects/z1securemailgateway).
  * Também há o [gpg-mailgate](https://code.google.com/p/gpg-mailgate/), que parece ser o mais próximo (senão o ideal) e é suportado pelo [puppet-mail](https://git.sarava.org/?p=puppet-mail.git) ([repositório alternativo](https://github.com/ajgon/gpg-mailgate), [howto](http://www.rzegocki.pl/blog/Administration/2013/04/14/setting-encrypted-backup-email-server.html)).
  * [Usando sieve](https://perot.me/encrypt-specific-incoming-emails-using-dovecot-and-sieve).
  * [pgpmilter](https://github.com/moba/pgpmilter), abordagem um pouco distinta.
  * [Personally Encrypted IMAP Storage](https://we.riseup.net/riseuplabs+fsoc/personally-encrypted-imap-storage).

Para a alternativa via sieve, é necessário o plugin [extprogram](http://wiki2.dovecot.org/Pigeonhole/Sieve/Plugins/Extprograms), que [não está no Debian](http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=684271). As dependências seriam:

  * [libmail-gnupg-perl](http://packages.debian.org/wheezy/libmail-gnupg-perl).
  * [libmime-tools-perl](http://packages.debian.org/wheezy/libmime-tools-perl).
  * [dovecot-sieve](http://packages.debian.org/wheezy/dovecot-sieve).
  * [dovecot-managesieved](http://packages.debian.org/wheezy/dovecot-managesieved).

## Deficiências

A abordagem cryptomail é deficiente. Mesmo sendo baseado nesta tecnologia, o provedor [Lavabit](http://www.thoughtcrime.org/blog/lavabit-critique/) não conseguiria proteger a privacidade de seus/as usuários e [teve que decidir fechar suas portas](http://www.newyorker.com/tech/elements/how-lavabit-melted-down) por um simples motivo: por um breve momento, todas as mensagens não-cifradas que chegam no servidor podem ser acessadas pelos/as administradores ou por algum dispositivo de grampo, que é o problema básico de sistemas que não utilizam criptografia ponta-a-ponta.