<?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>Chris Kite &#187; Passwords</title>
	<atom:link href="http://www.chriskite.com/category/security/passwords/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.chriskite.com</link>
	<description>Programming, Computer Security, Etc.</description>
	<lastBuildDate>Wed, 24 Jun 2009 02:28:08 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<xhtml:meta xmlns:xhtml="http://www.w3.org/1999/xhtml" name="robots" content="noindex" />
		<item>
		<title>Terrible Password Security Advice From Jakob Nielsen</title>
		<link>http://www.chriskite.com/2009/06/23/terrible-password-security-advice-from-jakob-nielsen/</link>
		<comments>http://www.chriskite.com/2009/06/23/terrible-password-security-advice-from-jakob-nielsen/#comments</comments>
		<pubDate>Wed, 24 Jun 2009 02:28:08 +0000</pubDate>
		<dc:creator>Chris Kite</dc:creator>
				<category><![CDATA[Passwords]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[Web Applications]]></category>

		<guid isPermaLink="false">http://www.chriskite.com/?p=74</guid>
		<description><![CDATA[Jakob Nielsen today wrote an article calling for all log-in forms to display passwords in plaintext, rather than masking them with bullets or stars. He argues that this increases usability (users feel more confident because they can see their password as they type it), and also increases security (a more confident user will choose stronger [...]]]></description>
			<content:encoded><![CDATA[<p>Jakob Nielsen today wrote <a href="http://www.useit.com/alertbox/passwords.html">an article calling for all log-in forms to display passwords in plaintext</a>, rather than masking them with bullets or stars. He argues that this increases usability (users feel more confident because they can see their password as they type it), and also increases security (a more confident user will choose stronger passwords!).</p>
<p>I find this advice really strange. In all the password-related research studies I&#8217;ve read, and in all my conversations with computer users, I don&#8217;t think I&#8217;ve once heard someone complain that they are worried about typos in their password. People will complain at length about forgetting what their password is in the first place, and this is why most choose overly-simple passwords, or just write them down.</p>
<p>It seems like Nielsen has invented a problem where none exists. Nonetheless, he recommends that websites stop masking users&#8217; passwords as they are entered. This whole viewpoint is wrong for a number of reasons:</p>
<ol>
<li>Nielsen claims that password masking is only done today because &#8220;it was the default in the Web&#8217;s early days&#8221;. In fact, it has been the default as long as computers have used passwords as an authentication mechanism. And it&#8217;s the default for a good reason: it complicates shoulder-surfing attacks with a minimal impact on usability.</li>
<li>He also argues that displaying passwords in plaintext will increase a user&#8217;s confidence, leading to increased security because the user will choose a longer password. However, in <a href="http://www.useit.com/alertbox/20001126.html">a past article</a>, Nielsen also claimed it is a lie that &#8220;long passwords are more secure than short ones&#8221;, and declared unequivocally that &#8220;users write down their passwords&#8221;. You can&#8217;t have it both ways, Jakob.</li>
<li>For a log-in form to display the password in the clear is <strong>not the expected system behavior</strong>, and this is bad for usability. Nielsen suggests that a site could provide a check-box to enable password masking. Having to click a button to get the desired default behavior is also <strong>terrible for usability</strong>.</li>
</ol>
<p>Perhaps the most egregious error in all the article is this gem:</p>
<blockquote><p>More importantly, there&#8217;s usually nobody looking over your shoulder when you log in to a website. It&#8217;s just you, sitting all alone in your office, suffering reduced usability to protect against a non-issue.</p></blockquote>
<p>In the real world, people work in open offices, log-in to websites during presentations, browse the web with their significant-others, and expect websites to respect their privacy. But I will concede that in Jakob Nielsen&#8217;s private office, on the penthouse floor of his ivory tower, password masking is probably useless.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.chriskite.com/2009/06/23/terrible-password-security-advice-from-jakob-nielsen/feed/</wfw:commentRss>
		<slash:comments>33</slash:comments>
		</item>
		<item>
		<title>Are You a Brute-Force Enabler?</title>
		<link>http://www.chriskite.com/2009/03/29/are-you-a-brute-force-enabler/</link>
		<comments>http://www.chriskite.com/2009/03/29/are-you-a-brute-force-enabler/#comments</comments>
		<pubDate>Mon, 30 Mar 2009 03:33:54 +0000</pubDate>
		<dc:creator>Chris Kite</dc:creator>
				<category><![CDATA[Passwords]]></category>
		<category><![CDATA[Security]]></category>

		<guid isPermaLink="false">http://www.chriskite.com/?p=28</guid>
		<description><![CDATA[Jimmy Ruska has taken the time to combine data from 3 compromised-password lists, and the results are pretty interesting.
If an attacker can try just a single password against every user on your web application, he&#8217;ll compromise about 1% of them. Even with a fairly stringent 3-attempt lockout policy, about 2-3% of your users will be [...]]]></description>
			<content:encoded><![CDATA[<p>Jimmy Ruska has taken the time to combine <a href="http://blog.jimmyr.com/Password_analysis_of_databases_that_were_hacked_28_2009.php">data from 3 compromised-password lists</a>, and the results are pretty interesting.</p>
<p>If an attacker can try just a single password against every user on your web application, <strong>he&#8217;ll compromise about 1% of them</strong>. Even with a fairly stringent 3-attempt lockout policy, about 2-3% of your users will be compromised.</p>
<p>More complex password requirements aren&#8217;t the answer here; many of the most popular passwords are at least 7 characters, and have 1 or more digits. Disallowing any passwords appearing on one of these lists would alleviate the issue, but seems like a pretty shoddy user-experience.</p>
<p>There is one way to prevent this site-wide brute force attack: <strong>do not give away a list of log-in usernames for your site! </strong>This attack only works if the attacker can enumerate all logins to your web app. This is an easy task for many sites, like Digg, where usernames are publicly plastered all over the site. Sites like Mint on the other hand, which use e-mail addresses for log-in, are immune.</p>
<p>The key point is that you should never reveal whether a particular e-mail/username is registered with your site. That means your &#8220;log-in failed&#8221; page should not indicate whether or not the username was correct, for example. If there is any way to determine if a given username is registered, an attacker can leverage that to pull off a site-wide brute force.</p>
<p>So, is your site enabling brute-force attacks? If so, now is the time to go change your architecture to stop this attack in its tracks.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.chriskite.com/2009/03/29/are-you-a-brute-force-enabler/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Haddock: Generate Memorable Passwords in Ruby</title>
		<link>http://www.chriskite.com/2009/03/29/haddock-generate-memorable-passwords-in-ruby/</link>
		<comments>http://www.chriskite.com/2009/03/29/haddock-generate-memorable-passwords-in-ruby/#comments</comments>
		<pubDate>Sun, 29 Mar 2009 22:03:13 +0000</pubDate>
		<dc:creator>Chris Kite</dc:creator>
				<category><![CDATA[Passwords]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[Ruby]]></category>

		<guid isPermaLink="false">http://chriskite.com/wordpress/?p=16</guid>
		<description><![CDATA[Newly released RubyGem Haddock offers to generate easy-to-remember passwords, but how secure are they?
Haddock-generated passwords are of the form {word}{number}{symbol}{word}, and are generated to be at-most as long as a user-specified length. So for example, an 8-character Haddock password might be &#8220;amy7@rax&#8221;.
For a relatively low-security password, like you might use for your Twitter account, this is [...]]]></description>
			<content:encoded><![CDATA[<p>Newly released RubyGem <a href="http://stephencelis.com/2009/03/29/whats-the-password-haddock.html" target="_blank">Haddock</a> offers to generate easy-to-remember passwords, but how secure are they?</p>
<p>Haddock-generated passwords are of the form {word}{number}{symbol}{word}, and are generated to be at-most as long as a user-specified length. So for example, an 8-character Haddock password might be &#8220;amy7@rax&#8221;.</p>
<p>For a relatively low-security password, like you might use for your Twitter account, this is probably fine. It is certainly easier to remember than a password chosen uniformly at random from the available password-space, but does this memorability comes at a cost?</p>
<p>Haddock uses the UNIX /usr/share/dict/words file, which as about 480,000 words total. If I ask Haddock for an 8 character password, I&#8217;m likely to get something with 2 3-character words, a single digit, and a single symbol. There are about 6,200 3-character words in the dict file, and Haddock uses 10 digits and 35 symbols. Therefore there are about 6200 * 10 * 35 * 6200 = 13,454,000,000 possible 8-character passwords that Haddock can generate.</p>
<p>Although this is several orders of magnitude less than a uniformly-random password, it seems to make an acceptable trade-off between security and ease-of-use for non-critical account passwords.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.chriskite.com/2009/03/29/haddock-generate-memorable-passwords-in-ruby/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
