Thanks for the info. I have some responses inline.

Now I am going to implement CSP as proposed by Felix's url. The good thing
with websockets is that they don't rely on jsonp to send cross-origin data.
So i can disable all scripts both inline and from any other source except
127.0.0.1 and still receive data from websockets.

2014-05-23 3:11 GMT+03:00 Tim Prepscius <[email protected]>:

> You might also try posting to the guardian dev mailing list
>
> https://guardianproject.info
>
> They have a bunch of experience, possibly could give valuable information.
>
> -tim
>
>
> On 5/22/14, Tim Prepscius <[email protected]> wrote:
> > Interesting.
> >
> > I'm not sure if the approach you are describing is a good one or not.
> > In some ways, you are opening yourself up to attacks
> > that might not exist if everything was packaged together.
> >
> >
> >
> > Some things to think about:
> >
> > I do not need to compromise your client to get to the 127.0.0.1 web
> > server.  I can use any web page the user visits.
> >
>
I use cookie authentication and have set socket.io to reject cross-origin
requests.


> > If I discover a bug in the 127.0.0.1 web server, I could use that to
> > keep track of the client in the web browser.  (I'm assuming that
> > basically data is passing remote-server -> web-client ->
> > localhost-server -> web-client)
>
> Yes this is the data path but only for important staff that require
encryption .
Well if there is a bug in the server, we are screwed anyway.


> > The web browsers, I believe, do SHAs of plugins, packaged items,
> > before running them.  While this might not be "real security,"  it
> > might be more secure than a web server resides on disk and is never
> > fully sha'd.  In theory, the security of let's say OSX, passes from
> > the security chip to the operating system, which should, but doesn't,
> > check the Chrome, which then checks the plugin.
> >
> > How are you going to update your 127.0.0.1 web server.  How are you
> > going to prevent your web server from being updated by a malicious
> > actor.
> >
>
I dont really know exactly. I would definitely sign my package.


> >
> >
> > These came to me off the top of my head.  Their worth is dubious!  ;-)
> >
> > Good luck!
> >
> > -tim
> >
> >
> >
> > On 5/22/14, Apostolis Xekoukoulotakis <[email protected]> wrote:
> >> So there will be 2 servers, one local per client and one global server
> >> that
> >> provides content(json).
> >>
> >>
> >> 2014-05-23 2:44 GMT+03:00 Apostolis Xekoukoulotakis <[email protected]
> >:
> >>
> >>> Yes!! actually I'll use socket.io.
> >>>
> >>>
> >>> 2014-05-23 2:42 GMT+03:00 Tim Prepscius <[email protected]>:
> >>>
> >>> Can you describe what you mean by:
> >>>>
> >>>> the attacker will still not have the private key since all
> >>>> cryptography happen in the nodejs of the user.
> >>>>
> >>>> It seems as though you are saying that there will be a web server
> >>>> running client side, from which the web app will make ajax calls to.
> >>>> Is this what you mean?
> >>>>
> >>>> On 5/22/14, Apostolis Xekoukoulotakis <[email protected]> wrote:
> >>>> > Thanks Felix. Your advice is sound. I am going to look at your
> >>>> references.
> >>>> >
> >>>> > So my app is indeed packaged but I don't use node-webkit. In my
> case,
> >>>> > if
> >>>> > the client is compromised in the browser, the attacker will still
> not
> >>>> have
> >>>> > the private key since all cryptography happen in the nodejs of the
> >>>> > user.
> >>>> >
> >>>> > But he would be able to ask the server to sign arbitrary documents
> >>>> which is
> >>>> > still really bad.
> >>>> >  On May 22, 2014 11:33 AM, "Felix Hammerl" <[email protected]>
> >>>> wrote:
> >>>> >
> >>>> >> Hi,
> >>>> >>
> >>>> >> you have to trust the server in a host-based security setting. If
> >>>> >> you
> >>>> >> want
> >>>> >> to mitigate that, have you considered packaged (not hosted!) apps?
> >>>> Check
> >>>> >> out Chrome Apps, Firefox Apps, node-webkit, atom-shell, ...
> >>>> >> It all boils down to what you threat model is. Also, you probably
> >>>> >> don't
> >>>> >> want to roll your own authentication mechanism. You also might want
> >>>> >> to
> >>>> >> avoid doing funky stuff with removing the script sources and
> loading
> >>>> them
> >>>> >> from arbitrary locations...
> >>>> >> Recommended read for js security and threat models (be sure to
> check
> >>>> out
> >>>> >> the discussion, too!):
> >>>> >>
> http://tankredhase.com/2014/04/13/heartbleed-and-javascript-crypto/
> >>>> >>
> >>>> >>
> >>>> >> Cheers
> >>>> >> Felix
> >>>> >>
> >>>> >>
> >>>> >> On Wed, May 21, 2014 at 7:57 PM, Apostolis Xekoukoulotakis <
> >>>> >> [email protected]> wrote:
> >>>> >>
> >>>> >>> Hello everyone. I am thinking of using openpgp as an
> authentication
> >>>> >>> mechanism form my site and more. Send a random number to the
> >>>> >>> client,
> >>>> the
> >>>> >>> sessionId, which he then has to sign and send back.
> >>>> >>>
> >>>> >>> I was also worried that if someone could attack my server, he
> could
> >>>> send
> >>>> >>> arbitrary js code to the client and thus all clients would be
> >>>> >>> compromised.
> >>>> >>> So I decided to create a nodejs app that users would have to
> >>>> >>> install
> >>>> >>> locally that would provide them those js scripts.
> >>>> >>>
> >>>> >>> They would only have to contact the server for content. So now I
> am
> >>>> >>> worried about someone injecting js code into the content.
> >>>> >>> If I wrote a parser that removed script tags, I suppose this would
> >>>> >>> be
> >>>> >>> secure, right?
> >>>> >>>
> >>>> >>> The apps goal is to let users issue new currencies, that is why is
> >>>> >>> security is very important.
> >>>> >>>
> >>>> >>> _______________________________________________
> >>>> >>>
> >>>> >>> http://openpgpjs.org
> >>>> >>> Subscribe/unsubscribe: http://list.openpgpjs.org
> >>>> >>>
> >>>> >>
> >>>> >>
> >>>> >> _______________________________________________
> >>>> >>
> >>>> >> http://openpgpjs.org
> >>>> >> Subscribe/unsubscribe: http://list.openpgpjs.org
> >>>> >>
> >>>> >
> >>>> _______________________________________________
> >>>>
> >>>> http://openpgpjs.org
> >>>> Subscribe/unsubscribe: http://list.openpgpjs.org
> >>>>
> >>>
> >>>
> >>>
> >>> --
> >>>
> >>>
> >>> Sincerely yours,
> >>>
> >>>      Apostolis Xekoukoulotakis
> >>>
> >>>
> >>
> >>
> >> --
> >>
> >>
> >> Sincerely yours,
> >>
> >>      Apostolis Xekoukoulotakis
> >>
> >
> _______________________________________________
>
> http://openpgpjs.org
> Subscribe/unsubscribe: http://list.openpgpjs.org
>



-- 


Sincerely yours,

     Apostolis Xekoukoulotakis
_______________________________________________

http://openpgpjs.org
Subscribe/unsubscribe: http://list.openpgpjs.org

Reply via email to