O que há de Novo?
Fórum Outer Space - O maior fórum de games do Brasil

Registre uma conta gratuita hoje para se tornar um membro! Uma vez conectado, você poderá participar neste site adicionando seus próprios tópicos e postagens, além de se conectar com outros membros por meio de sua própria caixa de entrada privada!

  • Anunciando os planos GOLD no Fórum Outer Space
    Visitante, agora você pode ajudar o Fórum Outer Space e receber alguns recursos exclusivos, incluindo navegação sem anúncios e dois temas exclusivos. Veja os detalhes aqui.


[PS3] - Explicação simplificada sobre o sistema de seguranca do CELL + [Hypervisor]

edivamgamer

Bam-bam-bam
Mensagens
148
Reações
131
Pontos
474
Bom pessoal, essa é uma traducao (meia boca^^) de um texto que lí em 2007, na época achei muito interessante ( e continuo achando) mas só agora tive coragem de traduzir...

É um texto feito pelo usuário Devnul do forum elotrolado.com braseado na documentacao oficial da ibm.

Link para o topico original: Tópico Original
Link para umas das fontes que o cara usou: FonteFonte

Até agora temos claro que nossa PS3 é como um hotel, com seus diversos quartos, seu pessoal de segurança, gerência etc. Y que uma vez estamos em um quarto não podemos sair dele.
Aprendemos também que o Firmware, o que faz é dar-nos mas comodidades dentro de nosso quarto (em particular) ou a estética da fachada do hotel (em geral), mas não pode trocar os guardas de segurança das portas nem os mafiosos que há dentro porque estes, vão por conta própria e não aceitam ordens de ninguém, exceto da própria máfia (CELL) .
Até agora havíamos visto a versão “Ladrão” onde tentávamos roubar no hotel e não havíamos conseguido, hoje, veremos a versão “Sou familiar do dono”.
Espero que resulte ameno os diálogos e não os vejam como uma diminuição de qualidade técnica do que explico, já que sempre He pensado que se pode rir e aprender ao mesmo tempo.
Parte 1: Instalando Linux (podemos carregar Backups!! Uhu!!) A grande mentira.
Casualmente conhecemos ontem pela noite uma loira impressionante, e esta madrugada vamos a um hotel para “Rematar o trabalho hehehehe! ”
Chegamos no Hall do hotel e a bela loira solta...

- Ola tudo bem, sou familiar do Diretor do hotel e quero um quarto
- Claro, como é seu nome? - pergunta o gerente -
- Fedora...
- Puts que nome feio..
- esculpa???
- Não nada, que agora que La vejo, ligarei para a direção e pergunto.
Triiiing triiiing...

- Diga? – Responde uma voz áspera –
- Senhor uma tal de Fedora diz que é um familiar seu e que quer uma quarto.
- Tenho tantos familiares que nem lembro o nome de todos... Você viu se ela tinha um pingüim tatuado no braço?
-Sim senhor.
-Bem, pois de lhe um quarto...
- Com algum privilégio senhor?
-............................
- Ola?
- A quanto tempo trabalha aqui filho?
- Entendo senhor, desculpe.

O gerente desliga o telefone, anota o nome da moça em seu livro e um empregado do hotel se aproxima para acompanha La até o elevador, enquanto nós tentamos ir com ela...

- Eh he ehe .. shshhshhs e você aonde pensa que vai?? – nos diz o gerente –
- Ele vem comigo – diz a loira –
- Sinto muito mas ele não pode, se ele quiser ir terá que se registrar, alem do mais, os quartos são individuais...
- Sou a filha do dono!!! Exijo que ...
- Não insista... – diz o mafioso que aparece por aí armado até os dentes –
Bem, nós cagamos todo, porem como moca ta mesmo com vontade de d... ela nos diz no ouvido.
- Não te preocupe, quando eu este no quarto , te abrirei uma porta na rua de trás e assim você poderá entrar. ;D

Depois disto nos saímos felizes do hotel, esperando que a tal porta se abra.
Enquanto isso, o funcionário do hotel e a moca sobem o elevador com um só botão, que leva precisamente ao andar e porta do quarto onde vai estar alojada a moça.

