Sei sulla pagina 1di 67

Sicurezza dei computer e delle reti 1st

Edition W. Stalling
Visit to download the full and correct content document:
https://ebookmass.com/product/sicurezza-dei-computer-e-delle-reti-1st-edition-w-stalli
ng/
Sicurezza dei computer
e delle reti
William Stallings
A cura di Alessandra De Paola e Giuseppe Lo Re

MyLab Codice per accedere


alla piattaforma
Sicurezza dei computer
e delle reti
William Stallings
A cura di Alessandra De Paola e Giuseppe Lo Re
c 2022 Pearson Italia – Milano-Torino

Authorized translation from the English language edition, entitled COMPUTER SECURITY: PRINCIPLES
AND PRACTICE, 4th Edition by William Stallings; Lawrie Brown, published by Pearson Education, Inc,
publishing as Pearson, Copyright c 2018.
Authorized translation from the English language edition, entitled CRYPTOGRAPHY AND NETWORK
SECURITY: PRINCIPLES AND PRACTICE, 8th Edition by William Stallings, published by Pearson
Education, Inc, publishing as Pearson, Copyright c 2020.
All rights reserved. No part of this book may be reproduced or transmitted in any form or by any means,
electronic or mechanical, including photocopying, recording or by any information storage retrieval system,
without permission from Pearson Education, Inc.
Italian language edition published by Pearson Italia S.p.A., Copyright c 2022.
Il presente testo è di proprietà di Pearson Italia la quale non è associata, né direttamente né indirettamente, a
eventuali marchi di terzi che venissero richiamati per gli scopi illustrativi ed educativi che ha la pubblicazione.
Per i passi antologici, per le citazioni, per le riproduzioni grafiche, cartografiche e fotografiche appartenenti
alla proprietà di terzi, inseriti in quest’opera, l’editore è a disposizione degli aventi diritto non potuti reperire
nonché per eventuali non volute omissioni e/o errori di attribuzione nei riferimenti.
È vietata la riproduzione, anche parziale o ad uso interno didattico, con qualsiasi mezzo, non autorizzata.
Le fotocopie per uso personale del lettore possono essere effettuate nei limiti del 15% di ciascun volume dietro
pagamento alla SIAE del compenso previsto dall’art. 68, commi 4 e 5, della legge 22 aprile 1941, n. 633.
Le riproduzioni effettuate per finalità di carattere professionale, economico o commerciale o comunque per
uso diverso da quello personale possono essere effettuate a seguito di specifica autorizzazione rilasciata
da CLEARedi, Corso di Porta Romana 108, 20122 Milano, e-mail autorizzazioni@clearedi.org e sito web
www.clearedi.org.
Pearson non si assume alcuna responsabilità per i Materiali pubblicati da terze parti sui propri siti Web e/o
piattaforme o accessibili, tramite collegamenti ipertestuali o altri “collegamenti” digitali, a siti ospitati da terze
parti non controllati direttamente da Pearson (“sito di terze parti”). Per approfondimenti si invita a consultare
il sito pearson.it.
I nostri libri sono ecosostenibili: la carta è prodotta sostenendo il ciclo naturale e per ogni albero tagliato ne
viene piantato un altro; il cellofan è realizzato con plastiche da recupero ambientale o riciclate; gli inchiostri
sono naturali e atossici; i libri sono prodotti in Italia e l’impatto del trasporto è ridotto al minimo.

Curatori per l’edizione italiana: Alessandra De Paola e Giuseppe Lo Re

Traduzione: Vincenzo Agate (Capp. 1, 2, 10), Antonio Bordonaro (Capp. 3, 4, 6, 12, 14), Andrea Giammanco
(Capp. 11, 15), Lara Mauri (Capp. 5, 7, 8, 9, 13)
Realizzazione editoriale: Carmelo Giarratana
Grafica di copertina: Simone Tartaglia
Immagine di copertina: Illus_man/Shutterstock
Stampa: Arti Grafiche Battaia – Zibido San Giacomo (MI)

Tutti i marchi citati nel testo sono di proprietà dei loro detentori.

9788891915290

Printed in Italy

1a edizione: aprile 2022

Ristampa Anno
00 01 02 03 04 22 23 24 25 26
Sommario
Indice

Prefazione vii
Pearson Mylab xii

Capitolo 1 Concetti di sicurezza dei computer e delle reti 1

1.1 Concetti di sicurezza informatica . . . . . . . . . . . . . . . . . . 1


1.2 Minacce, attacchi e risorse . . . . . . . . . . . . . . . . . . . . . 8
1.3 Requisiti funzionali di sicurezza . . . . . . . . . . . . . . . . . . 14
1.4 Principi fondamentali di progettazione della sicurezza . . . . . . . 16
1.5 Superfici di attacco e alberi di attacco . . . . . . . . . . . . . . . 20
1.6 Sicurezza delle reti . . . . . . . . . . . . . . . . . . . . . . . . . 23
1.7 Strategia di sicurezza informatica . . . . . . . . . . . . . . . . . . 25
1.8 Gli standard . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
1.9 Termini chiave, domande di ripasso e problemi . . . . . . . . . . 28

Capitolo 2 Autenticazione degli utenti 31

2.1 Principi di autenticazione digitale degli utenti . . . . . . . . . . . 32


2.2 Autenticazione basata su password . . . . . . . . . . . . . . . . . 37
2.3 Autenticazione basata su token . . . . . . . . . . . . . . . . . . . 49
2.4 Autenticazione biometrica . . . . . . . . . . . . . . . . . . . . . 55
2.5 Problemi di sicurezza per l’autenticazione degli utenti . . . . . . . 60
2.6 Termini chiave, domande di ripasso e problemi . . . . . . . . . . 62

Capitolo 3 Controllo degli accessi 65

3.1 Principi sul controllo degli accessi . . . . . . . . . . . . . . . . . 67


3.2 Soggetti, oggetti e permessi di accesso . . . . . . . . . . . . . . . 69
3.3 Controllo degli accessi discrezionale . . . . . . . . . . . . . . . . 70
3.4 Esempio: controllo degli accessi ai file in UNIX . . . . . . . . . . 77
3.5 Controllo degli accessi basato sui ruoli . . . . . . . . . . . . . . . 80
3.6 Controllo degli accessi basato sugli attributi . . . . . . . . . . . . 85
3.7 Gestione delle identità, delle credenziali e degli accessi . . . . . . 92
3.8 Trust framework . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
3.9 Caso di studio: sistema RBAC per una banca . . . . . . . . . . . 99
3.10 Termini chiave, domande di ripasso e problemi . . . . . . . . . . 102

Capitolo 4 Sicurezza dei database e dei data center 107

4.1 L’esigenza della sicurezza nelle basi di dati . . . . . . . . . . . . 107


4.2 Database Management Systems . . . . . . . . . . . . . . . . . . 108
4.3 Basi di dati relazionali . . . . . . . . . . . . . . . . . . . . . . . 110
4.4 Attacchi SQL Injection . . . . . . . . . . . . . . . . . . . . . . . 114
iv Sommario

4.5 Controllo degli accessi alle basi di dati . . . . . . . . . . . . . . . 119


4.6 Inferenza . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124
4.7 Cifratura delle basi di dati . . . . . . . . . . . . . . . . . . . . . . 127
4.8 Sicurezza dei data center . . . . . . . . . . . . . . . . . . . . . . 131
4.9 Termini chiave, domande di ripasso e problemi . . . . . . . . . . 136

Capitolo 5 Software malevolo 141

5.1 Tipologie di software malevolo (malware) . . . . . . . . . . . . . 141


5.2 Advanced Persistent Threat . . . . . . . . . . . . . . . . . . . . . 144
5.3 Propagazione – contenuto infetto – virus . . . . . . . . . . . . . . 145
5.4 Propagazione – exploit delle vulnerabilità – worm . . . . . . . . . 151
5.5 Propagazione – ingegneria sociale – posta indesiderata, Trojan . . 160
5.6 Payload – corruzione del sistema . . . . . . . . . . . . . . . . . . 163
5.7 Payload – agenti di attacco – zombie, bot . . . . . . . . . . . . . 165
5.8 Payload – furto di informazioni – keylogger, phishing, spyware . . 167
5.9 Payload – stealthing – backdoor, rootkit . . . . . . . . . . . . . . 169
5.10 Contromisure . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173
5.11 Termini chiave, domande di ripasso e problemi . . . . . . . . . . 179

Capitolo 6 Buffer overflow 185

6.1 Stack overflow . . . . . . . . . . . . . . . . . . . . . . . . . . . 186


6.2 Difese contro i buffer overflow . . . . . . . . . . . . . . . . . . . 207
6.3 Altre forme di attacchi overflow . . . . . . . . . . . . . . . . . . 214
6.4 Termini chiave, domande di ripasso e problemi . . . . . . . . . . 219

Capitolo 7 Sicurezza del software 223

7.1 Problemi di sicurezza del software . . . . . . . . . . . . . . . . . 224


7.2 Gestione dell’input del programma . . . . . . . . . . . . . . . . . 228
7.3 Scrivere codice di programma sicuro . . . . . . . . . . . . . . . . 239
7.4 Interagire con il sistema operativo e altri programmi . . . . . . . . 244
7.5 Gestione dell’output del programma . . . . . . . . . . . . . . . . 257
7.6 Termini chiave, domande di ripasso e problemi . . . . . . . . . . 260

Capitolo 8 Sicurezza dei sistemi operativi 265

8.1 Introduzione alla sicurezza dei sistemi operativi . . . . . . . . . . 266


8.2 Pianificazione della sicurezza di sistema . . . . . . . . . . . . . . 267
8.3 Hardening dei sistemi operativi . . . . . . . . . . . . . . . . . . . 268
8.4 Sicurezza delle applicazioni . . . . . . . . . . . . . . . . . . . . 272
8.5 Mantenimento della sicurezza . . . . . . . . . . . . . . . . . . . 274
8.6 Sicurezza di Linux/Unix . . . . . . . . . . . . . . . . . . . . . . 275
8.7 Sicurezza di Windows . . . . . . . . . . . . . . . . . . . . . . . . 280
8.8 Sicurezza della virtualizzazione . . . . . . . . . . . . . . . . . . 282
8.9 Termini chiave, domande di ripasso e problemi . . . . . . . . . . 290
Sommario v

Capitolo 9 Sicurezza fisica e delle infrastrutture 293

9.1 Panoramica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 294


9.2 Minacce alla sicurezza fisica . . . . . . . . . . . . . . . . . . . . 294
9.3 Misure di prevenzione e mitigazione per la sicurezza fisica . . . . 302
9.4 Ripristino dalle violazioni della sicurezza fisica . . . . . . . . . . 305
9.5 Esempio: una politica di sicurezza fisica aziendale . . . . . . . . . 305
9.6 Integrazione della sicurezza fisica e logica . . . . . . . . . . . . . 306
9.7 Termini chiave, domande di ripasso e problemi . . . . . . . . . . 312

Capitolo 10 Gestione e distribuzione delle chiavi crittografiche 315

10.1 Distribuzione di chiavi simmetriche usando la crittografia


simmetrica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 315
10.2 Distribuzione di chiavi simmetriche usando la cifratura
asimmetrica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 319
10.3 Distribuzione di chiavi pubbliche . . . . . . . . . . . . . . . . . . 321
10.4 Certificati X.509 . . . . . . . . . . . . . . . . . . . . . . . . . . 326
10.5 Infrastruttura a chiave pubblica . . . . . . . . . . . . . . . . . . . 334
10.6 Termini chiave, domande di ripasso e problemi . . . . . . . . . . 336

Capitolo 11 Protocolli di autenticazione remota degli utenti 341

11.1 Principi di autenticazione remota degli utenti . . . . . . . . . . . 341


11.2 Autenticazione remota degli utenti utilizzando la crittografia
simmetrica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 347
11.3 Kerberos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 350
11.4 Autenticazione remota degli utenti tramite cifratura
asimmetrica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 363
11.5 Gestione federata delle identità . . . . . . . . . . . . . . . . . . . 366
11.6 Termini chiave, domande di ripasso e problemi . . . . . . . . . . 369

Capitolo 12 Sicurezza del livello trasporto 373

12.1 Considerazioni sulla sicurezza del Web . . . . . . . . . . . . . . . 373


12.2 Transport Layer Security (TLS) . . . . . . . . . . . . . . . . . . 375
12.3 HTTPS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 390
12.4 Secure Shell (SSH) . . . . . . . . . . . . . . . . . . . . . . . . . 391
12.5 Domande di ripasso e problemi . . . . . . . . . . . . . . . . . . . 402

Capitolo 13 Sicurezza delle reti wireless 405

13.1 Sicurezza wireless . . . . . . . . . . . . . . . . . . . . . . . . . . 405


13.2 Sicurezza dei dispositivi mobili . . . . . . . . . . . . . . . . . . . 408
13.3 Panoramica sulle LAN wireless IEEE 802.11 . . . . . . . . . . . 413
13.4 Sicurezza delle LAN wireless IEEE 802.11i . . . . . . . . . . . . 418
13.5 Termini chiave, domande di ripasso e problemi . . . . . . . . . . 432
vi Sommario

Capitolo 14 Sicurezza del livello IP 435

14.1 Panoramica sulla sicurezza IP . . . . . . . . . . . . . . . . . . . 436


14.2 Politiche di IP Security . . . . . . . . . . . . . . . . . . . . . . . 438
14.3 Encapsulating Security Payload . . . . . . . . . . . . . . . . . . 443
14.4 Combinazioni di più associazioni di sicurezza . . . . . . . . . . . 449
14.5 Internet Key Exchange . . . . . . . . . . . . . . . . . . . . . . . 454
14.6 Termini chiave, domande di ripasso e problemi . . . . . . . . . . 462

Capitolo 15 Sicurezza degli endpoint 465

15.1 Firewall . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 465


15.2 Sistemi di rilevamento delle intrusioni . . . . . . . . . . . . . . . 475
15.3 Attacchi Distributed Denial of Service . . . . . . . . . . . . . . . 480
15.4 Termini chiave, domande di ripasso e problemi . . . . . . . . . . 484

Bibliografia 490

Indice analitico 497

Capitoli e appendici aggiuntivi disponibili


sulla piattaforma Pearson MyLab
Da Stallings, Cryptography and Network Security: Principles and Practice, 8th Ed.
• Chapter 19 Electronic Mail Security
• Chapter 22 Cloud Security
Da Stallings, Computer Security: Principles and Practice, 4th Ed.
• Chapter 14 IT Security Management and Risk Assessment
• Chapter 15 IT Security Controls, Plans, and Procedures
• Chapter 25 Linux Security
• Chapter 26 Windows Security
• Chapter 27 Trusted Computing and Multilevel Security
• Appendix B Some Aspects of Number Theory
• Appendix C Standards and Standard-Setting Organizations
• Appendix D Random and Pseudorandom Number Generation
• Appendix E Message Authentication Codes Based on Block Cipher
• Appendix F The TCP/IP Protocol Architecture
• Appendix G Radix-64 Conversion
• Appendix H The Domain Name System
• Appendix I The Base Rate Fallacy
• Appendix J SHA-3
• Appendix K Glossary
Prefazione

Questo volume nasce nell’ambito di un più vasto progetto editoriale con lo scopo
di pubblicare due testi universitari, in lingua italiana, sui temi della Crittografia
e della Sicurezza dei Computer e delle Reti, a partire dagli originali in lingua
inglese:
 William Stallings, Cryptography and Network Security – Principles and Prac-
tice, Eighth edition, Pearson Education, Inc.
 William Stallings, Lawrie Brown, Computer Security – Principles and Prac-
tice, Fourth edition, Pearson Education, Inc.
Il primo volume dal titolo Crittografia, tratto per intero dal primo testo, propone
la traduzione dei primi 14 capitoli dell’originale.
Il presente volume invece è costituito da una buona parte dei capitoli del se-
condo testo, relativi alla sicurezza dei computer, in aggiunta ai capitoli del primo
testo che trattano la sicurezza delle reti. I due volumi si rivolgono agli insegna-
menti sul tema della Cybersicurezza in corsi di Laurea Magistrale in Informatica
e in Ingegneria Informatica.
Negli ultimi anni, il settore ha assistito a innovazioni e miglioramenti conti-
nui. Questo testo cerca di catturare questi cambiamenti, mantenendo una tratta-
zione vasta ed esauriente dell’intero argomento. Rispetto alle precedenti versioni,
i volumi originali sono stati ampiamente rivisti da alcuni professori che insegna-
no la materia e da professionisti che lavorano nel campo. Il risultato è che in
molti punti la narrazione è stata chiarita e le illustrazioni sono state migliorate.
Inoltre, per migliorare l’apprendimento e la facilità d’uso, sono stati introdotti
cambiamenti sostanziali in tutto il libro.
Le modifiche maggiormente degne di nota sono le seguenti:
 Sicurezza del data center – Il Capitolo 4 include una nuova discussione sulla
sicurezza del data center, inclusa la specifica TIA-492 dei livelli di affidabilità.
 Malware – Il materiale sui malware nel Capitolo 5 è stato rivisto per includere
materiale aggiuntivo sui virus macro e sulla loro struttura, poiché ora sono la
forma più comune di malware virus.
 Sicurezza della virtualizzazione – Il materiale sulla sicurezza della virtualizza-
zione nel Capitolo 8 è stato esteso, dato il crescente utilizzo di tali sistemi da
parte delle organizzazioni e negli ambienti di cloud computing. È stata aggiun-
ta anche una discussione sui firewall virtuali, che possono essere utilizzati per
proteggere questi ambienti.
 Sicurezza del cloud – Il Capitolo 17, online in inglese, include una nuova di-
scussione sulla sicurezza del cloud. La discussione include un’introduzione
al cloud computing, concetti chiave sulla sicurezza del cloud, un’analisi degli
approcci alla sicurezza del cloud e un esempio open source.
viii Prefazione

Background
Negli ultimi anni, l’interesse per maggiori competenze in materia di sicurezza in-
formatica e argomenti correlati è cresciuto a un ritmo vertiginoso. Questo interesse
è stato stimolato da una serie di fattori, fra i quali spiccano i seguenti:
1. Poiché i sistemi informativi, i database, i sistemi distribuiti e le comunicazio-
ni basati su Internet sono diventati pervasivi nel mondo commerciale, insieme
alla maggiore intensità e sofisticatezza degli attacchi relativi alla sicurezza, le
organizzazioni ora riconoscono la necessità di una strategia di sicurezza com-
plessiva. Questa strategia prevede l’uso di hardware e software specializzati e
di personale addestrato per soddisfare tale esigenza.
2. L’educazione alla sicurezza informatica è emersa come un obiettivo naziona-
le negli Stati Uniti e in altri paesi, con implicazioni per la difesa nazionale e
la sicurezza interna. L’NSA/DHS National Center of Academic Excellence in
Information Assurance/Cyber Defense sta guidando un ruolo governativo nel-
lo sviluppo di standard per l’educazione alla sicurezza informatica negli Stati
Uniti. Di conseguenza, il numero di corsi nelle università, nei college e in altre
istituzioni operanti nella sicurezza informatica o aree correlate sta crescendo.

