Encore une énorme bonne nouvelle pour la scène PS3 ! Le dongle JB2, alias TrueBlue, va bientôt devenir superfétatoire à ce rythme-là car des personnes du site PS3DevWiki ont publié très récemment de la documentation sur le dump des clés nommées "per console". Si on devait expliquer à quoi elles servent à des enfants, on pourrait presque dire qu'elles ont des super-pouvoirs. En effet, celles-ci vont avoir un impact considérable sur le hack de la PS3 car elles permettent entre autres de décrypter le metldr, le bootldr et une partie de l'EID. Concrètement, cette découverte va permettre de mieux comprendre le fonctionnement de la console et d'aider les développeurs à faire de nouvelles trouvailles. Il suffit simplement que la méthode présentée ici soit exploitée.
Vous devez comprendre que cette méthode peut dumper les clés per_console_key_1 et per_console_key_n. Avant d'avoir un CFW, il faudra aussi pouvoir dumper per_console_key_0.
Pour les anglophones, voici des explications concernant la Root Key :
EID crypto is very complicated, it is done so on purpose. first of all EID0 isn't decrypted with one key, and one
algorithm alone. it is decrypted in several parts which use different algos and keys. the keys are all derivations
of a per console key (per_console_key_1)which is stored inside metldr and copied by it to sector 0 and never
leaves isolation. that same key is a derivation of the per console key (per_console_key_0) used to encrypt metldr
and the bl in the first place as well.
isoldr clears that key from sector 0 before jumping to the isolated module. but before doing so it encrypts it
with another keyset and stores it in a buffer so that the isolated module can use the new crafted key. since the
operation is AES, if you know that keyset you can decrypt the crafted key and get the eid root key without pwning
a loader or metldr through an isolated module. that is not like you really need it because you can already use the
crafted key to decrypt some of eid0, but not all of it. and the crafted key also uses the first elf section to be
built as in your isolated module will have a small section which only contains a key. and that key is used as another
layer by isoldr to encrypt the buffer with it. so basically you have 2 encryption layers over the root key. the final
key then decrypts a specific part of the EID.
eid crypto is actually done smart. that is because most of it originally comes from the cell bootrom, as in they
reuse the same algo used for metldr binaries and bl in the eid crypto, including some of the keys and the steps.
and you cannot decrypt all of the eid sections unless you gathered every single keys and steps. and there are a
lot then you still have to figure out wtf it is you decrypted because eid is actually full of keys.
Traduction:
La cryptographie de l'EID est très compliquée, ceci n’est qu'à titre d'essai.
Premièrement, EID0 n'est pas décrypté avec une seule clé et un seul algorithme.
Le décryptage est réalisé en plusieurs parties utilisant différents algorithmes
et plusieurs clés.
Les clés sont générées à partir de "per console key"(per_console_key_1) qui est
stockée dans metldr et copiée par celui ci dans le secteur 0 sans jamais ne pas
être isolée. Cette même clé est générée par "per_console_key_0" utilisée pour
crypter metldr et le bootloader en premier lieu.
isoldr efface cette clé du secteur 0 avant de passer vers les modules isolés
mais avant de faire cela une encryption est faite avec un autre jeu de clés qui
stocke le résultat dans un buffer pour que le module isolé puisse utiliser la
nouvelle clé créée.
Comme l'encryption est au standard AES, si vous connaissez ce jeu de clés, vous
pouvez décrypter la clé conçue et obtenir la root key EID sans être owned (pwning)
sur un loader ou metldr à travers un module isolé. Ceci n’est pas le but recherché
puisque on peut toujours utilisé la clé créée pour décrypter un partie de
EID0, mais pas la totalité et la clé crée utilise aussi le premier secteur d'un
ELF pour être construite dans le module isolé qui ne contiendra qu'une seule clé
qui sera utilisée à un autre niveau par isoldr pour crypter le buffer.
Plus simplement, il y a deux couches d'encryptage au dessus de la root key qui
décrypte ensuite une partie spécifique de l'EID.
L'encryption de l'EID est vraiment faite de manière intelligente car beaucoup de
parties proviennent du cell bootrom qui réutilise les algorithmes utilisés par
metldr et le bootlader dans l'encryption de l'EID,en incluant certaines clés et
certaines étapes; et vous ne pouvez pas décrypter toutes les sections de l'EID
sans réunir les clés et les étapes et il y en a beaucoup.
Si vous souhaitez en savoir plus sur ces clés, rendez-vous sur cette page du PS3DevWiki.