Subject: Re: Some -15 comments

From: [email-masked] ("Hal Finney")
Date: Wed, 30 Nov 2005 10:52:50 -0800 (PST)

> >> I am not sure. But in either case, as far as immediate modifications to the
> >> standard text are concerned, this "a note..." part should be removed from
> >> the definition of 0x80, because it means something that 0x80 definitely
> >> doesn't. Whether or not to add that text someplace else is  an entirely
> >> different question.
>
> > Is this rough consensus?
>
> I concur.

I agree as well.

Hal Finney

To: [email-masked]
Subject: Re: Some -15 comments
Date: Wed, 30 Nov 2005 10:52:50 -0800 (PST)
From: [email-masked] ("Hal Finney")
Sender: [email-masked]

> >> I am not sure. But in either case, as far as immediate modifications to the
> >> standard text are concerned, this "a note..." part should be removed from
> >> the definition of 0x80, because it means something that 0x80 definitely
> >> doesn't. Whether or not to add that text someplace else is  an entirely
> >> different question.
>
> > Is this rough consensus?
>
> I concur.

I agree as well.

Hal Finney

From: Werner Koch <[email-masked]>
To: [email-masked]
Subject: Re: Some -15 comments
Organisation: g10 Code GmbH
OpenPGP: id=5B0358A2; url=finger:[email-masked]
Date: Wed, 30 Nov 2005 17:20:55 +0100
Sender: [email-masked]

On Wed, 30 Nov 2005 10:47:25 -0500, David Shaw said:

>> I am not sure. But in either case, as far as immediate modifications to the
>> standard text are concerned, this "a note..." part should be removed from
>> the definition of 0x80, because it means something that 0x80 definitely
>> doesn't. Whether or not to add that text someplace else is  an entirely
>> different question.

> Is this rough consensus?

I concur.

Salam-Shalom,

   Werner

Date: Wed, 30 Nov 2005 11:13:56 -0500
From: David Shaw <[email-masked]>
To: [email-masked]
Subject: Some -15 text nits
Mail-Followup-To: [email-masked]
OpenPGP: id=99242560; url=http://www.jabberwocky.com/david/keys.asc
Sender: [email-masked]

These are just some fiddly language nits for -15.  Nothing terribly
controversial I hope.

******

The "IANA Considerations" section in the beginning of the draft
contains this:

 Instead requests to define new tag values (say for new encryption
 algorithms for example) should be forwarded to the IESG Security Area
 Directors for consideration or forwarding to the appropriate IETF
 Working Group for consideration.

"forwarded... or forwarding" doesn't parse very well.  I suggest:

 Instead, requests to define new tag values (say for new encryption
 algorithms) should be forwarded to the IESG Security Area Directors
 or the appropriate IETF Working Group for consideration.

******

Section 3.7.1. String-to-key (S2K) specifier types, refers to S2K
value 2 as "illegal".  Everywhere else in the document, such
do-not-use values are referred to as "reserved".

******

Section 3.7.2.1. Secret key encryption says "For compatibility, when
an S2K specifier is used, the special value 255 is stored in the
position where the hash algorithm octet would have been in the old
data structure.".  I suggest changing that to read "... the special
value 255 or 254 ..." since 254 is a legal value there, as the table
immediately after that paragraph makes clear.

******

Section 3.7.2.1. Secret key encryption, and section 5.3. Symmetric-Key
Encrypted Session Key Packets refer to "passphrase" as "pass phrase".
This is inconsistent with the rest of the document which always uses
"passphrase".

******

Section 4.2.2.4. Partial Body Lengths has a paragraph that begins "It
might also be encoded..."  That doesn't make sense since there is no
"it" that the sentence refers to.  I believe that paragaph belongs in
the following section (4.2.3. Packet Length Examples), as the "it" in
question refers to the example "packet with length 100000" from 4.2.3.

******

In section 5.2.1. Signature Types, the signature class 0x18
description says "This signature is calculated directly on the subkey
itself, not on any User ID or other packets", but in fact 0x18
signatures are calculated on the primary key plus subkey.  Similarly,
the 0x19 description says "This signature is calculated directly on
the primary key itself, and not on any User ID or other packets", but
in reality it is calculated exactly the same way as 0x18 is
(primary+subkey).

To be sure, 5.2.4 gets this right, and 5.2.1 defers to 5.2.4, but it
would still be nice to not give two different answers for this.

******

5.2.2. Version 3 Signature Packet Format says "The hash h is PKCS-1
padded exactly the same way as for the above described RSA
signatures".  This doesn't really make sense as there is no
description of RSA signatures above.

David

Date: Wed, 30 Nov 2005 16:50:13 +0100
To: Ian G <[email-masked]>
Cc: Ben Laurie <[email-masked]>, OpenPGP <[email-masked]>
Subject: Re: Lack of clarity in dash-escaped?
From: [email-masked] (Daniel A. Nagy)
Sender: [email-masked]

On Wed, Nov 30, 2005 at 02:55:55PM +0000, Ian G wrote:

> I think what you mean is that the whitespace
> should not be included in the calculation,
> but it doesn't matter whether they are stripped
> from the document itself.

Yes, that is precisely what I mean.
 
> It is an issue, yes.  We discussed this a while
> back and came to the conclusion that *only* ascii
> whitespace was to be stripped/ignored, as the
> alternate was too hard to define.  That's why
> the specific characters to be stripped are in
> the spec - to stop people looking for cyrillic
> spaces or different sized spaces.

Unfortunately, unlike canonical ascii, there is no one-to-one correspondence
between unicode characters and glyph visuals. It would be nice to have some
canonical form for unicode text which is human-readable, yet has a unique
binary representation, but it's not easy and not the job of this WG, IMHO.

-- 
Daniel

Date: Wed, 30 Nov 2005 10:47:25 -0500
From: David Shaw <[email-masked]>
To: [email-masked]
Subject: Re: Some -15 comments
Mail-Followup-To: [email-masked]
OpenPGP: id=99242560; url=http://www.jabberwocky.com/david/keys.asc
Sender: [email-masked]

On Wed, Nov 16, 2005 at 03:07:20AM +0100, Daniel A. Nagy wrote:

> As for the subject of our discussion, I think that we all agree that the
> spec for 0x80 should be stripped of "a note from one person to another..."
> bit., because one major implementation does not treat it that way.
> 
> The only disagreement seems to be whether "a note from one person to
> another" should be retained as an interoperable feature or should it be
> delegated to private notation namespace.
> 
> The disadvantage of the  latter approach would be that various implementers
> would (possibly) implement this same semantics with a host of different
> notation names and won't interoperate.
> 
> Now, I can see that implementing the former using a type flag also causes
> problems. Maybe, it should be a common, ITEF-namespace notation? Or an
> entirely separate subpacket type akin to "reason for revocation"?
> 
> I am not sure. But in either case, as far as immediate modifications to the
> standard text are concerned, this "a note..." part should be removed from
> the definition of 0x80, because it means something that 0x80 definitely
> doesn't. Whether or not to add that text someplace else is  an entirely
> different question.

Is this rough consensus?

David

Date: Wed, 30 Nov 2005 14:55:55 +0000
From: Ian G <[email-masked]>
Organization: http://financialcryptography.com/
To: "Daniel A. Nagy" <[email-masked]>
Cc: Ben Laurie <[email-masked]>, OpenPGP <[email-masked]>
Subject: Re: Lack of clarity in dash-escaped?
Sender: [email-masked]

Daniel A. Nagy wrote:
> On Wed, Nov 30, 2005 at 01:35:38PM +0000, Ben Laurie wrote:
> 
>>Daniel A. Nagy wrote:
>>
>>>On Wed, Nov 30, 2005 at 10:40:40AM +0000, Ben Laurie wrote:
>>>
>>>>Does this mean they should not be included in the signature, or also
>>>>that they should be stripped from the dash-escaped text?
>>>
>>>It doesn't matter.
>>
>>Of course it matters!
> 
> 
> No, it does not. Either way, the signature will verify. It is up to the
> implementation to strip or not to strip empty line endings. It can even
> change them (e.g. add a few spaces and tabs after some of the line endings).

I think what you mean is that the whitespace
should not be included in the calculation,
but it doesn't matter whether they are stripped
from the document itself.

> Canonization is an idempotent operation. Documents that are the same after
> canonization are considered identical as far as text signaures go.

(I've always seen it written as canonicalisation
or canonicalization.)  So the question is whether
we canonicalise the document or simply canonicalise
the signature processing.  I think the answer is
that it is open to the application.

> For pure ascii text, a printed clearsigned document, if typed back in, should
> verify. Unfortunately, with unicode this is no longer the case, as there is a
> whole bunch of different letters that look exactly the same (e.g. "o" and
> "о" -- the latin and cyrillic "o", repsectively). Actually, this is problem
> for legal applications.

It is an issue, yes.  We discussed this a while
back and came to the conclusion that *only* ascii
whitespace was to be stripped/ignored, as the
alternate was too hard to define.  That's why
the specific characters to be stripped are in
the spec - to stop people looking for cyrillic
spaces or different sized spaces.

iang

Date: Wed, 30 Nov 2005 06:54:21 -0800
To: <[email-masked]>
Cc: 
Subject: Re: Lack of clarity in dash-escaped?
From: <[email-masked]>
Sender: [email-masked]

On Wed, 30 Nov 2005 06:09:21 -0800 Ian G <[email-masked]> 
wrote:

>Looking back through old signed contracts it appears
>that Cryptix adds an extra line always but PGP 5.5
>does not, and GPG does not unless needed (see checks
>below).

pgp commandline (all versions) does not add the extra line

gnupg does not

but all clearsigned texts using any gui pgp version
does have an extra line added between the end of the text and the 
signature block

it might cause backward incompatibility/confusion
if it became mandatory one way or the other

vedaal

Concerned about your privacy? Instantly send FREE secure email, no account required
http://www.hushmail.com/send?l=480

Get the best prices on SSL certificates from Hushmail
https://www.hushssl.com?l=485

Date: Wed, 30 Nov 2005 09:32:58 -0500
From: David Shaw <[email-masked]>
To: OpenPGP <[email-masked]>
Subject: Re: Lack of clarity in dash-escaped?
Mail-Followup-To: OpenPGP <[email-masked]>
OpenPGP: id=99242560; url=http://www.jabberwocky.com/david/keys.asc
Sender: [email-masked]

