CCv0: Add cryptsetup support in Guest kernel and rootfs

Add required kernel config for dm-crypt/dm-integrity/dm-verity
and related crypto config.

Add userspace command line tools for disk encryption support
and ext4 file system utilities.

Fixes: #4761

Signed-off-by: Arron Wang <arron.wang@intel.com>
This commit is contained in:
Arron Wang
2022-05-04 16:35:49 +08:00
committed by Wang, Arron
parent 4f49423c91
commit edf3cba463
8 changed files with 33 additions and 1 deletions

View File

@@ -448,6 +448,7 @@ build_rootfs_distro()
--env SKOPEO="${SKOPEO}" \
--env UMOCI="${UMOCI}" \
--env AA_KBC="${AA_KBC}" \
--env KATA_BUILD_CC="${KATA_BUILD_CC}" \
--env SECCOMP="${SECCOMP}" \
--env DEBUG="${DEBUG}" \
--env HOME="/root" \

View File

@@ -7,6 +7,7 @@ OS_NAME=ubuntu
OS_VERSION=${OS_VERSION:-focal}
PACKAGES="chrony iptables"
[ "$AGENT_INIT" = no ] && PACKAGES+=" init"
[ "$KATA_BUILD_CC" = yes ] && PACKAGES+=" cryptsetup-bin e2fsprogs"
[ "$SECCOMP" = yes ] && PACKAGES+=" libseccomp2"
[ "$SKOPEO" = yes ] && PACKAGES+=" libgpgme11"
REPO_URL=http://ports.ubuntu.com

View File

@@ -45,6 +45,7 @@ docker run \
--env SKOPEO="${SKOPEO:-}" \
--env UMOCI="${UMOCI:-}" \
--env AA_KBC="${AA_KBC:-}" \
--env KATA_BUILD_CC="${KATA_BUILD_CC:-}" \
--env INCLUDE_ROOTFS="$(realpath "${INCLUDE_ROOTFS:-}" 2> /dev/null || true)" \
-v "${kata_dir}:${kata_dir}" \
--rm \

View File

@@ -116,6 +116,7 @@ install_cc_image() {
export SKOPEO=yes
export UMOCI=yes
export AA_KBC="offline_fs_kbc"
export KATA_BUILD_CC=yes
"${rootfs_builder}" --imagetype=image --prefix="${cc_prefix}" --destdir="${destdir}"
}

View File

@@ -242,6 +242,10 @@ get_kernel_frag_path() {
fi
if [[ "${conf_guest}" != "" ]];then
info "Enabling config for confidential guest trust storage protection"
local cryptsetup_configs="$(ls ${common_path}/confidential_containers/cryptsetup.conf)"
all_configs="${all_configs} ${cryptsetup_configs}"
info "Enabling config for '${conf_guest}' confidential guest protection"
local conf_configs="$(ls ${arch_path}/${conf_guest}/*.conf)"
all_configs="${all_configs} ${conf_configs}"

View File

@@ -0,0 +1,21 @@
CONFIG_MD=y
CONFIG_BLK_DEV_DM_BUILTIN=y
CONFIG_BLK_DEV_DM=y
CONFIG_DM_CRYPT=y
CONFIG_DM_VERITY=y
CONFIG_DM_INTEGRITY=y
CONFIG_CRYPTO_AEAD=y
CONFIG_CRYPTO_AEAD2=y
CONFIG_CRYPTO_AKCIPHER2=y
CONFIG_CRYPTO_KPP2=y
CONFIG_CRYPTO_MANAGER=y
CONFIG_CRYPTO_MANAGER2=y
CONFIG_CRYPTO_USER=y
CONFIG_CRYPTO_NULL=y
CONFIG_CRYPTO_NULL2=y
CONFIG_CRYPTO_CRYPTD=y
CONFIG_CRYPTO_AUTHENC=y
CONFIG_CRYPTO_CBC=y
CONFIG_CRYPTO_ESSIV=y
CONFIG_CRYPTO_XTS=y
CONFIG_CRYPTO_HMAC=y

View File

@@ -0,0 +1,3 @@
# x86 cryptographic instructions to improve AES encryption and SHA256 hashing.
CONFIG_CRYPTO_SHA256_SSSE3=y
CONFIG_CRYPTO_AES_NI_INTEL=y

View File

@@ -1 +1 @@
93
94