Ao chegar , entra no quarto ( um quarto sem janelas e com uma porta que só pode ser aberta desde fora) e o funcionário explica o que se pode fazer...
- Aqui tem a cama, a TV, o banheiro blablablabla... Se necessitar algo me liga.
Com que o funcionário desaparece detrás da porta, deixando ela trancada.
Ela como tem um gosto muito pessoal começa a decorar o quarto a seu gosto, uma cortina aqui, uma almofada ali etc. Se tomba na cama... e quer ver a TV... Pega o telefone e liga para o funcionário o senhor Hypervisor.

- Triiiiiiing...
- Hypervisor, diga-me?
- Ola, Estou vendo a TV só que já estou enjoada desse canal, pode mudar o canal???
- Agora mesmo subo.

Imediatamente se apresenta no quarto y Le entrega um controle remoto com 10 botões (de 0 a 9) para poder mudar de canal quando queira.
Sai do quarto.... E quando se começa a mudar de canal, nesse momento diz “ c***lho tinha me esquecido” assim que tira do bolso um kit de “Criador de portas traseiras” e em um “plis” vemos nós que estamos aí em baixo como sair da parede uma porta, a qual abrimos e entramos, e justo no elevador que só sobe....
PLING!!!! Se abre uma comporta em uma parede e voltamos a entrar ela se fecha.

- Nossa quanto tempo sem te ver amorzinho [kgay] – dizemos –
- Sim :D O que achou da entrada?
- Magistral, digna de Troya[kgay] Vamos ao bar tomar algo?
-errrrrrr Não podemos.
-Por que?
-Porque não se pode sair deste quarto.
- por...?
- Porque não se pode sair do quarto.
- Não foda!
- Cara si você não quiser não fazemos nada....
- Não não, digo... Como você pode criar uma entrada também pode criar uma saida daqui não?
- Não, na verdade nem sei se existe outros quartos fora daqui e nem onde estão...
-put* que pariu!!!
- Tranqüilo, temos TV e controle remoto... estaremos distraídos.
Então nos que já somos astutos e vamos mais preparados que MacGyver se acende uma luz no coco e dizemos...
-Ei :smile Quantos canais tem na TV???
- 10 por?
- kakakakaka.... Buffer OverFlow!!!
- Que???

Já te explico… Pegamos nosso controle remoto universal, devidamente Escondido dentro de nossa manga e apontamos para a tv e digitamos 666 porque sabemos o que vai ocorrer.
A tv esta preparada para receber um só digito, e le enviamos 3, ela fará uma confusão e com sorte… SEREMOS LIVRES!!!

Assim que fazemos isso… 666 e no mesmo instante… o o encarregado de mudar de canal quando le chega o sinal… Se põe histérico!
-MEU DEUS!!! MEU DEUSSS!!!um 6 + outro 6 + outro 6 o queè isso!!!? Eu só conheço o 6! Como.. Meu deus meu deus o que eu faço agora, o que acontece o que é isso!!! Me dê alguma coisa que estou desesperado!!!

-PLAAAAAAASSSSSS (bofetada) – Do Hypervisor – PORQUE NÃO CALA A BOCA!?
- VEJA SÓ O QUE FIZERAM COMIGO!!!!
-Bom… Você não pode com isso?? – diz o Hypervisor –
- Não… Não posso!!!
-Então se mata!!!
- O que você está dizendo??? Sou cristão, não posso fazer isso.
-Pois então eu te matarei!
-HOHOHO não pode me matar porque senão nenhum hospede poderá ver a T….
-PUM PUM PUM….Tenho operadores de tv individuais para cada quarto, não me encha o saco…
Ato seguido, em nossa tv aparece o Hypervisor, com uma cara de riso e diz…
- Arda no fogo do inferno otários…
- Um momento!!!
- eh ehe espera espera nãaaaaaooonononoooo!!!!!!!!!!!!!

FLASHHHHHHHHHHHHHHHHHHHHH!!! Todo o quarto em chamas………. Se queima tudo.

Afortunadamente, temos uma capa anti fogo, y seguimos vivos, podemos redecorar de novo o quarto etc. Porem está claro que tudo que façamos em nosso quarto só terá efeito nele, não podemos sair daí.

