Re: [Suit] Surprising push back on the need for a customer to verify the trust relationship between a software supplier and software signer during digital signature validation on signed code

Toerless Eckert <tte@cs.fau.de> Fri, 11 June 2021 23:19 UTC

Return-Path: <eckert@i4.informatik.uni-erlangen.de>
X-Original-To: suit@ietfa.amsl.com
Delivered-To: suit@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 4F1803A1183 for <suit@ietfa.amsl.com>; Fri, 11 Jun 2021 16:19:21 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -0.869
X-Spam-Level:
X-Spam-Status: No, score=-0.869 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HEADER_FROM_DIFFERENT_DOMAINS=0.249, RCVD_IN_DNSWL_BLOCKED=0.001, SPF_HELO_NONE=0.001, SPF_NEUTRAL=0.779, URIBL_BLOCKED=0.001] autolearn=no 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 AZmFZidQMsIR for <suit@ietfa.amsl.com>; Fri, 11 Jun 2021 16:19:16 -0700 (PDT)
Received: from faui40.informatik.uni-erlangen.de (faui40.informatik.uni-erlangen.de [IPv6:2001:638:a000:4134::ffff:40]) (using TLSv1.2 with cipher ADH-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 972CA3A1182 for <suit@ietf.org>; Fri, 11 Jun 2021 16:19:16 -0700 (PDT)
Received: from faui48e.informatik.uni-erlangen.de (faui48e.informatik.uni-erlangen.de [131.188.34.51]) by faui40.informatik.uni-erlangen.de (Postfix) with ESMTP id 0AAF3548017; Sat, 12 Jun 2021 01:19:08 +0200 (CEST)
Received: by faui48e.informatik.uni-erlangen.de (Postfix, from userid 10463) id 03B3A4E772D; Sat, 12 Jun 2021 01:19:08 +0200 (CEST)
Date: Sat, 12 Jun 2021 01:19:07 +0200
From: Toerless Eckert <tte@cs.fau.de>
To: Phillip Hallam-Baker <phill@hallambaker.com>
Cc: Hannes Tschofenig <Hannes.Tschofenig@arm.com>, suit <suit@ietf.org>, Russ Housley <housley@vigilsec.com>, "dick@reliableenergyanalytics.com" <dick@reliableenergyanalytics.com>, Brendan Moran <Brendan.Moran@arm.com>
Message-ID: <20210611231907.GA12022@faui48e.informatik.uni-erlangen.de>
References: <0f9601d75adf$5856cf50$09046df0$@reliableenergyanalytics.com> <DBBPR08MB59155DB5DBE123F55B25894BFA359@DBBPR08MB5915.eurprd08.prod.outlook.com> <CAMm+Lwg36Y-tpB+XTwYYpC3psCNEj3O33BzrnzzC8gtMjgkD3Q@mail.gmail.com> <DBBPR08MB5915A4EAB8B59778AD9DCAD9FA349@DBBPR08MB5915.eurprd08.prod.outlook.com> <CAMm+LwjOttzKEA8=BkLJw1-n8RthEtYwToiUkix8=83c-TnkQw@mail.gmail.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Disposition: inline
In-Reply-To: <CAMm+LwjOttzKEA8=BkLJw1-n8RthEtYwToiUkix8=83c-TnkQw@mail.gmail.com>
User-Agent: Mutt/1.10.1 (2018-07-13)
Archived-At: <https://mailarchive.ietf.org/arch/msg/suit/WIK2iuu-K9IIfIXBuyuru_5-c_E>
Subject: Re: [Suit] Surprising push back on the need for a customer to verify the trust relationship between a software supplier and software signer during digital signature validation on signed code
X-BeenThere: suit@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: Software Updates for Internet of Things <suit.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/suit>, <mailto:suit-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/suit/>
List-Post: <mailto:suit@ietf.org>
List-Help: <mailto:suit-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/suit>, <mailto:suit-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 11 Jun 2021 23:19:21 -0000

Phil,

a) Let me see if i get your high level point correctly and/or expand correctly:

   - We want signatures on all pieces of software/data loaded onto systems.
     These signatures allow to authenticate who (signer) says what
     about the signed software/data. Not sure if there is a framework
     for the "what" there is, but i could think of more "what" than
     just an implied "authentic" binary flag implied by the presence of
     the signature.
   - What to make out of those signatures should be different policy decision. 
     As in: just because its signed doesn't mean i trust the software to run
     on my system. Trust policies depend on signatures but would embody
     additional critera such as specific CA for specific software purposes
     or the like.

