Live data from Hacker News

Signal Server code on GitHub is up to date again

github.com

11–20 of 206 posts

Re: Signal Server code on GitHub is up to date again

#11
post #6

Is there any mechanism to validate that the code running on Signal's servers is the same as on Github?

Seems there should be an API endpoint, similar to a health check endpoint, that allows one to validate that the code on the server matches what's in GitHub. How exactly that would work is beyond me since I'm not a cryptographer but seems like an easy way to let developers/auditors/the curious check to see that the code on the server and GitHub match.

   validate_endpoint() {
     return hash_against_other_file_not_exe();
   }

Re: Signal Server code on GitHub is up to date again

#14
post #6

Is there any mechanism to validate that the code running on Signal's servers is the same as on Github?

Seems there should be an API endpoint, similar to a health check endpoint, that allows one to validate that the code on the server matches what's in GitHub. How exactly that would work is beyond me since I'm not a cryptographer but seems like an easy way to let developers/auditors/the curious check to see that the code on the server and GitHub match.

if you assume that the server can lie to you, then it's physically impossible. Any query could be answered by interrogating a copy of the github version of the server and returning the answer.

Re: Signal Server code on GitHub is up to date again

#15

Is there any mechanism to validate that the code running on Signal's servers is the same as on Github?

No.

If Signal /was/ federated it would be a strong hint that the server code stays the same.

And even if it's not the same, people would be able to run their own trusted servers.

Re: Signal Server code on GitHub is up to date again

#16
post #6

Is there any mechanism to validate that the code running on Signal's servers is the same as on Github?

Seems there should be an API endpoint, similar to a health check endpoint, that allows one to validate that the code on the server matches what's in GitHub. How exactly that would work is beyond me since I'm not a cryptographer but seems like an easy way to let developers/auditors/the curious check to see that the code on the server and GitHub match.

How could that possibly work? The API endpoint of a malicious modified server could just return whatever the API endpoint of the non-malicious non-modified server returns.

Re: Signal Server code on GitHub is up to date again

#17
post #13

I read some speculation that the delay was to keep this objectionable crypto payment development under wraps until they were ready to launch.

Yep. I posted this on a different Signal HN submission, but the very next commit on April 22nd, 2020 was when they first began working on the integration.

https://github.com/signalapp/Signal-Server/commit/95f0ce1816...

Re: Signal Server code on GitHub is up to date again

#18
post #8

Earlier quoted context omitted.

How would that work? You'd be layering trust on trust, wherein if they're willing to lie about one thing they're willing to lie about confirmation of that same thing (or not). Unless you're going to hire some independent auditor (that you still have to trust) it seems logically problematic.

SGX enclaves can attest to the code they are running, so you don't exactly need to take Signal's word on faith.

Except SGX enclaves are horribly broken.

Re: Signal Server code on GitHub is up to date again

#19

Is there any mechanism to validate that the code running on Signal's servers is the same as on Github?

I am curious how this could even possibly be done.

As far as my understanding goes, it's hardly possible to even verify that a compiled binary represents a faithfully executed representation of the source instructions, let alone that it will execute that way when run through a modern OS and CPU pipeline.

I would think the objective here is more about releasing server code that can be run independently in a way that 1) doesn't involve signal's infrastructure and 2) allows the client/server interactions to be audited in a way that trust of the server side is unnecessary, regardless of what code it may or may not be running.

Post reply on HN