0

Tresorit has the option of sending a link that anyone can open without a Tresorit account or password. If files are encrypted on the server, how can anyone with a link decrypt it? Are files with shared links unencrypted on the server?

0

As can be seen in an image included into Introducing new ways of sharing in Tresorit the link for sharing a file has the syntax

 https://example.com/some-path#some-special-string

This some-special-string after the # is an anchor and it gets processed in a special way. When visiting the URL only /some-path will be send inside the request to the server example.com while the #some-special-string is kept in the browser and is accessible via Javascript by location.hash. This way some-special-string can contain the secret needed to decrypt the data and this secret will not leave the browser.

Of course, not only the encrypted data need to be downloaded from the server for decryption but also the decryption has to be done somehow. Since the browser does not know how to decrypt the data the necessary Javascript code for decryption has to be loaded from some server too. And this is the weak point of the concept - even if the server only has the encrypted data he could in theory send not only the script to decrypt the data with the in-browser secret but could also send script which sends this secret back to the server, thus making server-side decryption possible. Thus, trusting the service provider is still needed.

  • Thank you. However, there's no "some-path". Everything before the hash is common to all shared URLs-ie, web.tresorit.com/l . Is both path and key encoded in the "some-special-string"? – user18168 Nov 27 '18 at 22:01
  • "in-browser secret but could also send script which sends this secret back to the server", This could be verified by a proxy to make sure nothing is sent back to the server, right? – user18168 Nov 27 '18 at 22:03
  • @user18168: likely both the secret and the resource which should be accessed is encoded in the anchor. A proxy could not check that nothing is sent back since there is likely some kind of communication with the server and the proxy has no idea what exactly to look for. Also, the sending of the secret might also be done to a completely different server. – Steffen Ullrich Nov 28 '18 at 3:52

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.