Top Banner
The 5G-AKA Authentication Protocol Privacy Adrien Koutsos LVS, ENS Paris-Saclay January 18, 2019 Adrien Koutsos 5G-AKA Privacy January 18, 2019 1 / 43
131

The 5G-AKA Authentication Protocol Privacykoutsos/slides/slides_aka.pdf · 2019-01-21 · The 5G-AKA Authentication Protocol Privacy ... ue

Mar 30, 2020

Download

Documents

dariahiddleston
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: The 5G-AKA Authentication Protocol Privacykoutsos/slides/slides_aka.pdf · 2019-01-21 · The 5G-AKA Authentication Protocol Privacy ... ue

The 5G-AKA Authentication Protocol Privacy

Adrien KoutsosLVS, ENS Paris-Saclay

January 18, 2019

Adrien Koutsos 5G-AKA Privacy January 18, 2019 1 / 43

Page 2: The 5G-AKA Authentication Protocol Privacykoutsos/slides/slides_aka.pdf · 2019-01-21 · The 5G-AKA Authentication Protocol Privacy ... ue

1 The 4g-aka and 5g-aka ProtocolsThe 4g-aka ProtocolThe imsi Catcher AttackThe 5g-aka ProtocolUnlinkability Attacks Against 5g-aka

2 The aka+ ProtocolDesign ConstraintsKey IdeasThe aka+ Protocol

3 Security Proofsσ-UnlinkabilityModeling in the Bana-Comon ModelTheorem

4 Conclusion

Adrien Koutsos 5G-AKA Privacy January 18, 2019 2 / 43

Page 3: The 5G-AKA Authentication Protocol Privacykoutsos/slides/slides_aka.pdf · 2019-01-21 · The 5G-AKA Authentication Protocol Privacy ... ue

1 The 4g-aka and 5g-aka ProtocolsThe 4g-aka ProtocolThe imsi Catcher AttackThe 5g-aka ProtocolUnlinkability Attacks Against 5g-aka

2 The aka+ ProtocolDesign ConstraintsKey IdeasThe aka+ Protocol

3 Security Proofsσ-UnlinkabilityModeling in the Bana-Comon ModelTheorem

4 Conclusion

Adrien Koutsos 5G-AKA Privacy January 18, 2019 3 / 43

Page 4: The 5G-AKA Authentication Protocol Privacykoutsos/slides/slides_aka.pdf · 2019-01-21 · The 5G-AKA Authentication Protocol Privacy ... ue

The Authentication and Key Agreement Protocol

The Protocolaka is a key exchange protocol between:

The user equipment (UE): the mobile phone.The serving network (SN): the antenna.The home network (HN): the service provider (Free, Orange, SFR ...)

UE SN HN

Wireless channel Secure channel (TLS)

Adrien Koutsos 5G-AKA Privacy January 18, 2019 4 / 43

Page 5: The 5G-AKA Authentication Protocol Privacykoutsos/slides/slides_aka.pdf · 2019-01-21 · The 5G-AKA Authentication Protocol Privacy ... ue

The Authentication and Key Agreement Protocol

The Protocolaka is a key exchange protocol between:

The user equipment (UE): the mobile phone.The serving network (SN): the antenna.The home network (HN): the service provider (Free, Orange, SFR ...)

UE SN HN

Wireless channel Secure channel (TLS)

Adrien Koutsos 5G-AKA Privacy January 18, 2019 4 / 43

Page 6: The 5G-AKA Authentication Protocol Privacykoutsos/slides/slides_aka.pdf · 2019-01-21 · The 5G-AKA Authentication Protocol Privacy ... ue

Security Goals

Some security goal of aka

Mutual authentication between the user (UE) and the network (HN).

Privacy properties:Confidentiality of the user identity (id).Unlinkability of the user.

Actually, there are other security goals

Authentication of the antenna by the user.Authentication of the antenna by the network.Authentication of the user by the antenna....

Adrien Koutsos 5G-AKA Privacy January 18, 2019 5 / 43

Page 7: The 5G-AKA Authentication Protocol Privacykoutsos/slides/slides_aka.pdf · 2019-01-21 · The 5G-AKA Authentication Protocol Privacy ... ue

Security Goals

Some security goal of aka

Mutual authentication between the user (UE) and the network (HN).Privacy properties:

Confidentiality of the user identity (id).Unlinkability of the user.

Actually, there are other security goals

Authentication of the antenna by the user.Authentication of the antenna by the network.Authentication of the user by the antenna....

Adrien Koutsos 5G-AKA Privacy January 18, 2019 5 / 43

Page 8: The 5G-AKA Authentication Protocol Privacykoutsos/slides/slides_aka.pdf · 2019-01-21 · The 5G-AKA Authentication Protocol Privacy ... ue

Security Goals

Some security goal of aka

Mutual authentication between the user (UE) and the network (HN).Privacy properties:

Confidentiality of the user identity (id).Unlinkability of the user.

Actually, there are other security goals

Authentication of the antenna by the user.Authentication of the antenna by the network.Authentication of the user by the antenna....

Adrien Koutsos 5G-AKA Privacy January 18, 2019 5 / 43

Page 9: The 5G-AKA Authentication Protocol Privacykoutsos/slides/slides_aka.pdf · 2019-01-21 · The 5G-AKA Authentication Protocol Privacy ... ue

Security Goals

Some security goal of aka

Mutual authentication between the user (UE) and the network (HN).Privacy properties:

Confidentiality of the user identity (id).Unlinkability of the user.

Actually, there are other security goals

Authentication of the antenna by the user.Authentication of the antenna by the network.Authentication of the user by the antenna....

Adrien Koutsos 5G-AKA Privacy January 18, 2019 5 / 43

Page 10: The 5G-AKA Authentication Protocol Privacykoutsos/slides/slides_aka.pdf · 2019-01-21 · The 5G-AKA Authentication Protocol Privacy ... ue

Protocol Modeling

UE SN HN

Wireless channel Secure channel (TLS)

• Eavesdrop• Forge messages

We focus on:Mutual authentication between the user (UE) and the network (HN).Unlinkability of the user.

=⇒ We do not model the antenna: we have a two party protocol.

Adrien Koutsos 5G-AKA Privacy January 18, 2019 6 / 43

Page 11: The 5G-AKA Authentication Protocol Privacykoutsos/slides/slides_aka.pdf · 2019-01-21 · The 5G-AKA Authentication Protocol Privacy ... ue

Protocol Modeling

UE SN HN

Wireless channel Secure channel (TLS)

• Eavesdrop• Forge messages

We focus on:Mutual authentication between the user (UE) and the network (HN).Unlinkability of the user.

=⇒ We do not model the antenna: we have a two party protocol.

Adrien Koutsos 5G-AKA Privacy January 18, 2019 6 / 43

Page 12: The 5G-AKA Authentication Protocol Privacykoutsos/slides/slides_aka.pdf · 2019-01-21 · The 5G-AKA Authentication Protocol Privacy ... ue

Protocol Modeling

UE SN HN

Wireless channel Secure channel (TLS)

• Eavesdrop• Forge messages

We focus on:Mutual authentication between the user (UE) and the network (HN).Unlinkability of the user.

=⇒ We do not model the antenna: we have a two party protocol.

Adrien Koutsos 5G-AKA Privacy January 18, 2019 6 / 43

Page 13: The 5G-AKA Authentication Protocol Privacykoutsos/slides/slides_aka.pdf · 2019-01-21 · The 5G-AKA Authentication Protocol Privacy ... ue

Sequence Numbers

Pseudo Random Number Generation

On the user side: all crypto primitives are computed in the SIM.Hardware PRNG is expensive/slow.

⇒ In 4g-aka, no PRNG on the mobile phone.

Cryptographic Primitives

Asymmetric encryption requires randomness.⇒ 4g-aka uses only symmetric one-way functions.

Adrien Koutsos 5G-AKA Privacy January 18, 2019 7 / 43

Page 14: The 5G-AKA Authentication Protocol Privacykoutsos/slides/slides_aka.pdf · 2019-01-21 · The 5G-AKA Authentication Protocol Privacy ... ue

Sequence Numbers

Pseudo Random Number Generation

On the user side: all crypto primitives are computed in the SIM.Hardware PRNG is expensive/slow.

⇒ In 4g-aka, no PRNG on the mobile phone.

Cryptographic Primitives

Asymmetric encryption requires randomness.⇒ 4g-aka uses only symmetric one-way functions.

Adrien Koutsos 5G-AKA Privacy January 18, 2019 7 / 43

Page 15: The 5G-AKA Authentication Protocol Privacykoutsos/slides/slides_aka.pdf · 2019-01-21 · The 5G-AKA Authentication Protocol Privacy ... ue

Sequence Numbers

Pseudo Random Number Generation

On the user side: all crypto primitives are computed in the SIM.Hardware PRNG is expensive/slow.

⇒ In 4g-aka, no PRNG on the mobile phone.

Cryptographic Primitives

Asymmetric encryption requires randomness.⇒ 4g-aka uses only symmetric one-way functions.

Adrien Koutsos 5G-AKA Privacy January 18, 2019 7 / 43

Page 16: The 5G-AKA Authentication Protocol Privacykoutsos/slides/slides_aka.pdf · 2019-01-21 · The 5G-AKA Authentication Protocol Privacy ... ue

Sequence Numbers

AuthenticationAuthentication protocols need to prevent message replays. In 4g-aka:

The antenna uses a random challenge.The mobile phone uses a sequence number sqn:

Incremented after each successful session.Tracked by the user and the antenna (sqnu and sqnn).

⇒ De-synchronization possible.

Adrien Koutsos 5G-AKA Privacy January 18, 2019 8 / 43

Page 17: The 5G-AKA Authentication Protocol Privacykoutsos/slides/slides_aka.pdf · 2019-01-21 · The 5G-AKA Authentication Protocol Privacy ... ue

Sequence Numbers

AuthenticationAuthentication protocols need to prevent message replays. In 4g-aka:

The antenna uses a random challenge.The mobile phone uses a sequence number sqn:

Incremented after each successful session.Tracked by the user and the antenna (sqnu and sqnn).

⇒ De-synchronization possible.

Adrien Koutsos 5G-AKA Privacy January 18, 2019 8 / 43

Page 18: The 5G-AKA Authentication Protocol Privacykoutsos/slides/slides_aka.pdf · 2019-01-21 · The 5G-AKA Authentication Protocol Privacy ... ue

Sequence Numbers

AuthenticationAuthentication protocols need to prevent message replays. In 4g-aka:

The antenna uses a random challenge.The mobile phone uses a sequence number sqn:

Incremented after each successful session.Tracked by the user and the antenna (sqnu and sqnn).

⇒ De-synchronization possible.

Adrien Koutsos 5G-AKA Privacy January 18, 2019 8 / 43

Page 19: The 5G-AKA Authentication Protocol Privacykoutsos/slides/slides_aka.pdf · 2019-01-21 · The 5G-AKA Authentication Protocol Privacy ... ue

UE

id, k, sqnu

HN

id, k, sqnn

id

⟨n , sqnn ⊕ H5

k(n) , H1k(〈sqnn , n〉)

⟩bmac ← check-macbsqn ← check-range(sqnu, sqnn)

sqnn ← sqnn + 1

sqnu ← sqnnH2

k(n)

bmac ∧ bsqn

“Auth-Failure”¬bmac

⟨sqnu ⊕ H5,∗

k (n) , H1,∗k (〈sqnu , n〉)

⟩If the mac is valid:sqnn ← sqnu + 1

bmac ∧ ¬bsqn

Input x:nR, sqnR ← π1(x), π2(x)⊕ H5

k(nR)

