From: Chen Yu <yu.c.chen@intel.com>
To: "Rafael J . Wysocki" <rafael.j.wysocki@intel.com>,
Pavel Machek <pavel@ucw.cz>, Eric Biggers <ebiggers@google.com>,
Len Brown <len.brown@intel.com>, "Lee, Chun-Yi" <jlee@suse.com>,
Theodore Ts o <tytso@mit.edu>,
Stephan Mueller <smueller@chronox.de>,
Denis Kenzior <denkenz@gmail.com>
Cc: linux-pm@vger.kernel.org, linux-crypto@vger.kernel.org,
linux-kernel@vger.kernel.org, "Gu, Kookoo" <kookoo.gu@intel.com>,
"Zhang, Rui" <rui.zhang@intel.com>, Chen Yu <yu.c.chen@intel.com>
Subject: [PATCH 0/4][RFC v2] Introduce the in-kernel hibernation encryption
Date: Thu, 19 Jul 2018 00:38:06 +0800 [thread overview]
Message-ID: <cover.1531924968.git.yu.c.chen@intel.com> (raw)
As security becomes more and more important, we add the in-kernel
encryption support for hibernation.
This prototype is a trial version to implement the hibernation
encryption in the kernel. This patch set is divided
into two parts:
1. The hibernation snapshot encryption in kernel space.
2. The key derivation implementation in user space.
The whole process is illustrated below:
1. install the kernel module:
modprobe crypto_hibernation
2. run the tool to generate the key from
user provided passphrase (salt has been read
from kernel).
3. launch the hibernation process, the kernel
uses the key in step 2 to encrypt the
hibernation snapshot.
4. resume the system and the initrd will
launch cryto_hibernate to read previous salt
from kernel and probe the user passphrase
and generate the same key.
5. kernel uses this key to decrypt the hibernation
snapshot and restore to previous system.
Chen Yu (4):
PM / Hibernate: Add helper functions for hibernation encryption
PM / hibernate: Install crypto hooks for hibernation encryption
PM / Hibernate: Encrypt the snapshot pages before submitted to the
block device
tools: create power/crypto utility
include/linux/suspend.h | 40 +++
kernel/power/Kconfig | 14 ++
kernel/power/Makefile | 1 +
kernel/power/crypto_hibernation.c | 421 +++++++++++++++++++++++++++++++
kernel/power/hibernate.c | 67 +++++
kernel/power/power.h | 67 +++++
kernel/power/swap.c | 182 +++++++++++++-
tools/power/crypto/Makefile | 24 ++
tools/power/crypto/crypto_hibernate.c | 462 ++++++++++++++++++++++++++++++++++
9 files changed, 1270 insertions(+), 8 deletions(-)
create mode 100644 kernel/power/crypto_hibernation.c
create mode 100644 tools/power/crypto/Makefile
create mode 100644 tools/power/crypto/crypto_hibernate.c
--
2.7.4
next reply other threads:[~2018-07-18 16:38 UTC|newest]
Thread overview: 53+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-07-18 16:38 Chen Yu [this message]
2018-07-18 16:39 ` [PATCH 1/4][RFC v2] PM / Hibernate: Add helper functions for hibernation encryption Chen Yu
2018-07-18 16:39 ` [PATCH 2/4][RFC v2] PM / hibernate: Install crypto hooks " Chen Yu
2018-07-18 16:40 ` [PATCH 4/4][RFC v2] tools: create power/crypto utility Chen Yu
2018-07-18 20:22 ` [PATCH 0/4][RFC v2] Introduce the in-kernel hibernation encryption Pavel Machek
2018-07-18 23:58 ` Yu Chen
2018-07-19 11:01 ` Pavel Machek
2018-07-19 13:20 ` Yu Chen
2018-07-20 10:25 ` Pavel Machek
2018-07-23 11:42 ` Oliver Neukum
2018-07-23 12:22 ` Pavel Machek
2018-07-23 16:38 ` Yu Chen
2018-07-24 12:05 ` Pavel Machek
2018-07-24 11:49 ` Oliver Neukum
2018-07-24 13:04 ` Pavel Machek
2018-07-23 16:23 ` Yu Chen
2018-07-24 11:40 ` Oliver Neukum
2018-07-24 12:01 ` Pavel Machek
2018-07-24 12:47 ` Oliver Neukum
2018-07-24 13:03 ` Pavel Machek
2018-07-24 13:01 ` Oliver Neukum
2018-07-26 7:30 ` Oliver Neukum
2018-07-26 8:14 ` joeyli
2018-07-30 17:04 ` joeyli
2018-08-03 3:37 ` Yu Chen
2018-08-03 5:34 ` joeyli
2018-08-03 13:14 ` Ryan Chen
2018-08-03 14:05 ` joeyli
2018-08-03 16:09 ` Ryan Chen
2018-08-03 18:06 ` joeyli
2018-08-05 10:02 ` Pavel Machek
2018-08-06 8:45 ` Yu Chen
2018-08-06 10:39 ` joeyli
2018-08-07 7:43 ` Yu Chen
2018-08-07 16:27 ` joeyli
2018-08-08 17:58 ` Pavel Machek
2018-08-09 3:43 ` Yu Chen
2018-08-09 8:12 ` joeyli
2018-08-08 17:50 ` Pavel Machek
2018-08-09 3:01 ` Yu Chen
2018-08-09 6:53 ` Pavel Machek
2018-08-09 9:03 ` Oliver Neukum
2018-08-09 15:55 ` joeyli
2018-08-06 7:57 ` Yu Chen
2018-08-06 9:48 ` joeyli
2018-08-06 10:07 ` Yu Chen
2018-08-06 10:20 ` Oliver Neukum
2018-08-07 7:38 ` Yu Chen
2018-08-07 7:49 ` Ryan Chen
2018-08-07 10:04 ` Oliver Neukum
2018-07-24 14:47 ` joeyli
2018-07-19 14:58 ` joeyli
[not found] ` <edf92acf665b928f02104bb1835fd50723ab9980.1531924968.git.yu.c.chen@intel.com>
2018-07-19 5:32 ` [PATCH 3/4][RFC v2] PM / Hibernate: Encrypt the snapshot pages before submitted to the block device Yu Chen
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=cover.1531924968.git.yu.c.chen@intel.com \
--to=yu.c.chen@intel.com \
--cc=denkenz@gmail.com \
--cc=ebiggers@google.com \
--cc=jlee@suse.com \
--cc=kookoo.gu@intel.com \
--cc=len.brown@intel.com \
--cc=linux-crypto@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-pm@vger.kernel.org \
--cc=pavel@ucw.cz \
--cc=rafael.j.wysocki@intel.com \
--cc=rui.zhang@intel.com \
--cc=smueller@chronox.de \
--cc=tytso@mit.edu \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).