On Wed, Nov 30, 2005 at 10:40:40AM +0000, Ben Laurie wrote:
> 
> "   Also, any trailing whitespace -- spaces (0x20) and tabs (0x09) -- at
>     the end of any line is removed when the cleartext signature is
>     generated."
> 
> Does this mean they should not be included in the signature, or also
> that they should be stripped from the dash-escaped text?

A goal of cleartext signatures is that they can survive this sort of
whitespace mangling in transport, so it's actually unimportant if the
whitespace is removed from the dash-escaped text or not.  Either way,
they are not part of the signature, so even implementations that
differ on this point can still verify each others signatures.

> "   The line ending (i.e. the <CR><LF>) before the '-----BEGIN PGP
>     SIGNATURE-----' line that terminates the signed text is not
>     considered part of the signed text."
> 
> Does this mean that one should insert an extra <CR><LF> before the
> terminating line? I notice that at least some implementations do not.

I think always writing an extra CRLF is the wrong thing to do, if it
is not present in the original document.  The text from the draft here
just says that the last CRLF (the CRLF that is required to be put the
BEGIN PGP SIGNATURE line at beginning of a line) in the document is
not part of the signed text.

As I see it, reasonable behavior here would be to copy in the original
document (with line ending conversion done) faithfully, then add the
terminating "CRLF-----BEGIN PGP SIGNATURE".  If the last line of the
original document had a line ending (transformed to CRLF here), then
the clearsigned result would include it in the hash and the output:

  this is my last line of text  <-- there was an existing CRLF here
  <--- this is the CRLF from "CRLF-----BEGIN PGP SIGNATURE"
  -----BEGIN PGP SIGNATURE-----

In this case, the hash ends with "this is my last line of textCRLF".

If the last line of the original document didn't have a line ending,
then there would be no blank line, as the CRLF from ----BEGIN PGP
SIGNATURE----- effectively ends that line.

  this is my last line of text  <--- this is the CRLF from "CRLF-----BEGIN PGP SIGNATURE"
  -----BEGIN PGP SIGNATURE-----

In this case, the hash ends with "this is my last line of text" (no
CRLF).

This preserves the existence (or not) of the final line ending in the
clearsigned document.

David

Date: Wed, 30 Nov 2005 14:33:07 +0000
From: Ian G <[email-masked]>
Organization: http://financialcryptography.com/
To: Ben Laurie <[email-masked]>
Cc: OpenPGP <[email-masked]>
Subject: Re: Lack of clarity in dash-escaped?
Sender: [email-masked]

Ben Laurie wrote:
> As it is, since I think the idea of stripping them is stupid, I don't
> really care either way, but it would be good if the document were clear.

The issue that it is meant to solve is that
many applications end up adding whitespace
to the ends of lines.  Not just mailers, but
editors, cut&paste, etc.

So the "do not include trailing whitespace"
is an attempt to make the cleartext signature
more robust within the text world it inhabits.
For me, it is a good feature, it makes the
contracts that I send around more reliable;
but always recognising that there are limits
to this game, as the same tools that do this
also do silly things like slicing up lines
and doubling up on newlines.

>>I suppose the above text could change "generated"
>>to "calculated" to make it clearer?  That is, if
>>my interpretation is the consensus.
> 
> 
> I think you have to say "...at the end of the line is not included in
> the signature calculation" to remove the ambiguity (if leaving them in
> the text is intended).

I agree with that.  So I'd agree that this
is a late change that might slip in before
the end if we still have time (always looking
over shoulder to see if the final date is
about to run us over...):

     Also, any trailing whitespace -- spaces (0x20) and tabs (0x09) -- at
     the end of any line is not included in the signature calculation."

Maybe add:

     It is an application decision whether to remove trailing whitespace.

(or maybe not.  This horse has died so many times.)

> No - what you are proposing is not reversible. Always adding a <CR><LF>
> _is_ reversable.

Right.  See response to Daniel, who pointed out
the fuller understanding.  So if that is the rule,
we need:

     The line ending (i.e. the <CR><LF>) before the '-----BEGIN PGP
     SIGNATURE-----' line that terminates the signed text is not
     considered part of the signed text."

to change to:

     On signing, a line ending (i.e. the <CR><LF>) is always
     inserted at the end and before the '-----BEGIN PGP
     SIGNATURE-----' line that terminates the signed text.
     This line ending is not part of the signed text nor the
     signature calculation.  It should be stripped when the
     signature is verified and an unsigned document revealed.

Or somesuch.  But I'd like to hear from some of
the old timers to hear whether that is the rule
here.  The alternative is that we simply define
the document as always having a trailing newline,
and that may be non-reversable.

iang

Date: Wed, 30 Nov 2005 14:09:21 +0000
From: Ian G <[email-masked]>
Organization: http://financialcryptography.com/
To: "Daniel A. Nagy" <[email-masked]>
Cc: Ben Laurie <[email-masked]>, OpenPGP <[email-masked]>
Subject: Re: Lack of clarity in dash-escaped?
Sender: [email-masked]

Daniel A. Nagy wrote:

> Yes, it does. The '-----BEGIN PGP SIGNATURE-----' must begin in a new line.
> The line termination before it is not part of the signature. AFAIK, all
> implementations treat it that way.

It does?  I stand corrected.  I see what you are
getting at - some documents will not have a newline
on (mostly application/windows style documents) and
then it will need to have that added.  Which creates
a problem in deciding whether one was added or not
afterwards when stripping the signature.

Hmmm...

Looking back through old signed contracts it appears
that Cryptix adds an extra line always but PGP 5.5
does not, and GPG does not unless needed (see checks
below).

OK, so clarification needed.  What is the rule here -
when is a line added:

     - always?

     - only when needed to correct the line based content?

Well spotted, Ben!

iang

==================== GPG does not add a line unless needed!

galland$ gpg -at --sign -u DSS3 moo
gpg: WARNING: using insecure memory!
gpg: please see http://www.gnupg.org/faq.html for more information

You need a passphrase to unlock the secret key for
user: "Ian Grigg DSS3 <[email-masked]>"
1024-bit DSA key, ID DABCCA96, created 2000-03-26

galland$ cat moo.asc

one
two
galland$ cat moo
one
two
galland$ dd if=moo of=poo bs=1 count=7
7+0 records in
7+0 records out
7 bytes transferred in 0.000147 secs (47585 bytes/sec)
galland$ cat poo
one
twogalland$ gpg -at --sign -u DSS3 poo
gpg: WARNING: using insecure memory!
gpg: please see http://www.gnupg.org/faq.html for more information

You need a passphrase to unlock the secret key for
user: "Ian Grigg DSS3 <[email-masked]>"
1024-bit DSA key, ID DABCCA96, created 2000-03-26

galland$ cat poo.asc

one
two
galland$ cat poo
one
twogalland$

Date: Wed, 30 Nov 2005 15:05:33 +0100
To: Ian G <[email-masked]>
Cc: Ben Laurie <[email-masked]>, OpenPGP <[email-masked]>
Subject: Re: Lack of clarity in dash-escaped?
From: [email-masked] (Daniel A. Nagy)
Sender: [email-masked]

On Wed, Nov 30, 2005 at 01:19:31PM +0000, Ian G wrote:

> This is an artifact of the old days where
> optimisations were cute, and it was I suppose
> considered smart to save on calculating over the
> last newline.  It is particularly dumb, because
> everything else about the job is line based,
> but this is an exception with no value other
> than creating an exception and thus annoying
> the coders.  None that I ever heard, leastways.

I disagree. The current system allows for texts where the last line has no
line ending. It means, that signed text files can be converted back and
forth between clear-signed and one-pass signed representations, without
losing the signature. This is a very neat feature of OpenPGP, that still
makes a lot of sense.

The following implementation actually uses it (requires java plugin):
http://pgp.epointsystem.org/tool

Unlike hushmail, it does not encrypt clearsigned documents, but if you
decrypt a signed text message, it will output the clearsigned version, which
you can verify. See http://pgp.epointsystem.org/tool-help for usage.

-- 
Daniel

Date: Wed, 30 Nov 2005 14:58:12 +0100
To: Ben Laurie <[email-masked]>
Cc: OpenPGP <[email-masked]>
Subject: Re: Lack of clarity in dash-escaped?
From: [email-masked] (Daniel A. Nagy)
Sender: [email-masked]

On Wed, Nov 30, 2005 at 01:35:38PM +0000, Ben Laurie wrote:
> Daniel A. Nagy wrote:
> > On Wed, Nov 30, 2005 at 10:40:40AM +0000, Ben Laurie wrote:
> >> Does this mean they should not be included in the signature, or also
> >> that they should be stripped from the dash-escaped text?
> > 
> > It doesn't matter.
> 
> Of course it matters!

No, it does not. Either way, the signature will verify. It is up to the
implementation to strip or not to strip empty line endings. It can even
change them (e.g. add a few spaces and tabs after some of the line endings).

Canonization is an idempotent operation. Documents that are the same after
canonization are considered identical as far as text signaures go.

For pure ascii text, a printed clearsigned document, if typed back in, should
verify. Unfortunately, with unicode this is no longer the case, as there is a
whole bunch of different letters that look exactly the same (e.g. "o" and
"о" -- the latin and cyrillic "o", repsectively). Actually, this is problem
for legal applications.

-- 
Daniel

Date: Wed, 30 Nov 2005 13:42:34 +0000
From: Ben Laurie <[email-masked]>
To: Ian G <[email-masked]>
CC: OpenPGP <[email-masked]>
Subject: Re: Lack of clarity in dash-escaped?
Sender: [email-masked]

Ian G wrote:
> Ben Laurie wrote:
>> "   Also, any trailing whitespace -- spaces (0x20) and tabs (0x09) -- at
>>     the end of any line is removed when the cleartext signature is
>>     generated."
>>
>> Does this mean they should not be included in the signature, or also
>> that they should be stripped from the dash-escaped text?
> 
> 
> They should not be included in the signature
> calculations.  It is an open question as to
> whether they should stripped from the text or
> not, up to each application.  I would;  but
> Jon has posted on good reasons why it is not
> the job of the application to change the doc
> that is being processed (signed).

