[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
CloudFlare Keyless SSL WAS Re: Snowden on the Twitters
- To: Travis Biehn <[email protected]>
- Subject: CloudFlare Keyless SSL WAS Re: Snowden on the Twitters
- From: [email protected] (Alfie John)
- Date: Thu, 01 Oct 2015 23:48:33 +1000
- Cc: [email protected]
- In-reply-to: <CAKtE3zda+o65oJum2-9EYsFVv5npnSesfCO3Zz0F7mT6xnjXgA@mail.gmail.com>
- References: <CAKtE3zdQCroEFu6G5e4M9RqpvaEHNSvoRp75iurxzqeXVfDQ8Q@mail.gmail.com> <[email protected]> <CAKtE3zda+o65oJum2-9EYsFVv5npnSesfCO3Zz0F7mT6xnjXgA@mail.gmail.com>
On Thu, Oct 1, 2015, at 07:45 AM, Travis Biehn wrote:
> So, one of the difficulties w/ web-apps is that the 'code' is dynamic.
> You
> cannot implement a secure system if your attacker can change the code at
> any point in time. As is the threat model with backends, which attest to
> their 'trust me' security (a la lavabit, hushmail and so on) - so is the
> problem with client side code. If you build a web-app which does
> in-browser
> encryption and never sends the encryption key to the backend your
> attacker
> can simply modify the static JS source, DOM inject and XSS their way to
> your sweet sweet encrypted keys. Even if you audit your code at one point
> in time, you aren't certain it doesn't change with every request to the
> server.
>
> SO
>
> The first hurdle here is allowing users to reason about 'versions of
> web-app client assets' - if any part of the 'web-app client' relies on
> dynamic / non static JS, the application cannot effectively be
> 'versioned'
> (unless those sub-components are similarly versionable). A subset of HTML
> and JS is defined (safe javascript language subsets are a fail) AND the
> JS
> VM is modified to 'lock in' its object defns after loading.
>
> So, then you can take the set of client side assets (html, js, images so
> on) hash each, add some version metadata and sign it. Version 1.
Front page of HN:
https://hacks.mozilla.org/2015/09/subresource-integrity-in-firefox-43/
Alfie
--
Alfie John
[email protected]