All of lore.kernel.org
 help / color / mirror / Atom feed
From: Avi Fishman <avifishman70@gmail.com>
To: anoo <anoo@linux.vnet.ibm.com>
Cc: OpenBMC Maillist <openbmc@lists.ozlabs.org>,
	uri.trichter@nuvoton.com,  yoel.hayon@nuvoton.com,
	eyal.cohen@nuvoton.com
Subject: Re: BMC Image Signing Proposal
Date: Mon, 29 Jan 2018 12:44:31 +0200	[thread overview]
Message-ID: <CAKKbWA4E+bX6WiEDGUYED=nUegJ9N7cTcxZHMpfiO43Tt0dNyw@mail.gmail.com> (raw)
In-Reply-To: <70e1d00f2f9abaea58ff3710d4fbcbff@linux.vnet.ibm.com>

Hi Anoo and all,

Regarding "The encrypted hash (digital signature) and corresponding
public key would be added to the firmware image":
If both the decrypted signature and the public key are in flash, if
flash was replaced (by hacking or physicaly) a malicious public key
can be used with a  signature that was decrypted by the paired
malicious private key of the stored public key.

To overcome that the public key should be stored in OTP.
We use this method on our Nuvoton Poleg BMC.

Does this sound reasonable?

Regards,
Avi


On Thu, Jan 25, 2018 at 11:15 PM, anoo <anoo@linux.vnet.ibm.com> wrote:
> Hi all,
>
> During the hackaton meetup, we touched on BMC image verification and signing
> and concluded that the community would like to see two verification steps,
> one prior to writing the image to flash (via digital signature
> verification), and another one by checking FIT in U-Boot prior to booting
> from the new image.
>
> The proposal would be to implement the digital signature verification first.
>
> At a high level, during the build:
> * A SHA-256 hash would be calculated over tbd files that make up the
> firmware image.
> * The hash would be signed by a private key that's part of the repository
> (community key). Companies could overwrite it with their own private key
> when building production images.
> * The encrypted hash (digital signature) and corresponding public key would
> be added to the firmware image.
> * Yocto may already provide a way to sign images and generate keys.
>
> On the BMC:
> * The hash would be calculated on the image files that were uploaded to the
> BMC.
> * The signature would be decrypted using an existing public key on the BMC
> (this validates the new public key delivered with the image is also valid).
> * Accept image if both values are the same.
>
> Any thoughts or comments?
>

  parent reply	other threads:[~2018-01-29 10:44 UTC|newest]

Thread overview: 40+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-01-25 21:15 BMC Image Signing Proposal anoo
2018-01-26 11:07 ` Alexander Amelkin
2018-01-29  6:30   ` Andrew Jeffery
2018-01-29 15:50     ` Simon Glass
2018-01-29 20:59       ` Vernon Mauery
2018-01-30  4:47     ` Stewart Smith
2018-01-30  6:18       ` Joel Stanley
2018-01-30 16:20         ` Simon Glass
2018-01-30 23:53         ` Stewart Smith
2018-01-31 21:13           ` Adriana Kobylak
2018-02-08 20:27             ` Adriana Kobylak
2018-02-10  1:36               ` Yugi Mani
2018-02-13 22:33                 ` Adriana Kobylak
2018-02-13 22:34                   ` Adriana Kobylak
2018-02-15  4:07                     ` Joel Stanley
2018-02-19 21:04                       ` Adriana Kobylak
2018-02-23  1:44                 ` Stewart Smith
2018-02-23 20:30                   ` Vernon Mauery
2018-02-15  4:10               ` Joel Stanley
2018-02-23  1:47               ` Stewart Smith
2018-02-27 22:13                 ` Adriana Kobylak
2018-05-15  2:06                   ` Lei YU
2018-05-15 18:18                     ` Yugi Mani
2018-05-15 23:03                       ` Stewart Smith
2018-05-16 16:02                       ` Vernon Mauery
2018-05-18  3:33                         ` Lei YU
2018-05-18 16:01                           ` Adriana Kobylak
2018-05-18 21:02                             ` Vernon Mauery
2018-05-22  6:46                               ` Lei YU
2018-05-22 15:30                                 ` Vernon Mauery
2018-05-22 18:28                                   ` Vernon Mauery
2018-05-24 17:12                                     ` Adriana Kobylak
2018-05-24 19:34                                       ` Vernon Mauery
2018-05-25  7:03                                       ` Lei YU
2018-05-15 20:00                     ` Stewart Smith
2018-01-30  4:39   ` Stewart Smith
2018-01-29  5:56 ` Andrew Jeffery
2018-01-29 21:07   ` Vernon Mauery
2018-01-29 10:44 ` Avi Fishman [this message]
2018-01-29 14:40   ` Eugene.Cho

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='CAKKbWA4E+bX6WiEDGUYED=nUegJ9N7cTcxZHMpfiO43Tt0dNyw@mail.gmail.com' \
    --to=avifishman70@gmail.com \
    --cc=anoo@linux.vnet.ibm.com \
    --cc=eyal.cohen@nuvoton.com \
    --cc=openbmc@lists.ozlabs.org \
    --cc=uri.trichter@nuvoton.com \
    --cc=yoel.hayon@nuvoton.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.