I would agree, if you ended up signing the unchanged document :-)

As it is, since I think the idea of stripping them is stupid, I don't
really care either way, but it would be good if the document were clear.

> I suppose the above text could change "generated"
> to "calculated" to make it clearer?  That is, if
> my interpretation is the consensus.

I think you have to say "...at the end of the line is not included in
the signature calculation" to remove the ambiguity (if leaving them in
the text is intended).

> 
>> "   The line ending (i.e. the <CR><LF>) before the '-----BEGIN PGP
>>     SIGNATURE-----' line that terminates the signed text is not
>>     considered part of the signed text."
>>
>> Does this mean that one should insert an extra <CR><LF> before the
>> terminating line? I notice that at least some implementations do not.
> 
> No, there is no need to insert anything, just
> not include the <CR><LF> that must preceed the
> '-----' line in the signature calculation.  In
> this case I would say that there definately
> should not be an extra line ending inserted,
> as that is changing the document in a way that
> is not reversable.

No - what you are proposing is not reversible. Always adding a <CR><LF>
_is_ reversable.

Cheers,

Ben.

-- 
http://www.apache-ssl.org/ben.html       http://www.thebunker.net/
**  ApacheCon - Dec 10-14th - San Diego - http://apachecon.com/ **
"There is no limit to what a man can do or how far he can go if he
doesn't mind who gets the credit." - Robert Woodruff

Date: Wed, 30 Nov 2005 13:35:38 +0000
From: Ben Laurie <[email-masked]>
To: "Daniel A. Nagy" <[email-masked]>
CC: OpenPGP <[email-masked]>
Subject: Re: Lack of clarity in dash-escaped?
Sender: [email-masked]

Daniel A. Nagy wrote:
> On Wed, Nov 30, 2005 at 10:40:40AM +0000, Ben Laurie wrote:
>> "   Also, any trailing whitespace -- spaces (0x20) and tabs (0x09) -- at
>>     the end of any line is removed when the cleartext signature is
>>     generated."
>>
>> Does this mean they should not be included in the signature, or also
>> that they should be stripped from the dash-escaped text?
> 
> It doesn't matter.

Of course it matters!

>> "   The line ending (i.e. the <CR><LF>) before the '-----BEGIN PGP
>>     SIGNATURE-----' line that terminates the signed text is not
>>     considered part of the signed text."
>>
>> Does this mean that one should insert an extra <CR><LF> before the
>> terminating line? I notice that at least some implementations do not.
> 
> Yes, it does. The '-----BEGIN PGP SIGNATURE-----' must begin in a new line.
> The line termination before it is not part of the signature. AFAIK, all
> implementations treat it that way.

That doesn't answer the question.

-- 
http://www.apache-ssl.org/ben.html       http://www.thebunker.net/
**  ApacheCon - Dec 10-14th - San Diego - http://apachecon.com/ **
"There is no limit to what a man can do or how far he can go if he
doesn't mind who gets the credit." - Robert Woodruff

Date: Wed, 30 Nov 2005 13:19:31 +0000
From: Ian G <[email-masked]>
Organization: http://financialcryptography.com/
To: Ben Laurie <[email-masked]>
Cc: OpenPGP <[email-masked]>
Subject: Re: Lack of clarity in dash-escaped?
Sender: [email-masked]

Ben Laurie wrote:
> "   Also, any trailing whitespace -- spaces (0x20) and tabs (0x09) -- at
>     the end of any line is removed when the cleartext signature is
>     generated."
> 
> Does this mean they should not be included in the signature, or also
> that they should be stripped from the dash-escaped text?

They should not be included in the signature
calculations.  It is an open question as to
whether they should stripped from the text or
not, up to each application.  I would;  but
Jon has posted on good reasons why it is not
the job of the application to change the doc
that is being processed (signed).

I suppose the above text could change "generated"
to "calculated" to make it clearer?  That is, if
my interpretation is the consensus.

> "   The line ending (i.e. the <CR><LF>) before the '-----BEGIN PGP
>     SIGNATURE-----' line that terminates the signed text is not
>     considered part of the signed text."
> 
> Does this mean that one should insert an extra <CR><LF> before the
> terminating line? I notice that at least some implementations do not.

No, there is no need to insert anything, just
not include the <CR><LF> that must preceed the
'-----' line in the signature calculation.  In
this case I would say that there definately
should not be an extra line ending inserted,
as that is changing the document in a way that
is not reversable.

This is an artifact of the old days where
optimisations were cute, and it was I suppose
considered smart to save on calculating over the
last newline.  It is particularly dumb, because
everything else about the job is line based,
but this is an exception with no value other
than creating an exception and thus annoying
the coders.  None that I ever heard, leastways.

But there was a discussion about it a long time
ago, and no consensus to fix it up, so we are
stuck with the exception.

IMO!

iang

Date: Wed, 30 Nov 2005 14:09:46 +0100
To: Ben Laurie <[email-masked]>
Cc: OpenPGP <[email-masked]>
Subject: Re: Lack of clarity in dash-escaped?
From: [email-masked] (Daniel A. Nagy)
Sender: [email-masked]

On Wed, Nov 30, 2005 at 10:40:40AM +0000, Ben Laurie wrote:
> 
> "   Also, any trailing whitespace -- spaces (0x20) and tabs (0x09) -- at
>     the end of any line is removed when the cleartext signature is
>     generated."
> 
> Does this mean they should not be included in the signature, or also
> that they should be stripped from the dash-escaped text?

It doesn't matter.

> "   The line ending (i.e. the <CR><LF>) before the '-----BEGIN PGP
>     SIGNATURE-----' line that terminates the signed text is not
>     considered part of the signed text."
> 
> Does this mean that one should insert an extra <CR><LF> before the
> terminating line? I notice that at least some implementations do not.

Yes, it does. The '-----BEGIN PGP SIGNATURE-----' must begin in a new line.
The line termination before it is not part of the signature. AFAIK, all
implementations treat it that way.

-- 
Daniel

Date: Wed, 30 Nov 2005 10:40:40 +0000
From: Ben Laurie <[email-masked]>
To: OpenPGP <[email-masked]>
Subject: Lack of clarity in dash-escaped?
Sender: [email-masked]

"   Also, any trailing whitespace -- spaces (0x20) and tabs (0x09) -- at
    the end of any line is removed when the cleartext signature is
    generated."

Does this mean they should not be included in the signature, or also
that they should be stripped from the dash-escaped text?

"   The line ending (i.e. the <CR><LF>) before the '-----BEGIN PGP
    SIGNATURE-----' line that terminates the signed text is not
    considered part of the signed text."

Does this mean that one should insert an extra <CR><LF> before the
terminating line? I notice that at least some implementations do not.

Cheers,

Ben.

-- 
http://www.apache-ssl.org/ben.html       http://www.thebunker.net/
**  ApacheCon - Dec 10-14th - San Diego - http://apachecon.com/ **
"There is no limit to what a man can do or how far he can go if he
doesn't mind who gets the credit." - Robert Woodruff

Date: Sat, 26 Nov 2005 14:04:11 +0000
From: Ben Laurie <[email-masked]>
To: OpenPGP <[email-masked]>
Subject: -15 still not clear on signatures
Sender: [email-masked]

I was working on my signing code and realised that some issues
previously discussed do not appear to be resolved in -15 (its possible
some of these are also new).

a) V4 signatures don't mention how one actually calculates the signature
- the text only appears for V3 signatures.

b) EMSA-PKCS1-v1_5 takes two parameters - the message, m, and the length
of the encoded message, emLen. emLen is not specified in -15. By
inspection of existing signatures, it seems to me it is one less than
the size of the modulus (which strikes me as theoretically wrong, but if
that's the way it is, I guess that's the way it is).

I proposed patches to clarify this stuff back in April:
http://www.imc.org/ietf-openpgp/mail-archive/msg09799.html.

These appear to be wrong about emLen (off by one), BTW.

Cheers,

Ben.

-- 
http://www.apache-ssl.org/ben.html       http://www.thebunker.net/
**  ApacheCon - Dec 10-14th - San Diego - http://apachecon.com/ **
"There is no limit to what a man can do or how far he can go if he
doesn't mind who gets the credit." - Robert Woodruff

Date: Wed, 16 Nov 2005 03:07:20 +0100
To: [email-masked]
Subject: Re: Some -15 comments
From: [email-masked] (Daniel A. Nagy)
Sender: [email-masked]

On Tue, Nov 15, 2005 at 10:16:57AM -0800, "Hal Finney" wrote:

> example imagine a signature which says, I am not vouching for the binding
> between userid and key, but rather I am making a certain assertion about
> this userid or key.  If we don't understand this notation the correct
> thing is to ignore the signature, and that is in fact what the spec says
> should happen.

Yes, that is my understanding as well. Critical notation means that it is
essential for the correct interpretation of the signature and without
understanding the notation the signature is meaningless.

> Critical notations allow implementors to essentially extend signature
> semantics beyond the official set of signature types.  We have a protected
> namespace for proprietary extensions, and we have the ability for legacy
> applications silently to ignore unrecognized extensions.  It's a good
> feature.

I agree.

As for the subject of our discussion, I think that we all agree that the
spec for 0x80 should be stripped of "a note from one person to another..."
bit., because one major implementation does not treat it that way.

The only disagreement seems to be whether "a note from one person to
another" should be retained as an interoperable feature or should it be
delegated to private notation namespace.

The disadvantage of the  latter approach would be that various implementers
would (possibly) implement this same semantics with a host of different
notation names and won't interoperate.

Now, I can see that implementing the former using a type flag also causes
problems. Maybe, it should be a common, ITEF-namespace notation? Or an
entirely separate subpacket type akin to "reason for revocation"?

I am not sure. But in either case, as far as immediate modifications to the
standard text are concerned, this "a note..." part should be removed from
the definition of 0x80, because it means something that 0x80 definitely
doesn't. Whether or not to add that text someplace else is  an entirely
different question.

-- 
Daniel