Obiettivi
Scopo di questo libro è fornire una rassegna concreta sia dei principi teorici che
della pratica della sicurezza dei computer e della sicurezza di rete attraverso una
panoramica aggiornata degli sviluppi nella sicurezza informatica. I problemi cen-
trali che devono affrontare i progettisti e gli amministratori della sicurezza inclu-
dono la definizione delle minacce ai sistemi informatici e di rete, la valutazione
dei rischi relativi di queste minacce e lo sviluppo di contromisure convenienti e di
facile utilizzo. I seguenti temi di base unificano la discussione:
 Principi – Sebbene lo scopo di questo libro sia ampio, ci sono una serie di
principi di base che appaiono ripetutamente come temi e che unificano questo
campo. Esempi sono problemi relativi all’autenticazione e al controllo degli ac-
cessi. Il libro mette in evidenza questi principi ed esamina la loro applicazione
in aree specifiche della sicurezza informatica.
 Approcci alla progettazione – Il libro esamina approcci alternativi per soddi-
sfare specifici requisiti di sicurezza informatica.
 Standard – Gli standard sono arrivati ad assumere un ruolo sempre più impor-
tante, anzi dominante, in questo campo. La comprensione dello stato attuale e
della direzione futura della tecnologia richiede una discussione completa dei
relativi standard.
 Esempi del mondo reale – Un certo numero di capitoli include una sezione che
mostra l’applicazione pratica dei principi di quel capitolo in un ambiente del
mondo reale.

Struttura del testo


Il libro copre le seguenti aree:
 Tecnologia e principi di sicurezza informatica
 Sicurezza del software e dei sistemi
Prefazione ix

 Problemi di gestione
 Fiducia reciproca
 Sicurezza della rete e di Internet
con una organizzazione che prevede 15 capitoli nell’edizione cartacea in italiano
e 4 capitoli fruibili online in inglese. Il testo include un ampio glossario, un elenco
di acronimi usati di frequente e una bibliografia. Ogni capitolo include problemi
per i compiti, domande di revisione, un elenco di parole chiave e suggerimenti per
ulteriori letture.

Ringraziamenti
Questa edizione gode della revisione di numerose persone che hanno offerto ge-
nerosamente il loro tempo e la loro esperienza per rivedere le edizioni in lingua
inglese. Le seguenti persone hanno rivisto tutto o gran parte del testo di Crypto-
graphy and Network Security: Hossein Beyzavi (Marymount University), Donald
F. Costello (University of Nebraska Lincoln), James Haralambides (Barry Univer-
sity), Tenette Prevatte (Fayetteville Technical Community College), Anand See-
tharam (California State University Monterey Bay), Tenette Prevatte (Fayetteville
Technical Community College), Marius C. Silaghi (Florida Institute of Technolo-
gy), Shambhu Upadhyaya (University at Buffalo), Rose Volynskiy (Howard Com-
munity College), Katherine Winters (University of Tennessee at Chattanooga),
Zhengping Wu (California State University at San Bernardino), Liangliang Xiao
(Frostburg State University), Seong-Moo (Sam) Yoo (The University of Alabama
in Huntsville), e Hong Zhang (Armstrong State University).
Dettagliate revisioni tecniche di uno o più capitoli sono state fornite dalle
seguenti persone: Amaury Behague, Olivier Blazy, Dhananjoy Dey, Matt Frost,
Markus Koskinen, Manuel J. Martínez, Veena Nayak, Pritesh Prajapati, Bernard
Roussely, Jim Sweeny, Jim Tunnicliffe e Jose Rivas Vidal.
Inoltre, sono state fatte recensioni di singoli argomenti da “guru dell’area te-
matica”, tra cui Jesse Walker di Intel (Intel’s Digital Random Number Generator),
Russ Housley di Vigil Security (key wrapping), Joan Daemen (AES), Edward F.
Schaefer della Santa Clara University (AES semplificato), Tim Mathews, ex RSA
Laboratories (S/MIME), Alfred Menezes dell’Università di Waterloo (crittografia
a curva ellittica), William Sutton, editore di The Cryptogram ( cifratura classica),
Avi Rubin della Johns Hopkins University (teoria dei numeri), Michael Markowi-
tz di Information Security Corporation (SHA e DSS), Don Davis di IBM Internet
Security Systems (Kerberos), Steve Kent di BBN Technologies (X.509), e Phil
Zimmerman (PGP).
Nikhil Bhargava (IIT Delhi) ha sviluppato il set di problemi e soluzioni per
i compiti online. Dan Shumow di Microsoft e dell’Università di Washington ha
sviluppato tutti gli esempi e i compiti di Sage. Il professor Sreekanth Malladi
della Dakota State University ha sviluppato gli esercizi di hacking. Lawrie Brown
dell’Australian Defence Force Academy ha fornito i progetti sui cifrari a blocchi
AES/DES e i compiti di valutazione della sicurezza.
Sanjay Rao e Ruben Torres della Purdue University hanno sviluppato gli eser-
cizi di laboratorio che appaiono nell’IRC. Le seguenti persone hanno contribui-
to alle assegnazioni dei progetti che appaiono nel supplemento per l’istruttore:
Henning Schulzrinne (Columbia University); Cetin Kaya Koc (Oregon State Uni-
versity); e David Balenson (Trusted Information Systems e George Washington
University). Kim McLaughlin ha sviluppato il banco di prova.
x Prefazione

La quarta edizione di Computer Security ha beneficiato della revisione di un


certo numero di persone, che hanno dedicato generosamente il loro tempo e la loro
competenza. I seguenti professori e istruttori hanno recensito tutto o gran parte del
manoscritto: Bernardo Palazzi (Brown University), Jean Mayo (Michigan Tech-
nological University), Scott Kerlin (University of North Dakota), Philip Camp-
bell (Ohio University), Scott Burgess (Humboldt State University), Stanley Wine
(Hunter College/CUNY) e E. Mauricio Angee (Florida International University).
Dettagliate revisioni tecniche di uno o più capitoli sono state fornite dalle
seguenti persone: Umair Manzoor (UmZ), Adewumi Olatunji (FAGOSI Systems,
Nigeria), Rob Meijer, Robin Goodchil, Greg Barnes (Inviolate Security LLC), Ar-
turo Busleiman (Buanzo Consulting), Ryan M. Speers (Dartmouth College), Wy-
nand van Staden (School of Computing, University of South Africa), Oh Sieng
Chye, Michael Gromek, Samuel Weisberger, Brian Smithson (Ricoh Americas
Corp, CISSP), Josef B. Weiss (CISSP), Robbert-Frank Ludwig (Veenendaal, Ac-
tStamp Information Security), William Perry, Daniela Zamfiroiu (CISSP), Rodri-
go Ristow Branco, George Chetcuti (editor tecnico, TechGenix), Thomas Johnson
(direttore della sicurezza delle informazioni presso una holding bancaria a Chica-
go, CISSP), Robert Yanus (CISSP), Rajiv Dasmohapatra (Wipro Ltd), Dirk Ko-
tze, Ya’akov Yehudi e Stanley Wine (docente aggiunto, dipartimento di sistemi
informatici, Zicklin School of Business, Baruch College).
Il Dr. Lawrie Brown desidera innanzitutto ringraziare Bill Stallings per il pia-
cere di lavorare con lui per produrre questo testo. Inoltre, ringrazia i suoi colleghi
della School of Engineering and Information Technology, UNSW Canberra pres-
so l’Australian Defense Force Academy per il loro incoraggiamento e supporto.
In particolare, gli autori dei volumi originali ringraziano Gideon Creech, Edward
Lewis e Ben Whitham per la discussione e la revisione di alcuni contenuti.

Note sugli autori


Il Dr. William Stallings è autore di 18 libri di testo e, contando le edizioni re-
visionate, di oltre 70 libri sulla sicurezza dei computer, sulle reti di computer e
sull’architettura dei computer. I suoi scritti sono apparsi in numerose pubblicazio-
ni ACM e IEEE, tra cui i Proceedings of the IEEE and ACM Computing Reviews.
Per tredici volte ha ricevuto il premio per il miglior libro di testo di Computer
Science dell’anno dalla Text and Academic Authors Association.
Durante più di trent’anni nel settore, è stato collaboratore tecnico, manager
tecnico e dirigente in diverse aziende dall’alto profilo tecnologico. Ha progettato e
implementato suite di protocolli basati su TCP/IP e OSI per vari computer e siste-
mi operativi, dai microcomputer sino ai mainframe. Attualmente è un consulente
indipendente i cui clienti includono produttori e utenti di computer e reti, aziende
di sviluppo software e istituti di ricerca governativi all’avanguardia.
Ha creato e gestisce il Computer Science Student Resource Site all’indiriz-
zo http://www.computersciencestudent.com/. Questo sito fornisce documenti e
link su una varietà di argomenti di interesse generale per studenti di informati-
ca e professionisti. È membro del comitato editoriale di “Cryptologia”, una rivista
accademica dedicata a tutti gli aspetti della crittografia.
Il Dr. Stallings ha conseguito un dottorato di ricerca presso il Massachusetts
Institute of Technology in informatica e una laurea in ingegneria elettrica presso
la Notre Dame University.
Il Dr. Lawrie Brown è un docente senior in visita presso la School of En-
gineering and Information Technology, UNSW Canberra presso l’Australian De-
fense Force Academy.
Prefazione xi

I suoi interessi professionali includono sicurezza e crittografia delle comuni-


cazioni e dei sistemi informatici, compresa la ricerca su comunicazioni pseudo-
anonime, autenticazione, sicurezza e problemi di fiducia in ambienti Web, la pro-
gettazione di ambienti di esecuzione di codice remoto sicuri utilizzando il lin-
guaggio funzionale Erlang e sulla progettazione e implementazione della famiglia
di cifrari a blocchi LOKI.
Durante la sua carriera ha tenuto corsi di crittografia, sicurezza informatica,
comunicazione dati, strutture dati e programmazione in Java a studenti universitari
e post-laurea.

Curatori dell’edizione italiana


Alessandra De Paola è attualmente professoressa associata di ingegneria infor-
matica. I suoi attuali interessi di ricerca includono l’intelligenza artificiale applica-
ta a sistemi distribuiti, reti di sensori wireless, intelligenza ambientale e sicurezza
delle reti.
Giuseppe Lo Re è professore ordinario di ingegneria informatica presso l’Uni-
versità di Palermo. I suoi attuali interessi di ricerca ricadono nell’area delle reti
di computer e dei sistemi distribuiti, con particolare attenzione ai sistemi di repu-
tazione e sicurezza. È membro senior dell’IEEE e dell’Association for Computer
Machinery.

Note dei curatori dell’edizione italiana


Si ringraziano tutte le persone che hanno lavorato alla traduzione dei due volumi
in italiano e hanno contribuito a rivedere diversi capitoli, mettendo a disposizione
la propria competenza ed esperienza: Vincenzo Agate, Antonio Bordonaro, Aldo
Maria Bracco, Damiano Cupani, Marco Curaba, Andrea Giammanco, Lara Mauri
e Marco Morana.
Infine, si ringrazia il personale della Pearson Italia, in particolare Chiara
Tartara e Micaela Guerra, che hanno reso possibile la realizzazione di questo
progetto editoriale.
Pearson MyLab
UN AMBIENTE PER LO STUDIO

L’attività di apprendimento di questo corso continua in MyLab, l’ambiente digitale per lo


studio che completa il libro offrendo risorse didattiche fruibili sia in modo autonomo sia
per assegnazione del docente. Il codice sulla copertina di questo libro consente l’ accesso
per 18 mesi a MyLab.

COME ACCEDERE

1. Registrati come studente universitario all’indirizzo registrazione.pearson.it (Se sei già


registrato passa al punto successivo);
2. effettua il login alla tua MyPearsonPlace all’indirizzo www.pearson.it/place e registra il
prodotto digitale cliccando su Attiva prodotto ed inserendo il codice presente in copertina;
3. entra nella sezione Prodotti e clicca sul tasto AVVIA presente di fianco all’immagine della
copertina del testo;
4. clicca su classe MyLab studio autonomo o, in alternativa, su
Iscriviti a una classe ed inserisci il codice classe indicato dal tuo
docente.

CHE COSA CONTIENE

MyLab offre la possibilità di accedere al Manuale online: l’edizione digitale del testo arric-
chita da funzionalità che permettono di personalizzarne la fruizione, attivare la sintesi vocale,
inserire segnalibri.
Inoltre la piattaforma digitale MyLab integra e monitora il percorso individuale di studio
con attività formative e valutative specifiche. La loro descrizione dettagliata è consulta-
bile nella pagina di catalogo dedicata al libro, all’indirizzo link.pearson.it/B56C0AFE oppure
tramite il presente QR code.
CAPITOLO

1 Concetti di sicurezza
dei computer e delle reti
OBIETTIVI DI APPRENDIMENTO
Dopo aver studiato questo capitolo, il lettore sarà in grado di:
Sommario del capitolo I descrivere i requisiti chiave di sicurezza quali confidenzialità, integrità
e disponibilità;
1.1 Concetti di sicurezza informatica I discutere i tipi di minacce e attacchi di sicurezza che devono essere affrontati
1.2 Minacce, attacchi e risorse e fornire esempi dei tipi di minacce e attacchi che si applicano a diverse
categorie di computer e risorse di rete;
1.3 Requisiti funzionali di sicurezza I sintetizzare i requisiti funzionali per la sicurezza dei computer e delle reti
di calcolatori;
1.4 Principi fondamentali
di progettazione della sicurezza I spiegare i principi fondamentali di progettazione della sicurezza;
I discutere l’uso delle superfici di attacco e degli alberi di attacco;
1.5 Superfici di attacco
e alberi di attacco I comprendere gli aspetti principali di una strategia di sicurezza completa.

1.6 Sicurezza delle reti


1.7 Strategia di sicurezza informatica Questo capitolo fornisce una visione d’insieme sulla sicurezza informa-
tica. Iniziamo con una discussione su cosa intendiamo per sicurezza in-
1.8 Gli standard formatica. In sostanza, la sicurezza informatica si occupa di risorse in-
1.9 Termini chiave, domande di ripasso formatiche che sono soggette a una varietà di minacce e per le quali si
e problemi adottano varie misure per la loro protezione. Di conseguenza, la prossima
sezione di questo capitolo fornisce una breve panoramica delle catego-
rie di risorse informatiche che gli utenti e i gestori di sistema desiderano
preservare e proteggere, e uno sguardo alle varie minacce e agli attacchi
che possono essere condotti su queste risorse. In seguito, esaminiamo
le misure che possono essere adottate per affrontare tali minacce e at-
tacchi. Lo facciamo da tre diversi punti di vista, nei Paragrafi da 1.3 a
1.5. Successivamente delineiamo una strategia di sicurezza informatica
in termini generali.
Il focus di questo capitolo, e in effetti di questo libro, è su tre
questioni fondamentali:
1. Quali risorse dobbiamo proteggere?
2. Come vengono minacciate tali risorse?
3. Cosa possiamo fare per contrastare tali minacce?

1.1 Concetti di sicurezza informatica


Una definizione di sicurezza informatica
Il NIST Internal/Interagency Report NISTIR 7298 (Glossary of Key In-
formation Security Terms, maggio 2013) definisce il termine sicurezza
informatica come segue:
CAPITOLO

2 Autenticazione
degli utenti
OBIETTIVI DI APPRENDIMENTO
Dopo aver studiato questo capitolo, il lettore sarà in grado di:
Sommario del capitolo I discutere i quattro strumenti generali per autenticare l’identità di un utente;
I spiegare il meccanismo con cui i valori hash delle password vengono utilizzati
2.1 Principi di autenticazione digitale per l’autenticazione dell’utente;
degli utenti
I comprendere l’uso del filtro di Bloom nella gestione delle password;
2.2 Autenticazione basata su password I presentare una visione d’insieme sull’autenticazione degli utenti basata su
token.
2.3 Autenticazione basata su token
2.4 Autenticazione biometrica
Nella maggior parte dei contesti di sicurezza informatica, l’autenticazio-
2.5 Problemi di sicurezza per ne degli utenti costituisce il tassello di costruzione fondamentale e la
l’autenticazione degli utenti
prima linea di difesa. L’autenticazione degli utenti è la base per la mag-
2.6 Termini chiave, domande di ripasso gior parte dei tipi di controllo degli accessi e per il tracciamento delle
e problemi attività degli utenti. L’autenticazione degli utenti comprende due funzio-
ni. In prima istanza, l’utente si identifica presso il sistema presentando
una credenziale, come l’ID utente. In seconda istanza, il sistema verifica
l’utente attraverso lo scambio di informazioni di autenticazione.
Per esempio, l’utente Alice Toklas potrebbe avere l’identificatore
utente ABTOKLAS. Questa informazione deve essere memorizzata su
qualsiasi server o sistema informatico che Alice desidera utilizzare, e
potrebbe essere nota agli amministratori di sistema e agli altri utenti.
Una tipica informazione di autenticazione associata a questo ID utente è
una password, che è tenuta segreta (nota solo ad Alice e al sistema).1 Se
nessuno è in grado di ottenere o indovinare la password di Alice, allora
la combinazione di ID utente e password di Alice permette agli ammini-
stratori di impostare i permessi di accesso di Alice e di controllare la sua
attività. Poiché l’ID di Alice non è segreto, gli utenti del sistema possono
inviarle e-mail, ma poiché la sua password è segreta, nessuno può fingere
di essere Alice.
In sostanza, l’identificazione è il processo con cui un utente fornisce
al sistema un’identità presunta; l’autenticazione dell’utente è il modo per
stabilire la validità della identità presunta. Si noti che l’autenticazione
degli utenti è diversa dall’autenticazione dei messaggi. L’autenticazione
dei messaggi è una procedura che permette alle parti comunicanti di ve-
rificare che il contenuto di un messaggio ricevuto non sia stato alterato e
che la fonte sia autentica.

1
Tipicamente, la password è memorizzata sotto forma di valore hash sul server e
questo codice hash può non essere mantenuto segreto, come spiegato successivamente
in questo capitolo.
32 Capitolo 2 – Autenticazione degli utenti

Questo capitolo riguarda esclusivamente l’autenticazione degli utenti. For-


nisce, inoltre, dapprima una panoramica dei diversi strumenti di autenticazione
dell’utente, quindi esamina ciascuno di essi in dettaglio.

2.1 Principi di autenticazione digitale degli utenti


