Support Wikipedia

martedì 31 gennaio 2012

La sicurezza spiegata a un commercialista - 2

2. Crittografia
Da prima del cifrario di Giulio Cesare ad oggi si sono sviluppate tantissime tecniche per offuscare un messaggio per renderlo non comprensibile alle persone non autorizzate. Esempio semplice: scriviamo il messaggio in chiaro, procediamo a sostituire ogni lettera del testo con la lettera precedente nell'alfabeto che stiamo usando ed otteniamo un messaggio cifrato (non si dice "in scuro", anche se sarebbe simpatico). Questa tecnica si può generalizzare definendo una funzione f(m,n) che prende in input il messaggio in chiaro m, un numero intero n e restituisce un messaggio f(m,n), dove ad ogni lettera l di m si è sostituita la lettera l' che dista n posti da l nell'alfabeto di riferimento (nell'esempio di prima n=-1: A->Z, B->A, C->B, ...). n è la chiave (password), perché chiunque conosca n può criptare e decrittare messaggi a piacere: in questo caso criptazione e decrittazione sono equivalenti: m = f(f(m,n),-n) cioè per decrittare si applica l'algoritmo di criptazione con la chiave cambiata di segno. Generalmente l'algoritmo è noto a tutti, tenerlo nascosto (security by obscurity) non aumenta la sicurezza (almeno nell'era dei computer).
Prima di andare avanti: la crittografia non è la panacea per tutti i mali, anzi, in pratica crea un sacco di problemi perché la gente pensa che crittografato = sicuro, quando molti protocolli si possono rompere senza sporcarsi minimamente le mani.
Ci sono due principali schemi di crittografia: simmetrica e asimmetrica (o "a chiave pubblica"). Nel primo caso esiste una sola chiave per criptare e decrittare, o una chiave è ricavabile dall'altra automaticamente, ed è bene tenerla segreta (esempio precedente). Due persone che vogliono comunicare segretamente devono quindi condividere la chiave segreta (e come fanno a condividerla? si trovano al parco?). Nel secondo caso esiste una coppia di chiavi, una pubblica ed una privata, che non possono essere ricavate l'una dall'altra (a meno di secoli di calcoli): in questo caso si usa una chiave per criptare (quella pubblica, nota a tutti), ed una per decrittare (la relativa chiave privata, appunto segreta): per comunicare segretamente con Simone, Fabio gli invia messaggi criptati con la chiave pubblica di Simone, che solo Simone potrà decrittare poiché egli solo (si spera) conosce la sua chiave privata. Anche se Antonio entra in possesso di un messaggio criptato (cosa facile), sarà teoricamente difficile e praticamente impossibile che scopra il contenuto del messaggio originale. Vale quindi la relazione di prima, se ad n e -n sostituiamo rispettivamente chiave privata sk e relativa chiave pubblica pk: m=f(f(m,pk),sk) (non mi dilungo sul fatto che le due f siano proprio la stessa funzione o meno). Una proprietà simpatica di molti algoritmi di crittografia asimmetrica è che spesso vale anche il contrario, cioè m=f(f(m,sk),pk): questo significa che un messaggio crittato con la chiave privata può essere decrittato da chiunque conosca la chiave pubblica (cioè chiunque).  Questa applicazione è nota come "firma", ed è utile qualora Simone voglia mandare un messaggio a Fabio garantendo di essere il mittente: poiché solo Simone conosce sk, solo lui può aver creato f(m,sk), che Fabio può verificare conoscendo pk. Sia chiaro che in questo caso la segretezza del messaggio non è in questione: tutti possono ricavare m da f(m,sk).
Abbiamo tutto quello che ci serve per far comunicare Fabio e Simone, sperando che abbiano capito anche loro...

3. Il protocollo

Insomma Fabio e Simone vogliono spettegolare su Antonio senza che egli se ne renda accorto. Il punto è che la crittografia asimmetrica non basta: se Fabio mandasse a Simone pkS(m) [m crittato con la chiave pubblica pkS di Simone] solo Simone potrebbe leggere m ma non saprebbe se il messaggio viene da Fabio o da qualcun altro (per esempio da Antonio, che certo sospetta qualcosa e vuole confondere le acque).
Fabio, che si crede furbo, dopo aver passato mezz'ora tra Wikipedia e siti discutibili (sfondo nero, caratteri verdi, tante donnine nude), preferendo di certo i secondi, crede di aver trovato la soluzione al suo problema di coppia. Comunica dunque l'idea all'ignavo Simone: "Per quel mestiere che sai basta che facciamo così:

1. io ti mando (F,pkS(nF))  [F è l'identificativo di Fabio, pkS(x) il messagio x crittato con la chiave pubblica di Simone pkS, nF un numero casuale scelto da Fabio]
2. tu mi mandi pkF(nF,nS)   [pkF(x) è il messagio x crittato con la chiave pubblica di Fabio pkF, nS un numero casuale scelto da Simone]
3. io ti mando pkS(nS)

e funziona perché

- solo tu puoi estrarre nF dal primo messaggio
- solo io posso estrarre nF e nS dal secondo, e verificato che mi hai mandato lo stesso nF che ti ho mandato io all'inizio
- ti rispedisco Ns, e tu sei sicuro che il messaggio viene da me perché solo io potevo estrarre Ns da pkF(Nf,Ns).

e siamo a questo punto sicuri di parlare l'uno con l'altro, e tra l'altro possiamo usare g(nF,nS) [una data combinazione dei due numeri causali] come chiave segreta, perché solo noi due conosciamo nS e nF, così finalmente

4. io ti mando m crittato con g(nF,nS)

[assumiamo che Antonio fosse distratto finché Fabio e Simone si mettevano d'accordo su queste cose...o che comunicassero crittando messaggio e firma del messagio tutto con le rispettive chiavi pubbliche/private, ma tralasciamo questo passaggio per semplicità].

ce la faranno i nostri eroi? Stay tuned.

lunedì 30 gennaio 2012

La sicurezza spiegata a un commercialista - 1

Come promesso cerco di darvi conto di quello che faccio da mane a sera, e qualche volta anche i weekend. Ci vorranno diverse puntate, per cui abbiate pazienza.

1. Premessa
Sicurezza vuol dire tutto e niente, ma quando si parla di computer più spesso vuol dir niente. Quando qualcuno comunica un messaggio a qualcun altro può essere interessato a diversi aspetti della sicurezza della comunicazione: che il messaggio arrivi a destinazione non manomesso (integrità), che solo il destinatario possa leggere il messaggio (segretezza), che il destinatario sia certo dell'identità del mittente (autenticità), che il mittente non possa negare di aver spedito il messaggio (non-ripudio). Spesso non ci interessa niente di tutto ciò, ad esempio quando mandiamo una e-mail per prenotare un campo di calcetto, ma se stiamo facendo l'ennesima futile compera su ebay il discorso cambia. Di solito si astrae dalla tecnologia con qui si scambiano i messaggi, per concentrarsi sullo studio dei vari passaggi che il protocollo prevede per stabilire una comunicazione che rispetti le varie proprietà che possono interessarci. Il mittente e destinatario (in generale possono esserci più ruoli) sono gli agenti o principali del protocollo, che indichiamo con Alice, Bob, Charlie, Eve e naturalmente Trudy, the intruder (l'attaccante, che può anche essere un insider malevolo). Per evitare riferimenti a persone a noi note userò nel seguito i nomi di fantasia Fabio, Simone e Antonio. Ce ne bastano tre.
Assumiamo che Fabio e Simone vogliano comunicarsi un messaggio e che il contenuto del messaggio non debba divenire noto ad Antonio. Un protocollo che funziona potrebbe prevedere di incontrarsi al parco, raggiungere la fatidica isolata panchina posta in luogo rialzato e scambiarsi il messaggio a voce. Questa tecnica, oltre a prevedere una salutare passeggiata all'aria aperta, gode di diverse proprietà: autenticazione reciproca degli agenti (de visu), segretezza del messaggio (assunto che nessuno stia origliando e che nessuno dei partecipanti lo riveli a terzi), non-ripudio, integrità del messaggio. E' un protocollo che funziona ma ha un grosso inconveniente: lo scambio di informazione è lento e soprattutto richiede la compresenza geografica. Assumiamo ora che Fabio sia sempre in giro per il mondo, e.g. perché sta partecipando ad eventi alcolici e pullulanti di belle donne che ufficialmente vanno sotto il nome di team building, mentre Simone sia in un grigio ufficio di una grigia zona industriale a scartabellare la posizione economica di qualche pregiudicato (anch'essa grigia dato che qualcuno la scartabella). Ammesso e non concesso. Il protocollo del parco non può servire ai loro scopi. Come potranno spettegolare su Antonio?

Stay tuned.

venerdì 27 gennaio 2012

Timetable

tra le 7 e le 8 sveglia, mezz'ora scarsa di bicicletta su e giù per i colli della Danimarca e giungo al lavoro (anche se qualsiasi guida lo nega, vi giuro che i colli ci sono!). Ivi giunto è quasi deserto, perché la maggior parte della gente arriva dopo le nove.

8-11:30  si lavora, il che significa una o più tra le cose seguenti: leggo articoli scientifici, scrivo articoli (scientifici? ai posteri etc etc), frequento qualche mini-corso, insegno come assistente (a partire da fine agosto 2012), preparo materiale per qualche corso, mi riunisco con gli stimati colleghi a parlare di qualche nuovo lavoro in vista. Seguirà racconto del contenuto dei suddetti articoli.

11:30 o prima, puntuale come le tasse (danesi), il treno del pranzo passa a prendermi, perché qualcuno è già sull'orlo della consunzione. Mi ci abituerò. Più difficile sarà abituarsi al cibo, generalmente mi limito ad una morigerata zuppa danese non sempre ben identificata, che varia dal "curry&gamberetti" (fluorescente da quanto curry c'è dentro) al pomodoro, cavolfiore, broccoletti, asparagi, funghi, zucchine. Queste almeno sono quelle che mi sono azzardato a prendere finora, delle scartate si è persa memoria. Oggi, ad esempio, ho rischiato: lasagne con contorno di carote; cannella e uvetta (!) mi hanno così disorientato che non so dire se erano buone o meno. Al pranzo segue altrettanto puntualmente ritorno in ufficio, caffè col mio compare portoghese, veloce saluto agli italiani che presidiano la macchina del caffè (italiana) e ritorno alle mie carte.

12:30 - 16:30 procede il lavoro della mattina, interrotto ogni tanto da qualcuno che entra per chiacchierare o dalla visita a qualche altro ufficio. In questi giorni la scusa principale è legata all'associazione degli studenti di dottorato, nel cui consiglio sono stato arruolato per essermi presentato all'assemblea generale che ha visto presenziare meno di 20 persone (su più di 1400 dottorandi). Gli informatici sono ben piazzati: presidente e 5 consiglieri su un totale di 13. Danimarca e Italia a pari merito con 2 membri, seguono con 1 membro Portogallo (presidente), UK (vice), Cina (tesoriere), Argentina, Cile, Ukrania (senior member), Turkey (senior member), Indonesia (delega alla mobilità), Romania. Non fate i conti che forse ho perso qualcuno per strada...


Dalle 16:30 in poi dipende: se ci sono scadenze in vista capita di rimanere fino alle 20 qui, e magari di lavorare il weekend, altrimenti si levano gli ormeggi e si inforca la bici verso casa. Un bel po' di tempo libero mi attende!


lunedì 23 gennaio 2012

Impegni istituzionali

Come saprete la Danimarca è di turno in patronato, per cui sono stato molto impegnato ultimamente...ma la presidenza europea dà già i suoi frutti, e da paese che evita i riflettori siamo saliti alla ribalta della cronaca.

a presto risentirci!

venerdì 30 dicembre 2011

Vita vichinga





i nostri nomi in rune...e qui scatta il concorso: qui sotto scrivo un messaggio in rune, il primo che lo interpreta vince una birra speciale importata dalla Danimarca:



a proposito di vita vichinga, vi invito a guardare questo video, in estate ci proviamo anche noi. Se cercate "sea stallion glendalough" su youtube scoprirete che alcuni pazzi (spedizione scientifica) hanno fatto nel 2007-8 Roskilde-Dublino e ritorno su una riproduzione di questa barca!

mercoledì 21 dicembre 2011

God Jul!

Oggi pranzo di Natale del gruppo di ricerca, ognuno prepara qualcosa di tipo del suo paese, molti assenti purtroppo. Il menu prevede:
  • frikadeller (Denmark, credo polpette di maiale)
  • bacalhau (Portugal, questo lo sapete)
  • cheese fondue (Swizerland, fonduta)
  • stegte sild (Denmark, aringa fatta non so come ma che eviterò come la morte)
  • ris a la mande (Denmark, è un dolce)
  • una non meglio identificata torta vegetariana (USA, ma fatta da un tedesco)
  • mango salad (Indonesia)
  • quark cake (Ukraine, dolce latte)
  • lasagne alla bolognese (Italy)
  • apple bites (Turkey, biscotti con mele e noci)
  • braised meat (China, ma non si sa da che bestia provenga la carne...)
  • sushi (preparato da un tedesco, misteri della geograstronomia)
Non tacciatemi di anticampanilismo per non aver fatto qualcosa di veneto, ma il pasticcio è una cosa che ben si presta ad essere riscaldata.
Vedrò di aggiornare il post con qualche foto. Burp.