Re: [DNSOP] DNSSEC threshold signatures idea

Steve Crocker <steve@shinkuro.com> Thu, 06 September 2018 19:54 UTC

Return-Path: <steve@shinkuro.com>
X-Original-To: dnsop@ietfa.amsl.com
Delivered-To: dnsop@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 2BD24130DE2 for <dnsop@ietfa.amsl.com>; Thu, 6 Sep 2018 12:54:34 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.909
X-Spam-Level:
X-Spam-Status: No, score=-1.909 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, T_DKIMWL_WL_MED=-0.01, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=shinkuro-com.20150623.gappssmtp.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 FY3-cOX0xFhm for <dnsop@ietfa.amsl.com>; Thu, 6 Sep 2018 12:54:32 -0700 (PDT)
Received: from mail-yb1-xb2a.google.com (mail-yb1-xb2a.google.com [IPv6:2607:f8b0:4864:20::b2a]) (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 4E1921292F1 for <dnsop@ietf.org>; Thu, 6 Sep 2018 12:54:32 -0700 (PDT)
Received: by mail-yb1-xb2a.google.com with SMTP id c4-v6so4606069ybl.6 for <dnsop@ietf.org>; Thu, 06 Sep 2018 12:54:32 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=shinkuro-com.20150623.gappssmtp.com; s=20150623; h=mime-version:subject:from:in-reply-to:date:cc :content-transfer-encoding:message-id:references:to; bh=Qro1XEh8psAUlHVqluBzxHEIpqtOEj6Y1YcH2fVrn8s=; b=QAud63p511npjlSZIcYNlgZ2akUEml12J2iXrOZETKepZ7lVLeSuwfdtGPoV3WKvXX LnNVE00Jm+63aFBFbUvkcG6KVLsOdMNfKOGZGQcp+GaAR0I7VyBFxBJtMB7yGu48SBDF 4ywSg7MIecii5hUUp92uSKq1KVoBtXu/WRjYrKkQYOOYMwEtXPgZOBBV0IABaS2H71w/ zIPSEyqcl+4NsWJ+RsHQgCQ3pzs9JDBIMxFKNQHS0eSRv5BcIi2sBod0LrlogN/dOD2Y i4qptqvOsGaeTIAYnd5Z5ISO3AxT8K6p6w6hyoXwb1BBsLOyuDp713Y/CYfUqNTKdZYr dj3A==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:subject:from:in-reply-to:date:cc :content-transfer-encoding:message-id:references:to; bh=Qro1XEh8psAUlHVqluBzxHEIpqtOEj6Y1YcH2fVrn8s=; b=Cz2Xh6hPI53ODa+FaBjI6zG4gW8dLhuGp7ZlcB2U4Bx3wg9tMPzxg9LFG7wUA9teeo w4HtfCmO5xxgnvSxo2FHLLR8hyL4D7zOzDGC+BBIjNYBBbRh02rywHydgn38RQrIvPMo F2Z7i0z2NK54w9AwtHOh+ZXUGN/6LwAqv3wpchyWGLTsUMx4/2QymttR1+UryOeKGQVj R3U3TLVrHNXNXkLS4H8DwNrzSuz5JZYFZNLCYosK5Y1dPwNhEMgdF/q0TPkLKSR/mBlS 2clRXnvjhr3MzIkqkQHRyzGdqbiZ3KsanXSYSJtt6h3QaIaEp87iEBD8fBrxurnMuNsi cdZQ==
X-Gm-Message-State: APzg51ANfqmoVhtklb/uQ5EKPX3Uii+r+M2ngYyqm8bR7GbnYtk92P6M 3p7ReT3AbAV1QpY0fKmI4YVfrQ==
X-Google-Smtp-Source: ANB0VdZc5UMn5fdX0SK4e8rWvfPJeywgHLNF1d2AW5TIRsXJOS6mCCmIQZr31b7T2sqNSfO871d7pg==
X-Received: by 2002:a25:2413:: with SMTP id k19-v6mr2361395ybk.325.1536263671379; Thu, 06 Sep 2018 12:54:31 -0700 (PDT)
Received: from ?IPv6:2601:18e:c500:40dd:dd76:2d7:20ff:a2f0? ([2601:18e:c500:40dd:dd76:2d7:20ff:a2f0]) by smtp.gmail.com with ESMTPSA id b139-v6sm2336925ywe.108.2018.09.06.12.54.30 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 06 Sep 2018 12:54:30 -0700 (PDT)
Content-Type: text/plain; charset="utf-8"
Mime-Version: 1.0 (1.0)
From: Steve Crocker <steve@shinkuro.com>
X-Mailer: iPhone Mail (15F79)
In-Reply-To: <20180906195256.azwvh3x2adgoab6b@nic.cl>
Date: Thu, 06 Sep 2018 15:54:30 -0400
Cc: dnsop <dnsop@ietf.org>, Mukund Sivaraman <muks@mukund.org>, dns-operations@dns-oarc.net
Content-Transfer-Encoding: quoted-printable
Message-Id: <2255B9FB-B8C3-4704-AC2D-0DACA6E6255C@shinkuro.com>
References: <20180906161252.GA2840@jurassic> <20180906173412.og736bryaeqbwjds@nic.cl> <20180906174926.GA9614@jurassic> <20180906190257.ig6yqgi5fsfepklz@nic.cl> <CABf5zv+-qH+k6Ts6W-+1Z4QsGYYPrtNiqgTL9jgZORcURFQ1vg@mail.gmail.com> <20180906192209.uryzvdyosnjfptmp@nic.cl> <CABf5zv+cLT2ifAmS0Bz3FdcKu4DOVV1mpoZgnZ0YS33d5hYg2g@mail.gmail.com> <20180906195256.azwvh3x2adgoab6b@nic.cl>
To: Hugo Salgado-Hernández <hsalgado@nic.cl>
Archived-At: <https://mailarchive.ietf.org/arch/msg/dnsop/wvm1c6KpxUwCVRvsHDjDXoRD-E4>
Subject: Re: [DNSOP] DNSSEC threshold signatures idea
X-BeenThere: dnsop@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: IETF DNSOP WG mailing list <dnsop.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/dnsop>, <mailto:dnsop-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/dnsop/>
List-Post: <mailto:dnsop@ietf.org>
List-Help: <mailto:dnsop-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/dnsop>, <mailto:dnsop-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 06 Sep 2018 19:54:34 -0000

My focus is on preventing the orchestrator from faking the signatures.

Steve

Sent from my iPhone

> On Sep 6, 2018, at 3:52 PM, Hugo Salgado-Hernández <hsalgado@nic.cl> wrote:
> 
>> On 15:25 06/09, Steve Crocker wrote:
>> Let me flag a key point.  You said this scheme will *detect* faked
>> signatures.  If you want to *prevent* faked signatures, you need additional
>> structure.
> 
> The orchestrator can detect faked signature pieces when is
> merging them, before going live. So for this definition of
> "prevent" should be sufficient. If you're referring to
> prevent the orchestrator with faking the resulting signature,
> I think we're gonna fail preventing but only reacting after
> detecting it alive.
> 
> Hugo
> 
>> 
>> Steve
>> 
>> 
>> On Thu, Sep 6, 2018 at 3:22 PM, Hugo Salgado-Hernández <hsalgado@nic.cl>
>> wrote:
>> 
>>>> On 15:08 06/09, Steve Crocker wrote:
>>>> How do you prevent compromise of the central service?
>>>> 
>>> 
>>> For the initial setup a physical ceremony is necessary,
>>> to check there's no extra subkeys and for secure transmision
>>> of them. But afterwards there's no need. Each node can check
>>> the final signature validates with the public key (just like
>>> a normal signature), and the plain data should be public
>>> (DNSKEY rrset).
>>> 
>>> In this same first ceremony you can also share simmetric
>>> keys for the secure transmission of data and signature
>>> pieces.
>>> 
>>> The system is fault-tolerant as a subset of nodes can fail
>>> and the signing process can be completed, and you can
>>> detect faked sub-signatures.
>>> 
>>> Hugo
>>> 
>>>> Steve
>>>> 
>>>> 
>>>> On Thu, Sep 6, 2018 at 3:02 PM, Hugo Salgado-Hernández <hsalgado@nic.cl>
>>>> wrote:
>>>> 
>>>>>> On 23:19 06/09, Mukund Sivaraman wrote:
>>>>>> On Thu, Sep 06, 2018 at 02:34:12PM -0300, Hugo Salgado-Hernández
>>> wrote:
>>>>>>> Hi Mukund.
>>>>>>> I talked about this to Davey in Montreal. There's an implementation
>>>>>>> in github[1] and presentations in OARC[2] and ICANN[3].
>>>>>> 
>>>>>> Aha so you're the original source :)
>>>>>> 
>>>>>>> I'm not sure if its being used right now in a live zone, but
>>> certainly
>>>>>>> in labs and testing. There's been some interests with academic
>>>>>>> institutions, but don't think they're ready yet.
>>>>>>> 
>>>>>>> We've been trying to focus this technology as a "poor-man" HSM, as
>>>>>>> having similar security features without buying an expensive HW.
>>>>>>> But I think the root and similar high-value zones will benefit for
>>>>>>> having an split of the private key AND the fact of not needing a
>>>>>>> "root key ceremony" to sign, because you can sign remotely with
>>>>>>> each piece of the private key, and transmit the "signature pieces"
>>>>>>> to a central place.
>>>>>>> 
>>>>>>> Hugo
>>>>>>> 
>>>>>>> [1] https://github.com/niclabs/docker/tree/master/tchsm
>>>>>>> [2] <https://indico.dns-oarc.net/getFile.py/access?contribId=
>>>>> 22&sessionId=3&resId=1&materialId=slides&confId=20>
>>>>>>> [3] <http://buenosaires48.icann.org/en/schedule/wed-dnssec/
>>>>> presentation-dnssec-cryptographic-20nov13-en>
>>>>>> 
>>>>>> So this's implemented as a PKCS 11 provider.. interesting. In my
>>> mind I
>>>>>> was thinking along the lines of updates to dnssec-keygen +
>>>>>> dnssec-signzone + intermediate RRSIG representation using new RR
>>> type +
>>>>>> zone transfers to share intermediate effects.
>>>>> 
>>>>> In our implementation you'll need a central "orchestrator" who
>>>>> creates the first key and split the private pieces to each
>>>>> signing node. This same orchestrator later send signature
>>>>> requests to each node, collect the signature pieces and
>>>>> defines the "consensus" of M/N. Finally, there's an PKCS11
>>>>> interface between this orchestrator and the zone signing
>>>>> policy machinery (OpenDNSSEC in our setup).
>>>>> 
>>>>> Hugo
>>>>> 
>>>>> 
>>>>> _______________________________________________
>>>>> DNSOP mailing list
>>>>> DNSOP@ietf.org
>>>>> https://www.ietf.org/mailman/listinfo/dnsop
>>>>> 
>>>>> 
>>> 
>>>> _______________________________________________
>>>> DNSOP mailing list
>>>> DNSOP@ietf.org
>>>> https://www.ietf.org/mailman/listinfo/dnsop
>>> 
>>> 
> 
>> _______________________________________________
>> DNSOP mailing list
>> DNSOP@ietf.org
>> https://www.ietf.org/mailman/listinfo/dnsop
>