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).'"
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.
Well, I'll just dig out my uplink disk....I think I have an elliptic code breaker in there somewhere
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?
Not criminals. Cheaters. They're keeping gameplay fair.
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.
it would seem this way on the surface. but the potential for online games on the wii[see mario strikers charged or big brain academy wii degree for early efforts] means cheats for extra gold coins or whatever could have a negative affect on me. personally I am not interested in hacking my saves and would like to know people I am playing against online are not cheating, so this is something I would request. in my mind as a regular player [I own a wii console four full controllers 2 classic controllers and about 13 games, that makes me a big buyer for them compared to most] I feel that they have done me a service by trying to keep online gaming fair and I've not had anything I wanted to do on my wii hindered by this. just something to keep in mind.
/.er will outrank me here]
for reference I am a linux user and took time out of writing a shell script for a solaris machine at work to write this response. normally your mentality is how I think but this time it doesn't stand up to a little critical thinking from the perspective of a fairly heavily vested party. [I don't know anyone who has spent more towards wii, games, and controllers than I have. though I am sure some
thats right, I rarely use capitals. deal with it. but don't mistake my laziness for stupidity
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.
Slashdot puts passwords on its user accounts.
Just another case of Slashdot treating its visitors like criminals.
No, I think there is a much more mundane reason. In the past some of the consoles were broken with manipulated save games, the games didn't properly check the data and so opened a hole. I would guess Nintendo didn't want to take that chance and so added an API which sits between the game and the saved data. As the saved data could be verified for being originally written by the game before the game would even get a chance to have a look at it, it means it is much harder to attack code not written by Nintendo to be exploited.
Disclaimer: I have never seen the API of a game console, this is only a wild guess.
(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
I think it means encryption for virtual console games etc.
09 F9 11 02 9D 74 E3 5B D8 41 56 C5 63 56 88 C0
I don't really see a good argument for anyone to modify saved games. There is zero benefit to the end user, unlike DRM on music. If the encryption disallowed use of the saved game, that would be problematic, but if it disallows mods of the saved game, that makes sense. Think modding your saved game to make you a level 10 player, not very nice if this game has to go online.
"Thanks for all the money you paid to us. We've used it to buy off ISO among other things" -Microsoft
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
No the point is that if you can ditz with the "save game" then you can "cheat". You could distribute them (allowing people to "skip" actually playing the game to see stuff) or "level up" characters to your advantage in multiplayer games. As a player of these games I don't like cheating - you want a level playing field. So do I think Nintendo should protect these files? YES! Do I think they can? Sadly... no.
What? Having a Japanese and American Wii, 4 controllers, 3 nunchucks, 3 classic controllers and 15 games isn't normal?
Actio personalis moritur cum persona. (Dead men don't sue)
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.
no its not, why the fuck haven't you bought the fourth nunchuck yet?
thats right, I rarely use capitals. deal with it. but don't mistake my laziness for stupidity
What will all the hacker and code breaker types do with their time if all companies stop encrypting stuff?
Balderdash!
Somewhere in this array of comments everyone forgot to mention that 99% of the time, online-based games store all user data on the server's end, not the client's end. And so you can hack, hack, hack the day away and the game's server will stop you dead in your tracks.
Your ad here.
Another problem is that anti-cheat protection makes developers lazy. Online games typically follow the server-client model and as such, any important calculations that need to be tamper-proof should be done on the server. Unfortunately you've got one of the most popular MMO games, MapleStory, that actually depends on the client to detect if the player has been hit by a monster. They rely on anti-cheat protection to keep a player from bypassing all hit detections and obtaining God mode. The problem is, they've already lost. Their code will never be bullet proof as long as I control the hardware.
...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' :-).
Modding save games has very little to do with online play... Typically for an online game, your "save game" will be stored on the server so you can't edit it anyway.
Editing single player save games would have no effect on online play...
To prevent cheating with online games, you want to prevent modification of the game data itself, and modification of the network traffic. However this all gives a false sense of security, because people will still always find a way to cheat.
http://spamdecoy.net - free throwaway anonymous email - avoid spam!
Only for Online-only play. Say a player collects rewards while playing offline, and the developers want to enable him to take them online.
One example that springs to mind is the online Pokémon trading in Pearl/Diamond, where many Pokémon are cheated, which kind of kills the point of it all.
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.
Diablo II had this kind of ability; you could use characters online and offline. As I recall, there was also a mode where you could only use a character online but I never used it. Unlike the Wii, this was important since it supported LAN play as well as Internet play, so a group of friends could get together and solve some of the quests together. Since the game was mainly cooperative, rather than competitive, it didn't affect the play for other people much.
If the only two options are offline and Internet play, then you can do some things to reduce the effects of cheating. For example, you can require that a character for online play be created online, and then played offline. This ensures that the server always has an old copy of the save game file for the character. It can then compare the old and new, and see if it is reasonable for the character to have acquired all of the things it did in the intervening period. Some simple validation of this nature won't stop all cheaters, but it will stop cheaters from getting huge advantages.
I am TheRaven on Soylent News
"Enough of your borax, poindexter! We need action!" - Chief Wiggum
"Diablo II had this kind of ability; you could use characters online and offline."
Um... I'm afraid that Diablo II has no such feature. You can have eight characters on your computer and eight on the server, and they cannot mix. Incidentally, allowing the use of local characters on official servers would have really messed with the economy given the ability to modify savegame files. (You would have had people in chat offering "FREE SOJs in game freefreefree!!!" without it being just another troll.)
(no sig)
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
I know that you know that there is a shift key on the keyboard, because I can see that you use it, you arrogant twat!
Yeah, I don't know how many times my Wii online play has been ruined by cheaters thus far...
I read the internet for the articles.
I am TheRaven on Soylent News
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.
It DOES have this feature. How could you miss it?
They have both 'open' and 'closed' servers. The 'open' servers accept characters stored on your computer, and have no protection from hacked saves, but they are good for playing with friends who you know aren't cheating.
On 'closed' servers, your characters are created on their server and can only be played online.
The offline character could only be used in LAN games. Online characters were unique to the Blizzard servers and not usable offline, specifically because of the problems involved with using character editors and the like to make your characters godly beyond what was even possible by normal means.
Sig unrelated.
The secret key is
17 Pr!N75 M0N3Y$
Not useful?
I for one would love to take my save for some of my Virtual Console games and replace the entire data with another game save I downloaded, the downloaded save being in RAW format and not from an Virtual Console game.
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.
I believe you have playing multiplayer games with Battle.net and LAN confused.
Whenever you make characters for single player and LAN or TCP/IP games, any 'open server' will accept them.
However, when you use the Battle.net servers, in addition to an account, the characters are stored on the server side. That's referred to as a 'closed server', since you can only play as characters you made on there, and they are stored on the server side.
Blizzard did say they were going to put in a feature where you could export your battle.net characters so you have a copy locally, but only one way. Mainly, so you couldn't upload a hacked character to the battle.net servers.
slashdot prevents users from applying a CSS filter to their personal copy of their discussion pages to block annoying comments from anonymous coward. Just another case of slashdot treating its visitors like criminals.
As a "player of these games", is it any business of yours how I play my copy of the game and weather I see stuff without going through a particular level? Online games are a different matter and it would be Ok if online savegames were signed by the server.
Nintendo is pulling in a lot of money by selling emulated games for the Wii.
Some of the most common homebrew put on to consoles is of course emulators. The ability for example to put a SNES emulator and every SNES ROM ever on a 1Gb SD card could cost Nintendo a lot in lost sales.
I see the game business shills have been out in full force lately.
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.
Yeah, you're right. Game developers will never win as long as there are douchebags like you who want to ruin the fun of the game for everyone who isn't cheating.
My blog. Good stuff (when I remember to update it). Read it.
Because, of course, the Wii will never have cheating attempts in online play and there's absolutely no reason to plan for it from the start rather than try to slap something on later.
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
Just another case of Slashdot treating its visitors like criminals.
Worse yet: Slashdot probably encrypts that password before storing it in their database!!! The bastards!!!
Yes. I agree. They are no better than the RIAA. Death to all websites who use passwords and enrypt them before storing them. We want freedom for all!
Btw, what is the username for your PayPal account?
My security clearance is so high I have to kill myself if I remember I have it...
Why are they encrypting savegame files? I understand maybe a boot sector or even an entire game to prevent copying, but MEMORY CARDS? WTF?
And why do you think that is?
"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.
You have the right concept, but its hardly bulletproof :) The xbox used signatures to sign each of their save games and that did not stop determined people from figuring out how to resign games. Heck, the Xbox Bios had a couple weak attempts at signing the bios and we all know how wide open that got broken.
Save signing is to stop casual modifications, and to allow publishers to do things like lock a save to a particular console.
More like idiots, if you ask me.
Such beliefs creates oppression and violence. I recommend you show love by slitting your wrists so we will be one step closer to eliminating religion from this planet and acheiving utopia.