[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Notes from Conversation with Roger



> <side note>
> This is a good point, but the fact came up that it's (in theory) harder
> to construct an anonymous paper letter than an anonymous electronic
> message.  If you don't want to have a paper message sent to you, you
> need to think about paper, envelopes, DNA from your saliva if you lick
> the envelope, the mineral content from your water supply if you moisten
> the envelope, fingerprints, handwriting, ink, typewriters, printers, the
> location from which you mail, and so on.
> </side note>
> 

I agree but the list you give is independent of the "labeling" of the 
transport medium. I foresee quite a few people using MixMinion who are not 
going to take enough precautions traced back for reasons outside 
MixMinon's control. 

> 
> Hmn.  I'm looking forward to seeing this.  You may want to include a
> rationale for using MMTP instead of SSL/TLS.
> 

Ok this is interesting... Here is the moral choice:

Ideally we would like the transport protocol to provide
- Forward secrecy (you cannot decrypt traffic from the past)
- Efficiency (you want to reuse some knowledge from the previous 
  discussion, so that expensive asymmetric encryption and signing 
  operations are not repeated).
- Permanent passive attack. (We would like to force the attacker, 
  even if they get the key to start with, to have to intercept and 
  process every message to keep up with the current keys).

MMTP is a protocol that does the above, but at the same time replicates a 
lot of the functionality of SSL/TLS (the bottom line is that they are both 
key exchange protocols + secure comms protocols). So if we go for this we 
will have to re implement 
(and reverify) the MMTP protocol. Of course we do not need a vast choice 
of cipher suites, export control stuff, renegotiation of keys ... so in 
fact it is simpler than SSL.

SSL/TLS is a fine protocol but does not exactly provide the features we 
want. You can start the connection with ephemeral Diffie Hellman keys and 
chuck them away (that provides forward secrecy) but then there is no 
efficient way of doing the key updating between records sent. Therefore 
the DH has to be repeated on each message to have full forward secrecy 
(expensive). The third property is not true either since an attacker that 
knows the key at any point can decrypt any part of the stream (in the 
future and the past, correct me if I am wrong).

The positive thing about SSL/TLS is that it is an extensible protocol! 
Therefore we should be able to create an new type of packet called "key 
update" and implement the above properties that are missing. 

Questions:
- How easy it is to hack OpenSSL to add a new record type, and define how 
it should be processed? (nick?) Are there any hooks to the library that 
would allow us to do this without getting our hands dirty?
- Can we hack it cleanly without modifying any of the standardized parts 
(I guess this is a question for me!)
- Can we make sure that it will still be secure? (I take care of that as 
well)
- How do people feel about the above choice between custom made vs. SSL? 
(no commitment - just feeling)

> 
> BTW, what's the PRNG?
> 

I know very little of what is on the market these days. What about Bruce's 
"Yarrow"?
http://www.counterpane.com/yarrow.html