Noseyparker - 20 July

Today I completed work on a new feature, detecting negotiated TLS cipher suites that don't support forward secrecy. The TLS connection API is well written and it was easier to implement this than I expected. Here is the connection handler class I wrote: https://github.com/mkenne11/nogotofail-pii/blob/dev/nogotofail/mitm/connection/handlers/connection/noforwardsecrecy.py

Ephemeral Diffie-Hellman (DHE) key exchange implements "perfect forward secrecy" - this technique creates a new public/private key pair for each TLS session, and the private keys are very (very very) difficult to derive even if the (master) certificate private key is disclosed. Without DHE key exchange, if the TLS certificates private key is ever disclosed all previously encrypted messages could be unencrypted (well that's my understanding).

From a brief discussion with the (nogotofail) project's author it doesn't seem to have hooks into Android or TLS stack/s to examine all plain-text HTTPS traffic (before encryption / after decryption). I'll do some investigation into what is needed to implement this functionality, and add this if I have time.

Note. This is an out-of-order post ... I had trouble publishing it a couple of days ago.