Dans l'article, y est décrit la chaîne de confiance de la PS3, et comment nous pouvons la briser en modifiant le tout premier chaînon, pour par exemple retirer les vérifications de signatures pour tout le système d'exploitation.
Les clés privées NE PEUVENT PAS se calculer à partir d'un Firmware >= 3.56 , et elles ne SONT PAS DISPONIBLES, et ce, sur aucun site... Elles sont privées, et seul SONY les détient.
Si nous avons pu les extraire une fois, ce fut grâce à une erreur des développeurs SONY, qui appliquèrent mal l'algorithme de chiffrement, ce qui nous a permis avec un peu de données et d'opérations mathématiques de calculer les clés privées.
On peut créer un CFW 3.61, le seul obstacle ce sont les clés publiques, lesquelles peuvent être extraites, avec plus ou moins de difficulté, mais elles peuvent l'être...
Chaque Loader est chiffré avec une clé privée, et se déchiffre avec la clé publique correspondante.
Mais le Loader de plus bas niveau, dans le FW, se chiffre et se déchiffre avec la root key; laquelle est INVARIABLE, parce-que la root key publique utilisée pour chiffrer et déchiffrer ce Loader se trouve dans le Metldr.
Evidemment, ce Metldr devra posséder la clé publique utilisée pour déchiffrer le Loader, et le Metldr ne PEUT EN AUCUN CAS être mis à jour . Donc la root key ne peut pas être changée d'une version à l'autre de Firmware, parce-que plus rien ne fonctionnerait.
Donc, si nous voulons créer un CFW 3.61, en modifiant le LV2 pour ajouter de nouvelles fonctions, nous devons hacker toute la chaine de Loaders, pour arriver jusqu'au dernier.
Exemple :
METLDR -> LV0LDR -> LV0 -> LV1LDR -> LV1 -> LV2LDR -> LV2
C'est plus ou moins la chaine des Loaders, j'ignore s'il y a quelques variations dans le FW 3.61.
METLDR, comme je l'ai dit NE PEUT PAS être actualisé
METLDR déchiffre LV0LDR avec la Root Key (LV0LDR est le Loader de plus bas niveau, si on omet METLDR) et l'exécute.
LV0LDR déchiffre LV0 avec la clé LV0-Key (cette clé peut être changée entre les différentes versions de Firmware, car LV0LDR peut être actualisé en chiffrant LV0 avec une clé privée et en actualisant LV0LDR pour qu'il le déchiffre avec la nouvelle clé publique correspondante), et l'exécute.
LV0 déchiffre LV1LDR....
blablabla...
LV2LDR déchiffre LV2 avec la LV2-Key et l'exécute.
Pour autant, si nous voulons obtenir un CFW, nous devons déchiffrer LV0LDR (avec la Root Key, laquelle fut publiée par Geohot et qui ne changera jamais), modifier LV0LDR, changer la clé de chiffrement de LV0 (on la change par une clé capable de déchiffrer un LV0 chiffré avec une clé privée que NOUS CONNAISSONS)...
Quelle clé privée ? n'importe laquelle... étant donné que c'est nous qui généront la clé..., on chiffre LV0LDR avec la Root Key, on peut alors modifier LV0 comme on veut maintenant que LV0 est déchiffré avec une clé publique différente, dont on connait la clé privée.
On modifie ainsi toute la chaine de Loaders jusqu'à LV2, en le modifiant et en le chiffrant avec les nouvelles clés que nous avons choisi...
C'est la méthode, dans ses grandes lignes (quand je dis chiffrer/déchiffrer, je ne fais pas référence au contenu des Loaders, parce-que cela fonctionne avec AES et c'est un chiffrement symétrique ce qui n'a pas de sens de parler de clé publiques/privées; je fais référence réellement à la racine des ces Loaders, à la signature, laquelle utilise RSA et où interviennent les clés publiques/privées, avec L'UNIQUE objectif de vérifier que ces Loaders n'ont pas été modifiés).
Pour le FW 3.61, le sujet est un peu plus complexe, parce-que les clé publiques RSA et AES ne sont pas faciles à obtenir, mais il existe des moyens de les obtenir, des gens qui les possèdent, ce n'est pas impossible...
Maintenant, il faut savoir qu'un CFW peut seulement être installé si on est sur un FW 3.55 ou inférieur, parce-que les versions supérieures utilisent un nouveau mode d'actualisation, qui vérifie les paquets (données internes du PUP), vérifiant de nouvelles signatures (qui n'existaient pas auparavant, et qui sont maintenant obligatoires), dont nous ne possédons pas, ni la clé publique, ni la clé privée.
On peut extraire la clé publique, mais la clé privée on peut oublier, et là aucune forme de chaine pour l'éviter.
L'"actualisateur" est une application à part du FW et rien à voir avec ce qui a été expliqué précédemment.
Ceci dit, en passant à un CFW 3.56/3.60/3.61, vous ne pourrez plus revenir à un autre CFW (c'est à dire vous êtes bloqué à cette version de CFW ou à un FW officiel), et c'est inévitable.., parce-qu'en créant le dit CFW, on peut modifier le VSH (ou ce qui lui correspond), pour utiliser l'ancien "actualisateur" (qui ne vérifie pas les nouvelles signatures et n'empêche en rien d'installer de nouveaux CFW).
Ou modifier l'APPLDR pour nous permettre de charger le nouveau "actualisateur", mais modifié, afin de ne pas vérifier les nouvelles signatures (le nouveau "actualisateur" peut être modifié, bien sûr, mais nous devons modifier également l'APPLDR du FW actuellement installé pour rechiffrer cet "actualisateur" avec une clé privée connue de telle sorte que l'APPLDR soit capable de le déchiffrer et l'exécuter).[/justify]
Source : teknoconsolas
Source : http://www.ps3-addict.fr/forum/viewtopic.php?f=12&t=3334