If you have been following the gaming news (or any tech news for that matter) you doubtlessly already know about the crazy new DRM scheme Ubisoft adopted for Assasin’s Creed 2 (also known as the game I will not be playing, ever). In case you have been living under a rock (and I don’t mind, rocks are awesome man) let me explain it to you. The game will basically continuously ping their server while you play. If at any time it finds itself unable to reach the server, it will immediately kick you out to the main menu without saving your progress. It is not only crazy, but also incredibly inconsiderate. It goes above and beyond any other DRM scheme I have ever seen to make the life of legitimate customer more difficult.
I am painfully aware that most gamers (present company excluded) does not give a shit about DRM. They just don’t care. As long as they can play their game they are not really bothered by stuff like online activation, hidden rootkits and all kinds of other interesting surprises. But this scheme might just be stupid enough to actually annoy even them. Let’s try to think about just a few scenarios in which you wouldn’t be able to play AC2:
- While on a plane or a train
- Whenever your internet connection goes down at the house
- While on a flaky WiFi connection that fades in and out
- While someone is using a microwave oven in the other room/apartment and you are on a low powered Wifi connection
- While on a metered internet connection (and yes, some places still have those)
- While in the armed forces (not guaranteed a constant internet connection where you are deployed)
- While someone in your house is downloading a torrent which sucks the bandwidth dry
- While your network suffers from a random hiccup
That last point is especially interesting, because it does happen. The internet is what it is, and strange anomalous hiccups happen all the time due to net congestion, routers going down and etc. That’s just part of how this internet thing works. And you usually won’t notice, because most internet technologies are built to deal with this crap. But every once in a while you run into something that does require constant, uninterrupted communication – for example VoIP telephony. It depends on how robust and fault tolerant your phones are, but sometimes when the hiccups are big enough, the calls just drop for no reason or the reception is garbled/stuttered. I don’t know how sensitive the AC2 DRM is, but since they are using is as a security feature, you can probably expect it to be a bit trigger happy. So on your average residential (ie. shitty) internet connection, you can probably expect it to be tripped off at least every once in a while for no reason whatsoever.
It is ha huge inconvenience to us, legitimate customers. The game puts limits on when and how we can play, and punishes us every time we lose a network signal. What I fail to see however is how this protects the game from pirates any better than a regular online activation. I really don’t see the benefit here.
I mean, if I was to pirate AC2 I would just go to my favorite torrent website and download a cracked version that has the “calling home” feature removed. It doesn’t seem like this particular DRM feature would be much more difficult to crack than anything else we have seen before. If it’s just a simple ping, or connection check then removal should be trivial. If on the other hand they are doing something more complex – for example exchanging time sensitive cryptographic keys every few seconds it might actually prove to be s bit more challenging and fun to crack.
Yes, I said fun because that’s what DRM is. It is a fun project hundreds of people around the world will be working on the second your game hits the shelves. And eventually they will get it, because DRM is fundamentally flawed concept. Encryption simply does not work that way.
I always explain it to my students this way: encryption is all about securing the communication between Bob and Alice in such a way that Even cannot intercept it. It always assumes there are 3 distinct parties involved – the sender (Bob), the recipient (Alice) and a bad guy who wants to spy on the other two (Eve). We usually do this by relying on some secret decryption keys that Bob and Alice have, but Eve does not. These key may be something akin to a password that Bob and Alice exchange when Eve is not around, or public/private key pairs. But it only works as long as Eve does not have the secret/private key. If the encryption algorithm was designed properly, the only thing Eve can hope for is to guess the right key. But if your key is complex enough there are usually billions of combinations she would have to try. In most cases, even a fastest super computer in existence testing dozens of keys per second wouldn’t be able to find the right one within Eve’s life time.
Unfortunately it so happens, that DRM covers a special class of encryption problems in which Alice and Eve are the same person. The legitimate recipient of the encrypted message is the same person who you are trying to protect the message from. So basically you can encrypt the message you are sending to Eve, but you also have to give her the decryption key. You can hide that key under another level of encryption, and make sure she can access it only in special circumstances. But if Eve is clever, she can snatch up the key as soon as the conditions are met for the first time and it becomes available, and then use it whenever she wants. So DRM is basically about splitting keys in parts, hiding it in clever ways, and requiring Eve to jump through hoops in order to get it. But ultimately there must be a chain of events that can be initiated by eve that will expose the key and decrypt the game so that she can play it. The security of the DRM therefore boils down to making this process so convoluted that Eve can’t follow it. Unfortunately Eve tends to be a very clever, and very determined person when she wants to be.
This is why DRM doesn’t work – because it can’t. Because every DRM scheme can be figured out by a clever cracker like a puzzle. They don’t have to brute force the decryption, or or try to break it. All they have to do is to find the hidden key. And they have been doing this for years now, so they have lots of practice. This is why self respecting cryptography experts stay away from DRM projects and leave them to be developed by either talentless hacks, or people who don’t know enough about cryptography to realize how futile their work is (actually, we can probably file these folks under talentless hacks as well).
AC2 DRM will be cracked – I am sure of that. I am willing to bed money on that. I have yet to see a game of this caliber to remain uncrackable for more than two weeks. It is inevitable.
I am just curious as to why they chose such a highly annoying method of authentication. If it’s just a simple “check in” procedure, then this whole system is almost criminally stupid because it does absolutely nothing. A legitimate game will continuously check in, unless the customer loses the internet connection at which point you assume he is a pirate and kick him off. A pirate copy will never check in, and work just fine. It makes no sense. If on the other hand they are doing something much more complex… Well, then they are just throwing money and man-hours out the window, because it will be cracked anyway.
I know why game companies use DRM – I get it. They do it so that they can pretend like they take steps to protect their intellectual property from pirates while the investors are looking. But you’d think that they would want to pick the most cost effective, least intrusive technology out there instead of all kinds of inventing new ways to inconvenience their paying customers. Valve knows this – and they actually made their DRM fun for customers by turning it into a social platform. Steam is like a gilded cage – it keeps you from doing what you want with the games you bought. But in exchange it gives you some fun features like achievements, ability to easily connect with your friends and etc.. Ubisoft however seems to take the opposite stance making their DRM as annoying, buggy and customer hostile as possible. I don’t know if you recall but not so long ago they created a DRM so thorough that no one was able to play their game at all – and they had to use an illegal scene crack to unlock people’s games.
I really don’t know why do people in game design keep failing so hard on the DRM front. It’s so fucking simple:
- No one likes DRM
- Everyone seems to love Steam
- Steam is a DRM
- Why the fuck are you trying to use something that is the anti-thesis of Steam?
I mean, there is a working model of a DRM that works. Use it. And if you don’t want to use it because you didn’t make it then at least try to learn from it. Saying that Steam or Steam like DRM is not strong enough is just silly. Steam doesn’t protect anything just like SecuROM doesn’t protect anything. The AC2 DRM will not protect anything either. DRM does not work, period. It doesn’t matter which system you use, because none of them can possibly work. So just pick the one that people don’t hate.
What do you think about the AC2 DRM?
Update: Few days after release, Ubisoft DRM servers go down. I sort of forgot about this in the post above – to support thousands of people playing the game at the same time you need a massive server power. That’s a tricky thing though, because servers and bandwidth cost money. If you buy lots of servers and the game is a dud, you are losing money. If you low ball it, something like this happens. People can’t play your game at all. But that’s ok, right. We are going to blame pirates for this, aren’t we?