b)  Wrt to CA policy freedom (" Basically, the CA can define their boundary
    to be anywhere they like, that is purely a matter for them to decide")

    This reminds me a bit of ISO9000 and how uneducated customers are. As in:
    There can be thousands of software companies out there that customers
    trust to be reliable because the software company is ISO9000 certified,
    and none of those customers ever looked up what that means.

    As in "Our software company ISO-9000 process: before we start coding,
    every day, we dance on the tables and drink 3 beers to get into the mood.
    End of ISO-9000 process". The ISO-9000 auditors also got free beers,
    everyone was happy. Worst part: that process might lead to more reliable
    software than some other ISO-9000 audits i have seen.

    Aka: I don't think you get around having some standards for the
    security boundary you describe and whoever defines that boundary/audit
    standard could make nice money from e.g. also getting involved
    into the software signing.

Cheers
    Toerless

On Fri, Jun 11, 2021 at 02:39:11PM -0400, Phillip Hallam-Baker wrote:
> On Fri, Jun 11, 2021 at 2:34 AM Hannes Tschofenig <Hannes.Tschofenig@arm.com>
> wrote:
> 
> > Hi Phil,
> >
> >
> >
> > a few clarifying questions.
> >
> >
> >
> >    - What is a ???trustworthy credential??? for you?
> >    - Who is the ???provider??? here?
> >    - What do you mean by ???Must identify such machines???? Are you saying
> >    that the software / firmware update must identity the machine it applies to?
> >    - When you say ???Every software distribution MUST be signed without
> >    exception??? are you trying to distinguish between the signing the software
> >    vs. securing the distribution? With regards to the exception you are not
> >    talking about what happens during manufacturing.
> >
> >
> I am distinguishing between Sign ( Zip (files) , k) and Sign (files, k).
> 
> Authenticode only signed the software distribution package, most of what
> has followed has done the same. That is a useful control of course because
> an installer is an executable that runs on the machine. But it is necessary
> but not sufficient: Every executable, every piece of installed data should
> be signed without exception.
> 
> On the other issues, well it totally depends on your application and your
> regulator. In the aftermath of Diginotar we had a lot of discussions of
> what should be subject to audit. My position was that is actually something
> the CA decides. Basically, the CA can define their boundary to be anywhere
> they like, that is purely a matter for them to decide.
> 
> The catch here is that if you are going to show that your practices meet
> your policy, then you have to show that all your cert issuing machinery is
> subject to audit. Contrawise, the more of your machinery you stick within
> the audit boundary, the harder time you are going to have showing it is
> secure.
> 
> I would apply the same approach here. The pipeline provider etc. has to
> show that its operations are secure. I am not going to write a list of what
> they have to pur inside or outside of their security perimeter, I am merely
> saying that they have to define one, they have to show that all the
> necessary operations are inside it and that everything inside it is
> sufficiently secure.
> 
> If we are talking about a pipeline then CABForum EV certs are probably
> sufficient. For civil nuclear, I would consider that a starting point, I
> would want all software to be signed under a cert that was individually
> enumerated and credentialed.
> 
> It is worth pointing out that the reason colonial pipeline was affected so
> badly was probably that they were sending multiple types of fuel down the
> same pipe in batches. That game is only going to work if you can absolutely
> guarantee that you aren't going to put the load of tar into a tank full of
> top grade aviation fuel. So their problem probably wasn't on their actual
> operations side itself, the thing they were looking at. They had not
> understood that the database of what fuel is where was actually critical to
> operations.
> 
> 
> On provider, I am being deliberately vague because sometimes the provider
> is going to be the developer, other times it isn't. A large amount of
> Ubuntu packages are signed by the people who are putting the packages
> together who are not the actual developer. This third party work does have
> value in that there is a curation process going on there and it is possible
> to imagine mechanisms whereby detected insertion of malware could be
> revoked. But we don't have those at this point of course.

> _______________________________________________
> Suit mailing list
> Suit@ietf.org
> https://www.ietf.org/mailman/listinfo/suit


-- 
---
tte@cs.fau.de