linux-fsdevel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Theodore Ts'o <tytso@mit.edu>
To: James Bottomley <James.Bottomley@HansenPartnership.com>
Cc: linux-fsdevel <linux-fsdevel@vger.kernel.org>,
	lsf-pc@lists.linux-foundation.org
Subject: Re: [Lsf-pc] [LSF/MM TOPIC] fs-verity: file system-level integrity protection
Date: Fri, 26 Jan 2018 16:55:40 -0500	[thread overview]
Message-ID: <20180126215540.GA23308@thunk.org> (raw)
In-Reply-To: <1516985067.4000.10.camel@HansenPartnership.com>

On Fri, Jan 26, 2018 at 08:44:27AM -0800, James Bottomley wrote:
> On Fri, 2018-01-26 at 09:58 -0500, Theodore Ts'o wrote:
> > Docker save was going to have to be altered to use IMA, anyway.�
> 
> Actually, no, that's not entirely true[1]. �Docker save produces a tar
> file. �Once the tar on your platform picks up xattrs, docker save just
> works for container images with IMA hashes and signatures (and selinux
> labels, which was actually the driver for the change). �The point at
> which the ecosystem changed to "just work" was the point at which tar
> understood xattrs. �That's why I was poking on how do we get tar to
> understand this format, following on the way IMA and selinux did it.
> �There may be another way of getting this change into the ecosystem,
> but ecosystem adoption has to be part of the considerations for this.

Oh, I see.  You are saying that you want to be able to use tar to
backup integrity protected files, and then restore them later.

Yes, that's different from what I was assuming, which is a model where
the integrity protect file would be written by some package manager
(e.g,. rpm, dpkg, the code that downloads the apk, etc.), and that we
would *not* be trying to backup the file with the integrity data, and
then restore it later via some kind of untar operation.

The problem here is that a merkle tree simply won't fit inside an
xattr for any non-trivail file.  And there may be use cases where
blocking the open until the integrity is verifeid on the entire file.
However, there are uses cases where the a signifcant increase in the
open latency can't be tolerated, and wher the file might have might
have large portions of dat which will never be read, and thus, don't
need to have their integrity verified.  (Example: an APK might have
megabytes and megabytes of translation resources for N languages, only
one of which will normally be used by a particular user on a
particular phone.  Or as another example, an ELF binary that has huge
portions of symbol table and debugging information that is normally
not used.)

So the requirement that you must be able to backup an integrity
protected file, and then restore it again, without modifying the tool
which does the backup and restore, does certainly push you towards
using xattrs.  But xattrs force the huge open latency, and while
Docker is big in some circles, there are lots of use cases where the
unmodified backup/restore requiremnt is simply not applicable.

So perhaps there is room for both solutions.

Cheers,

						- Ted

  reply	other threads:[~2018-01-26 21:55 UTC|newest]

Thread overview: 59+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-01-25 19:11 [LSF/MM TOPIC] fs-verity: file system-level integrity protection Theodore Ts'o
2018-01-25 21:49 ` Chuck Lever
2018-01-25 23:39   ` Theodore Ts'o
2018-01-26  0:47 ` James Bottomley
2018-01-26  2:30   ` Theodore Ts'o
2018-01-26  4:50     ` James Bottomley
2018-01-26 14:58       ` Theodore Ts'o
2018-01-26 16:44         ` [Lsf-pc] " James Bottomley
2018-01-26 21:55           ` Theodore Ts'o [this message]
2018-01-27  7:58             ` Andreas Dilger
2018-01-27 16:19               ` James Bottomley
2018-01-27 17:08                 ` James Bottomley
2018-01-28  2:46                 ` Theodore Ts'o
2018-01-28 17:19                   ` James Bottomley
2018-01-28 18:03                   ` James Bottomley
2018-01-28 18:19                     ` Chuck Lever
2018-01-29  6:39                       ` James Bottomley
2018-01-29 15:22                         ` Chuck Lever
2018-01-30  6:47                           ` James Bottomley
2018-01-28 21:49                     ` Theodore Ts'o
2018-01-28 22:49                       ` Theodore Ts'o
2018-01-28 23:04                       ` Mimi Zohar
2018-01-29  0:38                         ` Theodore Ts'o
2018-01-29  1:53                           ` Mimi Zohar
2018-01-29  2:38                             ` Theodore Ts'o
2018-01-29  3:39                               ` Mimi Zohar
2018-01-29  4:40                                 ` Theodore Ts'o
2018-01-29  4:50                                 ` Theodore Ts'o
2018-01-29 12:09                                   ` Mimi Zohar
2018-01-29 13:58                                     ` Mimi Zohar
2018-01-29 23:02                                     ` Theodore Ts'o
2018-01-30 23:25                                       ` Mimi Zohar
2018-01-31 16:05                                         ` Theodore Ts'o
2018-01-31 17:12                                           ` James Bottomley
2018-01-31 18:46                                             ` Theodore Ts'o
2018-01-31 20:41                                               ` James Bottomley
2018-02-01  0:03                                                 ` Theodore Ts'o
2018-02-01 23:04                                                   ` Dave Chinner
2018-02-01 23:43                                                     ` Andreas Dilger
2018-02-02  0:13                                                       ` Dave Chinner
2018-02-02  5:34                                                       ` James Bottomley
2018-02-02  2:40                                                     ` Theodore Ts'o
2018-02-02  9:05                                                       ` Dave Chinner
2018-01-31 20:40                                           ` Mimi Zohar
2018-01-31 22:00                                             ` Theodore Ts'o
2018-02-01 15:17                                               ` Mimi Zohar
2018-01-29  0:21                       ` James Bottomley
2018-01-29  1:03                         ` Theodore Ts'o
2018-01-29 21:21                           ` Andreas Dilger
2018-01-26 18:13         ` Mimi Zohar
2018-01-29 18:54   ` Michael Halcrow
2018-01-26  7:58 ` Colin Walters
2018-01-26 15:29   ` Theodore Ts'o
2018-01-26 16:40     ` Colin Walters
2018-01-26 16:49       ` [Lsf-pc] " James Bottomley
2018-01-26 17:05         ` Colin Walters
2018-01-26 17:54 ` Mimi Zohar
2018-02-02  0:02 ` Steve French
2018-02-07 13:04 ` David Gstir

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=20180126215540.GA23308@thunk.org \
    --to=tytso@mit.edu \
    --cc=James.Bottomley@HansenPartnership.com \
    --cc=linux-fsdevel@vger.kernel.org \
    --cc=lsf-pc@lists.linux-foundation.org \
    /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).