blob: b1b6c55e7a23991da65edd495095364ad4f63516 [file] [log] [blame]
Jacob Appelbaum30118bb2012-01-29 22:58:34 -08001
2Here is a nice list of things to do to improve tlsdate:
3
Jacob Appelbaum30118bb2012-01-29 22:58:34 -08004
5 1) hack the client handshake to not leak the clock to the server
6 set it to all zeros or something cute or something random
7
Jacob Appelbaum051dd5c2012-01-30 03:10:22 -08008 3) add HTTP GET request to avoid network fingerprinting
Jacob Appelbaum30118bb2012-01-29 22:58:34 -08009 6) skew the clock rather than slamming it
10 7) drop privs earlier
Jacob Appelbaumf6932922012-01-30 00:28:57 -08001111) verification of remote certificate for Tor nodes
Jacob Appelbaumb3990fb2012-01-31 17:24:43 -08001213) account for servers that do not send UTC (Microsoft sends local time)
Jacob Appelbaumbfc18132012-11-05 17:35:44 -05001314) port to nss, gnutls, yassl, polarssl and other libraries
Jacob Appelbaumc27a8e62012-02-02 00:06:48 +01001415) starttls support (smtp, pop, imap, ftp, xmpp)
Jacob Appelbaum43b28852012-02-07 09:42:53 +01001516) ensure that 32bit time isn't near wrapping time on 32bit systems
Jacob Appelbaum30fed8f2012-02-07 10:10:04 +01001617) find others to audit it - we need more eyes!
Jacob Appelbaum278801c2012-07-15 23:16:35 -04001720) Add verification of remote servers by DANE/CAA DNSSEC protected records
Jacob Appelbaumbc33d2a2012-07-17 10:11:03 -07001821) Integrate Chrome's CRL list into tlsdate
1922) Block revoked or bad certs such as MD5 inc. and others.
Jacob Appelbauma9e98332012-07-17 10:47:18 -07002024) Add OCSP check option
2125) Block weak signature algorithms
2226) Hard code block list of known horrible certs (extract from Chrome/FF)
Jacob Appelbaum7a072e62012-07-17 15:15:26 -07002328) Check that extended key usage is empty, or includes TLS Server Auth
2429) extract the SubjectPublicKeyInfo from the certificates; match against
25 public keys
Jacob Appelbaum9a61fcb2012-07-30 03:04:57 -07002631) Fetch HTTP over TLS to parse date field and confirm sync with the tls date
Jacob Appelbaum5024a212012-08-02 16:41:09 -07002732) Integrate tack support https://github.com/tack/tackc
Jacob Appelbaumee69d3f2012-08-03 00:41:43 -07002833) Implement checking of RFC 2818 style wildcards:
29 http://wiki.cacert.org/WildcardCertificates
Jacob Appelbaumbba6c922012-10-31 14:56:00 +00003034) Clear the environment for tlsdated and related utils before execve()
Jacob Appelbaum716bb612012-11-05 17:27:48 -05003135) seatbelt profile for Mac OS X
3236) SELinux policy for GNU/Linux platforms
3337) Port to some Windows operating system that anyone actually uses
3438) Add seccomp suport
Jacob Appelbaum7e9d0eb2013-01-06 14:01:52 -08003539) Add file loading of CA list
3640) Add tlsdated support for machines without a RTC
37 Explicitly support Raspberry pi use case
3841) Port to Mac OS X 10.8.2
39 This work has started in a private branch
Elly Fong-Jonesa5e7fbb2013-01-08 14:08:33 -05004042) Unit-test everything
elly8c6b0b82013-01-10 18:23:07 -05004145) Drop root from tlsdated
4246) Support multiple fetch hosts
Jacob Appelbaume95b0902012-07-31 03:29:01 -070043
Jacob Appelbaum30118bb2012-01-29 22:58:34 -080044Patches welcome!
Jacob Appelbaumbba6c922012-10-31 14:56:00 +000045