Desde nosso quarto não podemos acessar a suite do diretor do hotel. Ei…
Todo mundo tem um preço, será que não poderíamos subornar o Hypervisor??? Hum.. É uma lastima que a máfia está acima do Hypervisor, porque mesmo que pudéssemos usa-lo, estes o matariam e criariam outro, assim que… Estamos fudidos[kzangado].

Desde nosso quarto, podemos ver 10 canais, mas são somente os canais que a direção quer que vejamos, já que pode haver 200 canais no ar.
No frigobar só tem Coca Colas, que quando se acaba pedimos para o Hypervisor repor, mas não pode pedir outra coisa porque sequer sabe que existe, e ainda pior se você tentar e errar o Hypervisor olharia para vc e faria o mesmo que fez com o operador de tv. PLASSSS (bofetada) porque não cala a boca!!! PUM PUM PUM.

Desde nosso quarto só existe um universo, nosso universo. Como si a uma criança pequena le das um desenho da via láctea e le diz, “ESTO ES EL UNIVERSO” e a criança que é muito boa em astrofísica te diz”bom, isto é a via láctea, há muito mais coisa” e te respondem, pois para ti já não há mais, porque destruirão o resto do universo.

Definitivamente, Linux se executa sobre una emulação da realidade (emulação capada obviamente) e se fazer de Scolfield como em Prison Break, dentro do Linux te leva a um buraco negro sem saída.
 

Skynightfire

Ei mãe, 500 pontos!
Mensagens
14.658
Reações
2.935
Pontos
524
:-D:-D:-D:-D:-D

Ótima explicação(maior viagem :-D),mas eu gostei mesmo.
 

k6666

Mil pontos, LOL!
Mensagens
13.972
Reações
7.691
Pontos
1.194
c***lho, analogia bizarra, mas acho que flagrei o que quiseram dizer...

Até é possível injetar um código não autorizado a ser executado dentro da memória, mas quando é passada a instrução para o Hypervisor, se ele não conhece a instrução, ele limpa tudo e manda tudo pra put* que pariu.

Isso em 2007... não sabemos dos avanços atuais, se é que houve algum.
 

edivamgamer

Bam-bam-bam
Mensagens
148
Reações
131
Pontos
474
k6666;4687371 disse:
c***lho, analogia bizarra, mas acho que flagrei o que quiseram dizer...

Até é possível injetar um código não autorizado a ser executado dentro da memória, mas quando é passada a instrução para o Hypervisor, se ele não conhece a instrução, ele limpa tudo e manda tudo pra put* que pariu.

Isso em 2007... não sabemos dos avanços atuais, se é que houve algum.

É mais ou menos isso mesmo cara, a seguranca do ps3 foi criada pela IBM e está no cell, ou seja, nao adianta muito modificar leitor etc..

Até mesmo para criar um chip é complicadissimo, para nao dizer impossível!

No spoiler deixo uma resposta do Devnul para um usuario que perguntou se seria possivel criar um chip para ler os dados desencriptado dentro do Cell.

Para ver el contenido de los datos desencriptados? No ayudaria mucho.

Imagina que el codigo de la NAND es el siguiente:

cojo_un_numero(x)
cojo_un_numero(y)
hago_operacion(x,y)
muestro_resultado(z)

y encriptado, es

