Re: [Perc] PERC LIte

Sergio Garcia Murillo <sergio.garcia.murillo@gmail.com> Thu, 25 May 2017 16:51 UTC

Return-Path: <sergio.garcia.murillo@gmail.com>
X-Original-To: perc@ietfa.amsl.com
Delivered-To: perc@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 083EE129B4B for <perc@ietfa.amsl.com>; Thu, 25 May 2017 09:51:27 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.999
X-Spam-Level:
X-Spam-Status: No, score=-1.999 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, FREEMAIL_FROM=0.001, HTML_MESSAGE=0.001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=gmail.com
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 qRI7EzLF1Eg9 for <perc@ietfa.amsl.com>; Thu, 25 May 2017 09:51:25 -0700 (PDT)
Received: from mail-wm0-x229.google.com (mail-wm0-x229.google.com [IPv6:2a00:1450:400c:c09::229]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 7FCF812955A for <perc@ietf.org>; Thu, 25 May 2017 09:51:24 -0700 (PDT)
Received: by mail-wm0-x229.google.com with SMTP id 7so98851868wmo.1 for <perc@ietf.org>; Thu, 25 May 2017 09:51:24 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=subject:to:cc:references:from:message-id:date:user-agent :mime-version:in-reply-to:content-language; bh=50d0OxL36AEYw4LQrOD8Sd/seM4NUyaOjLPmYTvKkEQ=; b=HvfuZwPSsG+8uYdbk89cVrIYPfarGvJZ9o4o0msraOguDMInxWd9oHrfBTzO+TXCRd yvpG0E4eYIOLKRkuyBhpLTfVVMVTAB825hXsHIV1qJ+aNaOGz+jgf5plxWN6Qtd9tNKg NcTMM7OvCG2O2m+Gbgh1gU7Br+fX8ntXedpyBFGY3KHaGOvHld0JbJ9qIQnUKCZFiCC7 WM7qxtZeKVzOVXGOjLvUqL0X514XrFb/fnOlRv/TdlXmoXvaoQH08ibjQJbd00kYh2Zk 8fVhYOqID3JDU8sji3OWDvc8AU+9YmnoGcIUljc1BeYrqCak4H71V59YfsexKaj86MdR jSfA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:subject:to:cc:references:from:message-id:date :user-agent:mime-version:in-reply-to:content-language; bh=50d0OxL36AEYw4LQrOD8Sd/seM4NUyaOjLPmYTvKkEQ=; b=mkAGSROar/A/lcsEznQGzseNkjZwlyGPnWhqWpj+SNZ/dqcvavG+nEr8BHHTFtRTBU mhGXywEXx19uxS8zwgQAyUwN0BPp9gk68ri48wwCXsLVYMsQ04pfazdQnxlTRz6op2Bi hz/GxoQXJwZ6b5N/5u7Du7zt9MahwM9d3l/bebQdZs75NeANAGGBEVSsUupWRE4eQJZk trcDfChYtCEIPUH/7LudGmCNTL9xuRoIh7b743FQXPcIxDlaTsF3r9qaEHUEDBGsA7dg p34bZhQ+P0t17Dud550ivMu/l5Qvh3zj144nJ6PQgEtX+TRaqFHEEA2hYxDF2gfi0iyl QKEQ==
X-Gm-Message-State: AODbwcD1+uYFqeqdNz3tR0TMGkdgdQaaLG2bMWdaVW7boNXE15Hq69+Q z06VMZkX/irDXl7ufCo=
X-Received: by 10.223.176.37 with SMTP id f34mr24308673wra.93.1495731082682; Thu, 25 May 2017 09:51:22 -0700 (PDT)
Received: from [192.168.1.43] (84.red-83-36-143.dynamicip.rima-tde.net. [83.36.143.84]) by smtp.googlemail.com with ESMTPSA id 4sm13236395wrv.33.2017.05.25.09.51.21 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 25 May 2017 09:51:21 -0700 (PDT)
To: Richard Barnes <rlb@ipv.sx>
Cc: "perc@ietf.org" <perc@ietf.org>
References: <9d1552b8-b69f-ac14-e28b-2905bd5e5692@gmail.com> <CAL02cgS9YRuiDv37xwwS1qggvZOo=ZDB4v7sSueac3pgK9bE7w@mail.gmail.com>
From: Sergio Garcia Murillo <sergio.garcia.murillo@gmail.com>
Message-ID: <8193b142-9933-d401-7acd-a50e591b1eaa@gmail.com>
Date: Thu, 25 May 2017 18:51:20 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:52.0) Gecko/20100101 Thunderbird/52.1.1
MIME-Version: 1.0
In-Reply-To: <CAL02cgS9YRuiDv37xwwS1qggvZOo=ZDB4v7sSueac3pgK9bE7w@mail.gmail.com>
Content-Type: multipart/alternative; boundary="------------38788B755BCC83DA1F04F064"
Content-Language: en-US
Archived-At: <https://mailarchive.ietf.org/arch/msg/perc/6RrUZI7WSMjc1flhggnNXAuYNzs>
Subject: Re: [Perc] PERC LIte
X-BeenThere: perc@ietf.org
X-Mailman-Version: 2.1.22
Precedence: list
List-Id: Privacy Enhanced RTP Conferencing <perc.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/perc>, <mailto:perc-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/perc/>
List-Post: <mailto:perc@ietf.org>
List-Help: <mailto:perc-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/perc>, <mailto:perc-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 25 May 2017 16:51:27 -0000

