Earlier I linked to an article talking about the rise of the Trusted Platform Module. At first I thought it was just another doomed DRM scheme, but I have since been smacked in the head with the brick of enlightenment. Several people pointed out that not only is it not a joke, it’s already partly implemented.
Its advocates are calling it “uncrackable“, but we know better than that. Still, let us agree that it is very difficult to break. It operates at the hardware level, the operating system level, and the application level. The machine, the operating system and the program you’re trying to run all need to agree that you have the right to do whatever it is that you’re trying to do. Hacking around such a thing is non-trivial, because your machine is not on your side. Your machine does not trust you, or even itself to a certain extent. This article maps out the performance cost and absurdity of Vista’s current content protection, which is doubtless just a small part of their eventual overall TPM scheme.
At the heart of the thing is the assumption that the user is not to be trusted, and therefore control of the machine should be shifted away from the user and to a remote entity. Such an entity can decide what programs you can use, what documents you can read, and who you may share them with.
The Bad News: Many of us have the chip already in our PC and we don’t even know it. The Worse News: Windows Vista already supports TCM at some level. So, two of the three layers are in place. Currently TCM must be enabled by the user, but the plan seems to be to wait until “everyone” has TCM-compliant machines and then begin rolling out software which requires it.
The idea is that applications will come encrypted. Data will be encrypted. You will need to authenticate over the net in order to gain temporary access to the software or data. At its most insidious the system could be used to turn access to all commercial software (your programs) and data (your music files, movies, documents, etc) into a service for which you must pay. With control shifted from the user to a remote server, it will become increasingly difficult to protect yourself against invasions of privacy on the part of your software and data “providers”. Your data is no longer as safe as you make it, but as safe as some third-party can make it. This article by Richard Stallman charts the darkest possible course through that grim future: Computers that refuse to run free operating systems, operating systems that refuse to run free software, software that refuses to grant access to data without also getting approval from a third party. Bypassing the system would mean modifying your hardware (like modding an XBox to play pirated games) as well as hacking the depths of the operating system. As a bonus, doing either would be illegal. (Not just “license violation” or “copyright violation”, but go-to-jail sort of illegal, thanks to the DMCA.)
This paints a bleak picture, although if it was suddenly implemented as Stallman predicted it would fail, because no matter how exercised we get, how mad we are, or how many letters people send to congress or how they vote, the system is now and will forever be shaped by the “average user”. I’m talking about the people who don’t care about technology or software except as a means to an end. Bell curve time:
|Do not confuse the left / right, blue / red motif for American politics. We’re talking technology here, and if we bring politics into this it will make a hash out of the discussion before it even gets started.|
On the far left are the true security fanatics. The Richard Stallmans, who will write all their own software if that’s what it takes to keep their system secure. Then there are the mid-range paranoids like me, who care about security but are grudgingly willing to tolerate a certain degree of intrusion and DRM for the sake of getting on with other concerns. In the middle is Joe Average, who is oblivious to security problems until the computer stops working or his data is stolen. To the right of him are the control advocates like Nolan Bushnell, who support DRM and “Trusted Computing” and other invasive security as an acceptable means to some other end, and who probably haven’t really thought about the greater implications of these systems. To the far right are the real jerks, the people who see domination of the user’s machine as an end in itself because that power is worth a fortune. Bill Gates isn’t really the worst, but he’s the most famous and has come to be the poster boy for this sort of thing. And his efforts to date have been pretty noteworthy.
Despite the money wielded on the right and the free (free as in the sense of “free speech”) software we get out of the left (GNU/Linux) the most powerful actors in this battle are the people in the middle. They will always take the path of least resistance, and companies depend on these people. Microsoft may have more power than SHODAN and more money than King Xerxes, but they live and die on their market share. And that means they have to keep those people in the middle happy.
I don’t think we need to worry about the future that Stallman predicted where you simply can’t buy hardware that will run GNU/Linux. (We’re being nice to Stallman today.) People rely on it, and so there will be a market for open machines. And if there’s a market, someone will fill it. In the worst-case scenario, you might not be able to get an open machine from Dell or HP, but you’ll be able to get them. TPM is toothless without an operating system backing it up. So as always this comes down to a battle of the operating systems.
Those average users want to make their Power Point files and PDFs while listening to music and playing the occasional round of Bejeweled. If they bought a computer that made all of that too difficult, they would learn the easiest way around it so they could get back to what they were doing. I tend to sneer at these people from time to time (as the Stallmans no doubt sneer at dolts like me) but the truth is that they aren’t stupid. They just don’t care. They don’t care in the same way that most drivers don’t care about anti-lock brake laws and fuel mixture regulations. They care about using the car to go somewhere and simply don’t have time for a thousand mechanical and political details.
There is a hassle to the individual user in switching operating systems. It’s a big one. It’s so big that people still choose Windows, even though it costs over $100 and the alternative is free, more stable, and more secure. I know because I’m one of those people. I want to be able to run my games and use all my familiar programs and share files with other people. But that Windows advantage is only genuine (tee hee) as long as it can win in the “hassle-free access to software and data” department. If TPM gets in the way of this, then people riding the path of least resistance will quickly flow towards open source.
Requiring an internet connection every time the user runs a program is going to cause a lot of problems. Mobile users need their stuff to work even when they don’t have connectivity. Servers go down. Companies go out of business and without their servers, users would find themselves locked out of “their” software. The major forces keeping people from switching to a free operating system are hassle and compatibility. But TPM can, on a practical level, negate both. If Joe Average – who doesn’t give a flying crap about open source, DRM, TPM, or Richard M. Stallman – finds his programs don’t run when he needs them, he can’t play his music when he’s on the road, and he now has to provide credentials and pay a monthly fee to play Bejeweled, he is going to notice. If Joe discovers there is an operating system that is free and it lets him work the way he used to (once he gets familiar with the new interface) he will switch.
The personal computer and the internet both exploded because of the way they allowed users to easily create and share data. Trying to take control of this at some higher level is like squeezing a handful of water. People will switch to other systems not because irascible tinfoil-hat wearing grouches like me tell them they should, but because doing so gets them to their goal. Looking at price, features, and convenience, they will choose whatever gets them back to their Power Point, Bejeweled, and Limp Bizcut.
The control advocates have to play a very careful game. They have to close the vice slowly, or users will abandon them. And once someone is lost to an open source platform, they are going to be impossible to reclaim. Their track record is not good with this sort of business, and as BioShock showed us, even very straightforward activation systems can suffer from widespread failure. Imagine hundreds of companies, all rolling out their own independent TPM initiatives, their own rules, and their own ideas on what should be expected of the user before they’re allowed to use the software or access data. It would probably be something between a debacle and a total clusterfarg.
As ugly as this is, I submit that it is a waste of time writing to congress. At the risk of dragging this into politics, this is the very body who gave us the DMCA, and are probably the most technologically inept segment of the population. (They will no doubt turn to friends and “experts” for advice. Guess who that will be?) Even if they listened to you, the odds of them taking any sort of useful action are astronomical. Whatever they come up with could easily do more harm than good. I also suggest that it’s a waste of effort trying to make Joe Average care about this issue. Instead, the freedom advocates should probably focus on making sure the alternative (open source) is as welcoming as possible. Not because you care if Joe Average boots GNU/Linux every morning, but because his defection would be so injurious to everyone on the control end of the spectrum.
Great strides have already been made. Ubuntu is up to the job of letting the average user compute without worrying too much about the lower-level details of the operating system, and it gets better every year. (My wife has been using it for half a year now. Last week we threw away the windows restore disks that came with her laptop. She’s never going back.) This may be the day the GNU/Linux advocates have been waiting for: The ascendancy of their platform.
The next version of Windows will most likely be the one where they try to close the trap. Things will be very interesting when we get to that point.
Two minutes of fun at the expense of a badly-run theme park.
Starcraft: Bot Fight
Let's do some scripting to make the Starcraft AI fight itself, and see how smart it is. Or isn't.
Good Robot Dev Blog
An ongoing series where I work on making a 2D action game from scratch.
Bethesda felt the need to jam a morality system into Fallout 3, and they blew it. Good and evil make no sense and the moral compass points sideways.
Quakecon 2011 Keynote Annotated
An interesting but technically dense talk about gaming technology. I translate it for the non-coders.