* K/JNM(JA(=KS(!
* 0BNHMAVSIKIY

B//&AHNSG&((
NMS??=A/"%(1

(* notese que las dos primeras funciones se llaman igual, sin embargo se codifican diferente)

Si colocasemos un/unos chip/s sobre los cells para ver los datos, veriamos (por poner un ejemplo)

4
5
61
61

Sabemos que coje el 4 hace una operacion con el 5 y saca el 61.

Si eres rapido en mates, te daras cuenta que no hay ninguna operacion matematica con estos dos enteros, que de 61. Por lo que no sabemos que operacion ha usado.

Bien, puedes pensar... "en algun momento habra un resultado que si sepa como conseguirlo a partir de 2 enteros....y entonces ya sabre que operacion es..." Bueno, eso es un problemon mas que una solucion. Porque? La culpa la tiene el señor Fermat y Euler.

De todos modos, saberlos interesa mas para temas criptograficos que no para el contenido intrinseco del programa. Porque? Veamos un ejemplo:

(los mas avanzados,reconocereis rapido este sistema)

1. Encontrar dos grandes números primos, p y q (secretos), y calcular el número n (publico) mediante su producto, n=p*q.

2. Encontrar la clave de descifrado constituida por un gran número entero impar, d (secreto), que es primo con el número F(n) (secreto), obtenido mediante F(n)=(p-1)*(q-1). Siendo F(n) la función de Euler.

3. Calcular el entero e (publico) tal que 1 ó e ó F(n), mediante la formula: e*d-1(mod F(n)).

4. Hacer publica la clave de cifrado (e,n).

5. Para cifrar un texto, es necesario previamente codificar el texto en un sistema numérico, bien decimal o bien binario, y dividir en bloques Mi de tamaño j o j-1 de forma que, según sea el alfabeto usado el decimal o el binario cumpla en cada caso: 10^(j-1) < n < 10^j o 2^(j-1) < n < 2^j. Cuando se toma como tamaño j, el descifrado del texto puede no ser único, por tanto esta elección se hace solo cuando la unicidad del descifrado no es importante.

6. Cifrar cada bloque Mi transformándolo en un nuevo bloque de números Ci de acuerdo con la expresión: Ci-Mi^e(mod n).

7. Para descifrar el bloque Ci, se usa la clave privada d según la expresión: Mi-Ci^d(mod n).

Analicemos la base numérica que hace que si M se cifra en C entonces C se descifra en M. Con las claves publica y privada (e,n) y d descritas, dado cualquier mensaje original M representado por un entero entre 0 y n-1 se tiene que, efectivamente, si C-M^e(mod n), entonces C^d-M(mod n).

Si se considera el mensaje descifrado D-C^d(mod n) como C-M^e(mod n), se tiene que D-(M^e+kn)^d(mod n), siendo k algún entero no negativo. Si se desarrolla el binomio, se obtiene que D-M^(e*d)(mod n), pero dado que e*d-1(mod F(n)), se tiene que D-M^[t*(p-1)*(q-1)+1](mod n) para algún entero t no negativo. Como p es primo y p-1-0(mod F(p)), la identidad de Euler-Fermat confirma que M^(p-1)-1(mod p), luego existe algún entero r tal que M^(p-1)=r*p+1 y por tanto M^[t*(p-1)*(q-1)+1]=[(r*p+1)^(t*(q-1))]*M- M(mod p). De la misma forma, se llega a que M^[t*(p-1)*(q-1)+1]-M(mod q). A partir de ambas ecuaciones congruenciales y gracias al corolario de la identidad de Euler-Fermat que afirma que: "Para dos primos distintos cualesquiera p y q y cualquier par de enteros positivos x y u, si x^u-x(mod p) y x^u-x(mod q), entonces x^u-x(mod p*q)", se llega finalmente a la identidad M^[t*(p-1)*(q-1)+1]-M(mod p*q).

Los procesos de cifrado y descifrado pueden ser implementados mediante algunos algoritmos conocidos.

Las dos principales dificultades en la implementación del RSA (facil eh? ;) ) son:

1. Potencias modulares.
2. Búsqueda de números primos.

Para aumentar las dificultades, la seguridad del RSA estriba en que los primos p y q elegidos han de ser muy grandes. Para encontrar los grandes primos p y q se pueden utilizar varios algoritmos, como el de Solovay-Strassen, y el de Lehman y Peralta, que sirven para comprobar la primalidad.

En el caso del RSA puede encontrarse el entero d, primo con F(n)=(p-1)*(q-1), tomando simplemente un número primo mayor que max{p,q}.

Para calcular el entero e tal que e*d*-1(mod F(n)), se puede utiliza el algoritmo euclídeo por ser d primo con F(n).

Por ultimo, las operaciones de cifrado y descifrado requieren el calculo de potencias modulares, lo que se puede llevar a cabo en tiempo polinomial. Exactamente son necesarias 2*(log2 (n)) multiplicaciones modulares, de manera que, por ejemplo, para el calculo de 2^18=(((22) 2) 2) 2 * (22) son necesarias 5 multiplicaciones modulares.


Y todo esto para que ? (modificando un poco el tercio) Pues para lo que sugerian anteriormente con la ingenieria inversa,cosa que desde YA queda totalmente descartada. Porque??? Sigamos avanzando para verlo..


Para analizar la seguridad del sistema, se supone que el criptoanalista tiene una cantidad ilimitada de pares (M,C) de mensajes originales y sus correspondientes criptogramas. Las posibles maneras que tiene de atacar el sistema son las siguientes:

1. Factorizar n.
2. Calcular F(n).
3. Ataque por iteración.
4. Ataque de Blakley y Borosh.

Vamos a analizar estos posibles ataques:

1.- Factorizar n:

De esta forma obtiene el número F(n)=(p-1)*(q-1), y con el la clave privada d, puesto que e es publica y se cumple: e*d-1(mod F(n)).

Al ser n el producto de solo dos números primos, un algoritmo de factorización requiere como máximo 'n pasos, pues uno de los dos factores es necesariamente un primo menor que 'n. Sin embargo, si n fuera el producto de N>2 primos, un algoritmo de factorización necesitaría como máximo n^(1/N) pasos, que es una cota menor que 'n, por lo que se concluye que es adecuada la obtención de n como producto de solo dos números primos.

Con respecto al estudio del problema de la factorización, hay que mencionar al precursor de la moderna factorización, el algoritmo de fracciones continuas de Morrison-Brillhart, ya que es uno de los más rápidos. Sin embargo, los dos algoritmos de factorización que resultan más prácticos para grandes enteros corresponden al de factorización con curvas elípticas de Hendrik Lenstra y al de factorización con filtro cuadrático de Carl Pomerance. Ambos algoritmos convierten el problema de la factorización de un entero n en el problema de encontrar soluciones no triviales ('x <> y(mod n)' y 'x <> -y(mod n)') de la ecuación: x3-y3 (mod n). Si se supone que ni (x+y) ni (x-y) son múltiplos de n enteros, se deduce que el m.c.d.(x+y,n) o bien el m.c.d.(x-y,n) es con seguridad un factor no trivial de n, por lo que se resuelve el problema de la factorización.

Por ejemplo, si n=97343, entonces la ecuación x2-y2 (mod 97343) es fácilmente resoluble por ser los factores de n dos números primos muy cercanos. Como 3122-1(mod 97343) y ni 313 ni 311 son múltiplos de 97343, se concluye que 313 y 311 son los factores de n.

2.- Calcular F(n):

Como se ve a continuación, esta manera es equivalente a la anterior. Si se tiene F(n), dado que p+q=n-F(n)+1 y a partir de la suma se puede calcular (p-q) 2 por coincidir con (p-q) 2-4*n, luego se consigue la factorización mediante las formulas q=[(p+q)-(p-q)]/2 y p=[(p+q)+(p-q)]/2.

3.- Ataque por iteración:

Si un enemigo conoce (n,e,C), entonces puede generar la secuencia: C1-C^e(mod n), ..., Ci-[C(i-1)]^e(mod n), con lo que si existe algún Cj tal que C=Cj se deduce que el mensaje buscado es M=C(j-1) pues [C(j-1)]^e=Cj=C. Ahora bien, en cuanto la igualdad Cj=C se cumple solo para un valor de j demasiado grande, este ataque se vuelve impracticable. Con respecto a esto, Rivest demostró que si los enteros p-1 y q-1 contienen factores primos grandes, la probabilidad de éxito mediante este procedimiento es casi nula para grandes valores de n.

4.- Ataque de Blakley y Borosh:

El sistema RSA, además, tiene una característica muy peculiar, advertida por Blakley y Borosh, y es que no siempre esconde el mensaje. A continuación vemos un ejemplo que lo muestra.

Si e=17, n=35 y los mensajes a cifrar son M1=6 y M2=7, entonces se obtiene que 6^17-6(mod 35) y 7^17-7(mod 35). Una situación más peligrosa para el sistema aparece, por ejemplo, con los valores p=97 q=109 y e=865, ya que el criptosistema resultante no esconde ningún mensaje, pues M^865-M(mod 97*109)

En general, lo ocurrido en el ultimo ejemplo ocurre siempre que e-1 es múltiplo de p-1 y q-1, pues en ese caso M^e-M(mod p*q). Además, se tiene que para cualquier elección de n=p*q siempre existen al menos 9 mensajes M que no se cifran en realidad, ya que verifican la ecuación M^e-M(mod n). De esos 9 mensajes hay tres fijos, que son M perteneciente a {0,1,-1}. Para hacer que el sistema RSA sea resistente contra ataques basados en este hecho, es conveniente elegir como claves privadas números primos de la forma p=2*p'+1, donde p' es un primo impar.

Para la selección de los parámetros del sistema el usuario debe comprobar las siguientes condiciones para intentar evitar los ataques mencionados:

* Los números primos p y q deben tener una diferencia grande (ataque 1).
* Los números primos p y q deben ser del orden de 100 dígitos (ataque 2).
* Los enteros (p-1) y (q-1) deben contener grandes factores primos (ataque 3).
* Los números primos p y q deben elegirse de manera que p=2*p'+1 y q=2*q'+1 con p' y q' números primos impares (ataque 4).

Los primos p y q del RSA deben ser de la forma x=2*x'+1 (siendo x' un número primo impar) tal que x-1 tiene grandes factores primos, con aproximadamente 100 dígitos y de forma que p-q sea grandes.

No obstante, es lógico pensar que a medida que se profundiza en la investigación se añadirán y descubrirán nuevas propiedades de los parámetros que deban verificar para que el sistema resultante se fortalezca.

Uno de los más recientes ataques al RSA fue realizado por Wiener. Llevo a cabo un criptoanalisis en tiempo polinomial de un sistema RSA con claves privadas pequeñas. Para ello, utilizo un algoritmo que representa los números racionales como fracciones continuas finitas.

De todo lo anterior se concluye que para que la seguridad del sistema RSA quede perfectamente salvaguardada es necesario escoger cuidadosamente las claves a utilizar.

Finalmente se presentan algunos resultados que versan sobre la seguridad del sistema.

Un algoritmo que calcule d se puede convertir en un algoritmo probabilístico que factorice n.

Si el RSA se aplica en un entorno en el que el modulo n y los exponentes de cifrado y descifrado d son distribuidos por una agencia de manera que esta proporciona un modulo n común a todos los usuarios, los exponentes de cifrado de cada usuario eA, eB, ... y distribuye entre los usuarios las claves privadas dA, dB, ..., pero en todo caso mantiene para si los números p y q, entonces cualquier usuario puede determinar en tiempo cuadrático determinístico la clave de descifrado secreta de otro usuario.

Si dos usuarios usan el mismo modulo en un sistema RSA y lo saben, entonces cada usuario puede descifrar los criptogramas enviados al otro.

Luego queda claro que esas condiciones no resultan muy propicias para la seguridad de las comunicaciones.

A pesar de las ventajas evidentes de este esquema frente a los sistemas de clave secreta, hay que subrayar que en la actualidad la principal desventaja del RSA estriba en que es mucho más lento que el DES y que los cifrados en flujo. Como cifras ilustrativas, se puede señalar que el DES trabaja a unos 20 megabits por segundo, mientras que el RSA funciona a una velocidad 1000 veces menor, y aunque la investigación para acelerar el proceso es intensa, es de esperar que esta proporción se mantenga, ya que también se realiza para los cifrados simétricos.

El punto más débil del RSA es su velocidad (comparándola con la de otros cifrados, como el cifrado en flujo).


******************************************************
*Y todo esto a donde nos lleva ???? A LA PUÑETERA FIRMA DIGITAL :)*
******************************************************

