<?xml version="1.0" encoding="iso-8859-1"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>dekstop weblog : Connecting Web Services: Inherently Insecure</title>
    <link>http://dekstop.de/weblog/2005/07/connecting_web_services/</link>
    <description> Visit my Flickr photo stream for more abstract eye candy. During the last couple of months I&apos;ve been using more web-based services like del.icio.us, Flickr, last.fm and others, and while I like the growing availability of web site APIs I&apos;m often wary when testing out the possibilities, e.g. when ...</description>
    <dc:language>en-us</dc:language>
    <dc:rights>Copyright 2005 Martin Dittus</dc:rights>
    <lastBuildDate>Fri, 22 Jul 2005 20:08:14 GMT</lastBuildDate>
    <generator>MicroLinks 5.6 (dekstop.de)</generator>
    <managingEditor>public&#64;dekstop&#46;de</managingEditor>
    <webMaster>public&#64;dekstop&#46;de</webMaster>



    <item>
      <title>Connecting Web Services: Inherently Insecure</title>
      <link>http://dekstop.de/weblog/2005/07/connecting_web_services/</link> 
      <description><![CDATA[<table class="imagetable" border="0" width="400">
<tr>
	<td valign="top">
		<img src="http://dekstop.de/weblog/2005/07/connecting_web_services/27134695_7fe7441a8c_t.jpg"></td>
	<td valign="top">
		<img src="http://dekstop.de/weblog/2005/07/connecting_web_services/27135013_fed7681c84_t.jpg"></td>
	<td valign="top">
		<img src="http://dekstop.de/weblog/2005/07/connecting_web_services/27135017_3ee8dde9ca_t.jpg"></td>
	<td valign="top">
		<img src="http://dekstop.de/weblog/2005/07/connecting_web_services/27135016_88e37b1bdb_t.jpg"></td>
</tr>
<tr>
	<td colspan="4"><p>Visit <a href="http://flickr.com/photos/dekstop/">my Flickr photo stream</a> for more abstract eye candy.</p></td>
</tr>
</table>

<p>During the last couple of months I've been using more web-based services like <a href="http://del.icio.us/">del.icio.us</a>, <a href="http://flickr.com/">Flickr</a>, <a href="http://last.fm/">last.fm</a> and others, and while I like the growing availability of web site APIs I'm often wary when testing out the possibilities, e.g. when testing a new client software: They usually require that you hand out your full login data! </p>

<p>Consider this: I like Flickr's ability to group photos into sets, but their current Flash-based <a href="http://flickr.com/photos/organize">Flickr Organizr</a>, to be honest, sucks. It's bloated, and while it imitates native applications in its user interface, it doesn't afford the whole range of operations that a normal native application would offer. You can't, for example, draw a rectangle with your mouse to select several pictures at once, which in my opinion is a crucial function for organizing larger amounts of pictures.</p>

<p>Well this shouldn't be a problem, of course, because I can simply use a native client instead. (That there's currently no native Flickr client with that feature is beside the point -- there are always reasons why a native client makes more sense for a specific workflow than a web-based client. This was just an example.) So I browse their <a href="http://flickr.com/tools/">tools page</a> and see that I have two options: a Flash-based "native" application, which I pass on, and an <a href="http://www.speirs.org/flickrexport/">iPhoto plugin</a>, which looks more interesting. I download and install it, and upon inspecting it I find that it requires my full Flickr login data to work.</p>

<p>I'm usually reluctant to give out a password like that; especially to closed-source software. The Flickr client is only one example of many: there's <a href="http://amua.sourceforge.net/">Amua</a> for last.fm, <a href="http://www.scifihifi.com/cocoalicious/">Cocoalicious</a> for del.icio.us, del.icio.us integration in <a href="http://www.feedburner.com/">Feedburner</a>, and others. All of those mentioned are excellent applications that usually improve upon certain interaction types with the underlying services, or that enable new types of usage. But all of them require to open up my user account.</p>

<p>I found that <a href="http://mylastfm.com/">.Net client for last.fm</a> pretty lame in this regard: requires a password, and then silently contacts their own server. I spent some time analyzing the traffic with ethereal, and it turned out it was just their update mechanism; but there have been enough scams along those lines that a degree of healthy suspicion seems appropriate<sup><a href="#footnote1">1</a></sup>. I just don't like to give out my master password for any service that hosts my important data, and this is even more true for Flickr and del.icio.us.</p>

<p>As these data service biotopes expand in scope and usefulness, the potential for abuse grows with it. I'm just nervous to give out certain passwords when I just want to test a new client. There's too much value to me in the stored data of these services.</p>

<p>A stolen password can be annoying: anybody with my last.fm login can change my music preferences, and force me to listen to NuMetal and Hippie music. Recovering from this is not that hard, but it takes work.</p>

<p>But a stolen password can also easily become devastating: anybody with my del.icio.us login can delete all my bookmarks. Anybody with my Flickr login can delete all my photos and spam other Flickr users' inboxes.</p>

<p>And I certainly would never give out a password to my MovableType installation just to be able to post with a nicer interface.</p>

<p>There can be value in an account that goes beyond the script kiddie excitement of tagging other people's websites. Think of it this way: Gaining access to thousands of MovableType and Wordpress user passwords. A massive taking over of weblogs. Not scary enough?</p>

<p>Yeah those applications mentioned above are made by nice people, and I'm confident that everybody involved is honest enough not to abuse the privilege of getting my password. But that's not what this is about. This is about principle. This is about me having to rely on the programmers of those applications to take appropriate security measures when storing passwords on my hard drive that I would never voluntarily write down <i>anywhere</i>.</p>

<p>We need to find better solutions to securely connect services so that:</p>

<ul>
	<li>data can travel via private tunnels (i.e., the generated feeds and data streams are not public)</li>
	<li>there is a connection mechanism that verifies a client, but that does not require you to give out the master login to your data storage (the server)</li>
	<li>the connected clients can still manipulate data on the server for you, but can be restricted in their abilities (this is important!)</li>
	<li>all of those connections can be managed from a central place (usually the server)</li>
</ul>

<p>And until we're there I'm not sure that I will partake in these new freedoms as much as the market would allow me to.</p>

<p><a name="footnote1"></a><i>Footnote: After being sufficiently annoyed about this I gave up and made <a href="http://dekstop.de/lastfm/">my own HTML-based last.fm-client</a> instead. No password required.</i></p>]]></description>
      <dc:creator>Martin Dittus</dc:creator>
      <category>commentary</category>
      <category>drop culture</category>
      <category>web services</category>
      
      <guid isPermaLink="true">http://dekstop.de/weblog/2005/07/connecting_web_services/</guid>
      <pubDate>Fri, 22 Jul 2005 20:08:14 GMT</pubDate>
    </item>
  </channel>
</rss>
