<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	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/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>footle &#187; business</title>
	<atom:link href="http://blog.footle.org/category/business/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.footle.org</link>
	<description>(intr.v.) 1. To waste time; trifle. 2. To talk nonsense. (n.) Nonsense; foolishness</description>
	<lastBuildDate>Fri, 30 Jul 2010 04:34:10 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>Google Takes Steps Towards Greater Privacy</title>
		<link>http://blog.footle.org/2007/03/14/google-takes-steps-towards-greater-privacy/</link>
		<comments>http://blog.footle.org/2007/03/14/google-takes-steps-towards-greater-privacy/#comments</comments>
		<pubDate>Thu, 15 Mar 2007 00:09:49 +0000</pubDate>
		<dc:creator>brad</dc:creator>
				<category><![CDATA[business]]></category>
		<category><![CDATA[geek]]></category>

		<guid isPermaLink="false">http://blog.footle.org/2007/03/14/google-takes-steps-towards-greater-privacy/</guid>
		<description><![CDATA[Google recently announced that it will soon start anonymizing search logs older than 18-24 months. Full details can be found in their Log Retention Policy FAQ (PDF). This is a heartening step back towards their &#8220;Don&#8217;t Be Evil&#8221; corporate philosophy, which some think has been largely abandoned. I&#8217;ve just recently started using Scroogle as a [...]]]></description>
			<content:encoded><![CDATA[<p>Google <a href="http://googleblog.blogspot.com/2007/03/taking-steps-to-further-improve-our.html">recently announced</a> that it will soon start anonymizing search logs older than 18-24 months. Full details can be found in their <a href="http://216.239.57.110/blog_resources/google_log_retention_policy_faq.pdf">Log Retention Policy FAQ (PDF)</a>. This is a heartening step back towards their <a href="http://en.wikipedia.org/wiki/Don't_Be_Evil">&#8220;Don&#8217;t Be Evil&#8221;</a> corporate philosophy, which some think has been largely <a href="http://breitbart.com/article.php?id=D8FBCF686&#038;show_article=1">abandoned</a>.</p>
<p>I&#8217;ve just recently started using <a href="http://www.scroogle.org/">Scroogle</a> as a way of defeating their tracking of my every search (their site is awful; <a href="http://en.wikipedia.org/wiki/Scroogle">Wikipedia</a> has more readable information about the project), although the motives of the man behind it, Daniel Brandt, who also runs the <a href="http://www.google-watch.org/">Google Watch</a> site, <a href="http://www.google-watch-watch.org/">may be questionable</a>. Still, he doesn&#8217;t have much incentive for keeping a log of queries and IP addresses, and if he did, since he&#8217;s not giving me a cookie, he can&#8217;t tie all my searches together.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.footle.org/2007/03/14/google-takes-steps-towards-greater-privacy/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Protecting Your Users&#8217; Data with a Privacy Wall</title>
		<link>http://blog.footle.org/2007/02/22/protecting-your-users-data-with-a-privacy-wall/</link>
		<comments>http://blog.footle.org/2007/02/22/protecting-your-users-data-with-a-privacy-wall/#comments</comments>
		<pubDate>Thu, 22 Feb 2007 17:40:08 +0000</pubDate>
		<dc:creator>brad</dc:creator>
				<category><![CDATA[business]]></category>
		<category><![CDATA[geek]]></category>
		<category><![CDATA[privacy-and-security]]></category>

		<guid isPermaLink="false">http://blog.footle.org/2007/02/22/protecting-your-users-data-with-a-privacy-wall/</guid>
		<description><![CDATA[Just Another Brick In The Wall?by Iain Cuthbertson We deal with a lot of very private data at Wesabe, so security and privacy are our top concerns. In this post I will describe one of our primary means for assuring privacy, a technique that is general enough that any site can use it. Our creative [...]]]></description>
			<content:encoded><![CDATA[<p>
<div style="float:right;margin:0.5em 0.5em 0.5em 0.5em;"><img alt="Just Another Brick In The Wall? by Iain Cuthbertson" src="http://farm1.static.flickr.com/32/64441215_1e52c533a5_m.jpg"/><br />
<span style="font-size:75%;color:#999">Just Another Brick In The Wall?<br />by <a href="http://www.flickr.com/photos/bigcuthy/">Iain Cuthbertson</a></span></div>
<p>We deal with a lot of very private data at <a href="http://www.wesabe.com">Wesabe</a>, so security and privacy are our top concerns. In this post I will describe one of our primary means for assuring privacy, a technique that is general enough that any site can use it.  Our creative name for this technique is the <strong>privacy wall</strong>. Later, I&#8217;ll go on to tell you ways to hack the wall, just so you don&#8217;t get too comfortable.</p>
<h3>The Privacy Wall</h3>
<p>The idea is simple: don&#8217;t have any direct links in your database between your users&#8217; &#8220;public&#8221; data and their private data. Instead of linking tables directly via a foreign key, use a cryptographic hash <a href="#footnote_1">[1]</a> that is based on at least one piece of data that only the user knows&mdash;such as their password. The user&#8217;s private data can be looked up when the user logs in, but otherwise it is completely anonymous. Let&#8217;s go through a simple example.</p>
<p>Let&#8217;s say we&#8217;re designing an application that lets members keep a list of their deepest, darkest secrets. We need a database with at least two tables: &#8216;users&#8217; and &#8216;secrets&#8217;. The first pass database model looks like this:</p>
<p><img src="http://blog.footle.org/wp-content/uploads/2007/02/standard-model.png" alt="Standard Model" height="111" width="348"/></p>
<p style="clear:both">The problem with this schema is that anyone with access to the database can easily find out all the secrets of a given user. With one small change, however, we can make this extremely difficult, if not impossible:</p>
<p><img src="http://blog.footle.org/wp-content/uploads/2007/02/privacy-wall2.png" alt="Privacy Wall" height="111" width="348"/></p>
<p style="clear:both">The special sauce is the &#8216;secret_key&#8217;, which is nothing more than a cryptographic hash of the user&#8217;s username and their password <a href="#footnote_2">[2]</a>. When the user logs in, we can generate the hash and store it in the session <a href="#footnote_3">[3]</a>. Whenever we need to query the user&#8217;s secrets, we use that key to look them up instead of the user id. Now, if some baddie gets ahold of the database, they will still be able to read everyone&#8217;s secrets, but they won&#8217;t know which secret belongs to which user, and there&#8217;s no way to look up the secrets of a given user.</p>
<p><strong>Update:</strong> A commenter on my <a href="http://blog.wesabe.com/index.php/2007/02/23/safeguarding-your-data-the-privacy-wall/">shorter post</a> on the Wesabe blog brought up the important point of what you do if the user forgets their password. The recovery method we came up with was to store a copy of their secret key, encrypted with the answers to their security questions (which aren&#8217;t stored anywhere in our database, of course). Assuming that the user hasn&#8217;t forgotten those as well, you can easily find their account data and &#8220;move it over&#8221; when they reset their password (don&#8217;t forget to update the encrypted secret key); if they do forget them, well, there&#8217;s a problem.</p>
<h3>Attacking the Wall</h3>
<p>I mentioned earlier that you store the secret key in the user&#8217;s session. If you&#8217;re storing your session data in the database and your db is hacked, any users that are logged in (or whose sessions haven&#8217;t yet be deleted) can be compromised. The same is true if sessions are stored on the filesystem. Keeping session data in memory is better, although it is still hackable (the swapfile is one obvious target). However you&#8217;re storing your session data, keeping your sessions reasonably short and deleting them when they expire is wise. You could also store the secret key separately in a cookie on the user&#8217;s computer, although then you&#8217;d better make damn sure you don&#8217;t have any <a href="http://en.wikipedia.org/wiki/XSS">cross-site scripting (XSS)</a> vulnerabilities that would allow a hacker to harvest your user&#8217;s cookies.</p>
<p>Other holes can be found if your system is sufficiently complex and an attacker can find a path from User to Secret through other tables in the database, so it&#8217;s important to trace out those paths and make sure that the secret key is used somewhere in each chain.</p>
<p>A harder problem to solve is when the secrets themselves may contain enough information to identify the user, and with the above scheme, if one secret is traced back to a user, all of that user&#8217;s secrets are compromised. It might not be possible or practical to scrub or encrypt the data, but you can limit the damage of a secret being compromised. My colleague and security guru <a href="http://www.emerose.com">Sam Quiqley</a> suggests the following as an extra layer of security: add a counter to the data being hashed to generate the secret key:</p>
<pre><code>
secret key 1 = Hash(salt + password + '1')
secret key 2 = Hash(salt + password + '2')
...
secret key n = Hash(salt + password + '&lt;n&gt;')
</code></pre>
<p>Getting a list of all the secrets for a given user when they log in is going to be a lot less efficient, of course; you have to keep generating hashes and doing queries until no secret with that hash is found, and deleting secrets may require special handling. But it may be a small price to pay for the extra privacy.</p>
<p>Finally, log files can be a gold mine for attackers. There&#8217;s a very good chance you&#8217;re logging queries, debug statements, or exception reports that link users to their keys or directly to their secrets. You should scrub any identifying information before it gets written to the log file.</p>
<h3>So That&#8217;s It, Right?</h3>
<p>The privacy wall is far from a silver bullet. Privacy and security are hard&mdash;really hard&mdash;particularly so if your app is taking private data and extracting information out of it for public consumption, like we are at Wesabe. The privacy wall is one of a number of methods we&#8217;re using to insure that our users&#8217; private data stays that way. If you&#8217;re lucky enough to be going to ETech next month, definitely check out <a href="https://www.wesabe.com/page/founders#marc">Marc&#8217;s</a> session on <a href="http://conferences.oreillynet.com/cs/et2007/view/e_sess/10492">Super Ninja Privacy Techniques for Web App Developers</a>.</p>
<p>I hope you found this helpful. Let me know what you think; I appreciate any and all feedback. And if you&#8217;ve got any cool privacy techniques up your sleeve, share the knowledge!</p>
<hr style="width:25%; margin-top: 2em"/>
<p><a name="footnote_1"></a>
<p>[1] A cryptographic hash is way of mapping any amount of plain text to a fixed-length &#8220;fingerprint&#8221; such that the same text always maps to the same hash, and given a hash, it is impossible to generate the text from which it was derived. Hashes are wonderful things with many uses. If you&#8217;re a developer, and you didn&#8217;t already know this, stop reading now and go <a href="http://en.wikipedia.org/wiki/Cryptographic_hash">here</a> or <a href="http://www-128.ibm.com/developerworks/java/library/s-hashing/index.html">here</a>, and learn how to generate a SHA1/2 hash in your programming language of choice. Come back when you&#8217;re ready. I&#8217;ll wait.</p>
<p><a name="footnote_2"></a>
<p>[2] You can throw in a <a href="http://en.wikipedia.org/wiki/Salt_%28cryptography%29">salt</a> too, to be safe; just make sure that you&#8217;re not using the same hash that you&#8217;re using for checking the user&#8217;s password. You <em>are</em> smart enough not to <a href="http://blog.moertel.com/articles/2006/12/15/never-store-passwords-in-a-database">store passwords in plaintext in the database</a>, aren&#8217;t you?</p>
<p><a name="footnote_3"></a>
<p>[3] Danger, Will Robinson! Keep reading.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.footle.org/2007/02/22/protecting-your-users-data-with-a-privacy-wall/feed/</wfw:commentRss>
		<slash:comments>39</slash:comments>
		</item>
		<item>
		<title>Must&#8230;stop&#8230;looking at&#8230;stats&#8230;</title>
		<link>http://blog.footle.org/2006/11/17/muststoplooking-atstats/</link>
		<comments>http://blog.footle.org/2006/11/17/muststoplooking-atstats/#comments</comments>
		<pubDate>Sat, 18 Nov 2006 06:19:12 +0000</pubDate>
		<dc:creator>brad</dc:creator>
				<category><![CDATA[business]]></category>
		<category><![CDATA[geek]]></category>

		<guid isPermaLink="false">http://footle.org/blog/?p=59</guid>
		<description><![CDATA[I&#8217;ve been too tired today to do any actual work, so I&#8217;ve spent much of the day camping out on the Wesabe site stats. It&#8217;s terribly exciting having so many people hitting your site and so many signing up (almost 1/3 of our unique visitors have created accounts). The site has been humming along beautifully, [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve been too tired today to do any actual work, so I&#8217;ve spent much of the day camping out on the <a href="http://www.wesabe.com">Wesabe</a> site stats. It&#8217;s terribly exciting having so many people hitting your site and so many signing up (almost 1/3 of our unique visitors have created accounts). The site has been humming along beautifully, too&#8211;major props goes out my colleague <a href="http://blog.codahale.com/">Coda Hale</a> for his Apache/Mongrel/Pen prowess.</p>
<p>Anyway, I just wanted to share one of the more interesting stats from our analytics (<a href="http://www.haveamint.com/">Mint</a>&#8211;very tasty):</p>
<p><img src="http://footle.org/blog/wp-content/go_firefox.png" /></p>
<p>That&#8217;s a lovely thing to see. Granted, these are largely very tech-savvy, early-adopter people at this stage, but it&#8217;s heartening to see IE getting the beatdown.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.footle.org/2006/11/17/muststoplooking-atstats/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Amazon&#8217;s new S3 Storage Service</title>
		<link>http://blog.footle.org/2006/03/15/amazons-new-s3-storage-service/</link>
		<comments>http://blog.footle.org/2006/03/15/amazons-new-s3-storage-service/#comments</comments>
		<pubDate>Wed, 15 Mar 2006 18:10:05 +0000</pubDate>
		<dc:creator>brad</dc:creator>
				<category><![CDATA[business]]></category>
		<category><![CDATA[geek]]></category>

		<guid isPermaLink="false">http://footle.org/blog/?p=49</guid>
		<description><![CDATA[Amazon just launched a new service, S3 &#8211; Simple Storage Service. It is a web service that allows you to store as much data as you like, with file sizes up to 5GB, and you just pay for the storage you use and the data transferred. Rates are very reasonable, too &#8212; $0.15/GB/month of storage, [...]]]></description>
			<content:encoded><![CDATA[<p>Amazon just launched a new service, <a href="http://www.amazon.com/gp/browse.html/104-8936730-9867911?node=16427261">S3 &#8211; Simple Storage Service</a>. It is a web service that allows you to store as much data as you like, with file sizes up to 5GB, and you just pay for the storage you use and the data transferred. Rates are very reasonable, too &#8212; $0.15/GB/month of storage, and $0.20/GB in data transferred.</p>
<p>This is pretty interesting. It gives developers the ability to create applications requiring significant storage space without having to make a huge upfront investment in equipment and expertise. Want to write your own Flickr? Go for it. Granted, it&#8217;s risky relying on a third party for a core part of your business, but you only need them until you get your million users and can get enough funding to build your own storage backend.</p>
<p>Google is apparently working on their own storage backend, Google Drive. It will be interesting to see how this plays out. Nothing but good news for aspiring entrepreneurs, though.</p>
<p>via <a href="http://www.techcrunch.com/2006/03/14/amazon-grid-storage-web-service-launches/">TechCrunch</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.footle.org/2006/03/15/amazons-new-s3-storage-service/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Your next ISP: Google</title>
		<link>http://blog.footle.org/2006/02/08/your-next-isp-google/</link>
		<comments>http://blog.footle.org/2006/02/08/your-next-isp-google/#comments</comments>
		<pubDate>Thu, 09 Feb 2006 01:13:10 +0000</pubDate>
		<dc:creator>brad</dc:creator>
				<category><![CDATA[business]]></category>
		<category><![CDATA[geek]]></category>

		<guid isPermaLink="false">http://footle.org/blog/?p=47</guid>
		<description><![CDATA[John C. Dvorak has a good piece at pcmag.com about speculations that Google is going to be creating their own network (see the &#8220;Google is the Internet&#8221; scenario from the article linked in my previous post). I certainly hope they do, as telcos have been dragging their feet on broadband for a long time, and [...]]]></description>
			<content:encoded><![CDATA[<p>            John C. Dvorak has a <a href="http://www.pcmag.com/article2/0,1895,1916760,00.asp">good piece</a> at pcmag.com about speculations that Google is going to be creating their own network (see the &#8220;Google is the Internet&#8221; scenario from the <a href="http://money.cnn.com/magazines/business2/business2_archive/2006/01/01/8368125/index.htm">article linked in my previous post</a>). I certainly hope they do, as telcos have been <a href="http://muniwireless.com/community/1023">dragging their feet</a> on broadband for a long time, and <a href="http://www.usatoday.com/tech/news/2005-01-03-fiber-cover_x.htm">acting like the Mafia</a> whenever someone encroaches on &#8220;their&#8221; territory.</p>
<p>More articles on the subject:</p>
<ul>
<li>
<a href="http://business.timesonline.co.uk/article/0,,9075-2023600,00.html">Rumours mount over Google&#8217;s internet plan</a>
</li>
<li>
<a href="http://www.networkingpipeline.com/blog/archives/2006/02/google_to_telco.html">Google to Telcos: Who Needs You?</a>
</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://blog.footle.org/2006/02/08/your-next-isp-google/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Imagining the Google Future</title>
		<link>http://blog.footle.org/2006/02/02/imagining-the-google-future/</link>
		<comments>http://blog.footle.org/2006/02/02/imagining-the-google-future/#comments</comments>
		<pubDate>Thu, 02 Feb 2006 18:54:11 +0000</pubDate>
		<dc:creator>brad</dc:creator>
				<category><![CDATA[business]]></category>
		<category><![CDATA[geek]]></category>

		<guid isPermaLink="false">http://footle.org/blog/?p=46</guid>
		<description><![CDATA[Great article from Business 2.0 describing four future scenarios for Google: Imagining the Google Future]]></description>
			<content:encoded><![CDATA[<p>            Great article from Business 2.0 describing four future scenarios for Google:</p>
<p><a href="http://money.cnn.com/magazines/business2/business2_archive/2006/01/01/8368125/index.htm">Imagining the Google Future</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.footle.org/2006/02/02/imagining-the-google-future/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>RIP IM Smarter</title>
		<link>http://blog.footle.org/2006/01/30/rip-im-smarter/</link>
		<comments>http://blog.footle.org/2006/01/30/rip-im-smarter/#comments</comments>
		<pubDate>Mon, 30 Jan 2006 17:16:55 +0000</pubDate>
		<dc:creator>brad</dc:creator>
				<category><![CDATA[business]]></category>
		<category><![CDATA[geek]]></category>

		<guid isPermaLink="false">http://footle.org/blog/?p=45</guid>
		<description><![CDATA[My imsmarter proxy stopped working last week, and I just got around to going to their site to see what was up. Looks like they&#8217;ve shut down. A bit of a pity; I thought it was a useful service. I use IM on four different machines and it made finding something from a past conversation [...]]]></description>
			<content:encoded><![CDATA[<p>My <a href="http://www.imsmarter.com">imsmarter</a> proxy stopped working last week, and I just got around to going to their site to see what was up. Looks like they&#8217;ve shut down. A bit of a pity; I thought it was a useful service. I use IM on four different machines and it made finding something from a past conversation a lot easier. Actually, though, what I used most often was its reminder feature. I could send it an IM saying &#8220;Remind me in 2 hours to check the car&#8221; and it would do just that, saving me many parking tickets. I imagine there are other services like that out there; I should check around. Actually, that would be a pretty trival thing to implement myself. Hmmm.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.footle.org/2006/01/30/rip-im-smarter/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Business Blogging</title>
		<link>http://blog.footle.org/2006/01/01/business-blogging/</link>
		<comments>http://blog.footle.org/2006/01/01/business-blogging/#comments</comments>
		<pubDate>Sun, 01 Jan 2006 16:53:37 +0000</pubDate>
		<dc:creator>brad</dc:creator>
				<category><![CDATA[business]]></category>

		<guid isPermaLink="false">http://footle.org/blog/?p=43</guid>
		<description><![CDATA[Chris Anderson of Wired / The Long Tail has started a wiki page to track public blogs by Fortune 500 companies. The list isn&#8217;t terribly long yet, but I&#8217;m sure it will be growing, both as more people discover existing company blogs and as more companies jump on the bandwagon. Speaking of which, we&#8217;ve jumped [...]]]></description>
			<content:encoded><![CDATA[<p>Chris Anderson of <a href="http://www.wired.com">Wired</a> / <a href="http://www.thelongtail.com">The Long Tail</a> has started a wiki page to track <a href="http://www.thelongtail.com/the_long_tail/2005/12/announcing_the_.html">public blogs by Fortune 500 companies</a>. The list isn&#8217;t terribly long yet, but I&#8217;m sure it will be growing, both as more people discover existing company blogs and as more companies jump on the bandwagon.</p>
<p>Speaking of which, we&#8217;ve jumped on the bandwagon ourselves at <a href="http://www.triporama.com">Triporama</a>. The <a href="http://www.triporama.com/blog">Triporama Blog</a> isn&#8217;t yet linked in from the main site (it will be soon), but Wendell has already posted a great piece about the origins of Triporama.</p>
<p>Happy New Year!</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.footle.org/2006/01/01/business-blogging/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Triporama Launches</title>
		<link>http://blog.footle.org/2005/12/15/triporama-launches/</link>
		<comments>http://blog.footle.org/2005/12/15/triporama-launches/#comments</comments>
		<pubDate>Thu, 15 Dec 2005 19:02:29 +0000</pubDate>
		<dc:creator>brad</dc:creator>
				<category><![CDATA[business]]></category>

		<guid isPermaLink="false">http://footle.org/blog/?p=41</guid>
		<description><![CDATA[I&#8217;ve been pretty busy lately, if the infrequency of my posts is any indicator, but it&#8217;s paid off: Triporama officially launched yesterday. We sent out some 300 emails and then immediately left to go to the bar. Fortunately, the site held up, with only one serious bug so far, which I fixed last night. Not [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve been pretty busy lately, if the infrequency of my posts is any indicator, but it&#8217;s paid off: <a href="http://www.triporama.com">Triporama</a> officially launched yesterday. We sent out some 300 emails and then immediately left to go to the bar. Fortunately, the site held up, with only one serious bug so far, which I fixed last night.</p>
<p>Not that I can slack off now&#8230;we&#8217;ve got a mile-long list of features we&#8217;d like to implement. It&#8217;s great to finally get it out there, though.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.footle.org/2005/12/15/triporama-launches/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
