Docsity
Docsity

Prepara i tuoi esami
Prepara i tuoi esami

Studia grazie alle numerose risorse presenti su Docsity


Ottieni i punti per scaricare
Ottieni i punti per scaricare

Guadagna punti aiutando altri studenti oppure acquistali con un piano Premium


Guide e consigli
Guide e consigli


Sicurezza Informatica: Prevenzione di Attacchi di Replay, Prove d'esame di Sicurezza Dei Sistemi Informativi

Un esercizio sulle comunicazioni sicure tra due utenti (a e b) e una trusted authority (t), utilizzando chiavi simmetriche per l'autenticazione. L'attacco di replay e come prevenirlo aggiungendo timestamp e numeri di sequenza ai messaggi.

Tipologia: Prove d'esame

2023/2024

In vendita dal 06/03/2024

spadaspettro
spadaspettro 🇮🇹

4.7

(15)

9 documenti

1 / 2

Toggle sidebar

Questa pagina non è visibile nell’anteprima

Non perderti parti importanti!

bg1
Sicurezza Informatica, Fabio Facchini matr. 0082100370
ELABORATO_DEL_2022_11_30_18_49_23
Due utenti A e B desiderano autenticarsi. Si supponga esista una Trusted Authority T che genera una nuova
chiave di sessione casuale K e la distribuisce ad A e B. A ha una chiave simmetrica K_A condivisa con T e B
condivide la chiave simmetrica K_B con T.
In questo esercizio, la notazione x y: m significa che x invia il messaggio m a y, {m}k indica che il messaggio
m è crittografato con chiave simmetrica k. I messaggi tra virgolette sono valori letterali che vengono
trasmessi.
A T: {"Voglio autenticarmi con B"}K_A
T → A: {"Usa chiave di sessione",K, "e invia a B questo messaggio", {"Questo è A che usa la chiave di
sessione",K}K_B }K_A
A B: {"Questo è A che usa la chiave di sessione",K}K_B
A e B ora condividono la chiave K e possono usare K per proteggere tutti i messaggi futuri tra di loro.
Quesito 1:
Descrivere nel dettaglio il funzionamento di almeno un possibile attacco che potrebbe avvenire nella
comunicazione precedente.
Quesito 2:
Si supponga che A, B e T siano sincronizzati, ovvero i timestamp generati dalle 3 entità nello stesso istante
abbiano lo stesso valore. Si mostri come modificare i messaggi della precedente comunicazione per
difendersi dagli attacchi. Si consideri che è possibile esclusivamente aggiungere valori ai messaggi riportati
mentre non è possibile eliminare alcun carattere, né modificare la struttura dei messaggi.
SVOLGIMENTO:
**Quesito 1:
L'attacco più probabile in questa comunicazione è un attacco di tipo "replay attack", in cui un attaccante
malintenzionato intercetta e registra i messaggi tra A e T, e in seguito li ritrasmette per impersonare A o B.
Nel dettaglio, l'attaccante potrebbe registrare i seguenti messaggi:
1. A → T: {"Voglio autenticarmi con B"}K_A
2. T → A: {"Usa chiave di sessione", K, "e invia a B questo messaggio", {"Questo è A che usa la chiave di
sessione", K}K_B}K_A
3. A → B: {"Questo è A che usa la chiave di sessione", K}K_B
Successivamente, l'attaccante può ritrasmettere i messaggi registrati a B in modo da impersonare A:
1. A (attaccante) → B: {"Questo è A che usa la chiave di sessione", K}K_B
pf2

Anteprima parziale del testo

Scarica Sicurezza Informatica: Prevenzione di Attacchi di Replay e più Prove d'esame in PDF di Sicurezza Dei Sistemi Informativi solo su Docsity!

Sicurezza Informatica, Fabio Facchini matr. 0082100370 ELABORATO_DEL_2022_11_30_18_49_ Due utenti A e B desiderano autenticarsi. Si supponga esista una Trusted Authority T che genera una nuova chiave di sessione casuale K e la distribuisce ad A e B. A ha una chiave simmetrica K_A condivisa con T e B condivide la chiave simmetrica K_B con T. In questo esercizio, la notazione x → y: m significa che x invia il messaggio m a y, {m}k indica che il messaggio m è crittografato con chiave simmetrica k. I messaggi tra virgolette sono valori letterali che vengono trasmessi. A → T: {"Voglio autenticarmi con B"}K_A T → A: {"Usa chiave di sessione",K, "e invia a B questo messaggio", {"Questo è A che usa la chiave di sessione",K}K_B }K_A A → B: {"Questo è A che usa la chiave di sessione",K}K_B A e B ora condividono la chiave K e possono usare K per proteggere tutti i messaggi futuri tra di loro. Quesito 1: Descrivere nel dettaglio il funzionamento di almeno un possibile attacco che potrebbe avvenire nella comunicazione precedente. Quesito 2: Si supponga che A, B e T siano sincronizzati, ovvero i timestamp generati dalle 3 entità nello stesso istante abbiano lo stesso valore. Si mostri come modificare i messaggi della precedente comunicazione per difendersi dagli attacchi. Si consideri che è possibile esclusivamente aggiungere valori ai messaggi riportati mentre non è possibile eliminare alcun carattere, né modificare la struttura dei messaggi. SVOLGIMENTO: **Quesito 1: L'attacco più probabile in questa comunicazione è un attacco di tipo "replay attack", in cui un attaccante malintenzionato intercetta e registra i messaggi tra A e T, e in seguito li ritrasmette per impersonare A o B. Nel dettaglio, l'attaccante potrebbe registrare i seguenti messaggi:

  1. A → T: {"Voglio autenticarmi con B"}K_A
  2. T → A: {"Usa chiave di sessione", K, "e invia a B questo messaggio", {"Questo è A che usa la chiave di sessione", K}K_B}K_A
  3. A → B: {"Questo è A che usa la chiave di sessione", K}K_B Successivamente, l'attaccante può ritrasmettere i messaggi registrati a B in modo da impersonare A:
  4. A (attaccante) → B: {"Questo è A che usa la chiave di sessione", K}K_B

Poiché B riceve un messaggio crittografato con K_B che sembra provenire da A, B potrebbe essere ingannato a pensare che l'attaccante sia A, creando un attacco di impersonificazione. **Quesito 2 Per difendersi dagli attacchi di replay, è possibile utilizzare i timestamp nei messaggi in modo che ogni messaggio abbia una data e un orario di creazione e scadenza. Inoltre, è possibile aggiungere un numero di sequenza ai messaggi per garantire che siano elaborati una sola volta. Modificando i messaggi della comunicazione precedente, possiamo difenderci dagli attacchi in questo modo:

  1. A → T: {"Voglio autenticarmi con B", Timestamp_A}K_A
  2. T → A: {"Usa chiave di sessione", K, "e invia a B questo messaggio", {"Questo è A che usa la chiave di sessione", K, Timestamp_T}K_B}K_A
  3. A → B: {"Questo è A che usa la chiave di sessione", K, Timestamp_A}K_B In questa versione dei messaggi, ho aggiunto i timestamp sia nei messaggi tra A e T che tra A e B. I timestamp sono firmati digitalmente per garantire l'autenticità. I timestamp consentono a T e B di verificare che i messaggi non siano troppo vecchi (ovvero, non siano stati oggetto di un attacco di replay). Inoltre, è importante che i timestamp siano sincronizzati tra A, T e B in modo che tutti possano accettare i messaggi con un certo margine di scostamento temporale.