linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Joseph Pingenot <trelane@digitasaru.net>
To: Linus Torvalds <torvalds@transmeta.com>
Cc: linux-kernel@vger.kernel.org
Subject: My take on Trusted Computing and DRM
Date: Thu, 24 Apr 2003 23:46:47 -0500	[thread overview]
Message-ID: <20030425044637.GA21291@digitasaru.net> (raw)
In-Reply-To: <Pine.LNX.4.44.0304232012400.19176-100000@home.transmeta.com>

Weighing in.  Whee!  This is gonna be long!  I read a little bit on the
  Trusted Computing Platform Association's website, and it has had me
  thinking.

I believe that, if there were ever a DRM implementation to be trusted, it
  would have to be Free Software.  For example, look at Microsoft's
  source code access program for governments.  You may look, but not touch,
  may not discuss, and especially may not compile.
Yay.  Now, how exactly can we even *begin* trusting that the code we *saw*
  was the code we're *running*?!

In Free Software, it's transparent; what you see *is* indeed what you get.
  No hidden gimmicks or surprises (unless Richie did your C compiler.  ;)

It should be noted that we need to talk about two *separate* issues:
  Digial Rights Management, and Trusted Computing.  As a quick executive
  overview, I believe that Digital Rights Management, if implemented,
  should be handled in the programming equivalent of a full environmental
  suit--much, much harm can come from it.  Unfortunately, given the
  direction music and movie labels here in the 'States (which, unfortunately,
  counts for at least the very large majority of the movies and music seen/
  heard at leat in the 'States and in Europe, in my experience).  Thus,
  it is somewhat forced upon us, and we should have an optional(!)
  implementation of it, so that we can continue to interact with the
  complacent world.
Trusted Computing, on the other hand, holds a wealth of security enhancement
  possiblities for the educated user and for the enterprise, and should
  most definitely be embraced, although the non-toxic/carcinogenic
  equivalent of programming asbestos should be used, as it also carries with
  it the danger of abuse.  We *absolutely* need to get full disclosure on
  the hardware, and need to sit in on the industry steering committees, e.g.
  TCPA.  See also my Linux-NG posting at http://lists.debian.org/debian-devel/2002/debian-devel-200212/msg01719.html
  (the big section on security torwards the end) for some of what I'd like
  to see/implement.

DRM:
I am extremely cautious about Digital Rights Management.  Although there is
  a little good to be extracted from it (for instance, the ability to make
  sure that people can't revise a document one's written); there is much,
  much more harm in it.  The most obvious of these is the removal of the
  fair use rights (although not law, fair use ought to be!).  It is
  extremely possible and plausible to have DRM or software under the guise
  of DRM deny you the right to make a backup copy, change format, or even
  select a different player or create your own player!  I'm sure we're all
  familiar with the Content Scrambling System, yes?
That said, it is somewhat inevitable at this time.  The MPAA, RIAA, and
  others are forcing it down our throats at the CD and movie stores.  Yes,
  it can usually be broken, but that's a) illegal in the States, and
  b) just a workaround.  We should concentrate on elevating bit players to
  the foreground, and try to avoid putting any more money in the MPAA/RIAA/
  whoever coffers.  That's the long-term solution; promote business that
  doesn't try to screw us over (as much).  I know it's hard; I like to buy
  DVDs and CDs too.  In fact, I feel like a hypocrite, 'cause I will most
  definitely be purchasing CDs and DVDs in the future.  *sigh*  Any
  suggestions on how to not support them (legally!) would be most welcome.

Trusted Computing:
There is actually quite a bit of good that I can see coming from trusted
  computing, _provided_ that some things are in place.  *If* the user
  can set up the signatures herself, this can be a great boon to security.
  Imagine being able to ensure that the kernel you're booting was indeed
  the one you compiled and signed, and that it's not been rootkited.  Even
  better, envision signed modules and binaries, making rootkits much, much
  harder.  How?  Well, sign the modules.  The kernel then has the public
  key and can verify that the module hasn't been tampered with.  Even
  better, it can refuse to load modules you've not signed, so that crackers
  can't set up a module so that not even your low-level tools can pick up
  the DoS daemon they've got running on port 666.