bmac ← H1k(〈sqnR , nR〉) = π3(x)

bsqn ← range(sqnu, sqnR)

4g-aka

Adrien Koutsos 5G-AKA Privacy January 18, 2019 9 / 43

Page 20: The 5G-AKA Authentication Protocol Privacykoutsos/slides/slides_aka.pdf · 2019-01-21 · The 5G-AKA Authentication Protocol Privacy ... ue

UE

id, k, sqnu

HN

id, k, sqnn

id

⟨n , sqnn ⊕ H5

k(n) , H1k(〈sqnn , n〉)

⟩bmac ← check-macbsqn ← check-range(sqnu, sqnn)

sqnn ← sqnn + 1

sqnu ← sqnnH2

k(n)

bmac ∧ bsqn

“Auth-Failure”¬bmac

⟨sqnu ⊕ H5,∗

k (n) , H1,∗k (〈sqnu , n〉)

⟩If the mac is valid:sqnn ← sqnu + 1

bmac ∧ ¬bsqn

Input x:nR, sqnR ← π1(x), π2(x)⊕ H5

k(nR)

bmac ← H1k(〈sqnR , nR〉) = π3(x)

bsqn ← range(sqnu, sqnR)

4g-aka

Adrien Koutsos 5G-AKA Privacy January 18, 2019 9 / 43

Page 21: The 5G-AKA Authentication Protocol Privacykoutsos/slides/slides_aka.pdf · 2019-01-21 · The 5G-AKA Authentication Protocol Privacy ... ue

UE

id, k, sqnu

HN

id, k, sqnn

id

⟨n , sqnn ⊕ H5

k(n) , H1k(〈sqnn , n〉)

⟩bmac ← check-macbsqn ← check-range(sqnu, sqnn)

sqnn ← sqnn + 1

sqnu ← sqnnH2

k(n)

bmac ∧ bsqn

“Auth-Failure”¬bmac

⟨sqnu ⊕ H5,∗

k (n) , H1,∗k (〈sqnu , n〉)

⟩If the mac is valid:sqnn ← sqnu + 1

bmac ∧ ¬bsqn

Input x:nR, sqnR ← π1(x), π2(x)⊕ H5

k(nR)

bmac ← H1k(〈sqnR , nR〉) = π3(x)

bsqn ← range(sqnu, sqnR)

4g-aka

Adrien Koutsos 5G-AKA Privacy January 18, 2019 9 / 43

Page 22: The 5G-AKA Authentication Protocol Privacykoutsos/slides/slides_aka.pdf · 2019-01-21 · The 5G-AKA Authentication Protocol Privacy ... ue

UE

id, k, sqnu

HN

id, k, sqnn

id

⟨n , sqnn ⊕ H5

k(n) , H1k(〈sqnn , n〉)

⟩bmac ← check-macbsqn ← check-range(sqnu, sqnn)

sqnn ← sqnn + 1

sqnu ← sqnnH2

k(n)

bmac ∧ bsqn

“Auth-Failure”¬bmac

⟨sqnu ⊕ H5,∗

k (n) , H1,∗k (〈sqnu , n〉)

⟩If the mac is valid:sqnn ← sqnu + 1

bmac ∧ ¬bsqn

Input x:nR, sqnR ← π1(x), π2(x)⊕ H5

k(nR)

bmac ← H1k(〈sqnR , nR〉) = π3(x)

bsqn ← range(sqnu, sqnR)

4g-aka

Adrien Koutsos 5G-AKA Privacy January 18, 2019 9 / 43

Page 23: The 5G-AKA Authentication Protocol Privacykoutsos/slides/slides_aka.pdf · 2019-01-21 · The 5G-AKA Authentication Protocol Privacy ... ue

UE

id, k, sqnu

HN

id, k, sqnn

id

⟨n , sqnn ⊕ H5

k(n) , H1k(〈sqnn , n〉)

⟩bmac ← check-macbsqn ← check-range(sqnu, sqnn)

sqnn ← sqnn + 1

sqnu ← sqnnH2

k(n)

bmac ∧ bsqn

“Auth-Failure”¬bmac

⟨sqnu ⊕ H5,∗

k (n) , H1,∗k (〈sqnu , n〉)

⟩If the mac is valid:sqnn ← sqnu + 1

bmac ∧ ¬bsqn

Input x:nR, sqnR ← π1(x), π2(x)⊕ H5

k(nR)

bmac ← H1k(〈sqnR , nR〉) = π3(x)

bsqn ← range(sqnu, sqnR)

4g-aka

Adrien Koutsos 5G-AKA Privacy January 18, 2019 9 / 43

Page 24: The 5G-AKA Authentication Protocol Privacykoutsos/slides/slides_aka.pdf · 2019-01-21 · The 5G-AKA Authentication Protocol Privacy ... ue

Privacy in 4g-aka

Not confidentiality of the user identity

The id is sent in plain text!

4g-aka solutionUse a temporary identity tmp-id instead of the permanent identity id:

The network has a mapping from tmp-ids to ids.Each tmp-id should be used at most once.The network assigns new tmp-id after each successful session.

Adrien Koutsos 5G-AKA Privacy January 18, 2019 10 / 43

Page 25: The 5G-AKA Authentication Protocol Privacykoutsos/slides/slides_aka.pdf · 2019-01-21 · The 5G-AKA Authentication Protocol Privacy ... ue

Privacy in 4g-aka

Not confidentiality of the user identity

The id is sent in plain text!

4g-aka solutionUse a temporary identity tmp-id instead of the permanent identity id:

The network has a mapping from tmp-ids to ids.Each tmp-id should be used at most once.The network assigns new tmp-id after each successful session.

Adrien Koutsos 5G-AKA Privacy January 18, 2019 10 / 43

Page 26: The 5G-AKA Authentication Protocol Privacykoutsos/slides/slides_aka.pdf · 2019-01-21 · The 5G-AKA Authentication Protocol Privacy ... ue

UE

id,tmp-id, k, sqnu

HN

id,tmp-id, k, sqnn

tmp-id or id

⟨n , sqnn ⊕ H5

k(n) , H1k(〈sqnn , n〉)

⟩bmac ← check macbsqn ← check range(sqnu, sqnn)

sqnn ← sqnn + 1

sqnu ← sqnnH2

k(n)

bmac ∧ bsqn

“Auth-Failure”¬bmac

⟨sqnu ⊕ H5,∗

k (n) , H1,∗k (〈sqnu , n〉)

⟩If the mac is valid:sqnn ← sqnu + 1

bmac ∧ ¬bsqn

assign-tmp-id

4g-aka

Adrien Koutsos 5G-AKA Privacy January 18, 2019 11 / 43

Page 27: The 5G-AKA Authentication Protocol Privacykoutsos/slides/slides_aka.pdf · 2019-01-21 · The 5G-AKA Authentication Protocol Privacy ... ue

Privacy in 4g-aka

Confidentiality of the user identity

Once a temporary identity is set up, the id is protected if:The protocol does not fail.The adversary is a passive adversary.

=⇒ This is not realistic!

Adrien Koutsos 5G-AKA Privacy January 18, 2019 12 / 43

Page 28: The 5G-AKA Authentication Protocol Privacykoutsos/slides/slides_aka.pdf · 2019-01-21 · The 5G-AKA Authentication Protocol Privacy ... ue

Privacy in 4g-aka

Confidentiality of the user identity

Once a temporary identity is set up, the id is protected if:The protocol does not fail.The adversary is a passive adversary.

=⇒ This is not realistic!

Adrien Koutsos 5G-AKA Privacy January 18, 2019 12 / 43

Page 29: The 5G-AKA Authentication Protocol Privacykoutsos/slides/slides_aka.pdf · 2019-01-21 · The 5G-AKA Authentication Protocol Privacy ... ue

The imsi Catcher Attack [Strobel, 2007]

UE Attackertmp-id or id

“Permanent-ID-Request”If tmp-id received

id

Why this is a major attack

Reliable: the attack always works.Easy to deploy: only need an antenna.Large scale: not targeted.

Adrien Koutsos 5G-AKA Privacy January 18, 2019 13 / 43

Page 30: The 5G-AKA Authentication Protocol Privacykoutsos/slides/slides_aka.pdf · 2019-01-21 · The 5G-AKA Authentication Protocol Privacy ... ue

The imsi Catcher Attack [Strobel, 2007]

UE Attackertmp-id or id

“Permanent-ID-Request”If tmp-id received

id

Why this is a major attack

Reliable: the attack always works.Easy to deploy: only need an antenna.Large scale: not targeted.

Adrien Koutsos 5G-AKA Privacy January 18, 2019 13 / 43

Page 31: The 5G-AKA Authentication Protocol Privacykoutsos/slides/slides_aka.pdf · 2019-01-21 · The 5G-AKA Authentication Protocol Privacy ... ue

Privacy in 5g-aka

The 5g-aka protocol

5g-aka is the next version of aka (drafts are available [3GPP, 2018]).

3GPP fix for 5G-AKASimply encrypt the permanent identity by sending {id}pkn

Adrien Koutsos 5G-AKA Privacy January 18, 2019 14 / 43

Page 32: The 5G-AKA Authentication Protocol Privacykoutsos/slides/slides_aka.pdf · 2019-01-21 · The 5G-AKA Authentication Protocol Privacy ... ue

Privacy in 5g-aka

The 5g-aka protocol

5g-aka is the next version of aka (drafts are available [3GPP, 2018]).

3GPP fix for 5G-AKASimply encrypt the permanent identity by sending {id}pkn

Adrien Koutsos 5G-AKA Privacy January 18, 2019 14 / 43

Page 33: The 5G-AKA Authentication Protocol Privacykoutsos/slides/slides_aka.pdf · 2019-01-21 · The 5G-AKA Authentication Protocol Privacy ... ue

UE

id,tmp-id, k, pkn, sqnu

HN

id,tmp-id, k, skn, sqnn

tmp-id or {id}pkn⟨n , sqnn ⊕ H5

k(n) , H1k(〈sqnn , n〉)

⟩bmac ← check macbsqn ← check range(sqnu, sqnn)

sqnn ← sqnn + 1

sqnu ← sqnnH2

k(n)

bmac ∧ bsqn

“Auth-Failure”¬bmac

⟨sqnu ⊕ H5,∗

k (n) , H1,∗k (〈sqnu , n〉)

⟩If the mac is valid:sqnn ← sqnu + 1

bmac ∧ ¬bsqn

assign-tmp-id

5g-aka

Adrien Koutsos 5G-AKA Privacy January 18, 2019 15 / 43

Page 34: The 5G-AKA Authentication Protocol Privacykoutsos/slides/slides_aka.pdf · 2019-01-21 · The 5G-AKA Authentication Protocol Privacy ... ue

Privacy in 5g-aka

Is it enough?

For confidentiality of the id, yes.

For unlinkability, no.

Adrien Koutsos 5G-AKA Privacy January 18, 2019 16 / 43

Page 35: The 5G-AKA Authentication Protocol Privacykoutsos/slides/slides_aka.pdf · 2019-01-21 · The 5G-AKA Authentication Protocol Privacy ... ue

Privacy in 5g-aka

Is it enough?

For confidentiality of the id, yes.

For unlinkability, no.

Adrien Koutsos 5G-AKA Privacy January 18, 2019 16 / 43

Page 36: The 5G-AKA Authentication Protocol Privacykoutsos/slides/slides_aka.pdf · 2019-01-21 · The 5G-AKA Authentication Protocol Privacy ... ue

Privacy in 5g-aka

Is it enough?

For confidentiality of the id, yes.

For unlinkability, no.

