Re: [Sidrops] what to do when the CRL is hosed?

Di Ma <madi@zdns.cn> Wed, 01 April 2020 03:04 UTC

Return-Path: <madi@zdns.cn>
X-Original-To: sidrops@ietfa.amsl.com
Delivered-To: sidrops@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id AA40C3A0791 for <sidrops@ietfa.amsl.com>; Tue, 31 Mar 2020 20:04:17 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: 0.001
X-Spam-Level:
X-Spam-Status: No, score=0.001 tagged_above=-999 required=5 tests=[SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
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 0ohK11e0Qb-4 for <sidrops@ietfa.amsl.com>; Tue, 31 Mar 2020 20:04:10 -0700 (PDT)
Received: from smtpbg519.qq.com (smtpbg516.qq.com [203.205.250.54]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id D47103A078C for <sidrops@ietf.org>; Tue, 31 Mar 2020 20:04:09 -0700 (PDT)
X-QQ-mid: bizesmtp12t1585710179txnw3xs8
Received: from [192.168.3.24] (unknown [118.198.181.5]) by esmtp6.qq.com (ESMTP) with id ; Wed, 01 Apr 2020 11:02:56 +0800 (CST)
X-QQ-SSF: 00400000002000N0ZI80B00A0000000
X-QQ-FEAT: ltIUYrhUXasIiri9BEXoIJS+6XiU2QTq45R2IF8/twKKVsD6fP3BdNl7mOuDQ 6XXvGF+MC0QLahHOU1OtGzN02nzzc3luTtu7C4gUychZ660DCym/05NSOE+V7T/kWrmN/0k VRaH5C/HC17Dcpjm7gWvrI96jgfXM0XO8utXZbBOqXczRG4Mc2ekbDpZivKr1TBNWBeZ+0e qLWazcdKvJBUplr8GG9sv6+4OJzbVTaEmjPslqJLU4Lbn31WE4tZyVRbHaVAvdfsUoPAFdJ 19tB0kZW2XLJaWU66SehFqFfqFSlzlJBz/+cZPAbLfyPR1xaQKxiPa56iN8sADj+GKW5kDR mm3eKdHaOIAxewKg/nVA7U1qMKOc5EomzXGtGnf
X-QQ-GoodBg: 2
Content-Type: text/plain; charset="utf-8"
Mime-Version: 1.0 (Mac OS X Mail 13.0 \(3608.60.0.2.5\))
From: Di Ma <madi@zdns.cn>
In-Reply-To: <CAKr6gn2VN8kXB2KS5LUkuSkihoE5KqUqfD+NTLuopnTVYF1QQA@mail.gmail.com>
Date: Wed, 01 Apr 2020 11:02:48 +0800
Cc: Christopher Morrow <christopher.morrow@gmail.com>, SIDR Operations WG <sidrops@ietf.org>
Content-Transfer-Encoding: quoted-printable
Message-Id: <FBA774C0-8F96-4C47-A154-D4CA3343F892@zdns.cn>
References: <9cc3a6a5-f9c8-23df-588e-48dee5db62d4@verizon.net> <3B7006DE-5366-47E7-9CD6-AF392F9ED0CC@nlnetlabs.nl> <6602d1a7-ecbf-73a0-21d8-1254fb2aff97@verizon.net> <253D1ED7-52D8-4A00-9D69-095E61D09C9F@nlnetlabs.nl> <db920115-e188-700f-ceb2-08cd2996046a@verizon.net> <3a683da4-42f9-28c6-f0dd-4d11d3c67857@ripe.net> <4fe26a30-4a08-41a5-be7f-0c5997230d0a@www.fastmail.com> <3B072025-68C5-4E62-9466-5122D483F691@nlnetlabs.nl> <20200324135828.GG60268@vurt.meerval.net> <20200324152009.6e6a2c3f@glaurung.nlnetlabs.nl> <20200324151101.GH60268@vurt.meerval.net> <7f54a255-643f-cd2d-12c2-da19562bbffa@verizon.net> <7465c59f-fa10-4083-8e52-291cb47587f6@www.fastmail.com> <ed15512c-4fac-f8b1-f616-4dcf7afbf396@verizon.net> <CAL9jLab_tLDwh8=thqPfWw29g+LK__T2MUfCZmLDv1v_Z77x+w@mail.gmail.com> <CAKr6gn2VN8kXB2KS5LUkuSkihoE5KqUqfD+NTLuopnTVYF1QQA@mail.gmail.com>
To: George Michaelson <ggm@algebras.org>
X-Mailer: Apple Mail (2.3608.60.0.2.5)
X-QQ-SENDSIZE: 520
Feedback-ID: bizesmtp:zdns.cn:qybgweb:qybgweb13
Archived-At: <https://mailarchive.ietf.org/arch/msg/sidrops/-zbVD8HptXd8bM5Si1u_FYgaf8Y>
Subject: Re: [Sidrops] what to do when the CRL is hosed?
X-BeenThere: sidrops@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: A list for the SIDR Operations WG <sidrops.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/sidrops>, <mailto:sidrops-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/sidrops/>
List-Post: <mailto:sidrops@ietf.org>
List-Help: <mailto:sidrops-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/sidrops>, <mailto:sidrops-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 01 Apr 2020 03:04:18 -0000

Yes.

Although the RPKI provides object-oriented security yet the validity of an object relies on a trust chain, any wrong node of which would cause failure.

So-called “wrong” MFT will bring about trouble no matter it is rooted from transport or RPKI provisioning side.

Situations could be complicated as analyzed in section 2.2 of RFC 8211 in terms of adverse actions on MFT but RFC 6488 leaves much to RP to decide.

BTW, in RFC 8211 we authors differentiate if the attacker have got access to the private key of the INR holder, trying to give a threat mode.

So it is right time to reconsider the requirements posed on RP in case of “wrong” MFT. 

Di

> 2020年4月1日 06:20,George Michaelson <ggm@algebras.org> 写道:
> 
> I think you did capture the spirit.
> 
> I would remind people that *all* the products in a repository are
> signed objects. To arrive at a state where a manifest is "wrong"
> demands two things: it doesn't reflect some real-world situation
> regarding contents of the repository *and* its signed by keys you can
> validate back to a trust anchor. If you cannot validate the manifest,
> then its not "wrong" its forged, or invalid cryptographically.  To me,
> a  "wrong" manifest checks out cryptographically but somehow is not
> coherent with the state of the repository. If objects are on the
> manifest but cannot be fetched, you are probably suffering either from
> hiding of objects, or a transitional state of publication. If objects
> can be found which are not on the manifest, you may be seeing
> artifacts which are not defined as critical (must be found) or, the
> manifest has not yet been updated.
> 
> There are potentially transitional states in the production of a large
> repository under eventually consistent production (e.g. multiple
> asynchronous cooperating processes, dual-redundant signing models)
> where what can be fetched and what is on manifest do not align.  If we
> wish to demand that the manifest and a given state of the repository
> *always* align, we need to formalise that in a way which makes it
> clear we publish repository state in as close to atomic-update as
> possible. (copying a repo to a new dir, modifying the contents of the
> new dir, and (re)publishing the change through the rename() call in
> UNIX is one such model)
> 
> A missing manifest is not a "wrong" manifest -its a sign of data being
> hidden from you either because of transitional effect in publishing
> the repository, or for persisting state a problem in the repository
> (diskfull?) or, production systems, or a MITM attack. Which do you
> think is actually most likely at this current time? This is no
> different to a missing CRL in that regard. Which do you think is the
> most likely reason, because you cannot a-priori know that its a MITM
> attack, or a failure in networks, or storage systems, or production
> systems.
> 
> During the early design phases of the system, we determined that since
> the products were all cryptographically signed, there was no strict
> requirement for cryptographic protections on transport. If that
> decision needs to be revised I think it should be done in standards
> work, here, as a discussion. I do not yet see a document which says
> that. I don't see formalisms which go to a normative change in SHOULD
> to MUST on this.
> 
> So these comments aside, my plea is that people clearly state when
> they say "wrong" or "bad" if they mean that it is cryptographically
> valid, but does not align with some external reality, or some other
> meaning. (Which btw, is complex because the part which none of this
> can adequately capture is *intentionality* -Just because you think a
> publication of RPKI state is nonsensical does not mean its not
> intentional)
> 
> Attack models need to state clearly how they acheve the state. An
> attack on the integrity of the manifest needs to explain coherently
> how it creates a manifest which checks out cryptographically, and yet
> hides or legitemates something which should not exist. They also need
> to explain how the specific attack on the manifest in these situation
> outweighs other considerations: If they have the keys, then surely the
> attack vector is to make validly signed things which cannot be
> detected as an attack?
> 
> -George
> 
> On Wed, Apr 1, 2020 at 1:42 AM Christopher Morrow
> <christopher.morrow@gmail.com> wrote:
>> 
>> first, apologies for getting back around to this so late :(
>> 
>> On Thu, Mar 26, 2020 at 10:57 AM Stephen Kent
>> <stkent=40verizon.net@dmarc.ietf.org> wrote:
>> 
>>> So, I think discussing MITM attacks is a distraction, unless we have examples of how
>>> such attacks can affect RPs in ways different from attacks on repositories. Maybe re-reading
>>> RFC 8211 would be useful, as it tries to analyze a range of possible "adverse actions"  by CAs or
>>> repository managers in the RPKI context, and discusses how RPKI mechanisms are intended to
>>> detect/counter these actions.
>> 
>> In the case of the incident which started this thread we ended up
>> publishing part of the content a
>> repository needs to publish such that the relying parties can verify
>> properly that the content in the
>> repository is correct/valid/usable. The discussion then went along a path like:
>>   1) "well... maybe we shouldn't have belt and suspenders?" (manifest AND crl)
>>   2) "what happens if we don't publish this pesky CRL? and rely only
>> on the manifest?"
>>   3) "what if we don't publish the manifest and only rely on the CRL?"
>>   4) "CRL + Manifest has made 'rp software' hard/buggy"
>> 
>> In the world where the protections specified for RPKI exist:
>>  1) self contained content protection (roa / ee-certs / etc are
>> packaged securely)
>>  2) crl signed and available in the repository for revocation actions
>> on objects in the repository
>>  3) manifest signed and listing all objects of interest in the repository
>> 
>> Steve (kent!) is right mitm is harder to see as a threat.
>>  "All objects you get are signed by a ca-cert which is signed by the
>> root.. which is in the list of TAL you have. You can't have missing
>> objects and you cant' remove objects without affecting the signed
>> manifest"
>> 
>> In a world where we remove one/some of the protections:
>>   A) no more manifest
>>   B) no more crl
>>   C) both
>> 
>> I think mitm problems are much harder to detect/deal with :(
>> It sounds like WG folk (RP users and RP/CA software authors) are
>> asking for guidance on handling the problem(s) discussed here.
>> It sounds, to me, like a chat at the upcoming interim meeting would be
>> a great place to start that with some slideware and a proposal to use
>> as kindling.
>> 
>> I think the shape of the conversation is roughly:
>>  "What would be the effect (on the routing system) for RelyingParties
>> if we decided to be less strict about CRL existence?"
>>  "What would be the effect (on the routing system) for Relying
>> Parties if we decided to be less strict about repository contents vs
>> Manifest contents?"
>>  "What happens to the routing system if the manifest and crl are
>> either/both 'broken' in a repository?"
>> 
>> I don't think it matters much to the routing system where the breakage
>> occurs (my repository or RIPE/ARIN/etc) certainly there's more fallout
>> from ARIN/RIPE/etc, but... you can't get to me either way :)
>> (possibly) until repair and propogation.
>> 
>> Thoughts on some slideware and discussion?
>> Did I about capture the meat of the sandwich here?
>> 
>> -chris
>> co-chair but asking as a regular chemical engineer at this party.
>> 
>> _______________________________________________
>> Sidrops mailing list
>> Sidrops@ietf.org
>> https://www.ietf.org/mailman/listinfo/sidrops
> 
> _______________________________________________
> Sidrops mailing list
> Sidrops@ietf.org
> https://www.ietf.org/mailman/listinfo/sidrops
>