From: [email-masked]
Date: Mon, 22 Apr 2002 14:13:12 -0500 (CDT)

[131.107.8.8])
	by dns2.anl.gov (8.9.1a/8.9.1) with ESMTP id NAA08383
	for <[email-masked]>; Mon, 22 Apr 2002 13:00:21 -0500 (CDT)
Received: from DF-VRS-01.redmond.corp.microsoft.com ([157.54.4.14]) by
df-inet1.exchange.microsoft.com with Microsoft SMTPSVC(5.0.2195.5255);
	 Mon, 22 Apr 2002 11:00:24 -0700
Received: from 10.197.0.60 by DF-VRS-01.redmond.corp.microsoft.com (InterScan E-Mail
VirusWall NT); Mon, 22 Apr 2002 10:58:52 -0700
Received: from DF-SPIKE.platinum.corp.microsoft.com ([10.197.1.14]) by
DF-YURI.platinum.corp.microsoft.com with Microsoft SMTPSVC(5.0.2195.4905);
	 Mon, 22 Apr 2002 10:59:45 -0700
X-MimeOLE: Produced By Microsoft Exchange V6.0.6177.0
content-class: urn:content-classes:message
MIME-Version: 1.0
Content-Type: multipart/mixed;
	boundary="------------InterScan_NT_MIME_Boundary"
Subject: Question on subjectPublicKey in KdcDHKeyInfo.
Date: Mon, 22 Apr 2002 10:59:45 -0700
Message-ID: <[email-masked]>
Thread-Topic: Question on subjectPublicKey in KdcDHKeyInfo.
Thread-Index: AcHqJ33ON8BcWsVGRDemVfsOnRpLlw==
From: "Kok Wai Chan" <[email-masked]>
To: <[email-masked]>
X-OriginalArrivalTime: 22 Apr 2002 17:59:45.0693 (UTC) FILETIME=[7C86FCD0:01C1EA27]
Sender: [email-masked]
Precedence: bulk

This is a multi-part message in MIME format.

--------------InterScan_NT_MIME_Boundary
Content-Type: multipart/alternative;
	boundary="----_=_NextPart_001_01C1EA27.7C5A31D1"

------_=_NextPart_001_01C1EA27.7C5A31D1
Content-Type: text/plain;
	charset="us-ascii"
Content-Transfer-Encoding: quoted-printable

		Looking at the PKINIT RFC (
http://www.ietf.org/internet-drafts/draft-ietf-cat-kerberos-pk-init-15.t
xt) that expires on May 25, 2002...
		=20
		For the response generation for DH case, from the RFC:

		"The type of the ContentInfo in the dhSignedData is
SignedData.
		    Its usage is as follows:
	=09
		        When the Diffie-Hellman option is used,
dhSignedData in
		        PA-PK-AS-REP provides authenticated
Diffie-Hellman parameters
		        of the KDC.  The reply key used to encrypt part
of the KDC reply
		        message is derived from the Diffie-Hellman
exchange:
	=09
		        1.  Both the KDC and the client calculate a
secret value
		            (g^ab mod p), where a is the client's
private exponent and
		            b is the KDC's private exponent."
		..."

		and it goes on talking about KdcDHKeyInfo:

		"KdcDHKeyInfo ::=3D SEQUENCE {
		                              -- used only when
utilizing Diffie-Hellman
		      subjectPublicKey      [0] BIT STRING,
		                                -- Equals public
exponent (g^a mod p)
		                                -- INTEGER encoded as
payload of
		                                -- BIT STRING"
		=20
		Question is why does the KDC put back the client's
public key.  Shouldn't the KDC be putting its own public key, which is
g^b mod p?

		Thank you.
		Kok Wai Chan

------_=_NextPart_001_01C1EA27.7C5A31D1
Content-Type: text/html;
	charset="us-ascii"
