[Mailman-Developers] Mailman-Developers Digest, Vol 335, Issue 9

Bhavishya Desai bhavishyagopesh at gmail.com
Sun Mar 12 12:11:52 EDT 2017


Hello,
  Here's what I propose(of course deeply inspired from abhilash and
schneuder) :-

1)A list owner creates a key-pair, and also a passphrase(to protect LIST's
secret key,may be using gnupg, more on that later ).Here ,if we want, can
raise the security standards by using gpg-agent(to manage security-key and
its passphrase,it leads to some hardware token like cryptostick).
2)Now when a user subscribes, he will upload his public-key(may be through
some interface on postorious),now the owner can decide his subscription(may
be based on some write-up).Then he sends the LIST's public key to user.
3)Now each time, when user needs to post something, he has to sign it using
his private-key and encrpyt using List's public key(signing would reduce
spam).
4)Now mailman checks the signature with public-key(if failure occurs, can
bounce it back),now first it signs it using LIST' secret key (here
gpg-agent comes to play,only the owner can do this using the passphrase)
and can be sent to the users after encrypting using their respective public
key.Here we need to ensure one thing that the message never remains in
decrypted form on Mailman server(which is done by that whole secret
key-passphrase thing).
5)Now the user can verify using list's public key,and can henceforth
decrypt the message using his private key.

I would like to point out that the message would never travel decrypted and
while the owner accesses it appropriate censorship could be applied(as
pointed by raditya).

Now I would like to know(specifically) what are some other threats,which
could effect this and any difficulties with implementation.


On Sat, Mar 11, 2017 at 10:30 PM, <mailman-developers-request at python.org>
wrote:

> Send Mailman-Developers mailing list submissions to
>         mailman-developers at python.org
>
> To subscribe or unsubscribe via the World Wide Web, visit
>         https://mail.python.org/mailman/listinfo/mailman-developers
> or, via email, send a message with subject or body 'help' to
>         mailman-developers-request at python.org
>
> You can reach the person managing the list at
>         mailman-developers-owner at python.org
>
> When replying, please edit your Subject line so it is more specific
> than "Re: Contents of Mailman-Developers digest..."
>
>
> Today's Topics:
>
>    1.  Project idea understanding (Stephen J. Turnbull)
>
>
> ----------------------------------------------------------------------
>
> Message: 1
> Date: Sat, 11 Mar 2017 16:58:33 +0900
> From: "Stephen J. Turnbull" <turnbull.stephen.fw at u.tsukuba.ac.jp>
> To: raditya <raditya at iitk.ac.in>
> Cc: Mailman-Developers at python.org
> Subject: [Mailman-Developers]  Project idea understanding
> Message-ID: <22723.44585.967029.696464 at turnbull.sk.tsukuba.ac.jp>
> Content-Type: text/plain; charset=us-ascii
>
> raditya writes:
>
>  > 1) Each message will be encrypted with all users as recipients.
>
> You are way ahead of yourself.  Before thinking about *how* to manage
> an encrypted list, both operationally and socially, we need to decide
>
> (1) *who* is going to be posting
> (2) *why* are they posting to an encrypted list
> (3) *who* is going to be subscribing to such a list
> (4) *why* are they subscribing
> (5) *who* the traffic is being hidden from
> (6) *what capabilities* the adversary may be expected to have
> (7) *who* will be managing the list and host
> (8) *the trustworthiness* required of list and host managers
> (9) *what other features* are required in view of (1) -- (8), such as
>     anonymity
>
> and there may be some other basic features to consider.  I strongly
> suggest a close look at RFC 5598 "Internet Mail Architecture" to get a
> good understanding of the "players" in the game of "mailing list".
> Then we need to talk about what threats encryption can protect
> against, what threats other parts of Mailman can protect against, and
> what can't be protected against.  Documentation will eventually be the
> hardest part of this task.  Although the GSoC intern won't be
> responsible for perfecting it, documenting the threat model is going
> to be important both for the users (subscribers and list owners) and
> for the design and implementation.
>
> Don't worry about starting with a narrow use case, limited to some
> "user story" you personally are familiar with.  We can think about
> generalizing as we go along, or as a follow-on after the project is
> done.  Original design and maximum generality are not required of a
> GSoC project (although working on the design yourself does help with
> planning implementation).  Also, I have a lot of ideas about "generic"
> threats, and will reveal them gradually as we go along.  But it's
> important for you to get over the idea that encryption itself is a big
> deal.  It's not, and the basic mechanisms are already in place (for
> signing, but it's quite similar) from a previous project.
>
> Regarding your suggestions so far, I can tell you already that there
> are technical or "audience" problems with your initial ideas.
>
>  > The mailing-list maintainer will have to regularly send the list of
>  > recipients over the mailing-list itself, so that every user comes
>  > to know the public keys of all recipients.
>
> As you seem to recognize, and Simon also points out, this is not
> an attractive UI for many scenarios, including "large" lists and
> non-technical posters.  And it's already possible in any case for
> users competent in such operations.
>
>  > 2) Another way could be relaying each message through the maintainer.
>  > The maintainer then encrypts it for single recipient.
>  > This might solve the problem of sending messageto large number of users
>  > but it increases latency (each message must wait for the maintainer to
>  > process it)
>  > the maintainer can censor each message as they all are relayed through
>  > him.
>
> This is not going to be done by a human, there will be some kind of
> Handler (and probably a Rule) to deal with it.
>
> "Censoring" (eg, anonymization, as well as moderation) is a *good
> point*, whose general application I missed above.  This is non-trivial
> for secret traffic in some cases.  Some of it can be automated, and in
> some applications all of it should be.  "Hold that thought."  :-)
>
>  > 3) Or instead of using asymmetric keys we use a password given to all
>  > users.
>
> Again, not an attractive solution.  Consider the "secret" distribution
> problem in general, and especially the revocation problem if you
> decide to kick somebody off the list.  The primary goal here is to
> avoid forcing subscribers and posters to learn about encryption and
> security.  We probably can't avoid some burden on the users, but the
> less the better -- we know very well from the security problems that
> become public every day that users are not very good are secure usage.
>
> I hope this helps you get a better handle on the scope of this
> project.
>
> Regards,
>
> Steve
>
>
> ------------------------------
>
> Subject: Digest Footer
>
> _______________________________________________
> Mailman-Developers mailing list
> Mailman-Developers at python.org
> https://mail.python.org/mailman/listinfo/mailman-developers
>
>
> ------------------------------
>
> End of Mailman-Developers Digest, Vol 335, Issue 9
> **************************************************
>


More information about the Mailman-Developers mailing list