2011-03-29

La firma digitale

Tramite la firma digitale è possibile garantire l'autore di un documento informatico e verificare che tale documento non abbia subito modifiche successive alla sottoscrizione. Per queste ragioni, negli ultimi anni, la firma digitale è stata oggetto di interesse giuridico e tecnologico.

Generalità

La firma digitale è un'informazione che viene aggiunta ad un documento informatico al fine di garantire:
autenticazione del mittente
il destinatario ha la possibilità di verificare l'identità del mittente;
integrità
è possibile provare che non sono state apportate modifiche al messaggio durante la trasmissione;
riservatezza (opzionale)
il messaggio è leggibile dal solo destinatario.
Sebbene l'uso in relazione a documenti su supporti informatici sia quello più naturale, essa può essere utilizzata per autenticare una qualunque sequenza di simboli binari, indipendentemente dal loro significato. La principale differenza tra firma autografa e firma digitale sta nel fatto che la prima è direttamente riconducibile all'identità di colui che la appone, poiché la calligrafia è un elemento identificativo della persona, mentre la seconda non possiede questa proprietà. Per coprire questa deficienza si ricorre all'autorità di certificazione, il cui compito è quello di stabilire, garantire e pubblicare l'associazione tra firma digitale e soggetto sottoscrittore. In presenza di un'autorità di certificazione affidabile, la firma digitale è più forte della firma "reale".

Vantaggi

  • Il documento firmato realmente può essere modificato, mentre una sequenza di bit firmata digitalmente, a meno di perdita della chiave privata o di vulnerabilità dell'algoritmo, non è modificabile.
  • La firma reale è sempre uguale e può essere riprodotta, la firma digitale varia a seconda dei bit del documento firmato.

Svantaggi

  • La firma "reale" è direttamente riconducibile all'identità di chi la appone, poiché la calligrafia è un elemento identificativo della persona. La firma digitale manca di questa proprietà e necessita di un'autorità di certificazione.
  • Bisogna prestare attenzione firmando alcuni tipi di documento in cui il contenuto non cambia ma quanto mostrato all'utente sì!
La firma autografa digitalizzata (riprodotta con uno scanner, tracciata su una tavoletta dotata di touch screen…) non è una firma, è una mera riproduzione.
Al contrario della firma autografa e della firma digitale, non è legata indissolubilmente al documento sulla quale viene apposta e per questo non ha valore legale.
Per usare le parole di Manlio Cammarata in Interlex:
Sul piano probatorio vale esattamente per quello che è: una rappresentazione meccanica, ai sensi dell'art. 2712 del codice civile. Se colui contro il quale viene prodotta ne disconosce la conformità alla propria firma autografa, l'onere della prova spetta alla controparte.
In Italia, a partire dal 1997, una serie di provvedimenti legislativi hanno conferito valore giuridico al documento informatico ed alla firma digitale. Inoltre, con la pubblicazione della Direttiva Europea 1999/93/CE, del gennaio 2000, si è imposto un quadro comune agli stati dell'Unione Europea, fornendo, nel contempo, ulteriori impulsi al processo legislativo.
Le tecnologie coinvolte si stanno continuamente evolvendo, per seguire le esigenze, sempre più complesse, nella sottoscrizione digitale, nell'interscambio dei documenti e nella loro successiva conservazione.

Crittografia asimmetrica - concetti base

