Adam Back writes:
> - Palladium is a proposed OS feature-set based on the TCPA hardware
> (Microsoft)
Actually there seem to be some hardware differences between TCPA and
Palladium. TCPA relies on a TPM, while Palladium uses some kind of
new CPU mode. Palladium also includes some secure memory, a concept
which does not exist in TCPA.
> The main 4 features proposed in the TCPA/palladium scheme are:
>
> 1. secure bootstrap -- checksums of BIOS, firmware, privileged OS code
> are used to ensure the machine knows whether it is running certified
> software or not. This is rooted in hardware, so you can't by pass it
> by using virtualization, only by hardware hacking (*).
>
> 2. software attestation -- the hardware supports attesting to a third
> party whether a call comes from a certified software component as
> assured by the hardware described in feature 1.
More generally, the hardware can attest to many aspects of the current
machine state, including the cumulative hash of the software which
has booted so far.
> 3. hardware assisted compartmentalization -- CPU can run privileged
> software, and RAM can contain information that you can not examine,
> and can not modify. (Optionally the software source can be published,
> but that is not necessary, and if it's not you won't be able to
> reverse-engineer it as it can be encrypted for the CPU).
TCPA does not get into this part, only the Palladium white paper
mentions this. However it does seem to be a logical component for
effective trusted computing.
> 4. sealing -- applications can store data that can only be read by
> that application. This works based on more hardware -- the software
> state checksums developed in feature 1 are used by hardware to
> generate encryption keys. The hardware will refuse to generate the
> key unless the same software state is running.
Right. This plus the attestation are what allow an application to create
a "closed world". See my earlier message for examples of how this could
be used to enhance privacy and anonymity. What better example of a
closed world than your own secrets?
> It's interesting to see that one of the author's of [6] has said that
> TCPA as curently formed is a bad thing and is trying to influence TCPA
> to make it more open, to exhibit stronger privacy properties read his
> comments at [7].
I don't think his comments make that much sense. I'd be curious to read
your take on them. What is he talking about with the non-malleable
root of trusted storage? Trusted storage seems like one of the least
objectionable aspects. Is he confusing this with the endorsement key,
used to make the remote attestations? Or is this related to the idea
that you won't be able to boot your OS of choice?
> There are a lot of potential negative implications of this technology,
> it represents a major shift in the balance of power comparable in
> magnitude to the clipper chip:
>
> 1. Potentially cedes control of the platform -- while the palladium
> docs talk about being able to boot the hardware with TCPA turned off,
> there exists possibility that with minor configuration change the
> hardware / firmware ensemble that forms palladium/TCPA could be
> configured to allow only certified OSes to boot, period. It's
> intereseting to note, if I read correctly, that the X-box (based on
> celeron processor and TCPA / TCPA-like features) does employ this
> feature. See for example: [8].
This is of course one of the biggest criticisms of TCPA - that it could be
changed so that you will only be able to boot certified OS's. Don't you
think that would have to be done by law, rather than as a preemptive
act by the technologists (for antitrust reasons if nothing else)?
Why would such a law be passed? IMO the social changes necessary to even
begin to imagine such a drastic step are so huge that the technological
implementation seems minor in comparison. I don't think it is fair to
criticize this proposal for such a far-fetched possibility.
> The documents talk about there being no barrier to certifying TCPA
> aware extensions to open-source OSes. However I'm having trouble
> figuring out how this would work. Perhaps IBM with it's linux support
> would build a TCPA extension for linux. Think about it -- the
> extension runs in privileged mode, and presumably won't be certified
> unless it passes some audit enforcing TCPA policies. (Such as keeping
> the owner of the machine from reading sealed documents, or reading the
> contents of DRM policy controlled documents without meeting the
> requirements for the DRM policy.)
TCPA doesn't currently cover certifying operating systems. They talk
about certifying TPMs, about certifying PC hardware designs and
implementations. Possibly in the next version they will get into
issues like this. In the mean time, supposedly HP is going forward
with an OS that can use TCPA features.
> 2. DSS over-again -- a big aspect of the DSS reverse-engineering was
> to allow DVDs to be played in software on linux. The TCPA platform
> seems to have the primary goal of making a framework within which it
> is possible to build extensions to implement hardware tamper resistant
> DRM. (The DRM implementation would run in a hardware assisted code
> compartment as described in feature 3 above). So now where does that
> put open source platforms? Will they be able to read such DRM
> protected content? It seems likely that in the longer term the DRM
> platform will include video cards without access to video memory,
> perhaps encryption of the video signal out to the monitor, and of
> audio out to the speakers. (There are other existing schemes to do
> these things which dovetail into the likely TCPA DRM framework.)
>
> With the secure boot strap described in feature 1, the video card and
> so on are also part of the boot strap process, so the DRM system would
> have ready support from the platform for robustly refusing to play
> except on certain types of hardware. Similarly the application
> software which plays these DRM policy protected files and talks to the
> DRM policy module in the hardware assisted code compartment will
> itself be an application which uses the security boot-strapping
> features. So it won't be possible to write an application on for
> example linux to play these files without an audit and license etc
> from various content, DRM and OS cartels. This will lead to exactly
> the kind of thing Richard Stallman talked about in his prescient paper
> on the coming platform and right to develop competing software control
> wars [9].
I think this analysis is largely correct, except that it won't be
as monolithic as you make it sound. There won't be just one content
supplier who judges all software, that's obviously impossible. Rather,
each different supplier will make its own determination of which software
you can trust. And likewise for non-DRM applications. Banks will decide
which banking software to trust. Game networks will decide which game
clients to trust, etc.
> 3. Privacy support is broken -- the "privacy" features while clearly
> attempts to defuse a re-run at the pentium serial number debacle, have
> not really fixed it's problems. You have to trust the "Trusted Third
> Party" privacy CA not to track you and not to collude with other CAs
> and software vendors. There are known solutions to this particular
> sub-problem, for example Stefan Brands digital credentials [10], which
> can be used to build a cryptographically assured privacy preserving
> PKI avoiding the linking problems arising from identity based and
> attribute certificates.
I agree that it would be nice to see more flexibility there. The Chaum
blinding patent expires in 2005, so maybe around then we can start seeing
privacy CA's that use blind signatures, which solves that problem.
The spec is obviously trying hard to protect privacy, it's just that
the mechanisms to do it right are extremely complex compared to the
straightforward way.
> 4. Strong enforcement for DMCA DRM excesses -- the types of DRM system
> which the platform enables stand a fair chance of providing high
> levels of enforcement for things which though strictly legally
> mandated (copyright licensing restrictions, limited number of plays of
> CDs / DVDs other disadvantageous schemes; inflexible and usurious
> software licensing), if enforced strictly would have deleterious
> effects on society and freedom. Copyright violation is widely
> practiced to a greater or less extent by just about all individuals.
> It is widely viewed as acceptable behavior. These social realities
> and personal freedoms are not taken into account or represented in the
> lobbying schemes which lead to the media cartels obtaining legal
> support for the erosion of users rights and expansionist power grabs
> in DMCA, WIPO etc.
>
> Some of these issues might be not so bad except for the track records,
> and obvious monopolistic tendencies and economic pressures on the
> entities who will have the root keys to the worlds computers. There
> will be no effect choice or competition due to existing near
> monopolies, or cartelisation in the hardware, operating system, and
> content distribution conglomerates.
Nobody's putting a gun to your head and making you download content.
If you can't agree to the conditions, go do something else. There are
much worse things that can happen in the world than that copyright
becomes enforceable.
Why not give the market a chance? Company A provides the data with
Draconian DRM restrictions; company B gives you more flexibility in what
you do. All else being equal, people will prefer company B. So they
can charge more. In this way a balance will be reached depending on how
much people really value this kind of flexibility and how much they are
willing to pay for it. You and I don't get to decide, the people who
are making the decisions about what content to buy will decide.
And nobody's got the root key to my computer. You make this claim in many
places in the document. What exactly is this "root key" in TCPA terms?
The endorsement key? It's private part is generated on-chip and never
leaves the chip!
> 5. Strong enforcement for the software renting model -- the types of
> software licensing policy enforcement that can be built with the
> platform will also start to strongly enable the software and object
> rental ideas. Again potentially these models have some merit except
> that they will be sabotaged by API lock out, where the root key owners
> will be able to charge monopoly rents for access to APIs.
I don't follow this. What root key owners? What APIs? Could you say
more about how TCPA will help with software rental?
> 6. Audits and certification become vastly more prevalent. Having had
> some involvement with software certification (FIPS 140-1 / CC) I can
> attest that this can be expensive exercises. It is unlikely that the
> open source community will be able to get software certified due to
> cost (the software is free, there is no business entity to claim
> ownership of the certification rights, and so no way to recuperate the
> costs). While certification where competition is able to function is
> a good thing, providing users with a transparency and needed
> assurance, the danger with tying audits to TCPA is that it will be
> another barrier to entry for small businesses, and for open source
> particularly.
This is a good point, but again it depends on the specific content
realm. There are not just one or two - there are thousands of kinds
of content, or even more. Not everyone is going to require FIPS 140
levels of certification!
But possibly Disney and Sony will. My guess is that if there ever is
a Linux program that will play their movies, it will be because those
companies contracted to get it written. You may see this in many contexts
- software applications don't get certified, rather they are supplied
by the vendors, or the vendors arrange to get them done.
> 7. Untrusted, unauditable software will be able to run without
> scrutiny inside the hardware assisted code compartments. Some of the
> documentation talks about open sourcing some aspects. While this may
> come to pass, but that sounded like the TOR (Trusted Operating Root);
> other extension modules also running in unauditable compartments will
> not be so published.
This part I don't understand too much; it's not a TCPA concept, and there
is little known about Palladium. Supposedly the idea is that this is a
place that code can run without being touched by debuggers or viruses.
I don't know what happens if a virus gets itself loaded into this area,
if that is even possible. Maybe all the different compartments are
isolated from each other.
Does this seem like a bad feature to you?
> 8. Gives away root control of your machine -- providing potentially
> universal remote control of users machines to any government agencies
> with access to the TCPA certification master keys, or policies
> allowing them to demand certifications on hostile code on demand.
> Central authorities are likely to be the only, or the default
> controllers of the firmware/software upgrade mechanism which comes as
> part of the secure bootstrap feature.
Now you're starting to go paranoid. All the TCPA certification master
keys do is to certify that a system is TCPA compliant. They don't have a
remote control over your machine! They are more analogous to Verisign
in the X.509 world. Last I checked they hadn't taken over my box.
As far as the field upgrade, it has to be authorized by the owner.
I'm disappointed to see this kind of fantasizing in what has been a
well grounded document until now. If you're going to make this kind
of charge, that TCPA gives a universal remote control to government,
you need to back it up in detail.
> 9. Provides a dangerously tempting target for government power-grabs
> -- governments will be very interested to be able to abuse the power
> provided by the platform, to gain access to it's keys to be able to
> insert remote backdoors, and/or to try to mandate government policy
> enforcement modules once such a platform is built. Think this is
> unrealistic? Recall clipper? The TCPA is a generic extensible policy
> enforcement architecture which can be configured to robustly enforce
> policies against the interests of the machine owner. Clipper,
> key-escrow the whole multi-year fight, at some point in the near
> future if some of the more egregious TCPA/Palladium framework features
> and configuration possibilities becomes widely deployed could be
> implemented after the fact, as a TCPA/Palladium policy extentsion
> which runs in the hardware assisted code compartment and is
> authenticated up to the hardware boot by the secure bootstrapping
> process.
I don't agree with your characterization that TCPA enforces policies
against the owner's interests. He has to voluntarily agree to everything,
from turning on TCPA, to booting a TCPA compliant program, to running
an application which some third party will trust, to accepting data from
that third party under agreed-upon conditions. If at any step he didn't
feel that what he was doing was in his interests, he can stop and do
something else.
When you walk into a store and pay money for food, is that store enforcing
policies against your interests? Only from the most shallow perspective,
for if such policies were not widely enforced, you and I and everyone
else would starve. We all participate voluntarily in these institutions.
Each payment we make is in our interests. And the same thing is true
if you receive some data with conditions on how it is manipulated.
As far as the concern about changes, I think the smart thing to do is
to fight the bad and promote the good. Definitely we should oppose any
proposal to make TCPA non-voluntary, to force people to boot a certain
OS, to limit what they can do on their computers. But presently none
of those features are in TCPA. Rather than saying TCPA is bad because
someone could make all these hypothetical changes, it makes more sense
to judge TCPA on its own, as a system that emphasizes user choice.
Involuntary TCPA is bad, voluntary is good. So we should not fight TCPA,
we should fight proposals to make it involuntary.
> So what I've read so far, I think people's gut reactions are right --
> that it's an aggressive and abmitious power grab by the evil empire --
> the 3 cartels / monopolies surrounding PC hardware, Operating systems
> and Content Distribution. The operating system near monoply will
> doubtless find creative ways to use and expand the increased control
> to control application interoperability (with the sealing function),
> to control with hardware assistance the access to undocumented APIs
> (no more reverse engineering, or using the APIs even if you do / could
> reverse engineer).
I think you are looking at it far too narrowly. Yes, this will provide
many opportunities for Microsoft to write new kinds of software. But the
same is true for every other software company! Financial software, web
services, security software, accounting - anything that involves trust
and security can benefit from TCPA. Look at the example I gave earlier
for a TCPA based anonymous comm network. Multiply that a thousand fold.
It's stupid to just look at what one company can do with this, without
considering what a whole world of creative people can accomplish.
Yes, it can make reverse engineering much more difficult. But I'd rather
see people put their creative efforts into creating new products rather
than copying and piggybacking off someone else's success.
> So some of the already applications are immediately objectionable.
> The scope for them to become more so with limited recourse or
> technical counter-measures possible on the part of the user community
> is huge. Probably the worst aspect is the central control -- it
> really effectively does give remote root control to your machine to
> people you don't want to trust. Also the control _will_ be abused for
> monopolistic rent seeking and exclusionary policies to lock-out
> competition. Don't forget the fact that microsoft views linux as a
> major enemy as revealed by documents uncovered some the anti-trust
> discovery process.
Again, you need to justify this remote root control notion. I don't
see it at all. Go back to your four functions of TCPA/Palladium -
they were pretty accurate. Where was the remote root control in there?
> In fact I'd say this is the biggest coming risk to personal freedom
> since the days during the onset of the clipper chip / key escrow
> looked like they stood some chance of becoming reality.
I'd say that it is a powerful technology with an almost infinite number of
potential applications. Being able to trust software running on a remote
system is something that has never been possible before on the Internet.
We can only begin to see what will be possible with this capability.