Programs, already signed by you or the distro, could be kept signed on disk,
  and the kernel, having the appropriate public key supplied by you and/or
  the distro, could then verify that the binary hasn't been tampered with.
  Extend this to files, so that, for example, the cracker can't edit
  inetd.conf to make a bash instance listen in on port 1337, since inetd
  could ask the kernel to verify the signature of the file.  And, even
  better, distribution updates can still be transparent, so long as the
  keys haven't changed.  The package system just updates the signatures
  automatically with the files.  This would require adding metadata to the
  file to store the signature, but it'd work and do quite a bit to make
  rootkits that much harder to implement.
Can this be abused?  Absolutely.  StarOffice 8 could ask the kernel to
  ensure that the StarWriter file has not been modified.  But, nobody's
  forcing you to use StarOffice 8; use AbiWord instead.  Indeed, aside
  from asking the kernel to verify the file's integrity, nothing is there
  that can't be done with existing cryptographic routines.  The difference
  is that the kernel is Linux, and doesn't care *what* the word processor
  is, so long as it's carrying a trusted signature (by you and/or the
  distro).  Remember, this is Linux, and you can get the source, and make
  it go yourself.  It's not Windows, which is closed and has Microsoft's
  business plan and Microsoft's interests behind it.  Effectively, it's
  *your* kernel, and it has *your* interests behind it, because the
  hardware only cares that you signed it.
SO LONG as the hardware gives you that right.  This is why it's imperative
  that we get people on the steering committees.  Do we already?  It's
  extremely unfortunate that one has to be a *business* in order to join
  a standards group and steer the future of technology.  Unless you happen
  to have thousands, if not tens of thousands of dollars lying around that
  can't be put to better use.  Hopefully, our corporate backers can help
  get us in to these meetings; it's imperative that we (the users) can tell
  the hardware what to do; not for the hardware to tell *us* what we can do.
  We *must* be able to set the signatures via *some* method.  This doesn't
  need to circumvent the system if designed properly [for instance, requiring
  physical access + special knowledge (e.g. password)].  Won't stop
  everything, but neither will anything else [for instance, FBI could force
  chipmaker to make special chips with special keys to allow them to load,
  say, a keysniffer, even if it's embedded into a chip and not otherwise
  settable].
There's more that could be done with a trusted architecture [fast hardware
  encryption, storing keys so that not even the kernel knows them nor can
  get at them; mutual distrust between the key/user credential storage and
  the kernel, etc.] to make it a very secure system *if* we can hack on it
  too, and ensure that the user is in control.  Essentially, we (linux, BSD,
  and others) are the ones working for the users.  We are extremely 
  necessary in the fixating the digital future for the users.

This last part was the last part of my debian-devel posting; I think I've
  covered it all.  I hope that we can adopt the good parts of Trusted
  Computing, and I really hope we can help steer it to make sure it goes
  in a way that's not constrictive.  It's a fine line, but, maybe with
  corp. backing (Transmeta, Sun, IBM, Red Hat), we might be able to get
  some developers in to the TCPA and others.

After all, if Microsoft can do it, we can do it *better*.  (and freer ;)

-Joseph


-- 
Joseph===============================================trelane@digitasaru.net
"Isn't it illegal for Microsoft to tie any of its software products to its
  OS?"  --Rob Riggs on slashdot (www.slashdot.org) about Microsoft's order
  to cease and decist using Visual Fox Pro on Linux, a non-Microsoft OS.
"Yes. The penalty is dinner with no dessert." --Alien Being, response

  parent reply	other threads:[~2003-04-25  4:35 UTC|newest]