La SP 800-63-3 del NIST (Digital Authentication Guideline, ottobre 2016) defi-
nisce l’autenticazione digitale degli utenti come il processo per stabilire la fiducia
nelle identità degli utenti che sono presentate elettronicamente a un sistema infor-
mativo. I sistemi possono utilizzare l’identità autenticata per determinare se l’indi-
viduo autenticato è autorizzato a svolgere particolari funzioni, come le transazioni
su un database o l’accesso alle risorse del sistema. In molti casi, l’autenticazione
e la transazione, o altre funzioni autorizzate, avvengono attraverso una rete aperta
come Internet. Allo stesso modo, l’autenticazione e la successiva autorizzazione
possono avvenire localmente, attraverso una LAN. La Tabella 2.1, tratta dalla SP
800-171 del NIST (Protecting Controlled Unclassified Information in Nonfederal
Information Systems and Organizations, dicembre 2016), fornisce un utile elenco
di requisiti di sicurezza per i servizi di identificazione e autenticazione.

Un modello per l’autenticazione digitale degli utenti


La SP 800-63-3 del NIST definisce un modello generale per l’autenticazione degli
utenti che prevede una serie di entità e procedure. Discutiamo questo modello
facendo riferimento alla Figura 2.1.

Tabella 2.1
Requisiti di sicurezza Requisiti di sicurezza di base
per l’identificazione
e l’autenticazione 1 Identificare gli utenti del sistema informativo, i processi o i dispositivi che
(SP 800-171 del NIST). agiscono per conto degli utenti.
2 Autenticare (o verificare) le identità di quegli utenti, processi o dispositivi, come
prerequisito per permettere l’accesso ai sistemi informativi dell’organizzazione.
Requisiti di sicurezza derivati
3 Usare l’autenticazione a più fattori per l’accesso locale e di rete agli account con
privilegi e per l’accesso di rete agli account senza privilegi.
4 Impiegare meccanismi di autenticazione resistenti all’attacco di replay per
l’accesso di rete agli account con privilegi e senza privilegi.
5 Evitare la riutilizzazione degli identificatori per un periodo definito.
6 Disabilitare gli identificatori dopo un periodo definito di inattività.
7 Imporre una complessità minima delle password e un cambio di caratteri quando
vengono create nuove password.
8 Proibire la riutilizzazione delle password per un determinato numero di
generazioni.
9 Permettere l’uso di una password temporanea per gli accessi al sistema con
cambiamento immediato in una password permanente.
10 Memorizzare e trasmettere solo password protette crittograficamente.
11 Oscurare il risultato delle informazioni di autenticazione.
2.1 Principi di autenticazione digitale degli utenti 33

Figura 2.1
Registrazione, rilascio di credenziali e manutenzione Architettura di
autenticazione elettronica
del NIST SP 800-63-3.
Autorità di Sessione autenticata
Verifica dell’identità Sottoscrittore/ Parte che
registrazione
Registrazione dell’utente richiedente si fida (RP)
(RA)
Pr
Conferma della ot Asserzione
le e oc
registrazione zia on ol autenticata
d en issi Sc lo a
re m am ute
, c e/e n
bi ti
ken ion o ca
To straz to
gi
Re
Fornitore Token/credenziale
del servizio di Controllore
Validazione
credenziali (CSP)
Autenticazione elettronica
usando token e credenziali

Il requisito iniziale per eseguire l’autenticazione dell’utente è che l’utente deve


essere registrato presso il sistema. Una tipica sequenza per la registrazione è la
seguente. Un richiedente si rivolge a un’autorità di registrazione (RA) per di-
ventare un sottoscrittore presso un fornitore del servizio di credenziali (CSP).
In questo modello, la RA è un’entità fidata che stabilisce e garantisce l’identità di
un richiedente a un CSP. Il CSP poi intrattiene uno scambio con il sottoscrittore.
In base ai dettagli del sistema di autenticazione complessivo, il CSP rilascia una
qualche tipo di credenziale elettronica al sottoscrittore. La credenziale è una strut-
tura dati che autoritativamente collega un’identità e attributi aggiuntivi a un token
posseduto da un sottoscrittore e può essere verificata quando viene presentata al
controllore in una transazione di autenticazione. Il token potrebbe essere una chia-
ve crittografica o una password cifrata che identifica il sottoscrittore. Può essere
emesso dal CSP, generato direttamente dal sottoscrittore o fornito da una terza
parte. Il token e la credenziale possono essere usati in eventi di autenticazione
successivi.
Una volta che un utente è registrato come sottoscrittore, il processo di autenti-
cazione effettivo può avvenire tra il sottoscrittore e uno o più sistemi che eseguono
l’autenticazione e, quindi, l’autorizzazione. La parte che deve essere autenticata
è chiamata claimant (richiedente) e la parte che verifica tale identità è chiamata
verifier (verificatore). Quando un richiedente dimostra con successo al verificato-
re il possesso e il controllo di un token attraverso un protocollo di autenticazione,
il verificatore può accertare che il richiedente è il sottoscrittore indicato nella cre-
denziale corrispondente. Il verificatore trasmette un’asserzione circa l’identità del
sottoscrittore alla relying party (RP) (parte che si fida). Tale asserzione include
informazioni sull’identità del sottoscrittore, come il nome, un identificatore asse-
gnato al momento della registrazione, o altri attributi del sottoscrittore che sono
stati verificati nel processo di registrazione. L’RP può usare le informazioni au-
tenticate fornite dal verificatore per prendere decisioni di controllo dell’accesso o
di autorizzazione.
Un sistema per l’autenticazione realmente in uso sarà diverso o più complesso
del modello semplificato appena presentato, tuttavia quest’ultimo illustra i ruoli
chiave e le funzioni necessarie per un sistema di autenticazione sicuro.
34 Capitolo 2 – Autenticazione degli utenti

Mezzi di autenticazione
Esistono quattro mezzi generali per autenticare l’identità di un utente, che possono
essere usati da soli o in combinazione.
 Qualcosa che l’individuo conosce – Alcuni esempi includono una password,
un numero di identificazione personale (PIN), o le risposte a una serie di do-
mande prestabilite.
 Qualcosa che l’individuo possiede – Alcuni esempi sono le keycard elettroni-
che, le smart card e le chiavi fisiche. Questo tipo di strumento di autenticazione
viene chiamato token.
 Qualcosa che l’individuo è (biometria statica) – Alcuni esempi sono il rico-
noscimento tramite impronta digitale, retina e volto.
 Qualcosa che l’individuo fa (biometria dinamica) – Alcuni esempi sono il
riconoscimento del modello di voce, le caratteristiche della scrittura a mano e
il ritmo di battitura.
Tutti questi metodi, correttamente implementati e utilizzati, possono fornire un’au-
tenticazione sicura dell’utente. Tuttavia, ogni metodo presenta dei problemi. Un
avversario può essere in grado di indovinare o rubare una password. Allo stes-
so modo, un avversario può essere in grado di falsificare o rubare un token. Un
utente può dimenticare una password o perdere un token. Inoltre, c’è un significa-
tivo sovraccarico amministrativo per la gestione delle informazioni su password
e token e per la protezione di tali informazioni all’interno dei sistemi. Per quan-
to riguarda i sistemi di autenticazione biometrici, esiste una varietà di problemi,
tra cui la gestione dei falsi positivi e dei falsi negativi, il consenso dell’utente, il
costo e la convenienza. L’autenticazione multifattore si riferisce all’uso di più
di uno dei mezzi di autenticazione presentati nella lista precedente (vedi Figura
2.2). La forza dei sistemi di autenticazione è ampiamente determinata dal numero
di fattori incorporati dal sistema. Le implementazioni che usano due fattori sono
considerate più forti di quelle che usano un solo fattore; i sistemi che incorporano
tre fattori sono più forti di quelli che ne incorporano solo due e così via.

Figura 2.2 Logica di autenticazione Logica di autenticazione


Autenticazione multifattore. che usa il primo fattore che usa il secondo fattore
io i
az d

io i
ne

az d
ic lo

ne
ic lo
nt ol

nt ol
te oc

te oc
au rot

au rot
P

Supera Supera

Fallisce Fallisce
Client Client
2.1 Principi di autenticazione digitale degli utenti 35

Valutazione dei rischi per l’autenticazione degli utenti


La valutazione dei rischi di sicurezza in generale è trattata nel Capitolo 18 online.
Qui, introduciamo un esempio specifico in relazione all’autenticazione degli uten-
ti. Ci sono tre concetti separati che vogliamo mettere in relazione l’uno con l’altro:
il livello di garanzia, l’impatto potenziale e le aree di rischio.
Livello di garanzia − Un livello di garanzia descrive il grado di certezza da parte
di un’organizzazione che un utente abbia presentato una credenziale che si rife-
risce alla propria identità. Più specificamente, la garanzia è definita come (1) il
grado di fiducia nel processo di controllo utilizzato per stabilire l’identità dell’in-
dividuo a cui la credenziale è stata rilasciata e (2) il grado di fiducia che l’individuo
che utilizza la credenziale sia l’individuo a cui la credenziale è stata rilasciata. La
SP 800-63-3 riconosce quattro livelli di garanzia.
 Livello 1 – Scarsa o nessuna fiducia nella validità dell’identità asserita. Un
esempio di dove questo livello è appropriato è rappresentato da un cliente che
si registra per partecipare a una discussione nel forum di un sito web di un’a-
zienda. La tipica tecnica di autenticazione a questo livello sarebbe un ID e una
password forniti dall’utente al momento della transazione.
 Livello 2 – Una discreta fiducia nella validità dell’identità asserita. Le cre-
denziali di Livello 2 sono appropriate per una vasta gamma di attività con il
pubblico dove le organizzazioni richiedono una asserzione iniziale di identità
(i cui dettagli sono verificati indipendentemente prima di qualsiasi azione). A
questo livello, è necessario utilizzare un qualche tipo di protocollo di autentica-
zione sicuro, insieme a uno dei mezzi di autenticazione riassunti in precedenza
e discussi nei paragrafi successivi.
 Livello 3 – Alta fiducia nella validità dell’identità asserita. Questo livello è ap-
propriato per permettere ai clienti o agli impiegati di accedere a servizi riservati
di alto valore, ma non del valore massimo. Un esempio per cui questo livello è
appropriato è il seguente: un avvocato di brevetti presenta elettronicamente in-
formazioni riservate sui brevetti all’Ufficio Marchi e Brevetti degli Stati Uniti.
Una divulgazione impropria darebbe ai concorrenti un vantaggio competitivo.
Le tecniche che dovrebbero essere usate a questo livello richiedono più di un
fattore di autenticazione; cioè, devono essere usate almeno due tecniche di au-
tenticazione indipendenti.
 Livello 4 – Fiducia molto alta nella validità dell’identità asserita. Questo livel-
lo è appropriato per permettere ai clienti o agli impiegati di accedere a servizi
riservati di valore molto alto o per i quali un accesso improprio è molto perico-
loso. Per esempio, un funzionario delle forze dell’ordine accede a un database
delle forze dell’ordine contenente registri giudiziari. L’accesso non autorizzato
potrebbe sollevare problemi di privacy e/o compromettere le indagini. In gene-
re, l’autenticazione di livello 4 richiede l’uso di più fattori e la registrazione in
presenza.

Impatto potenziale − Un concetto strettamente legato a quello di livello di garan-


zia è l’impatto potenziale. Il FIPS 199 (Standards for Security Categorization of
Federal Information and Information Systems, 2004) definisce tre livelli di impat-
to potenziale su organizzazioni o individui in caso di violazione della sicurezza
(nel nostro contesto, un fallimento nell’autenticazione dell’utente).
 Basso – Ci si aspetta che un errore di autenticazione possa avere un limitato ef-
fetto negativo sulle operazioni organizzative, sulle risorse organizzative o sugli
36 Capitolo 2 – Autenticazione degli utenti

individui. Più specificamente, possiamo dire che l’errore potrebbe: (1) causare
una degradazione della capacità operativa in misura e durata tali che l’organiz-
zazione sia in grado di eseguire le sue funzioni primarie, ma l’efficacia delle
funzioni sia notevolmente ridotta; (2) causare un danno minore alle risorse or-
ganizzative; (3) causare una perdita finanziaria minore all’organizzazione o agli
individui; o (4) causare un danno minore agli individui.
 Moderato – Ci si aspetta che un errore di autenticazione possa avere un grave
effetto negativo. Più specificamente, l’errore potrebbe: (1) causare una degra-
dazione significativa della capacità operativa in misura e durata tali che l’or-
ganizzazione è in grado di eseguire le sue funzioni primarie, ma l’efficacia
delle funzioni è significativamente ridotta; (2) causare un danno significativo
alle risorse organizzative; (3) causare una perdita finanziaria significativa; o (4)
causare un danno significativo agli individui che non comporta la perdita della
vita o lesioni gravi potenzialmente letali.
 Alto – Ci si aspetta che un errore di autenticazione abbia un effetto negativo
grave o catastrofico. L’errore potrebbe: (1) causare una grave degradazione o
perdita della capacità operativa in misura e durata tali che l’organizzazione non
sia in grado di svolgere una o più delle sue funzioni primarie; (2) provocare
gravi danni ai beni dell’organizzazione; (3) provocare gravi perdite finanziarie
all’organizzazione o agli individui; o (4) provocare un danno grave o catastrofi-
co agli individui che comporta la perdita della vita o lesioni gravi che mettono
in pericolo la vita.

Aree di rischio − La corrispondenza tra l’impatto potenziale e il livello appro-


priato di garanzia che è soddisfacente per affrontare l’impatto potenziale dipende
dal contesto. La Tabella 2.2 mostra una possibile corrispondenza per i differenti
rischi a cui un’organizzazione può essere esposta. Questa tabella suggerisce una
tecnica per effettuare la valutazione dei rischi. Per un dato sistema informativo o
risorsa di servizio, l’organizzazione a cui appartiene deve determinare il livello di
impatto se si verifica un errore di autenticazione, usando le categorie di impatto,
o aree di rischio, che destano preoccupazione.
Per esempio, si consideri la potenziale perdita finanziaria se si verifica un
errore di autenticazione che si traduce in un accesso non autorizzato a un database.
In base alla natura del database, l’impatto potrebbe essere:
 Basso – Nel peggiore dei casi, una perdita finanziaria non recuperabile insigni-
ficante o irrilevante per qualsiasi parte, o una responsabilità dell’organizzazione
insignificante o irrilevante.
 Moderato – Nella peggiore delle ipotesi, una grave perdita finanziaria irrecu-
perabile per qualsiasi parte, o una grave responsabilità dell’organizzazione.
 Alto – grave o catastrofica perdita finanziaria irrecuperabile per qualsiasi parte;
grave o catastrofica responsabilità dell’organizzazione.

La tabella indica che se l’impatto potenziale è basso, un livello di garanzia pari


a 1 è adeguato. Se l’impatto potenziale è moderato, si dovrebbe raggiungere un
livello di garanzia pari a 2 o 3. Se l’impatto potenziale è alto, dovrebbe essere
implementato un livello di garanzia pari a 4. Un’analisi simile può essere esegui-
ta per le altre categorie mostrate nella tabella. L’analista può quindi scegliere un
livello di garanzia tale da soddisfare o superare i requisiti di garanzia in ciascuna
delle categorie elencate nella tabella. Così, per esempio, per un dato sistema, se
2.2 Autenticazione basata su password 37

Tabella 2.2 Massimo impatto potenziale per ciascun livello di garanzia.

Profili di impatto per livello di garanzia

Categorie di impatto potenziale per errori di autenticazione 1 2 3 4

Inconveniente, disagio o danno alla posizione o alla reputazione Basso Moderato Moderato Alto

Perdita finanziaria o instabilità dell’organizzazione Basso Moderato Moderato Alto

Danneggiamento dei programmi o degli interessi dell’organizzazione Nessuno Basso Moderato Alto

Divulgazione non autorizzata di informazioni sensibili Nessuno Basso Moderato Alto

Sicurezza personale Nessuno Nessuno Basso Mod/


Alto

Violazioni civili o penali Nessuno Basso Moderato Alto

una qualsiasi delle categorie d’impatto ha un impatto potenziale alto, o se la cate-


goria della sicurezza personale ha un impatto potenziale moderato o alto, allora il
livello di garanzia 4 dovrebbe essere implementato.

2.2 Autenticazione basata su password


Una linea di difesa ampiamente utilizzata contro gli intrusi è il sistema basato
su password. Praticamente tutti i sistemi multiutente, i server connessi in rete, i
siti di e-commerce presenti sul Web e altri servizi simili richiedono che un utente
fornisca non solo un nome o un identificatore (ID) ma anche una password. Il
sistema confronta la password con una password precedentemente memorizzata
per quell’ID utente, mantenuta in un file delle password di sistema. La password
serve ad autenticare l’ID dell’individuo che accede al sistema. A sua volta, l’ID
fornisce sicurezza nei seguenti modi:
 L’ID determina se l’utente è autorizzato ad accedere a un sistema. In alcuni si-
stemi, solo coloro che hanno già un ID depositato nel sistema sono autorizzati
ad accedere.
 L’ID determina i privilegi accordati all’utente. Alcuni utenti possono avere lo
status di amministratore o “superuser” che permette loro di leggere i file e di
eseguire funzioni che sono protette in modo particolare dal sistema operativo.
Alcuni sistemi hanno account guest o anonimi, e gli utenti di questi account
hanno privilegi più limitati degli altri.
 L’ID è usato in quello che viene chiamato controllo degli accessi discrezionale.
Per esempio, elencando gli ID degli altri utenti, un utente può concedere loro il
permesso di leggere i file di sua proprietà.

Vulnerabilità delle password


In questo sottoparagrafo delineiamo le principali forme di attacco contro l’au-
tenticazione basata su password e illustriamo brevemente una strategia di con-
tromisure. Il resto del Paragrafo 2.2 entra più in dettaglio sulle contromisure
principali.
38 Capitolo 2 – Autenticazione degli utenti

Tipicamente, un sistema che usa l’autenticazione basata su password man-


tiene un file di password indicizzato per ID utente. Una tecnica usata di solito
è quella di non memorizzare la password dell’utente, ma il valore ottenuto ap-
plicando una funzione hash monodirezionale sulla password, come descritto in
seguito.
Possiamo identificare le seguenti strategie di attacco e contromisure.
 Attacco offline basato su un dizionario – In genere, vengono utilizzati rigidi
controlli di accesso per proteggere il file delle password del sistema. Tuttavia,
l’esperienza mostra che hacker motivati possono spesso bypassare tali controlli
e ottenere l’accesso al file. L’attaccante ottiene il file delle password di siste-
ma e confronta gli hash delle password con gli hash delle password di uso
comune. Se viene trovata una corrispondenza, l’attaccante può ottenere l’ac-
cesso con quella combinazione ID/password. Le contromisure includono con-
trolli per prevenire l’accesso non autorizzato al file delle password, misure di
rilevamento delle intrusioni per identificare una compromissione e una rapida
rigenerazione delle password nel caso in cui il file delle password venga com-
promesso.
 Attacco a un account specifico – L’attaccante prende di mira un account speci-
fico e inserisce dei tentativi di password finché non viene scoperta la password
corretta. La contromisura standard è un meccanismo di blocco dell’account,
che blocca l’accesso all’account dopo un certo numero di tentativi di accesso
falliti. La prassi tipica è non più di cinque tentativi di accesso.
 Attacco con password comuni – Una variante dell’attacco precedente con-