Prima di descrivere il funzionamento della firma digitale, è necessario introdurre alcuni elementi di crittologia. Nel 1976 Diffie, Hellman e Merkle (quest'ultimo indipendentemente dai primi due) introdussero un concetto che rivoluzionò le comunicazioni segrete: i cifrari a chiave pubblica.

Cifrario simmetrico

Un cifrario simmetrico prevede:
  1. una chiave segreta k;
  2. una funzione per cifrare Ck, parametrica in k, iniettiva (altrimenti non sarebbe possibile ricostruire in modo univoco il messaggio in chiaro), che trasforma un generico messaggio in chiaro m in un crittogramma c.
  3. una funzione per decifrare Dk, parametrica in k, che permette di riottenere il messaggio in chiaro m partendo dal crittogramma c.
Si ha:
  1. Dk e Ck sono l'una l'inversa dell'altra, quindi Dk(Ck(m)) = m;
Precedentemente il sistema tipico per cifrare un messaggio (cifrario simmetrico) prevedeva:
  1. una procedura per cifrare ed una per decifrare, generalmente di pubblico dominio;
  2. una chiave di cifratura, segreta (nota solo a mittente e destinatario), in grado di determinare il funzionamento delle procedure per cifrare e decifrare.
Un esempio pratico, banale, potrebbe essere:
  • messaggio in chiaro: "vendere tutto";
  • chiave segreta: 3;
  • procedura per cifrare: sostituire ogni lettera del messaggio in chiaro con quella che, nell'alfabeto, la segue di 3 posizioni (3 è la chiave segreta);
  • prodedura per decifrare: sostituire ogni lettera del messaggio cifrato (crittogramma) con quella che, nell'alfabeto, la precede di 3 posizioni;
  • poiché v→y, e→h, n→q, d→g, r→u, t→w, u→x, o→r il messaggio cifrato risulta essere "yhqghuh wxwwr".
Un cifrario asimmetrico prevede:
  1. una chiave pubblica k[pub] ed una chiave privata k[priv];
  2. una funzione per cifrare C(m,k);
  3. una funzione per decifrare D(c,k).
Si deve avere:
  1. D(C(m,k[pub]),k[priv]) = m;
  2. c = Ck[pub](m) è semplice da calcolare per il mittente;
  3. m = Dk[priv](c) è semplice da calcolare per il destinatario;
  4. la coppia <k[priv],k[pub]> è facile da generare e la probabilità che due utenti scelgano la stessa coppia prossima a zero.
C deve essere una funzione one way, cioè facile da calcolare e difficile da invertire (in senso computazionale), ma deve contenere un meccanismo segreto detto trap door che ne consenta la facile invertibilità a chi lo conosca. Nei cifrari a chiave pubblica, o asimmetrici, le chiavi di cifratura e di decifrazione sono diverse, scelte dal destinatario che ne rende pubblica una, usata per cifrare, e mantiene segreta l'altra, usata per decifrare. Come in precedenza le procedure per cifrare e decifrare sono note al pubblico e dipendono, per il loro funzionamento da una chiave. In questo caso, però, la cifratura è accessibile a tutti mentre la decifratura è riservata al destinatario (perché richiede la chiave privata nota solo a lui). Si intuisce che, perché il tutto funzioni, deve esserci una relazione di qualche genere fra la chiave pubblica e quella privata ma, certo, non deve essere semplice ottenere la chiave privata partendo da quella pubblica.

Protocollo 1: messaggio in chiaro firmato

  1. Il mittente A genera la firma f=D(m,kA[priv]).
  2. A invia al destinatario B la tripla <A,m,f> costituente il messaggio firmato.
  3. B riceve il messaggio firmato <A,m,f> e ne verifica l'autenticità calcolando C(f,kA[pub]) e verificando che il valore sia uguale ad m.
Si osserva che rispetto all'uso "standard" i processi di firma e verifica impiegano le funzioni C e D in ordine inverso (però D è ancora abbinata alla chiave privata e C a quella pubblica). Questo non porta a problemi perché C e D sono una l'inversa dell'altra. Inoltre l'indicazione esplicita del mittente A è necessaria per permettere al destinatario di selezionare l'appropriata chiave pubblica kA[pub] da utilizzare nel calcolo.
Firma e spedizione
Il mittente cifra il messaggio da firmare con l'apposita procedura abbinata alla propria chiave privata. Viene ottenuto un messaggio cifrato. Il documento firmato è l'insieme del messaggio in chiaro, del messaggio cifrato (secondo il sistema sopra indicato) e dell'indicazione del mittente.
Ricezione e verifica
Il destinatario riceve le tre informazioni sopra dette (messaggio in chiaro, messaggio cifrato, indicazione del mittente). Con l'indicazione dell'utente/mittente recupera la chiave pubblica associata allo stesso (per esempio da un registro ufficiale). Con l'apposita procedura di decifratura, abbinata alla chiave pubblica recuperata, decifra il messaggio cifrato ed ottiene un messaggio in chiaro da confrontare con quello ricevuto per assicurarsi che tutto sia a posto.

Perché funziona?

  • Se qualcuno altera il documento in chiaro, quando il destinatario decifra il documento cifrato otterrà un nuovo documento, diverso dall'originale, ed il confronto fra documento in chiaro ricevuto e documento in chiaro decifrato non avrà successo.
  • Il tentativo di alterare il documento in chiaro e contemporaneamente quello cifrato non è possibile senza conoscere la chiave privata del mittente (segreta) o a meno di forzare il cifrario a chiave pubblica.
  • Il mittente non può disconoscere la propria firma perché solo lui è a conoscenza della chiave privata necessaria per ottenere il messaggio cifrato a partire da quello in chiaro.
  • Il sistema è legato ad un particolare mittente e non ad un particolare destinatario. Chiunque può convincersi della correttezza della firma perché per farlo è necessaria la sola chiave pubblica del mittente.

Perché non si adotta questo protocollo?

  • Spedire un messaggio firmato in questo modo comporta un lavoro doppio: il messaggio cifrato ha, infatti, dimensione paragonabile a quella del messaggio in chiaro.
  • Non si può garantire la riservatezza della comunicazione perché fra le tre informazioni inoltrate c'é il messaggio in chiaro.

Protocollo 2: messaggio firmato in hash

Funzioni hash

Una funzione hash (hash function) f: X → Y è una regola che associa ad un elemento x un altro elemento y=f(x) (detto immagine o fingerprint o digest). È caratterizzata da:
  • n=|X| >> m=|Y|.
    Questa proprietà garantisce che la rappresentazione y sia più breve di x (log2m bit contro log2n bit). Oltre a questo può accadere che la minore cardinalità di Y permetta di individuare in questo insieme una qualche "struttura" assente in X (o troppo complessa per esser sfruttata). Il fatto che n < m comporta che la funzione f non sia iniettiva (vale a dire che alcune elementi di X avranno la stessa immagine);
  • se con X1, X2… Xm indichiamo la partizione di X in sottoinsiemi disgiunti tali che per ogni valore dell'indice i tutti gli elementi di Xi hanno come immagine uno stesso elemento di Y, una buona funzione hash deve assicurare che i sottoinsiemi Xi abbiano, all'incirca, la stessa cardinalità e che elementi "simili" di X appartengano a sottoinsiemi diversi.
Generalmente, quando si parla di funzioni hash nel campo della crittografia, si richiedono ulteriori proprietà (che caratterizzano le funzioni hash one way):
calcolabilità
f(x) sia facile da calcolare;
proprietà one way
per la maggior parte degli y in Y sia difficile determinare un x tale che f(x)=y;
proprietà claw free
sia difficile determinare una coppia di elementi x1, x2 tali che f(x1)=f(x2).
Con il "difficile" si intende la complessità computazionale. Alcune funzioni molto note in crittografia sono la MD5, la SHA-1 (o semplicemente SHA), la SHA-256… La MD5 è stata forzata e non è più considerata sicura. Per la SHA-1 sono state scoperte tecniche di attacco più efficienti rispetto alla "forza bruta", ma vari enti governativi non prevedono problemi nel breve termine (il NIST la considera sicura almeno fino al 2010). Prima di descrivere questo protocollo, bisogna introdurre il concetto di funzione hash crittografica. Si tratta di una procedura per trasformare un messaggio in un numero di molte cifre (comunque, tipicamente, di dimensioni trascurabili rispetto al messaggio in chiaro). La proprietà che caratterizza questa procedura è la sua unidirezionalità (one-way): non è possibile ricostruire le caratteristiche del messaggio partendo dal numero ottenuto.

Tecnica corrente per la firma digitale

  1. Il mittente A calcola:
    • h(m) (dove h è una funzione hash one-way ed m il messaggio in chiaro);
    • la firma f=D(h(m),kA[priv]);
    • il crittogramma c=C(m,kB[pub]).
  2. A invia al destinatario B la tripla <A,c,f> costituente il messaggio firmato.
  3. B riceve il messaggio firmato <A,c,f> e calcola m1=D(c,kB[priv]). Per verificarne l'autenticità controlla che h(m) e C(f,kA[pub]) siano uguali.
Si procede come precedentemente descritto, con la differenza che ad esser cifrata è l'impronta (o digest, o fingerprint) del messaggio, anziché l'intero messaggio. Al destinatario è inviata l'informazione sul mittente, il messaggio in chiaro e l'impronta cifrata. Il tutto è riassunto nella figura seguente: 

2011-03-14

Terremoto in Giappone.



Siamo profondamente rattristati per il disastro che ha colpito il Giappone, una nazione speciale, che tante volte ha subito ferite profonde, ma che è sempre riuscita a rialzarsi più forte di prima.

Che così possa essere anche questa volta!

Effettuare una donazione alla Croce Rossa giapponese può essere un piccolo, ma immediato, aiuto.

2011-02-19

FACILE: aggiornamento v1.3.2.2/141

Anche questo aggiornamento, come il precedente, riguarda:
  • nuove funzionalità legate alla stesura / aggiornamento / consultazione / stampa dei preventivi;
  • correzione di vari bug.

2011-02-16

FACILE: aggiornamento v1.3.2.1/140

Questo aggiornamento riguarda in particolare:
  • nuove funzionalità legate alla stesura / aggiornamento / consultazione / stampa dei preventivi;
  • correzione di vari bug.

2011-02-09

Rete elettrica ed UPS, qualche dettaglio

EVENTODESCRIZIONECAUSAEFFETTO
BLACKOUT Completa mancanza di corrente elettrica Eccessiva richiesta di energia elettrica o danno alla rete Perdita dati presenti nella RAM dell'elaboratore, possibili scritture errate/parziali su dispositivi di memorizzazione secondari
SOTTOTENSIONE
(sag)
Breve abbassamento di tensione sulla rete elettrica Picco nella richiesta di energia elettrica Possibili crash di sistema, diminuzione della durata di vita di motori elettrici
RUMORE
(noise)
Alterazione della forma d'onda fornita dalla rete di alimentazione Interferenze elettromagnetice (EMI) o radio (RFI) dovute ad apparati industriali, generatori, trasmettitori radio, fulmini… Possibili danni a monitor, risposta alterata dei dispositivi elettronici
SOVRATENSIONE
(surge
Breve (tipicamente nell'ordine di 1/120 di secondo) aumento del voltaggio di rete Tipicamente spegnimento di apparecchiature ad alto assorbimento energetico presenti nelle vicinanze Diminuzione vita utile dei dispositivi
PICCO
(spike)
Incremento repentino della tensione Fulmini, effetto del ritorno dell'alimentazione di rete dopo un blackout Possibili danni fisici di estrema gravità

Valutare il proprio rischio

SITUAZIONEGRAVE RISCHIO PROBLEMA SENSIBILE TRASCURABILE NOTE
BLACKOUT
(in un anno)
Oltre 12 Fra i 3 e gli 11 Meno di 3
ETÀ EDIFICIO
(in anni)
Oltre 10 Fra i 5 ed i 10 Sotto i 5 Gli impianti elettrici di vecchi edifici non sono progettati per rispondere alle esigenze delle moderne apparecchiature
APPARECCHIATURE NELLE VICINANZE Macchinari pesanti / motori (ascensori…) Fotocopiatrici, stampanti laser Niente Almeno il 50% dei problemi di alimentazione è legato all'ambiente di lavoro locale
CONNESSIONI SUPPLEMENTARI Modem, porta seriale, rete Solo modem Stand alone Picchi e sovratensioni possono arrivare all'elaboratore attraverso "passaggi secondari"
AMBIENTE OPERATIVO In rete, multiutente Stand alone, multi tasking Stand alone, single tasking
DIMENSIONE DELLA LAN Oltre 10 utenti Fra 5 e 10 utenti Meno di 5 utenti Al crescere delle dimensioni di un sistema, i suoi punti sensibili aumentano
TEMPORALI
(in un anno)
Oltre 30 Fra i 20 ed i 30 Meno di 20

Altri fattori da valutare sono la qualità della rete elettrica (è comune che zone rurali non siano ben servite), la presenza di cavi elettrici non opportunamente protetti… In particolare bisogna considerare che anche per un cablaggio a regola d'arte, con materiali certificati per decine di anni dai produttori, i cavi subiscono un processo di invecchiamento, che in alcune circostanze può essere accelerato per l'azione di fattori esterni. In una città di mare, ad esempio, l'atmosfera salmastra può rapidamente intaccare i contatti tra cavi e connettori.

Quando i gruppi di continuità vengono inseriti in sistemi complessi, quali, ad esempio, le reti per la trasmissione di dati, gli aspetti da valutare aumentano e si complicano, talvolta notevolmente.


Gruppi di continuità

Nell'acquisto di un gruppo di continuità bisogna prestar attenzione al suo corretto dimensionamento. Il metodo migliore per non sbagliare consiste nell'effettuare una misura del reale assorbimento di potenza dei dispositivi che si vogliono collegare (mediante un wattmetro a vero valore efficace). Non essendo sempre possibile procedere in questo modo, bisogna:
  1. determinare i dati di targa di ciascuna apparecchiatura (sono espressi in VA e riportati sull'etichetta dell'apparecchio o nei documenti a corredo) e sommarli in modo da ottenere la potenza apparente;
  2. assicurarsi che il valore ottenuto sia inferiore a quello nominale dell'UPS.
Va notato che nelle specifiche di un apparecchio vengono solitamente riportati due valori di potenza: la potenza apparente (in VA) e la potenza reale (in W), legate dalla relazione Pr=Pa·cos(φ). La grandezza cos(φ), detta fattore di potenza è solitamente compresa fra 0,6 e 0,8. È dunque necessario prestar attenzione a quali potenze si confrontano. Nel caso si renda necessario effettuare qualche conversione e non si conosca il fattore di potenza esatto, è ragionevole considerere 0,7.

A "complicare" la situazione c'è il fatto che l'attuale normativa impone ai costruttori di riportare anche i valori nominali di carico che non verranno mai superati da un apparecchio. Non è impossibile che questi valori raggiungano il doppio della potenza tipicamente assorbita.

Infine non bisogna farsi ingannare dal fatto che l'autonomia riportata fa sempre riferimento all'80% del carico massimo supportato dall'UPS. La relazione che lega il tempo di autonomia nominale (Tan), l'autonomia reale (Tar), la potenza assorbita dal carico (Pa) e la potenza nominale dell'UPS (Pn) è: Tar=Tan·Pn/Pa. Grazie a questa formula è possibile intervenire quando le esigenze di potenza sono limitate, ma l'autonomia richiesta è maggiore rispetto ai modelli di UPS disponibili.

2011-02-03

FACILE: nuova versione v1.3.2

È disponibile la nuova versione di Facile.
Fra le numerose novità segnaliamo, in particolare:
  • il supporto per progetti gestiti secondo le metodologie Getting Things Done (David Allen), Agile Project Management (parziale) e PMI (parziale);
  • l'introduzione di un nuovo sistema di gestione dei ticket/contatti/case ed il netto potenziamento dell'area CRM;
  • la gestione dei lotti di magazzino ed il carico/scarico per produzione.
  • l'interfaccia grafica rinnovata (Fluent) basata su Ribbon;
  • decine di nuove funzionalità nell'area commercio, mediazione, report;
  • il supporto per Microsoft Windows 7;
  • la gestione potenziata dei preventivi;
  • il supporto per Firebird v2.5.x.
Oltre a questo, come sempre, numerose rifiniture, correzioni e migliorie rispetto alla versione 1.3.1.

Contattaci per ulteriori informazioni.

Ricordiamo che, dopo essersi registrati al servizio Mantis, si possono comodamente segnalare problemi / nuove funzionalità desiderate e verificarne, in tempo reale, la situazione.

2011-01-17

Qualche avvertenza circa la cura di dispositivi e supporti di memorizzazione

Avvertenze generali

  1. Installare il proprio computer in un ambiente sicuro: asciutto, fresco, senza polvere, lontano dalle zone di passaggio di mezzi o persone. Nel caso di un server, valutare l'acquisto di un armadio modulare/rack.
  2. Effettuare regolarmente copie di backup è il sistema più valido per tutelarsi contro la perdita di dati. La frequenza minima è di una copia a settimana (assicurandosi di copiare i dati corretti). È consigliabile conservare le copie in un luogo diverso da quello del computer.
  3. Utilizzare un gruppo di continuità (UPS). Nel caso di un fulmine o di sbalzi di tensione, un UPS protegge il computer da sovraccarichi; inoltre, grazie alle batterie, offre il tempo necessario per registrare i dati se viene a mancare la corrente. Se un UPS non è una soluzione economicamente accettabile, si può ripiegare su una ciabatta con protezione per sovratensioni.
  4. Installare un programma antivirus ed aggiornarlo regolarmente ed eseguire regolarmente. I virus sono fra i peggiori nemici del tuo computer.
  5. Prestare attenzione a rumori "particolari". Se durante la lettura/scrittura da dispositivi di memorizzazione si avvertono strani rumori, spegnere il computer e rivolgersi ad un centro di assistenza tecnica.

Come aver cura del proprio hard disk

Sebbene l'importanza di questo dispositivo sia ovvia e le cause di possibile danneggiamento numerose, molti utenti ne trascurano completamente la cura.
  1. Proteggere il disco rigido da colpi e vibrazioni. Spesso, durante l'installazione, lo spostamento o la riconfigurazione, il disco subisce colpi di vario genere.
  2. Utilizzare apparati antivibrazione e di raffreddamento passivo / attivo. Gli hard-disk più recenti hanno piatti caratterizzati da una velocità pari o superiore alle 7200 rotazioni per minuto (RPM) ed il calore generato, talvolta associato a quello di altri dispositivi stipati in un cabinet di dimensioni limitate, può costituire un problema grave.
  3. Prestar attenzione alle cariche statiche. L'elettricità statica è un nemico invisibile e spesso sottovalutato, ma in grado di danneggiare chip e transistor. Toccando un hard disk è facile scaricare questo accumulo di carica ed è quindi necessario adottare misure precauzionali.
  4. Climatizzare la stanza in cui si installano i computer. Gli hard-disk possono presentare malfunzionamenti ad intermittenza o crash totali se utilizzati in condizioni di temperatura, umidità od altitudine fuori dai parametri operativi.
  5. Eseguire controlli periodici. Sono disponibili software in grado di eseguire test diagnostici per rilevare possibili problemi.
  6. Effettuare copie di backup prima di spostare il computer in una diversa posizione / ubicazione.
  7. Attivare la funzionalità SMART nel BIOS (se disponibile).

Come aver cura delle cassette di backup

Ancor oggi rappresentano, specie nel caso di grandi archivi, una delle soluzioni più economiche per il backup. Non basta, comunque, acquistare drive e cartucce per essere certi che, in caso di disastro, i dati siano al sicuro.
  1. Mantenere le cassette nella loro scatola fino al momento di utilizzarle. È inutile esporre prematuramente il nastro magnetico a polvere, umidità e luce del sole.
  2. Non tentare di inserire una cassetta che si presenta danneggiata: oltre a peggiorare la situazione, è possibile compromettere l'integrità dell'intero sistema.
  3. Conservare le cassette in modo appropriato. È importante utilizzare la custodia originale e conservarle "dritte" in modo da prevenire riavvolgimenti scorretti del nastro e proteggerle il più possibile dalla luce.
  4. Prestare attenzione alla temperatura. Il calore eccessivo può deformare la plastica utilizzata per le cassette, causandone vari tipi di danneggiamento.
  5. Evitare campi magnetici. Casse acustiche, microonde, cellulari, testine di stampa possono cancellare il contenuto di un nastro magnetico.
  6. Predisporre un sistema di comparazione dei file in modo da assicurarsi che le informazioni su nastro siano identiche a quelle primarie. Quando il software segnalerà problemi sarà opportuno sostituire il supporto di memorizzazione.

Cosa fare in caso di problemi


  • Non farsi prendere dal panico. Non bisogna mai considerare irrecuperabili i dati.
  • Non utilizzare software di recupero dati se si sospetta che il dispositivo sia fisicamente danneggiato. Utilizzare un software di "file recovery" su un hard-disk con un danno meccanico, potrebbe compromettere la possibilità di recuperare i dati.
  • Le "undelete utility" possono rimediare alle disattenzioni. Questi programmi vanno usati immediatamente, visto che il sistema operativo potrebbe scrivere nuovi dati "sopra" i file cancellati. Per gli utenti di Windows… controllare il cestino: se non è vuoto tutti i file che contiene possono certamente essere ripristinati.
  • Non pulire od utilizzare dispositivi danneggiati da calamità naturali, si corre il serio rischio di peggiorarne notevolmente la condizione; rivolgersi subito ad un centro specializzato.
  • In caso di furto di dati rivolgersi ad un professionista di sicurezza informatica. La cancellazione intenzionale di dati, la duplicazione ed il furto sono minacce che si realizzano sempre più di frequente.


La memoria è tesoro e custode di tutte le cose.
Marco Tullio Cicerone