Re: [core] DTLS and Epochs
"weigengyu" <weigengyu@vip.sina.com> Mon, 05 June 2017 11:54 UTC
Return-Path: <weigengyu@vip.sina.com>
X-Original-To: core@ietfa.amsl.com
Delivered-To: core@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id CEA2D126CF9 for <core@ietfa.amsl.com>; Mon, 5 Jun 2017 04:54:12 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -0.113
X-Spam-Level:
X-Spam-Status: No, score=-0.113 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, FREEMAIL_FROM=0.001, RCVD_IN_BL_SPAMCOP_NET=1.347, RCVD_IN_DNSWL_NONE=-0.0001, SPF_PASS=-0.001, STOX_REPLY_TYPE=0.439, URIBL_BLOCKED=0.001] autolearn=no autolearn_force=no
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id qxJ5qZKeNV9p for <core@ietfa.amsl.com>; Mon, 5 Jun 2017 04:54:09 -0700 (PDT)
Received: from smtp-6-47.vip.sina.com.cn (r3-64.sinamail.sina.com.cn [202.108.3.64]) by ietfa.amsl.com (Postfix) with SMTP id 3F0021271DF for <core@ietf.org>; Mon, 5 Jun 2017 04:54:07 -0700 (PDT)
Received: from unknown (HELO WeiGengyuPC)([117.136.38.145]) by vip.sina.com with ESMTP 5 Jun 2017 19:54:02 +0800 (CST)
X-Sender: weigengyu@vip.sina.com
X-Auth-ID: weigengyu@vip.sina.com
X-SMAIL-MID: 191293278659
Message-ID: <35046B0695F64F97ABE9E1965062E7FC@WeiGengyuPC>
From: weigengyu <weigengyu@vip.sina.com>
To: Jim Schaad <ietf@augustcellars.com>
Cc: 'Klaus Hartke' <hartke@tzi.org>, Carsten Bormann <cabo@tzi.org>, core@ietf.org
References: <003501d2cd32$c4417a10$4cc46e30$@augustcellars.com> <CAAzbHvYb39cPMmw_S0eZ4RSwzzmcE7636tjyu=kyCbUtBOwb0g@mail.gmail.com> <005e01d2cd8f$ae548dc0$0afda940$@augustcellars.com> <BC45A96C78AE43AF896A65A184D287B5@WeiGengyuPC> <014601d2daf1$8f1865c0$ad493140$@augustcellars.com> <849AEC05-87E3-48A7-B5C6-E6B6C8DC98D5@tzi.org> <015501d2dafe$dc53e640$94fbb2c0$@augustcellars.com> <0EE7D28C4BD94A4BB8ACA70FF0182BFC@WeiGengyuPC> <000001d2db51$a7d31c30$f7795490$@augustcellars.com> <B6BE0059DC7749D6AA5621CAE49E5073@WeiGengyuPC> <000301d2db56$24df9ab0$6e9ed010$@augustcellars.com>
In-Reply-To: <000301d2db56$24df9ab0$6e9ed010$@augustcellars.com>
Date: Mon, 05 Jun 2017 19:54:01 +0800
MIME-Version: 1.0
Content-Type: text/plain; format="flowed"; charset="UTF-8"; reply-type="original"
Content-Transfer-Encoding: 8bit
X-Priority: 3
X-MSMail-Priority: Normal
Importance: Normal
X-Mailer: Microsoft Windows Live Mail 16.4.3528.331
X-MimeOLE: Produced By Microsoft MimeOLE V16.4.3528.331
Archived-At: <https://mailarchive.ietf.org/arch/msg/core/ktJ2d4XD_cSBUCyJmnFAC3VTcCw>
Subject: Re: [core] DTLS and Epochs
X-BeenThere: core@ietf.org
X-Mailman-Version: 2.1.22
Precedence: list
List-Id: "Constrained RESTful Environments \(CoRE\) Working Group list" <core.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/core>, <mailto:core-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/core/>
List-Post: <mailto:core@ietf.org>
List-Help: <mailto:core-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/core>, <mailto:core-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 05 Jun 2017 11:54:13 -0000
Hi Jim, I present our opinions about epoch changes. In weekend we (my studens: Mr. Haihai REN and Jiantong LI) reviewed the source code of Cf. CoAP and RFC7252 9.1. Based on the text of RFC7252 and the layered protocol concepts, it may be a problem to tie the CoAP message with DTLS epoch, as you pointed. It may be a problem how the CoAP entity knows the DTLS epoch changes. But, such a problem has never be happened in our previous works. Why? Reviewing Cf. CoAP's source code, it becomes clear that the CoAP entity would read the DTLS epoch when it starts sending messages. In this specific implementation, the CoAP entity has the ability to read DTLS epoch of another object which is a variable of another layer in protocol concepts. In Cf.CoAP source code, when the CoAP entity needs to send messages, it invokes the DTLS entity to work, i.e. to do server and client authentifications; then the client sends ChangeChipherSpec, and server' Finish, the DTLS's epoch change. Actually the epoch is plus one. Then the CoAP entity would get DTLS epoch and begin to send CoAP messages over DTLS Record. It is clear that the CoAP entity could get the new epoch in Cf. CoAP. It is known that Cf. CoAP is a specific implementation in which getting epoch is not a tough work. It seems that it is not a critical matter in software implementation as in protocol concept. Probably, statements in RFC7252 should be clear enough to tell that the CoAP getting DTLS epoch is a cross-layer operation. Regards, Gengyu WEI Network Technology Center School of Computer Beijing University of Posts and Telecommunications -----原始邮件----- From: Jim Schaad Sent: Friday, June 02, 2017 12:10 PM To: 'weigengyu' Cc: 'Klaus Hartke' ; core@ietf.org Subject: RE: [core] DTLS and Epochs My intention is to get rid of the requirement since it makes no sense. That is what the message I sent to Carsten was about. What is the best process for doing so. Jim -----Original Message----- From: weigengyu [mailto:weigengyu@bupt.edu.cn] Sent: Thursday, June 1, 2017 8:58 PM To: Jim Schaad <ietf@augustcellars.com>; 'Carsten Bormann' <cabo@tzi.org> Cc: 'Klaus Hartke' <hartke@tzi.org>; core@ietf.org Subject: Re: [core] DTLS and Epochs Hi Jim, Thank you for your explainations. > Section 9.1.1 of RFC 7252 in paragraph 2 has the unfortunate > requirement that all messages MUST be responded to using the epoch value. It is really unfortunate requirements that the application protocol is forced to be tied with the lower-layer variable. Is there an intension to creat a cross-layer mechanim? Regards, Gengyu WEI Network Technology Center School of Computer Beijing University of Posts and Telecommunications -----原始邮件----- From: Jim Schaad Sent: Friday, June 02, 2017 11:38 AM To: 'weigengyu' ; 'Carsten Bormann' Cc: 'Klaus Hartke' ; core@ietf.org Subject: RE: [core] DTLS and Epochs Section 9.1.1 of RFC 7252 in paragraph 2 has the unfortunate requirement that all messages MUST be responded to using the epoch value. Without the knowledge that the epoch value has changed this is not enforceable on either end. -----Original Message----- From: weigengyu [mailto:weigengyu@bupt.edu.cn] Sent: Thursday, June 1, 2017 5:27 PM To: Jim Schaad <ietf@augustcellars.com>; 'Carsten Bormann' <cabo@tzi.org> Cc: 'Klaus Hartke' <hartke@tzi.org>; core@ietf.org Subject: Re: [core] DTLS and Epochs Hi, > Please note - I did not say that the epoch was not changed, I said > that it does not tell me that the epoch has changed. > From a strictly security point of view there is no reason to do so if, > for example, the epoch changed just because the key was rolled over. Why the epoch changed event must tell "me", i.e. the upper layer entity? Regards, Gengyu WEI Network Technology Center School of Computer Beijing University of Posts and Telecommunications -----原始邮件----- From: Jim Schaad Sent: Friday, June 02, 2017 1:45 AM To: 'Carsten Bormann' Cc: 'weigengyu' ; 'Klaus Hartke' ; core@ietf.org Subject: RE: [core] DTLS and Epochs -----Original Message----- From: Carsten Bormann [mailto:cabo@tzi.org] Sent: Thursday, June 1, 2017 9:36 AM To: Jim Schaad <ietf@augustcellars.com> Cc: weigengyu <weigengyu@bupt.edu.cn>; Klaus Hartke <hartke@tzi.org>; core@ietf.org Subject: Re: [core] DTLS and Epochs On Jun 1, 2017, at 18:10, Jim Schaad <ietf@augustcellars.com> wrote: > > Please note - I did not say that the epoch was not changed, I said > that it does not tell me that the epoch has changed. From a strictly > security point of view there is no reason to do so if, for example, > the epoch changed just because the key was rolled over. Right, and the question for me is: How do we get from the overly restrictive spec in 7252 to something that is still secure and can be supported by TLS libraries that are out there. [JLS] I believe that the only way is to do an update to 7252. I originally thought that I would file an errata, but I do not believe that is a correct use of the errata system. It is used for things which are unclear or technically wrong. This is not wrong, just misguided. It might be easiest to just do a delta RFC unless there is a good number of errata that need to be rolled into an updated document. Jim Grüße, Carsten
- [core] DTLS and Epochs Jim Schaad
- Re: [core] DTLS and Epochs Klaus Hartke
- Re: [core] DTLS and Epochs Carsten Bormann
- Re: [core] DTLS and Epochs Klaus Hartke
- Re: [core] DTLS and Epochs Jim Schaad
- Re: [core] DTLS and Epochs Carsten Bormann
- Re: [core] DTLS and Epochs Jim Schaad
- Re: [core] DTLS and Epochs Jim Schaad
- Re: [core] DTLS and Epochs weigengyu
- Re: [core] DTLS and Epochs Jim Schaad
- Re: [core] DTLS and Epochs Jim Schaad
- Re: [core] DTLS and Epochs weigengyu
- Re: [core] DTLS and Epochs Kraus Achim (INST/ECS4)
- Re: [core] DTLS and Epochs Carsten Bormann
- Re: [core] DTLS and Epochs Jim Schaad
- Re: [core] DTLS and Epochs Simon Bernard
- Re: [core] DTLS and Epochs weigengyu
- Re: [core] DTLS and Epochs Simon Bernard
- Re: [core] DTLS and Epochs weigengyu
- Re: [core] DTLS and Epochs weigengyu