siste nell’utilizzare una password usata comunemente e provarla contro una
vasta gamma di ID utente. La tendenza di un utente è quella di scegliere una
password che sia facilmente ricordabile; questo purtroppo rende la password
facile da indovinare. Le contromisure includono politiche per inibire agli utenti
la scelta di password comuni, la scansione degli indirizzi IP da cui provengo-
no le richieste di autenticazione e cookie dei client per monitorare sequenze di
sottomissioni.
 Indovinare la password di un singolo utente – L’attaccante tenta di acquisire
le conoscenze sul titolare dell’account e sulle politiche di gestione delle pas-
sword del sistema e usa tali conoscenze per indovinare la password. Le con-
tromisure includono l’educazione e l’imposizione di politiche di gestione delle
password che rendano le password difficili da indovinare. Tali politiche riguar-
dano la segretezza, la lunghezza minima della password, il set di caratteri, il
divieto di usare identificatori utente ben noti e la durata temporale prima che la
password debba essere cambiata.
 Appropriazione di una workstation – L’attaccante aspetta che una worksta-
tion con login attivo sia incustodita. La contromisura standard è il logout auto-
matico della workstation dopo un periodo di inattività. Schemi di rilevamento
delle intrusioni possono essere usati per rilevare i cambiamenti nel comporta-
mento degli utenti.
 Sfruttare gli errori dell’utente – Se il sistema assegna una password, è più
probabile che l’utente la scriva perché è difficile da ricordare. Questa situa-
zione crea la possibilità per un avversario di leggere la password scritta. Un
utente potrebbe, per esempio, intenzionalmente condividere una password, per
permettere a un collega di condividere file. Inoltre, gli attaccanti hanno spes-
so successo nell’ottenere le password usando tattiche di ingegneria sociale che
2.2 Autenticazione basata su password 39

inducono l’utente o un account manager a rivelare una password. Molti siste-


mi informatici sono forniti con password configurate in maniera predefinita per
gli amministratori di sistema. Se queste password configurate in maniera pre-
definita non vengano cambiate, possono essere facilmente indovinate. Le con-
tromisure includono l’educazione degli utenti, il rilevamento delle intrusioni e
l’uso di password più semplici combinate con un altro meccanismo di autenti-
cazione.
 Sfruttare l’uso di password multiple – Gli attacchi possono anche diventare
molto più efficaci o dannosi se diversi dispositivi di rete condividono la stessa
password o una password simile per un dato utente. Le contromisure includono
una politica che proibisce la stessa o una password simile su determinati dispo-
sitivi di rete.
 Monitoraggio elettronico – Se una password viene comunicata attraverso una
rete, per accedere a un sistema remoto, diviene vulnerabile alle intercettazioni.
La semplice crittografia non risolve questo problema perché la password cifrata
è, in realta, la password e può essere osservata e riutilizzata da un avversario.
Nonostante le molte vulnerabilità di sicurezza delle password, il loro uso rimane
la tecnica di autenticazione dell’utente più comunemente usata, ed è improbabile
che questo cambi nel prossimo futuro [HERL12]. Tra le ragioni della persistente
popolarità delle password ci sono le seguenti:
1. Le tecniche che utilizzano strumenti hardware lato client, come scanner di im-
pronte digitali e lettori di smart card, richiedono l’implementazione di appro-
priato software di autenticazione utente per sfruttare tale hardware su entrambi
i sistemi client e server. Finché non vi è una diffusa accettazione da una parte,
dall’altra parte vi sarà riluttanza a metterla in atto, così ci ritroviamo con una
situazione di stallo del tipo “chi va per primo”.
2. Token fisici, quali le smart card, sono costosi e/o scomodi da portare in giro,
specialmente se sono necessari più token.
3. Gli schemi che si basano su un single sign-on per più servizi, usando una delle
tecniche senza password descritte in questo capitolo, creano un singolo punto
di rischio per la sicurezza.
4. I gestori automatici di password che sollevano gli utenti dall’onere di conoscere
e inserire le password hanno uno scarso supporto per il roaming e la sincroniz-
zazione su più piattaforme client, e la loro usabilità non è stata adeguatamente
studiata.
Vale la pena, quindi, studiare in dettaglio l’uso delle password per l’autenticazione
degli utenti.

Uso di password hashed


Una tecnica di sicurezza delle password molto utilizzata è l’uso delle password
trasformate da funzioni hash con l’aggiunta di un valore di salt (letteralmente
sale). Questo schema si trova praticamente su tutte le varianti di UNIX e su un
buon numero di altri sistemi operativi. Viene impiegata la seguente procedura
(vedi Figura 2.3a). Per caricare una nuova password nel sistema, l’utente sceglie
o gli viene assegnata una password. Questa password è combinata con un valore
di salt a lunghezza fissa [MORR79]. Nelle implementazioni più vecchie, questo
valore è legato all’istante di tempo in cui la password viene assegnata all’utente.
40 Capitolo 2 – Autenticazione degli utenti

Figura 2.3
Schema delle password
di UNIX.

Password
File delle password
ID utente Salt Codice hash
Salt

Funzione Caricamento
hash lenta

(a) Caricamento di una nuova password

File delle password


ID utente ID utente Salt Codice hash

Salt

Password
Seleziona

Funzione
hash lenta

Hash della password


Confronto
(b) Verifica di una password

Le implementazioni più recenti usano un numero pseudocasuale o casuale. La


password e il salt costituiscono l’input di un algoritmo di hashing per produrre un
codice hash di lunghezza fissa. L’algoritmo di hashing è progettato per essere lento
da eseguire al fine di contrastare gli attacchi. Il codice hash della password viene
poi memorizzato, insieme a una copia in chiaro del salt, nel file delle password
per l’ID utente corrispondente. Il metodo della password hashed si è dimostrato
essere sicuro contro una varietà di attacchi di crittoanalisi [WAGN00].
Quando un utente tenta di accedere a un sistema UNIX, fornisce un ID e
una password (vedi Figura 2.3b). Il sistema operativo usa l’ID come indice per
il file delle password e recupera il salt in chiaro e la password cifrata. Il salt e la
password fornita dall’utente sono usati come input per la routine crittografica. Se
il risultato corrisponde al valore memorizzato, la password viene accettata.
Il salt serve a tre scopi:
 Impedisce che le password duplicate siano visibili nel file delle password. An-
che se due utenti scelgono la stessa password, a quelle password saranno as-
segnati valori di salt diversi. Quindi, gli hash delle password dei due utenti
saranno diversi.
2.2 Autenticazione basata su password 41

 Aumenta notevolmente la difficoltà degli attacchi offline basati su un diziona-


rio. Per un salt di lunghezza di b bit, il numero di possibili password è aumen-
tato di un fattore 2b , aumentando la difficoltà di indovinare una password in un
attacco basato su dizionario.
 Diventa quasi impossibile scoprire se una persona con password su due o più
sistemi ha usato la stessa password su ciascuno di essi.

Per comprendere il secondo punto, si consideri il modo in cui funzionerebbe un


attacco offline basato su dizionario. L’attaccante ottiene una copia del file delle
password. Supponiamo innanzitutto che il salt non sia usato. L’obiettivo dell’at-
taccante è quello di indovinare una singola password. A tal fine, l’attaccante sot-
topone un gran numero di password probabili alla funzione hash. Se uno qualsiasi
dei tentativi corrisponde a uno degli hash nel file, allora l’attaccante ha trovato
una password che si trova nel file. Ma di fronte allo schema UNIX, l’attaccante
deve prendere ogni ipotesi di password e sottoporla alla funzione hash tante volte
quanti sono i possibili valori di salt presenti nel file delle password, aumentando
di conseguenza il numero di ipotesi che devono essere verificate.
Vi sono due minacce allo schema delle password UNIX. In primo luogo, un
utente può ottenere l’accesso su una macchina usando un account ospite o con
qualche altro mezzo e poi eseguire un programma per indovinare le password,
chiamato password cracker, su quella macchina. L’attaccante dovrebbe essere in
grado di verificare molte migliaia di possibili password con poco consumo di
risorse. Inoltre, se un avversario è in grado di ottenere una copia del file delle
password, allora un programma di cracking può essere eseguito su un’altra mac-
china di comodo. Questo permette all’avversario di eseguire milioni di possibili
password in un periodo di tempo ragionevolmente piccolo.
Implementazioni UNIX − Fin dallo sviluppo originale di UNIX, molte implemen-
tazioni si sono basate sul seguente schema di password. Ogni utente sceglie una
password di lunghezza massima di otto caratteri stampabili. Questa viene conver-
tita in un valore di 56 bit (usando ASCII a 7 bit) che serve come chiave di ingresso
per una routine di cifratura. La funzione hash, conosciuta come crypt(3), è basa-
ta su DES. Viene usato un valore di salt a 12 bit. L’algoritmo DES modificato
viene eseguito con dati in input che consistono in un blocco di 64 bit posti a ze-
ro. L’output dell’algoritmo serve poi come input per una seconda cifratura. Questo
processo viene ripetuto per un totale di 25 cifrature. L’uscita a 64 bit risultante vie-
ne poi tradotta in una sequenza di 11 caratteri. La modifica dell’algoritmo DES lo
converte in una funzione hash monodirezionale. La routine crypt(3) è progettata
per scoraggiare attacchi di guessing (letteralmente indovinare). Le implementa-
zioni software di DES sono più lente rispetto le versioni hardware, e l’uso di 25
iterazioni moltiplica il tempo richiesto per 25.
Questa particolare implementazione è ora considerata deplorabilmente inade-
guata. Per esempio, [PERR03] riporta i risultati di un attacco basato su dizionario
utilizzando un supercomputer. L’attacco è stato in grado di elaborare oltre 50 mi-
lioni di tentativi di password in circa 80 minuti. Inoltre, i risultati hanno mostrato
che per circa 10.000 dollari, chiunque dovrebbe essere in grado di fare lo stes-
so in pochi mesi usando una macchina monoprocessore. Nonostante le sue note
debolezze, questo schema UNIX è ancora spesso richiesto per compatibilità con
software di gestione di account esistenti o in ambienti multivendor.
Ci sono altri schemi molto più robusti, basati su hash/salt, disponibili per
UNIX. La funzione hash raccomandata per molti sistemi UNIX, inclusi Linux,
42 Capitolo 2 – Autenticazione degli utenti

Solaris e FreeBSD (un UNIX open source molto usato), è basata sull’algoritmo di
hashing sicuro MD5 (che è simile a, ma non sicuro quanto, SHA-1). La routine
crypt di MD5 usa un salt lungo fino a 48 bit e in effetti non ha limitazioni sulla
lunghezza della password. Produce un valore di hash a 128 bit. È anche molto
più lenta di crypt(3). Per ottenere il rallentamento, la crypt di MD5 usa un ciclo
interno con 1.000 iterazioni.
Probabilmente la versione più sicura dello schema UNIX con hash/salt è stata
sviluppata per OpenBSD, un altro UNIX open source, molto usato. Questo sche-
ma, riportato in [PROV99], usa una funzione hash basata sul cifrario a blocchi
simmetrico Blowfish. La funzione hash, chiamata Bcrypt, è piuttosto lenta da ese-
guire. Bcrypt permette password con lunghezza fino a 55 caratteri e richiede un
valore di salt casuale di 128 bit, per produrre un valore di hash di 192 bit. Bcrypt
include anche una variabile di costo; un aumento della variabile di costo causa un
corrispondente aumento del tempo richiesto per eseguire un hash Bcyrpt. Il costo
assegnato a una nuova password è configurabile, così gli amministratori possono
assegnare costi più alti agli utenti privilegiati.

Cracking delle password scelte dall’utente


Approcci tradizionali − L’approccio tradizionale per scoprire le password (pas-
sword guessing) o, come viene chiamato password cracking, è quello di svilup-
pare un grande dizionario di possibili password e di provare ognuna di queste
rispetto al file delle password. Questo significa che ogni password deve essere
sottoposta a una funzione hash usando ogni valore di salt disponibile e poi con-
frontata con i valori hash memorizzati. Se non viene trovata alcuna corrisponden-
za, il programma di cracking prova variazioni su tutte le parole del suo dizionario
di password probabili. Tali variazioni includono la scrittura inversa delle parole,
numeri aggiuntivi o caratteri speciali, o sequenze di caratteri.
Un’alternativa è un compromesso tra spazio e tempo precalcolando i poten-
ziali valori hash. In questo approccio l’attaccante genera un grande dizionario di
possibili password. Per ogni password, l’attaccante genera i valori hash associati
a ogni possibile valore di salt. Il risultato è una gigantesca tabella di valori hash
nota come rainbow table. Per esempio, [OECH03] ha dimostrato che usando 1.4
GB di dati, poteva scoprire il 99.9% di tutti gli hash delle password alfanumeri-
che di Windows in 13.8 secondi. Questo approccio può essere contrastato usando
un valore di salt sufficientemente grande e una lunghezza di hash sufficientemente
grande. Entrambi gli approcci adottati da FreeBSD e OpenBSD dovrebbero essere
sicuri da questo attacco per il prossimo futuro.
Per contrastare l’uso di grandi valori di salt e lunghezze di hash, i cracker
di password sfruttano il fatto che alcune persone scelgono password facilmente
intuibili. Un problema particolare è che gli utenti, quando possono scegliere la
propria password, tendono a sceglierne di corte. [BONN12] riassume i risulta-
ti di una serie di studi degli ultimi anni che hanno coinvolto oltre 40 milioni di
password violate, così come le loro analisi di quasi 70 milioni di password ano-
nime degli utenti di Yahoo!, e ha trovato una tendenza verso sei-otto caratteri di
lunghezza e una forte avversione per i caratteri non alfanumerici nelle password.
L’analisi di 70 milioni di password in [BONN12] stima che le password for-
niscono meno di 10 bit di sicurezza contro un attacco online a strascico, e solo
circa 20 bit di sicurezza contro un attacco ottimale offline basato su dizionario. In
altre parole, un attaccante che può gestire 10 tentativi per account, tipico limite
in presenza di meccanismi di blocco dei tentativi, comprometterà circa l’1% degli
account, proprio come farebbe con stringhe casuali da 10 bit. Contro un aggresso-
2.2 Autenticazione basata su password 43

re ottimale che faccia uso di una forza bruta illimitata e che voglia violare la metà
di tutti gli account disponibili, le password sembrano essere approssimativamente
equivalenti a stringhe casuali da 20 bit. Si può quindi vedere che l’utilizzo del-
la ricerca offline permette a un avversario di violare un gran numero di account,
anche se viene utilizzata una quantità significativa di hashing iterato.
La lunghezza della password è solo una parte del problema. Molte persone,
quando possono scegliere la propria password, scelgono una password che è indo-
vinabile, come il proprio nome, il nome della propria strada, una parola comune
del dizionario e così via. Questo rende il lavoro di cracking della password sem-
plice. Il cracker deve semplicemente testare il file della password con una lista
di password probabili. Poiché molte persone usano password prevedibili, una tale
strategia dovrebbe avere successo praticamente su tutti i sistemi.
Una dimostrazione dell’efficacia del guessing è riportata in [KLEI90]. Da
una varietà di fonti, l’autore ha raccolto file di password UNIX, contenenti quasi
14 000 password cifrate. Il risultato, che l’autore giustamente definisce agghiac-
ciante, è stato che in tutto, quasi un quarto delle password sono state indovinate.
È stata utilizzata la seguente strategia:
1. Provare il nome dell’utente, le iniziali, il nome dell’account e altre informazio-
ni personali rilevanti. In tutto, sono state provate 130 diverse permutazioni per
ogni utente.
2. Provare parole da vari dizionari. L’autore ha compilato un dizionario di oltre
60 000 parole, compreso il dizionario online sul sistema stesso e varie altre li-
ste come mostrato.
3. Provare varie permutazioni sulle parole del passo 2. Questo preveda di rendere
la prima lettera maiuscola o un carattere di controllo, rendere l’intera parola
maiuscola, invertire la parola, cambiare la lettera “o” con la cifra “zero” e co-
sì via. Queste permutazioni hanno aggiunto un altro milione di parole alla lista.
4. Provare varie permutazioni di maiuscole sulle parole del passo 2 che non sono
state considerate nel passo 2. Questo ha aggiunto quasi 2 milioni di parole alla
lista.
Così, il test ha coinvolto quasi 3 milioni di parole. Usando il processore più veloce
disponibile, il tempo per cifrare tutte queste parole per tutti i possibili valori di salt
era meno di un’ora. Si tenga presente che una ricerca così approfondita potrebbe
produrre un tasso di successo di circa il 25%, mentre anche un singolo successo
può essere sufficiente per ottenere una vasta gamma di privilegi su un sistema.
Gli attacchi che utilizzano una combinazione di tecniche di forza bruta e di-
zionario sono diventati comuni. Un notevole esempio di questo doppio approccio
è John the Ripper, un cracker di password open-source sviluppato per la prima
volta nel 1996 e ancora in uso [OPEN13].

Approcci moderni − Purtroppo, questo tipo di vulnerabilità non è diminuito ne-


gli ultimi 25 anni circa. Gli utenti si stanno comportando meglio nella scelta delle
password e le organizzazioni stanno facendo un buon lavoro nel costringere gli
utenti a scegliere password più robuste, un concetto noto come politica della pas-
sword complessa, come vedremo in seguito. Tuttavia, le tecniche di cracking delle
password sono migliorate per tenere il passo. I miglioramenti sono di due tipi. In
primo luogo, la capacità di elaborazione disponibile per il cracking delle password
è aumentata drasticamente. Ultimamente sempre più utilizzati per il calcolo, i pro-
cessori grafici permettono ai programmi di password cracking di lavorare miglia-
ia di volte più velocemente di quanto non facessero solo un decennio fa su PC
44 Capitolo 2 – Autenticazione degli utenti

