Re: [TLS] TLS grammar checker?

"Hannes Tschofenig" <Hannes.Tschofenig@gmx.net> Wed, 19 June 2013 12:29 UTC

Return-Path: <hannes.tschofenig@gmx.net>
X-Original-To: tls@ietfa.amsl.com
Delivered-To: tls@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 5045221F99C3 for <tls@ietfa.amsl.com>; Wed, 19 Jun 2013 05:29:57 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -101.118
X-Spam-Level:
X-Spam-Status: No, score=-101.118 tagged_above=-999 required=5 tests=[AWL=0.023, BAYES_00=-2.599, HTML_MESSAGE=0.001, MIME_HTML_ONLY=1.457, 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 ycKBC-WVYT7q for <tls@ietfa.amsl.com>; Wed, 19 Jun 2013 05:29:52 -0700 (PDT)
Received: from mout.gmx.net (mout.gmx.net [212.227.17.21]) by ietfa.amsl.com (Postfix) with ESMTP id 625A521F9C0A for <tls@ietf.org>; Wed, 19 Jun 2013 05:29:52 -0700 (PDT)
Received: from 3capp-gmx-bs32.server.lan ([172.19.170.84]) by mrigmx.server.lan (mrigmx002) with ESMTP (Nemesis) id 0LjfpG-1UI9gp3CQa-00bYsW; Wed, 19 Jun 2013 14:29:47 +0200
Received: from [194.251.119.196] by 3capp-gmx-bs32.server.lan with HTTP; Wed Jun 19 14:29:47 CEST 2013
MIME-Version: 1.0
Message-ID: <trinity-95a36674-8e5a-4db9-a0bb-94526058ef25-1371644987637@3capp-gmx-bs32>
From: Hannes Tschofenig <Hannes.Tschofenig@gmx.net>
To: Peter Gutmann <pgut001@cs.auckland.ac.nz>
Content-Type: text/html; charset="UTF-8"
Date: Wed, 19 Jun 2013 14:29:47 +0200
Importance: normal
Sensitivity: Normal
In-Reply-To: <9A043F3CF02CD34C8E74AC1594475C7343D68B9A@uxcn10-2.UoA.auckland.ac.nz>
References: <9A043F3CF02CD34C8E74AC1594475C7343D68B9A@uxcn10-2.UoA.auckland.ac.nz>
X-UI-Message-Type: mail
X-Priority: 3
X-Provags-ID: V03:K0:/zEbMZclOntyehD7oZ/TXRJ1E6KxwaxPrN6hOnoCahZ NOQlFpockebVUVLce7QdeL8W+AJxMC2uqAY8wBqriebRUmYXYN UMoJMhb6wyburcwldHQPE7pjCyM7+l3ieUYnd2aiNemj56e0dU ZqWy8cMws0kuTTFt7n+p5MZISUv3lSfzXjlnIWqFgI0mMSlqOO E7KfSNnz8nKOuvnl8xlIgbrh6StAigDLLVm3DxYvPw0I3Smn3R Ds+Jw7q8OFmzJB1dFG5Nl2m33TMAnhwklvY1NjOk3fcavLYBNM bxCSxg=
Cc: "tls@ietf.org" <tls@ietf.org>
Subject: Re: [TLS] TLS grammar checker?
X-BeenThere: tls@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: "This is the mailing list for the Transport Layer Security working group of the IETF." <tls.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/tls>, <mailto:tls-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/tls>
List-Post: <mailto:tls@ietf.org>
List-Help: <mailto:tls-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/tls>, <mailto:tls-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 19 Jun 2013 12:29:57 -0000

To be honest, I never though that the SSL/TLS syntax is particularly helpful for an implementer nor for someone reading the document. 
I wonder whether it would be best to switch to something else in future documents. I don't think that mandating a specific language is particuarly useful either since (as we know from other protocols) there are pros and cons with all of them. 
 
I personally think that a description in natural language is typically best.
 
Gesendet: Mittwoch, 19. Juni 2013 um 14:10 Uhr
Von: "Peter Gutmann" <pgut001@cs.auckland.ac.nz>
An: "tls@ietf.org" <tls@ietf.org>
Betreff: Re: [TLS] TLS grammar checker?
Nico Williams <nico@cryptonector.com> writes:

>Ad-hoc syntaxes don't lend themselves to automatic tooling, so they tend to
>result in lots of error-prone hand-coding.

That's the problem with the SSL/TLS syntax, it looks like it's specified in a
formal language but it's really more of a specialised notation used to outline
(not always clearly) bits-on-the-wire. SSH and PGP use a very low-level form
(but still higher-level than TCP's pictorial bit-diagrams), which leads to
even more awkward hand-coded parsers (SSH makes it especially entertaining due
to its arbitrary mixing of binary data and comma-delimited string data).

If I had to do a premortem analysis of my parsing code and arrange it in order
of least to most likely to contain exploitable errors I'd have: ASN.1 -> Large
gap -> SSL/TLS -> SSH. Not sure where PGP would fit in there, probably
somewhere between SSL/TLS and SSH.

>What are you arguing for? (Mind you, this really isn't the right place...
>that goes for me too)

Yes it is, flamewars over data-description notations are at least as
interesting as vi vs. emacs, or KDE vs Gnome, or Amiga vs. Atari.

Peter.
_______________________________________________
TLS mailing list
TLS@ietf.org
https://www.ietf.org/mailman/listinfo/tls" target="_blank" rel="nofollow">https://www.ietf.org/mailman/listinfo/tls