Wii Uses Elliptic Curve Cryptography For Saves
An anonymous reader writes "A user at the Nintendo-Scene forums just posted a lengthy post about his discovery that the Wii savegame files are signed and encrypted with NIST B 233 bit elliptic curve cryptography. Could this be the first step for a Wii softmod the homebrew community have waited for? From the post: 'It appears a Wii savegame file ends with a certificate chain. The certificates contains a public keypair (the one that is being "certified") and a signature (another number pair) from the signing entity. The number pairs are stored as a compound 60 bit data (first 30 bytes for the first number, and the next 30 bytes for the second). Hence, the first and middle byte is always 00 or 01 for keys, and 00 for signatures. One can check that the keys are indeed NIST B 233 keys using openssls EC_KEY_check_key function (code forthcoming).'"
Creationists are TWATS!
The Farewell Tour II
I assume, without RTFA, that this is a step in the direction for allowing homebrewers to save games on the console.
I confess, despite being an avid Nintendo fan, that I'm irritated at the Apple and Microsoft-like paranoia in keeping people out of their software/hardware.
-Fred
Guns don't kill people, "with glowing hearts" kills people.
Such hate creates oppression and violence. I recommend you show love by letting others live. I'm and Xian, and don't speak of others in such a manner.
Well, I'll just dig out my uplink disk....I think I have an elliptic code breaker in there somewhere
Is the question why your personal device keeps secrets from you. It's your savegames. You should be able to modify them as you wish. Yet another case of a company treating customers like criminals.
Why is it that we live in a world where our console gamesaves are protected more aggressively than our bank accounts and our identities combined?
That this likely means the exact opposite. Elliptic Curve Cryptography is relatively difficult to crack (not unlike RSA). More to the point, it's also not liable to factorization attacks like RSA is. Furthermore, the best crack of elliptic curve technology is of a 109-bit key, and still took 3,600 or 15,000 computer-years (whether it's a binary or prime field case, respectively).
Nintendo's not stupid. They've used RSA encryption to keep the average hacker out of DS-wireless homebrew, and this is most likely a mandated response to the Splinter Cell hack that allowed soft modding on the Xbox. It won't stop hacking through security holes in the internet protocols (a-la PSO+BBA), but they're certainly making efforts to prevent corrupted data from opening up softmod paths.
Perhaps you don't understand why most
Nintendo does none of this. They encrypt savefiles. So what? This does not impede on your right to do anything. You can play any given game on as many Wiis as you wish. Nintendo is also not suing people to force hackers to halt breaking their savefile encryption. Game developers generally don't want players artificially advancing within games. Perhaps there are statistics stored within the savefile used online. Whatever's in the savefile is up to the game devs, and Nintendo is simply hiding that.
In other words, Nintendo is completely within their rights to encrypt savefiles. In turn, AFAIK, you are completely within your rights to attempt to break that encryption. And in turn again, Nintendo is completely within their rights to push out any updates to change or otherwise enforce their encryption. It's really that simple.
"homebrew community"
aka
videogame pirating community
(Assuming that this discovery allows people to write new, arbitrary yet signed data into a save file on a SD card that the Wii will recognize as a "valid" save)
The next step will be to search for an exploit in the console or in a game that allows execution of that data. The final step is to figure out how to get that newly loaded code to do something useful. I know this has been done before, but I'm under the impression that the exploit (in a 007 game) was found by chance. After that lucky break, the code-something-useful part came very fast.
Is there any way to search for such an exploit other than brute force testing of games? Are there things to look for that normal players might see, or do you have to just try to execute code over and over and over in various situations, hoping to find a hole? In short, how can I, a non-programmer, help?
I have hundreds of SNES and NES carts. I would love to be able to run those games on the Wii without having to buy them a second time or wait for N to trickle them out. Now if I can just hack together some Wii wireless SNES and NES pads, I'll be in heaven.
"Cheeze it!" - Bender
While encrypting the save files saved on the hard drive might seem like a logical step to keep people from cheating I don't think it will have much effect. I don't believe that cheating on games that you play by yourself or with friends on the same system (opening up maps for the multi player when you don't have any urge to play the solo game all the way through for one example) is in anyway wrong. However if the save file on the Wii effects online play versus people you don't know then well we have a problem. BUT I am sure that Nintendo doesn't do that since to do that would definitely make online playing a joke when the save files get hacked, and they will get hacked.
Additionally those that would of hacked the save files to install mods are not a majority of players on any system. Most people who own a console do not have the skill set or urge to install mods. While encrypting the save files will slow down the hackers it will most likely not stop them, so unless Nintendo did something stupid and made the Save files have full authority over online play encrypting the save files with elaborate means is just a waste of the players time as the games have to take longer to save.
I know I made a big assumption* in the parent post, but I wanted to ask the question about the second step, if we ever get there.
It's just too bad that there isn't some way to compromise to allow a Wii "sandbox" to play around and develop in without allowing full fledged piracy. Maybe a modified (i.e. slightly crippled to prevent full piracy) Wii dev-kit open to all for a reasonable cost?
Just throwing the idea out there
*I know getting past the encryption will be no easy task, and may not be feasible at all with current technology. IANACR (I am not a cryptology researcher) but I know that elliptic curve encryption is pretty strong stuff, and 300+ bit key is pretty big.
"Cheeze it!" - Bender
It is still liable to disassembly attack. If elliptic curve used is sect233r1, as poster assume, that could be useful information for disassembly. If wii use OpenSSL that fact could be even more useful.
What will all the hacker and code breaker types do with their time if all companies stop encrypting stuff?
Balderdash!
...where the police are looking for a violent killer, and then their surveillance locates him, and they all breathe a sigh of relief, as they assume that's the hard part done - all they have to do now is arrest him.
I can't help thinking that there's a wee bit more work to do than just find out what encryption method is being used.
Then again, maybe your average slashdotter thinks that 'breaking encryption' is as easy as 'guessing the algorithm used' :-).
FTFS
The number pairs are stored as a compound 60 bit data (first 30 bytes for the first number, and the next 30 bytes for the second).
Interesting that they can store 60 bytes of data in 60 bits! I think someone made a typo...
Hey, there is only one Return and it's not of the King, it's of the Jedi.
"Enough of your borax, poindexter! We need action!" - Chief Wiggum
I can has empire?
I happen to have a modded Xbox and a modded Wii
the Xbox has been my media center for about 4 years. I bought it the day it was easily moddable/hackable. It now plays the anime and movies from my server and also plays my dvds along with the games and imports. I really like the option to pay imports. I do speak and understand english, so there really is no reason I should wait 1-2 years for a game. Or movie...
After maybe 2.5 years the dvd reader died and I couldn't read discs anymore. I bought a replacement dvd player for the xbox and installed it myself, voiding my already dead warranty.
Morale of the story :
1 / I used my xbox in a "creative" way, exceeding by much what MS previewed/allowed me to do with it. I had fun with it, and I didn't have to build or buy a pre-made media center.
2 / When it got broken I just had to buy a small, cheap part. not a full xbox, as a "no user servicable parts inside" box concept would have made me.
Episode 2, the WII
Take story from ep.1, make hardware standard pc stuff as in xbox, rinse, repeat.
Guess I, too, am just old fashioned in some ways. I'm too cheap to have every piece of kit I want, so I like to tinker with consoles to give them all the bells and whistles I cannot afford otherwise...
It takes 40+ muscles to frown, but only four to extend your arm and bitchslap the motherfucker
That math does not seem to work out.
60 b = 30 B + 30 B (huh?)
So which is it, bits or bytes? Oh well, I guess I will go read the article to find out.
The secret key is
17 Pr!N75 M0N3Y$
Make voting into a video game, outsource development to Nintendo Wii, watch Nintendo become company non-grata in most 'democratic' states of the world.
You can't handle the truth.
Clearly, the people who make our video games are far more competent than those protecting those other things like votes, money, identity, etc.
Actually, it makes a sort of perverse sense. It's pretty easy to write bog-standard business applications that do CRUD (in both the database & other sense), but it's not so easy to program a game that has to run at acceptable frame rates.
I found the PSO exploit when I was cheating the Dreamcast version of the game. PSO "version 2" added a new packet, known as RcvProgramPatch, that downloaded code to the system. Sega used that packet to download assembly code to the client that checked for some of the cheats we made. The packet stayed in the game through the GameCube version, at which point someone else found it and made the BBA homebrew exploit.
Of course, Sega didn't sign that downloaded code, which is why it worked.
Regarding this savegame thing, it's just dumb. There's no reason for them to use asymmetric cryptography on saved games when symmetric cryptography would have worked equally well. Once someone, anyone, can execute code on the machine, the savegame protection on that system will be broken. The only real protection is to use per-device keys - that is what makes Wii saved games secure, not this asymmetric crypto. Sacrificing player convenience for security.
I can't wait until quantum computers end the reign of the 360 and Wii homebrew security systems.
"Screw Sun, cross-platform will never work. Let's move on and steal the Java language." - Visual J++ Product Manager
Why are they encrypting savegame files? I understand maybe a boot sector or even an entire game to prevent copying, but MEMORY CARDS? WTF?
"That's one small step for man
.
I'm not sure I understand why they had to use asymmetric encryption. A plain old symmetric algorithm would suffice, since asymmetric methods are only necessary when passing messages between parties. Since the save files are both encrypted and decrypted on-machine, only symmetric encryption is required. This would possibly simplify things, as well as potentially speed them up (since symmetric algorithms are faster). A good symmetric algorithm is usually very compact codewise as well, and much less complicated to implement and maintain. Odd choice on their part, though admittedly for security purposes either can be used to effectively protect the save files (and both are equally vulnerable should the encryption key be plundered from the device).
> Actually, its not so hard either. Neither is elliptical curve encryption. Don't overestimate the difficulty of these things. They might have been hard 15 years ago, but today such things are well documented and a plethora of libraries are available to make it even easier.
Using ECC, you're right, isn't that hard. Using ECC correctly is harder, but not that hard.
Mostly, it's rare. That's the part that gets me.
Given that I haven't seen too many using ECC, even though it has some cool properties like not being affected by advances in factorization, so I have to give them some credit on that one. It makes me feel like the person who designed it had a clue.
I was thinking along the same lines, that the crypto was less about preventing homebrews (though Nintendo probably does want to keep homebrews down), and more about preventing players from hacking into their savegames and "improving" their saved position. But seeing as I don't do much online gaming, I didn't see the point. Now I do.
Now normally I would have nothing against "cheating" in this form: it is more like cheating at solitaire or using house rules an a dinner-table game. But when you are playing with strangers, you need some reassurance that they don't have a whole slew if royal flushes stuffed up their sleeve. If I understand this properly, Nintendo has integrated an encryption method into the savegame routine on the system level for the benefit of the developers, and didn't see enough demand to offer an unencrypted version. After all, homebrew just isn't a part of Nintendo's DNA.