Adrien Koutsos 5G-AKA Privacy January 18, 2019 16 / 43

Page 37: The 5G-AKA Authentication Protocol Privacykoutsos/slides/slides_aka.pdf · 2019-01-21 · The 5G-AKA Authentication Protocol Privacy ... ue

Unlinkability

Example

F

A

A

B

B

A

C

B

D

B

E

B

F

Linkability Attack

Even if the id is hidden, an attacker may link sessions of the same user.

Adrien Koutsos 5G-AKA Privacy January 18, 2019 17 / 43

Page 38: The 5G-AKA Authentication Protocol Privacykoutsos/slides/slides_aka.pdf · 2019-01-21 · The 5G-AKA Authentication Protocol Privacy ... ue

Unlinkability

Example

F

A

A

B

B

A

C

B

D

B

E

B

F

Linkability Attack

Even if the id is hidden, an attacker may link sessions of the same user.

Adrien Koutsos 5G-AKA Privacy January 18, 2019 17 / 43

Page 39: The 5G-AKA Authentication Protocol Privacykoutsos/slides/slides_aka.pdf · 2019-01-21 · The 5G-AKA Authentication Protocol Privacy ... ue

Unlinkability

Example

F

A

A

B

B

A

C

B

D

B

E

B

F

Linkability Attack

Even if the id is hidden, an attacker may link sessions of the same user.

Adrien Koutsos 5G-AKA Privacy January 18, 2019 17 / 43

Page 40: The 5G-AKA Authentication Protocol Privacykoutsos/slides/slides_aka.pdf · 2019-01-21 · The 5G-AKA Authentication Protocol Privacy ... ue

Unlinkability

Example

F

A

A

B

B

A

C

B

D

B

E

B

F

Linkability Attack

Even if the id is hidden, an attacker may link sessions of the same user.

Adrien Koutsos 5G-AKA Privacy January 18, 2019 17 / 43

Page 41: The 5G-AKA Authentication Protocol Privacykoutsos/slides/slides_aka.pdf · 2019-01-21 · The 5G-AKA Authentication Protocol Privacy ... ue

Unlinkability

Example

F

A

A

B

B

A

C

B

D

B

E

B

F

Linkability Attack

Even if the id is hidden, an attacker may link sessions of the same user.

Adrien Koutsos 5G-AKA Privacy January 18, 2019 17 / 43

Page 42: The 5G-AKA Authentication Protocol Privacykoutsos/slides/slides_aka.pdf · 2019-01-21 · The 5G-AKA Authentication Protocol Privacy ... ue

The Failure Message Attack [Arapinis et al., 2012]

UE(idt) HNtauth ≡⟨n , sqnn ⊕ H5

k(n) , H1k(〈sqnn , n〉)

⟩H2

k(n)

UE(id′) Attackertauth

“Auth-Failure”If id′ 6= idt

⟨sqnu ⊕ H5,∗

k (n) , H1,∗k (〈sqnu , n〉)

⟩If id′ = idt

Unlinkability attack

The adversary knows if it interacted with idt or id′.

Adrien Koutsos 5G-AKA Privacy January 18, 2019 18 / 43

Page 43: The 5G-AKA Authentication Protocol Privacykoutsos/slides/slides_aka.pdf · 2019-01-21 · The 5G-AKA Authentication Protocol Privacy ... ue

The Failure Message Attack [Arapinis et al., 2012]

UE(idt) HNtauth ≡⟨n , sqnn ⊕ H5

k(n) , H1k(〈sqnn , n〉)

⟩H2

k(n)

UE(id′) Attackertauth

“Auth-Failure”If id′ 6= idt

⟨sqnu ⊕ H5,∗

k (n) , H1,∗k (〈sqnu , n〉)

⟩If id′ = idt

Unlinkability attack

The adversary knows if it interacted with idt or id′.

Adrien Koutsos 5G-AKA Privacy January 18, 2019 18 / 43

Page 44: The 5G-AKA Authentication Protocol Privacykoutsos/slides/slides_aka.pdf · 2019-01-21 · The 5G-AKA Authentication Protocol Privacy ... ue

The Failure Message Attack [Arapinis et al., 2012]

UE(idt) HNtauth ≡⟨n , sqnn ⊕ H5

k(n) , H1k(〈sqnn , n〉)

⟩H2

k(n)

UE(id′) Attackertauth

“Auth-Failure”If id′ 6= idt

⟨sqnu ⊕ H5,∗

k (n) , H1,∗k (〈sqnu , n〉)

⟩If id′ = idt

Unlinkability attack

The adversary knows if it interacted with idt or id′.

Adrien Koutsos 5G-AKA Privacy January 18, 2019 18 / 43

Page 45: The 5G-AKA Authentication Protocol Privacykoutsos/slides/slides_aka.pdf · 2019-01-21 · The 5G-AKA Authentication Protocol Privacy ... ue

The Failure Message Attack [Arapinis et al., 2012]

UE(idt) HNtauth ≡⟨n , sqnn ⊕ H5

k(n) , H1k(〈sqnn , n〉)

⟩H2

k(n)

UE(id′) Attackertauth

“Auth-Failure”If id′ 6= idt

⟨sqnu ⊕ H5,∗

k (n) , H1,∗k (〈sqnu , n〉)

⟩If id′ = idt

Unlinkability attack

The adversary knows if it interacted with idt or id′.

Adrien Koutsos 5G-AKA Privacy January 18, 2019 18 / 43

Page 46: The 5G-AKA Authentication Protocol Privacykoutsos/slides/slides_aka.pdf · 2019-01-21 · The 5G-AKA Authentication Protocol Privacy ... ue

The Encrypted id Replay Attack [Fouque et al., 2016]

UE(idt) HN{idt}pkn

UE(id′) HN{id′}pkn/

{idt}pkn

tauth ≡⟨n , sqnn ⊕ H5

k(n) , H1k(〈sqnn , n〉)

⟩Failure MessageIf id′ 6= idt

H2k(n)

If id′ = idt

Unlinkability attack

The adversary knows if it interacted with idt or id′.

Adrien Koutsos 5G-AKA Privacy January 18, 2019 19 / 43

Page 47: The 5G-AKA Authentication Protocol Privacykoutsos/slides/slides_aka.pdf · 2019-01-21 · The 5G-AKA Authentication Protocol Privacy ... ue

The Encrypted id Replay Attack [Fouque et al., 2016]

UE(idt) HN{idt}pkn

UE(id′) HN{id′}pkn/

{idt}pkn

tauth ≡⟨n , sqnn ⊕ H5

k(n) , H1k(〈sqnn , n〉)

⟩Failure MessageIf id′ 6= idt

H2k(n)

If id′ = idt

Unlinkability attack

The adversary knows if it interacted with idt or id′.

Adrien Koutsos 5G-AKA Privacy January 18, 2019 19 / 43

Page 48: The 5G-AKA Authentication Protocol Privacykoutsos/slides/slides_aka.pdf · 2019-01-21 · The 5G-AKA Authentication Protocol Privacy ... ue

The Encrypted id Replay Attack [Fouque et al., 2016]

UE(idt) HN{idt}pkn

UE(id′) HN{id′}pkn/

{idt}pkn

tauth ≡⟨n , sqnn ⊕ H5

k(n) , H1k(〈sqnn , n〉)

⟩Failure MessageIf id′ 6= idt

H2k(n)

If id′ = idt

Unlinkability attack

The adversary knows if it interacted with idt or id′.

Adrien Koutsos 5G-AKA Privacy January 18, 2019 19 / 43

Page 49: The 5G-AKA Authentication Protocol Privacykoutsos/slides/slides_aka.pdf · 2019-01-21 · The 5G-AKA Authentication Protocol Privacy ... ue

The Encrypted id Replay Attack [Fouque et al., 2016]

UE(idt) HN{idt}pkn

UE(id′) HN{id′}pkn/

{idt}pkn

tauth ≡⟨n , sqnn ⊕ H5

k(n) , H1k(〈sqnn , n〉)

⟩Failure MessageIf id′ 6= idt

H2k(n)

If id′ = idt

Unlinkability attack

The adversary knows if it interacted with idt or id′.

Adrien Koutsos 5G-AKA Privacy January 18, 2019 19 / 43

Page 50: The 5G-AKA Authentication Protocol Privacykoutsos/slides/slides_aka.pdf · 2019-01-21 · The 5G-AKA Authentication Protocol Privacy ... ue

New Attack on the priv-aka Protocol

The priv-aka ProtocolThe authors of [Fouque et al., 2016] propose a new protocol, priv-aka(claimed unlinkable).

Unlinkability Attack (four sessions)

We found an attack to permanently de-synchronize the user:Run a session but keep the last message t1.Re-synchronize the user and the network.

Re-iterate the last two steps to get a second message t2.Send both t1 and t2, which increments sqnn by two.The user is permanently de-synchronized =⇒ unlinkability attack.

Adrien Koutsos 5G-AKA Privacy January 18, 2019 20 / 43

Page 51: The 5G-AKA Authentication Protocol Privacykoutsos/slides/slides_aka.pdf · 2019-01-21 · The 5G-AKA Authentication Protocol Privacy ... ue

New Attack on the priv-aka Protocol

The priv-aka ProtocolThe authors of [Fouque et al., 2016] propose a new protocol, priv-aka(claimed unlinkable).

Unlinkability Attack (four sessions)

We found an attack to permanently de-synchronize the user:Run a session but keep the last message t1.Re-synchronize the user and the network.

Re-iterate the last two steps to get a second message t2.Send both t1 and t2, which increments sqnn by two.The user is permanently de-synchronized =⇒ unlinkability attack.

Adrien Koutsos 5G-AKA Privacy January 18, 2019 20 / 43

Page 52: The 5G-AKA Authentication Protocol Privacykoutsos/slides/slides_aka.pdf · 2019-01-21 · The 5G-AKA Authentication Protocol Privacy ... ue

New Attack on the priv-aka Protocol

The priv-aka ProtocolThe authors of [Fouque et al., 2016] propose a new protocol, priv-aka(claimed unlinkable).

Unlinkability Attack (four sessions)

We found an attack to permanently de-synchronize the user:Run a session but keep the last message t1.Re-synchronize the user and the network.

Re-iterate the last two steps to get a second message t2.Send both t1 and t2, which increments sqnn by two.The user is permanently de-synchronized =⇒ unlinkability attack.

Adrien Koutsos 5G-AKA Privacy January 18, 2019 20 / 43

Page 53: The 5G-AKA Authentication Protocol Privacykoutsos/slides/slides_aka.pdf · 2019-01-21 · The 5G-AKA Authentication Protocol Privacy ... ue

New Attack on the priv-aka Protocol

The priv-aka ProtocolThe authors of [Fouque et al., 2016] propose a new protocol, priv-aka(claimed unlinkable).

Unlinkability Attack (four sessions)

We found an attack to permanently de-synchronize the user:Run a session but keep the last message t1.Re-synchronize the user and the network.Re-iterate the last two steps to get a second message t2.

Send both t1 and t2, which increments sqnn by two.The user is permanently de-synchronized =⇒ unlinkability attack.

Adrien Koutsos 5G-AKA Privacy January 18, 2019 20 / 43

Page 54: The 5G-AKA Authentication Protocol Privacykoutsos/slides/slides_aka.pdf · 2019-01-21 · The 5G-AKA Authentication Protocol Privacy ... ue

New Attack on the priv-aka Protocol

The priv-aka ProtocolThe authors of [Fouque et al., 2016] propose a new protocol, priv-aka(claimed unlinkable).

Unlinkability Attack (four sessions)

