Archivi categoria: Informatica

Intervista su Wired.it

Intervista su Wired.it

Che dire… sono soddisfazioni! Sono passati quasi due mesi da quando mi sono dedicato al mondo di Android ed in questi giorni è uscito un articolo su Wired.it che parla di me e di uno dei miei lavori!

Ho veramente poche parole in questo momento… ma sono molto felice!

Link agli articoli pubblicati su Wired.it:

Grazie a tutti!

Nasce AndroidDuff.MarcoDuff.com

AndroidDuff

E’ con grande piacere che annuncio la nascita di android.marcoduff.com, il mio sito tematico su Android!

Il sito sarà un raccoglitore di tutte le mie applicazioni e di tutti i miei tutorial!

Il Protocollo OAuth

Logo OAuth
Logo OAuth

Ultimamente mi sono imbattuto in un piccolo progetto con Java. Per il momento non vi anticipo lo scopo del progetto, che spero di pubblicare il prima possibile su questo blog,  ma grazie a questo sto studiando parecchi aspetti della programmazione web oriented, dell’integrazione con i social network e delle metodologie del futuro.

Tutti questi studi e tutte le mie scoperte le condividerò ovviamente con tutti voi in un insieme di articoli che pubblicherò su questo blog. In questo primo articolo della serie vi parlerò di come funziona l’autenticazione tra una Applicazione ed un Sistema Esterno utilizzando OAuth!

OAuth è un protocollo open che permette ad Applicazioni Web o Desktop di chiamare in modo sicuro ed autorizzato API messe a disposizione da un Sistema Esterno in modo semplice e standard. Questo protocollo risulta essere molto efficace in chiamate conformi alla metodologia RESTful, quindi facilmente applicabile a tutte quelle applicazioni scritte in linguaggi capaci di aprire una Socket.

Il protocollo OAuth ha essenzialmente due principi. Li riporto dal sito ufficiale:

OAuth is a simple way to publish and interact with protected data. It’s also a safer and more secure way for people to give you access. We’ve kept it simple to save you time.

If you’re storing protected data on your users’ behalf, they shouldn’t be spreading their passwords around the web to get access to it. Use OAuth to give your users access to their data while protecting their account credentials.

In poche parole, quello che OAuth vuole dirci è che quando una Applicazione vuole utilizzare i dati di un Utente salvati in un Sistema Esterno, questa non deve venire in possesso dei dati di accesso dell’Utente verso il Sistema Esterno, ma l’Utente deve autorizzare in modo esplicito il Sistema Esterno a fornire i dati all’Applicazione.

Il ragionamento sembra essere molto contorto, ma basta guardarsi in giro su Internet per vedere come questo concetto sia all’ordine del giorno:

  • Dobbiamo esplicitamente dire al Facebook che autorizziamo una data Applicazione prima di vederla sul nostro profilo;
  • Dobbiamo esplicitamente dire a Twitter che autorizziamo una data Applicazione ad aggiornare il nostro stato;
  • Dobbiamo esplicitamente dire a Yahoo o Google che autorizziamo una data Applicazione a recuperare i nostri dati;
  • ecc…

Come potete rendervi subito conto, tutte le Applicazioni che ho menzionato riescono ad avere un accesso ai dati dell’Utente di un determinato Sistema Esterno (Facebook, Twitter, Yahoo, Google, ecc…) senza che queste conoscano in modo diretto la login e la password dell’Utente stesso e garantendo a questo un livello di privacy molto elevato!

Sorpresi?

Questa autorizzazione avviene ovviamente in piena conformità con la filosofia RESTful, ovvero utilizzando l’header HTTP, in particolare il campo Authorization.

I passi che vengono effettuati nel processo di autorizzazione sono i seguenti:

  1. In modo preliminare, lo sviluppatore dell’Applicazione deve registrare quest’ultima sul Servizio Esterno, indicando quali dati potranno essere recuperati;
  2. L’Utente accede all’Applicazione che contatta il Servizio Esterno per ricevere un “Unauthorized Request Token”;
  3. L’Applicazione ridirige l’Utente verso il Sistema Esterno, passando il token non autorizzato;
  4. L’Utente decide di autorizzare l’Applicazione direttamente sul Sistema Esterno;
  5. Il Sistema Esterno ridirige l’Utente verso l’Applicazione passando un “Access Token”;
  6. L’Applicazione accede ai dati dell’Utente presenti sul Sistema Esterno grazie al token autorizzato.

