<?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: J-PAKE: From Dining Cryptographers to Jugglers</title>
	<atom:link href="http://www.lightbluetouchpaper.org/2008/05/29/j-pake/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.lightbluetouchpaper.org/2008/05/29/j-pake/</link>
	<description>Security Research, Computer Laboratory, University of Cambridge</description>
	<pubDate>Thu, 11 Mar 2010 17:36:24 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.7.1</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: Feng Hao</title>
		<link>http://www.lightbluetouchpaper.org/2008/05/29/j-pake/comment-page-2/#comment-31180</link>
		<dc:creator>Feng Hao</dc:creator>
		<pubDate>Thu, 02 Jul 2009 13:19:33 +0000</pubDate>
		<guid isPermaLink="false">http://www.lightbluetouchpaper.org/?p=333#comment-31180</guid>
		<description>no - that's the short answer.

All these techniques SRP, EKE, SPEKE and J-PAKE work for the common goal, and only differ in the ways how to achieve it. SRP and SPEKE mandate the use of safe primes (for security reasons). EKE and J-PAKE don't have this limitation (nor does the original Diffie-Hellman protocol). EKE has the password information leakage issue, due to the fact that the password is too short to be used as a symmetric key securely.</description>
		<content:encoded><![CDATA[<p>no - that&#8217;s the short answer.</p>
<p>All these techniques SRP, EKE, SPEKE and J-PAKE work for the common goal, and only differ in the ways how to achieve it. SRP and SPEKE mandate the use of safe primes (for security reasons). EKE and J-PAKE don&#8217;t have this limitation (nor does the original Diffie-Hellman protocol). EKE has the password information leakage issue, due to the fact that the password is too short to be used as a symmetric key securely.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: none</title>
		<link>http://www.lightbluetouchpaper.org/2008/05/29/j-pake/comment-page-1/#comment-31179</link>
		<dc:creator>none</dc:creator>
		<pubDate>Thu, 02 Jul 2009 11:54:54 +0000</pubDate>
		<guid isPermaLink="false">http://www.lightbluetouchpaper.org/?p=333#comment-31179</guid>
		<description>Does this do something that SRP doesn't?</description>
		<content:encoded><![CDATA[<p>Does this do something that SRP doesn&#8217;t?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Feng Hao</title>
		<link>http://www.lightbluetouchpaper.org/2008/05/29/j-pake/comment-page-1/#comment-31081</link>
		<dc:creator>Feng Hao</dc:creator>
		<pubDate>Mon, 01 Jun 2009 19:10:46 +0000</pubDate>
		<guid isPermaLink="false">http://www.lightbluetouchpaper.org/?p=333#comment-31081</guid>
		<description>Hi Viet,

&gt; the problem is that nowadays password-based authentication systems do not have this kind of symmetric sharing of secret, but rather as one end knows the secret, and the other end knows just the value from a one-way function of that secret.

What the paper presents is a generic solution based on symmetric sharing of the secret. You can easily extend it: Let the server store H(server, password). In that case, the user enters the password and use s=h(server, password) to perform J-PAKE. (sometimes the hash also includes a salt.)

&gt; In such cases, your protocol suffers from the fact that the attacker doesn’t need to know the secret itself, but just the corresponding value and is able to do authentication.

yes, in the above case, the attacker doesn't need to know the password, but just need to know H(server, password). But then what? The fundamental assumption in this research field is that password is weak and subject to exhaustive search. If the attacker knows H(sever, password), he can compute password by exhaustive search.

&gt; There is something even worse about it: the attacker doesn’t need to know s, it is sufficient that he knows g^s which may be revealed somehow by the context.

I am not sure what'is the attacking scenario described here. But anyway, suppose the attacker knows g^s, then it's a given in analysis that he can compute s if s is low-entropy.

I think you're probably entering the arguments on whether augmented PAKE is better than balanced PAKE. If you think about it, you could realize that the benefits of the former are highly questionable (see the 3rd paragraph in P3 of the paper).

Of course, my main objection to the augmented PAKE is that it claims "server compromise resistance", but in fact fails to deliver. A false sense of security is worse than no security.</description>
		<content:encoded><![CDATA[<p>Hi Viet,</p>
<p>> the problem is that nowadays password-based authentication systems do not have this kind of symmetric sharing of secret, but rather as one end knows the secret, and the other end knows just the value from a one-way function of that secret.</p>
<p>What the paper presents is a generic solution based on symmetric sharing of the secret. You can easily extend it: Let the server store H(server, password). In that case, the user enters the password and use s=h(server, password) to perform J-PAKE. (sometimes the hash also includes a salt.)</p>
<p>> In such cases, your protocol suffers from the fact that the attacker doesn’t need to know the secret itself, but just the corresponding value and is able to do authentication.</p>
<p>yes, in the above case, the attacker doesn&#8217;t need to know the password, but just need to know H(server, password). But then what? The fundamental assumption in this research field is that password is weak and subject to exhaustive search. If the attacker knows H(sever, password), he can compute password by exhaustive search.</p>
<p>> There is something even worse about it: the attacker doesn’t need to know s, it is sufficient that he knows g^s which may be revealed somehow by the context.</p>
<p>I am not sure what&#8217;is the attacking scenario described here. But anyway, suppose the attacker knows g^s, then it&#8217;s a given in analysis that he can compute s if s is low-entropy.</p>
<p>I think you&#8217;re probably entering the arguments on whether augmented PAKE is better than balanced PAKE. If you think about it, you could realize that the benefits of the former are highly questionable (see the 3rd paragraph in P3 of the paper).</p>
<p>Of course, my main objection to the augmented PAKE is that it claims &#8220;server compromise resistance&#8221;, but in fact fails to deliver. A false sense of security is worse than no security.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Viet Pham</title>
		<link>http://www.lightbluetouchpaper.org/2008/05/29/j-pake/comment-page-1/#comment-31080</link>
		<dc:creator>Viet Pham</dc:creator>
		<pubDate>Mon, 01 Jun 2009 18:11:21 +0000</pubDate>
		<guid isPermaLink="false">http://www.lightbluetouchpaper.org/?p=333#comment-31080</guid>
		<description>As kme has pointed out, the problem is that nowadays password-based authentication systems do not have this kind of symmetric sharing of secret, but rather as one end knows the secret, and the other end knows just the value from a one-way function of that secret.

In such cases, your protocol suffers from the fact that  the attacker doesn't need to know the secret itself, but just the corresponding value and is able to do authentication. 

There is something even worse about it: the attacker doesn't need to know s, it is sufficient that he knows g^s which may be revealed somehow by the context.</description>
		<content:encoded><![CDATA[<p>As kme has pointed out, the problem is that nowadays password-based authentication systems do not have this kind of symmetric sharing of secret, but rather as one end knows the secret, and the other end knows just the value from a one-way function of that secret.</p>
<p>In such cases, your protocol suffers from the fact that  the attacker doesn&#8217;t need to know the secret itself, but just the corresponding value and is able to do authentication. </p>
<p>There is something even worse about it: the attacker doesn&#8217;t need to know s, it is sufficient that he knows g^s which may be revealed somehow by the context.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Feng Hao</title>
		<link>http://www.lightbluetouchpaper.org/2008/05/29/j-pake/comment-page-1/#comment-30583</link>
		<dc:creator>Feng Hao</dc:creator>
		<pubDate>Sun, 08 Feb 2009 11:32:35 +0000</pubDate>
		<guid isPermaLink="false">http://www.lightbluetouchpaper.org/?p=333#comment-30583</guid>
		<description>The Java demo code only gives an example of using 1024-bit p and 160-bit q for the key exchange - which gives 80-bit security. The parameters were taken from the DSA implementation in Sun's Java package. However, Sun only specifies up to 1024-bit modulus. 

For the prototyping purpose, that is fine. But for many real-world security applications, you may want to use at least 112-bit security.

To do that, simply replace the group parameters in the &lt;a href="http://haofeng66.googlepages.com/JPAKEDemo.java" rel="nofollow"&gt;Java code&lt;/a&gt; with the ones published in &lt;a href="http://csrc.nist.gov/groups/ST/toolkit/documents/Examples/DSA2_All.pdf" rel="nofollow"&gt;NIST DSA parameters&lt;/a&gt; (for 112-bit and 128-bit security). I've verified the values myself, and you're encouraged to do the same before adding to your code.</description>
		<content:encoded><![CDATA[<p>The Java demo code only gives an example of using 1024-bit p and 160-bit q for the key exchange - which gives 80-bit security. The parameters were taken from the DSA implementation in Sun&#8217;s Java package. However, Sun only specifies up to 1024-bit modulus. </p>
<p>For the prototyping purpose, that is fine. But for many real-world security applications, you may want to use at least 112-bit security.</p>
<p>To do that, simply replace the group parameters in the <a href="http://haofeng66.googlepages.com/JPAKEDemo.java" rel="nofollow">Java code</a> with the ones published in <a href="http://csrc.nist.gov/groups/ST/toolkit/documents/Examples/DSA2_All.pdf" rel="nofollow">NIST DSA parameters</a> (for 112-bit and 128-bit security). I&#8217;ve verified the values myself, and you&#8217;re encouraged to do the same before adding to your code.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Amri Shodiq</title>
		<link>http://www.lightbluetouchpaper.org/2008/05/29/j-pake/comment-page-1/#comment-30380</link>
		<dc:creator>Amri Shodiq</dc:creator>
		<pubDate>Fri, 09 Jan 2009 18:27:45 +0000</pubDate>
		<guid isPermaLink="false">http://www.lightbluetouchpaper.org/?p=333#comment-30380</guid>
		<description>This is really good information, since in my country Indonesia, we have only a little tutorial about cryptographic based security scheme.

I wrote about your protocol in my mother language: &lt;a href="http://www.amrishodiq.co.cc/password-authenticated-key-exchange/" rel="nofollow"&gt;Password Authenticated Key Exchange&lt;/a&gt;. Thanks.</description>
		<content:encoded><![CDATA[<p>This is really good information, since in my country Indonesia, we have only a little tutorial about cryptographic based security scheme.</p>
<p>I wrote about your protocol in my mother language: <a href="http://www.amrishodiq.co.cc/password-authenticated-key-exchange/" rel="nofollow">Password Authenticated Key Exchange</a>. Thanks.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Feng Hao</title>
		<link>http://www.lightbluetouchpaper.org/2008/05/29/j-pake/comment-page-1/#comment-29444</link>
		<dc:creator>Feng Hao</dc:creator>
		<pubDate>Mon, 30 Jun 2008 21:26:18 +0000</pubDate>
		<guid isPermaLink="false">http://www.lightbluetouchpaper.org/?p=333#comment-29444</guid>
		<description>The Java code for the J-PAKE demo is available (see the article). It would be helpful if someone could write a Javascript program for demonstrating the protocol execution more interactively. I'm not a Javascript guru.</description>
		<content:encoded><![CDATA[<p>The Java code for the J-PAKE demo is available (see the article). It would be helpful if someone could write a Javascript program for demonstrating the protocol execution more interactively. I&#8217;m not a Javascript guru.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Feng Hao</title>
		<link>http://www.lightbluetouchpaper.org/2008/05/29/j-pake/comment-page-1/#comment-29407</link>
		<dc:creator>Feng Hao</dc:creator>
		<pubDate>Thu, 26 Jun 2008 08:29:28 +0000</pubDate>
		<guid isPermaLink="false">http://www.lightbluetouchpaper.org/?p=333#comment-29407</guid>
		<description>kme,

Thanks for the good comments. I agree with you. In the paper, we didn't go down to the exact implementation detail as how to encode a password (normally 20-30 bits) to a number s (160 bits). As you correctly point out, some care needs to be taken if a hash is used. Still, I would prefer the simple concatenation for encoding (under the reasonable assumption that passwords are short strings).</description>
		<content:encoded><![CDATA[<p>kme,</p>
<p>Thanks for the good comments. I agree with you. In the paper, we didn&#8217;t go down to the exact implementation detail as how to encode a password (normally 20-30 bits) to a number s (160 bits). As you correctly point out, some care needs to be taken if a hash is used. Still, I would prefer the simple concatenation for encoding (under the reasonable assumption that passwords are short strings).</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: kme</title>
		<link>http://www.lightbluetouchpaper.org/2008/05/29/j-pake/comment-page-1/#comment-29404</link>
		<dc:creator>kme</dc:creator>
		<pubDate>Thu, 26 Jun 2008 00:39:50 +0000</pubDate>
		<guid isPermaLink="false">http://www.lightbluetouchpaper.org/?p=333#comment-29404</guid>
		<description>Well you would add the comment that iff the allowable passwords can be mapped onto the possible values of s such that at most one password maps to one value of s, only one password can be guessed per attempt.

Using a hash-derived value for s has the implication that the hash of the password becomes a valuable secret itself, which doesn't matter within the context of J-PAKE only but may affect interactions with other systems that assume hashes can be public.  An implementation would want to be careful in the way it salts the hash to avoid this.  (Just thinking out loud here).</description>
		<content:encoded><![CDATA[<p>Well you would add the comment that iff the allowable passwords can be mapped onto the possible values of s such that at most one password maps to one value of s, only one password can be guessed per attempt.</p>
<p>Using a hash-derived value for s has the implication that the hash of the password becomes a valuable secret itself, which doesn&#8217;t matter within the context of J-PAKE only but may affect interactions with other systems that assume hashes can be public.  An implementation would want to be careful in the way it salts the hash to avoid this.  (Just thinking out loud here).</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: synp</title>
		<link>http://www.lightbluetouchpaper.org/2008/05/29/j-pake/comment-page-1/#comment-29400</link>
		<dc:creator>synp</dc:creator>
		<pubDate>Wed, 25 Jun 2008 12:16:27 +0000</pubDate>
		<guid isPermaLink="false">http://www.lightbluetouchpaper.org/?p=333#comment-29400</guid>
		<description>Feng Hao,

EAP is used in wireless environments, but also in other things: it's used to carry passwords in IKE (RFC 4306) as well as things like L2TP clients.

A good password method would be very useful for these things.</description>
		<content:encoded><![CDATA[<p>Feng Hao,</p>
<p>EAP is used in wireless environments, but also in other things: it&#8217;s used to carry passwords in IKE (RFC 4306) as well as things like L2TP clients.</p>
<p>A good password method would be very useful for these things.</p>
]]></content:encoded>
	</item>
</channel>
</rss>
