290 likes | 413 Views
Cryptography. Chapter 13 – Digital Signatures. Firme digitali. Esaminata l’autenticazione di messaggio Ma non si è trattato il problema della perdita di fiducia Le firme digitali forniscono la capacità di: controllare l’autore, la data ed il momento della firma
E N D
Cryptography Chapter 13 –Digital Signatures
Firme digitali • Esaminata l’autenticazione di messaggio • Ma non si è trattato il problema della perdita di fiducia • Le firme digitali forniscono la capacità di: controllare l’autore, la data ed il momento della firma • Autenticare i contenuti del messaggio • Essere verificati da terze parti per risolvere dispute • Includono la funzione di autenticazione con capacità addizionali
Proprietà della firma digitale • Deve dipendere dal messaggio firmato • Deve fare uso di informazione nota solo al sender • Deve prevenire falsificazioni e dinieghi • Deve essere relativamente facile da produrre • Deve essere relativamente facile da ricosce e verificare • Deve essere computazionalmente impossibile da falsificare -con un nuovo messaggio per una firma digitale esistente -con una firma digitale fraudolenta per un dato messaggio • Deve essere facile conservare la firma digitale
Firme digitali dirette Rapporto soltanto tra sender e receiver Si assume che il receiver possiede la chiave pubblica del sender Firma digitale fatta dal sender firmando l’intero messaggio o solo l’hash con la chiave privata Possibile criptare con la chiave pubblica del receiver
Firme digitali dirette Importante che - nel caso di encryption del messaggio – si firmi prima della encryption Sicurezza dipendente dalla chiave privata del sender La chiave del sender può sempre essere compromessa o egli può pretendere di averla perduta o compromessa Esigenza di timestamp e prompt reporting
Firme digitali arbitrate Comporta la presenza di un arbitro Effettua la validazione di ogni messaggio firmato Provvede a datare un messaggio e a inviarlo al receiver Richiede un adeguato livello di fiducia nell’arbitro Può essere implementato con sistemi simmetrici o asimmetrici L’arbitro non deve necessariamente vedere i messaggi
Firme digitali arbitrate X mittente Y destinatario A arbitro Kxa chiave condivisa tra A e X IDx identificatore PRx chiave privata di X PUy chiave pubblica di Y
Protocolli di autenticazione Usati per convincere le parti circa le reciproche identità e per scambiare le chiavi di sessione Possono essere one-way o mutui Problemi chiave sono: Tempestività – protezione dai replay attacks Frequentemente i protocolli pubblicati presentano alcuni Problemi connessi con la sicurezza e vengono richieste alcune modifiche Attuano la protezione delle chiavi di sessione
Replay Attacks Attacco a replay Ripetizioni che possono essere accettate (logged) Ripetizioni che non possono essere rivelate Backward replay con modifiche Le contromisure comprendono: o Uso dei sequence numbers (poco pratico/usato) o Timestamps (necessità di clock sincronizzati) o Challenge/Response (usando un solo nonce) Attacchi in cui un messaggio valido e firmato è copiato e ritrasmesso successivamente
Replay Attacks Timestamps presentano problemi Servirebbe una perfetta sincronizzazione, che è impossibile In ogni modo vi deve essere una finestra di tolleranza e questa risulta sfruttabile Deve essere usato su sistemi connectionless Challenge/Response richiede sistemi connection oriented
Uso Symmetric Encryption Già esposta una tecnica con due livelli gerarchici di chiavi Generalmente con un Key Distribution Centre (trusted) Ciascun partecipante condivide una master key con il KDC Il KDC genera le chiavi di sessione usate per le connessioni tra i partecipanti Le session keys sono distribuite usando le master keys Approccio molto frequente (Kerberos)
Protocollo Needham-Schroeder Si può sintetizzare come: 1. A→KDC: IDA|| IDB|| N1 2. KDC→A: EKa[Ks|| IDB|| N1 || EKb[Ks||IDA] ] 3. A→B: EKb[Ks||IDA] 4. B→A: EKs[N2] 5. A→B: EKs[f(N2)] • Risulta vulnerabile ad un replay attack se è stata compromessa una vecchia session key K s • Allora il messaggio 3 può essere ritrasmesso In tal modo B pensa di comunicare con A
Needham-Schroeder Protocol Un intruder M dopo un certo tempo ritrasmette il messaggio dello step 3 presentandosi a B come se fosse A Due proposte per risolvere il problema: Timestamp (proposta Denning) Uso di un’altro nonce (proposta Neumen)
Uso di Public-Key Encryption Vasto range di approcci fondato sulla public-key encryption Serve la sicurezza di avere la chiave pubblica corretta dei corrispondenti Ottenibile con l’uso di un Authentication Server (AS) Varii protocolli, facenti uso di timestamps e nonces Proposta Denning
Autenticazione one-way • Autenticazione in un solo senso e non reciproca • Richiesta allorché una parte (client) si deve autenticare presso l’altra (server) e non viceversa HTTPS, WLAN, etc • Necessità di header in chiaro per la consegna da parte del sistema • Si può richiedere la protezione del body e l’autenticazione del sender anche quando sender e receiver non sono in comunicazione diretta (email)
Uso di encryption simmetrica In ogni modo poco utile
Digital Signature Standard (DSS) Standard USA per firma digitale Presentato al pubblico nel 1991 Pubblicato come FIPS-186 nel maggio 1994 Serve solo per firma digitale e non per scambio chiavi Aggiornato nel 1996 e nel 2000 (FIPS 186-2) Fa uso dell’algoritmo di hash SHA Lo standard è il DSS che usa l’algoritmo DSA Già presentato (2006) un draft di FIPS 186-3
Digital Signature Algorithm (DSA) • have shared global public key values (p,q,g): • a large prime p = 2L • where L= 512 to 1024 bits and is a multiple of 64 • choose q, a 160 bit prime factor of p-1 • choose g = h(p-1)/q • where h<p-1, h(p-1)/q (mod p) > 1 • users choose private & compute public key: • choose x<q • compute y = gx (mod p)