Date: Tue, 15 Nov 2005 18:27:37 +0000
From: Ian G <[email-masked]>
Organization: http://financialcryptography.com/
To: "Daniel A. Nagy" <[email-masked]>
Cc: [email-masked]
Subject: Re: Some -15 comments
Sender: [email-masked]

Daniel A. Nagy wrote:

> Okay, there is no urgency. But I still think, it is a legitimate feature
> which does not require dramatic changes on implementations' part. At the
> same time, it substantially decreases the roll-out costs of many
> applications, not just mine. Basically, it would enable people to do more
> things without having to write sofware. The "note from one person to
> another" is a nice feature to be included in signatures. If, for obvious
> reasons, 0x80 cannot carry this semantics, some other flag should.

In dealing with signatures-of-legal-import, you may
be saying that you want a "please-display-me" feature
in order to complete this process at the UI level.
But, the notion of a human signature is substantially (*)
more complex than that;  just displaying a comment
attached to a signature is unlikely to bring us close
enough to making the signature work as a legal one.

Which is to say I think this short-changes the subject
matter somewhat.  A full treatment of this will require
many more things than just one extra bit or just one
nice well written specification entry, and until
someone a) has a real need for it and b) does the extra
work to define all of the (wider, legal) aspects of
legally important signatures either in general or in
particular, we won't be able to predict it from here,
and (I claim) it is foolhardy to try.

> The true issue here, as I see it, is that indeed, one can change the
> semantics of notation wihout owning it. If notation flags are not
> considered part of the notation (that is, their use is not restricted by the
> notation specification), then such flags are more or less part of the
> notation value, and should convey information only about the value part
> (e.g. whether it is text, image, boolean, etc.). If this is the case, it
> should be included in the wording of the standard.
> 
> In that case, the feature I would like to see will have to be implemented in
> a completely different fashion, but still preferably in the standard, as it
> is generally useful. On the other hand, I think that notation flags should
> be part of the notation spec; you cannot put binary  data where the spec
> requires text, so the spec may as well specify what flags to use and how
> with the notation, even though the flags' semantics is the same across all
> notations.

Hmm, not entirely sure I followed all that, and it
would probably help if I read the parts in as much
detail as others!  Having said that, if you are
suggesting that these semantics are better off left
to a higher layer called the "notation spec", then
I'd whole-heartedly agree.

iang

PS: (*) C.f., the Ricardian Contract <insert blah blah etc etc here>.

To: [email-masked], [email-masked]
Subject: Re: Some -15 comments
Cc: [email-masked]
Date: Tue, 15 Nov 2005 10:16:57 -0800 (PST)
From: [email-masked] ("Hal Finney")
Sender: [email-masked]

Jon Callas writes:
> The critical flag can called (only slightly humorously) the non- 
> interoperable flag.
>
> Normally, when an implementation sees any subpacket it doesn't  
> understand, it ignores it. But with the critical flag, you error out  
> if you don't understand it.

That's not my understanding.  Rather, you don't consider the signature
valid, if there is a critical subpacket you don't understand.  You don't
"error out."

Now, for document signatures, failure to understand a critical notation
may in some cases be as bad as erroring-out, because whatever purpose
was meant to be expressed by creating the signature, won't happen.
But for keyring signatures, which are often redundant, we could for
example imagine a signature which says, I am not vouching for the binding
between userid and key, but rather I am making a certain assertion about
this userid or key.  If we don't understand this notation the correct
thing is to ignore the signature, and that is in fact what the spec says
should happen.

Critical notations allow implementors to essentially extend signature
semantics beyond the official set of signature types.  We have a protected
namespace for proprietary extensions, and we have the ability for legacy
applications silently to ignore unrecognized extensions.  It's a good
feature.

Hal Finney

Cc: [email-masked]
From: Jon Callas <[email-masked]>
Subject: Re: Some -15 comments
Date: Tue, 15 Nov 2005 09:29:53 -0800
To: "Daniel A. Nagy" <[email-masked]>
Sender: [email-masked]

On 14 Nov 2005, at 6:11 PM, Daniel A. Nagy wrote:

>
> But how to express "you should print this"? I tought the text flag  
> and the
> critical flag together were for this very purpose.
>

The critical flag can called (only slightly humorously) the non- 
interoperable flag.

Normally, when an implementation sees any subpacket it doesn't  
understand, it ignores it. But with the critical flag, you error out  
if you don't understand it.

So ihf you create a human-readable, critical notation, you're asking  
for it to blow up a lot. This may be exactly what you want, but it  
might not.

Now this can create side issues, as well. Let's suppose that I have  
built an automated system (one with no humans). I know exactly what  
your notation is, but I have no human. So I ignore the thing. To me,  
this follows exactly the spirit of "critical" because I know what it  
is and I know I can ignore it. It may not be what you want -- you may  
have thought that human-reable and critical means it will blow up any  
automated process.

Similarly, I might display the notation to a human user and have a  
"please don't show this to me again" check box to have it not  
displayed again. This is a reasonable thing to do, despite a critical  
flag.

This is why I put my tongue in my cheek a bit and call it also the  
non-interoperable flag. If you set the critical flag, you create all  
sorts of interesting ways for the system to surprise people.

	Jon

Date: Tue, 15 Nov 2005 16:34:50 +0100
To: [email-masked]
Subject: Re: Some -15 comments
From: [email-masked] (Daniel A. Nagy)
Sender: [email-masked]

On Mon, Nov 14, 2005 at 10:41:29PM -0800, "Hal Finney" wrote:
> Your 0x40 is more than "human-readable", it is "should be displayed".  I
> don't like the idea of putting in a feature which burdens implementations
> to do certain things in the UI, unless we have a very good reason.
> Our PGP software might have to pop up dialog boxes to deliver these
> notification messages, which I'm sure would bring objections from our
> UI guys.

Unless it already doesn't pop up dialog boxes then it shouldn't pop up new
ones. All I suggest is adding text to the report about successful
verification, if such a report exists.
 
> If and when we come up with a compelling reason to add such a UI mandate
> in our data-format specification, then we could consider it.  We would
> also need to clarify when it should be displayed for key signatures: if
> a web of trust is used, should we display all notations for all keys in
> the chain that were used to establish the trustworthiness of a target key?

Definitely not. You only display the notation, if the successful
verification of the signature is explicitly reported to the user.

> Should this happen on both encryption and signature verification?  And is
> it enough to do it once and consider the user "notified", or should it be
> done every time?
> 
> The answers to questions like these are likely to be application specific.
> That is, for some kinds of notations we would do it one way, and for other
> types of notations we would do it another way.  Maybe some would only be
> for data signatures and not key signatures, or vice versa.  Maybe some
> would only be displayed for signatures on the key being used, while others
> should be displayed for the whole trust chain.  It depends on the purpose.

But isn't that dependence on signature type already resolved by the
different ways in which applications report on successful signature
verification? I was a bit sloppy first by saying that such notation should
be displayed upon successful verification. That is obviously wrong. What I
really have in mind is that such notation should be included in reports of
successful verification, if such reports are provided.

> Putting in this 0x40 flag now, or any mandate for notation packet display,
> will require possibly substantial change to every OpenPGP implementation
> in existence.  Sure, it potentially gives you a lot of leverage to
> implement your desired new feature.  But it is at a great expense.
> We can't go forward with something like this without an extensive
> discussion involving many groups, including UI experts.

Okay, there is no urgency. But I still think, it is a legitimate feature
which does not require dramatic changes on implementations' part. At the
same time, it substantially decreases the roll-out costs of many
applications, not just mine. Basically, it would enable people to do more
things without having to write sofware. The "note from one person to
another" is a nice feature to be included in signatures. If, for obvious
reasons, 0x80 cannot carry this semantics, some other flag should.

The true issue here, as I see it, is that indeed, one can change the
semantics of notation wihout owning it. If notation flags are not
considered part of the notation (that is, their use is not restricted by the
notation specification), then such flags are more or less part of the
notation value, and should convey information only about the value part
(e.g. whether it is text, image, boolean, etc.). If this is the case, it
should be included in the wording of the standard.

In that case, the feature I would like to see will have to be implemented in
a completely different fashion, but still preferably in the standard, as it
is generally useful. On the other hand, I think that notation flags should
be part of the notation spec; you cannot put binary  data where the spec
requires text, so the spec may as well specify what flags to use and how
with the notation, even though the flags' semantics is the same across all
notations.

-- 
Daniel

Date: Tue, 15 Nov 2005 13:12:53 +0000
From: Ian G <[email-masked]>
Organization: http://financialcryptography.com/
To: Jon Callas <[email-masked]>
Cc: David Shaw <[email-masked]>, [email-masked]
Subject: Re: Some -15 comments
Sender: [email-masked]

Jon Callas wrote:

> So can we take the two-week comment period for last call and make it  be 
> Nov 21?

No disagreement here!

iang

Date: Tue, 15 Nov 2005 13:12:12 +0000
From: Ian G <[email-masked]>
Organization: http://financialcryptography.com/
To: Jon Callas <[email-masked]>
Cc: David Shaw <[email-masked]>, [email-masked]
Subject: Re: Some -15 comments
Sender: [email-masked]

Jon Callas wrote:

>> We discussed a change to 5.2.3.16 (Notation Data) on the list to
>> change:
>>
>>      First octet: 0x80 = human-readable. This note value is text, a
>>                          note from one person to another, and need
>>                          not have meaning to software.
>> to:
>>      First octet: 0x80 = human-readable. This note value is text.
>>
>> Any way that can go in?  I'm perfectly happy to get an "I Told You So"
>> if someone is confused :)
>>
> 
> I remember the discussion, I just don't remember the agreement. Such  is 
> the way with rough consensus.
> 
> Does it matter one way or the other? I admit to being confused as to  
> why it matters. Enlighten me, please.

I agree with the second reading.  The first tries
to define something that eludes definition, and
any attempt to further define it takes us inevitably
into needing more flags (as per Daniel's discussion).

To: [email-masked], [email-masked]
Subject: Re: Some -15 comments
Date: Mon, 14 Nov 2005 22:41:29 -0800 (PST)
From: [email-masked] ("Hal Finney")
Sender: [email-masked]

Daniel Nagy writes:
> I understand that and even agree with it in the light of the fact that
> there's already notation in wide use that is not intended for human
> interpretation. But I think that a flag indicating that some notation IS
> intended to be interpreted by humans is still warranted, using a wording
> similar to the original definition of the text flag, perhaps with some
> clarification added. Like this:
>
>         First octet: 0x80 = displayable. This note value is text.
>
>                      0x40 = human-readable. This note value is text, a
>                             note from one person to another, and need
>                             not have meaning to software. If critical,
>                             it MUST be displayed whenever the successful
>                             verification of the signature is reported to
>                             the user

Your 0x40 is more than "human-readable", it is "should be displayed".  I
don't like the idea of putting in a feature which burdens implementations
to do certain things in the UI, unless we have a very good reason.
Our PGP software might have to pop up dialog boxes to deliver these
notification messages, which I'm sure would bring objections from our
UI guys.

If and when we come up with a compelling reason to add such a UI mandate
in our data-format specification, then we could consider it.  We would
also need to clarify when it should be displayed for key signatures: if
a web of trust is used, should we display all notations for all keys in
the chain that were used to establish the trustworthiness of a target key?
Should this happen on both encryption and signature verification?  And is
it enough to do it once and consider the user "notified", or should it be
done every time?

The answers to questions like these are likely to be application specific.
That is, for some kinds of notations we would do it one way, and for other
types of notations we would do it another way.  Maybe some would only be
for data signatures and not key signatures, or vice versa.  Maybe some
would only be displayed for signatures on the key being used, while others
should be displayed for the whole trust chain.  It depends on the purpose.

Putting in this 0x40 flag now, or any mandate for notation packet display,
will require possibly substantial change to every OpenPGP implementation
in existence.  Sure, it potentially gives you a lot of leverage to
implement your desired new feature.  But it is at a great expense.
We can't go forward with something like this without an extensive
discussion involving many groups, including UI experts.

Hal Finney

Date: Mon, 14 Nov 2005 23:33:32 -0500
From: David Shaw <[email-masked]>
To: [email-masked]
Subject: Re: Some -15 comments
Mail-Followup-To: [email-masked]
OpenPGP: id=99242560; url=http://www.jabberwocky.com/david/keys.asc
Sender: [email-masked]

On Tue, Nov 15, 2005 at 03:51:27AM +0100, Daniel A. Nagy wrote:
> 
> On Mon, Nov 14, 2005 at 09:23:28PM -0500, David Shaw wrote:
> 
> > You would define a notation ("[email-masked]" or
> > the like), which is defined as "show me to a human".
> 
> Sure.
>  
> > You don't want to overload the human-readable flag for that, since
> > there are some human readable notations that while being *capable* of
> > being read by a human, aren't intended for reading by a human on a
> > regular basis.
> 
> I understand that and even agree with it in the light of the fact that
> there's already notation in wide use that is not intended for human
> interpretation. But I think that a flag indicating that some notation IS
> intended to be interpreted by humans is still warranted, using a wording
> similar to the original definition of the text flag, perhaps with some
> clarification added. Like this:
> 
>         First octet: 0x80 = displayable. This note value is text.
> 
>                      0x40 = human-readable. This note value is text, a
>                             note from one person to another, and need
>                             not have meaning to software. If critical,
>                             it MUST be displayed whenever the successful
>                             verification of the signature is reported to
>                             the user

I'm not sure what benefit this has over just defining a notation with
whatever semantics you desire.  This flag, in effect, lets someone
change the semantics of notations they do not own.

David

Date: Tue, 15 Nov 2005 03:51:27 +0100
To: [email-masked]
Subject: Re: Some -15 comments
From: [email-masked] (Daniel A. Nagy)
Sender: [email-masked]

On Mon, Nov 14, 2005 at 09:23:28PM -0500, David Shaw wrote:

> You would define a notation ("[email-masked]" or
> the like), which is defined as "show me to a human".

Sure.
 
> You don't want to overload the human-readable flag for that, since
> there are some human readable notations that while being *capable* of
> being read by a human, aren't intended for reading by a human on a
> regular basis.

I understand that and even agree with it in the light of the fact that
there's already notation in wide use that is not intended for human
interpretation. But I think that a flag indicating that some notation IS
intended to be interpreted by humans is still warranted, using a wording
similar to the original definition of the text flag, perhaps with some
clarification added. Like this:

        First octet: 0x80 = displayable. This note value is text.

                     0x40 = human-readable. This note value is text, a
                            note from one person to another, and need
                            not have meaning to software. If critical,
                            it MUST be displayed whenever the successful
                            verification of the signature is reported to
                            the user

-- 
Daniel

Date: Tue, 15 Nov 2005 03:43:37 +0100
To: [email-masked]
Subject: Re: Some -15 comments
From: [email-masked] (Daniel A. Nagy)
Sender: [email-masked]

On Mon, Nov 14, 2005 at 05:56:19PM -0800, "Hal Finney" wrote:

> > Currently, the way I treat this flag is that I display the notation to the
> > user whenever the signature is verified. If that's not the purpuse of this
> > flag, then I would really like another flag with that purpose. See below
> > what I would like to use it for.
> 
> I don't think that will work too well on self-sigs with PGP Corp's new
> preferred-email-encoding subpackets.  You don't want to print those out.

But that's because, strictly speaking, it is not a message meant for users,
and thus a violation of the current wording of the standard. Now, I am
fully supportive of the ITEF practice of letting the implementations shape
the standard, so if the only current implementation uses that flag in the
sense that "this is text" rather than the current wording, I am all for
changing the wording to reflect that, but I think a flag indicating that
some notation is meant (primarily) for human interpretation is warranted.

Here's why: Using this flag, implementations that are unaware of the
contract of that particular notation can still do something useful with it,
namely they can display to the user.
 
> I'm worried that this is going to get too messy.  For a document
> signature, if a user wants to put in some qualifications or conditions,
> it is better to put them into the document itself rather than into a
> notation packet on the signature in the hopes that it will be displayed.
> There are no guarantees about display.

I agree with this.

> Then there are key signatures; and under what circumstances will they be
> displayed?  When encrypting some email, do we want to see every notation
> packet which every signer has decided to add to every key that we encrypt
> to, and perhaps further packets from keys down the web of trust?  How to
> organize it and present it in a coherent way?  It will be a mess.

I don't think so. The way I see it is that such notations (critical+human
interpretable) should be displayed whenever anything is displayed about the
signature at all. For instance, when the user lists the signatures on a
particular key, such notations must be displayed along with the fact of the
existence of the signature.

> If and when we come to the point where we need a kind of notation packet
> that should be displayed on signature verification, we should define its
> use and purpose, create a name for it, and spec it out.  I think that
> is a better path than to have a flag with rather uncertain semantics
> about when it might cause text to be displayed to the user.

But why not have a flag with clear semantics? Like "whenever the fact of
successful signaure verification is reported to the user, this notation must
be included in the report". I don't see any ambiguity here. And it won't
result in a torrent of messages either.
 
> > Here is how I am planning to use human-readable notation: in an on-line
> > trading or auction application, where reputation tracking is important, one
> > can implement user comments about other users' behavior in the form of
> > signatures directly on their public keys with appropriate notation (think of
> > eBay comments). The comment text is, in my opinion, critical in the sense
> > that without it the signature does not make sense, but the implementation's
> > responsibilities are indeed met by just displaying it upon verification.
> 
> You could still do this, but do it based on the notation name rather than
> a flag.  You could have a notation called 'user-reputation-comments'
> or some such.  Your application could then define whatever meaning and
> handling it wanted for how this type of notation packet should be used.

But in your iterpretation of the critical flag, if I mark that notation
critical, applications not aware of its purpose would strip the signaure as
unverifiable. If I don't, I contradict the fact that it _is_ critical for
the correct interpretation of the signature.

Also, I don't feel that I am trying to force my peculiar needs on the
community. I think that many applications could benefit from notation that
is guaranteed to be displayed, when listing key signatures by all
implementataions, while being treated in some special way by those that are
aware of its purpose. A combination of "to be interpreted by humans" and
"critical" seems to express this semantics perfectly. Now, if the "text"
flag does not mean that it should be interpreted by humans, it is perfectly
acceptable. But in that case I feel that there is still a legitimate use for
another flag that does mean that the notation is meant for human interpretation.
Don't you think so?

-- 
Daninel

Date: Mon, 14 Nov 2005 21:23:28 -0500
From: David Shaw <[email-masked]>
To: [email-masked]
Subject: Re: Some -15 comments
Mail-Followup-To: [email-masked]
OpenPGP: id=99242560; url=http://www.jabberwocky.com/david/keys.asc
Sender: [email-masked]

On Tue, Nov 15, 2005 at 03:11:10AM +0100, Daniel A. Nagy wrote:
> 
> On Mon, Nov 14, 2005 at 08:58:52PM -0500, David Shaw wrote:
> 
> > I think what you are saying and what Hal and I are saying are
> > basically compatible: interpret the human-readable flag as "I can
> > print this".
> 
> But how to express "you should print this"? I tought the text flag and the
> critical flag together were for this very purpose.

You would define a notation ("[email-masked]" or
the like), which is defined as "show me to a human".

You don't want to overload the human-readable flag for that, since
there are some human readable notations that while being *capable* of
being read by a human, aren't intended for reading by a human on a
regular basis.

David

Date: Mon, 14 Nov 2005 21:14:29 -0500
From: David Shaw <[email-masked]>
To: [email-masked]
Subject: Re: Some -15 comments
Mail-Followup-To: [email-masked]
OpenPGP: id=99242560; url=http://www.jabberwocky.com/david/keys.asc
Sender: [email-masked]

On Mon, Nov 14, 2005 at 02:46:26PM -0800, Jon Callas wrote:

> >We discussed a change to 5.2.3.16 (Notation Data) on the list to
> >change:
> >
> >     First octet: 0x80 = human-readable. This note value is text, a
> >                         note from one person to another, and need
> >                         not have meaning to software.
> >to:
> >     First octet: 0x80 = human-readable. This note value is text.
> >
> >Any way that can go in?  I'm perfectly happy to get an "I Told You So"
> >if someone is confused :)
> >
> 
> I remember the discussion, I just don't remember the agreement. Such  
> is the way with rough consensus.

