Università Degli Studi Di Salerno SOMMARIO • Facoltà di Scienze Matematiche, Fisiche e Naturali Corso di Laurea in Informatica, a.a. 20022002-2003 Smart card - Veduta d’insieme - Struttura e classificazione delle smart card - Lettore e terminale di base - Standard - Sicurezza Sistemi di Elaborazione: Sicurezza su Reti Prof.: Alfredo De Santis • Smart card: autenticazione utenti sotto Windows Autenticazione - Cos’è l’autenticazione - Rischi delle tecnologie, attacchi più comuni e trasmissione dat i su reti - Processo di autenticazione tramite smart card • Smart card: autenticazione utenti sotto windows - Introduzione - Chiave pubblica: concetti - Smart card authentication - Programmare una smart card • Analisi dei dispositivi hardware e software utilizzati - Smart card - Lettore smart card - Gemplus SmartDiag v2.0 - GemXpresso RAD III Studenti: Antonio De Pascale Pascale,, Tony Montone, Giacomo Scaffidi Domianello Smart card: autenticazione utenti sotto Windows 2 Struttura smart card Cos’è una smart card? La smart card è un’evoluzione della tradizionale carta magnetica. Presenta un Circuito Integrato (IC) che può essere: - una semplice memoria - un microprocessore Perché smart card - Migliorano la convenienza e la sicurezza di alcune operazioni. - Rendono inattaccabili le memorie degli utenti e l’identità degli account. - Proteggono contro una serie di minacce per la sicurezza. - Offrono sicurezza ai sistemi a scambio virtuale di dati. - Possono servire anche come accesso al sistema di rete, a depositi bancari e ad altri dati. Smart card: autenticazione utenti sotto Windows 3 Smart card: autenticazione utenti sotto Windows 4 Smart card: autenticazione utenti sotto Windows 5 Smart card: autenticazione utenti sotto Windows 6 Classificazione Smart card: autenticazione utenti sotto Windows 1 Lettore e Terminale di base Memory Card Ci sono principalmente tre tipi di memory card: - Straight Memory Cards Immagazzinano solo dati e non hanno capacità di elaborazione. - Protected / Segmented Memory Cards Hanno incorporata la logica per controllare l'accesso alla memoria della scheda stessa. Lettore: usato per descrivere un'unità che si interfaccia con un PC. Terminale: dispositivo di elaborazione indipendente. - Stored Value Memory Cards Sono progettate con lo specifico scopo di immagazzinare valori. I lettori si presentano di molte forme e diverse capacità. Si connettono a porte seriali RS232, porte USB, slot PCMCIA, slot di floppy-disk, porte parallele ecc. Smart card: autenticazione utenti sotto Windows Smart card: autenticazione utenti sotto Windows 7 8 ISO 7816 Standard Gli standard delle smart card regolamentano le proprietà fisiche e le caratteristiche di comunicazione del chip incorporato e sono coperti dall'ISO 7816-1,2,3. Le principali organizzazioni che propongono i loro standard sono: - International Standards Organization (ISO) ISO 7816 consta di sei parti: 1. Caratteristiche fisiche - ISO 7816 -1:1987 2. Dimensioni ed Ubicazione dei Contatti - ISO7816 -2:1988 - National Institute of Standards and Technology (NIST) 3. Segnali Elettronici e Protocolli di Trasmissione - ISO 7816-3:1989 - Europay, MasterCard and Visa 4. Comandi per Interscambi tra Industrie - ISO 7816-4 - Microsoft - CEN (Comité Europèen de Normalisation) 5. Sistemi di numerazione e Procedure di Registrazione per Identificatori Applicativi - ISO 7816-5:1994 - ETSI (Istituto Europeo degli Standard delle Telecomunicazioni) 6. Dati tra industrie - ISO 7816-6 Smart card: autenticazione utenti sotto Windows Smart card: autenticazione utenti sotto Windows 9 10 Meccanismi della sicurezza sui dati Cos’ è la sicurezza? E’ fondamentalmente la protezione di qualsiasi cosa preziosa dal furto, dallo smarrimento o dalla sua alterazione. Cos’è la sicurezza d’informazione? E’ l’applicazione di misure per assicurare la sicurezza e la privacy dei dati nella loro gestione, salvataggio e distribuzione. Gli elementi della sicurezza di dati - Hardware: server, memorie di massa ridondanti, canali e linee di comunicazione. - Software: sistemi operativi, sistemi di database gestionale, programmi applicativi. - Dati: database che contengono informazioni relative ai clienti. - Personale: utenti e/o fonti di dati; professionisti, personale amministrativo e informatico. Smart card: autenticazione utenti sotto Windows Smart card: autenticazione utenti sotto Windows 11 Integrità dei dati: funzione che verifica le caratteristiche dei documenti e delle transazioni. Autenticazione: con essa si ispeziona e si conferma la corretta identità di persone coinvolte in una transazione di dati. Non-ripudio: elimina la possibilità che una transazione ripudiata o invalidata può essere verificata come corretta. Concessione e delegazione: processo che permette l’accesso di specifici dati all'interno di un sistema. Controllo e registrazione: esamina la registrazione dei record, le attività per assicurare la conformità ai controlli stabiliti, le procedure operative in polizze. Gestione: è la tutela e la progettazione degli elementi e dei meccanismi discussi sopra. Smart card: autenticazione utenti sotto Windows 12 2 Sistema di sicurezza card-based Sistema di sicurezza host-based Tratta una scheda come un semplice veicolo che trasporta dati. Ogni protezione dei dati è fatta dal computer server. Il sistema è facilmente attaccabile. Basato su microprocessori inclusi nelle card. L'accesso alle informazioni nella scheda è controllato da: a) un sistema operativo interno alla scheda. b) un insieme di permessi. Possibili attacchi: alcune parti delle chiavi sono in chiaro e possono essere analizzate da hackers. Possibile rimedio: uso di memory cards che implementano un meccanismo di password per prevenire la lettura non autorizzata dei dati. Ci sono due tipi di approccio per i sistemi operativi di scheda: - Approccio Classico: tratta ogni scheda come un dispositivo sicuro di calcolo e di salvataggio dati. - Approccio Disk Drive: c’è una memoria attiva che gestisce la scheda e permette di caricare specifiche “applicazioni” e file. Possbili attacchi: le password possono essere sniffate in chiaro. Smart card: autenticazione utenti sotto Windows • • Smart card Cos’è l’autenticazione L'autenticazione è il processo attraverso il quale viene verificata l'identità di un utente che vuole accedere ad un computer o ad una una rete. Autenticazione Un buon processo di autenticazione ricorre normalmente ai seguenti tre fattori: - qualcosa che solo l'utente conosce - qualcosa che solo l'utente possiede - un aspetto fisiologico o comportamentale Smart card: autenticazione utenti sotto windows - Introduzione - Chiave pubblica: concetti - Smart card authentication - Programmare una smart card • 14 SOMMARIO - Veduta d’insieme - Struttura e classificazione delle smart card - Lettore e terminale di base - Standard - Sicurezza - Cos’è l’autenticazione - Rischi delle tecnologie, attacchi più comuni e trasmissione dat i su reti - Processo di autenticazione tramite smart card • Smart card: autenticazione utenti sotto Windows 13 Analisi dei dispositivi hardware e software utilizzati - Smart card - Lettore smart card - Gemplus SmartDiag v2.0 - GemXpresso RAD III Smart card: autenticazione utenti sotto Windows Smart card: autenticazione utenti sotto Windows 15 16 Quello che un utente possiede: i dispositivi hardware Quello che un utente conosce: le password Chiave hardware La password è l'insieme di caratteri alfanumerici, di lunghezza variabile, che immessa in un sistema ne permette l'accesso. Per definizione nessuna password è sicura al 100%. Per incrementarne la sicurezza si può ricorrere alle password dinamiche. Sono password composte da una porzione alfanumerica fissa e una porzione alfanumerica, o più spesso solo numerica, che cambia ad ogni intervallo di tempo. Smart card Un esempio di questo sistema è fornito dall’ RSA. Proximity tools Smart card: autenticazione utenti sotto Windows Smart card: autenticazione utenti sotto Windows 17 Smart card: autenticazione utenti sotto Windows 18 3 Quello che un utente è: i dispositivi biometrici Quali sono i rischi derivanti dall’utilizzo di queste tecnologie? E’ un sistema di riconoscimento che stabilisce l'autenticità di una caratteristica fisiologica o del comportamento di un utente. Il rischio maggiore è che la macchina non sia in grado di distinguere tra soggetti autorizzati ad accedere ad una risorsa e soggetti non autorizzati. Gli hackers giocano proprio su questo punto debole del sistema, ossia cercano di “farsi riconoscere” come persone autorizzate. Tipi di attacchi: - tentativi di indovinare le password - impossessarsi dei dispositivi hardware (chiavi USB, smart card,…) - ”man in the middle” Smart card: autenticazione utenti sotto Windows Smart card: autenticazione utenti sotto Windows 19 20 Quanto è sicura la trasmissione di dati su reti protette da protocolli di codifica Quali sono i metodi di attacco più comuni? Password cracker: • dictionary based (veloce ma non molto efficace) tipo di attaccante • brute force attack (lento ma quasi infallibile) Hacker Smart card: autenticazione utenti sotto Windows 21 Chiave a 40 bit Chiave a 46 bit Chiave a 56 bit Chiave a 80 bit Chiave a 128 bit 5 h. 10.000 anni 700.000.000 anni 700.000.000 anni 10 27 anni PMI 2 sec. 1 anno 70.000 anni 70.000 anni 10 19 anni Grande Impresa 2 ms. 9 gg. 7000 anni 7.000 anni 10 16 anni Intelligence Agency 2 ms. 13 sec. 7 anni 7 anni 10 15 anni Smart card: autenticazione utenti sotto Windows 22 Interazione utente con un’Infrastruttura a Chiave Pubblica Processo di autenticazione tramite smart card Opera il riconoscimento, tra smart card e mondo esterno. Lo standard ISO definisce tre tipi di autenticazione: - interna - esterna - reciproca La suddivisione è definita in base e chi effettivamente effettua la verifica dell’identità (il mondo esterno, la card o entrambi). Smart card: autenticazione utenti sotto Windows Smart card: autenticazione utenti sotto Windows 23 Smart card: autenticazione utenti sotto Windows 24 4 • • Smart card SOMMARIO Kerberos - Veduta d’insieme - Struttura e classificazione delle smart card - Lettore e terminale di base - Standard - Sicurezza Consente ad un processo (client) per conto di un utente (user) di autenticarsi presso un verificatore. L’autenticazione viene effettuata senza spedire dati significativi attraverso la rete. Autenticazione - Cos’è l’autenticazione - Rischi delle tecnologie, attacchi più comuni e trasmissione dat i su reti - Processo di autenticazione tramite smart card • Smart card: autenticazione utenti sotto windows - Introduzione - Chiave pubblica: concetti - Smart card authentication - Programmare una smart card • Analisi dei dispositivi hardware e software utilizzati - Smart card - Lettore smart card - Gemplus SmartDiag v2.0 - GemXpresso RAD III Smart card: autenticazione utenti sotto Windows Smart card: autenticazione utenti sotto Windows 25 26 Domini, Foreste e Fiducia Active Directory E’ un “namespace” (spazio di nomi): un’area limitata nella quale un dato nome può essere risolto. Un dominio è un singolo confine di sicurezza in Windows 2000, avente le proprie politiche e relazioni di sicurezza con gli altri domini. La risoluzione del nome è il processo di traduzione di un nome in qualche oggetto o informazione che esso rappresenta. Quando domini multipli sono connessi da relazioni di fiducia ci troviamo di fronte ad un “domain tree” (albero di dominio). Una directory telefonica, ad esempio, forma un namespace nel quale i nomi degli abbonati telefonici possono essere risolti in numeri telefonici. Alberi di dominio multipli possono essere connessi assieme in una “foresta”. Smart card: autenticazione utenti sotto Windows 27 Smart card: autenticazione utenti sotto Windows 28 Smart card: autenticazione utenti sotto Windows 30 Certificati Cos’è un’infrastruttura a chiave publica? E’ un insieme di componenti che gestiscono certificati e chiavi, utilizzati per la codifica e per servizi di firma digitale. I componenti del PKI di Windows 2000 includono: • servizi dell’autorità di certificazione (CA) • Microsoft CryptoAPI • politiche di infrastruttura Smart card: autenticazione utenti sotto Windows Smart card: autenticazione utenti sotto Windows 29 5 Lo standard dei certificati X.509 Autorità di Certificazione (CA) Nello standard X.509 v3 un certificato consiste dei seguenti campi : • • • • • • • • • • • I certificati sono emessi da un’autorità di certificazione (CA), che garantisce per l’identità di coloro per cui emette i certificati e a cui associa una data chiave. versione numero seriale ID dell’algoritmo di firma nome di chi ha emesso il certificato periodo di validità nome dell’utente informazioni sulla chiave pubblica dell’utente identificatore (unico) dell’emittente (versione 2 e 3) identificatore (unico) dell’utente (versione 2 e 3) estensioni (solo versione 3) firma dei campi precedenti Smart card: autenticazione utenti sotto Windows Per prevenire la perdita di certificati, la chiave pubblica della CA deve essere attendibile. Una CA deve pubblicizzare la sua chiave pubblica ed esibire un certificato di un’altra CA a più alto livello che attesti la validità della propria chiave. 31 Smart card: autenticazione utenti sotto Windows 32 Smart card: autenticazione utenti sotto Windows 34 Logon interattivo Smart card authentication Una smart card può essere utilizzata per autenticarsi ad un dominio Windows 2000 in tre modi: • Logon interattivo: l’utente, inserendo il PIN, si autentica alla macchina utilizzando la smart card • Autenticazione client: la smart card è utilizzata durante la generazione di una sessione sicura con SSL o TLS • Logon remoto: utilizza certificati a chiave pubblica per autenticare un user remoto ad un account memorizzato in Active Directory Smart card: autenticazione utenti sotto Windows PIN 33 Logon interattivo Autenticazione client Dopo che l’user inserisce il PIN nella finestra di logon, il sistema operativo inizia una sequenza di azioni per determinare se l’utente può essere identificato e autenticato. Windows 2000, in questa fase, utilizza: • Protocollo Kerberos versione 5 Il ruolo della smart card nell’autenticazione client è quello di firmare una parte del protocollo durante la sessione iniziale di negoziazione SSL. La chiave privata corrispondente al certificato a chiave pubblica è memorizzata sulla smart card quindi il metodo di autenticazione è “forte”. • Certificati X.509 • Microsoft CryptoAPI L’operazione che coinvolge la chiave privata è fatta sulla card; in tal modo la chiave privata non è mai esposta al computer host o alla rete. • Active Directory Smart card: autenticazione utenti sotto Windows Smart card: autenticazione utenti sotto Windows 35 Smart card: autenticazione utenti sotto Windows 36 6 Autenticazione client Logon remoto Per le connessioni di rete e remote è possibile utilizzare i seguenti metodi e protocolli di autenticazione: • • • • • Protocollo PAP (Password Authentication Protocol) Protocollo CHAP (Challenge Handshake Authentication Protocol) Protocollo SPAP (Shiva Password Authentication Protocol) Protocollo MS-CHAP (Microsoft Challenge Handshake Authentication Protocol) Protocollo MS-CHAP v2 (Microsoft Challenge Handshake Authentication Protocol versione 2) • Protocollo EAP (Extensible Authentication Protocol) • Autenticazione basata su smart card e altri certificati Smart card: autenticazione utenti sotto Windows Smart card: autenticazione utenti sotto Windows 37 Programmare una smart card Non si può pensare di comperare un insieme di smart card, distribuirle agli utenti e aspettarsi che esse lavorino. Queste devono prima essere programmate da un amministratore. • Smart card • Autenticazione 38 SOMMARIO - Veduta d’insieme - Struttura e classificazione delle smart card - Lettore e terminale di base - Standard - Sicurezza - Cos’è l’autenticazione - Rischi delle tecnologie, attacchi più comuni e trasmissione dat i su reti - Processo di autenticazione tramite smart card La procedura da seguire può essere suddivisa in quattro passi: • 1. configurare la CA per emettere i certificati corretti 2. specificare la politica che stabilisce quali user possono iscriversi per questi certificati 3. configurare l’account dell’agente di iscrizione 4. iscrivere gli user per le smart card Smart card: autenticazione utenti sotto windows - Introduzione - Chiave pubblica: concetti - Smart card authentication - Programmare una smart card • Analisi dei dispositivi hardware e software utilizzati - Smart card - Lettore smart card - Gemplus SmartDiag v2.0 - GemXpresso RAD III Smart card: autenticazione utenti sotto Windows Smart card: autenticazione utenti sotto Windows 39 40 Lettore smart card Smart card Reader Gemplus GemPC410 0 Message The reader is available for use. Message Details The diagnostic tool recognizes this reader and did not find any problem. MessageDetailsNote front back Caratteristiche: • • • • • Java Card 2.1 API Java Card 2.1 VM Visa OP 2.0.1 Security algorithm: 3-DES & RSA (512 bit-key) 8 bit processor Vendor Gemplus Type COM Device Maximum Data Rate 115200 Model GemPC410 or Compatible Plug and Play ID GEM0410 Version GemCore-R1.21-GM Certifications Designed for Windows 98, NT4 and 2000 Information Web Page http://www.gemplus.com Driver File Name gemser.sys Driver File Version 2.0.10.0 Driver Signature Latest Driver Card ATR Smart card: autenticazione utenti sotto Windows Smart card: autenticazione utenti sotto Windows 41 3F 6D 00 00 80 31 80 65 B0 05 01 02 5E 83 00 90 00 Smart card: autenticazione utenti sotto Windows 42 7 Gemplus SmartDiag v 2.0 GemXpresso RAD III Questo programma verifica che il lettore di smart card e la card in esso contenuta, siano disponibili per altri programmi. Permette di sviluppare, simulare, testare le applicazioni e gli applets della Java card rendendo la programmazione più facile e più efficente. Comprende due software per poter interoperare con una smart card: - JCardManager - GemXpresso Simulator Smart card: autenticazione utenti sotto Windows 43 Smart card: autenticazione utenti sotto Windows 44 Smart card: autenticazione utenti sotto Windows 46 Smart card: autenticazione utenti sotto Windows 48 Tools JCardManager Smart card: autenticazione utenti sotto Windows 45 Change PIN Authenticate Smart card: autenticazione utenti sotto Windows Smart card: autenticazione utenti sotto Windows 47 8 Get Data Delete Smart card: autenticazione utenti sotto Windows 49 Get memory space Smart card: autenticazione utenti sotto Windows 50 Smart card: autenticazione utenti sotto Windows 52 Smart card: autenticazione utenti sotto Windows 54 Get status Smart card: autenticazione utenti sotto Windows 51 Put data Install Smart card: autenticazione utenti sotto Windows Smart card: autenticazione utenti sotto Windows 53 9 Put key Quick load Smart card: autenticazione utenti sotto Windows 55 Reset Smart card: autenticazione utenti sotto Windows 56 Smart card: autenticazione utenti sotto Windows 58 Smart card: autenticazione utenti sotto Windows 60 Select Smart card: autenticazione utenti sotto Windows 57 Send APDU Set status Smart card: autenticazione utenti sotto Windows Smart card: autenticazione utenti sotto Windows 59 10 Upload File into a Card GemXpresso Simulator (GSE GUI) Visualizza contesti di smart card simulate e tiene traccia dei comandi e delle risposte scambiate tra la card simulata e un’applicazione client (come ad esempio JCardManager). Smart card: autenticazione utenti sotto Windows 61 Smart card: autenticazione utenti sotto Windows 62 GemXpresso Simulator (GSE GUI) • Option(s) . Si possono specificare le seguenti opzioni: -card simmode dove simmode può essere: JAVACARD_21 JAVACARD_21_IS GXP211V2 GXP211V2_IS GXP211_PK GXP211_PS_IS GXPLITE GXXV3 -atr ATRvalue -motherkey customkey -serial customserialno Smart card: autenticazione utenti sotto Windows Smart card: autenticazione utenti sotto Windows 63 11