All of lore.kernel.org
 help / color / mirror / Atom feed
From: joeyli <jlee@suse.com>
To: Pavel Machek <pavel@ucw.cz>
Cc: linux-kernel@vger.kernel.org,
	linux-security-module@vger.kernel.org, linux-efi@vger.kernel.org,
	linux-pm@vger.kernel.org, linux-crypto@vger.kernel.org,
	opensuse-kernel@opensuse.org, David Howells <dhowells@redhat.com>,
	"Rafael J. Wysocki" <rjw@sisk.pl>,
	Matthew Garrett <mjg59@srcf.ucam.org>,
	Len Brown <len.brown@intel.com>, Josh Boyer <jwboyer@redhat.com>,
	Vojtech Pavlik <vojtech@suse.cz>,
	Matt Fleming <matt.fleming@intel.com>,
	James Bottomley <james.bottomley@hansenpartnership.com>,
	Greg KH <gregkh@linuxfoundation.org>,
	JKosina@suse.com, Rusty Russell <rusty@rustcorp.com.au>,
	Herbert Xu <herbert@gondor.hengli.com.au>,
	"David S. Miller" <davem@davemloft.net>,
	"H. Peter Anvin" <hpa@zytor.com>, Michal Marek <mmarek@suse.cz>,
	Gary Lin <GLin@suse.com>, Vivek Goyal <vgoyal@redhat.com>,
	Takashi Iwai <tiwai@suse.de>
Subject: Re: [PATCH 11/18] Hibernate: introduced RSA key-pair to verify signature of snapshot
Date: Tue, 27 Aug 2013 17:04:43 +0800	[thread overview]
Message-ID: <1377594283.20140.3.camel@linux-s257.site> (raw)
In-Reply-To: <20130825162554.GH5171@amd.pavel.ucw.cz>

Hi Pavel, 

