blob: 75cc095f96f9944e08d042e2d84ea71429547820 [file] [log] [blame]
Here is a nice list of things to do to improve tlsdate:
1) hack the client handshake to not leak the clock to the server
set it to all zeros or something cute or something random
3) add HTTP GET request to avoid network fingerprinting
6) skew the clock rather than slamming it
11) verification of remote certificate for Tor nodes
13) account for servers that do not send UTC (Microsoft sends local time)
14) port to bssl, nss, gnutls, yassl, and other libraries
15) starttls support (smtp, pop, imap, ftp, xmpp)
16) ensure that 32bit time isn't near wrapping time on 32bit systems
17) find others to audit it - we need more eyes!
20) Add verification of remote servers by DANE/CAA DNSSEC protected records
21) Integrate Chrome's CRL list into tlsdate
22) Block revoked or bad certs such as MD5 inc. and others.
24) Add OCSP check option
25) Block weak signature algorithms
26) Hard code block list of known horrible certs (extract from Chrome/FF)
28) Check that extended key usage is empty, or includes TLS Server Auth
29) extract the SubjectPublicKeyInfo from the certificates; match against
public keys
31) Confirm HTTP and TLS date is within a sane range
32) Integrate tack support https://github.com/tack/tackc
33) Implement checking of RFC 2818 style wildcards:
http://wiki.cacert.org/WildcardCertificates
35) seatbelt profile for Mac OS X
36) SELinux policy for GNU/Linux platforms
37) Port to some Windows operating system that anyone actually uses
42) Unit-test everything
47) Review cert validation and compare it with Chrome:
https://code.google.com/p/chromium/codesearch#chrome/src/net/base/x509_certificate.cc&l=500
48) Complain when server uses very weak DH group parameters
example weak server: https://demo.cmrg.net/
49) Add seccomp tlsdate and tlsdate-helper
50) Add AppArmor fixes for Tails
52) Port tlsdated to FreeBSD and other non GNU/Linux systems
Patches welcome!