<?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: New(er) in the Lab: HashMask &#8211; Another (More Secure!) Experiment in Password Hashing</title>
	<atom:link href="http://blog.arc90.com/2009/07/09/newer-in-the-lab-hashmask-another-more-secure-experiment-in-password-hashing/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.arc90.com/2009/07/09/newer-in-the-lab-hashmask-another-more-secure-experiment-in-password-hashing/</link>
	<description>Web Application Design &#38; Development</description>
	<lastBuildDate>Fri, 03 Feb 2012 03:55:36 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
	<item>
		<title>By: BitShifter</title>
		<link>http://blog.arc90.com/2009/07/09/newer-in-the-lab-hashmask-another-more-secure-experiment-in-password-hashing/#comment-9662</link>
		<dc:creator>BitShifter</dc:creator>
		<pubDate>Sun, 03 Oct 2010 14:04:28 +0000</pubDate>
		<guid isPermaLink="false">http://blog.daniell.acr90-dev-02/2009/07/09/newer-in-the-lab-hashmask-another-more-secure-experiment-in-password-hashing/#comment-9662</guid>
		<description>I agree with Nick and similar commenters.  By producing a sequence of sparklines you have effectively given the attacker an oracle for confirming each individual character in sequence.  Assuming a slow typist, one will have an image for each keystroke.   Add to this, basic shouldersurfing techniques and the ability to recover a password will be greatly enhanced.  If you can remember even just the quadrant of the keyboard that a key came from, you now have a whole lot of information.

As for hashing the password together with the account, you still have the same situation.  The account name is not private information.  One could enter the account and then watch for the sequence of sparklines that the attacker saw.

Only showing the hash after X number of characters would strengthen this, however, you still end up with an oracle for when you get the prefix right.  Again, adding a little rudimentary shouldersurfing and the search space for the attacker becomes much smaller.