於 日,2013-08-25 於 18:25 +0200,Pavel Machek 提到:
> On Thu 2013-08-22 19:01:50, Lee, Chun-Yi wrote:
> > Introduced a hibernate_key.c file to query the key pair from EFI variables
> > and maintain key pair for check signature of S4 snapshot image. We
> > loaded the private key when snapshot image stored success.
> > 
> > This patch introduced 2 EFI variables for store the key to sign S4 image and
> > verify signature when S4 wake up. The names and GUID are:
> >   S4SignKey-fe141863-c070-478e-b8a3-878a5dc9ef21
> >   S4WakeKey-fe141863-c070-478e-b8a3-878a5dc9ef21
> > 
> > S4SignKey is used by EFI bootloader to pass the RSA private key that packaged
> > by PKCS#8 format, kernel will read and parser it when system boot and reload
> > it when S4 resume. EFI bootloader need gnerate a new private key when every
> > time system boot.
> > 
> > S4WakeKey is used to pass the RSA public key that packaged by X.509
> > certificate, kernel will read and parser it for check the signature of
> > S4 snapshot image when S4 resume.
> > 
> > The follow-up patch will remove S4SignKey and S4WakeKey after load them
> > to kernel for avoid anyone can access it through efivarfs.
> > 
> > v3:
> > - Load S4 sign key before ExitBootServices.
> >   Load private key before ExitBootServices() then bootloader doesn't need
> >   generate key-pair for each booting:
> >    + Add setup_s4_keys() to eboot.c to load S4 sign key before ExitBootServices.
> >    + Reserve the memory block of sign key data blob in efi.c
> > - In Makefile, moved hibernate_keys.o before hibernate.o for load S4 sign
> >   key before check hibernate image. It makes sure the new sign key will be
> >   transfer to resume target kernel.
> > - Set "depends on EFI_STUB" in Kconfig
> > 
> > v2:
> > Add CONFIG_SNAPSHOT_VERIFICATION for build of hibernate_keys.c depend on
> > Kconfig.
> > 
> > Cc: Matthew Garrett <mjg59@srcf.ucam.org>
> > Cc: Takashi Iwai <tiwai@suse.de>
> > Reviewed-by: Jiri Kosina <jkosina@suse.cz>
> > Signed-off-by: Lee, Chun-Yi <jlee@suse.com>
> 
> 
> > --- a/arch/x86/boot/compressed/eboot.c
> > +++ b/arch/x86/boot/compressed/eboot.c
> > @@ -368,6 +368,91 @@ free_handle:
> >  	return status;
> >  }
> >  
> > +#ifdef CONFIG_SNAPSHOT_VERIFICATION
> > +static efi_status_t setup_s4_keys(struct boot_params *params)
> > +{
> > +	struct setup_data *data;
> > +	unsigned long datasize;
> > +	u32 attr;
> > +	struct efi_s4_key *s4key;
> > +	efi_status_t status;
> > +
> > +	data = (struct setup_data *)(unsigned long)params->hdr.setup_data;
> 
> A bit too many casts.

Thanks.
Yes, here is my mistake, I will remove "unsigned long" cast.

> 
> > @@ -1205,6 +1290,10 @@ struct boot_params *efi_main(void *handle, efi_system_table_t *_table,
> >  
> >  	setup_efi_pci(boot_params);
> >  
> > +#ifdef CONFIG_SNAPSHOT_VERIFICATION
> > +	setup_s4_keys(boot_params);
> > +#endif
> > +
> 
> Move ifdef inside the function?

OK, I will define a dummy function for non-verification situation.

> 
> > @@ -729,6 +792,11 @@ void __init efi_init(void)
> >  
> >  	set_bit(EFI_SYSTEM_TABLES, &x86_efi_facility);
> >  
> > +#ifdef CONFIG_SNAPSHOT_VERIFICATION
> > +	/* keep s4 key from setup_data */
> > +	efi_reserve_s4_skey_data();
> > +#endif
> > +
> 
> Here too.
> 

I will also use dummy function here. 


Thanks
Joey Lee


  parent reply	other threads:[~2013-08-27  9:06 UTC|newest]

Thread overview: 181+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-08-22 11:01 [RFC PATCH 00/18 v3] Signature verification of hibernate snapshot Lee, Chun-Yi
2013-08-22 11:01 ` Lee, Chun-Yi
     [not found] ` <1377169317-5959-1-git-send-email-jlee-IBi9RG/b67k@public.gmane.org>
2013-08-22 11:01   ` [PATCH 01/18] asymmetric keys: add interface and skeleton for implement signature generation Lee, Chun-Yi
2013-08-22 11:01     ` Lee, Chun-Yi
2013-08-22 11:01   ` [PATCH 02/18] asymmetric keys: implement EMSA_PKCS1-v1_5-ENCODE in rsa Lee, Chun-Yi
2013-08-22 11:01     ` Lee, Chun-Yi
     [not found]     ` <1377169317-5959-3-git-send-email-jlee-IBi9RG/b67k@public.gmane.org>
2013-08-25 15:53       ` Pavel Machek
2013-08-25 15:53         ` Pavel Machek
2013-08-26 10:17         ` joeyli
2013-08-26 10:17         ` joeyli
2013-08-26 10:17         ` joeyli
2013-08-26 10:17         ` joeyli
2013-08-26 10:17         ` joeyli
     [not found]         ` <20130825155309.GA5171-tWAi6jLit6GreWDznjuHag@public.gmane.org>
2013-08-26 10:17           ` joeyli
2013-08-22 11:01   ` [PATCH 04/18] asymmetric keys: implement OS2IP " Lee, Chun-Yi
2013-08-22 11:01     ` Lee, Chun-Yi
2013-08-22 11:01   ` [PATCH 10/18] efi: Enable secure boot lockdown automatically when enabled in firmware Lee, Chun-Yi
2013-08-22 11:01     ` Lee, Chun-Yi
2013-08-25 16:22     ` Pavel Machek
2013-08-25 16:22       ` Pavel Machek
     [not found]       ` <20130825162243.GG5171-tWAi6jLit6GreWDznjuHag@public.gmane.org>
2013-08-25 16:26         ` Matthew Garrett
2013-08-25 16:26           ` Matthew Garrett
2013-09-03 10:49     ` Matt Fleming
2013-09-03 10:49       ` Matt Fleming
2013-09-03 10:49       ` Matt Fleming
2013-08-22 11:01   ` [PATCH 11/18] Hibernate: introduced RSA key-pair to verify signature of snapshot Lee, Chun-Yi
2013-08-22 11:01     ` Lee, Chun-Yi
2013-08-25 16:25     ` Pavel Machek
2013-08-25 16:25       ` Pavel Machek
2013-08-27  9:04       ` joeyli
2013-08-27  9:04       ` joeyli
     [not found]       ` <20130825162554.GH5171-tWAi6jLit6GreWDznjuHag@public.gmane.org>
2013-08-27  9:04         ` joeyli
2013-08-27  9:04       ` joeyli
2013-08-27  9:04       ` joeyli [this message]
     [not found]         ` <1377594283.20140.3.camel-ONCj+Eqt86TasUa73XJKwA@public.gmane.org>
2013-08-27 11:29           ` Pavel Machek
2013-08-27 11:29             ` Pavel Machek
2013-08-27 13:12             ` joeyli
     [not found]             ` <20130827112943.GA20527-tWAi6jLit6GreWDznjuHag@public.gmane.org>
2013-08-27 12:01               ` Manfred Hollstein
2013-08-27 12:01                 ` Manfred Hollstein
     [not found]                 ` <20130827120142.GA4314-FGSgn5mWDzkZXJsbVdw/lG363IjY150HP6IUcbMO39o@public.gmane.org>
2013-08-27 14:17                   ` Pavel Machek
2013-08-27 14:17                     ` Pavel Machek
2013-08-27 14:17                     ` Pavel Machek
2013-08-27 13:12               ` joeyli
2013-08-27 13:12             ` joeyli
2013-08-27 13:12             ` joeyli
2013-08-27 13:12             ` joeyli
2013-08-27 13:12             ` joeyli
2013-08-27  9:04       ` joeyli
2013-09-05  8:53     ` Matt Fleming
2013-09-05  8:53       ` Matt Fleming
2013-09-05  8:53       ` Matt Fleming
2013-09-05 10:13       ` joeyli
     [not found]         ` <1378376016.6193.71.camel-ONCj+Eqt86TasUa73XJKwA@public.gmane.org>
2013-09-05 10:31           ` Matt Fleming
2013-09-05 10:31             ` Matt Fleming
2013-09-05 13:28             ` joeyli
2013-09-05 13:28             ` joeyli
2013-09-05 13:28             ` joeyli
2013-09-05 13:28             ` joeyli
     [not found]             ` <20130905103158.GM28598-HNK1S37rvNbeXh+fF434Mdi2O/JbrIOy@public.gmane.org>
2013-09-05 13:28               ` joeyli
2013-09-05 13:28             ` joeyli
2013-09-05 10:13       ` joeyli
2013-09-05 10:13       ` joeyli
2013-09-05 10:13       ` joeyli
     [not found]       ` <20130905085348.GJ28598-HNK1S37rvNbeXh+fF434Mdi2O/JbrIOy@public.gmane.org>
2013-09-05 10:13         ` joeyli
2013-09-05 10:13       ` joeyli
2013-08-22 11:01   ` [PATCH 12/18] Hibernate: generate and " Lee, Chun-Yi
2013-08-22 11:01     ` Lee, Chun-Yi
2013-08-25 16:36     ` Pavel Machek
2013-08-25 16:36       ` Pavel Machek
     [not found]       ` <20130825163648.GI5171-tWAi6jLit6GreWDznjuHag@public.gmane.org>
2013-08-27  3:22         ` joeyli
2013-08-27  3:22       ` joeyli
2013-08-27  3:22       ` joeyli
2013-08-27  3:22       ` joeyli
2013-08-27  3:22       ` joeyli
2013-08-27  3:22       ` joeyli
2013-08-22 11:01   ` [PATCH 13/18] Hibernate: Avoid S4 sign key data included in snapshot image Lee, Chun-Yi
2013-08-22 11:01     ` Lee, Chun-Yi
2013-08-25 16:39     ` Pavel Machek
2013-08-25 16:39       ` Pavel Machek
2013-08-27  8:33       ` joeyli
2013-08-27  8:33       ` joeyli
     [not found]       ` <20130825163931.GJ5171-tWAi6jLit6GreWDznjuHag@public.gmane.org>
2013-08-27  8:33         ` joeyli
2013-08-27  8:33       ` joeyli
2013-08-27  8:33       ` joeyli
2013-08-27  8:33       ` joeyli
2013-08-22 11:01   ` [PATCH 15/18] Hibernate: adapt to UEFI secure boot with signature check Lee, Chun-Yi
2013-08-22 11:01     ` Lee, Chun-Yi
2013-08-25 16:42     ` Pavel Machek
2013-08-25 16:42       ` Pavel Machek
2013-08-27 10:14       ` joeyli
2013-08-27 10:14       ` joeyli
2013-08-27 10:14       ` joeyli
2013-08-27 10:14       ` joeyli
2013-08-27 10:14       ` joeyli
     [not found]       ` <20130825164219.GK5171-tWAi6jLit6GreWDznjuHag@public.gmane.org>
2013-08-27 10:14         ` joeyli
2013-08-22 11:01   ` [PATCH 16/18] Hibernate: show the verification time for monitor performance Lee, Chun-Yi
2013-08-22 11:01     ` Lee, Chun-Yi
2013-08-28 21:01   ` [RFC PATCH 00/18 v3] Signature verification of hibernate snapshot Florian Weimer
2013-08-28 21:01     ` Florian Weimer
     [not found]     ` <87eh9dzg00.fsf-ZqZwdwZz9NfTBotR3TxKnbNAH6kLmebB@public.gmane.org>
2013-08-29  0:01       ` joeyli
2013-08-29  0:01     ` joeyli
2013-08-29  0:01     ` joeyli
     [not found]       ` <1377734505.19568.39.camel-ONCj+Eqt86TasUa73XJKwA@public.gmane.org>
2013-08-29 21:32         ` Pavel Machek
2013-08-29 21:32           ` Pavel Machek
2013-08-29 22:30           ` joeyli
2013-08-29 22:30           ` joeyli
2013-08-29 22:30           ` joeyli
2013-08-29 22:30           ` joeyli
     [not found]           ` <20130829213249.GA25940-tWAi6jLit6GreWDznjuHag@public.gmane.org>
2013-08-29 22:30             ` joeyli
2013-08-29 22:30           ` joeyli
2013-09-01 10:41         ` Florian Weimer
2013-09-01 10:41           ` Florian Weimer
     [not found]           ` <87r4d8vn71.fsf-ZqZwdwZz9NfTBotR3TxKnbNAH6kLmebB@public.gmane.org>
2013-09-01 16:04             ` Matthew Garrett
2013-09-01 16:04               ` Matthew Garrett
     [not found]               ` <20130901160429.GA1375-1xO5oi07KQx4cg9Nei1l7Q@public.gmane.org>
2013-09-01 16:40                 ` Florian Weimer
2013-09-01 16:40                   ` Florian Weimer
     [not found]                   ` <87vc2ksdfa.fsf-ZqZwdwZz9NfTBotR3TxKnbNAH6kLmebB@public.gmane.org>
2013-09-01 16:46                     ` Matthew Garrett
2013-09-01 16:46                       ` Matthew Garrett
2013-09-02  2:12                     ` joeyli
2013-09-02  2:12                   ` joeyli
2013-09-02  2:12                   ` joeyli
2013-09-02  2:12                   ` joeyli
2013-09-02  2:12                   ` joeyli
2013-09-02  2:12                   ` joeyli
2013-08-29  0:01     ` joeyli
2013-08-29  0:01     ` joeyli
2013-08-29  0:01     ` joeyli
2013-08-22 11:01 ` [PATCH 03/18] asymmetric keys: separate the length checking of octet string from RSA_I2OSP Lee, Chun-Yi
2013-08-22 11:01   ` Lee, Chun-Yi
2013-08-25 16:01   ` Pavel Machek
2013-08-25 16:01     ` Pavel Machek
2013-08-26 10:25     ` joeyli
2013-08-26 10:25     ` joeyli
2013-08-26 10:25     ` joeyli
     [not found]       ` <1377512731.27967.34.camel-ONCj+Eqt86TasUa73XJKwA@public.gmane.org>
2013-08-26 11:27         ` Pavel Machek
2013-08-26 11:27           ` Pavel Machek
     [not found]           ` <20130826112737.GA18300-tWAi6jLit6GreWDznjuHag@public.gmane.org>
2013-08-27  8:36             ` Jiri Kosina
2013-08-27  8:36               ` Jiri Kosina
2013-08-26 10:25     ` joeyli
2013-08-26 10:25     ` joeyli
     [not found]     ` <20130825160147.GB5171-tWAi6jLit6GreWDznjuHag@public.gmane.org>
2013-08-26 10:25       ` joeyli
2013-08-22 11:01 ` [PATCH 05/18] asymmetric keys: implement RSASP1 Lee, Chun-Yi
2013-08-22 11:01   ` Lee, Chun-Yi
2013-08-22 11:01 ` [PATCH 06/18] asymmetric keys: support parsing PKCS #8 private key information Lee, Chun-Yi
2013-08-22 11:01   ` Lee, Chun-Yi
2013-08-25 16:10   ` Pavel Machek
2013-08-25 16:10     ` Pavel Machek
2013-08-22 11:01 ` [PATCH 07/18] asymmetric keys: explicitly add the leading zero byte to encoded message Lee, Chun-Yi
2013-08-22 11:01   ` Lee, Chun-Yi
2013-08-25 16:13   ` Pavel Machek
2013-08-25 16:13     ` Pavel Machek
2013-08-22 11:01 ` [PATCH 08/18] Secure boot: Add new capability Lee, Chun-Yi
2013-08-22 11:01   ` Lee, Chun-Yi
2013-08-25 16:14   ` Pavel Machek
2013-08-25 16:14     ` Pavel Machek
2013-08-22 11:01 ` [PATCH 09/18] Secure boot: Add a dummy kernel parameter that will switch on Secure Boot mode Lee, Chun-Yi
2013-08-22 11:01   ` Lee, Chun-Yi
2013-08-25 16:16   ` Pavel Machek
2013-08-25 16:16     ` Pavel Machek
2013-08-22 11:01 ` [PATCH 14/18] Hibernate: applied SNAPSHOT_VERIFICATION config to switch signature check Lee, Chun-Yi
2013-08-22 11:01   ` Lee, Chun-Yi
2013-08-22 11:01 ` [PATCH 17/18] Hibernate: introduced SNAPSHOT_SIG_HASH config for select hash algorithm Lee, Chun-Yi
2013-08-22 11:01   ` Lee, Chun-Yi
     [not found]   ` <1377169317-5959-18-git-send-email-jlee-IBi9RG/b67k@public.gmane.org>
2013-08-25 16:43     ` Pavel Machek
2013-08-25 16:43       ` Pavel Machek
2013-08-27 10:22       ` joeyli
2013-08-27 10:22       ` joeyli
     [not found]       ` <20130825164329.GL5171-tWAi6jLit6GreWDznjuHag@public.gmane.org>
2013-08-27 10:22         ` joeyli
2013-08-27 10:22       ` joeyli
2013-08-27 11:30         ` Pavel Machek
2013-08-27 11:30           ` Pavel Machek
2013-08-27 12:54           ` joeyli
2013-08-27 12:54           ` joeyli
2013-08-27 12:54           ` joeyli
2013-08-27 12:54           ` joeyli
2013-08-27 12:54           ` joeyli
     [not found]           ` <20130827113044.GB20527-tWAi6jLit6GreWDznjuHag@public.gmane.org>
2013-08-27 12:54             ` joeyli
2013-08-27 10:22       ` joeyli
2013-08-27 10:22       ` joeyli
2013-08-22 11:01 ` [PATCH 18/18] Hibernate: notify bootloader regenerate key-pair for snapshot verification Lee, Chun-Yi
2013-08-22 11:01   ` Lee, Chun-Yi

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=1377594283.20140.3.camel@linux-s257.site \
    --to=jlee@suse.com \
    --cc=GLin@suse.com \
    --cc=JKosina@suse.com \
    --cc=davem@davemloft.net \
    --cc=dhowells@redhat.com \
    --cc=gregkh@linuxfoundation.org \
    --cc=herbert@gondor.hengli.com.au \
    --cc=hpa@zytor.com \
    --cc=james.bottomley@hansenpartnership.com \
    --cc=jwboyer@redhat.com \
    --cc=len.brown@intel.com \
    --cc=linux-crypto@vger.kernel.org \
    --cc=linux-efi@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-pm@vger.kernel.org \
    --cc=linux-security-module@vger.kernel.org \
    --cc=matt.fleming@intel.com \
    --cc=mjg59@srcf.ucam.org \
    --cc=mmarek@suse.cz \
    --cc=opensuse-kernel@opensuse.org \
    --cc=pavel@ucw.cz \
    --cc=rjw@sisk.pl \
    --cc=rusty@rustcorp.com.au \
    --cc=tiwai@suse.de \
    --cc=vgoyal@redhat.com \
    --cc=vojtech@suse.cz \
    /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.