El desarrollo de las telecomunicaciones en estos últimos años ha creado toda una variedad de nuevas necesidades. Por ejemplo, dado que en la mayoría de las operaciones bancarias es necesario firmar los documentos, con el uso de los ordenadores se requiere un nuevo planteamiento, donde una firma digital sustituye a la firma manual y cumple las mismas propiedades que ésta. Se puede distinguir la firma:

* implícita (contenida dentro del texto) de la explícita (añadida al texto como una marca inseparable).
* privada (legible sólo para quien comparte cierto secreto con el emisor) de la pública (legible para todo el mundo).

La firma digital debe ser:

* única, pudiéndola generar solamente el usuario legítimo.
* no falsificable, el intento de falsificación debe llevar asociada la resolución de un problema numérico intratable.
* fácil de autenticar, pudiendo cualquier receptor establecer su autentidad aún después de mucho tiempo.
* irrevocable, el autor de una firma no puede negar su autoría.
* barata y fácil de generar.

Otra característica que han de tener las firmas digitales es que deben depender tanto del mensaje como del autor. Esto debe ser así porque en otro caso el receptor podría modificar el mensaje y mantener la firma, produciéndose así un fraude (en el ejemplo de la biblioteca, el libro en arabe que esta en un dialecto, lo modificabamos en ese dialecto yluego resulta que no es factible, ya que no hemos usado el lenguaje original)