Thread overview: 204+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2003-04-24  3:59 Flame Linus to a crisp! Linus Torvalds
2003-04-24  4:40 ` Joel Jaeggli
2003-04-24  4:43 ` Greg KH
2003-04-24  4:57   ` Linus Torvalds
2003-04-24  5:02     ` Clemens Schwaighofer
2003-04-24  5:39       ` viro
2003-04-24  5:56         ` Valdis.Kletnieks
2003-04-24  8:46           ` Dax Kelson
2003-04-24  9:46         ` Clemens Schwaighofer
2003-04-24 10:54       ` Felipe Alfaro Solana
2003-04-25  0:07         ` Clemens Schwaighofer
2003-04-24  4:54 ` Andre Hedrick
2003-04-24  5:16   ` Linus Torvalds
2003-04-24 13:08     ` Shawn
2003-04-24 20:12       ` Kenneth Johansson
2003-04-24 17:32     ` Andreas Boman
2003-04-24 17:41       ` William Lee Irwin III
2003-04-24 19:39         ` Balram Adlakha
2003-04-26 17:05       ` Riley Williams
2003-04-24  5:02 ` Mark J Roberts
2003-04-24  5:13   ` Clemens Schwaighofer
2003-04-24  5:15 ` William Lee Irwin III
2003-04-24  5:43   ` Linus Torvalds
2003-04-24  6:15     ` William Lee Irwin III
2003-04-24  7:44       ` Jamie Lokier
2003-04-24  8:03         ` Jan-Benedict Glaw
2003-04-25  1:16           ` Jan Harkes
2003-04-25  1:35             ` Stan Bubrouski
2003-04-24  8:16         ` John Bradford
2003-04-24  8:31           ` Jamie Lokier
2003-04-24  8:59             ` John Bradford
2003-04-24  8:50           ` Jamie Lokier
2003-04-24 14:45           ` Linus Torvalds
2003-04-24 15:00             ` Jeff Garzik
2003-04-24 19:03             ` Daniel Phillips
2003-04-24 19:32               ` Timothy Miller
2003-04-24 19:22                 ` Linus Torvalds
2003-04-24 20:19                   ` Jamie Lokier
2003-04-24 20:35                   ` Timothy Miller
2003-04-24 19:39                 ` Balram Adlakha
2003-04-24 21:02                   ` Jamie Lokier
2003-04-24 18:58         ` Daniel Phillips
2003-04-24 21:08           ` Jamie Lokier
2003-04-24 21:37             ` Timothy Miller
2003-04-24 21:30               ` Jamie Lokier
2003-04-24 21:38                 ` John Bradford
2003-04-25  3:20                   ` Shawn
2003-04-25  5:47                     ` Jamie Lokier
2003-04-25  7:02                       ` John Bradford
2003-04-25  8:05                         ` Simple x86 Simulator (was: Re: Flame Linus to a crisp!) Steven Augart
2003-04-25 15:38                           ` Timothy Miller
2003-04-25 16:10                             ` John Bradford
2003-04-25 11:44                               ` Antonio Vargas
2003-04-25  8:52                         ` Flame Linus to a crisp! Helge Hafting
2003-04-25 14:03                   ` Mike Dresser
2003-04-24 21:42                 ` Russell King
2003-04-25  6:08               ` Jan-Benedict Glaw
2003-04-25 11:46                 ` Antonio Vargas
2003-04-24 10:57     ` Giuliano Pochini
2003-04-24 22:51     ` Adrian Bunk
2003-04-24  7:55 ` Jamie Lokier
2003-04-24  8:37 ` Andreas Jellinghaus
2003-04-24  8:59   ` Jamie Lokier
2003-04-24 12:52     ` Andreas Jellinghaus
2003-04-24 15:37     ` Timothy Miller
2003-04-24 18:35       ` Alan Cox
2003-04-24 20:46         ` Timothy Miller
2003-04-24 20:50           ` Jamie Lokier
2003-04-24 21:03             ` Chris Adams
2003-04-24 22:29         ` Werner Almesberger
2003-04-24 22:41           ` Jamie Lokier
2003-04-24 22:54             ` Werner Almesberger
2003-04-25  0:26               ` Jamie Lokier
2003-04-24 22:41           ` Alan Cox
2003-04-27 14:21           ` Matthias Andree
2003-04-27 16:13             ` Stephan von Krawczynski
2003-04-27 16:59             ` Why DRM exists [was Re: Flame Linus to a crisp!] Larry McVoy
2003-04-27 17:04               ` Ben Collins
2003-04-27 17:34               ` Michael Buesch
2003-04-27 18:41                 ` Henrik Persson
2003-04-27 17:35               ` Måns Rullgård
2003-04-27 17:49                 ` Mirar
2003-04-27 23:15                   ` H. Peter Anvin
2003-04-27 17:59                 ` Michael Buesch
2003-04-27 21:28                 ` Alan Cox
2003-04-28  1:48                 ` rmoser
2003-04-28  9:05                   ` Måns Rullgård
2003-04-28 10:44                   ` The X-Window System John Bradford
2003-04-28 14:37                     ` Herman Oosthuysen
2003-04-28 16:28                       ` uaca
2003-05-06  3:55                         ` Miles Bader
2003-04-27 18:07               ` Why DRM exists [was Re: Flame Linus to a crisp!] Matthias Schniedermeyer
2003-04-27 18:35               ` Chris Adams
2003-04-27 18:50                 ` Larry McVoy
2003-04-27 19:11                   ` Davide Libenzi
2003-04-27 20:13                   ` Frank van Maarseveen
2003-04-27 20:34                   ` walt
2003-04-27 21:26                   ` Alan Cox
2003-04-27 22:07                   ` Ross Vandegrift
2003-04-27 22:32                     ` Larry McVoy
2003-04-27 22:05                       ` Alan Cox
2003-04-27 23:28                         ` Larry McVoy
2003-04-28  0:06                           ` Ross Vandegrift
2003-04-28 11:03                           ` Alan Cox
2003-04-29 18:06                           ` Timothy Miller
2003-04-28  9:06                       ` Eric W. Biederman
2003-04-28 14:55                       ` Michael Buesch
2003-04-28 20:04                       ` Matthias Schniedermeyer
2003-04-28 20:18                         ` Larry McVoy
2003-04-28 20:22                           ` Chris Adams
2003-04-28 21:24                             ` Larry McVoy
2003-04-28 21:40                               ` Roman Zippel
2003-04-28 22:13                               ` Alan Cox
2003-04-28 22:16                           ` Alan Cox
2003-04-29  0:09                             ` Larry McVoy
2003-04-29  4:07                               ` Dax Kelson
2003-04-29  5:08                                 ` Larry McVoy
2003-04-29 16:40                                 ` Scott Robert Ladd
2003-04-29 21:45                                   ` Helge Hafting
2003-04-30  9:58                                   ` Jamie Lokier
2003-04-30 15:06                                     ` Scott Robert Ladd
2003-04-29  5:59                               ` Theodore Ts'o
2003-04-29 16:41                                 ` Scott Robert Ladd
2003-04-29 14:35                               ` Alan Cox
2003-04-27 22:34                   ` Matthias Andree
2003-04-27 22:51                   ` Matthew Kirkwood
2003-04-27 23:53                     ` Larry McVoy
2003-04-28  0:00                       ` rmoser
     [not found]                         ` <20030428001001.GP23068@work.bitmover.com>
