All of lore.kernel.org
 help / color / mirror / Atom feed
From: phcoder <phcoder@gmail.com>
To: The development of GRUB 2 <grub-devel@gnu.org>
Subject: Re: A _good_ and valid use for TPM
Date: Wed, 18 Feb 2009 13:16:05 +0100	[thread overview]
Message-ID: <499BFC05.5050403@gmail.com> (raw)
In-Reply-To: <f9ca530f0902180110x3e8a0983l62947441d7129231@mail.gmail.com>

I don't know much about TPM but from example that I read at 
TreacherousGrub website actual verification is done by TreachorousGrub. 
I don't see how such a verification can protect against anything.
If you suppose that your attacker is unable to tamper the hardware then 
bios and grub password is all you need. If you suppose that he can then 
you can't even trust your ram modules. It can be tampered in many ways 
like serving hacked bootloader or just being non-volatile then an 
attacker can read the key from memory.
FSF acknowledges that treacherouscomputing may offer minor advantages 
but dissmisses the technology as whole and I agree with them.
However, I'm neither a grub maintainer nor fsf representative.
Regards
Vladimir 'phcoder' Serbinenko
Alex Besogonov wrote:
> I know that TPM has been mentioned several times on this list. With
> absolutely inadequate knee-jerk reactions from GRUB developers :(
> 
> Currently I have a problem - I need to protect confidential private
> data (we try to protect privacy of our customers) from the _physical_
> theft of the server. A simple full hard drive encryption should work
> just fine except for one small detail - there's nobody to enter the
> password when server reboots.
> 
> I've solved this by adding an intermediate system which connects to
> another server (which I consider physically secure), retrieves
> decryption key and does kexec into the real OS passing this key as a
> parameter. So I can just delete the key from the secure server to stop
> the physically insecure sever from booting, it'll then be useless for
> attackers since there's no decryption key present on it.
> 
> However, it would be fairly trivial for attacker to steal the server
> and/or make a full copy of its hard drive and then modify intermediate
> system to print the decryption key. Not good. And there's no way to
> solve it in software, since attacker can trivially change the
> bootloader.
> 
> So I've added another layer of security - I use TPM to remotely attest
> that the bootloader and the intermediate system is not modified. It
> requires chain of trust from BIOS to the intermediate system. So if
> attacker tries to modify bootloader or intermediate system image - TPM
> will not provide keys for communication with the secure server.
> 
> Please note, that if TPM chip is blocked/kicked/de-soldered/sacrificed
> to GNU gods then I can still retrieve all data because the main
> decryption key is NOT kept in the TPM module (TPM is only used to
> attest integrity of the system). Also, this is not a DRM scheme.
> 
> So... Why not add TPM patches into the mainline GRUB2 project? GPLv3
> protects nicely against the possible DRM misuse of GRUB2 and TPM. Also
> I can assist in forward-porting of 'Trusted GRUB' patch.
> 
> 
> _______________________________________________
> Grub-devel mailing list
> Grub-devel@gnu.org
> http://lists.gnu.org/mailman/listinfo/grub-devel




  reply	other threads:[~2009-02-18 12:16 UTC|newest]

Thread overview: 74+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-02-18  9:10 A _good_ and valid use for TPM Alex Besogonov
2009-02-18 12:16 ` phcoder [this message]
     [not found] ` <499C7809.6030203@student.ethz.ch>
2009-02-19 10:21   ` Alex Besogonov
2009-02-19 15:05     ` phcoder
2009-02-19 15:38       ` Colin D Bennett
2009-02-19 16:29         ` phcoder
2009-02-21 13:38         ` Robert Millan
2009-02-21 13:43           ` phcoder
2009-02-21 14:00           ` Jan Alsenz
2009-02-19 15:44       ` Michal Suchanek
2009-02-19 16:02         ` phcoder
2009-02-21 13:22 ` Robert Millan
  -- strict thread matches above, loose matches on Subject: below --
2009-02-18 14:10 Alex Besogonov
2009-02-18 14:52 ` Isaac Dupree
2009-02-18 15:10   ` Alex Besogonov
2009-02-18 22:03     ` Isaac Dupree
2009-02-19  9:46       ` Alex Besogonov
2009-02-19 17:43 Alex Besogonov
2009-02-19 19:30 ` phcoder
2009-02-19 21:00   ` Alex Besogonov
2009-02-20  0:29     ` Jan Alsenz
2009-02-20  1:03       ` Alex Besogonov
2009-02-20  7:47         ` Jan Alsenz
2009-02-22  1:14           ` Alex Besogonov
2009-02-27 19:59             ` Robert Millan
2009-02-21 13:46         ` Robert Millan
2009-02-21 14:20           ` Jan Alsenz
2009-02-21 14:34             ` Robert Millan
2009-02-21 15:00               ` Jan Alsenz
2009-02-21 20:08                 ` Robert Millan
2009-02-22  1:21                   ` Alex Besogonov
2009-02-22  9:44                     ` phcoder
2009-02-22 14:49                       ` Michal Suchanek
2009-02-22 15:33                         ` phcoder
2009-02-23  2:34                           ` step21
2009-02-23 13:35                             ` Michal Suchanek
2009-02-27 20:07                             ` Robert Millan
2009-02-27 20:03                     ` Robert Millan
2009-02-21 16:29           ` Alex Besogonov
2009-02-21 17:03             ` phcoder
2009-02-21 20:23               ` Robert Millan
2009-02-21 20:21             ` Robert Millan
2009-02-22  1:26               ` Alex Besogonov
2009-02-27 20:13                 ` Robert Millan
2009-02-20  7:45       ` Michael Gorven
2009-02-20 11:27         ` phcoder
2009-02-20 12:12           ` Michael Gorven
2009-02-20 17:31             ` Jan Alsenz
2009-02-20 18:35               ` Vesa Jääskeläinen
2009-02-20 19:35                 ` Jan Alsenz
2009-02-21 13:59             ` Robert Millan
2009-02-21 13:51         ` Robert Millan
2009-02-21 15:29           ` Michael Gorven
2009-02-21 20:31             ` Robert Millan
2009-02-21 20:43               ` Michael Gorven
2009-02-21 21:04                 ` Robert Millan
2009-02-21 21:17                   ` Jan Alsenz
2009-02-21 21:27                     ` phcoder
2009-02-21 21:32                     ` Robert Millan
2009-02-21 21:57                       ` Jan Alsenz
2009-02-21 23:19                         ` Robert Millan
2009-02-21 21:04               ` Jan Alsenz
2009-02-21 21:27                 ` Robert Millan
2009-02-22  2:10               ` Isaac Dupree
2009-02-27 20:28                 ` Robert Millan
2009-02-21 16:48           ` Alex Besogonov
2009-02-21 20:39             ` Robert Millan
2009-02-22  1:02               ` Alex Besogonov
2009-02-27 20:33                 ` Robert Millan
2009-02-21 16:58           ` Alex Besogonov
2009-02-21 17:08             ` phcoder
2009-02-21 20:43             ` Robert Millan
2009-02-21 13:31       ` Robert Millan
2009-02-21  2:27 Alex Besogonov

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=499BFC05.5050403@gmail.com \
    --to=phcoder@gmail.com \
    --cc=grub-devel@gnu.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.