this post was submitted on 19 Mar 2024
271 points (97.9% liked)

Linux

48044 readers
784 users here now

From Wikipedia, the free encyclopedia

Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).

Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word "Linux" in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.

Rules

Related Communities

Community icon by Alpár-Etele Méder, licensed under CC BY 3.0

founded 5 years ago
MODERATORS
 

[Image description:
Screenshot of terminal output:

~ ❯ lsblk
NAME           MAJ:MIN RM   SIZE RO TYPE  MOUNTPOINTS
sda              8:0    1  62.5M  0 disk  
└─topLuks      254:2    0  60.5M  0 crypt 
  └─bottomLuks 254:3    0  44.5M  0 crypt

/end image description]

I had no idea!

If anyone else is curious, it's pretty much what you would expect:

cryptsetup -y -v luksFormat /dev/sda
cryptsetup open /dev/sda topLuks
cryptsetup -y -v luksFormat /dev/mapper/topLuks
cryptsetup open /dev/mapper/topLuks bottomLuks
lsblk

Then you can make a filesystem and mount it:

mkfs.ext4 /dev/mapper/bottomLuks
mount /dev/mapper/bottomLuks ~/mnt/embeddedLuksTest

I've tested putting files on it and then unmounting & re-encrypting it, and the files are indeed still there upon decrypting and re-mounting.

Again, sorry if this is not news to anyone else, but I didn't realise this was possible before, and thought it was very cool when I found it out. Sharing in case other people didn't know and also find it cool :)

top 50 comments
sorted by: hot top controversial new old
[–] [email protected] 81 points 7 months ago (3 children)

we really ain't making any jokes on the name of the drives? okay...

[–] [email protected] 48 points 7 months ago (1 children)

Actually the bottomLuks generates most of the power.

[–] [email protected] 25 points 7 months ago

Speed has everything to do with it.

[–] [email protected] 17 points 7 months ago (1 children)

Well considdering it was posted by a user with the username "communism" i will assume bottomLuks

[–] [email protected] 12 points 7 months ago (3 children)

Communism doesn't have hierarchy tho

[–] [email protected] 8 points 7 months ago

That's very true.

But Marxist-Leninism (Lemmy.ml), the attempt to make communism practical and achievable and bumbling into fascism, does have a hierarchy.

load more comments (2 replies)
[–] [email protected] 11 points 7 months ago

Yes, perhaps I should have named them outerLuks and innerLuks... oh well lol

[–] [email protected] 60 points 7 months ago (2 children)

Yeah, LUKS and most block level overlays just don't care. That's what good abstraction layers do for you!

You can LUKS on a disk image mounted over SSHFS that itself resides on a Ceph cluster and mounted over iSCSI for all it cares. Is it a block device? Yes? Good to go.

You can even LUKS a floppy if you want. Or a CD.

[–] [email protected] 34 points 7 months ago (1 children)

You wouldn’t LUKS a floppy?

[–] [email protected] 11 points 7 months ago (1 children)

I absolutely will, if I can find one

[–] [email protected] 5 points 7 months ago (1 children)

And a suitable reader that my computer knows how to talk to.

[–] [email protected] 6 points 7 months ago

Connections to the reader need to be encrypted or I don't want it

[–] [email protected] 6 points 7 months ago

I remember years ago investigating alternatives to VMware vSAN and doing hyperconverged storage clusters in Red Hat with glusterFS in top of a couple of other layers. Feels rickety as heck putting it all together but it works well. Hard sell for “normal” people who expect to hit a Next button and get some pretty graphical chart though.

[–] [email protected] 50 points 7 months ago (3 children)

It would be good if you wanted to have a system that two people need to be present to unlock. Like those nuke launch locks that need two keys.

[–] [email protected] 36 points 7 months ago (3 children)

You can also just split the password for a single LUKS into two parts and give one each to the two people :D

[–] [email protected] 9 points 7 months ago

Yeah, you’re right. That’s better.

load more comments (2 replies)
[–] [email protected] 17 points 7 months ago (4 children)

Tbf this would enforce the order in which the two people decrypt it, which may not be good if you expect these two people to "arrive" asyncrhonously and you don't want them to have to wait for the other before entering their password/key. But maybe that's too specific of a use case.

[–] [email protected] 13 points 7 months ago* (last edited 7 months ago) (2 children)

You're a programmer, aren't you? Always thinking about those race conditions and edge cases.

[–] [email protected] 8 points 7 months ago

Definitely not professionally lol. I think I'd only want a programming job if I could somehow develop FOSS for a living, which is hard to get a full-time job in. And only to a limited extent as a hobby, though I do enjoy programming and am trying to teach myself more whenever I have the time :)

[–] [email protected] 5 points 7 months ago

Didn't account for the 2 sticky notes cleverly hidden under they keyboard.

