<?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: A modified Nonce implementation</title>
	<atom:link href="http://bhavin.directi.com/a-modified-nonce-implementation/feed/" rel="self" type="application/rss+xml" />
	<link>http://bhavin.directi.com/a-modified-nonce-implementation/</link>
	<description></description>
	<lastBuildDate>Tue,  7 Sep 2010 09:45:29 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.1</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: fivefigers shoe</title>
		<link>http://bhavin.directi.com/a-modified-nonce-implementation/comment-page-1/#comment-16367</link>
		<dc:creator>fivefigers shoe</dc:creator>
		<pubDate>Thu, 15 Jul 2010 08:21:13 +0000</pubDate>
		<guid isPermaLink="false">http://bhavin.directi.com/?p=49#comment-16367</guid>
		<description>Although vibram flow walking over gravel in my Vibrams was a little vibram sprint uncomfortable, the rest of the hike was extremely fun and vibram fivefingers kso enjoyable. I am wanting to work out in my vibram 5fingers every day!Most of the vibram shoes sale, the fact that it is indeed more harm than good. The problem is that these shoes in order to “protect” in such a way that they should not be his leg. After the over-built five finger shoes muscles, tendons and ligaments of the lower limb atrophy conclusions. This is because your five fingers shoe do the work, your legs and feet should do.http://www.fivefingeronline.com/</description>
		<content:encoded><![CDATA[<p>Although vibram flow walking over gravel in my Vibrams was a little vibram sprint uncomfortable, the rest of the hike was extremely fun and vibram fivefingers kso enjoyable. I am wanting to work out in my vibram 5fingers every day!Most of the vibram shoes sale, the fact that it is indeed more harm than good. The problem is that these shoes in order to “protect” in such a way that they should not be his leg. After the over-built five finger shoes muscles, tendons and ligaments of the lower limb atrophy conclusions. This is because your five fingers shoe do the work, your legs and feet should do.http://www.fivefingeronline.com/</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: qerer</title>
		<link>http://bhavin.directi.com/a-modified-nonce-implementation/comment-page-1/#comment-15317</link>
		<dc:creator>qerer</dc:creator>
		<pubDate>Sun, 06 Dec 2009 13:55:12 +0000</pubDate>
		<guid isPermaLink="false">http://bhavin.directi.com/?p=49#comment-15317</guid>
		<description>I received my&lt;a href=&quot;http://www.mytobling.com/ugg-ultra-short-boots

-c-42.html&quot;&gt;&lt;strong&gt; ugg ultra short&lt;/strong&gt;&lt;/a&gt; today, very 

impressed. They are like sort of a massive slipper, soft, easy to 

wear and light.
GREAT &lt;a href=&quot;http://www.mytobling.com/ugg-ultra-tall-boots-c-

43.html&quot;&gt;&lt;strong&gt;ugg ultra tall&lt;/strong&gt;&lt;/a&gt; THANK YOU QUICK SERVICE.</description>
		<content:encoded><![CDATA[<p>I received my<a href="http://www.mytobling.com/ugg-ultra-short-boots</p>
<p>-c-42.html"><strong> ugg ultra short</strong></a> today, very </p>
<p>impressed. They are like sort of a massive slipper, soft, easy to </p>
<p>wear and light.<br />
GREAT <a href="http://www.mytobling.com/ugg-ultra-tall-boots-c-</p>
<p>43.html"><strong>ugg ultra tall</strong></a> THANK YOU QUICK SERVICE.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Bhavin Turakhia</title>
		<link>http://bhavin.directi.com/a-modified-nonce-implementation/comment-page-1/#comment-231</link>
		<dc:creator>Bhavin Turakhia</dc:creator>
		<pubDate>Wed, 10 Sep 2008 20:20:14 +0000</pubDate>
		<guid isPermaLink="false">http://bhavin.directi.com/?p=49#comment-231</guid>
		<description>@shreyas: actually this is something I am aware of. Most servers will not store a plaintext password. In this case it is assumed that the client will hash the plaintext password and then rehash the resulting hash with the nonce. In most cases one-way hashes on the server do not need salt. They are only meant to ensure someone looking at the hash cannot reverse engineer the password</description>
		<content:encoded><![CDATA[<p>@shreyas: actually this is something I am aware of. Most servers will not store a plaintext password. In this case it is assumed that the client will hash the plaintext password and then rehash the resulting hash with the nonce. In most cases one-way hashes on the server do not need salt. They are only meant to ensure someone looking at the hash cannot reverse engineer the password</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Shreyas Doshi</title>
		<link>http://bhavin.directi.com/a-modified-nonce-implementation/comment-page-1/#comment-212</link>
		<dc:creator>Shreyas Doshi</dc:creator>
		<pubDate>Sun, 07 Sep 2008 19:13:12 +0000</pubDate>
		<guid isPermaLink="false">http://bhavin.directi.com/?p=49#comment-212</guid>
		<description>Hey Bhavin - one assumption in this scheme is that the server has knowledge of the actual password. Its fine to make that assumption, but it does mean that this scheme cannot be used in a vast majority of cases. Most (good) authentication systems don&#039;t store the plaintext password on the server, but rather, a one-way hash of it (possibly with some salt).</description>
		<content:encoded><![CDATA[<p>Hey Bhavin &#8211; one assumption in this scheme is that the server has knowledge of the actual password. Its fine to make that assumption, but it does mean that this scheme cannot be used in a vast majority of cases. Most (good) authentication systems don&#8217;t store the plaintext password on the server, but rather, a one-way hash of it (possibly with some salt).</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Bhavin Turakhia</title>
		<link>http://bhavin.directi.com/a-modified-nonce-implementation/comment-page-1/#comment-199</link>
		<dc:creator>Bhavin Turakhia</dc:creator>
		<pubDate>Mon, 01 Sep 2008 07:42:30 +0000</pubDate>
		<guid isPermaLink="false">http://bhavin.directi.com/?p=49#comment-199</guid>
		<description>@cbas - this is a modified nonce implementation so let me explain / answer your queries.

firstly the timestamp is NOT only for minimizing collisions - it can be useful for many other scenarios described below.

one reason for expiry timestamps is to not have to store the nonce on the server. this reduces code complexity and enables clustering easily. for eg if you have a multiple server web cluster giving out these nonce&#039;s you will need to have a central store for the nonce incase the subsequent auth request goes to another server in the cluster (which btw is also the reason why memcached is the perfect store for nonce&#039;s incase you do choose to go with the server store method as opposed to the timestamp method)

additionally, there are more reasons for maintaining expiry time - which is preventing replay calls if the client call is lost. for eg, lets say a client sends a nonce request. the client&#039;s subsequent request is logged by a middle-man. for some reason the client call never reaches the server. now the server continues to store the nonce. subsequently the man-in-the-middle can send in this call a few minutes later with modified params. to avoid this - the server maintains an expiry - which means that the nonce can only be used within a time window. this once again makes memcached an excellent choice for the nonce store since memcached has a content-expiry field that can be set on any content and it will itself take care of the expiry

lastly offcourse even if there is no man-in-the-middle, we do not want the server caching thousands of nonce&#039;s forever if any rogue or broken clients request nonce&#039;s but never make the subsequent auth call</description>
		<content:encoded><![CDATA[<p>@cbas &#8211; this is a modified nonce implementation so let me explain / answer your queries.</p>
<p>firstly the timestamp is NOT only for minimizing collisions &#8211; it can be useful for many other scenarios described below.</p>
<p>one reason for expiry timestamps is to not have to store the nonce on the server. this reduces code complexity and enables clustering easily. for eg if you have a multiple server web cluster giving out these nonce&#8217;s you will need to have a central store for the nonce incase the subsequent auth request goes to another server in the cluster (which btw is also the reason why memcached is the perfect store for nonce&#8217;s incase you do choose to go with the server store method as opposed to the timestamp method)</p>
<p>additionally, there are more reasons for maintaining expiry time &#8211; which is preventing replay calls if the client call is lost. for eg, lets say a client sends a nonce request. the client&#8217;s subsequent request is logged by a middle-man. for some reason the client call never reaches the server. now the server continues to store the nonce. subsequently the man-in-the-middle can send in this call a few minutes later with modified params. to avoid this &#8211; the server maintains an expiry &#8211; which means that the nonce can only be used within a time window. this once again makes memcached an excellent choice for the nonce store since memcached has a content-expiry field that can be set on any content and it will itself take care of the expiry</p>
<p>lastly offcourse even if there is no man-in-the-middle, we do not want the server caching thousands of nonce&#8217;s forever if any rogue or broken clients request nonce&#8217;s but never make the subsequent auth call</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: cbas</title>
		<link>http://bhavin.directi.com/a-modified-nonce-implementation/comment-page-1/#comment-198</link>
		<dc:creator>cbas</dc:creator>
		<pubDate>Sun, 31 Aug 2008 19:36:52 +0000</pubDate>
		<guid isPermaLink="false">http://bhavin.directi.com/?p=49#comment-198</guid>
		<description>More information on this topic:
http://www.faqs.org/rfcs/rfc2831.html
http://technet.microsoft.com/en-us/library/cc780170.aspx</description>
		<content:encoded><![CDATA[<p>More information on this topic:<br />
<a href="http://www.faqs.org/rfcs/rfc2831.html" rel="nofollow">http://www.faqs.org/rfcs/rfc2831.html</a><br />
<a href="http://technet.microsoft.com/en-us/library/cc780170.aspx" rel="nofollow">http://technet.microsoft.com/en-us/library/cc780170.aspx</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: cbas</title>
		<link>http://bhavin.directi.com/a-modified-nonce-implementation/comment-page-1/#comment-197</link>
		<dc:creator>cbas</dc:creator>
		<pubDate>Sun, 31 Aug 2008 19:06:28 +0000</pubDate>
		<guid isPermaLink="false">http://bhavin.directi.com/?p=49#comment-197</guid>
		<description>Why the 10 second expiry? This creates a vulnerable window for replay attacks.

I think you&#039;re mixing up some concepts. The reason some implementations put a timestamp in the nonce is to minimise collisions of its randomness.

The server&#039;s challenge (nonce) should be single use, thereby eliminating replay attacks, or at least preventing them to the extent that the challenge is truly random and won&#039;t be repeated.

When the client requests a challenge, a copy of the challenge is kept in a store on the server. When the client responds the challenge is cleared from the server, preventing any replay attack since consecutive responses would not match any stored challenge.

Memcache is not a good idea for storing the nonce since it would create a race condition.</description>
		<content:encoded><![CDATA[<p>Why the 10 second expiry? This creates a vulnerable window for replay attacks.</p>
<p>I think you&#8217;re mixing up some concepts. The reason some implementations put a timestamp in the nonce is to minimise collisions of its randomness.</p>
<p>The server&#8217;s challenge (nonce) should be single use, thereby eliminating replay attacks, or at least preventing them to the extent that the challenge is truly random and won&#8217;t be repeated.</p>
<p>When the client requests a challenge, a copy of the challenge is kept in a store on the server. When the client responds the challenge is cleared from the server, preventing any replay attack since consecutive responses would not match any stored challenge.</p>
<p>Memcache is not a good idea for storing the nonce since it would create a race condition.</p>
]]></content:encoded>
	</item>
</channel>
</rss>

