Draft Minutes for IETF-62 KINK Meeting

Derek Atkins <[email protected]> Wed, 30 Mar 2005 16:52:11 -0500
Newsgroups gmane.ietf.kink
Message-ID <[email protected]>
--=-=-=

Sorry for taking so long to get these out.  Please let me know if I've
missed anything.

-derek


--=-=-=
Content-Type: text/plain; charset=iso-8859-1
Content-Disposition: attachment; filename=minutes-62.txt
Content-Transfer-Encoding: quoted-printable
Content-Description: Draft Minutes from KINK at IETF-62

KINK Working Group
IETF-62
Friday, March 11, 2005

Co-Chairs: Derek Atkins and John Trostle

Minutes, edited from the jabber logs.

- Agenda Bashing

Nothing to add.  We swapped some ordering due to time constraints.

- draft-ietf-kink-kink editorial status

The editor is not here.
We should have a document by next ietf.

- rfc1510 v krb-clarifications / kcrypto

Ken Raeburn, "kerberos and kink"
  summary of changes from 1510.  quite a lot of changes, presenting
  ones relevant to kink.  crypto split out into separate doc, treat as
  black box.  fixed some bugs, cleaned up asn.1.  compatibility with
  existing implementations rather than older spec.  add ability to
  extend kerberos protocol in future.  krb-error did not get checksum
  added as shown in some of the krb-revisions drafts.  crypto rfc3961,
  black box crypto.  simple operations/attributes.  operations - how
  to generate keys from passphrase, random bits.  req'd checksum for
  each cryptosystem.  pseudorandom function based on encryption key;
  takes string of arb. bits, gives back random output string for key
  gen, other purposes.  encryption/decryption have integrity checking
  built in (lit describes as authenticated encryption).  treated as
  inseparable; newer auth encryption modes may make it difficult to
  separate them anyway.  encryption not deterministic (all
  cryposystems use rand confounder).  no assumption of fixed length
  output.  decrypt w/verf; may have padding octets at end, so length
  may change on decryption (doesn't matter for krb due to asn.1
  framing).  checksum systems - MAC, not hash functions; fns to
  generate/verify.  output not necessarily deterministic ... or fixed
  length.

question: what cksumtype have we defined already that's nondeterministic?

Jeff Hutzelman says md5-des, etc. are confounded i think

Sam Hartman: I believe some of the DES cksumtypes are nondeterministic
 [ verifies later that des-mac is non-deterministic ]

- 2401 v. 2401bis

Derek Atkins presents as Steve Kent could not attend.

Derek: steve couldn't be here today; he sent me a list.
  unfortunately he sent in email, so I cobbled together slides

Jeff H: are these slides available online?

Derek: download 2401bis; the list is in there.

Sam H: The slides are verbatim out of draft-ietf-ipsec-rfc2401bis

Derek: Processing model has been changed to address new scenarios.=20
  There is a new database - peer authorization database (PAD), which
  provides a link between IKE and SPD.  The processing model based on
  decorrelation of the SPD; allows caching of SPD entries.  If an
  implementation uses a decorrelated SPD, it should send the list of
  linked, decorrelated SPD entries via IKE v2 when negotiating an SA
  There is no longer a requirement to support nested SA's or "SA
  bundles"; instead this can be achieved through SPD and forwarding
  table configuration SPD entries were redefined to provide more
  flexibility.  TOS (IPv4) and traffic class (IPv6) have been replaced
  by DSCP and ECN.  The tunnel section has been updated to explain how
  to handle DSCP and ECN bits.  DSCP values may be copied from a
  tunnel header to the inner header by a receiver, based on per-sa
  configuration controls.  [10:26:35 AM] <jhutz> for tunnel mode SA's,
  an SG, BITS, or BITW implementation is now allowed to fragment
  before applying IPsec.  This applies only to IPv4; for v6 only the
  originator may may fragment.  2401bis clarifies that for all
  traffic crossing the ipsec boundary (including ipsec management
  traffic), the SPD or associated caches must be consulted.

Sam H: the problem here is there are apparently a lot of impls that
  will take an incoming packet, find a key to decrypt it, and accept
  it, without bothering to check whether it's on the right SA

Mike Thomas: does that affect KINK?

Derek: 2401bis defines how to handle the situation of an SG with
  multiple subscribers requiring different IPsec contexts a definition
  of reserved SPIs has been added.  text has been added explaining why
  ALL IP packets must be checked -- ipsec includes minimal firewall
  functionality to support access control at the IP layer

Mike T: It would be nice to get to the ones that might affect us

Derek: I know not all of these apply directly to KINK; steve didn't filter =
for me.

Sam H: Yes it would; this is not the most useful presentation.  Steve
  Kent didn't have much time to prepare it.

