Newsgroup: it.comp.www.php
Titolo: Autenticita' dei dati

Mi ritrovo a scrivere la gestione delle classifiche di un gioco (il
tutto sotto ambiente linux, con php+mysql).
Io, utente root della macchina, nonche' gestore del sito, vorrei poter
dimostrare l'autenticita' delle classifiche, cioe' fare in modo che
*neanche io* possa intervenire per falsare le classifiche.
Direi che potrei fare intervenire una seconda persona che garantira'
sulla autenticita' dei risultati: a questa persona farei scegliere e
custodire una password che non devo conoscere.
Si', molto bello a parole, ma nei fatti? Che meccanismo potrei
costruire? Le pagine php devono scrivere i risultati nelle tabelle
relative alle classifiche, quindi, in un qualche modo, gli script
dovrebbero avere questa password. Come fare in modo che gli script la
abbiano e io no?
Mah.
Buttha
-- 
* Per rispondere in email rimuovere la prima i dall'indirizzo
* L'età più pericolosa è il periodo tra la nascita e la morte.
  (Elgozy)

 ha scritto nel messaggio
news:fc0099...@deeptought.localdomain...


 mentre un nano di colore ti flagella le natiche con rami di ortica
Suvvia, non siate cosi' pessimisti. 
Facciamo cosi':
io trovo l'idea per conto mio, mentre voi giocate con il nano.
Idea:
pgp ovviamente, nella sua gpg/incarnazione.
Creo una chiave e faccio scegliere la passphrase al "garante" del gioco.
Dopodiche' faccio firmare la pagina che registra i risultati al
"garante", e piazzo il file con la firma assieme a tutte le altre pagine
php.
Ogni qualvolta la mia pagina php vorra' registrare un risultato nel
database, passera' questo risultato ad una cgi scritta ad hoc, che gira
sulla stessa macchina ed ha accesso ai file del sito.
Cosa fa questa cgi?
Controlla l'HTTP-REFERER e verifica la firma di quella pagina, cosi' mi
assicuro che la cgi possa essere invocata soltanto dalla pagina
autorizzata.
Fatta la verifica, firma un sottoinsieme dei dati passati e registra la
firma assieme agli altri dati, in mysql.
Potro', cosi', a giochi terminati, validare i dati della classifica
tramite verifica delle firme.
Il problema che resta aperto e': la cgi deve avere la passhprase della
chiave privata pgp. Non posso farla chiedere in input, perche' e' una
cgi, quindi non e' un programma che continua a girare e che puo',
tenere memorizzata la passphrase.
Ergo, dovro' metterla nel sorgente della cgi.
Come proteggerla?
Ci pensero'.
hola
Buttha
-- 
* Per rispondere in email rimuovere la prima i dall'indirizzo
* C'e' un giorno per seminare e un giorno per raccogliere... 
  giovedi' andrebbe  benissimo... (Corrado Guzzanti)

*neanche io* possa intervenire per falsare le classifiche.
Non puoi. Nella piu' rosea delle ipotesi, nulla vieta che tu abbia sul
sito un database blindato, sicurissimo, certificato e puro come l'aria
di Elysia... eppero' tu legga i dati da un altro database :-)
Puoi fare *validare* le classifiche, volta volta, con firma digitale a
una terza persona.
Leonardo
-- 
".signature": bad command or file name

 ha scritto nel messaggio
news:mi9299...@deeptought.localdomain...


 essere un utente, no? Poi dipende tutto dal sistema nel suo insieme.
Non si tratta di votazioni, ma di un gioco che mettera' in palio dei
soldi. E' ovvio che io non giochero' mai, ma nulla mi impedirebbe di
andare da un mio amico, in bar, e chiedergli di iscriversi...
ciao
Buttha
-- 
* Per rispondere in email rimuovere la prima i dall'indirizzo
* Paperino e' felice perche' si fa le paperine, Topolino e' felice
  perche' si fa le topoline, Pippo e' triste.