3 ms·
Client-side crypto in JS has value if and only if the following conditions are all met: 1) The application receives no HTML, CSS, Javascript, or code interpret
by daeken 13y ago
Client-side crypto in JS has value if and only if the following conditions are all met:
1) The application receives no HTML, CSS, Javascript, or code interpreted by plugins from a server in the same context (e.g. not an iframe) as the crypto code.
2) All assets that are run in the context of the crypto code are fixed and signed. No unsigned javascript code (generated at runtime, passed from a server or input to the app, whatever) is permitted to run in any way in that context.
3) The code as signed is completely transparent. It must be possible to audit the code as it would be run, and be able to 'quarantine' updates.
Without all of these things being met, client-side crypto in the browser is completely untrustable. These conditions have never been met.