<?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"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Comments on: Halfnote: Secure Document Sharing</title>
	<atom:link href="http://ajaxian.com/archives/halfnote-secure-document-sharing/feed" rel="self" type="application/rss+xml" />
	<link>http://ajaxian.com/archives/halfnote-secure-document-sharing</link>
	<description>Cleaning up the web with Ajax</description>
	<lastBuildDate>Thu, 17 May 2012 07:43:39 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
	<item>
		<title>By: Tribulus</title>
		<link>http://ajaxian.com/archives/halfnote-secure-document-sharing/comment-page-1#comment-267789</link>
		<dc:creator>Tribulus</dc:creator>
		<pubDate>Wed, 01 Oct 2008 12:06:41 +0000</pubDate>
		<guid isPermaLink="false">http://ajaxian.com/?p=1692#comment-267789</guid>
		<description>I like it 
i like it 
thanks</description>
		<content:encoded><![CDATA[<p>I like it<br />
i like it<br />
thanks</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Hallvar Helleseth</title>
		<link>http://ajaxian.com/archives/halfnote-secure-document-sharing/comment-page-1#comment-139745</link>
		<dc:creator>Hallvar Helleseth</dc:creator>
		<pubDate>Sat, 21 Oct 2006 10:25:52 +0000</pubDate>
		<guid isPermaLink="false">http://ajaxian.com/?p=1692#comment-139745</guid>
		<description>Nice to see that you&#039;re trying to rectify the issues. I would love to see a final solution to this with SSO. That would rock the world (wide web)!</description>
		<content:encoded><![CDATA[<p>Nice to see that you&#8217;re trying to rectify the issues. I would love to see a final solution to this with SSO. That would rock the world (wide web)!</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Halfnote</title>
		<link>http://ajaxian.com/archives/halfnote-secure-document-sharing/comment-page-1#comment-138732</link>
		<dc:creator>Halfnote</dc:creator>
		<pubDate>Fri, 20 Oct 2006 18:20:51 +0000</pubDate>
		<guid isPermaLink="false">http://ajaxian.com/?p=1692#comment-138732</guid>
		<description>[...] Halfnote is a lightweight web-based notepad that I thought was pretty neat. It&#8217;s dead simple, basically consisting of only one text area, and features client-side encryption, auto-save, and synchronization between computers. (via) [...]</description>
		<content:encoded><![CDATA[<p>[...] Halfnote is a lightweight web-based notepad that I thought was pretty neat. It&#8217;s dead simple, basically consisting of only one text area, and features client-side encryption, auto-save, and synchronization between computers. (via) [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Aaron</title>
		<link>http://ajaxian.com/archives/halfnote-secure-document-sharing/comment-page-1#comment-135859</link>
		<dc:creator>Aaron</dc:creator>
		<pubDate>Wed, 18 Oct 2006 21:32:15 +0000</pubDate>
		<guid isPermaLink="false">http://ajaxian.com/?p=1692#comment-135859</guid>
		<description>So I moved halfnote over to SSL. That should handle MITM. It&#039;s true that you&#039;re still not protected against a malicious operator (err... me) or a hacker who has gotten access to the web server and has enough time to wait for the passwords to trickle in. But this is a whole lot better than the alternative, I think.</description>
		<content:encoded><![CDATA[<p>So I moved halfnote over to SSL. That should handle MITM. It&#8217;s true that you&#8217;re still not protected against a malicious operator (err&#8230; me) or a hacker who has gotten access to the web server and has enough time to wait for the passwords to trickle in. But this is a whole lot better than the alternative, I think.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: milo</title>
		<link>http://ajaxian.com/archives/halfnote-secure-document-sharing/comment-page-1#comment-135399</link>
		<dc:creator>milo</dc:creator>
		<pubDate>Wed, 18 Oct 2006 15:58:02 +0000</pubDate>
		<guid isPermaLink="false">http://ajaxian.com/?p=1692#comment-135399</guid>
		<description>Well, it&#039;s worth a try and maybe the security leak ( protect against man-in-the-middle ) will be developed soon.</description>
		<content:encoded><![CDATA[<p>Well, it&#8217;s worth a try and maybe the security leak ( protect against man-in-the-middle ) will be developed soon.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Michael Mahemoff</title>
		<link>http://ajaxian.com/archives/halfnote-secure-document-sharing/comment-page-1#comment-134452</link>
		<dc:creator>Michael Mahemoff</dc:creator>
		<pubDate>Wed, 18 Oct 2006 00:21:49 +0000</pubDate>
		<guid isPermaLink="false">http://ajaxian.com/?p=1692#comment-134452</guid>
		<description>This idea was floated by Richard Schwartz as &quot;Host-Proof Hosting&quot; and led to a debate with Alex Russell about the risk of script injection that you mention. I think the conclusion is that it&#039;s vastly more secure than keeping open data on the server and vastly less secure than keeping it on a local machine! http://ajaxpatterns.org/Host-Proof_Hosting</description>
		<content:encoded><![CDATA[<p>This idea was floated by Richard Schwartz as &#8220;Host-Proof Hosting&#8221; and led to a debate with Alex Russell about the risk of script injection that you mention. I think the conclusion is that it&#8217;s vastly more secure than keeping open data on the server and vastly less secure than keeping it on a local machine! <a href="http://ajaxpatterns.org/Host-Proof_Hosting" rel="nofollow">http://ajaxpatterns.org/Host-Proof_Hosting</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Brad Neuberg</title>
		<link>http://ajaxian.com/archives/halfnote-secure-document-sharing/comment-page-1#comment-134369</link>
		<dc:creator>Brad Neuberg</dc:creator>
		<pubDate>Tue, 17 Oct 2006 23:57:13 +0000</pubDate>
		<guid isPermaLink="false">http://ajaxian.com/?p=1692#comment-134369</guid>
		<description>Aaron, btw, you can support older browsers (including Safari) by using Dojo.Storage&#039;s FlashStorageProvider, which comes on automatically. Here is an example editor I threw together to show this, called Moxie, similar to your halfnote editor:

http://codinginparadise.org/e

All that code is BSD, btw, so feel free to use it or incorporate it.

Once we have the WHATWG and IE StorageProviders, using storage on any of these platforms will be as simple as the API Dojo.Storage exports, which is basicly a very simple hashtable with puts and gets (though the inside has alot of support for doing high performance work with large strings, XML, JavaScript objects, and more -- you&#039;re shielded from this stuff).</description>
		<content:encoded><![CDATA[<p>Aaron, btw, you can support older browsers (including Safari) by using Dojo.Storage&#8217;s FlashStorageProvider, which comes on automatically. Here is an example editor I threw together to show this, called Moxie, similar to your halfnote editor:</p>
<p><a href="http://codinginparadise.org/e" rel="nofollow">http://codinginparadise.org/e</a></p>
<p>All that code is BSD, btw, so feel free to use it or incorporate it.</p>
<p>Once we have the WHATWG and IE StorageProviders, using storage on any of these platforms will be as simple as the API Dojo.Storage exports, which is basicly a very simple hashtable with puts and gets (though the inside has alot of support for doing high performance work with large strings, XML, JavaScript objects, and more &#8212; you&#8217;re shielded from this stuff).</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Brad Neuberg</title>
		<link>http://ajaxian.com/archives/halfnote-secure-document-sharing/comment-page-1#comment-134358</link>
		<dc:creator>Brad Neuberg</dc:creator>
		<pubDate>Tue, 17 Oct 2006 23:54:15 +0000</pubDate>
		<guid isPermaLink="false">http://ajaxian.com/?p=1692#comment-134358</guid>
		<description>Hi Aaron, very cool app! I&#039;d love to see a WHATWG storage provider in Dojo.Storage and an IE StorageProvider; right now we only have a FlashStorageProvider, but the full architecture is there for other kinds of storage mechanisms, including determining at runtime the best one to use. Interested in writing the Firefox 2 (WHAT working group) and IE storage providers? It should be straightforward and I can step you through the process. Feel free to call me at 1-510-938-3263 as well.

Best,
  Brad Neuberg
  bkn3@columbia.edu
  http://codinginparadise.org</description>
		<content:encoded><![CDATA[<p>Hi Aaron, very cool app! I&#8217;d love to see a WHATWG storage provider in Dojo.Storage and an IE StorageProvider; right now we only have a FlashStorageProvider, but the full architecture is there for other kinds of storage mechanisms, including determining at runtime the best one to use. Interested in writing the Firefox 2 (WHAT working group) and IE storage providers? It should be straightforward and I can step you through the process. Feel free to call me at 1-510-938-3263 as well.</p>
<p>Best,<br />
  Brad Neuberg<br />
  <a href="mailto:bkn3@columbia.edu">bkn3@columbia.edu</a><br />
  <a href="http://codinginparadise.org" rel="nofollow">http://codinginparadise.org</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Aaron</title>
		<link>http://ajaxian.com/archives/halfnote-secure-document-sharing/comment-page-1#comment-134151</link>
		<dc:creator>Aaron</dc:creator>
		<pubDate>Tue, 17 Oct 2006 21:42:16 +0000</pubDate>
		<guid isPermaLink="false">http://ajaxian.com/?p=1692#comment-134151</guid>
		<description>Hallvar, 

You&#039;re right that client-side encryption by itself doesn&#039;t protect against man-in-the-middle, or a malicious developer. In these regards, it is no better or worse than a normal web app.

What I think is interesting is that client-side encryption eliminates the possibility of the developer accidentally leaking the data.</description>
		<content:encoded><![CDATA[<p>Hallvar, </p>
<p>You&#8217;re right that client-side encryption by itself doesn&#8217;t protect against man-in-the-middle, or a malicious developer. In these regards, it is no better or worse than a normal web app.</p>
<p>What I think is interesting is that client-side encryption eliminates the possibility of the developer accidentally leaking the data.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Hallvar Helleseth</title>
		<link>http://ajaxian.com/archives/halfnote-secure-document-sharing/comment-page-1#comment-133967</link>
		<dc:creator>Hallvar Helleseth</dc:creator>
		<pubDate>Tue, 17 Oct 2006 18:30:20 +0000</pubDate>
		<guid isPermaLink="false">http://ajaxian.com/?p=1692#comment-133967</guid>
		<description>This seems very suspectible to man-in-the-middle attacks. Wouldn&#039;t all I have to do to get the encryption key be to insert javascript code during the request? Javascript code to fetch the key from storage and transmit using e.g. XmlHttpRequest..

Or if you cannot manipulate a communications stream, insert Javascript (if vulnerable) using XSS attacks and lure the victim to use your crafted URL, ending with exposure of the key.

With a requirement of HTTPS and no XSS vulnerabilities this could be more secure against outsiders. But you would still loose what I think is your main point: &lt;i&gt;Your data is stored encrypted on the server, and the server operators will have no way in decrypting it&lt;/i&gt;. Unfortunatly this is not true either. As pointed out, all the operators would need to do to get the key is serve the page with Javascript crafted to fetch and transmit the encryption key.

So in reality this only provides to following security (You must assume that the site is not XSS vulnerable):
- People with read-only access to the stream cannot see your data.

You are still moving in the right direction, hopefully one day a secure solution exists or is even possible.</description>
		<content:encoded><![CDATA[<p>This seems very suspectible to man-in-the-middle attacks. Wouldn&#8217;t all I have to do to get the encryption key be to insert javascript code during the request? Javascript code to fetch the key from storage and transmit using e.g. XmlHttpRequest..</p>
<p>Or if you cannot manipulate a communications stream, insert Javascript (if vulnerable) using XSS attacks and lure the victim to use your crafted URL, ending with exposure of the key.</p>
<p>With a requirement of HTTPS and no XSS vulnerabilities this could be more secure against outsiders. But you would still loose what I think is your main point: <i>Your data is stored encrypted on the server, and the server operators will have no way in decrypting it</i>. Unfortunatly this is not true either. As pointed out, all the operators would need to do to get the key is serve the page with Javascript crafted to fetch and transmit the encryption key.</p>
<p>So in reality this only provides to following security (You must assume that the site is not XSS vulnerable):<br />
- People with read-only access to the stream cannot see your data.</p>
<p>You are still moving in the right direction, hopefully one day a secure solution exists or is even possible.</p>
]]></content:encoded>
	</item>
</channel>
</rss>

