¿Por k funcionan los updates como si fueran aplicaciones en la 2.0?

tengo la psp desde hace un mes y me e preguntado eso
Xenogears escribió:tengo la psp desde hace un mes y me e preguntado eso


Porque así lo quiso Sony, ni mas ni menos.

Es un EBOOT firmado por Sony y la unica manera que tiene la PSP nativamente de ejecutar los EBOOTs firmados es en la carpeta GAME
¿ y no se le podria hacer lo mismo a las demas aplicaciones, de algun modo hacerle creer a la pekeñita k sta firmado ?
Xenogears escribió:¿ y no se le podria hacer lo mismo a las demas aplicaciones ?


Si consigues firmar los EBOOT, pues si. Pero solo los desarrolladores de juegos (no homebrew, ojo) y Sony tienen ese poder.

Mirate los FAQs y tutos que ahí tienes todo explicado
¿ y no se los puede firmar de algun modo?, si es asi yo intentaria firmar antes de hacer un loader.

Salu2
si sacas la firma de 128 bits pues se puede, peo para sacar esa firma se necesitarian años y años de intentos.

Tranquilo que 1 los de sony no son tontos (aunque aveces la caguen de maneras impresionantes) y 2 los crackers tampoco lo son, si fuera sencillo firmarlos ya lo habrian hecho,de esa forma no aria falta andar buscando bugs en los firmwares.
Por curiosidad: ¿qué algoritmo usa para la firma digital? y ¿cuál es la clave pública? (si se puede decir)
Xenogears escribió:Por curiosidad: ¿qué algoritmo usa para la firma digital? y ¿cuál es la clave pública? (si se puede decir)


Es que pedis unas cosas...

EDITO: ¿pq has borrado tu post, Xenogears? Te iba a decir que si se conocia el algoritmo seria facil el implementarlo.
El algoritmo es RSA de 128 bits, lo dice en el manual xD
Yo es que ido mas allá y pensaba en el codigo propio del algoritmo, jeje :Ð
Dudo muuuuuuuuucho que usen un RSA de 128 bits para algo así. Hoy en día las claves RSA por debajo de los 1024 bits se consideran relativamente inseguras y en concreto, una de 128 bits puede romperse en unos minutos con un buen algoritmo de factorización. No se con qué algoritmo de criptografía asimétrica se firmarán los programas, aunque el RSA podría ser perfectamente un candidato pero no con ese tamaño de clave. En cualquier caso esas cosas no se ponen en el manual ya que es algo referente a la propia seguridad interna de la consola y además es algo totalmente ajeno al usuario.

Por otra parte, según he leído la clave pública está implementada a nivel hardware dentro de la PSP. Si queréis hacer algo en este aspecto necesitaréis:
1 - Averiguar qué algoritmo usa. Como los buenos algoritmos de criptografía de clave pública no son algo que te saques de la manga o hagas en 5 minutos (por lo general están fuertemente basados en complicados contenidos de teoría de números) es bastante probable que usen algún algoritmo ya conocido (RSA, DSS, ElGamal, etc.).

2 - Extraer de alguna manera la clave pública almacenada en el interior de los chips de la PSP. Los programas se encuentran encriptados mediante la clave privada asociada, que estará bien guardada por Sony, de forma que sólo puede desencriptarse con esta clave pública. Ahora bien, ¿de qué sirve conseguir esto? Pues a eso voy...

3 - Romper la clave pública para obtener así la clave privada correspondiente. Esto, si se lograse, supondría que cualquiera podría cifrar sus propios contenidos como originales, incluído el software casero, sin que la PSP pudiese detectar la diferencia entre tus programas y los originales de Sony. La única forma de remediarlo por parte de Sony sería cambiar su par de claves y modificar las nuevas PSP con los posibles problemas de compatibilidad con las viejas que ello conllevaría.

Ahora bien, bajemos de la nube y veamos la cruda realidad. Aunque se averiguase el algoritmo y consiguiese extraer la clave pública es más que probable que conseguir romperla requisiera muuuuuuuuuuu...uuuuucho tiempo. Más del que todos vosotros vayáis a vivir probablemente. De hecho, por poner un ejemplo, si no recuerdo mal romper una clave RSA de 2048 bits (tamaño habitual hoy en día) con los métodos convencionales requería un tiempo mayor a la edad actual del universo. Es más, si os apetece intentarlo, para eso os recomiendo que intentéis romper el RSA-2048 de los RSA Challenges que al menos si lo conseguís (que va a ser que no) os pagan unos 40 milloncetes.

Así pues, me parece que eso que proponéis va a estar chungo a no ser que se venga abajo la teoría de la complejidad o que consigáis un ordenador cuántico de muchos qbits (en cuyo caso podrías romper la clave en un tiempo aceptable).

