Skip to content
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

Question: Can one sniff which page is called? #47

Closed
ovalseven8 opened this issue Feb 16, 2017 · 3 comments
Closed

Question: Can one sniff which page is called? #47

ovalseven8 opened this issue Feb 16, 2017 · 3 comments
Labels
question General question

Comments

@ovalseven8
Copy link
Contributor

ovalseven8 commented Feb 16, 2017

Just a short question:
When I want to write a message to Alice, I have to open the page https://web.threema.ch/#/messenger/conversation/contact/THREEMA_ID_OF_ALICE.

Can people in the network see that I loaded that page? So they would know with which Threema IDs I communicate.

Question because for normal websites one can sniff which websites I visit even if I use HTTPS.
Did a short test and I couldn't sniff it for the Threema app, but I am not sure if I did everything correctly.
Can Threema see it?

@rugk
Copy link
Contributor

rugk commented Feb 16, 2017

The URL you see in the browser bar is never sent over the network. Of course Threema IDs and more are submitted e2e-encrypted via SaltyRTC/WebRTC from your phone to your browser - that's how the system works.
Additionally the web client (or the server where the web client is running on) uses different techniques (referrer policy e.g.) to prevent that this URL is sent as a referrer when you click on a link.
I've also created a PR for better support of this policy: #49

One might only sniff the URL when one can access your local browser history (or when this history is uploaded somewhere with a sync service or nasty browser add-ons (link to a German article)).

@dbrgn dbrgn added the question General question label Feb 16, 2017
@dbrgn
Copy link
Contributor

dbrgn commented Feb 16, 2017

Question because for normal websites one can sniff which websites I visit even if I use HTTPS.

That should not be the case. With TLS, the URL should be encrypted, only the host and port should be visible.

As @rugk wrote, everything after the hash symbol (#) is never sent through the network. All data transmitted is end-to-end encrypted with SaltyRTC and sent through the WebRTC data channel.

You can find some more technical details in the whitepaper: https://threema.ch/en/blog/posts/threema-web-whitepaper

@dbrgn dbrgn closed this as completed Feb 16, 2017
@ovalseven8
Copy link
Contributor Author

Thanks for your explanations! :)

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

No branches or pull requests

3 participants