New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Secure time syncronisation (with tlsdate) #2342

Open
rugk opened this Issue Sep 29, 2016 · 12 comments

Comments

Projects
None yet
5 participants
@rugk

rugk commented Sep 29, 2016

An exact time of a device is an important thing for many cryptographic actions (e.g. in TLS/PKI) and therefore the integrity of any time synchronisation should be ensured.

Currently this is AFAIK best possible with tlsdate, a tool, which uses the timestamp send in TLS connections and therefore ensures the integrity of the timestamp one gets.

Preferably this should be used for all VMs.

@adrelanos

This comment has been minimized.

Show comment
Hide comment
@adrelanos

adrelanos Sep 29, 2016

Member

tlsdate has been developed by Jacob Appelbaum (@ioerror). Due to the recent news surrounding him, him now doing no more public communication, I think it is safe to assume he will stay away from the computer security and development community. So it is probably save to assume all of his projects abandoned.

Member

adrelanos commented Sep 29, 2016

tlsdate has been developed by Jacob Appelbaum (@ioerror). Due to the recent news surrounding him, him now doing no more public communication, I think it is safe to assume he will stay away from the computer security and development community. So it is probably save to assume all of his projects abandoned.

@adrelanos

This comment has been minimized.

Show comment
Hide comment
@adrelanos

adrelanos Sep 29, 2016

Member

Disclaimer: As a developer of sdwdate I am probably biased.


https://github.com/ioerror/tlsdate

Pros:

  • uses seccomp
  • written by Jacob Appelbaum (security researcher; The Tor Project staff member) Due to the recent news now probably abandoned.

Cons:

  • Only native SSL CA pinning support. No direct SSL certificate pinning support.
  • Does not distribute trust. (As for example sdwdate does.)
  • Produces clock jumps, which confuses various applications. Does not gradually adjust as for example sdwdate does with Slow Clock Adjuster. (sclockadj)
  • Cannot connect to (most) Tor hidden services, because most of those do not support SSL.
  • Minor: command line parser doesn't fail closed on extraneous / unknown command line parameters
    • ioerror/tlsdate#158
    • not that important in the absence of bugs in tlsdate, but the safer behavior for tlsdate would be to fail closed on on extraneous / unknown command line parameters.
  • Likely denial of service issue
Member

adrelanos commented Sep 29, 2016

Disclaimer: As a developer of sdwdate I am probably biased.


https://github.com/ioerror/tlsdate

Pros:

  • uses seccomp
  • written by Jacob Appelbaum (security researcher; The Tor Project staff member) Due to the recent news now probably abandoned.

Cons:

  • Only native SSL CA pinning support. No direct SSL certificate pinning support.
  • Does not distribute trust. (As for example sdwdate does.)
  • Produces clock jumps, which confuses various applications. Does not gradually adjust as for example sdwdate does with Slow Clock Adjuster. (sclockadj)
  • Cannot connect to (most) Tor hidden services, because most of those do not support SSL.
  • Minor: command line parser doesn't fail closed on extraneous / unknown command line parameters
    • ioerror/tlsdate#158
    • not that important in the absence of bugs in tlsdate, but the safer behavior for tlsdate would be to fail closed on on extraneous / unknown command line parameters.
  • Likely denial of service issue
@adrelanos

This comment has been minimized.

Show comment
Hide comment
Member

adrelanos commented Sep 29, 2016

A great deal was spend on secure time synchronization by @HulaHoopWhonix and me.

Help with ticket Qubes-Whonix-Gateway as ClockVM, more generally, sdwdate tickets or sdwdate-gui tickets would be appreciated!

@rugk

This comment has been minimized.

Show comment
Hide comment
@rugk

rugk Sep 29, 2016

Wait a minute: What is currently used by QubesOS? Sdwdate?

Personally, I'd say sdwdate looks nice too. So if it has already been implemented feel free to close this issue.

rugk commented Sep 29, 2016

Wait a minute: What is currently used by QubesOS? Sdwdate?

Personally, I'd say sdwdate looks nice too. So if it has already been implemented feel free to close this issue.

@rugk

This comment has been minimized.

Show comment
Hide comment
@rugk

rugk Sep 29, 2016

Cannot connect to (most) Tor hidden services, because most of those do not support SSL.

Facebook does. 😃

rugk commented Sep 29, 2016

Cannot connect to (most) Tor hidden services, because most of those do not support SSL.

Facebook does. 😃

@adrelanos

This comment has been minimized.

Show comment
Hide comment
@adrelanos