Si el emisor A envía un mensaje firmado digitalmente al receptor B, este último no sólo debe convencerse de que el mensaje fue firmado por el primero, sino que, además, debe ser capaz de demostrar a un juez que A realmente firmó ese mensaje. Esta noción fue ideada por Diffie y Hellman en 1976. La firma digital y el correo electrónico ofrecen conjuntamente sustanciosas ventajas, una de ellas es hacer posible el correo certificado y la firma electrónica de contratos.

La idea principal de la firma digital es que solamente el emisor la pueda producir y además se pueda demostrar que, efectivamente, es él quien la produce. Representa por tanto, un control más fuerte que la autenticación.

Considérese un sistema de clave pública donde Mk y Ck denotan respectivamente, a los espacios de mensajes originales y cifrados asociados a una clave k.

Un sistema de clave pública ofrece la posibilidad de ser usado para firmas digitales siempre que para k perteneciente a K; Mk=Ck y para m perteneciente a M; Ek(Dk(m))=m.

Denotando la clave escogida por el usuario A como a, se tiene que si el criptosistema es seguro, entonces sólo A puede calcular Da, pero cualquiera puede calcular Ea de forma eficiente.

Considérese un mensaje m perteneciente a Ma y s=Da(m). Cualquier usuario puede calcular Ea(s) y comprobar que coincide con m, pero, sin embargo, sólo A puede deducir el valor de s para el que Ea(s)=m. En este sentido, s puede ser considerado como la firma de A para el mensaje m. Si B muestra el mensaje s y su cifrado Ea(s) a un juez, éste debe de convencerse de que ningún otro m s que A pudo haber firmado ese documento con Ea(s). En otras palabras, los algoritmos de descifrado y de cifrado pueden verse, respectivamente, como un algoritmo de firma digital y su correspondiente algoritmo de verificación.

