Comment by TacticalCoder

4 years ago

> Send encrypted messages/images/files over insecure channels (email, messaging, …)

I don't understand. Sure you sent these over an insecure channel and they end up... Being opened from a website, in a browser which downloaded JavaScript (JavaScript which may or may not be the same you downloaded yesterday when you used that same site btw)?

And we all know that browsers running unverifiable JavaScript from some Website are a... secure endpoint?

It's not a criticism: I'm probably missing something (is this something I'm supposed to run on my own server or on some computer I take offline after having opened the website from a harddisk-less system booted using a Linux Live CD?)?

How is this not something where you need to trust the website/server?

For all I know upon entering the password the secret is sent to the server over the wire.

Sure, fine, let's disconnect the computer from the Internet before entering the password...

Well then for all I know the JavaScript just downloaded may be saving the data or the secret in a cookie or whatever that is going to be read the next time the site is going to be accessed (so even opening it offline ain't sufficient: it must be done from a system which cannot persist to disk right?).

P.S: as an addition "Do you think this cannot possibly be secure? Great, prove it. This secret contains the recovery key for a Bitcoin wallet. Crack it and take my money!". I'm sorry but that's not how security works. It simply ain't. Once again: I'm probably missing something but reading this thread so far I feel I've been catapulted in an alternate reality, complete with people thinking that this message is somehow a proof that this scheme is secure (which it may or may not be, but that people cannot steal the coins ain't proving jack shit).

"Do you think this cannot possibly be secure? Great, prove it. This secret contains the recovery key for a Bitcoin wallet. Crack it and take my money!". I'm sorry but that's not how security works.

That's not how security works, but that's how a bounty works. If you can do ___, then you get ___. That's it.

If it's any consolation, I sent this project to (security professional) colleagues in the past to get their take on it. This is also not how security works, but to me is better than nothing.

Remember this is not a product. I don't care if you use it. I'm just sharing my hack for carrying secrets around without needing a special device or key.

There is no magic in JS that makes something insecure simply by using JS. Unverifiable? If it's not minified you could literally just right click and read it before typing in your secret.

Similarly, there is no magic dust in a live CD that makes you immune to security issues when running it.

A 'portable secret' is a self-contained HTML file. You can open and decrypt it without an internet connection. This is I think one misunderstanding.

The second one is that you can open the file in an editor and verify what it does before trying to decrypt.

Any modern browser also has protections that prevent a random HTML file from acting like a virus (stealing and uploading files).