adrelanos Sep 29, 2016

Member

rugk:

Wait a minute: What is currently used by QubesOS? Sdwdate?

Still NTP. Only Qubes-Whonix uses sdwdate. That's what the ticket I
linked above is for.

Personally, I'd say sdwdate looks nice too. So if it already has been implemented feel free to close this issue.

I guess we can use a ticket to fix secure time synchronization.

Member

adrelanos commented Sep 29, 2016

rugk:

Wait a minute: What is currently used by QubesOS? Sdwdate?

Still NTP. Only Qubes-Whonix uses sdwdate. That's what the ticket I
linked above is for.

Personally, I'd say sdwdate looks nice too. So if it already has been implemented feel free to close this issue.

I guess we can use a ticket to fix secure time synchronization.

@rugk

This comment has been minimized.

Show comment
Hide comment
@rugk

rugk Sep 30, 2016

tlsdate isn't abandoned, stop slandering jacob

I think the personal issues of a developer do not matter. It is his project, which matters here, so let us looking at the facts.

This looks a bit like the project is not developed actively anymore.
To be fair I'll ping @ioerror.

rugk commented Sep 30, 2016

tlsdate isn't abandoned, stop slandering jacob

I think the personal issues of a developer do not matter. It is his project, which matters here, so let us looking at the facts.

This looks a bit like the project is not developed actively anymore.
To be fair I'll ping @ioerror.

@rugk

This comment has been minimized.

Show comment
Hide comment
@rugk

rugk Oct 4, 2016

FYI there is also a new protocol by @agl for secure time synchronisation: roughtime (more information).

rugk commented Oct 4, 2016

FYI there is also a new protocol by @agl for secure time synchronisation: roughtime (more information).

@jpouellet

This comment has been minimized.

Show comment
Hide comment
@jpouellet

jpouellet Nov 14, 2016

Contributor

OpenNTPD is relevant here and IMO should be considered.

It has a much better security track record than ntp.org ntpd.

Relevant feature here, from the OpenNTPD man page:

ntpd(8) can be configured to query the ‘Date’ from trusted HTTPS servers via TLS. This time information is not used for precision but acts as an authenticated constraint, thereby reducing the impact of unauthenticated NTP man-in-the-middle attacks. Received NTP packets with time information falling outside of a range near the constraint will be discarded and such NTP servers will be marked as invalid.
-- http://man.openbsd.org/OpenBSD-current/man5/ntpd.conf.5#CONSTRAINTS

Contributor

jpouellet commented Nov 14, 2016

OpenNTPD is relevant here and IMO should be considered.

It has a much better security track record than ntp.org ntpd.

Relevant feature here, from the OpenNTPD man page:

ntpd(8) can be configured to query the ‘Date’ from trusted HTTPS servers via TLS. This time information is not used for precision but acts as an authenticated constraint, thereby reducing the impact of unauthenticated NTP man-in-the-middle attacks. Received NTP packets with time information falling outside of a range near the constraint will be discarded and such NTP servers will be marked as invalid.
-- http://man.openbsd.org/OpenBSD-current/man5/ntpd.conf.5#CONSTRAINTS

@marmarek

This comment has been minimized.

Show comment
Hide comment
@marmarek

marmarek Nov 14, 2016

Member

Indeed interesting. Any idea why it isn't packaged in Fedora?

Best Regards,
Marek Marczykowski-Górecki
Invisible Things Lab
A: Because it messes up the order in which people normally read text.
Q: Why is top-posting such a bad thing?

Member

marmarek commented Nov 14, 2016

Indeed interesting. Any idea why it isn't packaged in Fedora?

Best Regards,
Marek Marczykowski-Górecki
Invisible Things Lab
A: Because it messes up the order in which people normally read text.
Q: Why is top-posting such a bad thing?

@jpouellet

This comment has been minimized.

Show comment
Hide comment
@jpouellet

jpouellet Nov 15, 2016

Contributor

Pinging OpenNTPD-portable maintainer: @busterb

Indeed interesting. Any idea why it isn't packaged in Fedora?

IIRC there was a period where it was being maintained only in OpenBSD's tree, but this is no longer the case for almost 2 years now. Perhaps simply nobody picked it up?

Contributor

jpouellet commented Nov 15, 2016

Pinging OpenNTPD-portable maintainer: @busterb

Indeed interesting. Any idea why it isn't packaged in Fedora?

IIRC there was a period where it was being maintained only in OpenBSD's tree, but this is no longer the case for almost 2 years now. Perhaps simply nobody picked it up?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment