Protocolli HB+ e HB#
Lezione tenuta dal
Presentazione realizzata da
Prof. P. D’Arco
Giuseppe Marciano
Annunziato Fierro
Ivan Di Giacomo
Protocollo HB+

Il protocollo HB può resistere ad attacchi passivi ma è
insicuro rispetto ad attacchi attivi.

Il protocollo HB+ fu introdotto da Juels e Weis, per risolvere
questa vulnerabilità del protocollo HB.

2
Iterazione del Protocollo HB+
Reader
Tag
S: x,y є {0,1}n , ε
S: x,y є {0,1}n , ε
Sceglie b єR {0,1}n
Invia b
( fattore di blindatura )
Sceglie a єR {0,1}n
Invia a
( sfida )
Calcola r  ax  by  v
(v=1 con probabilità ε)
Risposta r inviata al Reader
r  ax  by
Se è uguale allora accetta
altrimenti rifiuta.

S= Segreto condiviso
ε= Probab. errore
3
Iterazione nel Protocollo HB+


Il protocollo viene ripetuto K volte,
ed il Reader accetta il tag se
al più K*ε volte ai x  bi y  ri
Ogni iterazione richiede 3 passi
invece di 2 (protocollo HB)
4
Robustezza del Protocollo HB+


Scegliendo ad ogni iterazione un nuovo
fattore di blindatura il tag priva
l’avversario della possibilità di estrarre
informazioni su x ed y con sfide scelte ad
hoc
HB+ si può provare sicuro rispetto ad
avversari attivi che possono interrogare il
tag, assumendo che il problema LPN sia
difficile
5
Protocolli HB, HB+ : parallelismo


E’ stato dimostrato che le versioni parallele e
concorrenti di HB e HB+ continuano ad essere
sicure rispetto ad avversari passivi (per HB) ed
attivi (per HB+) assumendo che il problema LPN
sia difficile
Problema aperto:
• provare la sicurezza di Hb+ in due round
invece di tre (i.e. il fattore di blindatura b
viene inviato insieme ad r)
6
L’attacco GRS contro HB+



Cosa
accade
se
l’avversario
può
intercettare e modificare le comunicazioni
tra Reader e Tag?
L’avversario sceglie un vettore ∆ di n bit
con cui perturbare le sfide inviate dal
Reader al Tag
A seconda del fatto che il Reader accetta
o no, l’avversario riesce a capire il valore
di ∆x con alta probabilità.
7
L’attacco GRS contro HB+
Reader
Tag
S: x,y є {0,1}n , ε
Sceglie b єR {0,1}n
Invia b
( fattore di blindatura )
Invia a.  
( sfida )
S: x,y є {0,1}n , ε
Sceglie a єR {0,1}n
Calcola
r  (a  ) x  by  v
(v=1 con probabilità ε)
Responso r inviato al
Reader
Ripeti K volte
r  ax  by
Se è uguale allora accetta
altrimenti rifiuta.

S= Segreto condiviso
∆ scelto dall’avversario
ε= Probab. errore
Usa lo stesso ∆ per
tutte le K interazioni del
protocollo
8
GRS contro HB+


Se al termine del protocollo il reader accetta,
l’avversario conclude che ∆x=0; viceversa, se il
Reader rifiuta, l’avversario conclude che ∆x=1
(nota che r  (a  )x by v  ax  x by v )
Usando ∆1, ∆2 , ∆3 … ∆n linearmente

indipendenti, dopo n esecuzioni (ognuna di
K interazioni) del protocollo l’avversario
riesce a ricostruire x attraverso il metodo di
Gauss
9
L’attacco GRS contro HB+
Reader
Avversario
Invia b
( fattore di blindatura )
S: x є {0,1}n
Sceglie b єR {0,1}n
Sceglie a єR {0,1}n
Invia a
( sfida )
Calcola r =ax
Responso r inviato al
Reader
Se il Reader accetta
Ripeti n volte
conclude che by=0
altrimenti che by=1
S: x,y є {0,1}n , ε
r  ax  by
Se è uguale allora accetta
altrimenti rifiuta.

S= Segreto condiviso
ε= Probab. Errore
In conclusione l’avversario calcola x ed y
10
Protocollo Random HB#


Il protocollo HB+ è sicuro rispetto ad attacchi attivi in cui
l’avversario può interrogare il tag, ma è insicuro rispetto ad
attacchi attivi in cui l’avversario può intercettare e
modificare le comunicazioni tra Reader e Tag.
Il protocollo Random HB# risolve questa vulnerabilità del
protocollo HB+.
Attacchi attivi
11
Interazione nel Protocollo Random HB#
Reader
Tag
S: matrici X,Y, ε
S: matrici X, Y, ε
Sceglie b єR {0,1}Ky
Sceglie v єR {0,1}K
Calcola
Invia b
( fattore di blindatura )
Invia a
( sfida )
z  aX  bY  v
(vi=1 con probabilità ε)
per i=1…K
Sceglie a єU {0,1}Kx
?
Responso z inviato al
Reader
Hw((aX  bY)  z)K
Se è minore o uguale allora
accetta altrimenti rifiuta.
S= Segreto condiviso

ε= Probab. errore
12
Interazione nel Protocollo Random HB#
•X matrice di dimensioni Kx * K
•Y matrice di dimensioni Ky * K
•X e Y scelte uniformemente a caso
Kx
a
Kx
Ky
b
a*X
K
X
=
+
K
Ky
Y
K
=
+
K
b*Y
v
13
Osservazioni





Le operazioni avvengono su vettori
Il protocollo richiede 3 passi ma un solo
round
E’ come se si eseguissero in parallelo più
istanze indipendenti di HB+
Ciascuna colonna di X e Y rappresenta
segreti diversi di un’istanza di HB+
Si può dimostrare che Random HB# è
sicuro rispetto ad avversari attivi se il
problema LPN è difficile
14
HB#


Quanta memoria serve nel
memorizzare le matrici? Troppa!
tag
per
Idea: Invece di usare X ed Y scelte
uniformemente a caso, usiamo matrici
strutturate
che
possono
essere
memorizzate più efficientemente
15
Matrici di Toeplitz


Una matrice di ordine K*m di Toeplitz, è
una matrice i cui elementi su ogni diagonale
che va dall’angolo in alto a sinistra,
all’angolo in basso a destra sono uguali
In questo caso basta memorizzare K+m-1
elementi invece di K*m
a b c
h a b

i h a

l i h
m l i

n m l
o n m

d
e
f
c d
b c
a b
h a
i h
l i
e
d
c
b
a
h
g
f 
e

d
c

b
a 
16
Conclusioni



HB# funziona
Random HB#
esattamente
come
Problema: per HB# la prova di
sicurezza di Random HB# non vale più
Purtroppo è stato mostrato che
Random HB# e HB# sono soggetti ad
attacchi del tipo Man-In-the-Middle.
17
Riferimenti
A. Juels and S. Weiss, Authenticating pervasive devices with
human protocols,Proc. of Crypto 2005, Lecture Notes in
Computer Science, Vol. 3126, pp. 293–308, 2005.
H. Gilbert, M. J. B. Robshaw, and H. Sibert, An active attack
against HB+ – a provably secure lightweight authentication
protocol, Electronics Letters, Vol. 41, N. 21, pp. 1169–1170,
2005.
H. Gilbert, M. J. B. Robshaw, and Y. Seurin, HB#: Increasing
the Security and Efficiency of HB+,Proc. of Eurocrypt 2008,
Lecture Notes in Computer Science, Vol. 4965, pp. 361-378,
2008.
K. Ouafi, R. Overbeck, and S. Vaudenay, On the Security of HB#
against a Man-in-the-Middle Attack, Proc. of Asiacrypt 2008,
Lecture Notes in Computer Science, Vol. 5350, pp. 108-124,
2008.
Scarica

Protocolli HB+ e HB