Re: [PATCH 0/4][RFC v2] Introduce the in-kernel hibernation encryption

joeyli
2018-07-19T14:59:07Z

Hi,

On Thu, Jul 19, 2018 at 01:01:49PM +0200, Pavel Machek wrote:
> On Thu 2018-07-19 07:58:51, Yu Chen wrote:
> > Hi,
> > On Wed, Jul 18, 2018 at 10:22:35PM +0200, Pavel Machek wrote:
> > > On Thu 2018-07-19 00:38:06, Chen Yu wrote:
> > > > As security becomes more and more important, we add the in-kernel
> > > > encryption support for hibernation.
> > >
> > > Sorry, this does not really explain what security benefit it is
> > > supposed have to against what attack scenarios.
> > >
> > > Which unfortunately means it can not reviewed.
> > >
> > > Note that uswsusp already provides encryption. If this is supposed to
> > > have advantages over it, please say so.
> > >
> > The advantages are described in detail in
> > [PATCH 1/4]'s log, please refer to that.
>
> Are you refering to this?
>
> # Generally the advantage is: Users do not have to
> # encrypt the whole swap partition as other tools.
> # After all, ideally kernel memory should be encrypted
> # by the kernel itself.
>
> Sorry, this does not really explain what security benefit it is
> supposed have to against what attack scenarios.
>
> Note that uswsusp already provides encryption. If this is supposed to
> have advantages over it, please say so.
>
> Also note that joeyli <jlee@suse.com> has patch series which encrypts
> both in-kernel and uswsusp hibernation methods. His motivation is
> secure boot. How does this compare to his work?
>

My patchset signs and encrypts the snapshot image pages in memory. The
main logic is applied to snapshot.c

https://github.com/joeyli/linux-s4sign/commit/bae39460393ada4c0226dd07cd5e3afcef86b71f

The pros of my solution is that the signed/encrypted snapshot image can
be stored to anywhere. Both in-kernel and userspace.

Yu's patch is encrypt the page buffer before sending to block io layer
for writing to swap. The main logic is applied to swap.c. It's against
the swap solution in-kernel.

The pros of Yu's solution is that it encrypts the compressed image data.
So, for the huge system memory case, it has better performance.

Yu's plan is using the sysfs to switch different encrypt/sign solutions.
And, we will share encrypt/sign helper and key manager in the above two
solutions.

Thanks a lot!
Joey Lee