load more comments (3 replies)
load more comments (1 replies)
[–] [email protected] 43 points 7 months ago

Never apologize for enjoying the discovery of new things. That's awesome, enjoy it.

[–] [email protected] 40 points 7 months ago

Now recursively create more layers until you have barely any free space left on the disk, then do some performance benchmarks. ;)

[–] [email protected] 26 points 7 months ago (1 children)

top / bottom

( ͡° ͜ʖ ͡°)

load more comments (1 replies)
[–] [email protected] 25 points 7 months ago (1 children)

You can, sure, but you probably shouldn't. Encrypting and decrypting consume additional cpu time, and you won't gain much in terms of security.

[–] [email protected] 7 points 7 months ago (4 children)

not really if you have a hardware chip that does the encrypt/decrypting

[–] [email protected] 27 points 7 months ago* (last edited 7 months ago) (5 children)

AES has been accelerated on all Intel CPUs since Broadwell, was common as far back as Sandy Bridge, and has been available since Westmere.

AMD has had AES acceleration since Bulldozer.

But the commenter is right that adding a second layer of encryption is useless in everything except very specific circumstances.

[–] [email protected] 6 points 7 months ago

Yes, but as I've found recently AES-NI is only as good as your software support for it. Had a team using an ancient version of winscp and they kept complaining about download speeds on our 10Gb circuit. Couldn't replicate it on any other machine with the newest version of winscp so I installed their exact version. AES-NI support wasn't added until like 2020 and it gave them 5x better download speed after upgrading.

[–] [email protected] 4 points 7 months ago

I've also found about this recently when moving my root from drive to drive which was after I upgraded to 13th gen intel (from various older i5s) and the best cipher changed (cryptsetup benchmark).

[–] [email protected] 4 points 7 months ago (3 children)

agreed that it is useless for most cases but I could see it being useful if you need multiple people to agree on decrypting a file.

[–] [email protected] 11 points 7 months ago (2 children)

multiple people to agree on decrypting a file

For that, you would use Shamir's Secret Sharing algorithm rather than multiple encryption.

https://en.wikipedia.org/wiki/Shamir%27s_secret_sharing

load more comments (2 replies)
load more comments (2 replies)
load more comments (2 replies)
load more comments (3 replies)
[–] [email protected] 21 points 7 months ago

Great! Although I think that security actually goes down that way. Something something about statistics. A crypto expert could probably explain that properly and we could pretend to understand it.

[–] [email protected] 20 points 7 months ago* (last edited 7 months ago) (1 children)

Of course, and you can also add on as many layers of LVM and MDADM as you'd like.

You can also do the same with disk images (including sparse images)

[–] [email protected] 10 points 7 months ago* (last edited 7 months ago)

Above and/or below LUKS!

So these days I use LVMRAID instead of mdraid. Underneath it uses mdraid but it's a bit easier to use since it's self-contained in LVM.

[–] [email protected] 13 points 7 months ago* (last edited 7 months ago) (1 children)

I guess your...Luks not running out.

[–] [email protected] 6 points 7 months ago

Take my angry upvote, you heathen.

[–] [email protected] 10 points 7 months ago (1 children)

Might be a way to enforce multiple algorithms or enforce two factor unlocking (say TPM AND password).

[–] [email protected] 4 points 7 months ago (2 children)

You guys are going to blow your top when you hear about DFC (Distributed Fragment Cryptography)

load more comments (2 replies)
[–] [email protected] 9 points 7 months ago (1 children)

That's cool and I hope I never see that in the wild

[–] [email protected] 3 points 7 months ago (1 children)
[–] [email protected] 5 points 7 months ago (1 children)

Seems like it would be fairly inefficient having to encrypt and decrypt data twice.

[–] [email protected] 4 points 7 months ago

Not only twice but two streams sequentially on the same hardware

[–] [email protected] 9 points 7 months ago (1 children)
load more comments (1 replies)
[–] [email protected] 5 points 7 months ago (1 children)

If you think about, it makes sense, but I didn't know this! Really cool indeed - do you have any use case for that or you were just poking around?

[–] [email protected] 6 points 7 months ago (5 children)

I have an SSD and an HDD—I was considering on my next distro hop to put the root partition on the SSD and home partition on the HDD, decrypt the SSD and top level of the HDD upon boot, then decrypt the bottom level of the HDD upon user login. I'm sure many will think that's overkill or silly, but hey, if you have full disk encryption you'll have to enter two passwords to get into your computer anyway, just means your personal files get protected with two passwords. I would agree it's mostly gimmicky but I still want to try it out lol

load more comments (5 replies)
[–] [email protected] 4 points 7 months ago (2 children)

Is it possible to.. boot into a LUKS in a LUKS?

load more comments (2 replies)
[–] [email protected] 3 points 7 months ago

Where's the ZFS love...

load more comments
view more: next ›