Derek: The tunnel section has been updated to clarify how to handle
  the ip options field and Ipv6 extension headers when constructing
  the outer header.  SA mapping for inbound traffic has been updated
  to be consistent with changes made in ah and esp for support of
  unicast, anycast, and multicast SAs.  Guidance has been added wrt
  how to handle covert channel created in tunnel mode by copying the
  dscp value to outer header.  Support for AH in IPv4 and IPv6 no
  longer required.  PMTU handling has been updated.  Appendix on
  PMTU/DF/fragmentation deleted.  Added text saying "The IPSP WG is a
  possible future source of guidance.  One of their goals is to
  produce an ID on a "Security Discovery, Policy Exchange, and
  Negotiation Protocol."

Sam H: we just closed IPSP

Derek: Three approaches have been added for handling plaintext
  fragments on the protected side of the ipsec boundary.  Added
  revised text describing how to derive selector values for SAs (from
  the SPD entry or from the packet, etc).  Added a new table
  describeing the relationship between selector values in an SPD
  entry, the PFP flag, and resulting selector values in the
  corresponding SAD entry.  Added appendix B to describe
  decorrelation.  Added text describing how to handle an outbound
  packet which must be discarded.  Added text describing how to handle
  a discarded inbound packet (one that does not match SA on which it
  arrive).  IPv6 mobility header has been added as a possible
  next-layer protocol.  IPv6 mobility header message type has been
  added as a selector.  ICMP message type, code have been added as
  selectors.  Selector "data sensitiviy level" has been removed to
  simplify things.  Updated text describing handling ICMP error
  messages.  appendix on "categorization of ICMP messages" has been
  deleted.  Text for the selector name has been updated and clarified.
  The "next layer protocol" has been further explained and a default
  list of protocols to skip when looking for NLP has been added.  The
  text has been amended to say this doc assumes use of IKEv2 or an SA
  management protocol with comparable features.  Text has been added
  clarifying the algorithm for mapping inbound IPsec datagrams to SAs
  in the presence of multicast SAs.  The appendix "sequence space
  window code example" has been removed.  WRT IP addres and ports, the
  terms "local" and "remote" are used for policy rules (repl. "source"
  and "destination").  "Local" refers to the entiy being protected by
  the ipsec impl; "remote" refers to a peer entity(s).  The terms
  "source" and "destination" still used for packet header fields.

Any questions/comments?

Mike T: maybe have derek go through the list quickly and see if
  anybody believes it affects us.  did any of them actually affect kink at =
all?

Tero Kivenin: Discusses the changes.

Jeff H: yeah, the part abouf "IKEv2 or an SA management protocol with
  comparable features" affects KINK none of the rest sounded to me
  like it was of much interest to kink

Mike T: Ask tero whether we can have a normative reference to ikev2's
  sa creation payloads like we did with ikev1 to pick up these
  features?  So here's my take: we can either just live with 2401 SA
  right now, put capability for 2401 and 2401bis into this draft, or
  have a second rfc to update vor 2401bis features

Sam H: I expect 2401bis to clear the IESG "very soon"

Mike T: I sort of like the latter.  We directly use ikv1 sa creation
  by normatively referencing it.  Part of this is that I'm not sure
  about the upgrade strategy.  So if we can normatively reference
  parts of ikev2 in a future draft, that would make it a lot easier.
  We really don't want two different ways to access 2401bis
  negotiation, I think.

[ People seem to agree ]

Sam H: Tero, do you think that would be OK?

Tero: <shakes head> [ meaning yes ]

- discussion of open issues

KAMADA Ken'ichi : KINK issue list update  (see slides)

[ update on issue list; most issues were closed.  only three issues remain =
open ]

Jeff H: do we think kink needs its own key usages, or can it use the app nu=
mbers?

Jeff H: so, can anyone think of a reason why the U2U case shouldn't be
  simplified by having the initiator send his TGT, and making the
  responder talk to the KDC? =A0I'm not sure, but it seems like that
  would save a full round trip.  Of course, you still have the problem
  of telling when to use U2U.

Mike T: I don't think that works... if I remember correctly

Derek: as I recall it can be a DoS attack against the responder.

Jeff H: Hm.  yeah, I suppose that could be argued.  the question is
  whether it is worthwhile to save a round trip at the expense of
  having to deal with the potential DoS in some less-good way (like
  rate limiting SA creation)

Sam H: Having a network request that requires another service to do a
  network request is not desirable.  I.E. if you are initiating
  something, you should have to go do the leg work of talking to the
  KDC.

Mike T: They may in fact be disjoint connectivitywise with the kdc's.
  Say the one kdc is behind a firewall...

Jeff H: if they don't both have connectivity to the KDC, how did the
  responder get its tickets?  But sam's point is well-taken.

Sam H: U2U cross-realm is the interesting case

Mike T: I still don't understand 12 -- can ken talk about it?

Jeff H: Ken left, and I don't remember what 12 is (it's not on the srceen a=
nymore)

Sam H: What is 12?

Derek: #12 [**] Subsession keys (section 5 and 8)
       Are subsession keys ignored?  (Ken Raeburn)

Sam H: I can discuss 12 if you like.

Jeff H: I think discussing 12 is a good idea.  Discussing u2u might
  also be a good idea, but I'm not sure if it can be solved today.