We found an attack to permanently de-synchronize the user:Run a session but keep the last message t1.Re-synchronize the user and the network.Re-iterate the last two steps to get a second message t2.Send both t1 and t2, which increments sqnn by two.

The user is permanently de-synchronized =⇒ unlinkability attack.

Adrien Koutsos 5G-AKA Privacy January 18, 2019 20 / 43

Page 55: The 5G-AKA Authentication Protocol Privacykoutsos/slides/slides_aka.pdf · 2019-01-21 · The 5G-AKA Authentication Protocol Privacy ... ue

New Attack on the priv-aka Protocol

The priv-aka ProtocolThe authors of [Fouque et al., 2016] propose a new protocol, priv-aka(claimed unlinkable).

Unlinkability Attack (four sessions)

We found an attack to permanently de-synchronize the user:Run a session but keep the last message t1.Re-synchronize the user and the network.Re-iterate the last two steps to get a second message t2.Send both t1 and t2, which increments sqnn by two.The user is permanently de-synchronized =⇒ unlinkability attack.

Adrien Koutsos 5G-AKA Privacy January 18, 2019 20 / 43

Page 56: The 5G-AKA Authentication Protocol Privacykoutsos/slides/slides_aka.pdf · 2019-01-21 · The 5G-AKA Authentication Protocol Privacy ... ue

Objective

Objective

Design a modified version of aka, called aka+, such that:Provides some form of unlinkability.

Satisfies the design and efficiency constraints of 5g-aka.Is proved secure.

Adrien Koutsos 5G-AKA Privacy January 18, 2019 21 / 43

Page 57: The 5G-AKA Authentication Protocol Privacykoutsos/slides/slides_aka.pdf · 2019-01-21 · The 5G-AKA Authentication Protocol Privacy ... ue

Objective

Objective

Design a modified version of aka, called aka+, such that:Provides some form of unlinkability.Satisfies the design and efficiency constraints of 5g-aka.

Is proved secure.

Adrien Koutsos 5G-AKA Privacy January 18, 2019 21 / 43

Page 58: The 5G-AKA Authentication Protocol Privacykoutsos/slides/slides_aka.pdf · 2019-01-21 · The 5G-AKA Authentication Protocol Privacy ... ue

Objective

Objective

Design a modified version of aka, called aka+, such that:Provides some form of unlinkability.Satisfies the design and efficiency constraints of 5g-aka.Is proved secure.

Adrien Koutsos 5G-AKA Privacy January 18, 2019 21 / 43

Page 59: The 5G-AKA Authentication Protocol Privacykoutsos/slides/slides_aka.pdf · 2019-01-21 · The 5G-AKA Authentication Protocol Privacy ... ue

1 The 4g-aka and 5g-aka ProtocolsThe 4g-aka ProtocolThe imsi Catcher AttackThe 5g-aka ProtocolUnlinkability Attacks Against 5g-aka

2 The aka+ ProtocolDesign ConstraintsKey IdeasThe aka+ Protocol

3 Security Proofsσ-UnlinkabilityModeling in the Bana-Comon ModelTheorem

4 Conclusion

Adrien Koutsos 5G-AKA Privacy January 18, 2019 22 / 43

Page 60: The 5G-AKA Authentication Protocol Privacykoutsos/slides/slides_aka.pdf · 2019-01-21 · The 5G-AKA Authentication Protocol Privacy ... ue

Random Number Generation in 5g-aka

Random Number Generation by the User

In 5g-aka, the user generates a random number only:If no tmp-id is assigned.In the session following a de-synchronization.

Adrien Koutsos 5G-AKA Privacy January 18, 2019 23 / 43

Page 61: The 5G-AKA Authentication Protocol Privacykoutsos/slides/slides_aka.pdf · 2019-01-21 · The 5G-AKA Authentication Protocol Privacy ... ue

The aka+ Protocol

Design Constraints

aka+ should be as efficient as the 5g-aka:Random number generation (user): at most one nonce per session,and only for re-synchronization or if no tmp-id is assigned.

The user can use only one-way functions and asymmetric encryption.Network complexity: only three messages per session.

Adrien Koutsos 5G-AKA Privacy January 18, 2019 24 / 43

Page 62: The 5G-AKA Authentication Protocol Privacykoutsos/slides/slides_aka.pdf · 2019-01-21 · The 5G-AKA Authentication Protocol Privacy ... ue

The aka+ Protocol

Design Constraints

aka+ should be as efficient as the 5g-aka:Random number generation (user): at most one nonce per session,and only for re-synchronization or if no tmp-id is assigned.The user can use only one-way functions and asymmetric encryption.

Network complexity: only three messages per session.

Adrien Koutsos 5G-AKA Privacy January 18, 2019 24 / 43

Page 63: The 5G-AKA Authentication Protocol Privacykoutsos/slides/slides_aka.pdf · 2019-01-21 · The 5G-AKA Authentication Protocol Privacy ... ue

The aka+ Protocol

Design Constraints

aka+ should be as efficient as the 5g-aka:Random number generation (user): at most one nonce per session,and only for re-synchronization or if no tmp-id is assigned.The user can use only one-way functions and asymmetric encryption.Network complexity: only three messages per session.

Adrien Koutsos 5G-AKA Privacy January 18, 2019 24 / 43

Page 64: The 5G-AKA Authentication Protocol Privacykoutsos/slides/slides_aka.pdf · 2019-01-21 · The 5G-AKA Authentication Protocol Privacy ... ue

Key Ideas

Key Ideas Behind aka+

Postpone re-synchronization to the next session: {〈id , sqnu〉}pkn.

No re-synchronization message =⇒ no failure message attack.No extra randomness for the user.

Add a challenge n from the HN when using the permanent identity.UE HN

n⟨{〈id , sqnu〉}pkn

, Mac1km(〈{〈id , sqnu〉}pkn

, n〉)⟩

UE(idt) HNtauth ≡⟨n , sqnn ⊕ H5

k(n) , H1k(〈sqnn , n〉)

⟩H2

k(n)

UE(id′) Attackertauth

“Auth-Failure”If id′ 6= idt

⟨sqnu ⊕ H5,∗

k (n) , H1,∗k (〈sqnu , n〉)

⟩If id′ = idt

The Failure Message Attack

UE(idt) HN{idt}pkn

UE(id′) HN{id′}pkn/

{idt}pkn

tauth ≡⟨n , sqnn ⊕ H5

k(n) , H1k(〈sqnn , n〉)

⟩Failure MessageIf id′ 6= idt

H2k(n)

If id′ = idt

The Encrypted id Replay Attack

Adrien Koutsos 5G-AKA Privacy January 18, 2019 25 / 43

Page 65: The 5G-AKA Authentication Protocol Privacykoutsos/slides/slides_aka.pdf · 2019-01-21 · The 5G-AKA Authentication Protocol Privacy ... ue

Key Ideas

Key Ideas Behind aka+

Postpone re-synchronization to the next session: {〈id , sqnu〉}pkn.

No re-synchronization message =⇒ no failure message attack.No extra randomness for the user.

Add a challenge n from the HN when using the permanent identity.UE HN

n⟨{〈id , sqnu〉}pkn

, Mac1km(〈{〈id , sqnu〉}pkn

, n〉)⟩

UE(idt) HNtauth ≡⟨n , sqnn ⊕ H5

k(n) , H1k(〈sqnn , n〉)

⟩H2

k(n)

UE(id′) Attackertauth

“Auth-Failure”If id′ 6= idt

⟨sqnu ⊕ H5,∗

k (n) , H1,∗k (〈sqnu , n〉)

⟩If id′ = idt

The Failure Message Attack

UE(idt) HN{idt}pkn

UE(id′) HN{id′}pkn/

{idt}pkn

tauth ≡⟨n , sqnn ⊕ H5

k(n) , H1k(〈sqnn , n〉)

⟩Failure MessageIf id′ 6= idt

H2k(n)

If id′ = idt

The Encrypted id Replay Attack

Adrien Koutsos 5G-AKA Privacy January 18, 2019 25 / 43

Page 66: The 5G-AKA Authentication Protocol Privacykoutsos/slides/slides_aka.pdf · 2019-01-21 · The 5G-AKA Authentication Protocol Privacy ... ue

Key Ideas

Key Ideas Behind aka+

Postpone re-synchronization to the next session: {〈id , sqnu〉}pkn.

No re-synchronization message =⇒ no failure message attack.No extra randomness for the user.

Add a challenge n from the HN when using the permanent identity.UE HN

n⟨{〈id , sqnu〉}pkn

, Mac1km(〈{〈id , sqnu〉}pkn

, n〉)⟩

UE(idt) HNtauth ≡⟨n , sqnn ⊕ H5

k(n) , H1k(〈sqnn , n〉)

⟩H2

k(n)

UE(id′) Attackertauth

“Auth-Failure”If id′ 6= idt

⟨sqnu ⊕ H5,∗

k (n) , H1,∗k (〈sqnu , n〉)

⟩If id′ = idt

The Failure Message Attack

UE(idt) HN{idt}pkn

UE(id′) HN{id′}pkn/

{idt}pkn

tauth ≡⟨n , sqnn ⊕ H5

k(n) , H1k(〈sqnn , n〉)

⟩Failure MessageIf id′ 6= idt

H2k(n)

If id′ = idt

The Encrypted id Replay Attack

Adrien Koutsos 5G-AKA Privacy January 18, 2019 25 / 43

Page 67: The 5G-AKA Authentication Protocol Privacykoutsos/slides/slides_aka.pdf · 2019-01-21 · The 5G-AKA Authentication Protocol Privacy ... ue

Key Ideas

Key Ideas Behind aka+

Postpone re-synchronization to the next session: {〈id , sqnu〉}pkn.

No re-synchronization message =⇒ no failure message attack.No extra randomness for the user.

Add a challenge n from the HN when using the permanent identity.UE HN

n⟨{〈id , sqnu〉}pkn

, Mac1km(〈{〈id , sqnu〉}pkn

, n〉)⟩

UE(idt) HNtauth ≡⟨n , sqnn ⊕ H5

k(n) , H1k(〈sqnn , n〉)

⟩H2

k(n)

UE(id′) Attackertauth

“Auth-Failure”If id′ 6= idt

⟨sqnu ⊕ H5,∗

k (n) , H1,∗k (〈sqnu , n〉)

⟩If id′ = idt

The Failure Message Attack

UE(idt) HN{idt}pkn

UE(id′) HN{id′}pkn/

{idt}pkn

tauth ≡⟨n , sqnn ⊕ H5

k(n) , H1k(〈sqnn , n〉)

⟩Failure MessageIf id′ 6= idt

H2k(n)

If id′ = idt

The Encrypted id Replay Attack

Adrien Koutsos 5G-AKA Privacy January 18, 2019 25 / 43

Page 68: The 5G-AKA Authentication Protocol Privacykoutsos/slides/slides_aka.pdf · 2019-01-21 · The 5G-AKA Authentication Protocol Privacy ... ue

Key Ideas

Key Ideas Behind aka+

Postpone re-synchronization to the next session: {〈id , sqnu〉}pkn.

No re-synchronization message =⇒ no failure message attack.No extra randomness for the user.

Add a challenge n from the HN when using the permanent identity.UE HN

n⟨{〈id , sqnu〉}pkn

, Mac1km(〈{〈id , sqnu〉}pkn

, n〉)⟩

UE(idt) HNtauth ≡⟨n , sqnn ⊕ H5

k(n) , H1k(〈sqnn , n〉)

⟩H2

k(n)

UE(id′) Attackertauth

“Auth-Failure”If id′ 6= idt

⟨sqnu ⊕ H5,∗

k (n) , H1,∗k (〈sqnu , n〉)

⟩If id′ = idt

