They've already de-facto achieved that by not mandating that custom OS's can be booted on Windows 8 supporting ARM devices, and between them and pressure from content owners wanting complicit OS's that don't run applications that do things they don't like I can only see that sort of thing progressing in the future.
Even windows secure boot doesn't provide protection against a targeted attack, but conceivably a combination of EFI secure boot and a bug-free well implemented OS (heh) could provide enough protection for DRM on video content, basic enterprise computing (with non-hostile users), etc.
I still think none of this crap really belongs on the client; it is however an awesome fit on the server, which is an area people haven't really explored enough.
Agreed. I remember reading an IBM research paper about combining TPM and virtualization on the server, and getting excited about the possibilities. I wonder what happened to that project.
EDIT: found it! http://domino.watson.ibm.com/library/cyberdig.nsf/papers/442...
Intel also had some demo stuff, but the problem is Intel's security software group was kind of a revolving door spinning at a 3-6 month rotational speed.
They need to make the value spread between pirate and legit as wide as possible, but rather than making better DRM (to make pirated sw less useful, but also make legit software less useful), IMO they should just focus on making legit software fundamentally more useful when legitimately licensed. I know Steam essentially got me to stop pirating games by integrating their social features, easy library management, etc. Mac App Store sort of does that for most Mac software, too. But there's also the issue of price point -- even if I bought every game I wanted, that's probably <$1000/yr. It's easy to consume >$1000/yr in movies/tv, music, and "internet content", and even easier to pirate, with less value on top of the raw content.
I would argue that all of the really hard problems in software development (and most technologies) are really hard because they are social in nature, and it is the social nature that makes them so hard.
This is similar to the food production/distribution problem. We create enough food to feed the world, but, due to many geopolitical forces, we can't get the food to all the people that need it. No matter how good we get at growing and shipping food (the technical solution), there is some warlord somewhere who will steal it from his subjects (the social problem).
1. Not computer science. P==NP has nothing to do with Aunt Marge.
How many time zones are there in the world? How many will there be next year? Your NTP server needs to know.
How will you store humans' names that can't be expressed with the BMP alone? The iCloud servers need to know.
Is Taiwan a country? How about Kurdistan? Where are the borders of India? Google Maps needs to know.
There is plenty of software that won't have to deal with these problems ... but these problems can be huge headaches, and part of that is because of their nature as both social and technical problems.
Google Maps needing to know is the technical problem, sure. But representing borders is a reasonably solved technical problem. The social problem is people disagree about those things, and Google Maps representing that disagreement (if it can be represented at all) is a secondary concern to third-parties who just want to provide accurate maps. And there's nothing technical that can be done to solve that disagreement. You could very well provide localized Indian borders when viewing Google Maps (which is actually easier to do, and keep updated, with electronic maps than with print maps), or show the areas in dispute as being in dispute, but the issue is that the parties that disagree think everyone else should see it their way (thus the nature of disagreement).