public inbox for mlmmj@mlmmj.org
 help / color / mirror / Atom feed
From: Chris Knadle <Chris.Knadle@coredump.us>
To: mlmmj@mlmmj.org
Subject: Re: [mlmmj] Encrypted list
Date: Thu, 20 Mar 2014 23:31:15 +0000	[thread overview]
Message-ID: <1641604.sKn2PbqMtR@trelane> (raw)
In-Reply-To: <20140320184234.GG23804@szaflik.hasiok.net>

On Thursday, March 20, 2014 23:34:34 Matti Nykyri wrote:
> On Thu, Mar 20, 2014 at 07:42:35PM +0100, Piotr Auksztulewicz wrote:
> > On Wed, Mar 19, 2014 at 11:42:30PM +0200, Matti Nykyri wrote:
[...]
> > Using complex cryptoghraphy like multiple-key encryption is
> > still harder and every subscriber would have to update the list of
> > recipients' keys to be able to encrypt the message for all of them to
> > be able to decrypt. In such case there's little advatange of having
> > a server, one may just put all of the addresses in the To: field.
> 
> Only way to implement encrypted list is to let the list decrypt and then
> reencrypt the messages. Otherwise the list needs to be implemented inside
> the MUA. Still this makes things simpler because it is then only needed
> for the list to have upto date keys of all the members. If MUA is doing
> the work then every subscriber has to have all the correct keys of all
> the subscribers!

Assuming we're discussing using PGP/GPG here (going to call it GPG for short), 
I can see how this could theoretically be done.  All users would have to have 
a GPG public/private keypair, and the mailing list itself would need a 
dedicated public/private keypair as well.  Users of the list would only have 
to import the GPG key of the list and /not/ of the other subscribers.  Emails 
sent back to the list would be encrypted using the /list/ GPG key, decrypted 
by the list, then messages would be re-encrypted to individual subscribers by 
the list itself.

Although technically possible to do, there are two snags.

1.  The GPG interface sucks.  I could rant about a long list of issues here,
    but suffice it to say that it's difficult to learn how to use it, how to
    get your favorite mail client integrated with it, how to configure GPG
    for setting the "default-preference-list" and "cert-digest-algo" ... etc.
    It represents a significant technical education problem.

2.  GPG can only encrypt the body of the message, and that doesn't cover any
    of the headers of the message, so the Subject, who the message is From
    and To, the route it took -- etc -- cannot be protected by GPG.  And
    one of the things we've learned from the Edward Snowden NSA revelations
    is that "metadata" itself is incredibly revealing.

[...] 
> > Therefore, semi-confidentiality of a regular closed list is not much
> > worse than re-encrypting list. To get in-transit confidentiality
> > it will be much simpler just to configure the server to use and
> > accept only STARTTLS SMTP sessions. Very few servers don't offer the
> > functionality today - and most will use it when available. From my
> > experience, non-TLS session on a TLS-advertising server is an almost
> > sure indication of spam.
> 
> I think there is a difference between the re-ecrypted and TLS protected
> messages. ISP's and anyone between the route is able to record messages
> and sell the content. That is what most of the companies do nowadays.
> Nobody would setup an encrypting mailing list to a server they don't
> trust.

I agree with Piotr: TLS is a /requirement/ for any "secure" mailing list, 
because TLS encryption starts at the connection with the MTA and therefore 
covers all of the headers as well as the body of the message.  The wonderful 
thing about TLS in SMTP is that if it were /mandated/ for all MTA transfers of 
a "secure" mailing list, the users don't have to do anything -- no GPG 
required, no key signatures, passwords -- nothing --from the user side it's 
dead simple.

And thankfully I see the same thing Piotr does: TLS SMTP transfers are now 
quite commonr.  There are unfortunately exceptions, so it's not quite 
ubiquitous yet -- I'm looking forward to the day when it is.

But if you say set up a separate copy of an MTA on a dedicated IP where the 
MTA /mandates/ TLS transfers, that in itself should cover most of what you'd 
need to allow running a "secure" mailing list with MLMMJ.

At least ... almost this is where I currently have an issue with MLMMJ: 
because I did this sort of "dual IP" setup (without mandating TLS transfers), 
but MLMMJ currently doesn't have a facility to specify which source IP to send 
email from, which makes the headers of the resulting email "look wrong" 
because it's sourced from the wrong IP.  To fix that in Exim4 I ended up 
having to make a "hack" whereby the "received_header_text" is set 
conditionally to remove the appearance of the "local MTA1" -> "local MTA2" 
transfer.

Creating the "source-IP" tunable is the facility I've been considering working 
on.

  -- Chris

--
Chris Knadle
Chris.Knadle@coredump.us


  parent reply	other threads:[~2014-03-20 23:31 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-03-20 18:42 [mlmmj] Encrypted list Piotr Auksztulewicz
2014-03-20 21:34 ` Matti Nykyri
2014-03-20 23:31 ` Chris Knadle [this message]
2014-03-21 15:48 ` Matti Nykyri
2014-03-21 20:09 ` Chris Knadle
2014-03-22  7:40 ` Matti Nykyri
2014-03-22 20:38 ` Chris Knadle
2014-03-24 16:49 ` Piotr Auksztulewicz
2014-03-24 17:25 ` Patrice Levesque
2014-03-24 19:19 ` Chris Knadle
2014-03-24 20:32 ` Ben Schmidt
2014-03-24 23:05 ` Chris Knadle

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1641604.sKn2PbqMtR@trelane \
    --to=chris.knadle@coredump.us \
    --cc=mlmmj@mlmmj.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox