[{"author": "Quynh Dang", "text": "

Hi chairs, the volume is very low at my end. Quynh.

", "time": "2022-07-29T14:07:01Z"}, {"author": "Stephen Farrell", "text": "

please join the queue if you'd like to speak to an issue whether remote or local (but we're not a huge crowd so we can probably manage even if you don't)

", "time": "2022-07-29T14:07:01Z"}, {"author": "Justus Winter", "text": "

yes

", "time": "2022-07-29T14:07:24Z"}, {"author": "Quynh Dang", "text": "

yes. thank you.

", "time": "2022-07-29T14:07:30Z"}, {"author": "Justus Winter", "text": "

I'm keen on random

", "time": "2022-07-29T14:11:28Z"}, {"author": "Justus Winter", "text": "

About the procedure, the design team members have often expressed their opinions in the tracker, and I feel like repeating them here doesn't add anything new. What should we do?

", "time": "2022-07-29T14:13:07Z"}, {"author": "Justus Winter", "text": "

ok

", "time": "2022-07-29T14:13:43Z"}, {"author": "Justus Winter", "text": "

If removing the rationale helps, I'm fine with that

", "time": "2022-07-29T14:14:57Z"}, {"author": "Daniel Huigens", "text": "

:thumbsup:

", "time": "2022-07-29T14:16:50Z"}, {"author": "Benjamin Kaduk", "text": "

It must be exciting to \"push the red button\"

", "time": "2022-07-29T14:20:39Z"}, {"author": "Jabber", "text": "

dkg: Quynh, can you enable your own audio?

", "time": "2022-07-29T14:22:28Z"}, {"author": "Stephen Farrell", "text": "

@quynh go ahead or do you have audio issues?

", "time": "2022-07-29T14:22:29Z"}, {"author": "Quynh Dang", "text": "

I can go now.

", "time": "2022-07-29T14:22:53Z"}, {"author": "Benjamin Kaduk", "text": "

I expect/hope that Quynh is speaking to the FIPS requirements regarding encryption modes

", "time": "2022-07-29T14:24:22Z"}, {"author": "Justus Winter", "text": "

Quynh: your mic is still hot

", "time": "2022-07-29T14:30:32Z"}, {"author": "Justus Winter", "text": "

nvm

", "time": "2022-07-29T14:30:43Z"}, {"author": "Quynh Dang", "text": "

thank you Justus.

", "time": "2022-07-29T14:31:19Z"}, {"author": "Phillip Hallam-Baker", "text": "

Yeah, stuff happens. If you do it in the RFC, can write security considerations

", "time": "2022-07-29T14:31:31Z"}, {"author": "Roman Danyliw", "text": "

The desire on GCM is pretty clear

", "time": "2022-07-29T14:32:59Z"}, {"author": "Benjamin Kaduk", "text": "

Thanks Justus! I am now more strongly in favor of keeping things in a direct key signature :)

", "time": "2022-07-29T14:47:28Z"}, {"author": "Justus Winter", "text": "

the designated revoker's key can also be distributed in the revocation signature

", "time": "2022-07-29T14:57:31Z"}, {"author": "Justus Winter", "text": "

so that it doesn't have to be carried around in the cert

", "time": "2022-07-29T14:57:42Z"}, {"author": "Justus Winter", "text": "

so you only pay the price if the revocation actually happens

", "time": "2022-07-29T14:57:52Z"}, {"author": "Justus Winter", "text": "

nevertheless, that scheme has to be specified

", "time": "2022-07-29T14:58:06Z"}, {"author": "Andrew Gallagher", "text": "

I don't see what advantages designated revokers have over escrow

", "time": "2022-07-29T15:00:10Z"}, {"author": "Justus Winter", "text": "

I think there are two advantages, first it fits corporate workflows well (think someone leaving a company)

", "time": "2022-07-29T15:02:18Z"}, {"author": "Roman Danyliw", "text": "

I believe the COSE reference Ben is explaining is https://datatracker.ietf.org/doc/draft-ietf-cose-rfc8152bis-algs/

", "time": "2022-07-29T15:02:44Z"}, {"author": "Justus Winter", "text": "

second, you can be more precise in the time and reason for the revocation

", "time": "2022-07-29T15:03:01Z"}, {"author": "Justus Winter", "text": "

(if you escrow, you can escrow a bunch of time X reason revocation certificates, but that will always be imprecise)

", "time": "2022-07-29T15:03:37Z"}, {"author": "Stephen Farrell", "text": "

thanks roman (and ben)

", "time": "2022-07-29T15:04:01Z"}, {"author": "Benjamin Kaduk", "text": "

On guidance to IANA designated experts, I like https://datatracker.ietf.org/doc/html/draft-ietf-cose-rfc8152bis-algs-12#section-10.4 , quoting in part:

\n
\n

part, defined as expert review. This section gives some general
\n guidelines for what the experts should be looking for, but they are
\n being designated as experts for a reason, so they should be given
\n substantial latitude.

\n
\n
\n

Expert reviewers should take into consideration the following points:
\n * Point squatting should be discouraged. [...]

\n
", "time": "2022-07-29T15:04:39Z"}, {"author": "Benjamin Kaduk", "text": "

The QUIC \"counterexample\" I mentioned that gives much less leeway to the expert can be found at https://www.rfc-editor.org/rfc/rfc9000.html#name-permanent-registrations :

\n
\n

Permanent registrations in QUIC registries use the Specification Required policy (Section 4.6 of [RFC8126]), unless otherwise specified. The designated expert or experts verify that a specification exists and is readily accessible. Experts are encouraged to be biased towards approving registrations unless they are abusive, frivolous, or actively harmful (not merely aesthetically displeasing or architecturally dubious). The creation of a registry MAY specify additional constraints on permanent registrations.

\n
", "time": "2022-07-29T15:06:33Z"}, {"author": "Orie Steele", "text": "

An example of an open registry: https://github.com/w3c/did-spec-registries

", "time": "2022-07-29T15:07:07Z"}, {"author": "Orie Steele", "text": "

I will note that the guidance to the maintainers could still be improved

", "time": "2022-07-29T15:07:28Z"}, {"author": "Justus Winter", "text": "

I think the only confusion that came up while implementing was about the unit of the memory size parameter

", "time": "2022-07-29T15:08:32Z"}, {"author": "Justus Winter", "text": "

And we improved upon that iirc

", "time": "2022-07-29T15:08:58Z"}, {"author": "Roman Danyliw", "text": "

Competition mentioned about Argon2 = https://www.password-hashing.net/

", "time": "2022-07-29T15:10:27Z"}, {"author": "Justus Winter", "text": "

improvement: https://gitlab.com/openpgp-wg/rfc4880bis/-/commit/88d11499f26a441aa9ca4f454a270be68278e5fa

", "time": "2022-07-29T15:11:07Z"}, {"author": "Roman Danyliw", "text": "

Which then got adopted by CFRG. Now https://datatracker.ietf.org/doc/html/rfc9106

", "time": "2022-07-29T15:11:22Z"}, {"author": "Benjamin Kaduk", "text": "

What do you use for the hash prefix if you're using an EdDSA signature?

", "time": "2022-07-29T15:14:22Z"}, {"author": "Andrew Gallagher", "text": "

The hash prefix should be taken from the digest, not the signature

", "time": "2022-07-29T15:15:06Z"}, {"author": "Benjamin Kaduk", "text": "

But EdDSA doesn't have a digest step before signing

", "time": "2022-07-29T15:15:27Z"}, {"author": "Stephen Farrell", "text": "

@ben: iirc the hash from which the prefix comes is over packets and is what's fed into eddsa (but I may be remembering wong)

", "time": "2022-07-29T15:17:30Z"}, {"author": "Benjamin Kaduk", "text": "

@sftcd ah, that would make some amount of sense

", "time": "2022-07-29T15:18:02Z"}, {"author": "Justus Winter", "text": "

ben: we hash the message, then feed the digest to EdDSA

", "time": "2022-07-29T15:18:11Z"}, {"author": "Benjamin Kaduk", "text": "

(I'm not going to try to find the relevant part of the spec during the meeting, so had to ask)

", "time": "2022-07-29T15:18:18Z"}, {"author": "Tero Kivinen", "text": "

My notes on this issue might need some checking, as most of the discussion is on such level that I do not understand it...

", "time": "2022-07-29T15:19:44Z"}, {"author": "Justus Winter", "text": "

we feed the digest to EdDSA as the message

", "time": "2022-07-29T15:19:45Z"}, {"author": "Daniel Huigens", "text": "

As I've written on the list I personally don't think that this particular type of broken key is worth keeping the checksum for, as there might be many other ways a key might be broken that are non-recoverable also

", "time": "2022-07-29T15:19:54Z"}, {"author": "Andrew Gallagher", "text": "

I don't think the motivation for this check was error recovery, I think it was just the ability to throw away bad stuff with the minimum amount of effort :-)

", "time": "2022-07-29T15:21:16Z"}, {"author": "Justus Winter", "text": "

yes it is about error recovery

", "time": "2022-07-29T15:21:27Z"}, {"author": "Justus Winter", "text": "

if you don't reorder the packets, you may miss revocations

", "time": "2022-07-29T15:21:41Z"}, {"author": "Daniel Huigens", "text": "

Yeah, I meant to Justus's specific point about keeping the checksum for being able to reorder mal-ordered keys

", "time": "2022-07-29T15:22:22Z"}, {"author": "Daniel Huigens", "text": "

(But I also don't think that that was the original motivation for adding the checksum indeed)

", "time": "2022-07-29T15:23:11Z"}, {"author": "Justus Winter", "text": "

you can do that reordering with the asymmetric operations, but cert canonicalization is already maybe the most expensive operation that we do

", "time": "2022-07-29T15:23:11Z"}, {"author": "Jonathan Hoyland", "text": "

Has someone spoken to GitHub and asked them to fix it?

", "time": "2022-07-29T15:28:39Z"}, {"author": "Benjamin Kaduk", "text": "

re \"breakage for the sake of breakage\", the whole point of a cryptographic security protocol is to provide breakage, but only when there's an actual attack. Providing breakage at other times just causes people to be annoyed about the breakage, and we do that inadvertently often enough that we don't have much error budget remaining.

", "time": "2022-07-29T15:29:06Z"}, {"author": "Jonathan Hoyland", "text": "

Esp. if I understood @Ben correctly that they could fix it retroactively without having to re-sign stuff.

", "time": "2022-07-29T15:29:35Z"}, {"author": "Benjamin Kaduk", "text": "

They could fix the openpgp signature without re-signing. I don't know what signature we're talking about and whether it integrates with git in a way that would be covered by the git hash chain.

", "time": "2022-07-29T15:31:09Z"}, {"author": "Andrew Gallagher", "text": "

They might be able to fix their self-sig in principle, but I'm not aware that any such tooling exists. Most clients don't allow you to do fine bit-correction to that level of precision.

", "time": "2022-07-29T15:32:03Z"}, {"author": "Benjamin Kaduk", "text": "

I guess we should probably actually confirm my intuition that you can fix it without re-signing, before we get too far down this path...

", "time": "2022-07-29T15:33:09Z"}, {"author": "Andrew Gallagher", "text": "

Someone with sufficient knowledge of the standard would probably have to fix it in a hex editor. And then you have the question of whether clients would even recognise that the packet was updated, and if so which is the correct one.

", "time": "2022-07-29T15:33:54Z"}, {"author": "Jonathan Hoyland", "text": "

@Ben Kaduk, I just checked, and adding or modifying a signature changes the commit hash.

", "time": "2022-07-29T15:36:43Z"}, {"author": "Justus Winter", "text": "

Jonathan: thanks for checking

", "time": "2022-07-29T15:37:32Z"}, {"author": "Benjamin Kaduk", "text": "

Yes, thanks for checking!

", "time": "2022-07-29T15:38:19Z"}, {"author": "Andrew Gallagher", "text": "

There are two issues being discussed here that I can see - one is signatures over data made by the github key. The other (the one I'm interested in) is self-signatures ON the github key making it unimportable in some contexts. The second is possibly fixable in retrospect, the first definitely is not.

", "time": "2022-07-29T15:39:03Z"}, {"author": "Andrew Gallagher", "text": "

(deleted)

", "time": "2022-07-29T15:39:32Z"}, {"author": "Justus Winter", "text": "

Please move the camera

", "time": "2022-07-29T15:40:06Z"}, {"author": "Justus Winter", "text": "

we cannot see Daniel

", "time": "2022-07-29T15:40:16Z"}, {"author": "Jabber", "text": "

dkg: meetecho: can you pan the camera to reach daniel?

", "time": "2022-07-29T15:40:31Z"}, {"author": "Jabber", "text": "

dkg: thank you!

", "time": "2022-07-29T15:40:43Z"}, {"author": "Benjamin Kaduk", "text": "

I'm waiting for the rest of the talk to be \"Kerberos, but for OpenPGP\" :)

", "time": "2022-07-29T15:41:39Z"}, {"author": "Benjamin Kaduk", "text": "
\n

symmetrically sign stuff, using an HMAC or a CMAC

\n
\n

Or a KMAC!

", "time": "2022-07-29T15:42:44Z"}, {"author": "Justus Winter", "text": "

(obligatory plug :)

", "time": "2022-07-29T15:43:08Z"}, {"author": "Jabber", "text": "

dkg: Andrew: why would it not be possible to fix the self-sigs on the github certificate? if the MPIs of the public key are malformed, that would be awkward (because the fingerprint would change), but the self-sig could be bit-fiddled like any other sig, right?

", "time": "2022-07-29T15:43:49Z"}, {"author": "Jabber", "text": "

dkg: if anyone has a contact at github, i'd be happy to try reaching out to them as a WG chair

", "time": "2022-07-29T15:44:43Z"}, {"author": "Andrew Gallagher", "text": "

@dkg: they could be bit-fiddled, yes. But what happens if a client tries to merge the bit-fiddled version with the non-fiddled one? I'm not saying it wouldn't work - I'm saying I have no clue whether it would work and it might only work in some clients.

", "time": "2022-07-29T15:45:09Z"}, {"author": "Aron Wussler", "text": "

Jonathan commented before: @Ben Kaduk, I just checked, and adding or modifying a signature changes the commit hash.

", "time": "2022-07-29T15:45:26Z"}, {"author": "Aron Wussler", "text": "

So this might be the simple reason why you don't want to fiddle with old signatures

", "time": "2022-07-29T15:46:04Z"}, {"author": "Jonathan Hoyland", "text": "

I guess it would be fixable with a git rebase, but a lot of git trees are a bit fragile.

", "time": "2022-07-29T15:47:05Z"}, {"author": "Benjamin Kaduk", "text": "

I guess HPKE is maybe a \"better fit\" for the existing openpgp classifications than stock AEAD would be ... but it's also not quite the same.

", "time": "2022-07-29T15:47:11Z"}, {"author": "Jabber", "text": "

dkg: Looks like JanZerebecki reported it here: https://github.com/community/community/discussions/27607

", "time": "2022-07-29T15:47:20Z"}, {"author": "Benjamin Kaduk", "text": "

*not quite the same as what Daniel wants

", "time": "2022-07-29T15:47:21Z"}, {"author": "Jonathan Hoyland", "text": "

(Or at least, I keep breaking them :sweat_smile:)

", "time": "2022-07-29T15:47:23Z"}, {"author": "Justus Winter", "text": "

Andrew: In Sequoia, if you merge to certs one with the bad signature, one with the good one, we will discard the bad one and everything will be fine

", "time": "2022-07-29T15:47:28Z"}, {"author": "Aron Wussler", "text": "

Changing commit IDs can be very problematic with many package distribution system

", "time": "2022-07-29T15:49:13Z"}, {"author": "Andrew Gallagher", "text": "

@justus: yes, and I think go-crypto will do the same - it will throw away the bad sig straight away so there's no confusion when the fixed one arrives. But what about those clients that don't recognise the bad selfsig as bad?

", "time": "2022-07-29T15:49:24Z"}, {"author": "Justus Winter", "text": "

then you have two very similar signatures and consider both valid

", "time": "2022-07-29T15:50:10Z"}, {"author": "Justus Winter", "text": "

luckily, both say the same thing, so i don't think this would cause confusion

", "time": "2022-07-29T15:50:23Z"}, {"author": "Andrew Gallagher", "text": "

They may import the new selfsig as a duplicate sig, which would be great. Or they may dedup the two sigs for being the \"same\".

", "time": "2022-07-29T15:50:54Z"}, {"author": "Andrew Gallagher", "text": "

I have no idea if any actual client would do this, I'm just throwing out the possibility that we can't rule it out.

", "time": "2022-07-29T15:51:25Z"}, {"author": "Daniel Huigens", "text": "

:clap:

", "time": "2022-07-29T15:59:46Z"}, {"author": "Quynh Dang", "text": "

thank you all

", "time": "2022-07-29T15:59:47Z"}, {"author": "Justus Winter", "text": "

thank you all :)

", "time": "2022-07-29T15:59:47Z"}, {"author": "Jonathan Hoyland", "text": "

@Aron Wussler, is your scheme PCS secure?

", "time": "2022-07-29T15:59:48Z"}, {"author": "Jabber", "text": "

gniibe: Thank you all.

", "time": "2022-07-29T16:00:27Z"}, {"author": "Jonathan Hoyland", "text": "

@Meetecho: Adjourned

", "time": "2022-07-29T16:00:28Z"}]