Re: [NSIS] Responder Cookie construction
"Hannes Tschofenig" <Hannes.Tschofenig@gmx.net> Sat, 28 April 2007 08:35 UTC
Return-path: <nsis-bounces@ietf.org>
Received: from [127.0.0.1] (helo=stiedprmman1.va.neustar.com) by megatron.ietf.org with esmtp (Exim 4.43) id 1HhiP6-0000zJ-4S; Sat, 28 Apr 2007 04:35:40 -0400
Received: from [10.91.34.44] (helo=ietf-mx.ietf.org) by megatron.ietf.org with esmtp (Exim 4.43) id 1HhiP5-0000xT-1j for nsis@ietf.org; Sat, 28 Apr 2007 04:35:39 -0400
Received: from mail.gmx.net ([213.165.64.20]) by ietf-mx.ietf.org with smtp (Exim 4.43) id 1HhiP4-000163-AV for nsis@ietf.org; Sat, 28 Apr 2007 04:35:38 -0400
Received: (qmail 22589 invoked by uid 0); 28 Apr 2007 08:35:37 -0000
Received: from 195.3.113.74 by www096.gmx.net with HTTP; Sat, 28 Apr 2007 10:35:37 +0200 (CEST)
Content-Type: text/plain; charset="us-ascii"
Date: Sat, 28 Apr 2007 10:35:37 +0200
From: Hannes Tschofenig <Hannes.Tschofenig@gmx.net>
In-Reply-To: <463262B7.7070803@roke.co.uk>
Message-ID: <20070428083537.70060@gmx.net>
MIME-Version: 1.0
References: <463262B7.7070803@roke.co.uk>
Subject: Re: [NSIS] Responder Cookie construction
To: Andrew McDonald <andrew.mcdonald@roke.co.uk>, nsis@ietf.org
X-Authenticated: #29516787
X-Flags: 0001
X-Mailer: WWW-Mail 6100 (Global Message Exchange)
X-Priority: 3
X-Provags-ID: V01U2FsdGVkX1/yHNZ8zLXy2PVMp0dIaDNwfSv6IDwtMNNkhXaCgc uEr6cSXEe7/g+W+vYA3OHb4uLe2UINZOWPXw==
Content-Transfer-Encoding: 7bit
X-GMX-UID: bjEAcjxTTXsuUIAHo2U5FstCRzdyMoMK
X-Spam-Score: 0.0 (/)
X-Scan-Signature: 287c806b254c6353fcb09ee0e53bbc5e
Cc:
X-BeenThere: nsis@ietf.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: Next Steps in Signaling <nsis.ietf.org>
List-Unsubscribe: <https://www1.ietf.org/mailman/listinfo/nsis>, <mailto:nsis-request@ietf.org?subject=unsubscribe>
List-Post: <mailto:nsis@ietf.org>
List-Help: <mailto:nsis-request@ietf.org?subject=help>
List-Subscribe: <https://www1.ietf.org/mailman/listinfo/nsis>, <mailto:nsis-request@ietf.org?subject=subscribe>
Errors-To: nsis-bounces@ietf.org
The aspect of Cookie construction in case of NAT traversal is addressed in http://tools.ietf.org/html/draft-pashalidis-nsis-gimps-nattraversal-04 -------- Original-Nachricht -------- Datum: Fri, 27 Apr 2007 21:53:11 +0100 Von: Andrew McDonald <andrew.mcdonald@roke.co.uk> An: NSIS Working Group <nsis@ietf.org> Betreff: [NSIS] Responder Cookie construction > Hi, > > In reviewing the draft and attempting to implement 'late state > installation' (i.e. wait until you get a Confirm before installing > routing state), I found some potential issues in the suggested > (non-normative) construction for responder cookies in section 8.5. > > (Part of this also relates to gist-aware nat-traversal.) > > For reference, the construction there is: > R-Cookie = liveness data + hash (locally known secret, > Q-Node NLI, MRI, NSLPID, > reception interface, > liveness data) > > There are four particular cases to consider: > 1) install routing state when you get the Query > 2) wait until you receive the Confirm before installing routing state > 3) as case (1), but where there is a NAT-Traversal object in the Query > 4) as case (2), but where there is a NAT-Traversal object in the Query > > The current construction is sufficient for (1), although in that case an > implementer may well choose just to generate random cookies and remember > them in the responding node. > > One issue, however, I'm not clear whether the whole "Q-Node NLI" element > is relevant. The key parts of the NLI for routing state are the Peer ID > and Interface Address. Are there any problems if Routing State Validity > Time was to change between Query and Confirm? > > For (2), it is necessary to store the reception interface in the cookie. > The responding node can only discover this from a Q-mode encapsulated > message. If not keeping routing state, then it needs to be able to > recover this information from the cookie in the confirm. An version of > the cookie construction to handle this would be: > R-Cookie = liveness data + reception interface + > hash (locally known secret, > Q-Node NLI, MRI, NSLPID, > reception interface, > liveness data) > > For (3) and (4) things get slightly more complicated. Section 7.2.3 says > Therefore, a Responding node that wishes to delay state installation > until receiving a Confirm must somehow reconstruct the translations > when the Confirm arrives. How to do this is an implementation issue; > one approach is to carry the translated objects as part of the > Responder cookie which is echoed in the Confirm. Indeed, for one of > the cookie constructions in Section 8.5 this is automatic. > However, section 8.5 does not currently appear to cover this. > > I'll discuss this from the point of view of case (4), case (3) is > simpler since routing state data does not need to be recovered from the > cookie. > > If there is a NAT traversal object present, I think we need to take into > account both the translated and untranslated MRIs, since the responding > node is expected to construct its routing state based on the > untranslated MRI, but the translated MRI is needed by NSLPs. > > Also, the translated NLI needs to be recovered, since that is what > should be used in the routing state (but only the untranslated NLI will > be in the Confirm[*]). > > So, the cookie construction we need for case (4) probably looks like: > R-Cookie = liveness data + reception interface + > translated MRI + translated NLI + > hash (locally known secret, > translated Q-Node NLI, > untranslated MRI, > translated MRI, > NSLPID, > reception interface, > liveness data) > > In case (3), we don't need the recoverable data outside the hash. > > I did also wonder whether the SID ought to be incorporated into the > hashed data. The SID is part of the routing state to avoid malicious > (blind, off-path) modification of the state. Are there any security > issues if it was to change between Query and Confirm? If it did, then in > the current state of affairs different routing state would be installed > in the last state installation case to if the state had been installed > when the query was received. (Also, if state had been installed when the > Query was received the Confirm would be rejected as not matching that > routing state.) > > The remaining question is, how much of this discussion (and which > suggested constructions) needs to be included in 8.5? > > [*] I've also just noticed that 7.2.2 says that opaque versions of the > NLI may be carried in the NAT-Traversal object to aid topology hiding. > If the untranslated version appears in the Confirm, how does this help? > > regards, > Andrew > > _______________________________________________ > nsis mailing list > nsis@ietf.org > https://www1.ietf.org/mailman/listinfo/nsis _______________________________________________ nsis mailing list nsis@ietf.org https://www1.ietf.org/mailman/listinfo/nsis
- [NSIS] Responder Cookie construction Andrew McDonald
- RE: [NSIS] Responder Cookie construction Christian Dickmann
- Re: [NSIS] Responder Cookie construction Andrew McDonald
- Re: [NSIS] Responder Cookie construction Hannes Tschofenig