The Failure Message Attack

UE(idt) HN{idt}pkn

UE(id′) HN{id′}pkn/

{idt}pkn

tauth ≡⟨n , sqnn ⊕ H5

k(n) , H1k(〈sqnn , n〉)

⟩Failure MessageIf id′ 6= idt

H2k(n)

If id′ = idt

The Encrypted id Replay Attack

Adrien Koutsos 5G-AKA Privacy January 18, 2019 25 / 43

Page 69: The 5G-AKA Authentication Protocol Privacykoutsos/slides/slides_aka.pdf · 2019-01-21 · The 5G-AKA Authentication Protocol Privacy ... ue

Architecture of aka+

aka+ Sub-Protocols

id sub-protocol:is initiated by the HN with a challenge n.uses the encrypted permanent identity.allows to re-synchronize the UE and the HN.

tmp-id sub-protocol:is initiated by the UE.uses a temporary identity.

assign-tmp-id sub-protocol:assigns a fresh temporary identity to the UE.

id Sub-Protocol tmp-id Sub-Protocol

assign-tmp-id Sub-Protocol

Adrien Koutsos 5G-AKA Privacy January 18, 2019 26 / 43

Page 70: The 5G-AKA Authentication Protocol Privacykoutsos/slides/slides_aka.pdf · 2019-01-21 · The 5G-AKA Authentication Protocol Privacy ... ue

Architecture of aka+

aka+ Sub-Protocols

id sub-protocol:is initiated by the HN with a challenge n.uses the encrypted permanent identity.allows to re-synchronize the UE and the HN.

tmp-id sub-protocol:is initiated by the UE.uses a temporary identity.

assign-tmp-id sub-protocol:assigns a fresh temporary identity to the UE.

id Sub-Protocol tmp-id Sub-Protocol

assign-tmp-id Sub-Protocol

Adrien Koutsos 5G-AKA Privacy January 18, 2019 26 / 43

Page 71: The 5G-AKA Authentication Protocol Privacykoutsos/slides/slides_aka.pdf · 2019-01-21 · The 5G-AKA Authentication Protocol Privacy ... ue

Architecture of aka+

aka+ Sub-Protocols

id sub-protocol:is initiated by the HN with a challenge n.uses the encrypted permanent identity.allows to re-synchronize the UE and the HN.

tmp-id sub-protocol:is initiated by the UE.uses a temporary identity.

assign-tmp-id sub-protocol:assigns a fresh temporary identity to the UE.

id Sub-Protocol tmp-id Sub-Protocol

assign-tmp-id Sub-Protocol

Adrien Koutsos 5G-AKA Privacy January 18, 2019 26 / 43

Page 72: The 5G-AKA Authentication Protocol Privacykoutsos/slides/slides_aka.pdf · 2019-01-21 · The 5G-AKA Authentication Protocol Privacy ... ue

UEid

stateidu

HN

statenn⟨

{〈id , sqnu〉}nepkn

, Mac1kidm

(〈{〈id , sqnu〉}nepkn

, n〉)⟩

sqnu ← sqnu + 1 bMac ← check-macif bMac then authenticated id

bInc ← bMac ∧ sqnu ≥ sqnidn

if bInc then sqnidn ← sqnu + 1

sessionidn ← n

tmp-ididn ← tmp-id

Mac2kidm

(〈n , sqnu + 1〉)bMac

if check-mac then authenticated HN

idSub-Protocol

Adrien Koutsos 5G-AKA Privacy January 18, 2019 27 / 43

Page 73: The 5G-AKA Authentication Protocol Privacykoutsos/slides/slides_aka.pdf · 2019-01-21 · The 5G-AKA Authentication Protocol Privacy ... ue

UEid

stateidu

HN

statenn⟨

{〈id , sqnu〉}nepkn

, Mac1kidm

(〈{〈id , sqnu〉}nepkn

, n〉)⟩

sqnu ← sqnu + 1 bMac ← check-macif bMac then authenticated id

bInc ← bMac ∧ sqnu ≥ sqnidn

if bInc then sqnidn ← sqnu + 1

sessionidn ← n

tmp-ididn ← tmp-id

Mac2kidm

(〈n , sqnu + 1〉)bMac

if check-mac then authenticated HN

idSub-Protocol

Adrien Koutsos 5G-AKA Privacy January 18, 2019 27 / 43

Page 74: The 5G-AKA Authentication Protocol Privacykoutsos/slides/slides_aka.pdf · 2019-01-21 · The 5G-AKA Authentication Protocol Privacy ... ue

UEid

stateidu

HN

statenn⟨

{〈id , sqnu〉}nepkn

, Mac1kidm

(〈{〈id , sqnu〉}nepkn

, n〉)⟩

sqnu ← sqnu + 1 bMac ← check-macif bMac then authenticated id

bInc ← bMac ∧ sqnu ≥ sqnidn

if bInc then sqnidn ← sqnu + 1

sessionidn ← n

tmp-ididn ← tmp-id

Mac2kidm

(〈n , sqnu + 1〉)bMac

if check-mac then authenticated HN

idSub-Protocol

Adrien Koutsos 5G-AKA Privacy January 18, 2019 27 / 43

Page 75: The 5G-AKA Authentication Protocol Privacykoutsos/slides/slides_aka.pdf · 2019-01-21 · The 5G-AKA Authentication Protocol Privacy ... ue

UEid

stateidu

HN

staten

tmp-iduvalid-tmpu

valid-tmpu ← false bid ← tmp-ididn = tmp-idu 6= UnSet

if bid then tmp-ididn ← UnSet

sessionidn ← n

⟨n , sqnid

n ⊕ Hkid(n) , Mac3kidm

(〈n , sqnidn , tmp-idu〉)

⟩ bid

bacc ← check-mac ∧ range(sqnu, sqnidn )

if bacc then sqnu ← sqnu + 1

Mac4kidm

(n)bacc

bMac ← check-macif bMac then authenticated idbInc ← bMac ∧ sessionid

n = nif bInc then sqnid

n ← sqnidn + 1

tmp-ididn ← tmp-id

tmp-idSub-Protocol

Adrien Koutsos 5G-AKA Privacy January 18, 2019 28 / 43

Page 76: The 5G-AKA Authentication Protocol Privacykoutsos/slides/slides_aka.pdf · 2019-01-21 · The 5G-AKA Authentication Protocol Privacy ... ue

UEid

stateidu

HN

staten

tmp-iduvalid-tmpu

valid-tmpu ← false bid ← tmp-ididn = tmp-idu 6= UnSet

if bid then tmp-ididn ← UnSet

sessionidn ← n

⟨n , sqnid

n ⊕ Hkid(n) , Mac3kidm

(〈n , sqnidn , tmp-idu〉)

⟩ bid

bacc ← check-mac ∧ range(sqnu, sqnidn )

if bacc then sqnu ← sqnu + 1

Mac4kidm

(n)bacc

bMac ← check-macif bMac then authenticated idbInc ← bMac ∧ sessionid

n = nif bInc then sqnid

n ← sqnidn + 1

tmp-ididn ← tmp-id

tmp-idSub-Protocol

Adrien Koutsos 5G-AKA Privacy January 18, 2019 28 / 43

Page 77: The 5G-AKA Authentication Protocol Privacykoutsos/slides/slides_aka.pdf · 2019-01-21 · The 5G-AKA Authentication Protocol Privacy ... ue

UEid

stateidu

HN

staten

tmp-iduvalid-tmpu

valid-tmpu ← false bid ← tmp-ididn = tmp-idu 6= UnSet

if bid then tmp-ididn ← UnSet

sessionidn ← n

⟨n , sqnid

n ⊕ Hkid(n) , Mac3kidm

(〈n , sqnidn , tmp-idu〉)

⟩ bid

bacc ← check-mac ∧ range(sqnu, sqnidn )

if bacc then sqnu ← sqnu + 1

Mac4kidm

(n)bacc

bMac ← check-macif bMac then authenticated idbInc ← bMac ∧ sessionid

n = nif bInc then sqnid

n ← sqnidn + 1

tmp-ididn ← tmp-id

tmp-idSub-Protocol

Adrien Koutsos 5G-AKA Privacy January 18, 2019 28 / 43

Page 78: The 5G-AKA Authentication Protocol Privacykoutsos/slides/slides_aka.pdf · 2019-01-21 · The 5G-AKA Authentication Protocol Privacy ... ue

UEid

stateidu

HN

staten

tmp-iduvalid-tmpu

valid-tmpu ← false bid ← tmp-ididn = tmp-idu 6= UnSet

if bid then tmp-ididn ← UnSet

sessionidn ← n

⟨n , sqnid

n ⊕ Hkid(n) , Mac3kidm

(〈n , sqnidn , tmp-idu〉)

⟩ bid

bacc ← check-mac ∧ range(sqnu, sqnidn )

if bacc then sqnu ← sqnu + 1

Mac4kidm

(n)bacc

bMac ← check-macif bMac then authenticated idbInc ← bMac ∧ sessionid

n = nif bInc then sqnid

n ← sqnidn + 1

tmp-ididn ← tmp-id

tmp-idSub-Protocol

Adrien Koutsos 5G-AKA Privacy January 18, 2019 28 / 43

Page 79: The 5G-AKA Authentication Protocol Privacykoutsos/slides/slides_aka.pdf · 2019-01-21 · The 5G-AKA Authentication Protocol Privacy ... ue

The assign-tmp-id Sub-Protocol

UEid

stateidu

HN

staten

〈tmp-id⊕ Hrkid(n) , Mac5

kidm(〈tmp-id , n〉)〉

bacc ← check-mactmp-idu ← if bacc then tmp-id else UnSetvalid-tmpu ← bacc

Adrien Koutsos 5G-AKA Privacy January 18, 2019 29 / 43

Page 80: The 5G-AKA Authentication Protocol Privacykoutsos/slides/slides_aka.pdf · 2019-01-21 · The 5G-AKA Authentication Protocol Privacy ... ue

1 The 4g-aka and 5g-aka ProtocolsThe 4g-aka ProtocolThe imsi Catcher AttackThe 5g-aka ProtocolUnlinkability Attacks Against 5g-aka

2 The aka+ ProtocolDesign ConstraintsKey IdeasThe aka+ Protocol

3 Security Proofsσ-UnlinkabilityModeling in the Bana-Comon ModelTheorem

4 Conclusion

Adrien Koutsos 5G-AKA Privacy January 18, 2019 30 / 43

Page 81: The 5G-AKA Authentication Protocol Privacykoutsos/slides/slides_aka.pdf · 2019-01-21 · The 5G-AKA Authentication Protocol Privacy ... ue

Security Proofs

Objective

Formally prove that aka+ satisfies:mutual authentication.unlinkability.

A

A

B

B

A

A

A

B

6∼

id sub-protocol tmp-id sub-protocol

Adrien Koutsos 5G-AKA Privacy January 18, 2019 31 / 43

Page 82: The 5G-AKA Authentication Protocol Privacykoutsos/slides/slides_aka.pdf · 2019-01-21 · The 5G-AKA Authentication Protocol Privacy ... ue

Security Proofs

Objective

Formally prove that aka+ satisfies:mutual authentication.unlinkability.

A

A

B

B

A

A

A

B

6∼

id sub-protocol tmp-id sub-protocol

Adrien Koutsos 5G-AKA Privacy January 18, 2019 31 / 43

Page 83: The 5G-AKA Authentication Protocol Privacykoutsos/slides/slides_aka.pdf · 2019-01-21 · The 5G-AKA Authentication Protocol Privacy ... ue

Security Proofs

Objective

Formally prove that aka+ satisfies:mutual authentication.unlinkability =⇒ σ-unlinkability.

A

A

B

B

A

A

A

B

6∼

id sub-protocol tmp-id sub-protocol

Adrien Koutsos 5G-AKA Privacy January 18, 2019 31 / 43

Page 84: The 5G-AKA Authentication Protocol Privacykoutsos/slides/slides_aka.pdf · 2019-01-21 · The 5G-AKA Authentication Protocol Privacy ... ue

The σ-Unlinkability Property

σ-Unlinkability

High level idea: show privacy only for a subset of the standard unlinkabilitygame scenarios.

Game-based definition (like standard unlinkability).Parametric property (σ).In general, weaker than unlinkability.Allow to precisely quantify privacy guarantees.

Adrien Koutsos 5G-AKA Privacy January 18, 2019 32 / 43

Page 85: The 5G-AKA Authentication Protocol Privacykoutsos/slides/slides_aka.pdf · 2019-01-21 · The 5G-AKA Authentication Protocol Privacy ... ue

The σ-Unlinkability Property

σ-Unlinkability

High level idea: show privacy only for a subset of the standard unlinkabilitygame scenarios.

Game-based definition (like standard unlinkability).Parametric property (σ).In general, weaker than unlinkability.Allow to precisely quantify privacy guarantees.

Adrien Koutsos 5G-AKA Privacy January 18, 2019 32 / 43

Page 86: The 5G-AKA Authentication Protocol Privacykoutsos/slides/slides_aka.pdf · 2019-01-21 · The 5G-AKA Authentication Protocol Privacy ... ue

The σ-Unlinkability Property

Two Indistinguishable Executions

Each time the id sub-protocol is used, we can change the user’s identity.

A

A

B

B

A

A

B

C

B

C

B

C

id sub-protocol tmp-id sub-protocol

Adrien Koutsos 5G-AKA Privacy January 18, 2019 33 / 43

Page 87: The 5G-AKA Authentication Protocol Privacykoutsos/slides/slides_aka.pdf · 2019-01-21 · The 5G-AKA Authentication Protocol Privacy ... ue

The σ-Unlinkability Property

Two Indistinguishable Executions

Each time the id sub-protocol is used, we can change the user’s identity.

A

A

B

B

A

A

B

C

B

C

B

C

id sub-protocol tmp-id sub-protocol

Adrien Koutsos 5G-AKA Privacy January 18, 2019 33 / 43

Page 88: The 5G-AKA Authentication Protocol Privacykoutsos/slides/slides_aka.pdf · 2019-01-21 · The 5G-AKA Authentication Protocol Privacy ... ue

The σ-Unlinkability Property

Two Indistinguishable Executions

Each time the id sub-protocol is used, we can change the user’s identity.

A

A

B

B

A

A

B

C

B

C

B

C

id sub-protocol tmp-id sub-protocol

Adrien Koutsos 5G-AKA Privacy January 18, 2019 33 / 43

Page 89: The 5G-AKA Authentication Protocol Privacykoutsos/slides/slides_aka.pdf · 2019-01-21 · The 5G-AKA Authentication Protocol Privacy ... ue

The σ-Unlinkability Property

Two Indistinguishable Executions

Each time the id sub-protocol is used, we can change the user’s identity.

A

A

B

B

A

A

B

C

B

C

B

C

id sub-protocol tmp-id sub-protocol

Adrien Koutsos 5G-AKA Privacy January 18, 2019 33 / 43

Page 90: The 5G-AKA Authentication Protocol Privacykoutsos/slides/slides_aka.pdf · 2019-01-21 · The 5G-AKA Authentication Protocol Privacy ... ue

σ-Unlinkability

Efficiency vs Privacy

There is a trade-off between:Efficiency: the tmp-id sub-protocol is faster.Privacy: the id sub-protocol provides some privacy.

Remark

If we use only the id sub-protocol, we get standard unlinkability.All previous attacks are also σ-unlinkability attacks.

Adrien Koutsos 5G-AKA Privacy January 18, 2019 34 / 43

Page 91: The 5G-AKA Authentication Protocol Privacykoutsos/slides/slides_aka.pdf · 2019-01-21 · The 5G-AKA Authentication Protocol Privacy ... ue

σ-Unlinkability

Efficiency vs Privacy

There is a trade-off between:Efficiency: the tmp-id sub-protocol is faster.Privacy: the id sub-protocol provides some privacy.

Remark

If we use only the id sub-protocol, we get standard unlinkability.All previous attacks are also σ-unlinkability attacks.

Adrien Koutsos 5G-AKA Privacy January 18, 2019 34 / 43

Page 92: The 5G-AKA Authentication Protocol Privacykoutsos/slides/slides_aka.pdf · 2019-01-21 · The 5G-AKA Authentication Protocol Privacy ... ue

Modeling

The Bana-Comon Model [Bana and Comon-Lundh, 2014]The proof is in the Bana-Comon unlinkability model:

Messages are modeled by (first-order) terms.

A security property P ∼ Q is modeled by a formula ~uP ∼ ~uQ .Implementation assumptions and cryptographic hypothesis aremodeled by axioms Ax.We have to show that Ax |= ~uP ∼ ~uQ .

Adrien Koutsos 5G-AKA Privacy January 18, 2019 35 / 43

Page 93: The 5G-AKA Authentication Protocol Privacykoutsos/slides/slides_aka.pdf · 2019-01-21 · The 5G-AKA Authentication Protocol Privacy ... ue

Modeling

The Bana-Comon Model [Bana and Comon-Lundh, 2014]The proof is in the Bana-Comon unlinkability model:

Messages are modeled by (first-order) terms.A security property P ∼ Q is modeled by a formula ~uP ∼ ~uQ .

Implementation assumptions and cryptographic hypothesis aremodeled by axioms Ax.We have to show that Ax |= ~uP ∼ ~uQ .

Adrien Koutsos 5G-AKA Privacy January 18, 2019 35 / 43

Page 94: The 5G-AKA Authentication Protocol Privacykoutsos/slides/slides_aka.pdf · 2019-01-21 · The 5G-AKA Authentication Protocol Privacy ... ue

Modeling

The Bana-Comon Model [Bana and Comon-Lundh, 2014]The proof is in the Bana-Comon unlinkability model:

Messages are modeled by (first-order) terms.A security property P ∼ Q is modeled by a formula ~uP ∼ ~uQ .Implementation assumptions and cryptographic hypothesis aremodeled by axioms Ax.

We have to show that Ax |= ~uP ∼ ~uQ .

Adrien Koutsos 5G-AKA Privacy January 18, 2019 35 / 43

Page 95: The 5G-AKA Authentication Protocol Privacykoutsos/slides/slides_aka.pdf · 2019-01-21 · The 5G-AKA Authentication Protocol Privacy ... ue

Modeling

The Bana-Comon Model [Bana and Comon-Lundh, 2014]The proof is in the Bana-Comon unlinkability model:

Messages are modeled by (first-order) terms.A security property P ∼ Q is modeled by a formula ~uP ∼ ~uQ .Implementation assumptions and cryptographic hypothesis aremodeled by axioms Ax.We have to show that Ax |= ~uP ∼ ~uQ .

Adrien Koutsos 5G-AKA Privacy January 18, 2019 35 / 43

Page 96: The 5G-AKA Authentication Protocol Privacykoutsos/slides/slides_aka.pdf · 2019-01-21 · The 5G-AKA Authentication Protocol Privacy ... ue

Modeling: the Protocol

Messages and State

Symbolic trace of actions τ .Example: τ = UEA, HN, UEB , UEA.

Symbolic frame φτ : sequences of messages observed by the attacker.Symbolic state στ : current state of the users and the network.

Adrien Koutsos 5G-AKA Privacy January 18, 2019 36 / 43

Page 97: The 5G-AKA Authentication Protocol Privacykoutsos/slides/slides_aka.pdf · 2019-01-21 · The 5G-AKA Authentication Protocol Privacy ... ue

Modeling: the Protocol

Messages and State

Symbolic trace of actions τ .Example: τ = UEA, HN, UEB , UEA.Symbolic frame φτ : sequences of messages observed by the attacker.Symbolic state στ : current state of the users and the network.

Adrien Koutsos 5G-AKA Privacy January 18, 2019 36 / 43

Page 98: The 5G-AKA Authentication Protocol Privacykoutsos/slides/slides_aka.pdf · 2019-01-21 · The 5G-AKA Authentication Protocol Privacy ... ue

Modeling: the Protocol

UE n

Input n: b-authu ← n⟨{〈id , sqnu〉}pkn

, Mac1km(〈 {〈id , sqnu〉}pkn

, n〉)⟩

sqnu ← sqnu + 1

tencτ ≡ {〈id , σin

τ (sqnu)〉}nepkn

φτ ≡ φinτ ,⟨tencτ , Mac1kidm(〈t

encτ , g(φin

τ )〉)⟩

σupτ ≡