di prezzo simile che usavano solo CPU tradizionali. Un PC che monta una sin-
gola GPU AMD Radeon HD7970, per esempio, può provare in media 8.2 × 109
combinazioni di password ogni secondo, in funzione dell’algoritmo adottato per
combinarle [GOOD12a]. Solo un decennio fa, tali velocità erano possibili solo
utilizzando costosi supercomputer.
La seconda area di perfezionamento nel cracking delle password è l’uso di
algoritmi sofisticati per generare potenziali password. Per esempio, [NARA05]
ha sviluppato un modello per la generazione di password usando le probabilità
delle lettere nel linguaggio naturale. I ricercatori hanno usato tecniche standard
di modellazione di Markov mutuate dall’elaborazione del linguaggio naturale per
ridurre drasticamente la dimensione dello spazio delle password da cercare.
Tuttavia i migliori risultati sono stati ottenuti studiando esempi di password
realmente in uso. Per sviluppare tecniche più efficienti ed efficaci dei semplici
attacchi a dizionario e a forza bruta, ricercatori e hacker hanno studiato la strut-
tura delle password. Per fare questo, gli analisti hanno bisogno di un grande pool
di password reali da studiare, che adesso hanno a disposizione. La prima grande
svolta è avvenuta alla fine del 2009, quando un attacco di SQL injection contro
il servizio di giochi online RockYou.com ha esposto 32 milioni di password in
chiaro usate dai suoi membri per accedere ai loro account [TIMM10]. Da allo-
ra, numerosi insiemi di file di password trafugate sono diventati disponibili per
l’analisi.
Utilizzando grandi insiemi di password trafugate come dati di addestramento,
[WEIR09] riporta lo sviluppo di una grammatica probabilistica context-free per
il cracking delle password. In questo approccio, i tentativi sono ordinati secondo
la loro probabilità, in base alla frequenza delle loro strutture di classi di caratteri
nei dati di addestramento, così come la frequenza delle loro sottostringhe di cifre
e simboli. Questo approccio è stato dimostrato essere efficiente nel cracking delle
password [KELL12, ZHAN10].
[MAZU13] riporta un’analisi delle password usate da oltre 25.000 studen-
ti di un’università scientifica con una complessa politica di gestione delle pas-
sword. Gli analisti hanno usato l’approccio di cracking delle password introdotto
in [WEIR09]. Hanno usato un database costituito da una collezione di file di pas-
sword trafugate, compreso il file di RockYou. La Figura 2.4 riassume un risultato
chiave dell’articolo. Il grafico mostra la percentuale di password che sono state
recuperate in funzione del numero di tentativi. Come si può vedere, oltre il 10%
delle password sono recuperate dopo soli 1010 tentativi. Dopo 1013 tentativi, quasi
il 40% delle password viene recuperato.

Controllo degli accessi al file delle password


Un modo per contrastare un attacco alle password è quello di negare all’avver-
sario l’accesso al file delle password. Se la porzione del file contenente l’hash
della password è accessibile solo da un utente privilegiato, allora l’avversario non
può leggerla senza conoscere preventivamente la password di un utente privile-
giato. Spesso, gli hash delle password sono memorizzati in un file separato dagli
ID utente, chiamato file shadow delle password. Si presta particolare attenzione
a rendere il file shadow delle password protetto da accessi non autorizzati. An-
che se la protezione del file delle password è certamente utile, rimangono alcune
vulnerabilità:
 Molti sistemi, compresa la maggior parte dei sistemi UNIX, sono suscettibili ad
intrusioni impreviste. Un hacker potrebbe essere in grado di sfruttare una vulne-
rabilità del software nel sistema operativo per bypassare il sistema di controllo
2.2 Autenticazione basata su password 45

Figura 2.4
50% Percentuale di password
indovinate dopo un dato
numero di tentativi.

40%
Percentuale indovinata

30%

20%

10%

0%
104 107 1010 1013
Numero di tentativi

degli accessi abbastanza a lungo da estrarre il file della password. In alterna-


tiva, l’hacker potrebbe trovare una debolezza nel file system o nel sistema di
gestione delle basi di dati che consente l’accesso al file.
 Un incidente di protezione potrebbe rendere il file delle password leggibile,
compromettendo così tutti gli account.
 Alcuni degli utenti hanno account su altre macchine in altri domini protetti
e usano la stessa password. Quindi, se le password potessero essere lette da
qualcuno su una macchina, una macchina in un’altra posizione potrebbe essere
compromessa.
 Una mancanza o una debolezza nella sicurezza fisica può fornire opportunità
per un hacker. A volte, esiste un backup del file delle password su un disco di
ripristino di emergenza o su un disco di archiviazione. L’accesso a questo bac-
kup permette all’attaccante di leggere il file delle password. In alternativa, un
utente può fare il boot da un disco che esegue un altro sistema operativo, come
Linux, e accedere al file da questo sistema operativo.
 Invece di catturare il file delle password di sistema, un altro approccio per
raccogliere ID utente e password avviene attraverso lo sniffing del traffico di
rete.
Pertanto, una politica di protezione delle password deve integrare le misure di con-
trollo dell’accesso con le tecniche per costringere gli utenti a scegliere password
difficili da indovinare.

Strategie di selezione della password


Quando non sono costretti, molti utenti scelgono una password troppo corta o
troppo facile da indovinare. All’altro estremo, se agli utenti vengono assegna-
te password composte da otto caratteri stampabili scelti a caso, il cracking delle
password è effettivamente impossibile. Ma sarebbe quasi altrettanto impossibile
46 Capitolo 2 – Autenticazione degli utenti

per la maggior parte degli utenti ricordare le loro password. Fortunatamente, an-
che se limitiamo l’universo delle password a stringhe di caratteri ragionevolmente
memorizzabili, la dimensione di tale universo è ancora troppo grande per permet-
tere un cracking praticabile. Il nostro obiettivo, quindi, è quello di eliminare le
password indovinabili permettendo all’utente di scegliere una password che sia
memorizzabile. Si utilizzano quattro tecniche di base:
 Educazione degli utenti
 Password generate dal computer
 Controllo reattivo delle password
 Politica delle password complesse
Agli utenti può essere spiegata l’importanza di usare password difficili da indo-
vinare e possono essere fornite linee guida per selezionare password robuste. È
improbabile che questa strategia di educazione degli utenti abbia successo nella
maggior parte delle installazioni, in particolare dove c’è una grande popolazione
di utenti o molto turnover. Molti utenti semplicemente ignoreranno le linee guida.
Altri potrebbero non essere preparati per giudicare cosa sia una password robu-
sta. Per esempio, molti utenti credono (erroneamente) che invertire una parola o
scrivere l’ultima lettera in maiuscolo renda una password non indovinabile.
Cionondimeno, è buona prassi fornire agli utenti linee guida sulla scelta delle
password. Forse l’approccio migliore è il seguente consiglio: una buona tecnica
per scegliere una password è quella di usare la prima lettera di ogni parola di
una frase. Tuttavia, non scegliere una frase nota come “An apple a day keeps
the doctor away” (Aaadktda). Invece, scegliete qualcosa come “My dog’s first
name is Rex” (MdfniR) o “My sister Peg is 24 years old” (MsPi24yo). Gli studi
hanno dimostrato che gli utenti possono generalmente ricordare tali password, ma
queste non sono suscettibili agli attacchi di password guessing basati su password
comunemente usate.
Le password generate dal computer presentano anche problemi. Se le pas-
sword sono di natura piuttosto casuale, gli utenti non saranno in grado di ricordar-
le. Anche se la password è pronunciabile, l’utente può avere difficoltà a ricordarla
e quindi essere tentato di scriverla. In generale, gli schemi di password genera-
te dal computer hanno una storia di scarsa accettazione da parte degli utenti. Il
FIPS 181 definisce uno dei generatori di password automatici meglio progettati.
Lo standard include non solo una descrizione dell’approccio ma anche un elenco
completo del codice sorgente C dell’algoritmo. L’algoritmo genera parole forman-
do sillabe pronunciabili e concatenandole per formare una parola. Un generatore
di numeri casuali produce un flusso casuale di caratteri usati per costruire le sillabe
e le parole.
Il controllo reattivo delle password è una strategia in cui il sistema esegue
periodicamente il proprio password cracker per scovare le password indovinabili.
Il sistema cancella tutte le password che vengono indovinate e ne informa l’utente.
Questa tattica ha una serie di svantaggi. In primo luogo, consuma risorse in modo
intensivo se il lavoro è fatto bene. Considerato che un avversario risoluto che è
in grado di rubare un file delle password può dedicare tutto il tempo di CPU allo
scopo per ore o addirittura giorni, un efficace controllore di password reattivo è in
netto svantaggio. Inoltre, tutte le password esistenti rimangono vulnerabili fino a
quando il verificatore di password reattivo le trova. Un buon esempio è il cracker
di password openware Jack the Ripper (openwall.com/john/pro/), che funziona su
una molteplicità di sistemi operativi.
2.2 Autenticazione basata su password 47

Un approccio promettente per migliorare la sicurezza delle password è una


politica di password complesse o controllore proattivo delle password. In que-
sto schema, un utente è autorizzato a scegliere la propria password. Tuttavia, al
momento della selezione, il sistema controlla se la password è ammissibile e, in
caso contrario, la rifiuta. Tali controllori si basano sulla filosofia che, con suffi-
ciente guida da parte del sistema, gli utenti possono selezionare password mne-
moniche da uno spazio di password abbastanza ampio che è improbabile vengano
indovinate da un attacco basato su dizionario.
Il trucco con un controllo proattivo delle password è quello di trovare un equi-
librio tra l’accettabilità dell’utente e la robustezza. Se il sistema rifiuta troppe pas-
sword, gli utenti si lamenteranno che è troppo difficile selezionare una password.
Se il sistema usa qualche semplice algoritmo per definire ciò che è accettabile,
questo fornisce una guida ai cracker di password per raffinare la loro tecnica per
indovinarle. Nel resto di questo sottoparagrafo, esamineremo i possibili approcci
al controllo proattivo delle password.
Applicazione delle regole − Il primo approccio è un sistema semplice per l’appli-
cazione delle regole. Per esempio, la SP 800-63-2 del NIST suggerisce le seguenti
regole alternative:
 La password deve avere almeno sedici caratteri (basic16).
 La password deve avere almeno otto caratteri tra cui una lettera maiuscola e una
minuscola, un simbolo e una cifra. Non può contenere una parola del dizionario
(comprehensive8).
Anche se il NIST considera basic16 e comprehensive8 equivalenti, [KELL12]
ha trovato che basic16 è superiore contro un gran numero di tentativi. Combinato
con un risultato precedente che indica basic16 essere anche più facile per gli utenti
[KOMA11], questo suggerisce che basic16 è la scelta migliore.
Sebbene questo approccio sia superiore alla semplice formazione degli utenti,
potrebbe non essere sufficiente a contrastare i cracker di password. Questo schema
mette in guardia i cracker su quali password non provare, ma può ancora rendere
possibile il cracking delle password.
Il processo di applicazione delle regole può essere automatizzato utilizzando
un controllo proattivo delle password, come l’openware pam_passwdqc (open-
wall.com/passwdqc/), che applica una varietà di regole sulle password ed è confi-
gurabile dall’amministratore di sistema.
Password checker − Un’altra procedura possibile è semplicemente costruire un
grande dizionario di possibili password “scadenti”. Quando un utente seleziona
una password, il sistema controlla per assicurarsi che non sia nella lista di quelle
disapprovate. Ci sono due problemi con questo approccio:
 Spazio – Il dizionario deve essere molto grande per essere efficace.
 Tempo – Il tempo richiesto per cercare in un grande dizionario può essere esso
stesso grande. Inoltre, al fine di controllare le probabili permutazioni delle pa-
role del dizionario, o anche queste devono essere incluse nel dizionario stesso,
rendendolo veramente enorme, o ogni parola cercata deve anche comportare
una notevole quantità di elaborazione.

Filtro di Bloom − Una tecnica per sviluppare un efficace ed efficiente controllo


proattivo delle password [SPAF92a, SPAF92b] che si basa sul rifiuto delle parole
di una lista è stata implementata su un certo numero di sistemi, incluso Linux. Si
48 Capitolo 2 – Autenticazione degli utenti

basa sull’uso di un filtro di Bloom [BLOO70]. Per cominciare, spieghiamo il fun-


zionamento del filtro Bloom. Un filtro Bloom di ordine k consiste in un insieme di
k funzioni hash indipendenti H1 (x), H2 (x), . . . , Hk (x), dove ogni funzione mappa
una password in un valore hash nell’intervallo da 0 a N − 1. Cioè
Hi (X j ) = y 1 ≤ i ≤ k; 1 ≤ j ≤ D; 0 ≤ y ≤ N − 1
dove
X j = j-esima parola nel dizionario delle password
D = numero di parole nel dizionario delle password
La seguente procedura viene poi applicata al dizionario:
1. Si definisce una tabella hash di N bit, con tutti i bit inizialmente impostati a 0.
2. Per ogni password, i suoi k valori hash sono calcolati, e i bit corrispondenti
nella hash table sono impostati a 1. Così, se Hi (X j ) = 67 per qualche (i, j),
allora il sessantasettesimo bit della tabella hash è impostato a 1; se il bit ha già
il valore 1, rimane a 1.
Quando una nuova password viene presentata al checker, vengono calcolati i suoi
k valori hash. Se tutti i bit corrispondenti della tabella hash sono uguali a 1, allo-
ra la password viene rifiutata. Tutte le password del dizionario saranno rifiutate.
Ma ci saranno anche alcuni “falsi positivi” (per esempio password che non sono
nel dizionario ma che producono una corrispondenza nella hash table). Per capire
questo, considerate uno schema con due funzioni hash. Supponiamo che le pas-
sword undertaker e hulkhogan siano nel dizionario, ma che xG%#jj98 non lo sia.
Supponiamo inoltre che