La actual velocidad de los sistemas de clave pública recomienda su utilización para generar firmas digitales cortas y separadas del texto (firmas explícitas).

Si además de capacidad de firma digital se desea secreto, entonces la firma digital puede ser utilizada conjuntamente con un cifrado de clave pública. Si el usuario A quiere enviar un mensaje secreto firmado a un usuario B, puede usar el algoritmo secreto de firma digital Da y el algoritmo público de verificación Eb, produciendo c=Eb(Da(m)). Si envía este mensaje c al usuario B a través de un canal inseguro, entonces B puede calcular la firma de A mediante s=Db(c) y de ahí recuperar el mensaje claro m=Ea(s). Esto supone que en el caso de que hubiera más de un posible emisor en el encabezado del mensaje debe decir claramente que el mensaje viene de A para que B pueda saber qué algoritmo de verificación debe aplicar. Es más, si B guarda el mensaje s, llegado el momento podrá probar ante un juez que A le envió el mensaje m, tal y como se explicó previamente.

Hay que tener cuidado cuando se afirma que el conocimiento por parte de B del valor de una firma s tal que Ea(s)=m tiene que ser considerada como una demostración de que A firmó m, ya que B podría elegir un valor s aleatorio, calcular m=Ea(s) y luego argumentar que A envió m, aunque no tenga sentido. Las cosas empeoran si la proporción de mensajes con significado es alta, porque en este caso B podría escoger varios valores de s aleatoriamente hasta toparse con uno para el que Ea(s) tenga significado. Por esta razón, es recomendable alguna forma normalizada para las firmas digitales, y que se acepte s como firma del mensaje m sólo si se tiene que m=Ea(s) y que m está en forma normalizada. Desafortunadamente, todavía no está claro cual sería la forma normalizada recomendable para utilizar con el sistema RSA.

Si se utiliza el RSA para conseguir secreto y como firma digital, entonces es preferible que cada ususario use claves distintas para cada uno de los dos propósitos. De esta forma, cada usuario tendría asignada una clave en el directorio público de claves de cifrado y otra distinta en el directorio público de firma digitales. Esta separación es útil para dos propósitos. En primer lugar, ayuda a evitar el problema que surge cuando el módulo del emisor es mayor que el del receptor. En segundo lugar dado que el RSA es débil frente a algunos ataques con texto escogido, tales ataques pueden verse facilitados si se utiliza la misma clave para ambos fines, y en consecuencia es preferible evitarlo.

