206w ago - Recently Graf_Chokolo revealed that he is working on a PS3 3.55 HV CFW, which will have dual boot Linux built in.

To quote from Dukio: I plan to implement dual boot feature in HV, just like i did on my PS3 3.41, and you can boot with it either gameos or linux or some other system like freebsd. You won’t need any bootos on gameos for that. I will also patch HV and enable more features

I will do it on PS3 slim, first i will resize HDD and add a partition for Linux there

Expect more features coming in as the HV patching continues. Oh, and he is working on a 3.55 FW only at the moment, although on the newer firmware versions is possible according to graf.

Now for 3.55, on other version offsets are different so the code is the same but offsets to patch are different.

When ask about the progress of his lawsuit and if he requires more legal funds, graf_chokolo had to say this:

It's very slow, for now it’s enough i think, thanks.

I have no huge news yet regarding lawsuit but soon I think I will have.

Following up on the previous work by PlayStation 3 developer Graf Chokolo, today naehrwert has announced news of a PS3 HDD decryption proof-of-concept (PoC) from a PC as a result of reverse-engineering work done by flat_z and glevand.

Below are the details (via ps3devwiki.com/wiki/HDD_Encryption), to quote:

Introduction

The following information was reverse engineered from LV1, Storage Manager in LPAR1 and sb_iso_spu_module.self.

I'm able to decrypt/encrypt my PS3 HDD and VFLASH on PC now.

HDD Encryption

XTS-AES-128 is used to encrypt all data on PS3 HDD.

XTS is NOT CBC!!! It's AES-ECB with tweak XORing. AES-CBC is impractical for HDD encryption. Each sector can be encrypted/decrypted independantly from other HDD sectors.

Good paper about XTS-AES: ntnu.diva-portal.org/smash/get/diva2:347753/FULLTEXT01

VFLASH is encrypted twice. First with ENCDEC keys and then with ATA keys.

Tweak and data XTS keys are of size 32 bytes but only the first 16 bytes are used.

You can set and clear ATA keys with my Linux ps3encdec device driver which i use to test HDD/VFLASH encryption. But be careful, never set/clear ATA keys while some HDD regions/partitions are mounted !!! You will corrupt your data on your HDD !!!

Dumping ATA Keys

I modified sb_iso_spu_module.self to dump ATA keys.

ATA keys are passed as parameters to sb_iso_spu_module.self.

Program

My SPU program to dump ATA tweak and data XTS keys to PPU memory with spuisofs:

To test your ATA XTS tweak and data keys, you need encrypted HDD sectors. You can either connect your HDD to PC and dump it or use my ps3vuart-tools on Linux and clear ATA keys and then dump it from ps3da. I tried both methods. But make sure you unmount all HDD regions before using ps3vuart-tools to clear your ATA keys.

I coded a small application which implements XTS-AES encryption/decryption. XTS-AES paper is a good reference how to implement it.

You have to pass the correct sector number in order to get correct results.

As you see below in my examples, i pass sector number 0 and sector 8 for VFLASH because VFLASH begins at sector 8 on HDD.

Another interesting fact is that you have to swap half-words after encrypting and before decrypting HDD sectors else you will get wrong results. This swapping is not necessary for VFLASH sectors.

Another note is that you have to decrypt VFLASH sectors with ATA keys first and then with ENCDEC keys.

VFLASH is encrypted twice. First with ENCDEC keys and then with ATA keys.

You cannot dump ENCDEC keys with sb_iso_spu_module.self. They are set in lv1ldr only (see here: gitorious.ps3dev.net/reversing/lv1ldr/trees/master).

I used a modified lv1ldr with my Linux spuldrfs driver and dumped ENCDEC keys.

XTS-AES-128 with 128bit tweak key and 128bit data key, just like ATA keys.

ENCDEC tweak and data keys are passed to lv1ldr NOT in clear text.

ENCDEC keys are computed by lv1ldr with AES-CBC-256 by encrypting 32byte seeds.

metldr passes to lv1ldr AES-CBC-256 IV and key which are used to compute ENCDEC keys.

I tested my ENCDEC keys with my ps3encdec Linux driver and set them again, and VFLASH was still working fine. As soon as i changed some bits in these keys, VFLASH could not be decrypted properly anymore It means keys are correct.

ENCDEC Key Seeds

Use the dumped ENCDEC IV and key to encrypt these seeds and you will get your ENCDEC keys for VFLASH.

Finally, from KDSBest: The keys are on wiki why not expose them in your source code naehrwert. The key generation algo is nearly the same as the eid0 key generation algo. Seed AES Encrypt with EID Root key.

Should read the Adress in lv2 for you. Can someone with a PS3 that can try this... I dunno if I can write the SPRG0 with mtspr, but if that is possible you can dump lv2 with this on 3.55. I don't think Sony changed this syscall on higher FWs.

yeah the amount is BS but Sony know that they'll never get a ruling for the full amount. As far as I know it's only a civil suit, they're just trying to send a message. But a very very bad message at that.

It's the same in the geohot case, that's pretty much solely based around the public publishing of the keys not the actual obtaining of the keys.