Yes.  I didn't think we had consensus yet.  I'm re-raising it to get
some more discussion.

> Does it matter one way or the other? I admit to being confused as to  
> why it matters. Enlighten me, please.

It matters because the current text states something as true that
shouldn't be true.  A human-readable notation isn't necessarily a note
from one person to another.  Using the only commonly used notation
([email-masked]) as an example, it is human
readable, but is a note from software to software and humans aren't
necessarily involved.

> Incidentally, I apologize for not getting this out before. I sent it  
> to the I-D desk, who whined at me. My correction was eaten by an MTA,  
> which took two weeks to tell me that it was confused, and by then the  
> meeting lull had happened.
> 
> So can we take the two-week comment period for last call and make it  
> be Nov 21?

Sounds good to me.

David

Date: Tue, 15 Nov 2005 03:11:10 +0100
To: [email-masked]
Subject: Re: Some -15 comments
From: [email-masked] (Daniel A. Nagy)
Sender: [email-masked]

On Mon, Nov 14, 2005 at 08:58:52PM -0500, David Shaw wrote:

> I think what you are saying and what Hal and I are saying are
> basically compatible: interpret the human-readable flag as "I can
> print this".

But how to express "you should print this"? I tought the text flag and the
critical flag together were for this very purpose.

-- 
Daniel

Date: Mon, 14 Nov 2005 20:58:52 -0500
From: David Shaw <[email-masked]>
To: [email-masked]
Subject: Re: Some -15 comments
Mail-Followup-To: [email-masked]
OpenPGP: id=99242560; url=http://www.jabberwocky.com/david/keys.asc
Sender: [email-masked]

On Tue, Nov 15, 2005 at 01:13:43AM +0100, Daniel A. Nagy wrote:
> 
> On Mon, Nov 14, 2005 at 03:37:44PM -0800, "Hal Finney" wrote:
> 
> > I'd like to use the flag as a hint to packet-dumping software: if the
> > human-readable flag is set, it is reasonable to dump the notation body
> > as text.  If it is not set, it should be dumped in hex.
> 
> Currently, the way I treat this flag is that I display the notation to the
> user whenever the signature is verified. If that's not the purpuse of this
> flag, then I would really like another flag with that purpose. See below
> what I would like to use it for.

I think what you are saying and what Hal and I are saying are
basically compatible: interpret the human-readable flag as "I can
print this".

> > Another difference arises if the subpacket critical bit is set along with
> > the human-readable flag.  With the current wording it might appear that an
> > implementation's responsibilities are met if it somehow causes the text
> > of the notation packet to be displayed to the user, even if it does not
> > recognize the notation type.  I think that would be a serious mistake.
> > The critical bit should require that the notation type be recognized
> > and handled, in order for the signature to be considered valid.
> 
> Are you sure? I actually think that displaying some notation whenever the
> signature is verified (correctly) makes a lot of sense and it may be part of
> signature verification. After all, it is ultimately the user who decides
> wheter he accepts a signature or not.

There is no conflict here either.  It is perfectly fine to print
notations on signature verification if you choose to do so.  The
problem is if you have a critical notation that your implementation
does not handle.  You can print this notation or not (it's up to you)
but the important thing is that the unhandled critical notation isn't
treated as handled just because you print it.

> Here is how I am planning to use human-readable notation: in an on-line
> trading or auction application, where reputation tracking is important, one
> can implement user comments about other users' behavior in the form of
> signatures directly on their public keys with appropriate notation (think of
> eBay comments). The comment text is, in my opinion, critical in the sense
> that without it the signature does not make sense, but the implementation's
> responsibilities are indeed met by just displaying it upon verification.

That's fine.  You can define a notation type any way you like.  It's
perfectly reasonable to define your notation to meet its critical
"contract" by being shown to a user.

David

To: [email-masked], [email-masked]
Subject: Re: Some -15 comments
Date: Mon, 14 Nov 2005 17:56:19 -0800 (PST)
From: [email-masked] ("Hal Finney")
Sender: [email-masked]

Daniel Nagy writes:
> On Mon, Nov 14, 2005 at 03:37:44PM -0800, "Hal Finney" wrote:
> > I'd like to use the flag as a hint to packet-dumping software: if the
> > human-readable flag is set, it is reasonable to dump the notation body
> > as text.  If it is not set, it should be dumped in hex.
>
> Currently, the way I treat this flag is that I display the notation to the
> user whenever the signature is verified. If that's not the purpuse of this
> flag, then I would really like another flag with that purpose. See below
> what I would like to use it for.

I don't think that will work too well on self-sigs with PGP Corp's new
preferred-email-encoding subpackets.  You don't want to print those out.

> > Another difference arises if the subpacket critical bit is set along with
> > the human-readable flag.  With the current wording it might appear that an
> > implementation's responsibilities are met if it somehow causes the text
> > of the notation packet to be displayed to the user, even if it does not
> > recognize the notation type.  I think that would be a serious mistake.
> > The critical bit should require that the notation type be recognized
> > and handled, in order for the signature to be considered valid.
>
> Are you sure? I actually think that displaying some notation whenever the
> signature is verified (correctly) makes a lot of sense and it may be part of
> signature verification. After all, it is ultimately the user who decides
> wheter he accepts a signature or not.

I'm worried that this is going to get too messy.  For a document
signature, if a user wants to put in some qualifications or conditions,
it is better to put them into the document itself rather than into a
notation packet on the signature in the hopes that it will be displayed.
There are no guarantees about display.

Then there are key signatures; and under what circumstances will they be
displayed?  When encrypting some email, do we want to see every notation
packet which every signer has decided to add to every key that we encrypt
to, and perhaps further packets from keys down the web of trust?  How to
organize it and present it in a coherent way?  It will be a mess.

If and when we come to the point where we need a kind of notation packet
that should be displayed on signature verification, we should define its
use and purpose, create a name for it, and spec it out.  I think that
is a better path than to have a flag with rather uncertain semantics
about when it might cause text to be displayed to the user.

> Here is how I am planning to use human-readable notation: in an on-line
> trading or auction application, where reputation tracking is important, one
> can implement user comments about other users' behavior in the form of
> signatures directly on their public keys with appropriate notation (think of
> eBay comments). The comment text is, in my opinion, critical in the sense
> that without it the signature does not make sense, but the implementation's
> responsibilities are indeed met by just displaying it upon verification.

You could still do this, but do it based on the notation name rather than
a flag.  You could have a notation called 'user-reputation-comments'
or some such.  Your application could then define whatever meaning and
handling it wanted for how this type of notation packet should be used.

Hal Finney

Date: Tue, 15 Nov 2005 01:13:43 +0100
To: [email-masked]
Subject: Re: Some -15 comments
From: [email-masked] (Daniel A. Nagy)
Sender: [email-masked]

On Mon, Nov 14, 2005 at 03:37:44PM -0800, "Hal Finney" wrote:

> I'd like to use the flag as a hint to packet-dumping software: if the
> human-readable flag is set, it is reasonable to dump the notation body
> as text.  If it is not set, it should be dumped in hex.

Currently, the way I treat this flag is that I display the notation to the
user whenever the signature is verified. If that's not the purpuse of this
flag, then I would really like another flag with that purpose. See below
what I would like to use it for.

> David's second version better expresses this, IMO.  By just saying
> that the note value is text, that means it is reasonable to print it
> if desired.  Even software which doesn't understand the meaning of the
> notation could print it, and it would be readable.
> 
> The current wording carries much more baggage which IMO is not accurate.
> We might want to set the human-readable flag on notation packets which
> are not primarily meant as notes from one person to another.

I agree with this.
 
> Another difference arises if the subpacket critical bit is set along with
> the human-readable flag.  With the current wording it might appear that an
> implementation's responsibilities are met if it somehow causes the text
> of the notation packet to be displayed to the user, even if it does not
> recognize the notation type.  I think that would be a serious mistake.
> The critical bit should require that the notation type be recognized
> and handled, in order for the signature to be considered valid.

Are you sure? I actually think that displaying some notation whenever the
signature is verified (correctly) makes a lot of sense and it may be part of
signature verification. After all, it is ultimately the user who decides
wheter he accepts a signature or not.

Here is how I am planning to use human-readable notation: in an on-line
trading or auction application, where reputation tracking is important, one
can implement user comments about other users' behavior in the form of
signatures directly on their public keys with appropriate notation (think of
eBay comments). The comment text is, in my opinion, critical in the sense
that without it the signature does not make sense, but the implementation's
responsibilities are indeed met by just displaying it upon verification.

-- 
Daniel

Date: Tue, 15 Nov 2005 01:01:08 +0100
To: [email-masked]
Subject: Re: Some -15 comments
From: [email-masked] (Daniel A. Nagy)
Sender: [email-masked]

On Mon, Nov 14, 2005 at 02:46:26PM -0800, Jon Callas wrote:

> >In 5.13. Sym. Encrypted Integrity Protected Data Packet (Tag 18), the
> >phrase:
> >
> > "(often literal data packets or compressed data packets)"
> >
> >should probably be:
> >
> > "(often a literal data packet or compressed data packet)"
> >
> >since we no longer allow multiple literal packets in a row.
> >
> 
> Changed.

Actually, can it be anything else? Most OpenPGP parsers would understand an
arbitrary nesting of compressed, encrypted and MDC-protected encrypted
packets, but does that make sense?

I can see a different use for it, however. Being a bit uneasy about the
secret key packet format (Packet tag 5, Section 5.5.1.3.), I think, it is
ultimately up to the implementation, how they store and protect private
keys, as it does not affect interoperability, as long as private keys can be
exported and imported in a common format.

Some text about this should be added to 5.5.1.3., in my opinion, stating that
implementations SHOULD be able to export and import private keys in this
format. It is the more important, as the passphrase-protected version is
vulnerable to the Klima-Rosa attack. I am hesitant whether to say that they
MAY store them in this way (as most actually do) or would it be more
appropriate to say that new implementations SHOULD NOT do that.

For secure storage and transmission of private keys, one could put a
private key packet (tag 5) without passphrase protection into an
MDC-protected encrypted packet (tag 18), maybe with compression in between.
This would thwart the Klima-Rosa attack, while not requiring dramatical
changes to the standard.

But again, I think that the storage format of private keys needs not be
standardized. For example, our ePointPGP tool (see
http://pgp.epointsystem.org/tool-help) generates private keys directly from
the passphrase, without storing them in any way. Yet, it is fully
interoperable with many other RFC2440bis implementations on the message
and public key level.

-- 
Daniel

To: [email-masked], [email-masked]
Subject: Re: Some -15 comments
Cc: [email-masked]
Date: Mon, 14 Nov 2005 15:37:44 -0800 (PST)
From: [email-masked] ("Hal Finney")
Sender: [email-masked]

Jon writes, quoting David:
> > We discussed a change to 5.2.3.16 (Notation Data) on the list to
> > change:
> >
> >      First octet: 0x80 = human-readable. This note value is text, a
> >                          note from one person to another, and need
> >                          not have meaning to software.
> > to:
> >      First octet: 0x80 = human-readable. This note value is text.
> >
> > Any way that can go in?  I'm perfectly happy to get an "I Told You So"
> > if someone is confused :)
> >
>
> I remember the discussion, I just don't remember the agreement. Such  
> is the way with rough consensus.
>
> Does it matter one way or the other? I admit to being confused as to  
> why it matters. Enlighten me, please.

What is the functional purpose of this flag?  The meaning of the notation
is going to come from its name field.  The flag is somewhat superfluous.

I'd like to use the flag as a hint to packet-dumping software: if the
human-readable flag is set, it is reasonable to dump the notation body
as text.  If it is not set, it should be dumped in hex.

David's second version better expresses this, IMO.  By just saying
that the note value is text, that means it is reasonable to print it
if desired.  Even software which doesn't understand the meaning of the
notation could print it, and it would be readable.

The current wording carries much more baggage which IMO is not accurate.
We might want to set the human-readable flag on notation packets which
are not primarily meant as notes from one person to another.

Another difference arises if the subpacket critical bit is set along with
the human-readable flag.  With the current wording it might appear that an
implementation's responsibilities are met if it somehow causes the text
of the notation packet to be displayed to the user, even if it does not
recognize the notation type.  I think that would be a serious mistake.
The critical bit should require that the notation type be recognized
and handled, in order for the signature to be considered valid.

PGP Corporation added the preferred-email-encoding self-signature notation
packet, and it has the human-readable flag set.  This is not a note from
one person to another, rather it is intended solely to be handled by
the software.  However it is human readable and if the key is displayed
in some detailed way it would be reasonable for the software to print
the contents of the notation packet.

Hal Finney

Cc: [email-masked]
From: Jon Callas <[email-masked]>
Subject: Re: Some -15 comments
Date: Mon, 14 Nov 2005 14:46:26 -0800
To: David Shaw <[email-masked]>
Sender: [email-masked]

On 10 Nov 2005, at 9:54 AM, David Shaw wrote:

>
> I did a quick read over bis15:
>
> In 5.2.1. Signature Types, in the section about the 0x18 subkey
> binding signature, the binding for a signing subkey MUST (not SHOULD)
> contain a back signature.  This was discussed on the list.
>

Fixed.

> ======
>
> We discussed a change to 5.2.3.16 (Notation Data) on the list to
> change:
>
>      First octet: 0x80 = human-readable. This note value is text, a
>                          note from one person to another, and need
>                          not have meaning to software.
> to:
>      First octet: 0x80 = human-readable. This note value is text.
>
> Any way that can go in?  I'm perfectly happy to get an "I Told You So"
> if someone is confused :)
>