Jeff H: I'd like to touch on key usages.  I'm fairly happy with the
  resolutions I saw to the other Kerberos-related issues the KRB-ERROR
  proposal annoys me, but we don't yet provide what you need and you
  may not want to wait for RFC1510ter to be published.

Sam H: You really do not want to wait for 1510ter

Mike T: right... I'm cool with nuking the krb-error keying

Jeff H: 1510ter is supposed to go to WGLC by august..  If that
  happens, I'd guess it would be published around this time next year.
  It could take longer...

Sam H: #12.  field in ap-req for subsession keys in gssapi, key in
  tkt..  client proposes a key in its message.  acceptor proposes a
  new key, using client key and session key.  acceptors key is used.
  - another option: diff keys in different directions
  - another: not use subkey

Sam H: issue: session key could be long-lived

Mike T: but isn't the subkey as well??  it's in the same ticket

Derek: matatcisco: no, subkey is in AP-REQ

Jeff H: no.  a subkey can be negotiated for each AP-REQ/AP-REP.  So
  reusing the same kerberos ticket for another connectioin/session
  does not mean you have to reuse the same key.

Mike T: so our use of nonce is the moral equivalent of the subsession key.

Jeff H: It might be; I've not read that part of your doc in enough detail y=
et.

Sam H: propose same thing as gssapi..  client subkey overrides session
  key; server subkey overrides client subkey re nonce: no, it's not
  integrated into the crypto

Mike T: yes it does!  it's used to generate the key!

Jeff H: Mike, can you give me a ref to the part of the document I
  should look at for this?

Mike T: if we're using kcrypto, does that imply use of the subsession
  key I don't know what that means!

Sam H: no..  subsession key is an optional field.  "MUST not send.
  SHOULD ignore on receive".  we should take to the list.

Mike T: my feeling is that if it ain't broken now, we shouldn't change it

Jeff H: No. =A0kcrypto has no effect on this question

Mike T: which issue are we on?
Derek: 37
Mike: thanks

Jeff H: at first glance, the key derivation described in section 8
  looks like the use of the nonce is sufficient to make it not
  necessary to use subkeys.

Derek: good.  that means our conclusion to #12 is okay.
Jeff: correct

Jeff H: we can use key usages, send mail to cliff to get them
  registered.  we don't need to wait until 1510ter.

Mike: mic!

Jeff H: yes, I think your conclusion to #12 is ok

Sam H: I think we can close #37 if there is consensus on the new text for s=
ection 8

Derek: #37.  Assume 37 is closed.  Note that sam will have to read/review i=
ke.

Jeff H: oh...  one of the nonce's is non-optional, right?

Sam H: 4.3 wasn't enough detail for NULL/zero-length string.

Derek: okay.  37 closed.


Derek: Okay, #2.  when do you use U2U?  Pad?  decide which principle
  to use?  use PAD?

Mike T: pad? what is that?
Derek: PAD is a 2401bis concept

Sam H: KINK has principle of remote host in the PAD.  Auth based on
  errors from kdc.  other side must have way to say "use U2U this
  time"

  I think KINK needs to know in advance what principal it's
  going to talk to, whether it is U2U or not.  Obviously if it's not
  U2U, you have to know what service to request a ticket for.  But
  even in the U2U case, you can't just trust the other guy's assertion
  of what principal you should auth to.

  Three issues:
  (1) what principal to use -- needs to be in PAD
  (2) whether to use U2U -- PAD, or learning from remote side.
      you can use KDC errors for optimization, but can't depend on them.
  (3) in cross-realm U2U, in what realm do you rendesvous?

Mike T: I don't think we violate the "depend" maxim

Jeff H: initiator gets ticket in target realm

Sam H: people believe it will work with the target's realm.  if that's
  the case, it is clearly the right thing.

Mike T: that's how it was all explained to me by matt hur and sasha
  right... this was discussed in great depth a long time ago

Jeff H: this morning I read the expired -06 draft, since nothing newer
  was in the I-D repository.  In that document, the intiator was
  supposed to send a TGT-REQ and do U2U if and only if it got an error
  from the KDC indicating it "can't get a service ticket" for the
  responder.

Mike T: me too :)
Mike T (to Jeff H): yep

Jeff H: The problem with that is the KDC can't always know that -- the
  issue is whether the responder knows its key/password, or only has
  tickets presumably you can't get a service ticket for a PKINIT-only
  client, but there can be other cases where you have to use U2U

Mike T: only work...

Jeff H: When the next version of the document is published, I'll look at it

Mike T: ok... it's going to take me a while to slog through it... I
  can honestly use some help on the kcrypto stuff...

Jeff H: raeburn's your man for kcrypto.  but it's really pretty
  straightforward, or at least we hope it is.

Mike T: mostly it's my vague familiarity, and getting the wordsmithing
  correct yeah, I guess I can take a stab at it and send him the
  sections to see if they look right

Jeff H: probably not a bad idea

--=-=-=


-- 
       Derek Atkins                 617-623-3745
       [email protected]             www.ihtfp.com
       Computer and Internet Security Consultant

--=-=-=--