2003-04-28  0:19                           ` rmoser
2003-04-28  0:37                             ` Larry McVoy
2003-04-28  0:40                               ` rmoser
2003-04-28 11:38                   ` Jan-Benedict Glaw
2003-04-29 14:21                   ` Timothy Miller
2003-04-29 14:27                     ` Henrik Persson
2003-04-29 19:56                       ` Timothy Miller
2003-04-29 20:35                         ` Henrik Persson
2003-04-30  8:39                     ` Jamie Lokier
2003-04-27 18:47               ` William Lee Irwin III
2003-04-27 18:56               ` Werner Almesberger
2003-04-27 19:20               ` Geert Uytterhoeven
2003-04-27 21:30               ` Jon Portnoy
2003-04-27 21:32               ` Alan Cox
2003-04-27 22:36                 ` Larry McVoy
2003-04-27 21:56                   ` Alan Cox
2003-04-27 23:08                     ` Matthew Kirkwood
2003-04-27 22:16                       ` Alan Cox
2003-04-27 23:35                   ` Matthias Andree
2003-04-27 22:07               ` Matthias Andree
2003-04-28  0:36               ` Scott Robert Ladd
2003-04-28  9:57               ` Stephan von Krawczynski
2003-05-06 15:58                 ` Henning P. Schmiedehausen
2003-05-07 14:44                   ` Stephan von Krawczynski
2003-05-07 14:28                     ` Alan Cox
2003-05-07 21:40                     ` Henning P. Schmiedehausen
2003-05-07 22:16                       ` Alan Cox
2003-05-08  0:33                       ` Kurt Wall
2003-04-28 11:26               ` Jan-Benedict Glaw
2003-05-06 15:59                 ` Henning P. Schmiedehausen
2003-04-28 22:50               ` Timothy Miller
2003-04-29 14:46               ` Jeffrey Souza
2003-04-29 15:16                 ` venom
2003-04-30  9:35                 ` Jamie Lokier
     [not found]             ` <20030427171007$6d24@gated-at.bofh.it>
2003-04-27 20:08               ` Why DRM exists Florian Weimer
2003-04-24 19:23       ` Flame Linus to a crisp! Jamie Lokier
2003-04-24 19:50         ` Balram Adlakha
2003-04-24  8:57 ` Arjan van de Ven
2003-04-24  9:19   ` Russell King
2003-04-24 11:38     ` Shachar Shemesh
2003-04-24 17:46       ` Shachar Shemesh
2003-04-24 14:59   ` Linus Torvalds
2003-04-24 12:39 ` Mark Mielke
2003-04-24 15:53 ` Elladan
2003-04-24 18:31 ` Daniel Phillips
2003-04-24 23:15   ` Werner Almesberger
2003-04-25 11:28     ` Eric W. Biederman
2003-04-27  1:31       ` Werner Almesberger
2003-04-27  1:59         ` David Wagner
2003-04-25 14:37     ` Daniel Phillips
2003-04-25 15:17       ` Valdis.Kletnieks
2003-04-25 17:37       ` Werner Almesberger
2003-04-26 21:59         ` Daniel Phillips
2003-04-26 13:00     ` Geert Uytterhoeven
2003-04-26 18:22       ` Linus Torvalds
2003-04-26 18:41         ` viro
2003-04-26 18:48           ` Linus Torvalds
2003-04-28 14:20           ` John Stoffel
2003-04-26 19:23         ` Michael Buesch
2003-04-28 10:35         ` Andre Hedrick
2003-04-28 12:12           ` Jörn Engel
2003-04-28 14:01           ` Zack Gilburd
2003-04-28 14:30             ` Geert Uytterhoeven
2003-04-26 18:21   ` Rik van Riel
2003-04-26 23:34     ` Jamie Lokier
2003-04-27  3:59     ` Werner Almesberger
2003-04-24 20:16 ` Nils Holland
2003-04-25  4:46 ` Joseph Pingenot [this message]
     [not found] <Pine.LNX.4.44.0304232012400.19176-100000@home.transmeta.co m>
2003-04-27 10:52 ` Houston, I think we have a problem Mike Galbraith
2003-04-27 14:41   ` Martin J. Bligh
2003-04-27 17:25     ` Mike Galbraith
2003-04-27 17:29       ` Martin J. Bligh
2003-04-27 17:41         ` Mike Galbraith
2003-04-27 17:54           ` Mike Galbraith
2003-04-28  5:17     ` Mike Galbraith
2003-04-28  6:15   ` Jan Harkes

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=20030425044637.GA21291@digitasaru.net \
    --to=trelane@digitasaru.net \
    --cc=linux-kernel@vger.kernel.org \
    --cc=torvalds@transmeta.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).