<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	>
<channel>
	<title>Comments on: Client-side Security</title>
	<atom:link href="http://www.gnucitizen.org/blog/client-side-security/feed/" rel="self" type="application/rss+xml" />
	<link>/blog/client-side-security/</link>
	<description>Information Security Think Tank</description>
	<pubDate>Thu, 21 Aug 2008 20:16:10 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.6.1</generator>
		<item>
		<title>By: Carl</title>
		<link>/blog/client-side-security/#comment-32496</link>
		<dc:creator>Carl</dc:creator>
		<pubDate>Thu, 28 Jun 2007 01:42:06 +0000</pubDate>
		<guid isPermaLink="false">http://www.gnucitizen.org/blog/client-side-security#comment-32496</guid>
		<description>I'd sort of forgotten that I'd replied earlier, but here is some more information about how we ensure that the information being served, stored, and manipulated, is as safe as possible.

Assumptions:
1 - The client is compromised
2 - The network is compromised
3 - The server may be compromised (If the server is compromised, then all security is out the window, as the attackers can read straight from RAM, or poke around pretty much anywhere).  There are a couple of last-ditch measures that can be put in place, but all they will do is cause the system to halt - since it has identified itself as being compromised.

As we are only considering the user's experience for this discussion, we need to find a way to ensure that the client is assured that they are interacting with OUR service, and not a MITM.

There are a handful of techniques that we have developed that can give the client a high confidence level that they are interacting with the legitimate service.  While they can be spoofed in appearance, their functionality can't.

I know that this is something that many people say can't be done, but those people are artificially limiting the scope of their imagination.  This is a real world problem that had existed and been solved in other fields of speciality for some time.  Some of these solutions can be modified to fit InfoSec.  

Secondly, we need to ensure that an absolute minimum of sensitive data is sent by the client across the network (considering sniffing and replay attacks).  We assume that someone can sniff, and has sniffed, the connection and is able to try a replay attack.  In this instance it isn't so much the security of the client, but how the server responds to falsified connections.  The goal is to neutralise any and all replay / false connection attempts.

Intelligent data design, compartmentalisation, and management will limit the amount of sensitive data exposure that is possible.  The other component is to ensure that client-supplied data is extremely volatile - once the legitimate client has used that data, it can't be re-used.

Now, this is just scratching the surface of what we have done.  We know that it is impossible to be completely secure, but we can make it hard enough.  As the solutions evolve, we can keep one or two steps ahead of those trying to break them, so it isn't a one-shot one-off solution - it does require continual improvement.