I remember the discussion, I just don't remember the agreement. Such  
is the way with rough consensus.

Does it matter one way or the other? I admit to being confused as to  
why it matters. Enlighten me, please.

> ======
>
> 5.11. User ID Packet (Tag 13) makes reference to a "RFC 2822 mail
> name", but there is no such object in 2822.  2822 calls it a
> "name-addr".
>

Changed to name-addr

> ======
>
> In 5.13. Sym. Encrypted Integrity Protected Data Packet (Tag 18), the
> phrase:
>
>  "(often literal data packets or compressed data packets)"
>
> should probably be:
>
>  "(often a literal data packet or compressed data packet)"
>
> since we no longer allow multiple literal packets in a row.
>

Changed.

> ======
>
> In 13. Security Considerations, in the section discussing the
> Mister/Zuccherato attack, the last sentence of the third paragraph is
> missing a period.
>

Fixed.

> ======
>
> Aside from that, has anyone heard anything new about the rumored
> "bigger DSA" update?

I asked during the hash bash and was told, "soon." But then, that's  
what I was told at CRYPTO 2004. Don't hold your breath.

Incidentally, I apologize for not getting this out before. I sent it  
to the I-D desk, who whined at me. My correction was eaten by an MTA,  
which took two weeks to tell me that it was confused, and by then the  
meeting lull had happened.

So can we take the two-week comment period for last call and make it  
be Nov 21?

	Jon

Date: Thu, 10 Nov 2005 12:54:33 -0500
From: David Shaw <[email-masked]>
To: [email-masked]
Subject: Some -15 comments
Mail-Followup-To: [email-masked]
OpenPGP: id=99242560; url=http://www.jabberwocky.com/david/keys.asc
Sender: [email-masked]

I did a quick read over bis15:

In 5.2.1. Signature Types, in the section about the 0x18 subkey
binding signature, the binding for a signing subkey MUST (not SHOULD)
contain a back signature.  This was discussed on the list.

======

We discussed a change to 5.2.3.16 (Notation Data) on the list to
change:
 
     First octet: 0x80 = human-readable. This note value is text, a
                         note from one person to another, and need
                         not have meaning to software. 
to:
     First octet: 0x80 = human-readable. This note value is text.

Any way that can go in?  I'm perfectly happy to get an "I Told You So"
if someone is confused :)

======

5.11. User ID Packet (Tag 13) makes reference to a "RFC 2822 mail
name", but there is no such object in 2822.  2822 calls it a
"name-addr".

======

In 5.13. Sym. Encrypted Integrity Protected Data Packet (Tag 18), the
phrase:

 "(often literal data packets or compressed data packets)"

should probably be:

 "(often a literal data packet or compressed data packet)"

since we no longer allow multiple literal packets in a row.

======

In 13. Security Considerations, in the section discussing the
Mister/Zuccherato attack, the last sentence of the third paragraph is
missing a period.

======

Aside from that, has anyone heard anything new about the rumored
"bigger DSA" update?

David

From: Simon Josefsson <[email-masked]>
To: [email-masked]
Subject: Re: OpenPGP mail/news header -02
OpenPGP: id=B565716F; url=http://josefsson.org/key.txt
Date: Thu, 10 Nov 2005 17:32:40 +0100
Sender: [email-masked]

David Shaw <[email-masked]> writes:

> On Fri, Nov 04, 2005 at 03:51:35PM +0100, Simon Josefsson wrote:
>
>> Yes, how about this use-case: An announcement-only mailing list
>> might prefer OpenPGP signed messages.  It could then add a 'OpenPGP:
>> preference=sign' message to all list posts.  The sender could be the
>> mailing list address, which may not have a OpenPGP key at all.  So
>> you couldn't fetch an OpenPGP key for the mailing list address.
>> Arguable, the mailing list managers could create a dummy OpenPGP key
>> for the mailing list address, and set the e-mail preference and
>> upload the key.  However, so could anyone, since the key isn't used
>> nor trusted by anyone.  The announcement-only mailing list could be
>> some abstract mail addresses too.  Like [email-masked] or
>> similar.
>
> I agree this is a reasonable use.  I've also re-read over the -02
> draft, and it does have language in section 2 about not overtrusting
> the header that I had missed earlier.
>
> Would it be worth making this more explicit by adding something about
> actual conflicts between the OpenPGP header and the key to that
> section?  Something like:

Section 2 is intended to give an introduction, so I believe such text
should belong in the section that define the header.  It would be
useful to repeat the warning there as well.

I have added the following at the beginning of section 3:

      <t>Because the header is typically not integrity protected, the
	information conveyed in the OpenPGP header field MUST NOT be
	trusted without additional verification.  Some of the
	information given in this header may also be given on the
	OpenPGP key itself.  When these two sources conflict, users
	SHOULD favor the information from the OpenPGP key, as that
	information can be cryptographically protected.</t>

What do you think?

Thanks,
Simon

Date: Thu, 10 Nov 2005 10:34:21 -0500
From: David Shaw <[email-masked]>
To: [email-masked]
Subject: Re: OpenPGP mail/news header -02
Mail-Followup-To: [email-masked]
OpenPGP: id=99242560; url=http://www.jabberwocky.com/david/keys.asc
Sender: [email-masked]

On Fri, Nov 04, 2005 at 03:51:35PM +0100, Simon Josefsson wrote:

> Yes, how about this use-case: An announcement-only mailing list
> might prefer OpenPGP signed messages.  It could then add a 'OpenPGP:
> preference=sign' message to all list posts.  The sender could be the
> mailing list address, which may not have a OpenPGP key at all.  So
> you couldn't fetch an OpenPGP key for the mailing list address.
> Arguable, the mailing list managers could create a dummy OpenPGP key
> for the mailing list address, and set the e-mail preference and
> upload the key.  However, so could anyone, since the key isn't used
> nor trusted by anyone.  The announcement-only mailing list could be
> some abstract mail addresses too.  Like [email-masked] or
> similar.

I agree this is a reasonable use.  I've also re-read over the -02
draft, and it does have language in section 2 about not overtrusting
the header that I had missed earlier.

Would it be worth making this more explicit by adding something about
actual conflicts between the OpenPGP header and the key to that
section?  Something like:

  Some of the information given in this header may also be given on
  the OpenPGP key itself.  When these two sources conflict, users
  SHOULD favor the information from the OpenPGP key, as that information
  can be cryptographically protected.

David

To: [email-masked]
Cc: [email-masked]
From: [email-masked]
Subject: I-D ACTION:draft-ietf-openpgp-rfc2440bis-15.txt 
Date: Mon, 07 Nov 2005 18:50:01 -0500
Sender: [email-masked]

--NextPart

