[TLS] the idea of using multiple keys with multiple certificate authorities in a TLS session.

Shahin Noursalehi <mixoftix@gmail.com> Thu, 05 February 2015 09:17 UTC

Return-Path: <mixoftix@gmail.com>
X-Original-To: tls@ietfa.amsl.com
Delivered-To: tls@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com []) by ietfa.amsl.com (Postfix) with ESMTP id 3DED91A0070 for <tls@ietfa.amsl.com>; Thu, 5 Feb 2015 01:17:22 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: 2.127
X-Spam-Level: **
X-Spam-Status: No, score=2.127 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DEAR_SOMETHING=1.973, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, FREEMAIL_FROM=0.001, FRT_BELOW2=2.154, SPF_PASS=-0.001] autolearn=no
Received: from mail.ietf.org ([]) by localhost (ietfa.amsl.com []) (amavisd-new, port 10024) with ESMTP id 8hEA5uKzNxNr for <tls@ietfa.amsl.com>; Thu, 5 Feb 2015 01:17:19 -0800 (PST)
Received: from mail-la0-x233.google.com (mail-la0-x233.google.com [IPv6:2a00:1450:4010:c03::233]) (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 3D98C1A0021 for <tls@ietf.org>; Thu, 5 Feb 2015 01:17:19 -0800 (PST)
Received: by mail-la0-f51.google.com with SMTP id hv19so4866762lab.10 for <tls@ietf.org>; Thu, 05 Feb 2015 01:17:17 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:date:message-id:subject:from:to:cc:content-type; bh=Xe4HBMQvpuH07eoKawIoJzduu6e757VmfMEMIuPeaxM=; b=S049LbevoUTZwMPnYaj5E+qSxsLw2kKUDlRxe8OdTQLKRiullGoO/pf7o8uCMXe9mA RtPsLF1DUuANbmcW/JTEq/AdDi4tGjlM0URAm65mnpX8tRYbXkGh0Raa9J4157FVGhIK wHQf+UbHmFSEqe7nXfamURUzp7XpkcCAKaue8+5CN8VgJV3jiqjx2KSGZZ/qaoxyS+EC v8sVsUEeSXnYj89+2psO1+SVZr2olX3MQW0+TH7xcXWx8+R62lZvk02fBdYVSHFz6Wa/ EpscJAMHH3+qTDHGD/VQIYB2iik5RD7V2C6FUgClghpwe/3yl9tXC6GMSR9KT7TWsPs5 hJwg==
MIME-Version: 1.0
X-Received: by with SMTP id fa8mr2222176lac.73.1423127837656; Thu, 05 Feb 2015 01:17:17 -0800 (PST)
Received: by with HTTP; Thu, 5 Feb 2015 01:17:17 -0800 (PST)
Date: Thu, 05 Feb 2015 12:47:17 +0330
Message-ID: <CADrAmL6xOMOauSHuTR8BUK7i4NG2Zx3H90dA6k36YMu81pVW0A@mail.gmail.com>
From: Shahin Noursalehi <mixoftix@gmail.com>
To: tls@ietf.org
Content-Type: text/plain; charset="ISO-8859-1"
Archived-At: <http://mailarchive.ietf.org/arch/msg/tls/YxwdMxGypHPXCGvwXwPi56EwJRE>
X-Mailman-Approved-At: Fri, 06 Feb 2015 08:10:04 -0800
Cc: abadi@cs.ucsc.edu, ChristopherA@alacritymanagement.com
Subject: [TLS] the idea of using multiple keys with multiple certificate authorities in a TLS session.
X-BeenThere: tls@ietf.org
X-Mailman-Version: 2.1.15
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: Thu, 05 Feb 2015 09:19:45 -0000

Dear Sir/Madam,

Refer to discussions around TLS 1.3 in Linkedin group "Cryptographers
and Cryptanalysts", contributor experts agree on the idea of using
multiple keys with multiple certificate authorities in a TLS session.
So if one certificate authority is compromised hopefully the others
are not. The suggested solution would be like the process bellow:

Refer to the way that TLS generates the *master_secret*:

master_secret = PseudoRandomFunction(pre_master_secret, "master
secret", ClientHello.random + ServerHello.random)

We could generate multiple peer-to-peer pre_master_secret(s) for each
public-key that we receive from the server and XOR them all together.
So, our offered method of calculation of master_secret will convert

master_secret = PseudoRandomFunction(multiple_pre_master_secret,
"master secret", ClientHello.random + ServerHello.random)


multiple_pre_master_secret = XOR(pre_master_secret_1,
pre_master_secret_2, .. pre_master_secret_n)

and aim at preventing basic attacks that are known against
one-time-pad, we could add a circular-bit-rotation(m) to the
calculation above - each time we do an XOR:

multiple_pre_master_secret = ROT(XOR(pre_master_secret_1,
pre_master_secret_2, .. pre_master_secret_n), m)

Please let us know about your point of views, then we could continue
discussing the TLS.

With best regards

Shahin Noursalehi