<?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: Secure per-site passwords with no encrypted blob</title>
	<atom:link href="http://blogs.fluidinfo.com/terry/2013/02/03/secure-per-site-passwords-with-no-encrypted-blob/feed/" rel="self" type="application/rss+xml" />
	<link>http://blogs.fluidinfo.com/terry/2013/02/03/secure-per-site-passwords-with-no-encrypted-blob/</link>
	<description>Random thoughts on tech, books, programming, etc.</description>
	<lastBuildDate>Wed, 15 May 2013 10:42:00 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.5.1</generator>
	<item>
		<title>By: terrycojones</title>
		<link>http://blogs.fluidinfo.com/terry/2013/02/03/secure-per-site-passwords-with-no-encrypted-blob/comment-page-1/#comment-3351</link>
		<dc:creator>terrycojones</dc:creator>
		<pubDate>Tue, 05 Feb 2013 13:24:00 +0000</pubDate>
		<guid isPermaLink="false">http://blogs.fluidinfo.com/terry/?p=1101#comment-3351</guid>
		<description><![CDATA[Thanks Brandon, I&#039;ll have a look.]]></description>
		<content:encoded><![CDATA[<p>Thanks Brandon, I&#8217;ll have a look.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: terrycojones</title>
		<link>http://blogs.fluidinfo.com/terry/2013/02/03/secure-per-site-passwords-with-no-encrypted-blob/comment-page-1/#comment-3352</link>
		<dc:creator>terrycojones</dc:creator>
		<pubDate>Tue, 05 Feb 2013 13:24:00 +0000</pubDate>
		<guid isPermaLink="false">http://blogs.fluidinfo.com/terry/?p=1101#comment-3352</guid>
		<description><![CDATA[Thanks Richard, I&#039;ll go look.]]></description>
		<content:encoded><![CDATA[<p>Thanks Richard, I&#8217;ll go look.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: terrycojones</title>
		<link>http://blogs.fluidinfo.com/terry/2013/02/03/secure-per-site-passwords-with-no-encrypted-blob/comment-page-1/#comment-3350</link>
		<dc:creator>terrycojones</dc:creator>
		<pubDate>Tue, 05 Feb 2013 13:23:00 +0000</pubDate>
		<guid isPermaLink="false">http://blogs.fluidinfo.com/terry/?p=1101#comment-3350</guid>
		<description><![CDATA[Hi David.  That&#039;s a good question :-)   I guess the only answer is that you&#039;d need to choose a different service name for that site (because, as you say, changing your master password would be bad).  But that further highlights the need for some kind of management of the service names you&#039;ve used for sites. I don&#039;t like that at all, as I guess is clear - that&#039;s why I say this is a good (hard) question.


Another thing which I find very impractical about this approach is that once you start using a version of this code, it&#039;s very hard to upgrade to another version. Again, you&#039;d want metadata stored elsewhere to keep some idea of state.


Thanks for commenting!]]></description>
		<content:encoded><![CDATA[<p>Hi David.  That&#8217;s a good question :-)   I guess the only answer is that you&#8217;d need to choose a different service name for that site (because, as you say, changing your master password would be bad).  But that further highlights the need for some kind of management of the service names you&#8217;ve used for sites. I don&#8217;t like that at all, as I guess is clear &#8211; that&#8217;s why I say this is a good (hard) question.</p>
<p>Another thing which I find very impractical about this approach is that once you start using a version of this code, it&#8217;s very hard to upgrade to another version. Again, you&#8217;d want metadata stored elsewhere to keep some idea of state.</p>
<p>Thanks for commenting!</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: David Avraamides</title>
		<link>http://blogs.fluidinfo.com/terry/2013/02/03/secure-per-site-passwords-with-no-encrypted-blob/comment-page-1/#comment-3349</link>
		<dc:creator>David Avraamides</dc:creator>
		<pubDate>Tue, 05 Feb 2013 13:09:00 +0000</pubDate>
		<guid isPermaLink="false">http://blogs.fluidinfo.com/terry/?p=1101#comment-3349</guid>
		<description><![CDATA[What if your password expires on one site? How do you change one password without changing the &quot;secret&quot; and therefore changing all passwords?]]></description>
		<content:encoded><![CDATA[<p>What if your password expires on one site? How do you change one password without changing the &#8220;secret&#8221; and therefore changing all passwords?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: trendels</title>
		<link>http://blogs.fluidinfo.com/terry/2013/02/03/secure-per-site-passwords-with-no-encrypted-blob/comment-page-1/#comment-3348</link>
		<dc:creator>trendels</dc:creator>
		<pubDate>Tue, 05 Feb 2013 08:19:00 +0000</pubDate>
		<guid isPermaLink="false">http://blogs.fluidinfo.com/terry/?p=1101#comment-3348</guid>
		<description><![CDATA[Good point. Unfortunately, that means you now have to save the salt between invocations, if I&#039;m not mistaken. You&#039;ll also need the same salt value on every computer you want to generate passwords on (instead of only the same algorithm), and when you lose it, you lose access to all your passwords. I wonder if there&#039;s a better way?]]></description>
		<content:encoded><![CDATA[<p>Good point. Unfortunately, that means you now have to save the salt between invocations, if I&#8217;m not mistaken. You&#8217;ll also need the same salt value on every computer you want to generate passwords on (instead of only the same algorithm), and when you lose it, you lose access to all your passwords. I wonder if there&#8217;s a better way?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Brandon Rhodes</title>
		<link>http://blogs.fluidinfo.com/terry/2013/02/03/secure-per-site-passwords-with-no-encrypted-blob/comment-page-1/#comment-3345</link>
		<dc:creator>Brandon Rhodes</dc:creator>
		<pubDate>Mon, 04 Feb 2013 14:36:00 +0000</pubDate>
		<guid isPermaLink="false">http://blogs.fluidinfo.com/terry/?p=1101#comment-3345</guid>
		<description><![CDATA[Note that http://passwordmaker.org/ implements this idea with several competing implementations for many different platforms, and with more secure cryptographic options than the simple hash(secret + message) that you do here. PasswordMaker Pro, the Chrome extension, is the particular implementation of its standard that I recommend that people use.]]></description>
		<content:encoded><![CDATA[<p>Note that <a href="http://passwordmaker.org/" rel="nofollow">http://passwordmaker.org/</a> implements this idea with several competing implementations for many different platforms, and with more secure cryptographic options than the simple hash(secret + message) that you do here. PasswordMaker Pro, the Chrome extension, is the particular implementation of its standard that I recommend that people use.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: terrycojones</title>
		<link>http://blogs.fluidinfo.com/terry/2013/02/03/secure-per-site-passwords-with-no-encrypted-blob/comment-page-1/#comment-3341</link>
		<dc:creator>terrycojones</dc:creator>
		<pubDate>Mon, 04 Feb 2013 02:01:00 +0000</pubDate>
		<guid isPermaLink="false">http://blogs.fluidinfo.com/terry/?p=1101#comment-3341</guid>
		<description><![CDATA[Thanks Christian. I&#039;d not heard of key stretching. I&#039;ll go look...]]></description>
		<content:encoded><![CDATA[<p>Thanks Christian. I&#8217;d not heard of key stretching. I&#8217;ll go look&#8230;</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Christian Heimes</title>
		<link>http://blogs.fluidinfo.com/terry/2013/02/03/secure-per-site-passwords-with-no-encrypted-blob/comment-page-1/#comment-3339</link>
		<dc:creator>Christian Heimes</dc:creator>
		<pubDate>Mon, 04 Feb 2013 00:56:00 +0000</pubDate>
		<guid isPermaLink="false">http://blogs.fluidinfo.com/terry/?p=1101#comment-3339</guid>
		<description><![CDATA[Never ever do something like hashfunc(secret + message)! This is insecure and open to several attack vectors like length extension attacks. At least you want to use a 

message authentication code algorithm like HMAC. If you want to reach a minimum level of security, than add a salt from a proper CPRNG and use a key stretching or key derivation algorithm like PBKDF2. The master passwords has most likely not enough entropy. A key stretching algorithms compensates it a bit.]]></description>
		<content:encoded><![CDATA[<p>Never ever do something like hashfunc(secret + message)! This is insecure and open to several attack vectors like length extension attacks. At least you want to use a </p>
<p>message authentication code algorithm like HMAC. If you want to reach a minimum level of security, than add a salt from a proper CPRNG and use a key stretching or key derivation algorithm like PBKDF2. The master passwords has most likely not enough entropy. A key stretching algorithms compensates it a bit.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Richard Moore</title>
		<link>http://blogs.fluidinfo.com/terry/2013/02/03/secure-per-site-passwords-with-no-encrypted-blob/comment-page-1/#comment-3338</link>
		<dc:creator>Richard Moore</dc:creator>
		<pubDate>Sun, 03 Feb 2013 22:24:00 +0000</pubDate>
		<guid isPermaLink="false">http://blogs.fluidinfo.com/terry/?p=1101#comment-3338</guid>
		<description><![CDATA[Yeah, that would be a lot safer.]]></description>
		<content:encoded><![CDATA[<p>Yeah, that would be a lot safer.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: terrycojones</title>
		<link>http://blogs.fluidinfo.com/terry/2013/02/03/secure-per-site-passwords-with-no-encrypted-blob/comment-page-1/#comment-3337</link>
		<dc:creator>terrycojones</dc:creator>
		<pubDate>Sun, 03 Feb 2013 22:08:00 +0000</pubDate>
		<guid isPermaLink="false">http://blogs.fluidinfo.com/terry/?p=1101#comment-3337</guid>
		<description><![CDATA[Hi Richard. Thanks. I originally wrote the code using hmac but then thought I didn&#039;t need to worry about length extensions. I guess you&#039;re right to be concerned though, and also I later thought that I might want to use service names like &quot;gmail&quot; and &quot;gmail-work&quot; or whatever.  So, I should probably revert :-)]]></description>
		<content:encoded><![CDATA[<p>Hi Richard. Thanks. I originally wrote the code using hmac but then thought I didn&#8217;t need to worry about length extensions. I guess you&#8217;re right to be concerned though, and also I later thought that I might want to use service names like &#8220;gmail&#8221; and &#8220;gmail-work&#8221; or whatever.  So, I should probably revert :-)</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Richard Moore</title>
		<link>http://blogs.fluidinfo.com/terry/2013/02/03/secure-per-site-passwords-with-no-encrypted-blob/comment-page-1/#comment-3336</link>
		<dc:creator>Richard Moore</dc:creator>
		<pubDate>Sun, 03 Feb 2013 21:26:00 +0000</pubDate>
		<guid isPermaLink="false">http://blogs.fluidinfo.com/terry/?p=1101#comment-3336</guid>
		<description><![CDATA[Looking at the &#039;how it works&#039; page for this tool it looks like this is broken too.]]></description>
		<content:encoded><![CDATA[<p>Looking at the &#8216;how it works&#8217; page for this tool it looks like this is broken too.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Pekka Klärck</title>
		<link>http://blogs.fluidinfo.com/terry/2013/02/03/secure-per-site-passwords-with-no-encrypted-blob/comment-page-1/#comment-3335</link>
		<dc:creator>Pekka Klärck</dc:creator>
		<pubDate>Sun, 03 Feb 2013 21:22:00 +0000</pubDate>
		<guid isPermaLink="false">http://blogs.fluidinfo.com/terry/?p=1101#comment-3335</guid>
		<description><![CDATA[You might also consider running `pip install oplop` and/or visiting https://oplop.appspot.com/.]]></description>
		<content:encoded><![CDATA[<p>You might also consider running `pip install oplop` and/or visiting <a href="https://oplop.appspot.com/" rel="nofollow">https://oplop.appspot.com/</a>.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Richard Moore</title>
		<link>http://blogs.fluidinfo.com/terry/2013/02/03/secure-per-site-passwords-with-no-encrypted-blob/comment-page-1/#comment-3333</link>
		<dc:creator>Richard Moore</dc:creator>
		<pubDate>Sun, 03 Feb 2013 20:49:00 +0000</pubDate>
		<guid isPermaLink="false">http://blogs.fluidinfo.com/terry/?p=1101#comment-3333</guid>
		<description><![CDATA[With your scheme if you ever sign into a local service say for the sake of example &#039;www&#039; then you will be generating a password that can be used to workout all passwords for sites that start with www. The hash output can be used as input for a length extensions attack (due to the way these hashes work). The risk is mitigated to an extent by the fact that the password is a truncated form of the hash as you only take the first 32 bytes of the digest, but that means that the remaining search space for a brute force attack is tiny. If you want to look into doing something like this, take a look at things like HMAC which are designed to prevent this kind of extension attack.]]></description>
		<content:encoded><![CDATA[<p>With your scheme if you ever sign into a local service say for the sake of example &#8216;www&#8217; then you will be generating a password that can be used to workout all passwords for sites that start with www. The hash output can be used as input for a length extensions attack (due to the way these hashes work). The risk is mitigated to an extent by the fact that the password is a truncated form of the hash as you only take the first 32 bytes of the digest, but that means that the remaining search space for a brute force attack is tiny. If you want to look into doing something like this, take a look at things like HMAC which are designed to prevent this kind of extension attack.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: terrycojones</title>
		<link>http://blogs.fluidinfo.com/terry/2013/02/03/secure-per-site-passwords-with-no-encrypted-blob/comment-page-1/#comment-3332</link>
		<dc:creator>terrycojones</dc:creator>
		<pubDate>Sun, 03 Feb 2013 20:15:00 +0000</pubDate>
		<guid isPermaLink="false">http://blogs.fluidinfo.com/terry/?p=1101#comment-3332</guid>
		<description><![CDATA[Hi Petter.  Yes, that&#039;s the same thing, pretty much, thanks for the pointer!  I&#039;m going to edit the text above to point people to SGP.]]></description>
		<content:encoded><![CDATA[<p>Hi Petter.  Yes, that&#8217;s the same thing, pretty much, thanks for the pointer!  I&#8217;m going to edit the text above to point people to SGP.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Petter Häggholm</title>
		<link>http://blogs.fluidinfo.com/terry/2013/02/03/secure-per-site-passwords-with-no-encrypted-blob/comment-page-1/#comment-3331</link>
		<dc:creator>Petter Häggholm</dc:creator>
		<pubDate>Sun, 03 Feb 2013 19:49:00 +0000</pubDate>
		<guid isPermaLink="false">http://blogs.fluidinfo.com/terry/?p=1101#comment-3331</guid>
		<description><![CDATA[Have you looked into SuperGenPass? [http://supergenpass.com/]]]></description>
		<content:encoded><![CDATA[<p>Have you looked into SuperGenPass? [http://supergenpass.com/]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Tigors</title>
		<link>http://blogs.fluidinfo.com/terry/2013/02/03/secure-per-site-passwords-with-no-encrypted-blob/comment-page-1/#comment-3330</link>
		<dc:creator>Tigors</dc:creator>
		<pubDate>Sun, 03 Feb 2013 19:38:00 +0000</pubDate>
		<guid isPermaLink="false">http://blogs.fluidinfo.com/terry/?p=1101#comment-3330</guid>
		<description><![CDATA[Great idea!  Have to think about the problem solution. At least i&#039;ll do it for myself .
Thanks :)]]></description>
		<content:encoded><![CDATA[<p>Great idea!  Have to think about the problem solution. At least i&#8217;ll do it for myself .<br />
Thanks :)</p>
]]></content:encoded>
	</item>
</channel>
</rss>