A button that the user could press to display the final sparkline would give the user feedback that their password is correct, and since it is not returning this information at each keystroke, the information leak would be minimal.  A shouldersurfing attack would degenerate to it&#039;s current difficulty.</description>
		<content:encoded><![CDATA[<p>I agree with Nick and similar commenters.  By producing a sequence of sparklines you have effectively given the attacker an oracle for confirming each individual character in sequence.  Assuming a slow typist, one will have an image for each keystroke.   Add to this, basic shouldersurfing techniques and the ability to recover a password will be greatly enhanced.  If you can remember even just the quadrant of the keyboard that a key came from, you now have a whole lot of information.</p>
<p>As for hashing the password together with the account, you still have the same situation.  The account name is not private information.  One could enter the account and then watch for the sequence of sparklines that the attacker saw.</p>
<p>Only showing the hash after X number of characters would strengthen this, however, you still end up with an oracle for when you get the prefix right.  Again, adding a little rudimentary shouldersurfing and the search space for the attacker becomes much smaller.</p>
<p>A button that the user could press to display the final sparkline would give the user feedback that their password is correct, and since it is not returning this information at each keystroke, the information leak would be minimal.  A shouldersurfing attack would degenerate to it&#8217;s current difficulty.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Nick</title>
		<link>http://blog.arc90.com/2009/07/09/newer-in-the-lab-hashmask-another-more-secure-experiment-in-password-hashing/#comment-9661</link>
		<dc:creator>Nick</dc:creator>
		<pubDate>Sun, 03 Oct 2010 02:18:41 +0000</pubDate>
		<guid isPermaLink="false">http://blog.daniell.acr90-dev-02/2009/07/09/newer-in-the-lab-hashmask-another-more-secure-experiment-in-password-hashing/#comment-9661</guid>
		<description>One security improvement for public situations would be to only begin generating the images AFTER the minimum password length for the site is hit (maybe showing it sooner is part of the usability discussion I missed though).

In a public situation with a slow typer (I know quite a few), an onlooker could theoretically watch and recognize the set of images that lead up to the final password if there was enough time for an image after each character. They could then reconstruct the password by going in sequence until they get each image at the right time. 

I realize it&#039;s a long-shot, but I don&#039;t know that it compromises the usability much for a small increase in security, since all feasible password lengths generate the image (plus, it tells users that their password is out of bounds if they type one that&#039;s too short).

Should be quick to add - I&#039;ll probably do so on my own sites.</description>
		<content:encoded><![CDATA[<p>One security improvement for public situations would be to only begin generating the images AFTER the minimum password length for the site is hit (maybe showing it sooner is part of the usability discussion I missed though).</p>
<p>In a public situation with a slow typer (I know quite a few), an onlooker could theoretically watch and recognize the set of images that lead up to the final password if there was enough time for an image after each character. They could then reconstruct the password by going in sequence until they get each image at the right time. </p>
<p>I realize it&#8217;s a long-shot, but I don&#8217;t know that it compromises the usability much for a small increase in security, since all feasible password lengths generate the image (plus, it tells users that their password is out of bounds if they type one that&#8217;s too short).</p>
<p>Should be quick to add &#8211; I&#8217;ll probably do so on my own sites.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Django</title>
		<link>http://blog.arc90.com/2009/07/09/newer-in-the-lab-hashmask-another-more-secure-experiment-in-password-hashing/#comment-9602</link>
		<dc:creator>Django</dc:creator>
		<pubDate>Tue, 07 Sep 2010 22:03:03 +0000</pubDate>
		<guid isPermaLink="false">http://blog.daniell.acr90-dev-02/2009/07/09/newer-in-the-lab-hashmask-another-more-secure-experiment-in-password-hashing/#comment-9602</guid>
		<description>It&#039;s a cool looking tool, but I think Apple does it best when they show each character as you type it, and then hide it when you type the next. There is a JavaScript for this too. Basically, a hidden input and a text input is created in place lf each password field. The hidden input is filled with the password as it&#039;s typed, and stored in the text input using jQuery&#039;s data() function. Meanwhile, the text is replaced by bullet points.</description>
		<content:encoded><![CDATA[<p>It&#8217;s a cool looking tool, but I think Apple does it best when they show each character as you type it, and then hide it when you type the next. There is a JavaScript for this too. Basically, a hidden input and a text input is created in place lf each password field. The hidden input is filled with the password as it&#8217;s typed, and stored in the text input using jQuery&#8217;s data() function. Meanwhile, the text is replaced by bullet points.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: butterfree</title>
		<link>http://blog.arc90.com/2009/07/09/newer-in-the-lab-hashmask-another-more-secure-experiment-in-password-hashing/#comment-9489</link>
		<dc:creator>butterfree</dc:creator>
		<pubDate>Thu, 05 Aug 2010 13:24:23 +0000</pubDate>
		<guid isPermaLink="false">http://blog.daniell.acr90-dev-02/2009/07/09/newer-in-the-lab-hashmask-another-more-secure-experiment-in-password-hashing/#comment-9489</guid>
		<description>the username should be hashed as well so a user won&#039;t recognize when another user has the same password as them.</description>
		<content:encoded><![CDATA[<p>the username should be hashed as well so a user won&#8217;t recognize when another user has the same password as them.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Alex</title>
		<link>http://blog.arc90.com/2009/07/09/newer-in-the-lab-hashmask-another-more-secure-experiment-in-password-hashing/#comment-3131</link>
		<dc:creator>Alex</dc:creator>
		<pubDate>Sat, 03 Apr 2010 12:58:40 +0000</pubDate>
		<guid isPermaLink="false">http://blog.daniell.acr90-dev-02/2009/07/09/newer-in-the-lab-hashmask-another-more-secure-experiment-in-password-hashing/#comment-3131</guid>
		<description>While the final sparkline is irreversible and will take reasonable forever to obtain a password from it, for slow-typers the attacker will gain a sequence of forms and colors, thus making the breaking task easier</description>
		<content:encoded><![CDATA[<p>While the final sparkline is irreversible and will take reasonable forever to obtain a password from it, for slow-typers the attacker will gain a sequence of forms and colors, thus making the breaking task easier</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: zack kitzmiller</title>
		<link>http://blog.arc90.com/2009/07/09/newer-in-the-lab-hashmask-another-more-secure-experiment-in-password-hashing/#comment-1382</link>
		<dc:creator>zack kitzmiller</dc:creator>
		<pubDate>Fri, 12 Feb 2010 21:09:54 +0000</pubDate>
		<guid isPermaLink="false">http://blog.daniell.acr90-dev-02/2009/07/09/newer-in-the-lab-hashmask-another-more-secure-experiment-in-password-hashing/#comment-1382</guid>
		<description>I think line 63 should be changed to:

            $(&#039;body&#039;).append($sparkline);

I&#039;m not sure why you&#039;d want to attach it to the form, it could get crazy with position:absolute, if the form is heavily stylized.</description>
		<content:encoded><![CDATA[<p>I think line 63 should be changed to:</p>
<p>            $(&#8216;body&#8217;).append($sparkline);</p>
<p>I&#8217;m not sure why you&#8217;d want to attach it to the form, it could get crazy with position:absolute, if the form is heavily stylized.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: David Leppik</title>
		<link>http://blog.arc90.com/2009/07/09/newer-in-the-lab-hashmask-another-more-secure-experiment-in-password-hashing/#comment-1315</link>
		<dc:creator>David Leppik</dc:creator>
		<pubDate>Fri, 22 Jan 2010 16:28:10 +0000</pubDate>
		<guid isPermaLink="false">http://blog.daniell.acr90-dev-02/2009/07/09/newer-in-the-lab-hashmask-another-more-secure-experiment-in-password-hashing/#comment-1315</guid>
		<description>Have you considered using Chernoff faces instead of sparklines? They are a good visualization technique for making random numbers memorable.  Examples: 
http://mathworld.wolfram.com/ChernoffFace.html

Another thing to keep in mind is that the password is typed in a predictable order, so you leak information as you type.  In particular, the first sparkline probably gives away the first character.

If I were to re-implement this idea, I&#039;d do the following:

1. No feedback for the first 4-6 characters.

2. Limit the hash size to limit the data leak. Following up on another commenter, I might limit the hash space to around 100 images.  Or I might make it a fraction of the number of characters.

3.  Use Chernoff faces or some other image source that human brains are really good at recognizing.

4.  Keep the color.  For me, the color is more memorable than the sparkline.  You could even change the input field background.</description>
		<content:encoded><![CDATA[<p>Have you considered using Chernoff faces instead of sparklines? They are a good visualization technique for making random numbers memorable.  Examples:<br />
<a href="http://mathworld.wolfram.com/ChernoffFace.html" rel="nofollow">http://mathworld.wolfram.com/ChernoffFace.html</a></p>
<p>Another thing to keep in mind is that the password is typed in a predictable order, so you leak information as you type.  In particular, the first sparkline probably gives away the first character.</p>
<p>If I were to re-implement this idea, I&#8217;d do the following:</p>
<p>1. No feedback for the first 4-6 characters.</p>
<p>2. Limit the hash size to limit the data leak. Following up on another commenter, I might limit the hash space to around 100 images.  Or I might make it a fraction of the number of characters.</p>
<p>3.  Use Chernoff faces or some other image source that human brains are really good at recognizing.</p>
<p>4.  Keep the color.  For me, the color is more memorable than the sparkline.  You could even change the input field background.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Luis</title>
		<link>http://blog.arc90.com/2009/07/09/newer-in-the-lab-hashmask-another-more-secure-experiment-in-password-hashing/#comment-1272</link>
		<dc:creator>Luis</dc:creator>
		<pubDate>Sun, 03 Jan 2010 12:29:34 +0000</pubDate>
		<guid isPermaLink="false">http://blog.daniell.acr90-dev-02/2009/07/09/newer-in-the-lab-hashmask-another-more-secure-experiment-in-password-hashing/#comment-1272</guid>
		<description>Hi,

I use Lotus Notes 8 and the feedback is no longer hieroglyphs but just random icons. It is extremely helpful because I know whenever I am typing a wrong password before hitting enter.

Too bad it is not used anywhere else...

    Luis.</description>
		<content:encoded><![CDATA[<p>Hi,</p>
<p>I use Lotus Notes 8 and the feedback is no longer hieroglyphs but just random icons. It is extremely helpful because I know whenever I am typing a wrong password before hitting enter.</p>
<p>Too bad it is not used anywhere else&#8230;</p>
<p>    Luis.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Peter Capek</title>
		<link>http://blog.arc90.com/2009/07/09/newer-in-the-lab-hashmask-another-more-secure-experiment-in-password-hashing/#comment-1224</link>
		<dc:creator>Peter Capek</dc:creator>
		<pubDate>Fri, 11 Dec 2009 01:09:05 +0000</pubDate>
		<guid isPermaLink="false">http://blog.daniell.acr90-dev-02/2009/07/09/newer-in-the-lab-hashmask-another-more-secure-experiment-in-password-hashing/#comment-1224</guid>
		<description>I saw the description of HashMask and was going to comment here about Lotus Notes&#039; similar idea, but I see Carl Joseph has beaten me to it.    I no longer use Notes, but during the time that I did (several years), I never found these hieroglyphics very helpful.  Perhaps they provide some feedback to a few users, but everyone I ever discussed it with ignored them.    I&#039;m almost certain that IBM/Lotus has a patent on this idea, but I don&#039;t know how broad the claims are.   Inventor is probably Ray Ozzie.</description>
		<content:encoded><![CDATA[<p>I saw the description of HashMask and was going to comment here about Lotus Notes&#8217; similar idea, but I see Carl Joseph has beaten me to it.    I no longer use Notes, but during the time that I did (several years), I never found these hieroglyphics very helpful.  Perhaps they provide some feedback to a few users, but everyone I ever discussed it with ignored them.    I&#8217;m almost certain that IBM/Lotus has a patent on this idea, but I don&#8217;t know how broad the claims are.   Inventor is probably Ray Ozzie.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Carl Joseph</title>
		<link>http://blog.arc90.com/2009/07/09/newer-in-the-lab-hashmask-another-more-secure-experiment-in-password-hashing/#comment-1219</link>
		<dc:creator>Carl Joseph</dc:creator>
		<pubDate>Sat, 05 Dec 2009 09:35:14 +0000</pubDate>
		<guid isPermaLink="false">http://blog.daniell.acr90-dev-02/2009/07/09/newer-in-the-lab-hashmask-another-more-secure-experiment-in-password-hashing/#comment-1219</guid>
		<description>I hate to drag up old technology, but Lotus Notes has been doing this for quite a while. The password prompt displays a random number of Xs for each keystroke and also provides some &quot;hieroglyphics&quot; alongside. Here is an animated example: http://www.codinghorror.com/blog/images/lotus-notes-login-dialog-animated.gif

The hieroglyphics act as a subconscious check that you&#039;re typing your password correctly. Similar to the hash visualisation used by HashMask.

This is a nice idea and I hope it becomes a standard feature in browsers.</description>
		<content:encoded><![CDATA[<p>I hate to drag up old technology, but Lotus Notes has been doing this for quite a while. The password prompt displays a random number of Xs for each keystroke and also provides some &#8220;hieroglyphics&#8221; alongside. Here is an animated example: <a href="http://www.codinghorror.com/blog/images/lotus-notes-login-dialog-animated.gif" rel="nofollow">http://www.codinghorror.com/blog/images/lotus-notes-login-dialog-animated.gif</a></p>
<p>The hieroglyphics act as a subconscious check that you&#8217;re typing your password correctly. Similar to the hash visualisation used by HashMask.</p>
<p>This is a nice idea and I hope it becomes a standard feature in browsers.</p>
]]></content:encoded>
	</item>
</channel>
</rss>