Hi Richard,

Yes, it is public:

https://github.com/agouaillard/perc-webrtc

We used chrome 57 as the base for our changes, here are the full changes

https://github.com/agouaillard/perc-webrtc/compare/275c7b012d0d3f08d8ba7360784d731a62d32318...master

Note that most of the changes are due to the implementation of frame 
marking header extension, supporting variable length header extensions 
and passing the key from the peerconnection to the rtp sender/receivers.

The modifications required to encrypt/decrypt the media are in

modules/rtp_rtcp/source/rtp_receiver_audio.cc 
<https://github.com/agouaillard/perc-webrtc/compare/275c7b012d0d3f08d8ba7360784d731a62d32318...master#diff-c5cf31c9ff685c103d9f0c2f406a55f5>
https://github.com/agouaillard/perc-webrtc/compare/275c7b012d0d3f08d8ba7360784d731a62d32318...master#diff-c5cf31c9ff685c103d9f0c2f406a55f5
modules/rtp_rtcp/source/rtp_receiver_video.cc 
<https://github.com/agouaillard/perc-webrtc/compare/275c7b012d0d3f08d8ba7360784d731a62d32318...master#diff-75f36e7452edf5ba9231d5817a14f7bb>
https://github.com/agouaillard/perc-webrtc/compare/275c7b012d0d3f08d8ba7360784d731a62d32318...master#diff-75f36e7452edf5ba9231d5817a14f7bb
modules/rtp_rtcp/source/rtp_sender_audio.cc 
<https://github.com/agouaillard/perc-webrtc/compare/275c7b012d0d3f08d8ba7360784d731a62d32318...master#diff-3ca482263cebacd292343743d732bd3b>
https://github.com/agouaillard/perc-webrtc/compare/275c7b012d0d3f08d8ba7360784d731a62d32318...master#diff-3ca482263cebacd292343743d732bd3b
modules/rtp_rtcp/source/rtp_sender_video.cc 
<https://github.com/agouaillard/perc-webrtc/compare/275c7b012d0d3f08d8ba7360784d731a62d32318...master#diff-a1231f68963ac881e630a460df9fe972>
https://github.com/agouaillard/perc-webrtc/compare/275c7b012d0d3f08d8ba7360784d731a62d32318...master#diff-a1231f68963ac881e630a460df9fe972

The class used for encrypt/decrypt an rtp packet given the shared key is:
https://github.com/agouaillard/perc-webrtc/blob/0fc30dba17f65d66d65a95b2664654a958e6c3f8/modules/rtp_rtcp/source/media_crypto.cc

Note that no code for FEC/RTX/RED or DTLS has been modified at all. 
Also, we required no modifications on Jitsi/master except a minor bug 
fix on framemarking handling.

Best regards
Sergio

On 25/05/2017 18:36, Richard Barnes wrote:
> Hey Sergio,
>
> Emil said on the call yesterday that this has been implemented in 
> Chrome.  Is your patch some place public?  It might help folks 
> understand your proposal here if they could see the code.
>
> Thanks,
> --Richard
>
> On Wed, May 24, 2017 at 1:11 PM, Sergio Garcia Murillo 
> <sergio.garcia.murillo@gmail.com 
> <mailto:sergio.garcia.murillo@gmail.com>> wrote:
>
>     Hi all again,
>
>     Also to start the discussion about 5), I would like to introduce
>     again my proposal for a "PERC Lite" approach.
>
>     The main objectives and key points of this proposal are:
>
>       * Minimum viable PERC implementation
>       * Minimize impact on both endpoints and MD
>       * OHB is carried in the RTP payload (Encrypted Payload Header).
>       * No changes to the DTLS/SRTP code/api/standards
>       * No RTP E2E Header extensions
>       * RTX/FEC/RED is supported HBH without any change to current
>         standards/implementations.
>
>     Best regards
>
>     Sergio
>
>
>
>     _______________________________________________
>     Perc mailing list
>     Perc@ietf.org <mailto:Perc@ietf.org>
>     https://www.ietf.org/mailman/listinfo/perc
>     <https://www.ietf.org/mailman/listinfo/perc>
>
>