A New Internet-Draft is available from the on-line Internet-Drafts directories.
This draft is a work item of the An Open Specification for Pretty Good Privacy Working Group of the IETF.

	Title		: OpenPGP Message Format
	Author(s)	: J. Callas, et al.
	Filename	: draft-ietf-openpgp-rfc2440bis-15.txt
	Pages		: 73
	Date		: 2005-11-7
	
This document is maintained in order to publish all necessary
    information needed to develop interoperable applications based on
    the OpenPGP format. It is not a step-by-step cookbook for writing an
    application. It describes only the format and methods needed to
    read, check, generate, and write conforming packets crossing any
    network. It does not deal with storage and implementation questions.
    It does, however, discuss implementation issues necessary to avoid
    security flaws.

    OpenPGP software uses a combination of strong public-key and
    symmetric cryptography to provide security services for electronic
    communications and data storage.  These services include
    confidentiality, key management, authentication, and digital
    signatures. This document specifies the message formats used in
    OpenPGP.
    OpenPGP software uses a combination of strong public-key and
    symmetric cryptography to provide security services for electronic
    communications and data storage.  These services include
    confidentiality, key management, authentication, and digital
    signatures. This document specifies the message formats used in
    OpenPGP.

A URL for this Internet-Draft is:
http://www.ietf.org/internet-drafts/draft-ietf-openpgp-rfc2440bis-15.txt

To remove yourself from the I-D Announcement list, send a message to 
[email-masked] with the word unsubscribe in the body of the message.  
You can also visit https://www1.ietf.org/mailman/listinfo/I-D-announce 
to change your subscription settings.

Internet-Drafts are also available by anonymous FTP. Login with the username
"anonymous" and a password of your e-mail address. After logging in,
type "cd internet-drafts" and then
	"get draft-ietf-openpgp-rfc2440bis-15.txt".

A list of Internet-Drafts directories can be found in
http://www.ietf.org/shadow.html 
or ftp://ftp.ietf.org/ietf/1shadow-sites.txt

Internet-Drafts can also be obtained by e-mail.

Send a message to:
	[email-masked].
In the body type:
	"FILE /internet-drafts/draft-ietf-openpgp-rfc2440bis-15.txt".
	
NOTE:	The mail server at ietf.org can return the document in
	MIME-encoded form by using the "mpack" utility.  To use this
	feature, insert the command "ENCODING mime" before the "FILE"
	command.  To decode the response(s), you will need "munpack" or
	a MIME-compliant mail reader.  Different MIME-compliant mail readers
	exhibit different behavior, especially when dealing with
	"multipart" MIME messages (i.e. documents which have been split
	up into multiple messages), so check your local documentation on
	how to manipulate these messages.

Below is the data which will enable a MIME compliant mail reader
implementation to automatically retrieve the ASCII version of the
Internet-Draft.

--NextPart
Content-Type: Multipart/Alternative; Boundary="OtherAccess"

--OtherAccess
Content-Type: Message/External-body;
	access-type="mail-server";
	server="[email-masked]"

Content-Type: text/plain
Content-ID:	<[email-masked]>

ENCODING mime
FILE /internet-drafts/draft-ietf-openpgp-rfc2440bis-15.txt

--OtherAccess
Content-Type: Message/External-body;
	name="draft-ietf-openpgp-rfc2440bis-15.txt";
	site="ftp.ietf.org";
	access-type="anon-ftp";
	directory="internet-drafts"

Content-Type: text/plain
Content-ID:	<[email-masked]>

--OtherAccess--

--NextPart--

Date: Fri, 4 Nov 2005 10:18:44 -0500
From: David Shaw <[email-masked]>
To: [email-masked]
Subject: Re: OpenPGP mail/news header -02
Mail-Followup-To: [email-masked]
OpenPGP: id=99242560; url=http://www.jabberwocky.com/david/keys.asc
Sender: [email-masked]

On Thu, Nov 03, 2005 at 01:48:25PM -0600, Brian G. Peterson wrote:
> 
> On Thursday 03 November 2005 10:21 am, David Shaw wrote:
> > I have some concerns with this preference field.  There is already a
> > way to specify this preference on the key itself
> > ("[email-masked]"). 
> 
> I'd like to see the preferred-email-encoding issue covered in an RFC or draft.  
> I think that the issues around user preference and interoperability really 
> need to be in an official RFC.  Hopefully we can take this up as 2440bis 
> winds up and moves on into the next stages.

I agree.  I think the current design is just fine, but documenting it
in an RFC is a good thing to do.

David

From: Simon Josefsson <[email-masked]>
To: [email-masked]
Subject: Re: OpenPGP mail/news header -02
OpenPGP: id=B565716F; url=http://josefsson.org/key.txt
Date: Fri, 04 Nov 2005 15:51:35 +0100
Sender: [email-masked]

David Shaw <[email-masked]> writes:

> On Mon, Oct 31, 2005 at 11:11:56AM +0100, Simon Josefsson wrote:
>> 
>> Hi everyone!  FYI:
>> 
>> I submitted an updated version of this document a few weeks ago.  The
>> changes since -01 are small: A new "preference" field has been added,
>> to signal whether the sender wish that e-mail should be signed,
>> encrypted or both.
>
> I have some concerns with this preference field.  There is already a
> way to specify this preference on the key itself
> ("[email-masked]").

That is not standardized though.  I agree with Brian that I'd like to
see it standardized.

> Once a user finds the key, they have an authoritative and
> tamperproof statement about email preference.  The OpenPGP header is
> not tamperproof, and having the preference in there raises the
> question what to do if the header preference doesn't match the
> preference on the key.

I hope the OpenPGP document doesn't leave any questions as to what
should happen.  The document says in several places that it is for
informational purposes, and that the information should not be
considered trust-worthy.

> I see the OpenPGP header as a useful key finding aid.  Once the key is
> found, though, the header has served its purpose.

I recall some situations where this preference field might be useful.
I think it was another way to bootstrap OpenPGP communication.

Yes, how about this use-case: An announcement-only mailing list might
prefer OpenPGP signed messages.  It could then add a 'OpenPGP:
preference=sign' message to all list posts.  The sender could be the
mailing list address, which may not have a OpenPGP key at all.  So you
couldn't fetch an OpenPGP key for the mailing list address.  Arguable,
the mailing list managers could create a dummy OpenPGP key for the
mailing list address, and set the e-mail preference and upload the
key.  However, so could anyone, since the key isn't used nor trusted
by anyone.  The announcement-only mailing list could be some abstract
mail addresses too.  Like [email-masked] or similar.

I haven't thought this idea through, so it may be silly.  However, I
recall convincing myself that the OpenPGP field may be useful in some
situations where a OpenPGP key preference field is less useful.  These
two ideas doesn't have to be mutually exclusive.  It is clear that the
tamper-proof preference should be preferred, if you trust that key,
but otherwise it doesn't matter.

Thanks,
Simon

From: "Brian G. Peterson" <[email-masked]>
Organization: Braverock Ventures
To: Simon Josefsson <[email-masked]>, [email-masked]
Subject: Re: OpenPGP mail/news header -02
Date: Thu, 3 Nov 2005 13:48:25 -0600
Sender: [email-masked]

On Thursday 03 November 2005 10:21 am, David Shaw wrote:
> I have some concerns with this preference field.  There is already a
> way to specify this preference on the key itself
> ("[email-masked]"). 

I'd like to see the preferred-email-encoding issue covered in an RFC or draft.  
I think that the issues around user preference and interoperability really 
need to be in an official RFC.  Hopefully we can take this up as 2440bis 
winds up and moves on into the next stages.

Regards,

   - Brian

Date: Thu, 3 Nov 2005 14:30:51 -0500
From: David Shaw <[email-masked]>
To: Anand Kumria <[email-masked]>
Cc: [email-masked], [email-masked], [email-masked], [email-masked]
Subject: Re: draft-josefsson-openpgp-mailnews-header and draft-ietf-dnsext-rfc2538bis-09.txt
Mail-Followup-To: Anand Kumria <[email-masked]>, [email-masked], [email-masked], [email-masked], [email-masked]
OpenPGP: id=99242560; url=http://www.jabberwocky.com/david/keys.asc
Sender: [email-masked]

On Mon, Oct 31, 2005 at 06:25:32PM +1100, Anand Kumria wrote:
> Hi there,
> 
> The openpgp-mailnews-header defines a mechanism for senders to notify
> recipients of both their preferences (w.r.t OpenPGP keys) and the keying
> material to be used (e.g. keyid).
> 
> dnsext-rfc2538bis defines a mechanism where keying material is stored
> within the DNS (e.g. OpenPGP).  The overlap here is that users may wish
> to store their key in the DNS (via dnsext-rfc2538bis) and refer to them
> using openpgp-mailnews-header.
> 
> Since openpgp-mailnews-header specifies using a URI to refer to the
> location, it would seem -- to me at least -- that there needs to be some
> kind of URI specification to allow you to refer to DNS resource records.
> 
> Is there one already, or work underway to produce a DNS URI spec.?

There is this, by the same author as rfc2538bis:

  http://josefsson.org/dns-url/draft-josefsson-dns-url-13.txt

David

Date: Thu, 3 Nov 2005 11:21:44 -0500
From: David Shaw <[email-masked]>
To: Simon Josefsson <[email-masked]>
Cc: [email-masked]
Subject: Re: OpenPGP mail/news header -02
Mail-Followup-To: Simon Josefsson <[email-masked]>, [email-masked]
OpenPGP: id=99242560; url=http://www.jabberwocky.com/david/keys.asc
Sender: [email-masked]

On Mon, Oct 31, 2005 at 11:11:56AM +0100, Simon Josefsson wrote:
> 
> Hi everyone!  FYI:
> 
> I submitted an updated version of this document a few weeks ago.  The
> changes since -01 are small: A new "preference" field has been added,
> to signal whether the sender wish that e-mail should be signed,
> encrypted or both.

I have some concerns with this preference field.  There is already a
way to specify this preference on the key itself
("[email-masked]").  Once a user finds the key, they
have an authoritative and tamperproof statement about email
preference.  The OpenPGP header is not tamperproof, and having the
preference in there raises the question what to do if the header
preference doesn't match the preference on the key.

I see the OpenPGP header as a useful key finding aid.  Once the key is
found, though, the header has served its purpose.

David