Se volete approfondire il protocollo vi consiglio essenzialmente due link: le specifiche ufficiali del protocollo ed una spiegazione come Google usa OAuth.

Google Wave, altri inviti disponibili

Ho a disposizione altri inviti per provare Google Wave, se siete interessati fate un commento a questo articolo inserendo come email il vostro contatto gmail!

Ciao! 😉

DNS di Google. Adesso è troppo!

Sono un fan di Google da sempre. Ogni volta che Google propone un nuovo servizio non vedo l’ora di provarlo ed ogni volta sono sempre stupito dalla sua semplicità e potenza.

Ultimamente, però, i servizi di Google risultano essere sempre più invadenti.

  • Google Search, ovvero lo storico motore di ricerca di google, spia le tue ricerche monitorando le parole chiave che inseriamo nel form estraendo statistiche di marketing (dal valore commerciale inestimabile vista la scala su cui sono basate);
  • Google Toolbar, per chi la installa sul suo browser, spia tutta la tua navigazione (non soltanto le ricerche) mappando quindi tutti i siti e i link visitati;
  • Google Chrome, un browser che tecnicamente riesce a monitorare tutto quello che facciamo su internet;
  • Google Docs, ha a disposizione tutti i nostri documenti (anche privati con dati sensibili) messi on-line;
  • Google Wave, ancora sotto sperimentazione, ha il controllo delle nostre collaborazioni;
  • Google Bookmarks, tiene traccia dei nostri siti preferiti;
  • e tanto altro…

Come se questo controllo non bastasse, Google ha presentato da pochissimo il suo Sistema Operativo: Chrome OS. Attualmente in versione beta installabile per il momento solo sotto una distribuzione linux, è il primo sistema operativo basato totalmente su internet. Nulla viene salvato sul tuo pc locale (voci di corridoio parlano addirittura di un hardware dedicato per questo OS), ma tutto sta su internet, utilizzando in toto tutti i servizi che sopra vi ho elencato.

E’ di oggi l’ultima novità: il Domain Name Service pubblico di Google. Il DNS è un sistema utilizzato per la risoluzione di nomi di host in indirizzi IP e viceversa. Un semplice computer infatti può comunicare con un altro computer soltanto se conosce l’indirizzo IP di questo. Quando noi scriviamo sul nostro browser www.marcoduff.com, la prima operazione effettuata dal browser è proprio quella di chiamare un DNS passando il dominio marcoduff.com per ottenere il suo corrispondente indirizzo IP, una volta ottenuto può effettivamente partire la chiamata verso il server dove risiede questo Blog.

Questa conversione avviene sempre e non soltanto per i browser, ma per tutte quelle applicazioni che comunicano via internet, compresi i programmi che abbiamo installato sui nostri PC che, ad esempio, cercano aggiornamenti su internet!

Quindi, dal punto di vista di Google, un utente che utilizza i suoi servizi, compreso il suo DNS, fornisce a quest’ultimo dati del tipo: tutte le nostre ricerche, i nostri siti preferiti, i programmi che abbiamo installato, i nostri documenti privati, l’antivirus utilizzato, quando tempo passiamo su un sito, quanto spesso utilizziamo un servizio e tanto, veramente tanto altro!!!

Aziende reali, per una analisi di marketing cosi approfondita e dettagliata pagano fior di milioni di euro… invece Google ha tutto questo gratis ed ha la licenza di poterseli rivendere!

La vera potenza di Google consiste proprio nella conoscenza e nel controllo dell’informazione, che porta ad un potere smisurato (e noi che viviamo in Italia dovremmo saperle certe cose! 😉 )!

Non è un caso che l’unico stato dove Google non sfonda è proprio il Giappone, dove il Re dei motori di ricerca è ancora Yahoo!. I Giapponesi, infatti, proprio per cultura hanno al primo posto la riservatezza.

Volete una prova pratica della potenza del controllo d’informazione? Facendo una ricerca oggi (non posso garantire il risultato tra un paio di giorni) della parola “DNS” sul motore di Google, il quarto risultato è proprio il nuovissimo servizio di Google “Google Public DNS”. Effettuando la stessa ricerca con Bing e Yahoo! il servizio di Google non appare completamente!

Strano che un servizio “Google” uscito da appena 24 ore sia già ai primi posti su “Google”, no?