Alcuni di voi si saranno accorti che ho creato un nuovo repository su github chiamato «OpenProtocol-phpHashAuth» e vorrei parlarvi un pò di questa mia idea…

Studiano oAuth nello sviluppo di TwitCrusader di cui ho implementato la maggior parte di queste funzioni ho capito un pò come funziona questo protocollo molto interessante ed ho deciso di crearne uno. oAuth usa le funzioni GET & POST per trasmettere le autorizzazioni necessarie ed ottenere un header di risposta, il mio è basato solo su chiamate GET che trovo alquanto migliori da implementare anche se a livello di sicurezza sono meno efficienti visto che nell’url vengono passati gli authcode che tratterò in seguito. La mia idea è semplice:

Ogni piattaforma web ha questi dati:
• Username
• Password
Quello che voglio è generare due AUTHCODE tramite username e password in questo modo:
Authcode di scrittura: sha1(username-sha1(password));
Authcode di lettura: sha1(username+sha1(password));

Come molti sapranno basta un simbolo diverso (in questo caso +/- che lo sha1 è completamente diverso) e visto che se qualcuno ti ruba la password di un sito o ti ruba gli authcode ha le stesse credenziali, infatti su twitter se ti rubano gli authcode che vengono generati con l’inserimento del PIN o ti rubano la password possono fare esattamente le stesse cose: ecco perchè uso l’hash sha1 della password per generare gli hash-authcode. In caso di furto farò resettare tutto (come dovrebbe essere).

Questa parte del progetto è dedicata alla realizzazione di API per un sitoweb-mobile di incontri online che ho in mente (anche se ho ancora qualche perplessità).

In ogni caso, a mio avviso, usare funzioni get o post porta allo stesso livello di vulnerabilità: gli authcode possono essere sottratti se si subisce un attacco da parte di malware che rubano i cookie / file temporanei del browser in entrambe le situazioni.

Enjoy!

Tags:

Scritto il 2/11/2011 da: PTKDev | Commenta