El criptosistema RSA presenta algunos inconvenientes para las firmas digitales parecidos a los que presentaba como sistema de cifrado. En particular, no se sabe a ciencia cierta si es tan difícil de romper como la factorización de grandes enteros. Incluso aunque así fuera, dados un mensaje original escogido m y la clave de cifrado de otro usuario (e,n), calcular la firma digital s tal que m - s^e(mod n) puede ser mucho más fácil si se tiene, además, (s',m'), donde s' es la firma digital del usuario legítimo para un mensaje m' muy parecido al mensaje m. En otras palabras, podría resultar fácil falsificar firmas digitales para algún mensaje dado después de haber visto las firmas digitales auténticas de varios mensaje parecidos.

******************************************************
Pues bien el RSA para la PS3 es como un puzzle de dificultad para
un niño de 4 años
******************************************************

Es decir, que se lo pule,por lo tanto, nos estamos enfrentando a una encriptacion QUE ES (y aqui me quedo sin palabras porque decir que es "relamente jodida" me estaria quedando muy muy corto)


PD: yo prefiero explicarlo a lo "cutre" con mis ejemplillos, porque sino,para entender esto.. hay que tener una carrera,hecha y derecha en mates,telecos o informatica.

(editado) corrigiendo y añadiendo algunas modificaciones
 

NUD3

Ei mãe, 500 pontos!
Mensagens
18.977
Reações
10.242
Pontos
739
pra quem curte esse "papo", segue a visão de um outro "dev" desse meio q tenta hackear o PS3:

resumo -->

- ele diz q ficou impressionado com o nivel de proteção do PS3, tanto a nivel de hardware qto a nivel de firmware

- o kra basicamente fala q o sistema de "proteção" nivel baico do PS3, ao contrario do q mtos pensam, NÃO é um sistema hipervisor, mas sim um "Super Administrador de Hardware", sem nome conhecido

- tanto o XMB qto o otheros (Linux), rodam dentro de um ambiente virtualizado, controlado por esse Administrador

- existem diversas condições de segurança no sistema, e qquer tentativa de violação (mesmo dentro do "otherOS") dispara um "crash" q causa YLoD, mas nesse caso não mata o sistema, ele reinicia normalmente depois :P

completo:

Video: PS3 System Crash During Firmware Investigation

Hello to all members. A week ago I found very useful information of what kind of software (firmware) is inside this powerful box PS3, and I was shocked by the level of protection and level of firmware.

XMB is running in virtualized space (other os too) with conditions that controlled by "Super Hardware Administrator"-its not real name, (there is no Hypervisor like all of you like to say, it has something like that but, the system name is other, we have a deal with strong coded engineered system)

There is so much conditions in the firmware, that $ony and some other good companies create for it, that you even can`t imagine. Under other os I tried too run some other code of software that tries to load some stuff and first results like crashing system in to yellow light and then to blinking red I gained, my ps3 is working fine after that.

[youtube]IreO1lDsUAg[/youtube]


Now I`m waiting for a 250gb hdd to install RadHat or Suse (i don't decide yet wich is better for my investigation but both are good) and after that i maybe will have much more information about a system, but now i know a lot about it. I found useful information about what kind of software is inside, how information crypto working (about every 64k point on hdd and how this data crypto is made and why)

Maybe latter I will found a way to dump a firmware, but now I only gathering information and reading a lot of special literature. But even now I can say that downgrade of firmware will be impossible I think, because the original firmware don`t support downgrade and if it does its only for fixing and applying patches to the system. The another big problem is the limited ram (only 256) for that kind of system is very low and debugging in take much more time.

And another very interesting thing is that the original firmware has a daemon that send all information about every error on the firmware to the servers of the company. (with "original firmware" I mean the firmware that is very similar to the $ony Ps3) Tomorrow I will post a test file.

PS.
Sorry for my english

thumb.php

fonte: http://www.ps3news.com/forums/ps3-h...ash-during-firmware-investigation-106010.html
 


Topo Fundo