Pues eso, si me equivoco en algo corregidme plis. Así mismo, si tenéis más información al respecto se agradecerá.
Manual Sony PSP escribió:This product includes RSA BSAFE Cryptographic software from RSA Security Inc. (Legal mumbo jumbo continues)

Traduccion: Este producto incluye Software Criptografico RSA BSAFE de RSA security Inc (el resto es jerga legal)

Como ves, leer el manual ayuda mucho ñ_ñ

De cualquier forma, como se habia mencionado la clave se encuentra implementada en 2 niveles: Software y Hardware, pero a fin de cuentas, es el HArdware el que valida los codigos (tiene un circuito de seguridad dedicado a esta tarea) Pero eso no le quita que siga siendo una clave RSA.
Y tienes razon, es una clave de 2048 bits (lo siento, fue algo que lei, pero que nunca comprobe U-_- )
Para perdonar mi error, aqui esta una liga de las primeras que se hicieron sobre este tema, hecho por los mismos dioses PSPeros de PS2dev ;)
http://forums.ps2dev.org/viewtopic.php?t=2020&sid=0c458d56b22810b7c3c55aeb06e1c7d8
Interesante. Ahora el tema sería ver cual de esas claves (si es que es alguna de esas, igual son para algún tipo de comunicación segura en red o incluso puede que lo del manual se refiera sólo a eso) es la que usa para el software. Se podría tratar de verificar cual es usándola para desencriptar los contenidos de algún juego/prog original y viendo si el resultado es consistente, siempre y cuando no tengamos más capas de encriptación por debajo como sugieren en el link que has puesto. En cuanto a romperla para obtener la clave privada, mucho me temo que lo único que podría tratar de hacer frente a semejante reto computacional sería un ataque distribuido masivo (que no estoy sugeriendo hacer) similar al intento que se hizo hace tiempo con la clave del C2 de los HDTV en Japón, y me parece que ni con esas.
¿Y la clave publica alguien la a sacado de la pequeñita?
Xenogears escribió:¿Y la clave publica alguien la a sacado de la pequeñita?


tienes un mp ;)
¿hay algun programa o modo para sacar la clave publica o si alguien la sabe? si ese es el caso que me la diga en un mensaje privado plis
Y no abria la posibilidad de que dicha firma se filtrase desde sony(porque desencriptarla parece ser imposible)?O de "trastear" en la psp(hardware) para que no busque la firma en los programas, y cargar asi lo que se quiera?

Edito:todos los desarroyadores de juegos de psp poseen dicha firma ¿no?
por el momento solo sony a sacado codigo firmado (los uddate) los desarrolladores te sueltn un UMD, y este no esta encriptado por que no hay grabadoras UMD (tendra otra proteccion supongo)

Y añado: filtrarse'???? la clave no anda tirada por las oficinas de sonhy al alcance de cualquiera, se juega mucho sony con esa clave asi qeu tendran acceso a ella las personas justas (si esque alguna persona puede aceder e ella fisicamente)
¿Pero weno hay algun modo de conseguirla?
¿y si es asi como hacerlo?
pkpacman está baneado por "spam"
oye tio... no sere grosero... pero olvidate de la dichosa firma.... NO HAY FORMA DE CONSEGUIRLA... y vete olvidando de la pirateria en la psp... porque si no tienes 1.5 o 2.0 ni puedes ni PODRAS ejecutar cosas... por que te crees que sony hace lo del firmware? nos tienen cojidos por los huevos.... asi q vete haciendo a la idea.... comprate juegos...
weno eso de no podras ejecutar cosas no se sabe, nunca se sabe como avanza la scene, kien sabe si mañana se descubre algo en la 2.50 y nos sirve
Segun una presentacion PPT que e visto por ahi dice que:

se presume que se requieren 60.000.000 de años de una batería coordinada de 1.000.000 de computadoras que operen a razón de 1.000.000 de multiplicaciones y divisiones por segundo con números de 610 dígitos decimales para deducir una sola clave privada RSA 2048-bits a partir de la pública, usando el algoritmo más eficiente conocido - SNFST


AKI tienes el PPT por si le quereis echar un vistazo, abla de las Técnicas criptográficas modernas para un mundo digital


SaLu2 :D

P.D: como no se filtre podemos alvidarnos de la clave privada (porque la publica ya se saco de un FW 1.0)


EDITO: si no hos funciona el enlace al PPT poned en Google RSA-2048 bits y la quita opcion es el PPT en cuestio.
y esto ke hablais de petar la firma,como se hace?(no tengo intencion de hacerlo XD,pero es curiosidad!)
lelinot escribió: y esto ke hablais de petar la firma,como se hace?(no tengo intencion de hacerlo ,pero es curiosidad!)


