A Ovest Di Paperino

Welcome to the dark side.

Security by Sony

Random Number
(fonte)

Come funziona il meccanismo di protezione dei videogame per console? Abbastanza semplice:

  • il supporto fisico è protetto in qualche modo segreto (buco laser, disco scritto al contrario, ecc.) ed il processo di stampa dei supporti gestito in toto dal produttore di console
  • l’applicazione controlla che stia girando da supporto originale invocando una API (es. GetMediaType() )
  • l’applicazione viene poi firmata con una chiave privata conosciuta solo al produttore di console.
  • il firmware della console si incarica di far girare solo codice firmato, non importa quale sia il supporto. Il controllo del supporto viene fatto dal codice stesso

Se si potesse rimuovere il codice che controlla il tipo di supporto dal file contenente l’applicazione/gioco, si potrebbe creare una copia pirata su supporto fisico non protetto (CD-R, DVD-R). Ma la console si rifiuterebbe di far partire tale copia in quanto la firma digiatale non sarebbe più valida.

Se si conoscesse la chiave privata usata per firmare l’applicazione, basterebbe rimuovere il codice che gestisce la protezione e rifirmarla.

L’operazione è alquanto complicata, in passato si sono usati algoritmi di forza bruta senza successo, neppure con sforzo distribuito. Però se l’algoritmo di criptazione prevede la generazione di un numero casuale e si usa la versione di cui sopra dell’algoritmo, forse recuperare la chiave privata non è così tanto difficile; ed infatti nel caso della PS3 è proprio quello che son riusciti a fare. D’ora in poi è perciò possibile far girare giochi pirata senza neppure il bisogno di modificare l’hardware della console, un grosso passo avanti rispetto a soluzioni avveniristiche possibili con la XBOX v. 1.

Purtroppo credo che da questo inghippo non si possa uscire: la chiave privata non si può cambiare. Se lo facessero renderebbero invalide tutte le console già vendute o sobbarcarsi le spese di sostituzione.

-quack

P.S. la storia del baco di IE9 sta avendo lati abbastanza grotteschi. Conoscendo il personaggio MSRC coinvolto, i miei sensi di papero mi dicono che ci siano probabilità che si tratti di negligenza.