Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1756725Ab3IZKoO (ORCPT ); Thu, 26 Sep 2013 06:44:14 -0400 Received: from smtp.nue.novell.com ([195.135.221.5]:50727 "EHLO smtp.nue.novell.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1756414Ab3IZKoK (ORCPT ); Thu, 26 Sep 2013 06:44:10 -0400 Subject: Re: [RFC V4 PATCH 00/15] Signature verification of hibernate snapshot From: joeyli To: Alan Stern Cc: David Howells , 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, "Rafael J. Wysocki" , Matthew Garrett , Len Brown , Pavel Machek , Josh Boyer , Vojtech Pavlik , Matt Fleming , James Bottomley , Greg KH , JKosina@suse.com, Rusty Russell , Herbert Xu , "David S. Miller" , "H. Peter Anvin" , Michal Marek , Gary Lin , Vivek Goyal In-Reply-To: <1380161957.32302.42.camel@linux-s257.site> References: <1380161957.32302.42.camel@linux-s257.site> Content-Type: text/plain; charset="UTF-8" Date: Thu, 26 Sep 2013 18:43:38 +0800 Message-ID: <1380192218.32302.69.camel@linux-s257.site> Mime-Version: 1.0 X-Mailer: Evolution 2.28.2 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 2530 Lines: 67 於 四,2013-09-26 於 10:19 +0800,joeyli 提到: > 於 三,2013-09-25 於 17:25 -0400,Alan Stern 提到: > > On Wed, 25 Sep 2013, David Howells wrote: > > > > > I have pushed some keyrings patches that will likely affect this to: > > > > > > http://git.kernel.org/cgit/linux/kernel/git/dhowells/linux-fs.git/log/?h=keys-devel > > > > > > I intend to ask James to pull these into his next branch. If he's happy to do > > > so, I can look at pulling at least your asymmetric keys patch on top of them. > > > > This suggests a point that I raised at the Linux Plumbers conference: > > > > Why are asymmetric keys used for verifying the hibernation image? It > > seems that a symmetric key would work just as well. And it would be a > > lot quicker to generate, because it wouldn't need any high-precision > > integer computations. > > > > Alan Stern > > > > > > Per my understood, it's like add salt to snapshot when generate > signature, then remove the salt when store the snapshot to swap. (or > pass snapshot to userland). > > Let me explain the symmetric key solution base on my understand: > > + EFI stub kernel generate a hash value from a random seed, then store > it to EFi boot varaible. It should protected by UEFI secure boot > environment. > > + When hibernate launched: > - Kernel create the snapshot image of memory. It's included the > random hash value(salt) that generated in EFI stub stage. > - Then kernel hash the snapshot image, put the hash to snapshot > header, just like current asymmetric keys solution. > - Kernel erase the salt in snapshot image before it go to swap or > pass to userspace tool. > > + When hibernate resume: > - Kernel or userspace tool load the snapshot(without salt) from swap > to temporary memory space. > - Kernel fill the salt back to snapshot image in memory, hash it. > - Kernel compare the hash with the hash that put in snapshot header. > - Verification done! The follow-up action as current solution. > > Please current me if I missed anything. > > > Thanks a lot! > Joey Lee > For the symmetric key solution, I will try HMAC (Hash Message Authentication Code). It's already used in networking, hope the performance is not too bad to a big image. Thanks Joey Lee -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/