<?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: Tableless and Secure One-Time Password (OTP)</title>
	<atom:link href="http://spacebug.com/tableless_secure_one_time_password/feed/" rel="self" type="application/rss+xml" />
	<link>http://spacebug.com/tableless_secure_one_time_password/</link>
	<description>Keeping Software Simple, Open and Pragmatic.</description>
	<lastBuildDate>Wed, 11 Jan 2012 01:15:39 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
	<item>
		<title>By: Amir Shevat</title>
		<link>http://spacebug.com/tableless_secure_one_time_password/comment-page-1/#comment-27058</link>
		<dc:creator>Amir Shevat</dc:creator>
		<pubDate>Fri, 12 Aug 2011 04:05:15 +0000</pubDate>
		<guid isPermaLink="false">#comment-27058</guid>
		<description>Hi Bill - Adding the user ID to the hash protects against OTP hijacking - without it an attacker can request and OTP for his user, then change the user ID to someone else and replace their password... adding the ID to the hash prevents that.</description>
		<content:encoded><![CDATA[<p>Hi Bill &#8211; Adding the user ID to the hash protects against OTP hijacking &#8211; without it an attacker can request and OTP for his user, then change the user ID to someone else and replace their password&#8230; adding the ID to the hash prevents that.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Saleh</title>
		<link>http://spacebug.com/tableless_secure_one_time_password/comment-page-1/#comment-27034</link>
		<dc:creator>Saleh</dc:creator>
		<pubDate>Thu, 11 Aug 2011 21:28:31 +0000</pubDate>
		<guid isPermaLink="false">#comment-27034</guid>
		<description>thanks amir, perfects</description>
		<content:encoded><![CDATA[<p>thanks amir, perfects</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Bill</title>
		<link>http://spacebug.com/tableless_secure_one_time_password/comment-page-1/#comment-24831</link>
		<dc:creator>Bill</dc:creator>
		<pubDate>Mon, 18 Jul 2011 02:50:41 +0000</pubDate>
		<guid isPermaLink="false">#comment-24831</guid>
		<description>Can you elaborate on how an attacker would change user context? Adding user id to the hash doesn&#039;t seem to add additional security to me.</description>
		<content:encoded><![CDATA[<p>Can you elaborate on how an attacker would change user context? Adding user id to the hash doesn&#8217;t seem to add additional security to me.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: seamoon_alice</title>
		<link>http://spacebug.com/tableless_secure_one_time_password/comment-page-1/#comment-4068</link>
		<dc:creator>seamoon_alice</dc:creator>
		<pubDate>Wed, 04 Aug 2010 07:53:38 +0000</pubDate>
		<guid isPermaLink="false">#comment-4068</guid>
		<description>Very interesting system, however it doesn’t completely isolate the problem of ’storing the state of the OTP’, basically the OTP lifespan is represented by the password of the user.
There are many places outside that area that needs an OTP that wouldn’t work with this logic.

This also means that even when you don’t need to store the OTP in the database during checks like in your case (which is very good), you still need the database to store the fact that the OTP is used up.

BUT (!) this means its an excellent solution for everything that is targeting a value in a database (could be something else like the email of the user). Nice article!</description>
		<content:encoded><![CDATA[<p>Very interesting system, however it doesn’t completely isolate the problem of ’storing the state of the OTP’, basically the OTP lifespan is represented by the password of the user.<br />
There are many places outside that area that needs an OTP that wouldn’t work with this logic.</p>
<p>This also means that even when you don’t need to store the OTP in the database during checks like in your case (which is very good), you still need the database to store the fact that the OTP is used up.</p>
<p>BUT (!) this means its an excellent solution for everything that is targeting a value in a database (could be something else like the email of the user). Nice article!</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Jahufar</title>
		<link>http://spacebug.com/tableless_secure_one_time_password/comment-page-1/#comment-219</link>
		<dc:creator>Jahufar</dc:creator>
		<pubDate>Mon, 24 May 2010 11:31:57 +0000</pubDate>
		<guid isPermaLink="false">#comment-219</guid>
		<description>Very clever - solves all the problems with securely resetting a hashed password in one fell swoop. 

Thanks for posting this!</description>
		<content:encoded><![CDATA[<p>Very clever &#8211; solves all the problems with securely resetting a hashed password in one fell swoop. </p>
<p>Thanks for posting this!</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Majic</title>
		<link>http://spacebug.com/tableless_secure_one_time_password/comment-page-1/#comment-211</link>
		<dc:creator>Majic</dc:creator>
		<pubDate>Sun, 23 May 2010 22:55:34 +0000</pubDate>
		<guid isPermaLink="false">#comment-211</guid>
		<description>very smart idea with clear instructions - I have bookmarked this for a future reread + full tryout

thanks very much :)</description>
		<content:encoded><![CDATA[<p>very smart idea with clear instructions &#8211; I have bookmarked this for a future reread + full tryout</p>
<p>thanks very much <img src='http://spacebug.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
	</item>
	<item>
		<title>By: T0aD</title>
		<link>http://spacebug.com/tableless_secure_one_time_password/comment-page-1/#comment-173</link>
		<dc:creator>T0aD</dc:creator>
		<pubDate>Fri, 21 May 2010 18:33:50 +0000</pubDate>
		<guid isPermaLink="false">#comment-173</guid>
		<description>Very interesting system, however it doesn&#039;t completely isolate the problem of &#039;storing the state of the OTP&#039;, basically the OTP lifespan is represented by the password of the user.
There are many places outside that area that needs an OTP that wouldn&#039;t work with this logic.

This also means that even when you don&#039;t need to store the OTP in the database during checks like in your case (which is very good), you still need the database to store the fact that the OTP is used up.

BUT (!) this means its an excellent solution for everything that is targeting a value in a database (could be something else like the email of the user). Nice article!</description>
		<content:encoded><![CDATA[<p>Very interesting system, however it doesn&#8217;t completely isolate the problem of &#8216;storing the state of the OTP&#8217;, basically the OTP lifespan is represented by the password of the user.<br />
There are many places outside that area that needs an OTP that wouldn&#8217;t work with this logic.</p>
<p>This also means that even when you don&#8217;t need to store the OTP in the database during checks like in your case (which is very good), you still need the database to store the fact that the OTP is used up.</p>
<p>BUT (!) this means its an excellent solution for everything that is targeting a value in a database (could be something else like the email of the user). Nice article!</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: anonymous</title>
		<link>http://spacebug.com/tableless_secure_one_time_password/comment-page-1/#comment-73</link>
		<dc:creator>anonymous</dc:creator>
		<pubDate>Sat, 10 Apr 2010 01:40:43 +0000</pubDate>
		<guid isPermaLink="false">#comment-73</guid>
		<description>thanks for this pretty clear and simple post on this topic, which is mostly known if  you look at &#039;attempts&#039; (i like yours a lot) by openid, twitter, fb auth etc...

But yeah, nice i love the numbered list description and outline of it thank you!</description>
		<content:encoded><![CDATA[<p>thanks for this pretty clear and simple post on this topic, which is mostly known if  you look at &#8216;attempts&#8217; (i like yours a lot) by openid, twitter, fb auth etc&#8230;</p>
<p>But yeah, nice i love the numbered list description and outline of it thank you!</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Amir Shevat</title>
		<link>http://spacebug.com/tableless_secure_one_time_password/comment-page-1/#comment-93</link>
		<dc:creator>Amir Shevat</dc:creator>
		<pubDate>Tue, 09 Feb 2010 11:54:41 +0000</pubDate>
		<guid isPermaLink="false">#comment-93</guid>
		<description>Thanks for your feedback!

The puzzle has 5 parts:
1) User (semi public)
2) Time (public)
3) User old password (super private)
4) Application salt (private)
5) hash function (public)

The Key is the old password - if you know the old password as a hacker then it is &#039;game over&#039; - You can just login and do whatever you want (like change the password and email in the account area). If you do not know the password then a combination of the password and the application salt should be a strong seed for the one time password. Right?

Cheers
Amir Shevat</description>
		<content:encoded><![CDATA[<p>Thanks for your feedback!</p>
<p>The puzzle has 5 parts:<br />
1) User (semi public)<br />
2) Time (public)<br />
3) User old password (super private)<br />
4) Application salt (private)<br />
5) hash function (public)</p>
<p>The Key is the old password &#8211; if you know the old password as a hacker then it is &#8216;game over&#8217; &#8211; You can just login and do whatever you want (like change the password and email in the account area). If you do not know the password then a combination of the password and the application salt should be a strong seed for the one time password. Right?</p>
<p>Cheers<br />
Amir Shevat</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: anonymous</title>
		<link>http://spacebug.com/tableless_secure_one_time_password/comment-page-1/#comment-92</link>
		<dc:creator>anonymous</dc:creator>
		<pubDate>Tue, 09 Feb 2010 11:25:36 +0000</pubDate>
		<guid isPermaLink="false">#comment-92</guid>
		<description>Amir - thanks for the heads up. This looks like a very clever solution!

I was initially concerned with the security, as;

I know the user I want to &quot;hack&quot;
I know today&#039;s date.
I might guess the old password

SO it is possible I know or guess most of the puzzle, and could generate my own hash to pass in along with my spoofed time.  Though I would think that the remaining salt and hash algorithm used should add enough variability to prevent such intrusions.

I am very interested to see some feedback from a security professional, because this looks like a great solution to a common need.</description>
		<content:encoded><![CDATA[<p>Amir &#8211; thanks for the heads up. This looks like a very clever solution!</p>
<p>I was initially concerned with the security, as;</p>
<p>I know the user I want to &#8220;hack&#8221;<br />
I know today&#8217;s date.<br />
I might guess the old password</p>
<p>SO it is possible I know or guess most of the puzzle, and could generate my own hash to pass in along with my spoofed time.  Though I would think that the remaining salt and hash algorithm used should add enough variability to prevent such intrusions.</p>
<p>I am very interested to see some feedback from a security professional, because this looks like a great solution to a common need.</p>
]]></content:encoded>
	</item>
</channel>
</rss>