Now for the best part - the base theory can be implemented in many different languages and on most platforms (we always develop for a cross platform solution), and it can be a simple wrapper that encapsulates existing apps - enhancing the security (though it isn't as effective as a ground-up solution).

The same underlying problems affect online voting and online finance and it was through considering these challenges that we started to develop our solutions (and then spent the last few years breaking and refining them).

For more info, you can always email me.</description>
		<content:encoded><![CDATA[<p>I&#8217;d sort of forgotten that I&#8217;d replied earlier, but here is some more information about how we ensure that the information being served, stored, and manipulated, is as safe as possible.</p>
<p>Assumptions:<br />
1 - The client is compromised<br />
2 - The network is compromised<br />
3 - The server may be compromised (If the server is compromised, then all security is out the window, as the attackers can read straight from RAM, or poke around pretty much anywhere).  There are a couple of last-ditch measures that can be put in place, but all they will do is cause the system to halt - since it has identified itself as being compromised.</p>
<p>As we are only considering the user&#8217;s experience for this discussion, we need to find a way to ensure that the client is assured that they are interacting with OUR service, and not a MITM.</p>
<p>There are a handful of techniques that we have developed that can give the client a high confidence level that they are interacting with the legitimate service.  While they can be spoofed in appearance, their functionality can&#8217;t.</p>
<p>I know that this is something that many people say can&#8217;t be done, but those people are artificially limiting the scope of their imagination.  This is a real world problem that had existed and been solved in other fields of speciality for some time.  Some of these solutions can be modified to fit InfoSec.  </p>
<p>Secondly, we need to ensure that an absolute minimum of sensitive data is sent by the client across the network (considering sniffing and replay attacks).  We assume that someone can sniff, and has sniffed, the connection and is able to try a replay attack.  In this instance it isn&#8217;t so much the security of the client, but how the server responds to falsified connections.  The goal is to neutralise any and all replay / false connection attempts.</p>
<p>Intelligent data design, compartmentalisation, and management will limit the amount of sensitive data exposure that is possible.  The other component is to ensure that client-supplied data is extremely volatile - once the legitimate client has used that data, it can&#8217;t be re-used.</p>
<p>Now, this is just scratching the surface of what we have done.  We know that it is impossible to be completely secure, but we can make it hard enough.  As the solutions evolve, we can keep one or two steps ahead of those trying to break them, so it isn&#8217;t a one-shot one-off solution - it does require continual improvement.</p>
<p>Now for the best part - the base theory can be implemented in many different languages and on most platforms (we always develop for a cross platform solution), and it can be a simple wrapper that encapsulates existing apps - enhancing the security (though it isn&#8217;t as effective as a ground-up solution).</p>
<p>The same underlying problems affect online voting and online finance and it was through considering these challenges that we started to develop our solutions (and then spent the last few years breaking and refining them).</p>
<p>For more info, you can always email me.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: pdp</title>
		<link>/blog/client-side-security/#comment-29607</link>
		<dc:creator>pdp</dc:creator>
		<pubDate>Mon, 18 Jun 2007 08:21:35 +0000</pubDate>
		<guid isPermaLink="false">http://www.gnucitizen.org/blog/client-side-security#comment-29607</guid>
		<description>true, but ... keep in mind that business still needs to make money. you cannot abandon everything and start from scratch. the world does not work this way. we need to find a compromisable way of introducing security while keeping the efficiency and usability intact.</description>
		<content:encoded><![CDATA[<p>true, but &#8230; keep in mind that business still needs to make money. you cannot abandon everything and start from scratch. the world does not work this way. we need to find a compromisable way of introducing security while keeping the efficiency and usability intact.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Teller</title>
		<link>/blog/client-side-security/#comment-29376</link>
		<dc:creator>Teller</dc:creator>
		<pubDate>Sun, 17 Jun 2007 08:24:34 +0000</pubDate>
		<guid isPermaLink="false">http://www.gnucitizen.org/blog/client-side-security#comment-29376</guid>
		<description>Clinet-Side security is underestimated.

IMO, there is no real Client-side security unless you use a strong encryption or a well permission mechanism. Client must be designed to be secured just like the server.

There are alot of vectors which one can exploit local security, since we own the client and have full access. Vendors should start writing low-level code, put delicate code in read only sections, they should also use encryption and permission mechanism.

So there will be more authentication windows, and performance issues, so what? If we look at the big picture, this is for the best.</description>
		<content:encoded><![CDATA[<p>Clinet-Side security is underestimated.</p>
<p>IMO, there is no real Client-side security unless you use a strong encryption or a well permission mechanism. Client must be designed to be secured just like the server.</p>
<p>There are alot of vectors which one can exploit local security, since we own the client and have full access. Vendors should start writing low-level code, put delicate code in read only sections, they should also use encryption and permission mechanism.</p>
<p>So there will be more authentication windows, and performance issues, so what? If we look at the big picture, this is for the best.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: dpd</title>
		<link>/blog/client-side-security/#comment-28465</link>
		<dc:creator>dpd</dc:creator>
		<pubDate>Tue, 12 Jun 2007 11:45:02 +0000</pubDate>
		<guid isPermaLink="false">http://www.gnucitizen.org/blog/client-side-security#comment-28465</guid>
		<description>useless discussions........ it's all relative, u can't never be invulnerable. it's all for money. Security experts...bah... if a person had the capabilities he can break in every (virtual) place... 
if we consider the physical brute force....we're dead...so ... 

the point is that security and security experts are totally useless in extreem conditions guys...

so this discussions are valid for the 98% of the humanity...but if we count the 2%...

this is my point of view...maybe too sadddd ...
but for me is reality..

bye''</description>
		<content:encoded><![CDATA[<p>useless discussions&#8230;&#8230;.. it&#8217;s all relative, u can&#8217;t never be invulnerable. it&#8217;s all for money. Security experts&#8230;bah&#8230; if a person had the capabilities he can break in every (virtual) place&#8230;<br />
if we consider the physical brute force&#8230;.we&#8217;re dead&#8230;so &#8230; </p>
<p>the point is that security and security experts are totally useless in extreem conditions guys&#8230;</p>
<p>so this discussions are valid for the 98% of the humanity&#8230;but if we count the 2%&#8230;</p>
<p>this is my point of view&#8230;maybe too sadddd &#8230;<br />
but for me is reality..</p>
<p>bye&#8221;</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: pdp</title>
		<link>/blog/client-side-security/#comment-28449</link>
		<dc:creator>pdp</dc:creator>
		<pubDate>Tue, 12 Jun 2007 09:05:10 +0000</pubDate>
		<guid isPermaLink="false">http://www.gnucitizen.org/blog/client-side-security#comment-28449</guid>
		<description>Carl, this is very interesting. Of course I am really looking forward to hear how exactly you solved that problem in way that users are still allowed to perform their activities without the overall security of the network being compromised.

IMHO, there is no single golden solution for client-size problems, mainly because there are different aspects to be considered. Client-side security problems of Wifi networks are completely different from those found in Web technologies, for example.</description>
		<content:encoded><![CDATA[<p>Carl, this is very interesting. Of course I am really looking forward to hear how exactly you solved that problem in way that users are still allowed to perform their activities without the overall security of the network being compromised.</p>
<p>IMHO, there is no single golden solution for client-size problems, mainly because there are different aspects to be considered. Client-side security problems of Wifi networks are completely different from those found in Web technologies, for example.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Carl</title>
		<link>/blog/client-side-security/#comment-28428</link>
		<dc:creator>Carl</dc:creator>
		<pubDate>Tue, 12 Jun 2007 03:01:33 +0000</pubDate>
		<guid isPermaLink="false">http://www.gnucitizen.org/blog/client-side-security#comment-28428</guid>
		<description>It might sound a little bit glib, but as far as our development practices go, we ALWAYS consider the client to be compromised, and factor that into how our systems respond to every request from a client.

Authentication, smauthentication.  Our systems don't even trust the 'authenticated' client, for many of the reasons you listed above.

This does make for some interesting problems - how do you design and implement a security system that introduces low overheads without compromising security?

Of course, HOW we solved that problem isn't quite ready for publication just yet.</description>
		<content:encoded><![CDATA[<p>It might sound a little bit glib, but as far as our development practices go, we ALWAYS consider the client to be compromised, and factor that into how our systems respond to every request from a client.</p>
<p>Authentication, smauthentication.  Our systems don&#8217;t even trust the &#8216;authenticated&#8217; client, for many of the reasons you listed above.</p>
<p>This does make for some interesting problems - how do you design and implement a security system that introduces low overheads without compromising security?</p>
<p>Of course, HOW we solved that problem isn&#8217;t quite ready for publication just yet.</p>
]]></content:encoded>
	</item>
</channel>
</rss>