H1 (undertaker) = 25 H1 (hulkhogan) = 83 H1 (xG%#jj98) = 665


H2 (undertaker) = 998 H2 (hulkhogan) = 665 H2 (xG%#jj98) = 998

Se la password xG%#jj98 viene presentata al sistema, sarà rifiutata anche se non è


nel dizionario. Se ci sono troppi falsi positivi, sarà difficile per gli utenti seleziona-
re le password. Pertanto, vorremmo progettare lo schema di hash per minimizzare
i falsi positivi. Si può dimostrare che la probabilità P di un falso positivo può es-
sere approssimata da
P ≈ (1 − e−kD/N )k = (1 − e−k/R )k
oppure, equivalentemente,
−k
R≈
ln(1 − p1/k )
dove
k = numero di funzioni hash
N = numero di bit nella hash table
D= numero di parole nel dizionario
R = N/D, rapporto tra la dimensione della hash table (bit) e la dimensione del
dizionario (parole)

La Figura 2.5 traccia P in funzione di R per vari valori di k. Supponiamo di avere


un dizionario di 1 milione di parole, e vogliamo avere una probabilità dello 0.01 di
rifiutare una password non presente nel dizionario. Se scegliamo sei funzioni hash,
il rapporto richiesto è R = 9.6. Pertanto, abbiamo bisogno di una hash table di
2.3 Autenticazione basata su token 49

1 Figura 2.5
Prestazioni del filtro
di Bloom.

0.1
2 funzioni hash
Pr[falsi positivi]

0.01
4 funzioni hash

6 funzioni hash

0.001

0 5 10 15 20
Rapporto tra la dimensione della hash table (bit) e la dimensione del dizionario (parole)

9.6 × 106 bit o circa 1.2 MB di memoria. Al contrario, la memorizzazione dell’in-


tero dizionario richiederebbe circa 8 MB. Così, otteniamo una compressione di
quasi un fattore 7. Inoltre, il controllo delle password comporta il semplice calco-
lo di sei funzioni hash ed è indipendente dalla dimensione del dizionario, mentre
l’uso del dizionario completo richiede un considerevole sforzo di ricerca.2

2.3 Autenticazione basata su token


Sono chiamati token gli oggetti che un utente possiede allo scopo di effettuare
l’autenticazione. In questo paragrafo, esaminiamo due tipi di token che sono am-
piamente utilizzati; si tratta di carte che hanno l’aspetto e le dimensioni delle carte
bancarie (vedi Tabella 2.3).
Tabella 2.3 Tipologie di card usate come token.

Tipologia di card Caratteristica precipua Esempio


Impressa Solo caratteri in rilievo, sul fronte Vecchia carta di credito
Banda magnetica Striscia magnetica sul retro, caratteri sul fronte Carta bancaria
Memoria Memoria elettronica all’interno Carta telefonica prepagata
Smart Memoria elettronica e processore all’interno Carta d’identità biometrica
Contact Contatti elettrici esposti sulla superficie
Contactless Antenna radio incorporata all’interno

2
Il filtro di Bloom comporta l’uso di tecniche probabilistiche. C’è una piccola probabilità che al-
cune password non presenti nel dizionario vengano rifiutate. Nella progettazione di algoritmi accade
spesso che l’uso di tecniche probabilistiche produca una soluzione meno dispendiosa in termini di
tempo o meno complessa, o entrambe le cose.
50 Capitolo 2 – Autenticazione degli utenti

Memory card
Le schede di memoria (memory card) possono immagazzinare ma non elaborare
dati. La più comune di queste carte è la carta bancaria con una banda magnetica
sul retro. Una banda magnetica può memorizzare solo un semplice codice di sicu-
rezza, che può essere letto (e purtroppo riprogrammato) da un lettore di carte poco
costoso. Ci sono anche schede di memoria che includono una memoria elettronica
interna.
Le memory card da sole possono essere usate per l’accesso fisico, come ad
esempio per una stanza d’albergo. Per l’autenticazione, un utente fornisce sia la
memory card che una qualche forma di password o numero di identificazione
personale (PIN). Un’applicazione tipica è uno sportello automatico (Automatic
Teller Machine ATM). La scheda di memoria, se combinata con un PIN o una
password, fornisce una sicurezza significativamente maggiore rispetto alla sola
password. Un avversario deve ottenere il possesso fisico della scheda (o essere in
grado di duplicarla) e in più deve ottenere la conoscenza del PIN. Tra i potenziali
svantaggi, la SP 800-12 del NIST (An Introduction to Computer Security: The
NIST Handbook, ottobre 1995) segnala i seguenti:
 Richiede un lettore speciale – Questo aumenta il costo di utilizzo del token
e impone l’obbligo di mantenere la sicurezza dell’hardware e del software del
lettore.
 Perdita del token – La perdita di un token impedisce temporaneamente al suo
proprietario di ottenere l’accesso al sistema. Quindi, c’è un costo amministra-
tivo nella sostituzione del token perso. Inoltre, se il token viene trovato, rubato
o falsificato, allora un avversario deve solo determinare il PIN per ottenere un
accesso non autorizzato.
 Insoddisfazione dell’utente – Anche se gli utenti possono non avere difficoltà
ad accettare l’uso di una memory card per l’accesso al bancomat, il suo uso per
l’accesso al computer può essere considerato scomodo.

Smart card
Una grande varietà di dispositivi viene classificata come token intelligenti (smart
token). Questi possono essere classificati secondo quattro dimensioni mutualmen-
te esclusive:
 Caratteristiche fisiche – I token intelligenti includono un microprocessore in-
corporato. Un token intelligente che assomiglia a una carta bancaria è chiamato
smart card. Altri token intelligenti possono assomigliare a calcolatrici, chiavi o
altri piccoli oggetti portatili.
 Interfaccia utente – Le interfacce manuali includono una tastiera e un display
per l’interazione uomo/token.
 Interfaccia elettronica – Una smart card o un altro token richiede un’interfac-
cia elettronica per comunicare con un lettore/scrittore compatibile. Una carta
può avere uno o entrambi i seguenti tipi di interfaccia:
– Con contatto (contact) – Una smart card con contatto deve essere inserita in
un lettore di smart card con una connessione diretta a una piastra di contatto
sulla superficie della carta (tipicamente placcata in oro). La trasmissione dei
comandi, dei dati e dello stato della carta avviene attraverso questi punti di
contatto fisico.
2.3 Autenticazione basata su token 51

– Senza contatto (contactless) – Una carta contactless richiede solo una stret-
ta vicinanza a un lettore. Sia il lettore che la carta hanno un’antenna, e i due
comunicano usando frequenze radio. La maggior parte delle carte contactless
trae anche l’alimentazione del chip interno da questo segnale elettromagneti-
co. Il raggio d’azione è tipicamente da mezzo pollice a tre pollici per le carte
non alimentate a batteria, ideale per applicazioni, che richiedono interazioni
della carta molto veloci, quali l’ingresso in un edificio o il pagamento.

 Protocollo di autenticazione - Lo scopo di uno smart token è quello di fornire


un mezzo per l’autenticazione dell’utente. Possiamo classificare i protocolli di
autenticazione usati con gli smart token in tre categorie:
– Statico – Con un protocollo statico, l’utente si autentica al token, poi il token
autentica l’utente al sistema informatico. L’ultima metà di questo protocollo
è simile al funzionamento di un token con memoria.
– Generatore dinamico di password – In questo caso, il token genera una
password unica periodicamente (ad esempio, ogni minuto). Questa password
viene poi inserita nel sistema informatico per l’autenticazione, o manualmen-
te dall’utente o elettronicamente tramite il token. Il token e il sistema infor-
matico devono essere inizializzati e mantenuti sincronizzati in modo che il
computer conosca la password corrente per questo token.
– Sfida-risposta (challenge-response) – In questo caso, il sistema informati-
co genera una sfida, come una stringa casuale di numeri. Il token intelligente
genera una risposta basata sulla sfida. Per esempio, si potrebbe usare la crit-
tografia a chiave pubblica e il token potrebbe cifrare la stringa di sfida con la
chiave privata del token.

Per l’autenticazione dell’utente, la categoria più importante di smart token è la


smart card, che ha l’aspetto di una carta di credito, possiede un’interfaccia elet-
tronica e può usare uno qualsiasi dei tipi di protocollo appena descritti. Il resto di
questo paragrafo discute le smart card.
Una smart card contiene al suo interno un intero microprocessore, incluso il
processore, la memoria e le porte I/O. Alcune versioni incorporano uno speciale
circuito di co-processing destinato alle operazioni crittografiche per velocizzare il
compito di codificare e decodificare i messaggi o generare firme digitali per con-
validare le informazioni trasferite. In alcune schede, le porte I/O sono direttamente
accessibili da un lettore compatibile per mezzo di contatti elettrici esposti. Altre
carte si basano invece su un’antenna incorporata per la comunicazione wireless
con il lettore.
Una tipica smart card include tre tipi di memoria. La memoria di sola lettu-
ra (ROM) memorizza dati che non cambiano durante la vita della carta, come il
numero della carta e il nome del titolare. La ROM programmabile elettricamente
cancellabile (EEPROM) contiene dati e programmi applicativi, come i protocolli
che la carta può eseguire. Contiene anche dati che possono variare nel tempo. Per
esempio, in una scheda telefonica, la EEPROM contiene il tempo di conversazio-
ne rimanente. La memoria ad accesso casuale (RAM) contiene dati temporanei
generati quando le applicazioni vengono eseguite.
La Figura 2.6 illustra la tipica interazione tra una smart card e un lettore o
un sistema informatico. Ogni volta che la carta viene inserita in un lettore, viene
avviato un reset da parte del lettore per inizializzare i parametri quali il valore
del clock. Dopo che la funzione di reset viene eseguita, la carta risponde con
il messaggio ATR (answer to reset). Questo messaggio definisce i parametri e i
52 Capitolo 2 – Autenticazione degli utenti

Figura 2.6
Scambio smart card/lettore.

Smart card Lettore di card

Attivazione della smart card

ATR

Negoziazione del protocollo PTS

Risposta sulla negoziazione PTS

Comando APDU

Risposta APDU

Fine della sessione

APDU = Application protocol data unit


ATR = Answer to reset
PTS = Protocol type selection

protocolli che la scheda può utilizzare e le funzioni che può eseguire. Il terminale
può essere in grado di cambiare il protocollo utilizzato e altri parametri tramite un
comando di selezione del tipo di protocollo (PTS). La risposta PTS della scheda
conferma i protocolli e i parametri da utilizzare. Il terminale e la scheda possono
ora eseguire il protocollo per eseguire l’applicazione desiderata.

Carte d’identità elettroniche


Un’applicazione di crescente importanza è l’uso di una smart card come carta
d’identità nazionale per i cittadini. Una carta d’identità elettronica nazionale (eID)
può servire agli stessi scopi di altre carte d’identità nazionali e carte simili quali
la patente di guida, per l’accesso ai servizi governativi e commerciali. Inoltre, una
carta eID può fornire una prova di identità più forte ed essere usata in una più
ampia varietà di applicazioni. In effetti, una carta eID è una smart card che è stata
verificata dal governo nazionale come valida e autentica.
Una delle più recenti e più avanzate implementazioni di eID è la scheda eID
tedesca neuer Personalausweis [POLL12]. La carta ha dati leggibili dall’uomo
stampati sulla sua superficie, tra cui i seguenti:
 Dati personali – Come il nome, la data di nascita e l’indirizzo; questo è il tipo
di informazioni stampate che si trovano su passaporti e patenti di guida.
 Numero del documento – Un identificatore alfanumerico di nove caratteri uni-
voco per ogni carta.
 Numero di accesso alla carta (CAN) – Un numero decimale casuale di sei
cifre stampato sulla faccia della carta. Viene usato come password, come spie-
gato in seguito.
 Zona leggibile dalla macchina (MRZ) – Tre righe di testo leggibile dall’uomo
e dalla macchina sul retro della carta. Anche questo può essere usato come
password.
2.3 Autenticazione basata su token 53

Funzioni eID − La card ha le seguenti tre funzioni elettroniche separate, ciascuna


con il proprio set di dati protetto (vedi Tabella 2.4):
 ePass – Questa funzione è riservata a uso governativo e memorizza una rap-
presentazione digitale dell’identità del titolare della carta. Questa funzione è
simile a un passaporto elettronico e può essere usata a tal fine. Anche altri ser-
vizi governativi possono usare ePass. La funzione ePass deve sempre essere
presente sulla card.
 eID – Questa funzione è per uso generale in una varietà di applicazioni gover-
native e commerciali. La funzione eID memorizza un record di identità a cui i
servizi autorizzati possono accedere con il permesso del titolare della carta. I
cittadini scelgono se vogliono attivare questa funzione.
 eSign – Questa funzione opzionale memorizza una chiave privata e un certi-
ficato che verifica la chiave; è usata per generare una firma digitale. Un ente
fidato privato emette il certificato.

La funzione ePass è una funzione offline. Cioè, non è usata su una rete, ma è
usata in una situazione in cui il titolare della carta presenta la carta per un ser-
vizio particolare in un dato luogo, come passare attraverso un posto di controllo
passaporti.
La funzione eID può essere usata sia per servizi online che offline. Un esem-
pio di uso offline è un sistema d’ispezione. Un sistema d’ispezione è un terminale
per i controlli delle forze dell’ordine, per esempio, da parte della polizia o dei

Tabella 2.4 Funzioni e dati elettronici per le card eID.

Funzione Scopo Password PACE Dati Usi


Immagine del viso; due Verifica dell’identità
I sistemi di ispezione
immagini di impronte biometrica offline ri-
ePass (obbligatorio) offline autorizzati CAN o MRZ
digitali (opzionale); servata per l’accesso
leggono i dati
dati MRZ dello Stato
Le applicazioni online
leggono i dati o acce- Identificazione; veri-
eID PIN Cognome e nome; nome
dono alle funzioni fica dell’età; verifica
come autorizzate. d’arte e laurea: data e
eID (attivazione dell’ID pubblico;
luogo di nascita;
opzionale) I sistemi di controllo identificazione limi-
indirizzo e ID pubblico;
offline leggono i dati tata (pseudonimo);
CAN o MRZ data di scadenza
e aggiornano l’indi- richiesta di revoca
rizzo e l’ID pubblico.
Un’autorità di certi-
ficazione installa il
eID PIN
certificato di firma
eSign (certificato online. Chiave di firma; Creazione della
opzionale) certificato X.509 firma elettronica
I cittadini effettuano
la firma elettronica CAN
con il PIN eSign.
CAN = numero di accesso alla carta
MRZ = zona leggibile dalla macchina
PACE = instaurazione di connessione autenticata da password
PIN = numero di identificazione personale
54 Capitolo 2 – Autenticazione degli utenti

funzionari del controllo delle frontiere. Un sistema di ispezione può leggere le


informazioni di identificazione del titolare della carta così come le informazio-
ni biometriche memorizzate sulla carta, quali l’immagine facciale e le impronte
digitali. Le informazioni biometriche possono essere utilizzate per verificare che
l’individuo in possesso della carta sia l’effettivo titolare.
L’autenticazione dell’utente è un buon esempio di uso online della funzione
eID. La Figura 2.7 illustra uno scenario basato sul Web. Per cominciare, un utente
eID visita un sito Web e richiede un servizio che richiede l’autenticazione. Il sito
web rimanda un messaggio di reindirizzamento che inoltra una richiesta di auten-
ticazione a un server eID. Il server eID richiede che l’utente inserisca il PIN della
carta eID. Una volta che l’utente ha inserito correttamente il PIN, i dati possono
essere scambiati tra la carta eID e il lettore del terminale in forma cifrata. Il server
si impegna quindi in uno scambio di protocollo di autenticazione con il micropro-
cessore sulla carta eID. Se l’utente viene autenticato, i risultati vengono rimandati
al sistema dell’utente per essere inoltrati all’applicazione del Web server.
Per lo scenario precedente, sono necessari il software e l’hardware appro-
priati sul sistema dell’utente. Il software sul sistema principale dell’utente inclu-
de la funzionalità per richiedere e accettare il PIN e per l’inoltro del messaggio.
L’hardware richiesto è un lettore di card eID. Il lettore di card può essere un let-
tore esterno a contatto o senza contatto o un lettore senza contatto integrato nel
sistema dell’utente.
Password Authenticated Connection Establishment (PACE) − Assicura che il
chip RF contactless della carta eID non possa essere letto senza un controllo di
accesso esplicito. Per le applicazioni online, l’accesso alla carta viene stabilito
dall’utente inserendo il PIN a 6 cifre, che dovrebbe essere noto solo al titolare
della carta. Per le applicazioni offline, viene utilizzato l’MRZ stampato sul retro
della carta o il numero di accesso alla carta (CAN) a sei cifre stampato sul fronte.

Figura 2.7
Autenticazione utente
con eID.
e
zion
ntica
d i aute
sta
ichie IN
4. R sta P azio
ne
ichie t entic ento
5. R au
izzam
Server eID
c o llo di n d i r
el pr
oto l rei
bio d per i
ca m c a z i one
7. S tenti
6. L’utente inserisce il PIN ll’au
l tat o de
8. Risu

2. R
1. L’utente richiede ichie
3. M sta d
e ssag el se
il servizio (ad esempio, gio d rvizi
9. R i rein o
tramite browser web) isult diriz
ato d zam
ell’a ento
uten all’e
ticaz ID
10. S ione
erviz inolt
io co rato
nces
so

Host/applicazione server
2.4 Autenticazione biometrica 55

2.4 Autenticazione biometrica


Un sistema di autenticazione biometrica cerca di autenticare un individuo sulla
base delle sue caratteristiche fisiche uniche. Queste includono caratteristiche sta-
tiche, come le impronte digitali, la geometria della mano, le caratteristiche del
viso e le conformazioni della retina e dell’iride, e caratteristiche dinamiche, come
l’impronta vocale e la firma autografa. In sostanza, la biometria si basa sul ricono-
scimento di pattern. Rispetto alle password e ai token, l’autenticazione biometrica
è tecnicamente più complessa e costosa. Sebbene sia usata in un certo nume-
ro di applicazioni specifiche, la biometria deve ancora maturare come strumento
standard per l’autenticazione degli utenti ai sistemi informatici.

Caratteristiche fisiche utilizzate nelle applicazioni biometriche


Un discreto numero di diversi tipi di caratteristiche fisiche sono in uso o allo studio
per l’autenticazione dell’utente. Le più comuni sono le seguenti:
 Caratteristiche facciali – Le caratteristiche facciali sono il mezzo più comune
per l’identificazione tra esseri umani; quindi è naturale considerarle per l’iden-
tificazione tramite sistema informatico. L’approccio più comune è quello di
definire le caratteristiche basate sulla posizione relativa e la forma delle ca-
ratteristiche facciali chiave, come occhi, sopracciglia, naso, labbra e forma del
mento. Un approccio alternativo è quello di utilizzare una telecamera a infraros-
si per produrre un termogramma del viso che si correla con il sistema vascolare
sottostante presente nel viso umano.
 Impronte digitali – Le impronte digitali sono state usate come mezzo di iden-
tificazione per secoli e il processo è stato sistematizzato e automatizzato in
particolare per applicazioni legali. Un’impronta digitale è uno schema di rilievi
e solchi sulla superficie del polpastrello. Si ritiene che le impronte digitali siano
uniche in tutta la popolazione umana. In pratica, i sistemi automatici di ricono-
scimento e corrispondenza delle impronte digitali estraggono un certo numero
di caratteristiche dall’impronta digitale per memorizzarle come un surrogato
numerico del modello completo dell’impronta.
 Geometria della mano – I sistemi di geometria della mano identificano le ca-
ratteristiche della mano, compresa la forma, la lunghezza e la larghezza delle
dita.
 Schema della retina – Lo schema formato dalle vene sotto la superficie della
retina è unico e quindi adatto all’identificazione. Un sistema biometrico retini-
co ottiene un’immagine digitale del modello retinico proiettando un fascio di
luce visiva o infrarossa a bassa intensità nell’occhio.
 Iride – Un’altra caratteristica fisica unica è la struttura dettagliata dell’iride.
 Firma – Ogni individuo ha uno stile di scrittura unico e questo si riflette so-
prattutto nella firma autografa, che è tipicamente una sequenza scritta frequen-
temente. Tuttavia, più campioni di firma di un singolo individuo non saranno
identici. Questo complica il compito di sviluppare una rappresentazione digi-
tale della firma che possa essere abbinata a campioni futuri.
 Voce – Mentre lo stile della firma di un individuo riflette non solo gli attributi
fisici unici dello scrittore ma anche l’abitudine di scrivere che si è sviluppata, i
modelli di voce sono più strettamente legati alle caratteristiche fisiche e anato-
56 Capitolo 2 – Autenticazione degli utenti

Figura 2.8
Costo rispetto alla
precisione di varie Iride
caratteristiche biometriche Mano
in schemi di autenticazione
utente. Retina

Costo
Firma

Volto Dito

Voce

Accuratezza

miche del parlante. Tuttavia, c’è sempre una variazione da un campione all’al-
tro nel tempo dello stesso parlante, complicando il compito del riconoscimento
biometrico.
La Figura 2.8 dà un’indicazione approssimativa del costo relativo e dell’accura-
tezza di queste misure biometriche. Il concetto di accuratezza non si applica agli
schemi di autenticazione dell’utente che utilizzano smart card o password. Per
esempio, se un utente inserisce una password, questa corrisponde esattamente alla
password prevista per quell’utente oppure no. Nel caso dei parametri biometrici,
il sistema deve invece determinare quanto strettamente una caratteristica biome-
trica presentata corrisponde a una caratteristica memorizzata. Prima di elaborare
il concetto di accuratezza biometrica, dobbiamo avere un’idea generale di come
funzionano i sistemi biometrici.

Funzionamento di un sistema di autenticazione biometrica


La Figura 2.9 illustra il funzionamento di un sistema biometrico. Ogni individuo
che deve essere incluso nel database degli utenti autorizzati deve prima essere
registrato nel sistema. Questo è analogo all’assegnazione di una password a un
utente. Per un sistema biometrico, l’utente presenta al sistema un nome e, tipica-
mente, un qualche tipo di password o PIN. Allo stesso tempo, il sistema rileva
alcune caratteristiche biometriche di tale utente (ad esempio, l’impronta digita-
le del dito indice destro). Il sistema digitalizza l’input e poi estrae un insieme di
caratteristiche che possono essere memorizzate come un numero o un insieme di
numeri che rappresentano questa caratteristica biometrica unica; questo insieme
di numeri viene chiamato template dell’utente. L’utente è ora registrato nel siste-
ma, che mantiene per esso un nome (ID), eventualmente un PIN o una password,
e il valore biometrico.
A seconda dell’applicazione, l’autenticazione dell’utente su un sistema bio-
metrico comporta la verifica o l’identificazione. La verifica è analoga a quella di
un utente che accede a un sistema usando una memory card o una smart card ac-
coppiata con una password o un PIN. Per la verifica biometrica, l’utente inserisce
un PIN e utilizza anche un sensore biometrico. Il sistema estrae la caratteristica
corrispondente e la confronta con il modello memorizzato per questo utente. Se
c’è una corrispondenza, allora il sistema autentica questo utente.
Per un sistema di identificazione, l’individuo usa il sensore biometrico ma
non presenta alcuna informazione aggiuntiva. Il sistema quindi confronta il mo-
dello presentato con l’insieme dei modelli memorizzati. Se c’è una corrisponden-
za, l’utente viene identificato. Altrimenti, l’utente viene rifiutato.
2.4 Autenticazione biometrica 57

Figura 2.9
Nome (PIN)
Un sistema biometrico
generico – La registrazione
Sensore Estrattore di
crea un’associazione tra un
biometrico caratteristiche Database utente e le caratteristiche
biometrico biometriche dell’utente. A
seconda dell’applicazione,
Interfaccia utente l’autenticazione dell’utente
(a) Registrazione comporta la verifica che
un utente dichiarato sia
l’utente effettivo o
Nome (PIN) l’identificazione di un
utente sconosciuto.
Sensore Estrattore di
biometrico caratteristiche Database
biometrico

Rilevatore di
Interfaccia utente Vero/falso corrispondenze
di caratteristiche Un template

(b) Verifica

Sensore Estrattore di
biometrico caratteristiche Database
biometrico

Rilevatore di
Interfaccia utente Identità dell’utente o corrispondenze
“identità sconosciuta” di caratteristiche N template

(c) Identificazione

Accuratezza biometrica
In qualsiasi schema biometrico, alcune caratteristiche fisiche dell’individuo sono
associate a una rappresentazione digitale. Per ogni individuo, una singola rappre-
sentazione digitale, o template, viene memorizzata nel computer. Quando l’utente
deve essere autenticato, il sistema confronta il modello memorizzato con il mo-
dello presentato. Data la complessità delle caratteristiche fisiche, non ci si può
aspettare che ci sia una corrispondenza esatta tra i due modelli. Piuttosto, il siste-
ma usa un algoritmo per generare un punteggio di riconoscimento (tipicamente un
singolo numero) che quantifica la somiglianza tra l’input e il modello memorizza-
to. Per procedere con la discussione, definiamo i seguenti termini. Il tasso di falso
riconoscimento è la frequenza con cui i campioni biometrici provenienti da fonti
diverse sono erroneamente valutati come provenienti dalla stessa fonte. Il tasso
di falso riconoscimento è la frequenza con cui i campioni della stessa fonte sono
erroneamente valutati come provenienti da fonti diverse.
La Figura 2.10 illustra il dilemma posto al sistema. Se un singolo utente viene
testato dal sistema numerose volte, il punteggio di riconoscimento s varierà, con
una funzione di densità di probabilità che tipicamente forma una curva a campana,
come mostrato. Per esempio, nel caso di un’impronta digitale, i risultati possono
variare a causa del rumore del sensore, dei cambiamenti nell’impronta dovuti al
gonfiore o alla secchezza, del posizionamento del dito e così via. In media, qual-
siasi altro individuo dovrebbe avere un punteggio di riconoscimento molto più
basso, ma ancora una volta mostrerà una funzione di densità di probabilità a cam-
pana. La difficoltà è che la gamma di punteggi di corrispondenza prodotti da due
58 Capitolo 2 – Autenticazione degli utenti

Figura 2.10 Funzione di densità


Profili di una di probabilità
caratteristica biometrica
di un impostore e di un Soglia di
utente autorizzato – In decisione (t)
Profilo
questa rappresentazione, dell’impostore Profilo
il confronto tra la dell’utente
caratteristica presentata autentico
e una caratteristica di
riferimento si riduce a un
singolo valore numerico. Falso
Se il valore di input ( s) è disconoscimento
maggiore di una soglia possibile
Falso
preassegnata (t), viene riconoscimento
dichiarato un possibile
riconoscimento.

Punteggio di riconoscimento (s)


Valore medio di Valore medio di
riconoscimento riconoscimento
dell’impostore dell’utente autentico

individui, uno autentico e uno impostore, rispetto a un dato modello di riferimen-


to, è probabile che si sovrappongano. Nella Figura 2.10, un valore di soglia è
selezionato in modo che se il valore presentato s ≥ t si assume un riconoscimen-
to, e per s < t, si assume un disconoscimento. La parte ombreggiata a destra di t
indica una gamma di valori per cui è possibile un falso riconoscimento, e la par-
te ombreggiata a sinistra indica una gamma di valori per cui è possibile un falso
disconoscimento. Un falso riconoscimento comporta l’accettazione di un utente
che non dovrebbe essere accettato, e un falso disconoscimento provoca il rifiuto
di un utente valido. L’area di ogni parte ombreggiata rappresenta la probabilità di
un falso riconoscimento o disconoscimento, rispettivamente. Spostando la soglia,
a sinistra o a destra, le probabilità possono essere modificate, ma si noti che una
diminuzione del tasso di falsi riconoscimenti si traduce in un aumento del tasso di
falsi disconoscimenti e viceversa.
Per un dato schema biometrico, possiamo tracciare il tasso di falsi ricono-
scimenti rispetto al tasso di falsi disconoscimenti, chiamata curva caratteristica di
funzionamento. La Figura 2.11 mostra curve idealizzate per due diversi sistemi.
La curva che è più bassa e a sinistra funziona meglio. Il punto sulla curva corri-
sponde a una soglia specifica per i test biometrici. Spostando la soglia lungo la
curva verso l’alto e verso sinistra si ottiene una maggiore sicurezza al costo di
una minore convenienza. La minore convenienza deriva dal fatto che a un utente
valido viene negato l’accesso e gli viene richiesto di fare ulteriori passaggi.
Un compromesso plausibile è quello di scegliere una soglia che corrisponda
a un punto sulla curva dove i tassi sono uguali.
Un’applicazione ad alta sicurezza può richiedere un tasso di falsi riconosci-
menti molto basso, risultando in un punto più a sinistra sulla curva. Per un’appli-
cazione forense, in cui il sistema è alla ricerca di possibili candidati, da controllare
ulteriormente, il requisito potrebbe essere un basso tasso di falsi disconoscimenti.
2.4 Autenticazione biometrica 59

100% Figura 2.11


Curve ideali delle
caratteristiche operative
della misurazione
biometrica (scala log-log).

In
cr
em
en
ta
la
Tasso di falsi disconoscimenti

10% so
gl
ia
la Aum
s
la dim icur ent

Di
m
co in ez a

in
nv ui za

ui
en sce ,

sc
ien

e la
za

s
Di sicu en ienz

og
la aum ven
m re ta a

lia
in zz
la

ui a
sc ,
co

e
n

1%
le
gua
re u
rro
di e
sso
d i ta
ea
Lin

0.1%
0.0001% 0.001% 0.01% 0.1% 1% 10% 100%
Tasso di falsi riconoscimenti

La Figura 2.12 mostra le curve caratteristiche sviluppate da test su prodotti reali.


Il sistema dell’iride non ha avuto falsi riconoscimenti in oltre 2 milioni di con-
fronti incrociati. Si noti che su un’ampia gamma di tassi di falsi riconoscimenti,
la biometria del volto è quella che offre le prestazioni peggiori.

Face Fingerprint Voice Hand Iris Figura 2.12


100% Curve caratteristiche
di funzionamento di
misurazioni biometriche
reali – Per chiarire le
False nonmatch rate

differenze tra i sistemi,


10% viene utilizzata una scala
log-log. Fonte: [MANS01].
Mansfield, T., Gavin Kelly,
David Chandler, Jan Kane.
Relazione finale sui test dei
1% prodotti biometrici. National
Physics Laboratory, Regno
Unito, marzo 2001. Archivi
nazionali del Regno Unito,
0.1% Open Government
Licence v3.0.
0.0001% 0.001% 0.01% 0.1% 1% 10% 100%
False match rate
60 Capitolo 2 – Autenticazione degli utenti

2.5 Problemi di sicurezza per l’autenticazione


degli utenti
Come per ogni servizio di sicurezza, l’autenticazione dell’utente, in particolare
l’autenticazione dell’utente remoto, è soggetta a una varietà di attacchi. La Ta-
bella 2.5, da [OGOR03], riassume i principali attacchi all’autenticazione utente,
suddivisi per tipo di autenticatore. Gran parte della tabella è auto esplicativa. In
questo paragrafo ci soffermeremo su alcune delle voci della tabella.

Tabella 2.5 Alcuni attacchi potenziali, autenticatori suscettibili e difese tipiche.

Attacchi Autenticatori Esempi Difese tipiche


Password Guessing, ricerca esaustiva Grande entropia; tentativi limitati
Token Ricerca esaustiva Grande entropia; tentativi limitati;
Attacco lato client
il furto dell’oggetto richiede la presenza
Biometrico Falsa corrispondenza Grande entropia; tentativi limitati
Password Furto con testo in chiaro, Hashing; grande entropia; protezione del
ricerca attraverso dizionario/ database delle password
esaustiva
Attacco lato host Token Furto di passcode Stessa cosa della password;
1-time passcode
Biometrico Furto di template Cattura del dispositivo di autenticazione;
sfida-risposta
Password “Shoulder surfing” Diligenza dell’utente per mantenere il
segreto; diligenza dell’amministratore
per revocare rapidamente le password
compromesse; autenticazione multifat-
Intercettazione, toriale
furto e copia Token Furto, hardware per contraf- Autenticazione a più fattori; token resi-
fazione stente alle manomissioni/evidente
Biometrico Copia (spoofing) biometrica Prelievo delle copie sul dispositivo di
rilevamento e autenticazione del disposi-
tivo di rilevamento
Password Replay della risposta alla Protocollo sfida-risposta
password rubata
Token Replica della risposta del Protocollo sfida-risposta;
codice di accesso rubato 1-time passcode
Replay
Biometrico Replica del template biome- Prelievo della copia sul dispositivo di
trico rubato rilevamento e autenticazione del disposi-
tivo di rilevamento tramite protocollo di
sfida-risposta
Trojan horse Password, token, Installazione di un client o Autenticazione del client o del dispositi-
biometrico di un dispositivo di rileva- vo di rilevamento all’interno del perime-
mento non autorizzato tro di sicurezza affidabile
Denial of service Password, token, Blocco per autenticazioni Multifattore con token
biometrico multiple fallite
Another random document with
no related content on Scribd:
7
Getting to the chateau was difficult the next Saturday, although
Madame Perceval had been right and the snow had stopped and
temporarily dashed the skiers' hopes. But enough snow remained on
the ground so that Flip put on her spiked ski-boots to help her climb
the mountain. Up above her the mountain had a striped, zebra-like
look, long streaks of snow alternating with rock or the darker lines of
the evergreens. The air was cold and clear and sent the color flying
to her cheeks.
Paul greeted her with a relieved shout, crying, "Are you all better,
Flip?"
"Oh yes, I feel fine now."
"I was worried about you. I was afraid you might have caught more
cold from coming last Sunday. You shouldn't have, you know."
"I had to," Flip said. "I promised."
"I knew something you couldn't help had kept you. Of course I was a
little afraid you'd been caught and they were keeping you from
coming. Did you have any trouble getting here today? What will you
do when there's a real snow, Flip? You'll never be able to make it."
"I'll make it," Flip assured him. "Where's Ariel?"
"He's home with my father. Flip, I—I've done something that may
make you angry."
"What?"
"Well, I got to thinking. It's so terribly cold in the chateau; I'm sure
that's why you caught cold, and I didn't think we should go back
there in the damp today so I told my father about you. He won't give
us away, Flip, I made him promise."
"Are you sure?" Flip asked anxiously.
"Quite sure. My father would never break his word. Anyhow he's a
philosopher and things like girls schools and rules and regulations
and things don't seem as important to him as they do to other
people. He told me to bring you home with me and he said he'd fix
some real hot chocolate for us. So come along."
Flip followed Paul over the snow, past the chateau, and down an
overgrown driveway. Grass and weeds and bits of stubble poked up
through the snow and it did not look like much of a snowfall here
though the drifts had seemed formidable enough on her way up the
mountain from school.
A tall, stooped man, whom Flip recognized as the one she had seen
Paul with in the chalet on the Col de Jaman, met them at the door to
the lodge. Ariel came bounding out to welcome them noisily.
"My father," Paul announced formally. "Monsieur Georges Laurens.
Papa, my friend, Miss Philippa Hunter."
Georges Laurens bowed. "I am happy indeed to meet you, Miss
Hunter. Come in by the fire and get warm." He led them into a room,
comfortable from the blazing fire in the stone fireplace, and gently
pushed Flip into an easy chair. She looked about her. Two beautiful
brocades were hung on the walls and there were what seemed like
hundreds of books in improvised bookshelves made of packing
cases. Two or three lamps were already lit against the early
darkness which had settled about the mountain side by this time of
the afternoon, and Flip saw a copper saucepan filled with hot
chocolate sitting on the hearth.
"Flip's afraid you'll let the cat out of the bag, papa," Paul said.
Georges Laurens took a long spoon, stirred the chocolate, and
poured it out. He handed a cup to Flip and pushed Ariel away from
the saucepan. "Watch out, you'll burn your nose again." Then he
turned to Flip. "Why should I let the cat out of the bag? You aren't
doing anyone any harm and you're giving a great deal of pleasure to
my lonely Paul. In fact, I like so much the idea of Paul's having your
companionship that my only concern is how to help you continue
your visits. As soon as we have a heavy snow you won't be able to
climb up the mountains through the woods to us, and in any event
someone would be sure to find you out sooner or later and you
would be forbidden to come if nothing else. These are facts we have
to face, isn't that so?"
"Yes, that's so," Flip said.
"She has to come," Paul said very firmly.
Georges Laurens took off his heavy steel-rimmed spectacles and
wiped them on his handkerchief. Then he took the tongs and placed
another log on the fire. "My suggestion is this: Why don't I go to the
headmistress of this school and get permission for Miss Flip to come
to tea with us every Saturday or Sunday afternoon. That would be
allowed, wouldn't it?"
"I don't know," Flip said. "Esmée Bodet's parents are spending a
month in Montreux and she has dinner with them every Sunday. But
Paul's a boy and we're not allowed to have dates until we're
Seniors."
"I think if I were very charming," Georges Laurens refilled her cup
with hot chocolate from the copper saucepan, "I could manage your
headmistress. What is her name?"
"Mlle. Dragonet," Flip told him. "We call her The Dragon," she said,
then added, remembering the visit in the infirmary, "but she's really
quite human."
Georges Laurens laughed. "Well, I shall be St. George, then, and
conquer the dragon. I will brave her in her den this very afternoon."
"And now I suggest that you get back to your school and tomorrow
we will have a proper visit, and I will come for you and bring you
over." He held out his hand. "I promise."
8
It never occurred to Flip that on this last forbidden trip to the
chateau she might be caught. Luck had been her friendly companion
in the venture and now that the visits to Paul were about to be
approved by authority, surely fortune would not forsake her. But, just
as she came to the clearing where the railroad tracks ran through the
woods, she saw two figures in warm coats and snow boots and
recognized Madame Perceval and Signorina del Rossi. She darted
behind a tree, but they had evidently caught a glimpse of her blue
uniform coat, for Signorina put a gloved hand on Madame Perceval's
arm and said something in a low voice, and Madame Perceval called
out sharply,
"Who is it?"
Flip thought of making a wild dash for safety, but she knew it would
be useless. They were between her and the school and they would
be bound to recognize her if she tried to run past them. So she
stepped out from behind the tree and confronted them just as a train
came around the bend. In a moment the train was between them;
she was not sure whether or not they had had an opportunity to
recognize her in the misty dark; the school uniforms were all identical
and there were dozens of girls with short fair hair. Now was her
chance to run and hide. They would never find her in the dark of the
woods and the train would give her a good chance to get a head
start. But somehow, even if this meant that she would never be given
permission to see Paul, she could not run like a coward from
Madame Perceval, so she stood very quietly, cold with fear, until the
train had passed. Then she crossed the tracks to them.
"Thank you for waiting, Philippa," Madame Perceval said.
She stood, numbly staring at the art teacher, her fingers twisting
unhappily inside her mittens.
"Did you know you were out of bounds, Philippa?" Madame Perceval
asked her.
She shook her head. "I didn't remember where the bounds were."
Then she added, "but I was pretty sure I was out of them."
Signorina stood looking at her with the serene half-smile that seldom
left her face even when she had to cope with the dullest and most
annoying girls in her Italian classes. "Where were you going, little
one?"
"Back to school."
"Where from?"
"I was—walking."
"Was it necessary to go out of bounds on your walk?" Madame
Perceval asked coldly. "Mlle. Dragonet is very severe with girls who
cross the railroad tracks."
Flip remembered the walk on which she had first met Ariel, and how,
somehow, it had been necessary to go up, up, the mountain. "I
wanted to climb."
"Were you alone?" Madame Perceval looked at her piercingly but the
dark hid the girl's expression. When she hesitated, Madame
pursued, "Did you meet anyone?"
"Yes," Flip answered so low that she could scarcely be heard.
"You'd better come back to the school with me," Madame Perceval
said. She turned to Signorina. "Go along, Signorina. Tell them I'll
come when I can."
In silence Flip followed Madame down the mountain. When she
slipped on a piece of ice and her long legs went flying over her head,
Madame helped her to pick herself up and brush off the snow, but
she said nothing. They left the trees and crossed the lawn, covered
with patches of snow, and went into the big Hall. Madame Perceval
led the way upstairs, and Flip followed her, on up the five flights and
down the hall to Madame's own rooms. Madame switched on the
lights and when she spoke her voice was suddenly easy and
pleasant.
"Sit down, Philippa." Flip's spindly legs seemed to collapse under her
like a puppy's as she sat on the stool in front of the fire. "Now,"
Madame went on. "Can you tell me about it?"
Flip shook her head and stared miserably up at Madame, "No,
Madame."
"Who did you go to meet?"
"I'd rather not say. Please."
"Was it anybody from school?"
"No, Madame."
"Did anybody at school have anything to do with it?"
"No, Madame. There wasn't anybody else but me."
"And you can't tell me who it was you went to meet?"
"No. I'm sorry."
"Philippa," Madame said slowly. "I know you've been trying hard and
that the going has been rough for you. I understand your need for
interests outside the school. But the rules we have here are all for a
definite purpose and they were not made to be lightly broken."
"I wasn't breaking them lightly, Madame."
"Once a girl ran away and was killed crossing the railroad tracks.
They are dangerous, especially after dark. You see they are placed
out of bounds for a very good reason. And if there's anybody you
want to see outside school it's not difficult to get permission. If you
were one of the senior girls I might think you were slipping away to
meet one of the boys from the school up the mountain. But I know
that's not the case. I don't like having to give penalties and if you'll
tell me about it I promise you I'll be as lenient as I can."
But Flip's thoughts were rushing around in confusion, and she
thought, if I tell now they'll never give me permission to see Paul.
So she just shook her head while she continued to stare helplessly
at the art teacher.
Madame started to speak again, but just then the telephone rang
and she went over to it. "Yes?... Yes, Signorina!" She listened for a
moment, then burst out laughing and continued the conversation in
Italian. Flip could tell that she was pleased and rather excited about
something. They talked for a long time and Flip could tell that
Madame was asking Signorina a great many questions. When she
hung up she turned to Flip, and her face was half smiling, half
serious. "Philippa," she said, "I know I can trust you."
"Yes, Madame."
"And I want you to prove yourself worthy of my trust. Will you?"
"I'll try, Madame."
"So it's Paul you've been running off to meet," Madame Perceval
said with a smile.
Flip jerked erect on her stool. "How did you know!"
Now Madame laughed, a wonderful, friendly laugh that took Flip and
made her part of a secret they were to share together. "Paul's father,
Georges Laurens, is my brother-in-law."
Flip's jaw dropped open. "But Madame!" she sputtered. "But
Madame!"
Madame laughed and laughed. Finally she said, "I think you and I
had better have another little tea party," and she reached for the
telephone. "Fräulein Hauser," she said, "I am excusing Philippa
Hunter from tea." Then she went into her little kitchen and put the
kettle on. When she came back she said, "Signorina and I were on
our way over to borrow a book from Georges and have a visit with
him and Paul when we bumped into you. Now tell me how you found
Paul."
Flip told her about the way Ariel had come jumping out of the
undergrowth at her and how he led her to the chateau and to Paul.
"I see." Madame nodded. "Now tell me what Paul has told you about
himself."
"Why—nothing much," Flip said. "I mean, I know his mother's singing
in Italy and Monsieur Laurens is writing a book and Paul is going to
be a doctor...."
Madame Perceval nodded again. "I see," she repeated thoughtfully.
"Now, Philippa, I suppose you realize that you should be penalized.
You've been breaking rules right and left. It's a pretty serious
situation."
"I know, Madame. Please punish me. I can stand anything as long as
I can see Paul again. If I can't see him again I shall die."
"I don't think you'd die, Philippa. And since you're not a senior you're
not allowed to have dates. Not seeing Paul would be automatic
before your penalties were even considered."
The color drained from Flip's face and she stared up at Madame
Perceval, but she did not move or say anything.
Madame spread cheese on a cracker, handed it absently to Flip, and
leaned back in her chair. She held the cheese knife in her hand and
suddenly she slapped it against her palm with a decisive motion. "I'm
not going to forbid you to see Paul, Philippa," she said, "but you will
have to have a penalty and a stiff one, because the fact that it was
Paul you were seeing does not lessen the seriousness of your
offense, but I'll decide on that tomorrow. In the meantime I want to
talk to you about Paul." For a moment Madame Perceval looked
probingly at Flip. Then, as though satisfied with what she saw, she
continued. "We've been worried about Paul, and I think you can help
us."
"Me, Madame?" Flip asked.
"Yes, you. Yes, I think you of all people, Philippa."
"But how, Madame?"
"First of all simply by seeing him. Signorina told me that Georges
was planning to get permission for you to come to the gate house to
see Paul once a week. I shall see that you get the permission. And
remember, Philippa, that I am doing this for Paul's sake, not yours."
"Yes, Madame. But Madame—"
"But what, Philippa?"
"Monsieur Laurens asked what Mlle. Dragonet's name was. Wouldn't
he know?"
Madame Perceval laughed. "He was just playing along with Paul.
Paul didn't want you to know he had any connection with the school."
"Oh. But—"
"But what, Philippa?"
"Why are you worried about Paul, Madame?"
"I can't tell you that now, Flip. Paul will let you know himself sooner
or later. In the meantime, the best way that you can help him is to
continue trying to get on with the girls here at school, and to become
really happy here. That sounds like rather a tall order to you, doesn't
it? But I think you can do it. You'd like to, wouldn't you?"
"Oh, Madame, you know I would. But please—I don't see—how
would that help Paul?"
"Perhaps you've discovered already," Madame said, "that Paul has a
horror of anything he can label an institution. He knows that you hate
this institution. Because he respects you, if he could watch you grow
to like it here he might be willing to go back to school himself.
Georges is tutoring him but he needs regular schooling. If he really
wants to be a doctor he cannot dispense with formal education, and I
believe that one day Paul will make a very brilliant doctor. I know this
is all very confusing to you, Philippa, but you must trust me as I am
trusting you. All I can tell you is that I think you can help Paul and
because of this I am willing to disregard the manner in which you
have been seeing him up to now and to see that you have official
permission to see him in the future." Madame Perceval stood up.
"You'd better report to me tomorrow and I'll tell you what your
penalties are. I'm afraid this has been a very slim tea for you,
Philippa. If you hurry down to the dining room there may be a few
scraps left."
"I'm not hungry," Flip said. "Thank you for—for everything, Madame."
Madame put her hand on Flip's shoulder. "I'm very glad this
happened to you, Philippa, instead of—say one of your roommates.
Very glad." She was smiling warmly and Flip's heart leaped with joy
at this great praise. Madame gave her a little shove. "Run along
now," she said.
9
Flip was ready and waiting in the big Hall when Monsieur Laurens
came for her the next afternoon. The girls were all curious and rather
envious, when, in answer to their questions they learned that Flip
had been given special permission to have tea with Madame's
nephew; and she felt that her stock had gone up with them.
"My aunt, Pill, it's really a date!" Gloria whistled.
"I bet Pill's never been out with a boy before," Esmée said. "Have
you, Pill? Usually the Americans have more dates than the rest of us
but I bet this is Pill's first date. Are you going to let him kiss you,
Pill?"
"Don't be silly," Flip said.
"Anyhow Black and Midnight said it wasn't a date," Sally added. "I
bet this nephew's just a child."
Erna whispered to Flip, "Esmée and Sally're just boy crazy. Don't
mind them. Personally I think boys are dopes."
At the gate house an hour later, Flip and Paul lay on the great rug in
front of the fire and roasted chestnuts while Georges Laurens
watched from his chair, and Ariel rested his head on his master's
knee.
"So you don't like school?" Georges Laurens asked Flip.
"No, sir."
"Why not."
"I can't seem to fit in. I'm different."
"And I suppose you despise the other girls?" Georges Laurens
asked.
Flip looked surprised for a moment, then hesitated, thinking his
question over as she opened and ate a chestnut. "No. I don't despise
them. I'm just uncomfortable with them," she answered finally,
chewing the delicate tender meat and staring at the delicate unicorn
in the tapestry on the wall above her.
"But you want to be like them anyhow?" Georges Laurens pursued.
She nodded, then added, "I want to be like them and like myself,
too."
"You think quite a lot of yourself?"
"Oh, no!" She shook her head vehemently. "It isn't that at all. I think
I'm—I'm not anything I want to be. It's just that there are certain
things outside me and the way I feel about them that I wouldn't want
changed. The way I feel about the mountains and the lake. And
stars. I love them so very much. And I don't think the others really
care about them. I don't think they really see them. And it's the way I
feel about things like the mountains and the lake and stars that I
wouldn't want changed."
"You want a great deal, my little Flip," Georges Laurens said, gently
stroking Ariel's head, "when you want to be exactly like everybody
else and yet be different at the same time."
Paul reached for another chestnut and rolled lazily onto his back. "I
sympathize with you, Flip. It's horrible to be in an institution. Couldn't
you have stayed at home with your parents?"
"I wanted to," Flip said, "but Gram's in New York and right now my
father's in China, and my mother's dead. I wanted to travel around
with father but he said he was going to go to all sorts of places I
couldn't go, and I couldn't miss school anyhow." Remembering her
promise to Madame Perceval she added, "and I don't hate school
nearly as much as I used to, Paul. Truly I don't."
"What do you like about it?" Paul asked bluntly.
"Oh, lots of things," Flip said vaguely. "Well—look at all the things
you can learn at school you couldn't learn by yourself. I mean not
only dull things. Art, for instance. Madame Perceval's taught me all
kinds of things in a few months."
"Go on," Paul said.
"And skiing—Fräulein Hauser's going to teach me to ski."
"I know how to ski," Paul said.
Flip tried again. "Well, there's music. They teach us lots about music
and that's fun."
"This is the best way to learn about music," Paul said, going to the
phonograph and turning it on. "You don't have to be in school to
listen to good music."
Flip gave up.
The record on the victrola was Bach's Jesu Joy of Man's Desiring. It
was music that Flip knew and she sat quietly staring into the fire and
listening. It was the first time in three years that she had been able to
listen to that music. At home in New York in the Christmases of her
childhood her mother had played it and played it. The Christmas
after her mother's death Flip had found the record broken and was
glad. But now she was listening to it with a kind of peace. She looked
over at Paul and said softly, "My mother used to love that...."
But Paul did not hear. He jumped up and turned off the record before
it had played to the end and said, "Let's go for a walk."
Flip followed him outside. The evening was still and cold and there
was a hint of blue-green left in the sky. The stars were beginning to
come out. Flip looked up at the first one she saw and made a wish.
—I wish Paul may always like me. Please, God. Amen. She wished
on the star and there was a sudden panic in her mind because the
Paul walking beside her was not the Paul with whom she had spent
the afternoon. His face in the last light as she glanced at it out of the
corner of her eye seemed stern, even angry, and he seemed to be
miles and miles away from her. He had withdrawn his
companionship and she searched desperately for a way to bring him
back to her.
"Paul," she hesitated, then gathered her courage and went on, "do
you remember Christmas when you were very little?"
"No," he answered harshly, "I don't remember."
She felt as though he had slapped her. Why wouldn't he remember?
She remembered those first Christmases so vividly. Was he just
trying to keep her from talking? Had she unwittingly done something
to make him angry?
She glanced at him again but his face was unrelenting and she
clenched her mittened hands tightly inside her pockets and said over
and over to herself,—please God, please God, please God....
"I don't remember!" Paul suddenly cried out and abruptly stopped his
rapid walking and wheeled about to face her. "I don't remember." His
voice was no longer harsh but he spoke with an intensity that
frightened Flip.
She could only ask, "But why, Paul? Why?"
He reached out for her hands and held them so tightly that it hurt. "I
don't know why ... that's the hardest part. I don't remember anything
at all beyond the last few years."
Flip tried to make it seem unimportant—to say something, anything
that would make Paul relax. None of this was as serious as he
thought—lots of people had poor memories. Anyway it had nothing
to do with their friendship. "Paul," she began—but he was not
listening. He was not even conscious that she had spoken.
"I don't want to frighten you," Paul said, "but Flip I have to tell you—I
don't know who I am."
CHAPTER FOUR
The Lost Boy
FLIP did not say anything. She just stood there and let Paul hold her
hands too tightly and she felt that somehow the pain in her hands
might ease the pain in his mind. Then he dropped her hands and
started to walk again, but more slowly. When he began to speak she
listened intently, but it was impossible to make it seem real. The
story Paul was pouring out to her now was like a movie, or
something read in a book. The concentration camps. The children
and the children's parents gassed and burned. The cold and the
hunger, and afterwards the lostness. The children in the DP camps.
The children roaming and scavenging the streets like hungry wolves.
"I was one of the lucky ones," Paul said in a low voice. "My mother
and father found me. I mean—Monsieur and Madame Laurens....
You'll have to understand Flip, if I keep calling them my mother and
father—but that's the way I think of them now, and I don't remember
anyone else for a mother and father."
Flip nodded, and Paul continued, his face tense in the starlight.
"They found me in a bombed out cellar in Berlin when my mother
was singing there for the troops just after the war was over. I'd been
trapped there somehow and I was nearly dead I guess, but I kept on
calling and they found me and rescued me. And for some reason I
didn't want to be rescued. It's like sometimes when you try to save
an animal he snarls and bites at you before he realizes that you
aren't going to hurt him more. A dog was run over on our street once
—not Ariel, another dog—and he kept trying to bite at me for a long
time until he realized that I wanted to help him. His back was broken
and I had to chloroform him. Dr. Bejart helped me." Paul stopped
talking and continued to walk so rapidly that Flip almost had to run to
keep up with him. She looked up through the bare trees and the last
color had drained from the sky and the full flowering of stars was out
and they seemed to be caught in the topmost branches of the trees
like blossoms. By their light she could see Paul quite clearly but she
knew that she must not say anything to him. They had walked
beyond the chateau now and behind her she could hear an owl
calling forlornly from one of the turrets.
"I don't really remember anything before my mother and father found
me," Paul said. "Sometimes I remember bits of the concentration
camp. Aunt Colette thinks its because of the concentration camp that
I'm afraid of institutions. I might as well admit it, Flip, I am afraid of
institutions. I think if I could remember I wouldn't be afraid.
Sometimes when I'm in the chateau I feel as though I were going to
remember but I never do. I remember bits of the camp, the way you
sometimes remember bits of a nightmare, but when I try really to
remember it's like going out of a bright room into a dark room and
you can't see anything in the dark except strange shapes and
shadows...."
"Oh, Paul," Flip whispered. She could think of no words of comfort or
reassurance so she whispered "Oh, Paul...." again to let him know
that she was listening and caring.
"It's like being blind," Paul said, "not remembering. When people talk
about the five senses they forget memory. Memory's like a sense....
Flip, I have never said these things to anyone before." He turned
sharply and they started walking back to the gate house. After a
while he asked her, "Are you cold?"
"No," Flip said.
"You must be cold. You wouldn't be shivering if you weren't. We'll go
back and roast some more chestnuts." She walked along beside him
and suddenly he turned to her and smiled and his voice was Paul's
voice again, "We're going to have wonderful times this winter, Flip!"
he said. "When you learn how to ski we can go skiing together. And
in the spring we can go for trips on the lake and in the summer we
can go swimming. I'm glad you came to the chateau, Flip."
"Oh!" Flip said, "supposing I hadn't."
2
The next afternoon the sky clouded over and it began to snow and it
snowed all afternoon and all night and the following afternoon skiing
began. Fräulein Hauser met the beginners in the ski room, and told
them the various parts of the skis and the ski sticks, and how to take
care of them. Flip clutched Eunice's discarded skis and felt happy
with the excited kind of anticipation that comes before Christmas.
Somehow she knew she would be able to ski and maybe if she
turned out to be a really wonderful skier the girls would like her better
and then she would begin to like school and she would be better
able to help Paul.
But when they got out on the gentle slopes where Fräulein Hauser
taught the beginners it wasn't at all the way she had imagined and
hoped it would be. Instead of all at once being able to fly over the
snow like a bird as she had dreamed, she found that no sooner was
she on her feet than she was flat on her back, skis up in the air, or
with her head buried in the snow, or doing a kind of wild splits.
Fräulein Hauser was not unkind, but after a while she said,
"You don't seem to have much aptitude for this, do you, Philippa?"
Flip gritted her teeth. "I'll learn."
"I hope so." Fräulein Hauser sounded dubious.
Every afternoon Flip went out grimly with the beginners. She was
covered with bruises and every muscle in her body ached, but she
was determined that she was going to learn how to ski, that in this
one thing at any rate she would not fail. When the other beginners
laughed at her tumbles she tried desperately to laugh back, to
pretend that she thought it was funny, too.
At the end of the skiing class on Friday afternoon, Fräulein Hauser
called her back to the ski room as the others left.
"I don't want to hurt your feelings, Philippa, but I think you'd better
drop skiing. You'll enjoy the ice-skating when the hockey field is
flooded, I'm sure, and in the meantime there are walks, and gym
work."
"But why, please, Fräulein Hauser?" Flip gasped in dismay.
"You just don't seem able to learn, and I'll have to admit I can't teach
you. I'm afraid you'll hurt yourself in one of your falls and I think it
would be best if you just give it up."
Flip looked at the racks and racks of skis as they suddenly began
blurring together. "I'd rather keep on, please, Fräulein Hauser, if it's
all right."
"I'm afraid it isn't all right," Fräulein Hauser said impatiently. "I just
can't have you in my class. I'll put you on the walk list for tomorrow."
Flip turned her head and left. She walked blindly down the corridor
but she had managed to control her tears by the time she got to the
big Hall.
3
On Sunday she could not help telling Paul of her defeat. Paul had
immediately seen that something was wrong, asking, "What's the
matter?"
"I know I could learn to ski if she'd just let me go on trying," Flip
persisted. "I know I could." Ariel was licking her face in a worried
manner and she put her head down on his back to try to hide the
tears that were threatening.
"Bring your skis over next Sunday and I'll help you," Paul told her.
"Oh, would you really, Paul?"
"I said I would. Do you think it's because of your bad knee you told
me about?"
Flip shook her head. "No. My father asked the doctor when Eunice
gave me her skis and he said skiing was fine for me. So it isn't that."
"Well, bring your skis next time then," Paul told her.
So Flip brought her skis over. Madame Perceval arrived just as they
were about to set off.
"Hello, Philippa, Paul, what's this?" she asked, fending off Ariel's
frantic welcome.
"I'm going to teach Flip to ski," Paul announced.
"Oh?"
"Fräulein Hauser said I had to drop skiing," Flip explained.
"Why, Philippa?"
"She said I just couldn't learn and she couldn't teach me. But
Madame, I'm sure I can learn, I'm sure I can."
"Why don't I go out with you and Paul?" Madame Perceval said, "and
we'll see."
She watched while Flip put on her skis, watched her push off, fall
down, push off and fall down again.
"Where did you get your skis?" she asked.
"A friend of my father's gave them to me. They were hers."
"Take them off for a moment," Madame Perceval said. "Now raise
your arm." She measured the skis against Flip. "Just as I thought.
They're much too long for you. I don't know what your father's friend
was thinking of. She can't know much about skiing."
"Well, she says she's skied a lot," Flip said. "Maybe she was trying to
impress father. He doesn't know anything about skiing. He used to
use snow shoes when he was a boy."
Madame Perceval took the skis away from Flip. "No wonder you
couldn't learn on these. They would be too long for Paul. I don't know
why Fräulein Hauser didn't notice it at once."
"She probably would have on anybody else. People just expect me
to be bad at sports."
Madame Perceval laughed. "You're probably right, Philippa. And
Fräulein Hauser certainly has her hands full with beginners this year.
Now, there's a pair of very good ash skis back at school that would
be just about right for you. One of the girls from last year left them. I
think I'll run along back and get them. You and Paul wait inside for
me."
"Oh, thank you, Madame!" Flip cried.
"Thank you Aunt Colette," Paul added.
She and Paul went indoors. Georges Laurens was shut up in his tiny
study, deep in concentration, so they did not speak to him, but went
over to the fire, stripping off jackets and sweaters. For a moment
they were silent and Flip knew that Paul did not want to talk about
any of the things he had told her, or to have her talk about them.
"Papa's been writing all day, except when he went to get you," Paul
said, talking nervously as he stared into the fire. "I was afraid that he
might forget to go for you, but he didn't."
"Thank goodness for that," Flip sighed.
Paul stood up. "I'm hungry. I'll go get us some bread and cheese
from Thérèse." He disappeared in the direction of the kitchen and
came back with a chunk of cheese, half a loaf, and a bone handled
carving knife. Flip lay on the hearth, using Ariel as a pillow.
"Aunt Colette was over here last night," Paul said, "And that Italian
teacher, Signorina what's-her-name."
"Signorina del Rossi."
"That's right," Paul said. "And they were talking about you."
"About me! What did they say?" Flip cried, sitting up.
"Well, I didn't hear all of it because I was reading."
"But what did they say?" Flip asked again.
"Well, Signorina was saying that it was the first time Aunt Colette's
ever taken a special interest in any one girl. And Aunt Colette
laughed and said that you had great talent and then she said that an
artist's life was a hard one but she was afraid you were stuck with it.
And then she said—now, don't get angry with me, Flip—"
"Go on."
"Well, she said you were a nice child when you didn't spoil it by
being sorry for yourself."
"Oh," Flip said. "Oh." And she lay down again rubbing her cheek
against Ariel's fur.
"Here," Paul said. "Have some more bread and cheese.... You aren't
angry at me, are you, Flip?"
"No."
"Are you sorry for yourself?"
"Yes. I think I am sometimes—"
"Why?"
"Oh—because I want my mother. And the girls don't like me. Oh, and
everything. And I want to be with father instead of at school. But I
don't feel that way so much any more, Paul. And if I can learn how to
ski it will be wonderful. And I love coming here every week-end. And
I'm beginning to like school. Truly I am."
"Why do you keep saying that?" Paul asked, holding the loaf against
his chest and cutting off another chunk. "You keep saying you like
school so much and I don't believe you really do at all."
"I do," Flip persisted. "I don't hate it the way I used to." And she
realized with a start that her words were true. While she didn't
actually like school, she no longer hated it with the sickening passion
of only a few short weeks ago.
"Aunt Colette said something else," Paul went on. "Do you want to
hear?"
"Of course."
"She said you reminded her of Denise."
"Who's Denise?"
"Her daughter."
"What!" Flip yelled. "Her daughter!"
"Hush. Here she comes. Have some more bread and cheese, Flip,"
Paul said as Madame Perceval came in carrying a pair of skis.
"Here you are, Philippa," Madame Perceval held the skis up. "Let's
try these for size."

Potrebbero piacerti anche