Content-Transfer-Encoding: quoted-printable

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML>
<HEAD>
<META HTTP-EQUIV=3D"Content-Type" CONTENT=3D"text/html; =
charset=3Dus-ascii">
<META NAME=3D"Generator" CONTENT=3D"MS Exchange Server version =
6.0.6177.0">
<TITLE>Question on subjectPublicKey in KdcDHKeyInfo.</TITLE>
</HEAD>
<BODY>
<!-- Converted from text/rtf format -->
<UL><UL>
<P ALIGN=3DLEFT><SPAN LANG=3D"en-us">Looking at the PKINIT RFC ( =
</SPAN><A =
HREF=3D"http://www.ietf.org/internet-drafts/draft-ietf-cat-kerberos-pk-in=
it-15.txt"><SPAN LANG=3D"en-us"><U><FONT =
COLOR=3D"#0000FF">http://www.ietf.org/internet-drafts/draft-ietf-cat-kerb=
eros-pk-init-15.txt</FONT></U></SPAN><SPAN =
LANG=3D"en-us"></SPAN></A><SPAN LANG=3D"en-us">) that expires on May 25, =
2002...</SPAN></P>

<P ALIGN=3DLEFT><SPAN LANG=3D"en-us">&nbsp;</SPAN></P>

<P ALIGN=3DLEFT><SPAN LANG=3D"en-us">For the response generation for DH =
case, from the RFC:</SPAN></P>

<P ALIGN=3DLEFT><SPAN LANG=3D"en-us">&quot;The type of the ContentInfo =
in the dhSignedData is SignedData.<BR>
&nbsp;&nbsp;&nbsp; Its usage is as follows:<BR>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; When the Diffie-Hellman =
option is used, dhSignedData in<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; PA-PK-AS-REP provides =
authenticated Diffie-Hellman parameters<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; of the KDC.&nbsp; The reply =
key used to encrypt part of the KDC reply<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; message is derived from the =
Diffie-Hellman exchange:<BR>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1.&nbsp;<B> Both the KDC and =
the client calculate a secret value</B><B><BR>
</B><B>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=
 (g^ab mod p), where a is the client's private exponent and</B><B><BR>
</B><B>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=
 b is the KDC's private exponent.&quot;</B><BR>
...&#8221;</SPAN></P>

<P ALIGN=3DLEFT><SPAN LANG=3D"en-us">and it goes on talking =
about</SPAN><SPAN LANG=3D"en-us"> <FONT =
SIZE=3D2>KdcDHKeyInfo:</FONT></SPAN><SPAN LANG=3D"en-us"></SPAN><SPAN =
LANG=3D"en-us"></SPAN></P>

<P ALIGN=3DLEFT><SPAN LANG=3D"en-us"><FONT =
SIZE=3D2>&quot;</FONT></SPAN><SPAN LANG=3D"en-us">KdcDHKeyInfo ::=3D =
SEQUENCE {<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&n=
bsp;&nbsp;&nbsp;&nbsp;&nbsp; -- used only when utilizing =
Diffie-Hellman<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; =
subjectPublicKey&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; [0] BIT STRING,<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&n=
bsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -- Equals public exponent<B><U> =
(g^a mod p)</U></B><B><U><BR>
</U></B>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp=
;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -- INTEGER encoded as =
payload of<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&n=
bsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -- BIT STRING&quot;</SPAN></P>

<P ALIGN=3DLEFT><SPAN LANG=3D"en-us">&nbsp;</SPAN></P>

<P ALIGN=3DLEFT><SPAN LANG=3D"en-us">Question is why does the KDC put =
back the client's public key.&nbsp; Shouldn't the KDC be putting its own =
public key, which is g^b mod p?</SPAN></P>
<BR>

<P ALIGN=3DLEFT><SPAN LANG=3D"en-us">Thank you.</SPAN></P>

<P ALIGN=3DLEFT><SPAN LANG=3D"en-us">Kok Wai Chan</SPAN></P>
</UL></UL>
</BODY>
</HTML>
------_=_NextPart_001_01C1EA27.7C5A31D1--

--------------InterScan_NT_MIME_Boundary--