Talks to Watch

ZFS Native Encryption by Tom Caputi

14K views · Oct 10, 2016 · 49:43 · 2 HN recommenders · 5 mentions · discussed 2016–2022

Tom Caputi presents the design of native encryption for ZFS at the OpenZFS Developer Summit, including design decisions and how authentication uses checksum fields.

Why Hacker News points people here: Recommended whenever ZFS encryption comes up as the authoritative explanation of how it was added and its trade-offs at scale.

“check out this presentation on how encryption was bolted on ZFS”HN comment, 2017

What Hacker News said 5

RecommendsdchestMay 2017

“check out this presentation on how encryption was bolted on ZFS”

How encryption was added to ZFS, with authentication via checksum fields

Full comment

On the contrary, it makes it suitable for file systems! File systems are not block devices, they are data structures on top of block devices — it's the job of these data structures to keep stuff, such as data, inodes, and... keys, and IVs, and MACs, checksums, etc. TFS uses Speck in XEX mode (edit: I just realized you're the author, so you already know that :). tptacek wrote a nice post about it: link and I quote: "If you’re encrypting a filesystem and not disk blocks, still don’t use XTS! Filesystems have format-awareness and flexibility. Filesystems can do a much better job of encrypting a disk than simulated hardware encryption can." Edit: check out this presentation on how encryption was bolted on ZFS: this video (slides: link ) It's not perfect, but it provides data authentication by reusing checksum fields for storing MACs. Edit 2: also check out bcachefs encryption design doc: link (also not perfect, but uses proper AEAD — ChaCha20-Poly1305. I sent some questions and suggestions to the author, but received no reply :/)

in “TFS: A file system built for performance, space efficiency, and scalability” · view on HN
RecommendsdrbawbDec 2022

“The presentation about ZFS' native encryption[1] covers many of these sorts of trade-offs necessary to do full-disk encryption at scale.”

Covers trade-offs of encryption at scale in ZFS

Full comment

The problem is that a stream cipher is going to have some per-object uniqueness (a salt, IV, etc.), so by design even if you feed it related input blocks you will get different output blocks. This is, of course, antithetical to deduplication: so you need to check/store the hash of the input before it goes through the cipher. The presentation about ZFS' native encryption[1] covers many of these sorts of trade-offs necessary to do full-disk encryption at scale. [1]: this video

in “Apple advances user security with powerful new data protections” · view on HN
Cites itRJIb8RBYxzAMX9uOct 2016

“not native zfs encryption that was recently presented in OpenZFS Developer Summit”

Native ZFS encryption presentation

Full comment

This is still geli+zfs, and not native zfs encryption that was recently presented in OpenZFS Developer Summit [0]. [0] this video

Cites itzxvMar 2017

“There was a presentation of this by Tom Caputi at the most recent OpenZFS Developer Summit.”

Presentation of upcoming native ZFS encryption

Full comment

Native ZFS encryption may become available soon. It is pending code review: link There was a presentation of this by Tom Caputi at the most recent OpenZFS Developer Summit. Slides: link Video: this video Conference: link

in “Silent Data Corruption Is Real” · view on HN
Cites itwspeirsJun 2017

“He presented all of his design decisions at the OpenZFS developer conference here”

Tom Caputi's design decisions for ZFS encryption

Full comment

I work with Tom at Datto. He presented all of his design decisions at the OpenZFS developer conference here: link Slides: link Video: this video

in “Playing with ZFS encryption on Linux” · view on HN