From: Milan Broz <gmazyland@gmail.com>
To: Andrii Voloshyn <a.voloshyn@d.mobilunity.com>,
dm-crypt <dm-crypt@saout.de>
Subject: Re: [dm-crypt] Using dm-verity+dm-crypt on rootfs (Embedded Linux)
Date: Sat, 8 Aug 2020 11:10:57 +0200 [thread overview]
Message-ID: <c387efe8-0dcc-6cbd-e610-e1c285beb4f0@gmail.com> (raw)
In-Reply-To: <173c83429e8.ccbeba0f94728.5730675362566872944@d.mobilunity.com>
On 07/08/2020 11:15, Andrii Voloshyn wrote:
> Hi there,
>
> Spent quite some time looking on the Internet for a reference, and couldn't find anything that would satisfy my requirements.
> Let's imagine an Embedded Linux setup, where size of the NOR flash is limited to say 16MB, root filesystem is squashfs, and assume
> that the bootloader (U-Boot) is trusted, and it validates kernel+dts. Alright, now I need to check validity of the rootfs, plus it needs to be
> encrypted, and failsafe (in case power is gone while writing to the flash). So I guess, I need to use a combination dm-verity+dm-crypt?
You can use that, but dm-verity is read-only device (but that;s what you awant here, I guess). Then all you need is to properly store and sign dm-verity root hash.
DM-verity here provides data integrity, dm-crypt then confidentiality protection.
>
> From my experiments, I found out that I couldn't really use LUKS, as the header size would not fit into the flash. So I need to use plain mode, and that's Ok.
You can, LUKS2 header can be scaled down to be even smaller than LUKS1. Did you try that? Activation will be much simpler for you later.
Seems we do not have it in FAQ yet, but the idea is described here
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=932437#10
> Now, the question is, what information to pass to the kernel, and how (bootargs?, initrd?), so that it could verify and mount encrypted squashfs as rootfs?
> Have seen a lot of articles how to get it done on a partition, USB drive, etc. but not as the rootfs.
> Any reference on any project already existing or documentation would be helpful. Or, any thoughts on how it could be done differently?
I think you are reinventing what Android and ChromeOS is doing already ;-)
Milan
prev parent reply other threads:[~2020-08-08 9:11 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-08-07 9:15 [dm-crypt] Using dm-verity+dm-crypt on rootfs (Embedded Linux) Andrii Voloshyn
2020-08-08 9:10 ` Milan Broz [this message]
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=c387efe8-0dcc-6cbd-e610-e1c285beb4f0@gmail.com \
--to=gmazyland@gmail.com \
--cc=a.voloshyn@d.mobilunity.com \
--cc=dm-crypt@saout.de \
/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