Re: [rtcweb] state of libsrtp maintenance? (Re: SRTP not mandatory-to-use)

Eric Rescorla <ekr@rtfm.com> Thu, 12 January 2012 14:37 UTC

Return-Path: <ekr@rtfm.com>
X-Original-To: rtcweb@ietfa.amsl.com
Delivered-To: rtcweb@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id B605D21F85F4 for <rtcweb@ietfa.amsl.com>; Thu, 12 Jan 2012 06:37:50 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -102.777
X-Spam-Level:
X-Spam-Status: No, score=-102.777 tagged_above=-999 required=5 tests=[AWL=0.200, BAYES_00=-2.599, FM_FORGED_GMAIL=0.622, RCVD_IN_DNSWL_LOW=-1, 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 tDmrrNuZ237i for <rtcweb@ietfa.amsl.com>; Thu, 12 Jan 2012 06:37:45 -0800 (PST)
Received: from mail-vw0-f44.google.com (mail-vw0-f44.google.com [209.85.212.44]) by ietfa.amsl.com (Postfix) with ESMTP id AE93221F85F6 for <rtcweb@ietf.org>; Thu, 12 Jan 2012 06:37:45 -0800 (PST)
Received: by vbbfc21 with SMTP id fc21so417345vbb.31 for <rtcweb@ietf.org>; Thu, 12 Jan 2012 06:37:45 -0800 (PST)
Received: by 10.52.29.75 with SMTP id i11mr1791704vdh.23.1326379065166; Thu, 12 Jan 2012 06:37:45 -0800 (PST)
MIME-Version: 1.0
Received: by 10.52.185.227 with HTTP; Thu, 12 Jan 2012 06:37:04 -0800 (PST)
X-Originating-IP: [74.95.2.169]
In-Reply-To: <CAD5OKxvB3J9g5Mq9vTH9WNqqsqSNunGXiXo6AgR6+ORZCeFcnA@mail.gmail.com>
References: <CAErhfrwu322=HTS0JZhum9EGfb73KmYS6CU_KMESyzEWhtvg2w@mail.gmail.com> <CAOJ7v-1_qMoHBb3K7rV=hG9EadqL=xn4KEdG0zdWnKZU9_TipQ@mail.gmail.com> <4AEFFC17-EF17-40F2-B83B-0B0CC44AD2C3@cisco.com> <CAKhHsXEes+Lf+uKdTrjXoy+3PMy2uNumNL-W-0s4_xRXW6FiZg@mail.gmail.com> <4F0CAC8C.8010203@wonderhamster.org> <1D062974A4845E4D8A343C6538049202074ABD3A@XMB-BGL-414.cisco.com> <387F9047F55E8C42850AD6B3A7A03C6C01DCF907@inba-mail02.sonusnet.com> <CALiegfkejnU2rTe-FibUVxTrRS9SivkhGXB5eK+FhD8Vu6iTMA@mail.gmail.com> <387F9047F55E8C42850AD6B3A7A03C6C01DCF9FC@inba-mail02.sonusnet.com> <CALiegfn07bS58B+4ZyzRTnO4LCpw1e96dnqpSM+TT1y3QG2Zwg@mail.gmail.com> <387F9047F55E8C42850AD6B3A7A03C6C01DCFBC1@inba-mail02.sonusnet.com> <CAOJ7v-20+yL7r+_ODx_czHTiujXZZWESaZRB7MQjhvScg3RFtw@mail.gmail.com> <4F0DFD0B.2000009@jesup.org> <BLU152-W62B3148D9899099ED240D1939E0@phx.gbl> <4F0EA4BA.5040809@alvestrand.no> <CAD5OKxvB3J9g5Mq9vTH9WNqqsqSNunGXiXo6AgR6+ORZCeFcnA@mail.gmail.com>
From: Eric Rescorla <ekr@rtfm.com>
Date: Thu, 12 Jan 2012 06:37:04 -0800
Message-ID: <CABcZeBO0kw2BvhMzODuXoX5XSD2UrYwbQ3AnqiY-pAyiE8AmRw@mail.gmail.com>
To: Roman Shpount <roman@telurix.com>
Content-Type: text/plain; charset="ISO-8859-1"
Content-Transfer-Encoding: quoted-printable
Cc: rtcweb@ietf.org
Subject: Re: [rtcweb] state of libsrtp maintenance? (Re: SRTP not mandatory-to-use)
X-BeenThere: rtcweb@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: Real-Time Communication in WEB-browsers working group list <rtcweb.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/rtcweb>, <mailto:rtcweb-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/rtcweb>
List-Post: <mailto:rtcweb@ietf.org>
List-Help: <mailto:rtcweb-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/rtcweb>, <mailto:rtcweb-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 12 Jan 2012 14:37:50 -0000

On Thu, Jan 12, 2012 at 3:56 AM, Roman Shpount <roman@telurix.com> wrote:

> libsrtp comes with its own crypto library (which is considerably worse
> maintenance state wise and performance wise then OpenSSH or GnuTLS). It also
> implements extensive self-checks as a part of library initialization, which
> are strictly speaking not necessary. For some reason libsrtp implements two
> replay libraries (one for RTP and another for RTCP) even  though they
> suppose to do the same thing. It also implements a number of crypto routines
> that are not normally used for anything when implementing SRTP.
>
> My point is, if all is needed is an implementation of SRTP-SDES, the state
> of libsrtp is irrelevant since it is easy enough to code around. If
> SRTP-DTLS is needed, then couple of order of magnitude more code is needed
> to implement TLS handshake, which will mean using an existing mature DTLS
> implementation and adding SRTP encoding if necessary.

DTLS-SRTP was specifically designed so that one could put together a DTLS
stack and an SRTP stack with minimal modifications to both (and no necessary
modifications to the SRTP stack). In the case of OpenSSL and libsrtp, you
do the OpenSSL handshake, then use a new interface to export the keys
which you then push onto libsrtp using existing interfaces.

-Ekr