Pero aqui la gente se entera de algo????
en pocas palabras, que aun que todo el mundo se sincronice todos los ordenadores y se ponga a descodificarla, no daria tiempo puesto que cada minuto varia y ademas solo se repite cada 10.000 años la misma y ademas practicamente es indestructible.... no es asi??? (corregidme si me ekivoco).
Por este camino, la unica opcion que hay es, teniendo la clave publica, esperar que haya un agujero (en las consolas viejas) que permita leer el hardware tcpa (diseñado para que no se pueda), mediante un sniffer durante la comprobacion del ejecutable. A pelo una rsa de 2048, a pesar de los fallos conocidos en el algoritmo, es imposible, más, si eligieron una clave de las llamadas seguras. En todo caso, hacen falta unos cuantos matematicos y otros tantos informaticos dando animos para conseguir algo.
Leninot escribió:y esto ke hablais de petar la firma,como se hace?(no tengo intencion de hacerlo XD,pero es curiosidad!)

Si es un RSA, la clave pública se compondrá de dos números: n, e.

El número n es el grande de 2048 bits o los que sean. Este número es un semiprimo, resultante del producto de dos primos que llamaremos p y q (n = p * q) que normalmente serán cada uno de la mitad de bits que n.

El número e es el exponente que se utiliza para la encriptación con la clave pública y requiere ser relativamente primo (que no tengan divisores comunes) al phi de Euler del número n, que en este caso se define como phi = (p - 1) * (q - 1) o que si lo preferís es la cantidad de números relativamente primos a n menores que n.

Para encriptar un mensaje m en un texto cifrado c lo haríamos de la forma c = m^e mod n.

La clave privada RSA se compone de otro par de números: n, d. El número n aquí es el mismo que en anterior. En cambio, el número d se define como la multiplicativa inversa del número e módulo phi (ya se que esto puede ser difícil de entender, pero es que el RSA se basa en la aritmética modular...). Este cálculo se puede hacer rápidamente mediante el algoritmo extendido de Euclides si tenemos los valores de e y de phi.

Para desencriptar un mensaje cifrado c en el mensaje original m lo haríamos de la forma m = c^d mod n. También podríamos haber usado c = m^d mod n para cifrar y m = c^e mod n para descifrar logrando así una firma digital en vez de una encriptación (ya que para descifrarlo sólo hace falta el par público e, n y para cifrarlo el par privado d, n).

Vale, pero ¿cómo se obtiene la clave privada de la pública? Pues tenemos n y tenemos e. Podemos calcular d (lo que nos falta) si conseguimos phi, y phi lo podemos conseguir si factorizamos n en p y q. ¿Qué problema hay? Pues que n es un número realmente grande (de unos 616 ó 617 dígitos decimales) y factorizarlo resulta simplemente intratable desde el punto de vista computacional actual. Como ya decía Fr0Gt, factorizar el número n en sus dos primos p y q necesitaría millones de años de esfuerzo computacional para lograrse. De hecho, hay unos retos presentados por RSA Security que consisten en factorizar una serie de números n en sus factores primos y te pagan si lo consigues. Por si os interesa, los restos podéis encontrarlos aquí: The RSA Challenge Numbers. Sólo por el dinero que ofrecen y lo que parece costar que saquen uno podréis imaginaros que no es ninguna tontería romper un RSA. Es más, esos retos llevan años ya y todavía andan muy lejos de lograr romper, ni siquiera con un ataque distribuido y con años de cálculo con ordenadores muy potentes, un RSA de 2048 bits.

No obstante, y como curiosidad, existen un par de posibilidades que hacen que esto se tambalee. La primera de ellas es que no ha podido demostrarse, mediante la teoría de la complejidad, que exista o no un algoritmo capaz de resolver en tiempo polinómico (de forma más o menos tratable) el problema de la factorización de un número cualquiera. Eso significa que cabría la posibilidad, aunque al parecer bastante remota, de que alguien descubriese un algoritmo que fuese capaz de factorizar esos números en un tiempo razonable con ordenadores "convencionales".

La segunda posibilidad está relacionada con los llamados ordenadores cuánticos. La controversia aquí viene dada porque existe un algoritmo llamado el algoritmo de Shor que es capaz de factorizar números de gran tamaño en un tiempo razonable (posiblemente unos cuantos minutos en lugar de millones de años). El problema está en que se trata de un algoritmo cuántico y requiere de un ordenador cuántico con el doble de qubits que el número de bits del número a factorizar. En este caso se necesitaría un ordenador cuántico de 4096 qubits, pero me da que nadie de por aquí tiene ninguno. Además, para echarle más leña al fuego, hace poco leí que pretendían restringir en USA la exportación de este tipo de computadores por motivos de seguridad (y con razón).

Si a pesar de todo esto alguien todavía piensa que puede romper la clave y quiere perder el tiempo inútilmente, le diré que el algoritmo de factorización más rápido para números grandes a fecha de escribir este post es el llamado General number field sieve y que hay alguna que otra implementación opensource. No obstante, ni con esas lograréis algo.
27 respuestas