{

sqnu 7→ suc(σinτ (sqnid

u ))

b-authu 7→ g(φinτ )

στ ≡ σinτ · σup

τ

Adversary knowledge: φinτ

Adversary computations: g=⇒ Symbolic input: g(φin

τ )

Adrien Koutsos 5G-AKA Privacy January 18, 2019 37 / 43

Page 99: The 5G-AKA Authentication Protocol Privacykoutsos/slides/slides_aka.pdf · 2019-01-21 · The 5G-AKA Authentication Protocol Privacy ... ue

Modeling: the Protocol

UE n

Input n: b-authu ← n⟨{〈id , sqnu〉}pkn

, Mac1km(〈 {〈id , sqnu〉}pkn

, n〉)⟩

sqnu ← sqnu + 1

tencτ ≡ {〈id , σin

τ (sqnu)〉}nepkn

φτ ≡ φinτ ,⟨tencτ , Mac1kidm(〈t

encτ , g(φin

τ )〉)⟩

σupτ ≡

{

sqnu 7→ suc(σinτ (sqnid

u ))

b-authu 7→ g(φinτ )

στ ≡ σinτ · σup

τ

Adversary knowledge: φinτ

Adversary computations: g=⇒ Symbolic input: g(φin

τ )

Adrien Koutsos 5G-AKA Privacy January 18, 2019 37 / 43

Page 100: The 5G-AKA Authentication Protocol Privacykoutsos/slides/slides_aka.pdf · 2019-01-21 · The 5G-AKA Authentication Protocol Privacy ... ue

Modeling: the Protocol

UE n

Input n: b-authu ← n⟨{〈id , sqnu〉}pkn

, Mac1km(〈 {〈id , sqnu〉}pkn

, n〉)⟩

sqnu ← sqnu + 1

tencτ ≡ {〈id , σin

τ (sqnu)〉}nepkn

φτ ≡ φinτ ,⟨tencτ , Mac1kidm(〈t

encτ , g(φin

τ )〉)⟩

σupτ ≡

{

sqnu 7→ suc(σinτ (sqnid

u ))

b-authu 7→ g(φinτ )

στ ≡ σinτ · σup

τ

Adversary knowledge: φinτ

Adversary computations: g=⇒ Symbolic input: g(φin

τ )

Adrien Koutsos 5G-AKA Privacy January 18, 2019 37 / 43

Page 101: The 5G-AKA Authentication Protocol Privacykoutsos/slides/slides_aka.pdf · 2019-01-21 · The 5G-AKA Authentication Protocol Privacy ... ue

Modeling: the Protocol

UE n

Input n: b-authu ← n⟨{〈id , sqnu〉}pkn

, Mac1km(〈 {〈id , sqnu〉}pkn

, n〉)⟩

sqnu ← sqnu + 1

tencτ ≡ {〈id , σin

τ (sqnu)〉}nepkn

φτ ≡ φinτ ,⟨tencτ , Mac1kidm(〈t

encτ , g(φin

τ )〉)⟩

σupτ ≡

{

sqnu 7→ suc(σinτ (sqnid

u ))

b-authu 7→ g(φinτ )

στ ≡ σinτ · σup

τ

Adversary knowledge: φinτ

Adversary computations: g=⇒ Symbolic input: g(φin

τ )

Adrien Koutsos 5G-AKA Privacy January 18, 2019 37 / 43

Page 102: The 5G-AKA Authentication Protocol Privacykoutsos/slides/slides_aka.pdf · 2019-01-21 · The 5G-AKA Authentication Protocol Privacy ... ue

Modeling: the Protocol

UE n

Input n: b-authu ← n⟨{〈id , sqnu〉}pkn

, Mac1km(〈 {〈id , sqnu〉}pkn

, n〉)⟩

sqnu ← sqnu + 1

tencτ ≡ {〈id , σin

τ (sqnu)〉}nepkn

φτ ≡ φinτ ,⟨tencτ , Mac1kidm(〈t

encτ , g(φin

τ )〉)⟩

σupτ ≡

{

sqnu 7→ suc(σinτ (sqnid

u ))

b-authu 7→ g(φinτ )

στ ≡ σinτ · σup

τ

Adversary knowledge: φinτ

Adversary computations: g=⇒ Symbolic input: g(φin

τ )

Adrien Koutsos 5G-AKA Privacy January 18, 2019 37 / 43

Page 103: The 5G-AKA Authentication Protocol Privacykoutsos/slides/slides_aka.pdf · 2019-01-21 · The 5G-AKA Authentication Protocol Privacy ... ue

Modeling: the Protocol

UE n

Input n: b-authu ← n⟨{〈id , sqnu〉}pkn

, Mac1km(〈 {〈id , sqnu〉}pkn

, n〉)⟩

sqnu ← sqnu + 1

tencτ ≡ {〈id , σin

τ (sqnu)〉}nepkn

φτ ≡ φinτ ,⟨tencτ , Mac1kidm(〈t

encτ , g(φin

τ )〉)⟩

σupτ ≡

{sqnu 7→ suc(σin

τ (sqnidu ))

b-authu 7→ g(φinτ )

στ ≡ σinτ · σup

τ

Adversary knowledge: φinτ

Adversary computations: g=⇒ Symbolic input: g(φin

τ )

Adrien Koutsos 5G-AKA Privacy January 18, 2019 37 / 43

Page 104: The 5G-AKA Authentication Protocol Privacykoutsos/slides/slides_aka.pdf · 2019-01-21 · The 5G-AKA Authentication Protocol Privacy ... ue

Base Axioms

Proposition: Mac Unforgeability

If Mac is an euf-mac function, then the following axiom is valid:

verifykm(s,m)→∨

u∈S s = Mackm(u) (euf-mac)

Where:S is the set of subterms of s,m of the form Mackm

(_).km appears only in Mac key position in s,m.

Example

φ ≡ Mackm(t1),Mackm

(t2),Mack′m(t3)

verifykm(g(φ), n) →

(g(φ) = Mackm

(t1) ∨ g(φ) = Mackm(t2))

Adrien Koutsos 5G-AKA Privacy January 18, 2019 38 / 43

Page 105: The 5G-AKA Authentication Protocol Privacykoutsos/slides/slides_aka.pdf · 2019-01-21 · The 5G-AKA Authentication Protocol Privacy ... ue

Base Axioms

Proposition: Mac Unforgeability

If Mac is an euf-mac function, then the following axiom is valid:

verifykm(s,m)→∨

u∈S s = Mackm(u) (euf-mac)

Where:S is the set of subterms of s,m of the form Mackm

(_).km appears only in Mac key position in s,m.

Example

φ ≡ Mackm(t1),Mackm

(t2),Mack′m(t3)

verifykm(g(φ), n) →

(g(φ) = Mackm

(t1) ∨ g(φ) = Mackm(t2))

Adrien Koutsos 5G-AKA Privacy January 18, 2019 38 / 43

Page 106: The 5G-AKA Authentication Protocol Privacykoutsos/slides/slides_aka.pdf · 2019-01-21 · The 5G-AKA Authentication Protocol Privacy ... ue

Base Axioms

Proposition: Mac Unforgeability

If Mac is an euf-mac function, then the following axiom is valid:

verifykm(s,m)→∨

u∈S s = Mackm(u) (euf-mac)

Where:S is the set of subterms of s,m of the form Mackm

(_).km appears only in Mac key position in s,m.

Example

φ ≡ Mackm(t1),Mackm

(t2),Mack′m(t3)

verifykm(g(φ), n) →

(g(φ) = Mackm

(t1) ∨ g(φ) = Mackm(t2))

Adrien Koutsos 5G-AKA Privacy January 18, 2019 38 / 43

Page 107: The 5G-AKA Authentication Protocol Privacykoutsos/slides/slides_aka.pdf · 2019-01-21 · The 5G-AKA Authentication Protocol Privacy ... ue

Base Axioms

Proposition: Mac Unforgeability

If Mac is an euf-mac function, then the following axiom is valid:

verifykm(s,m)→∨

u∈S s = Mackm(u) (euf-mac)

Where:S is the set of subterms of s,m of the form Mackm

(_).km appears only in Mac key position in s,m.

Example

φ ≡ Mackm(t1),Mackm

(t2),Mack′m(t3)

verifykm(g(φ), n) →(g(φ) = Mackm

(t1) ∨ g(φ) = Mackm(t2))

Adrien Koutsos 5G-AKA Privacy January 18, 2019 38 / 43

Page 108: The 5G-AKA Authentication Protocol Privacykoutsos/slides/slides_aka.pdf · 2019-01-21 · The 5G-AKA Authentication Protocol Privacy ... ue

Inference Rules

Function Application

If you cannot distinguish the arguments, you cannot distinguish the images.

x1, . . . , xn ∼ y1, . . . , ynf (x1, . . . , xn) ∼ f (y1, . . . , yn)

FA

Adrien Koutsos 5G-AKA Privacy January 18, 2019 39 / 43

Page 109: The 5G-AKA Authentication Protocol Privacykoutsos/slides/slides_aka.pdf · 2019-01-21 · The 5G-AKA Authentication Protocol Privacy ... ue

Theorem

DefinitionFor every τ , we let τ be τ where we use a fresh identity each time we runthe id sub-protocol.

LemmaFor every τ , there is a derivation using Ax of the formula φτ ∼ φτ .

TheoremThe aka+ protocol is σ-unlinkable for an arbitrary number of agentsand sessions when:

The asymmetric encryption {_}__ is ind-cca1.

H and Hr (resp. Mac1–Mac5) satisfy jointly the prf assumption.

Adrien Koutsos 5G-AKA Privacy January 18, 2019 40 / 43

Page 110: The 5G-AKA Authentication Protocol Privacykoutsos/slides/slides_aka.pdf · 2019-01-21 · The 5G-AKA Authentication Protocol Privacy ... ue

Theorem

DefinitionFor every τ , we let τ be τ where we use a fresh identity each time we runthe id sub-protocol.

LemmaFor every τ , there is a derivation using Ax of the formula φτ ∼ φτ .

TheoremThe aka+ protocol is σ-unlinkable for an arbitrary number of agentsand sessions when:

The asymmetric encryption {_}__ is ind-cca1.

H and Hr (resp. Mac1–Mac5) satisfy jointly the prf assumption.

Adrien Koutsos 5G-AKA Privacy January 18, 2019 40 / 43

Page 111: The 5G-AKA Authentication Protocol Privacykoutsos/slides/slides_aka.pdf · 2019-01-21 · The 5G-AKA Authentication Protocol Privacy ... ue

Theorem

DefinitionFor every τ , we let τ be τ where we use a fresh identity each time we runthe id sub-protocol.

LemmaFor every τ , there is a derivation using Ax of the formula φτ ∼ φτ .

TheoremThe aka+ protocol is σ-unlinkable for an arbitrary number of agentsand sessions when:

The asymmetric encryption {_}__ is ind-cca1.

H and Hr (resp. Mac1–Mac5) satisfy jointly the prf assumption.

Adrien Koutsos 5G-AKA Privacy January 18, 2019 40 / 43

Page 112: The 5G-AKA Authentication Protocol Privacykoutsos/slides/slides_aka.pdf · 2019-01-21 · The 5G-AKA Authentication Protocol Privacy ... ue

Remarks and ProofRemarks

This is against an active attacker.We show this for an arbitrary number of agents and sessions.

ProofThe proof is by induction over the symbolic trace τ . Finding the invariantrequires some work, as it needs to:

anticipate what will be needed latter (e.g. encryptions).match the left and right views of the adversary on the state.

E.g.:

if στ (syncidu )

then στ (sqnidu )− στ (sqnid

n )

else ⊥∼

if στ (syncidτu )

then στ (sqnidτu )− στ (sqnidτ

n )

else ⊥

Adrien Koutsos 5G-AKA Privacy January 18, 2019 41 / 43

Page 113: The 5G-AKA Authentication Protocol Privacykoutsos/slides/slides_aka.pdf · 2019-01-21 · The 5G-AKA Authentication Protocol Privacy ... ue

Remarks and ProofRemarks

This is against an active attacker.We show this for an arbitrary number of agents and sessions.

ProofThe proof is by induction over the symbolic trace τ . Finding the invariantrequires some work, as it needs to:

anticipate what will be needed latter (e.g. encryptions).match the left and right views of the adversary on the state.

E.g.:

if στ (syncidu )

then στ (sqnidu )− στ (sqnid

n )

else ⊥∼

if στ (syncidτu )

then στ (sqnidτu )− στ (sqnidτ

n )

else ⊥

Adrien Koutsos 5G-AKA Privacy January 18, 2019 41 / 43

Page 114: The 5G-AKA Authentication Protocol Privacykoutsos/slides/slides_aka.pdf · 2019-01-21 · The 5G-AKA Authentication Protocol Privacy ... ue

Remarks and ProofRemarks

This is against an active attacker.We show this for an arbitrary number of agents and sessions.

ProofThe proof is by induction over the symbolic trace τ . Finding the invariantrequires some work, as it needs to:

anticipate what will be needed latter (e.g. encryptions).match the left and right views of the adversary on the state. E.g.:

if στ (syncidu )

then στ (sqnidu )− στ (sqnid

n )

else ⊥∼

if στ (syncidτu )

then στ (sqnidτu )− στ (sqnidτ

n )

else ⊥

Adrien Koutsos 5G-AKA Privacy January 18, 2019 41 / 43

Page 115: The 5G-AKA Authentication Protocol Privacykoutsos/slides/slides_aka.pdf · 2019-01-21 · The 5G-AKA Authentication Protocol Privacy ... ue

Conclusion

While 5g-aka prevents the imsi-catcher attack, all others knownunlinkability attacks still applies.

We gave a new unlinkability attack against priv-aka.We proposed the aka+ protocol, which satisfies the designconstraints of 5g-aka.We defined the notion of σ-unlinkability.We proved in the BC logic that aka+ is σ-unlinkability.We also proved that aka+ provides mutual authentication.

Adrien Koutsos 5G-AKA Privacy January 18, 2019 42 / 43

Page 116: The 5G-AKA Authentication Protocol Privacykoutsos/slides/slides_aka.pdf · 2019-01-21 · The 5G-AKA Authentication Protocol Privacy ... ue

Conclusion

While 5g-aka prevents the imsi-catcher attack, all others knownunlinkability attacks still applies.We gave a new unlinkability attack against priv-aka.

We proposed the aka+ protocol, which satisfies the designconstraints of 5g-aka.We defined the notion of σ-unlinkability.We proved in the BC logic that aka+ is σ-unlinkability.We also proved that aka+ provides mutual authentication.

Adrien Koutsos 5G-AKA Privacy January 18, 2019 42 / 43

Page 117: The 5G-AKA Authentication Protocol Privacykoutsos/slides/slides_aka.pdf · 2019-01-21 · The 5G-AKA Authentication Protocol Privacy ... ue

Conclusion

While 5g-aka prevents the imsi-catcher attack, all others knownunlinkability attacks still applies.We gave a new unlinkability attack against priv-aka.We proposed the aka+ protocol, which satisfies the designconstraints of 5g-aka.

We defined the notion of σ-unlinkability.We proved in the BC logic that aka+ is σ-unlinkability.We also proved that aka+ provides mutual authentication.

Adrien Koutsos 5G-AKA Privacy January 18, 2019 42 / 43

Page 118: The 5G-AKA Authentication Protocol Privacykoutsos/slides/slides_aka.pdf · 2019-01-21 · The 5G-AKA Authentication Protocol Privacy ... ue

Conclusion

While 5g-aka prevents the imsi-catcher attack, all others knownunlinkability attacks still applies.We gave a new unlinkability attack against priv-aka.We proposed the aka+ protocol, which satisfies the designconstraints of 5g-aka.We defined the notion of σ-unlinkability.

We proved in the BC logic that aka+ is σ-unlinkability.We also proved that aka+ provides mutual authentication.

Adrien Koutsos 5G-AKA Privacy January 18, 2019 42 / 43

Page 119: The 5G-AKA Authentication Protocol Privacykoutsos/slides/slides_aka.pdf · 2019-01-21 · The 5G-AKA Authentication Protocol Privacy ... ue

Conclusion

While 5g-aka prevents the imsi-catcher attack, all others knownunlinkability attacks still applies.We gave a new unlinkability attack against priv-aka.We proposed the aka+ protocol, which satisfies the designconstraints of 5g-aka.We defined the notion of σ-unlinkability.We proved in the BC logic that aka+ is σ-unlinkability.We also proved that aka+ provides mutual authentication.

Adrien Koutsos 5G-AKA Privacy January 18, 2019 42 / 43

Page 120: The 5G-AKA Authentication Protocol Privacykoutsos/slides/slides_aka.pdf · 2019-01-21 · The 5G-AKA Authentication Protocol Privacy ... ue

Thanks for your attention

Adrien Koutsos 5G-AKA Privacy January 18, 2019 43 / 43

Page 121: The 5G-AKA Authentication Protocol Privacykoutsos/slides/slides_aka.pdf · 2019-01-21 · The 5G-AKA Authentication Protocol Privacy ... ue

References I

[3GPP, 2018] 3GPP (2018).Ts 33.501: Security architecture and procedures for 5g system.

[Arapinis et al., 2012] Arapinis, M., Mancini, L. I., Ritter, E., Ryan, M.,Golde, N., Redon, K., and Borgaonkar, R. (2012).New privacy issues in mobile telephony: fix and verification.In the ACM Conference on Computer and Communications Security,CCS’12, pages 205–216. ACM.

[Bana and Comon-Lundh, 2014] Bana, G. and Comon-Lundh, H. (2014).A computationally complete symbolic attacker for equivalence properties.

In 2014 ACM Conference on Computer and Communications Security,CCS ’14, pages 609–620. ACM.

Adrien Koutsos 5G-AKA Privacy January 18, 2019 1 / 11

Page 122: The 5G-AKA Authentication Protocol Privacykoutsos/slides/slides_aka.pdf · 2019-01-21 · The 5G-AKA Authentication Protocol Privacy ... ue

References II

[Fouque et al., 2016] Fouque, P., Onete, C., and Richard, B. (2016).Achieving better privacy for the 3gpp AKA protocol.PoPETs, 2016(4):255–275.

[Strobel, 2007] Strobel, D. (2007).Imsi catcher.Ruhr-Universität Bochum, Seminar Work.

Adrien Koutsos 5G-AKA Privacy January 18, 2019 2 / 11

Page 123: The 5G-AKA Authentication Protocol Privacykoutsos/slides/slides_aka.pdf · 2019-01-21 · The 5G-AKA Authentication Protocol Privacy ... ue

No Pre-Fetching of Authentication Vectors

From the 3gpp specification for 5g-aka ([3GPP, 2018], p. 37)5G AKA does not support requesting multiple 5G AVs, neither theSEAF pre-fetching 5G AVs from the home network for future use.

Adrien Koutsos 5G-AKA Privacy January 18, 2019 3 / 11

Page 124: The 5G-AKA Authentication Protocol Privacykoutsos/slides/slides_aka.pdf · 2019-01-21 · The 5G-AKA Authentication Protocol Privacy ... ue

UE

id,tmp-id, k, sqnu

HN

id,tmp-id, k, sqnn

tmp-id or id

if tmp-id was used: tmp-id← UnSet⟨n , sqnn ⊕ H5

k(n) , H1k(〈sqnn , n〉)

⟩Input x:nR, sqnR ← π1(x), π2(x)⊕ H5

k(nR)bmac ← H1

k(〈sqnR , nR〉) = π3(x)bsqn ← range(sqnu, sqnR)

sqnn ← sqnn + 1

sqnu ← sqnRH2

k(nR)

bmac ∧ bsqn

“Auth-Failure”¬bmac

⟨sqnu ⊕ H5,∗

k (nR) , H1,∗k (〈sqnu , nR〉)

⟩Input y:sqn∗R ← π1(y)⊕ H5,∗

k (n)if H1,∗

k (〈sqn∗R , n〉) = π2(y) then sqnn ← sqn∗R + 1

bmac ∧ ¬bsqn

4g-aka

Adrien Koutsos 5G-AKA Privacy January 18, 2019 4 / 11

Page 125: The 5G-AKA Authentication Protocol Privacykoutsos/slides/slides_aka.pdf · 2019-01-21 · The 5G-AKA Authentication Protocol Privacy ... ue

UE

id,tmp-id, k, pkn, sqnu

HN

id,tmp-id, k, skn, sqnn

tmp-id or {id}nepkn

if tmp-id was used: tmp-id← UnSet⟨n , sqnn ⊕ H5

k(n) , H1k(〈sqnn , n〉)

⟩Input x:nR, sqnR ← π1(x), π2(x)⊕ H5

k(nR)bmac ← H1

k(〈sqnR , nR〉) = π3(x)bsqn ← range(sqnu, sqnR)

sqnn ← sqnn + 1

sqnu ← sqnRH2

k(nR)

bmac ∧ bsqn

“Auth-Failure”¬bmac

⟨sqnu ⊕ H5,∗

k (nR) , H1,∗k (〈sqnu , nR〉)

⟩Input y:sqn∗R ← π1(y)⊕ H5,∗

k (n)if H1,∗

k (〈sqn∗R , n〉) = π2(y) then sqnn ← sqn∗R + 1

bmac ∧ ¬bsqn

5g-aka

Adrien Koutsos 5G-AKA Privacy January 18, 2019 5 / 11

Page 126: The 5G-AKA Authentication Protocol Privacykoutsos/slides/slides_aka.pdf · 2019-01-21 · The 5G-AKA Authentication Protocol Privacy ... ue

UE

stateidu

HN(j)

statennj

Input nR: b-authu ← nR⟨{〈id , sqnu〉}ne

pkn, Mac1

kidm(〈{〈id , sqnu〉}ne

pkn, nR〉)

⟩sqnu ← sqnu + 1 Input y:

〈idR , sqnR〉 ← dec(π1(y), skn)bid

Mac ← π2(y) = Mac1kidm(〈π1(y) , nj〉)

∧ idR = id

bidInc ← bid

Mac ∧ sqnR ≥ sqnidn

if bidMac then b-authjn, e-auth

jn ← id

if bidInc then sqnid

n ← sqnR + 1sessionid

n ← nj

tmp-ididn ← tmp-idj

Mac2kidm

(〈nj , sqnR + 1〉)bMac

Input z:

bok ← z = Mac2kidm

(〈b-authu , sqnu〉)e-authu ← if bok then b-authu else fail

idSub-Protocol

Adrien Koutsos 5G-AKA Privacy January 18, 2019 6 / 11

Page 127: The 5G-AKA Authentication Protocol Privacykoutsos/slides/slides_aka.pdf · 2019-01-21 · The 5G-AKA Authentication Protocol Privacy ... ue

UE(id)

stateidu

HN(j)

staten

tmp-iduvalid-tmpu

valid-tmpu ← false Input x:bid ← tmp-idid

n = x ∧ tmp-ididn 6= UnSet

if bid then tmp-ididn ← UnSet

b-authjn ← idsessionid

n ← nj

⟨nj , sqnid

n ⊕ Hkid(nj) , Mac3kidm

(〈nj , sqnidn , tmp-idid

n 〉)⟩ bid

Input y:nR, sqnR ← π1(y), π2(y)⊕ Hkid(nR)

bacc ← π3(y) = Mac3kidm(〈nR , sqnR , tmp-idu〉))

∧ range(sqnu, sqnR)

if bacc then b-authu, e-authu ← nR

sqnu ← sqnu + 1

if ¬bacc then b-authu, e-authu ← fail

Mac4kidm

(nR)bacc

Input z:

bidMac ← (b-authjn = id) ∧ (z = Mac4

kidm(nj))

bidInc ← bid

Mac ∧ sessionidn = nj

if bidMac then e-authjn ← id

if bidInc then sqnid

n ← sqnidn + 1

tmp-ididn ← tmp-idj

tmp-idSub-Protocol

Adrien Koutsos 5G-AKA Privacy January 18, 2019 7 / 11

Page 128: The 5G-AKA Authentication Protocol Privacykoutsos/slides/slides_aka.pdf · 2019-01-21 · The 5G-AKA Authentication Protocol Privacy ... ue

The assign-tmp-id Sub-Protocol

UE

stateidu

HN(j)

staten

〈tmp-idj ⊕ Hrkid(n

j) , Mac5kidm

(⟨tmp-idj , nj

⟩)〉

e-authidn = id

Input x:tmp-idR ← π1(x)⊕ Hr

kidm(e-authu)

bacc ←(π2(x) = Mac5

kidm(〈tmp-idR , e-authu〉))

∧ (e-authu 6= fail)tmp-idu ← if bacc then tmp-idR else UnSetvalid-tmpu ← bacc

Adrien Koutsos 5G-AKA Privacy January 18, 2019 8 / 11

Page 129: The 5G-AKA Authentication Protocol Privacykoutsos/slides/slides_aka.pdf · 2019-01-21 · The 5G-AKA Authentication Protocol Privacy ... ue

priv-aka [Fouque et al., 2016]

Adrien Koutsos 5G-AKA Privacy January 18, 2019 9 / 11

Page 130: The 5G-AKA Authentication Protocol Privacykoutsos/slides/slides_aka.pdf · 2019-01-21 · The 5G-AKA Authentication Protocol Privacy ... ue

priv-aka [Fouque et al., 2016]

Adrien Koutsos 5G-AKA Privacy January 18, 2019 10 / 11

Page 131: The 5G-AKA Authentication Protocol Privacykoutsos/slides/slides_aka.pdf · 2019-01-21 · The 5G-AKA Authentication Protocol Privacy ... ue

Licenses

Smart-phone icon: Gregor Hagedorn, CC-BY-SA-3.0Database icon: Font Awesome, CC-BY-4.0

Adrien Koutsos 5G-AKA Privacy January 18, 2019 11 / 11