linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Vivek Goyal <vgoyal@redhat.com>
To: Mimi Zohar <zohar@linux.vnet.ibm.com>
Cc: "Eric W. Biederman" <ebiederm@xmission.com>,
	linux-kernel@vger.kernel.org, pjones@redhat.com, hpa@zytor.com,
	dhowells@redhat.com, jwboyer@redhat.com,
	Dmitry Kasatkin <dmitry.kasatkin@intel.com>,
	Andrew Morton <akpm@linux-foundation.org>,
	linux-security-module@vger.kernel.org
Subject: Re: [PATCH 2/3] binfmt_elf: Verify signature of signed elf binary
Date: Wed, 16 Jan 2013 10:54:06 -0500	[thread overview]
Message-ID: <20130116155406.GC29845@redhat.com> (raw)
In-Reply-To: <1358350391.4593.112.camel@falcor1>

On Wed, Jan 16, 2013 at 10:33:11AM -0500, Mimi Zohar wrote:

[..]
> > - Also I really could not figure out where does the private signing key
> >   lives. I got the impression that we need to trust installer and
> >   signing somehow happens at installation time. And we wanted signing
> >   to happen at build server and could not trust installer for that.
> 
> Dmitry's ima-evm-utils package signs files.  Depending on the options,
> both the EVM and IMA extended attributes are created.

I was going through following presentation.

http://selinuxproject.org/~jmorris/lss2011_slides/IMA_EVM_Digital_Signature_Support.pdf

On slide 8, it mentons signing.

	evmctl sign --imahash /path/to/file
	evmctl sign --imasig /path/to/file

Can't figure out where does the key for signing come from? Is it already
loaded in any of kernel keyrings.

If yes, I think this is non-starter. One can not distribute the private
key.

Also I am assuming that this is done at installation time? If yes, then
again it does not work as installer does not have private key.

On slide 11, it talks about importing public keys in kernel keyring from
initramfs. As we discussed this will need modification as these keys
need to be signed and signing public key should already be part of 
kernel keyring.

So looking at the signing process, it really does not look like that
I can sign the executable at build server. It looks it needs to be
signed by installer at install time and private key needs to be available
to installer?
 
> 
> >   My understanding of IMA could be wrong. So it would help if you
> >   could list the exact steps about how to achieve the same goal using
> >   IMA.
> 
> http://linux-ima.sourceforge.net/  needs to be updated, but it describes
> the integrity subsystem and includes a link to Dave Safford's original
> whitepaper "An Overview of the Linux Integrity subsystem".

I have gone through the paper in the past and still the quetions remain
unanswered. So it will really help, if you could take a very simple
example of hello-world executable and list the steps needed to be
performed to sign and verify executable.

Thanks
Vivek

  reply	other threads:[~2013-01-16 15:54 UTC|newest]

Thread overview: 62+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-01-15 21:34 [PATCH 0/3] ELF executable signing and verification Vivek Goyal
2013-01-15 21:34 ` [PATCH 1/3] module: export couple of functions for use in process signature verification Vivek Goyal
2013-01-15 21:34 ` [PATCH 2/3] binfmt_elf: Verify signature of signed elf binary Vivek Goyal
2013-01-16  4:30   ` Eric W. Biederman
2013-01-16  4:55     ` Mimi Zohar
2013-01-16  7:10       ` Eric W. Biederman
2013-01-16 14:00         ` Mimi Zohar
2013-01-16 14:48           ` Vivek Goyal
2013-01-16 15:33             ` Mimi Zohar
2013-01-16 15:54               ` Vivek Goyal [this message]
2013-01-16 17:24                 ` Mimi Zohar
2013-01-16 18:21                   ` Vivek Goyal
2013-01-16 18:45                     ` Mimi Zohar
2013-01-16 18:57                       ` Vivek Goyal
2013-01-16 19:37                         ` Mimi Zohar
2013-01-16 19:47                           ` Vivek Goyal
2013-01-16 20:25                             ` Mimi Zohar
2013-01-16 21:55                               ` Vivek Goyal
2013-01-17  8:37                             ` Elena Reshetova
2013-01-17 14:39                     ` Kasatkin, Dmitry
2013-01-17 14:35                 ` Kasatkin, Dmitry
2013-01-16 16:34               ` Vivek Goyal
2013-01-16 18:08                 ` Mimi Zohar
2013-01-16 18:28                   ` Vivek Goyal
2013-01-16 19:24                     ` Mimi Zohar
2013-01-16 21:53                       ` Vivek Goyal
2013-01-17 14:58                         ` Kasatkin, Dmitry
2013-01-17 15:06                           ` Kasatkin, Dmitry
2013-01-17 15:21                             ` Vivek Goyal
2013-01-17 15:18                           ` Vivek Goyal
2013-01-17 16:27                             ` Kasatkin, Dmitry
2013-01-17 20:33                             ` Frank Ch. Eigler
2013-01-17 20:55                               ` Vivek Goyal
2013-01-17 21:46                                 ` Kasatkin, Dmitry
2013-01-17 21:52                                   ` Vivek Goyal
2013-01-20 16:36                                     ` Mimi Zohar
2013-01-21 16:42       ` Vivek Goyal
2013-01-21 18:30         ` Mimi Zohar
2013-01-16 22:35   ` Mimi Zohar
2013-01-16 22:51     ` Vivek Goyal
2013-01-16 23:16       ` Eric W. Biederman
2013-01-17 15:37   ` Mimi Zohar
2013-01-17 15:51     ` Vivek Goyal
2013-01-17 16:32       ` Mimi Zohar
2013-01-17 17:01         ` Kasatkin, Dmitry
2013-01-17 17:03           ` Kasatkin, Dmitry
2013-01-17 17:42           ` Vivek Goyal
2013-01-17 17:36         ` Vivek Goyal
2013-01-20 17:20           ` Mimi Zohar
2013-01-21 15:45             ` Vivek Goyal
2013-01-21 18:44               ` Mimi Zohar
2013-01-20 16:17         ` H. Peter Anvin
2013-01-20 16:55           ` Mimi Zohar
2013-01-20 17:00             ` H. Peter Anvin
2013-01-15 21:34 ` [PATCH 3/3] binfmt_elf: Do not allow exec() if signed binary has intepreter Vivek Goyal
2013-01-15 21:37 ` [PATCH 4/3] User space utility "signelf" to sign elf executable Vivek Goyal
2013-01-15 22:27 ` [PATCH 0/3] ELF executable signing and verification richard -rw- weinberger
2013-01-15 23:15   ` Vivek Goyal
2013-01-15 23:17     ` richard -rw- weinberger
2013-01-17 16:22 ` Kasatkin, Dmitry
2013-01-17 17:25   ` Vivek Goyal
2013-01-22  4:22 ` Rusty Russell

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=20130116155406.GC29845@redhat.com \
    --to=vgoyal@redhat.com \
    --cc=akpm@linux-foundation.org \
    --cc=dhowells@redhat.com \
    --cc=dmitry.kasatkin@intel.com \
    --cc=ebiederm@xmission.com \
    --cc=hpa@zytor.com \
    --cc=jwboyer@redhat.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-security-module@vger.kernel.org \
    --cc=pjones@redhat.com \
    --cc=zohar@linux.vnet.ibm.com \
    /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).