Re: [karp] Gen-ART review of draft-ietf-karp-crypto-key-table-08

"Black, David" <david.black@emc.com> Fri, 16 August 2013 17:50 UTC

Return-Path: <david.black@emc.com>
X-Original-To: karp@ietfa.amsl.com
Delivered-To: karp@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 269D821F92B9; Fri, 16 Aug 2013 10:50:04 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -102.599
X-Spam-Level:
X-Spam-Status: No, score=-102.599 tagged_above=-999 required=5 tests=[AWL=0.000, BAYES_00=-2.599, USER_IN_WHITELIST=-100]
Received: from mail.ietf.org ([12.22.58.30]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id ExS4MwCrFlK8; Fri, 16 Aug 2013 10:49:58 -0700 (PDT)
Received: from mexforward.lss.emc.com (hop-nat-141.emc.com [168.159.213.141]) by ietfa.amsl.com (Postfix) with ESMTP id 626BC21F844D; Fri, 16 Aug 2013 10:49:57 -0700 (PDT)
Received: from hop04-l1d11-si03.isus.emc.com (HOP04-L1D11-SI03.isus.emc.com [10.254.111.23]) by mexforward.lss.emc.com (Switch-3.4.3/Switch-3.4.3) with ESMTP id r7GGVjBB013274 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Fri, 16 Aug 2013 12:31:46 -0400
Received: from mailhub.lss.emc.com (mailhubhoprd03.lss.emc.com [10.254.221.145]) by hop04-l1d11-si03.isus.emc.com (RSA Interceptor); Fri, 16 Aug 2013 12:31:23 -0400
Received: from mxhub23.corp.emc.com (mxhub23.corp.emc.com [128.222.70.135]) by mailhub.lss.emc.com (Switch-3.4.3/Switch-3.4.3) with ESMTP id r7GGVMQ7020802; Fri, 16 Aug 2013 12:31:23 -0400
Received: from mx15a.corp.emc.com ([169.254.1.99]) by mxhub23.corp.emc.com ([128.222.70.135]) with mapi; Fri, 16 Aug 2013 12:31:22 -0400
From: "Black, David" <david.black@emc.com>
To: Sam Hartman <hartmans-ietf@mit.edu>
Date: Fri, 16 Aug 2013 12:31:20 -0400
Thread-Topic: [karp] Gen-ART review of draft-ietf-karp-crypto-key-table-08
Thread-Index: Ac6ZJNjZjowH+sHwRJSBvO6n+kH4QABddLkA
Message-ID: <8D3D17ACE214DC429325B2B98F3AE7129C489279@MX15A.corp.emc.com>
References: <8D3D17ACE214DC429325B2B98F3AE7129C2B7440@MX15A.corp.emc.com> <tslr4dwcbmh.fsf@mit.edu>
In-Reply-To: <tslr4dwcbmh.fsf@mit.edu>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
acceptlanguage: en-US
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-EMM-MHVC: 1
Cc: "ietf@ietf.org" <ietf@ietf.org>, "tim.polk@nist.gov" <tim.polk@nist.gov>, "General Area Review Team \(gen-art@ietf.org\)" <gen-art@ietf.org>, "Black, David" <david.black@emc.com>, "karp@ietf.org" <karp@ietf.org>
Subject: Re: [karp] Gen-ART review of draft-ietf-karp-crypto-key-table-08
X-BeenThere: karp@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: Discussion list for key management for routing and transport protocols <karp.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/karp>, <mailto:karp-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/karp>
List-Post: <mailto:karp@ietf.org>
List-Help: <mailto:karp-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/karp>, <mailto:karp-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 16 Aug 2013 17:50:04 -0000

Sam,

Thanks for taking another look at this.  I think we're in good shape on
the IPsec relationship concern, but I think key selection responsibility
could use some more attention.

[A] The new text on the IPsec relationship looks good - I'd suggest also
adding a sentence to state that keys for IPsec pre-shared-key authentication
are not appropriate for this key database.

[C] The key selection responsibility was not clear to me from the draft -
the intent/design stated in your message is fine (and having one key
be returned is simpler, and probably more robust than handing
multiple keys to different protocol implementations and hoping
that they do something consistent):

> I think we've discussed key selection in the WG and come to a different
> conclusion.  The key table selects the key.  We expect peer, key ID,
> protocol and interface to identify a unique key for an inbound packet.

My confusion stems from section 3 starting out by stating that the
key database is consulted "to find the key to use on an outgoing message"
followed by several sentences that indicate that the consultation may
result in multiple keys.  That leads to a suggestion and a question.

Suggestion: 

Add a new paragraph at the start of Section 3 to make the functional
responsibility clear:

  Key selection is the responsibility of the key database functionality;
  in all cases, the protocol requests a key, and the database returns one
  key or an indication that there is no matching key.  When multiple keys
  match a protocol's request, the key database selects one as described
  further in this section.

Question:

What happens, when despite all the measures described in Section 3,
multiple keys match a protocol's request?  How does one ensure that the
key databases at both ends of the security association return the same
key?

Thanks,
--David

> -----Original Message-----
> From: Sam Hartman [mailto:hartmans-ietf@mit.edu]
> Sent: Wednesday, August 14, 2013 3:32 PM
> To: Black, David
> Cc: housley@vigilsec.com; tim.polk@nist.gov; Dacheng Zhang
> (zhangdacheng@huawei.com); General Area Review Team (gen-art@ietf.org);
> karp@ietf.org; ietf@ietf.org
> Subject: Re: [karp] Gen-ART review of draft-ietf-karp-crypto-key-table-08
> 
> >>>>> "Black," == Black, David <david.black@emc.com> writes:
> 
> 
>     Black,> [A] Overall - I would like to see a paragraph added on how
>     Black,> this database conceptually relates to the IPsec Peer
>     Black,> Authorization Database (PAD) - see RFC 4301, section 4.4.3.
> 
> It doesn't.
> not even a little bit.
> It's not IPsec; it's not about what key management peers to interact
> with.
> 
> It's conceptually similar to the Security Association Database (SAD).
> In a discussion with Jari I agreed to propose text for a paragraph
> describing how this interacts with IPsec.
> 
> If this conceptual database is used to manage to keys for a security
>     protocol that uses IPsec [RFC4301] security services, then  the
>     interactions between this conceptual database and the IPsec
>     databases needs to be described by the protocol specification.
>     Typically such a protocol would insert entries into the Security
>     Association Database (SAD) when rows are inserted into the key table
>     and remove SAD entries when key table rows are removed.  The
>     protocol specification needs to describe how the SAD entries are
>     constructed along with any other IPsec database entries that are
>     needed, including a description of how these entries are ordered
>     along with other IPsec database entries.  The question of whether it
>     is desirable to use this conceptual database to manage protocols
>     that use IPsec security services is open and has not been evaluated.
> 
>     Black,> [C] (Section 3) Where does key selection occur?  I would
>     Black,> suggest that the database return all possible keys and let
>     Black,> the protocol figure out what to use.  This is particularly
>     Black,> important for inbound traffic for obvious reasons.
> 
> I think we've discussed key selection in the WG and come to a different
> conclusion.  The key table selects the key.  We expect peer, key ID,
> protocol and interface to identify a unique key for an inbound packet.
> 
> So, I think the concern you raise is not a problem.
> While there was not a specific thread discussing key selection or this
> issue, there were multiple reviewers who provided comments on key
> selection over the development of the document, and making a major
> change at this point without a technical problem seems undesirable.
> If I'm missing something and the inbound packet issue is a problem then
> we need to discuss it.