Fernando “Corby” Corbatò, papà della password e dei sistemi multi-utente
Un ricercatore che ha passato tutta la sua vita all’M.I.T. al servizio dell’informatica, l’inventore della password e dell’idea dell’account utente: Fernando Corbatò, pioniere della sicurezza informatica e dei computer moderni, ci ha lasciati a 93 anni.
Forse il suo nome non è famigliare a molti, ma di sicuro le sue invenzioni lo sono. Oltre ad essere considerato il padre delle password, spianò la strada al personal computer e sviluppò il primo sistema multi utente. Una pietra miliare dell’informatica, che vogliamo ricordare raccontando i suoi fondamentali contributi.
Il C.T.S.S.
Nel 1960 i computer erano meri sistemi industriali, non pensati per l’utilizzo da parte di una grande quantità di utenti, nè soprattutto da parte della “gente comune”. Per di più l’interazione utente-computer era decisamente limitata: le computazioni potevano impiegare giorni per concludersi e fornire il risultato, così come la ricerca e la risoluzione dei bug. Corby si concentrò sulla risoluzione di questi problemi e, insieme al suo team, sviluppò nel 1960 il primo Time-Sharing System, ovvero il primo sistema operativo multi-utente e multi-programma, che gettò le basi per l’idea dei computer moderni.
Ma che cosa si intende con time-sharing? Come spiega Corbatò nel suo paper, per time-sharing si possono intendere due cose: sia l’utilizzo di parti diverse dello stesso hardware nello stesso momento e per scopi diversi, sia l’utilizzo contemporaneo da parte di più utenti di una stessa macchina. Entrambe le visioni sono orientate all’efficienza d’uso della macchina, e in questo caso ci si concentrò sulla seconda.
Il sistema che realizzarono permise a più utenti di utilizzare una macchina contemporaneamente: ognuno di essi utilizzava una propria console di comando, ignaro delle attività degli altri utenti. E se questa inizialmente era una semplice macchina da scrivere collegata al sistema, poteva essere però modificata per supportare un display autonomo. Vi ricorda qualcosa?
Alla base dell’utilizzo vi era un time-sharing supervisor, un programma che si occupava di eseguire sequenzialmente ogni programma utente in un determinato intervallo di tempo. Per garantire all’utente di percepire la sua interazione come reattiva, la sequenza veniva eseguita con una frequenza approssimata al tempo di reazione umano (circa 2 secondi). In questo lasso di tempo ogni programma che si trovava in cache veniva eseguito almeno una volta.
Ovviamente il tempo di risposta del sistema aumentava o diminuiva in proporzione al numero di utenti collegati, alle capacità del computer, e soprattutto alla complessità del programma eseguito. In generale, con n utenti attivi e una richiesta a testa ognuno di essi percepiva 1/n della velocità totale del sistema.
La prima autenticazione con password
Certo, è sbagliato dire che Corbatò fu l’inventore della password. Essa infatti, intesa come parola o chiave di accesso, esisteva fin dall’antichità. La novità fu per l’appunto la decisione di applicare un sistema di accesso e identificazione anche ai sistemi informatici.
Con lo sviluppo del sistema multi-utente questo passaggio si rese necessario. Essendo infatti possibili più accessi contemporanei, c’era il rischio che un utente accedesse e modificasse i file altrui. Per evitare questo comportamento, Corby implementò un meccanismo di compartimentalizzazione e accesso con password che garantì ad ogni utente di poter avere accesso solo ai propri file.
La peculiarità di questo primo sistema di sicurezza era che gli utenti potevano accedere ai propri file solo nelle 4 ore settimanali assegnateli. La semplicità di questo metodo divenne il primo passo verso la sicurezza informatica come la conosciamo oggi (che, quasi ironicamente, sta abbandonando del tutto le password).
L’eredità di Corbatò
L’apporto che l’ingegnere ha dato all’informatica è fondamentale, e ha gettato le basi per il computer come lo conosciamo oggi e per tutte le caratteristiche che diamo per scontate. In un’intervista del 1989 ricordò come gli utenti, dopo aver visto una prima dimostrazione, si stupirono del fatto che, premendo un tasto o scrivendo qualcosa, la macchina gli “rispondeva” subito. Come sottolineato prima, questo tipo di interazione non era affatto presente prima del CTSS. Passare da un sistema che forniva una risposta in giorni anche ad una semplice richiesta ad uno che reagiva subito fu rivoluzionario.
Il sistema di Corbatò fu il punto di partenza per lo sviluppo di Multics, tra i primi sistemi operativi in time sharing. Il suo scopo era quello di servire la necessità di calcolo dell’intera Boston. Inoltre era orientato all’utilizzo tramite terminali remoti, forniva disponibilità continua e possibilità di configurare il sistema senza riorganizzarne l’architettura. Inoltre, poteva essere aggiornato. Il sistema fallì dal punto di vista commerciale, ma ispirò un gruppo di ingegneri nella creazione di un nuovo SO. Il suo nome era… Unix.
Corby vinse il premio Turing nel 1990, riconoscimento che gli venne conferito per il suo lavoro pionieristico sui concetti dei sistemi general-purpose, su larga scala e timesharing. L’eredità più grande rimane sicuramente l’entrata in scena dell’ utente finale come fattore centrale di progettazione dei computer e dei software.