The 5G-AKA Authentication Protocol Privacy Adrien Koutsos LVS, ENS - - PowerPoint PPT Presentation

the 5g aka authentication protocol privacy
SMART_READER_LITE
LIVE PREVIEW

The 5G-AKA Authentication Protocol Privacy Adrien Koutsos LVS, ENS - - PowerPoint PPT Presentation

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 1 The 4g - aka and 5g - aka Protocols The 4g - aka Protocol The imsi Catcher Attack The 5g


slide-1
SLIDE 1

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

slide-2
SLIDE 2

1 The 4g-aka and 5g-aka Protocols

The 4g-aka Protocol The imsi Catcher Attack The 5g-aka Protocol Unlinkability Attacks Against 5g-aka

2 The aka+ Protocol

Design Constraints Key Ideas The aka+ Protocol

3 Security Proofs

σ-Unlinkability Modeling in the Bana-Comon Model Theorem

4 Conclusion

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

slide-3
SLIDE 3

1 The 4g-aka and 5g-aka Protocols

The 4g-aka Protocol The imsi Catcher Attack The 5g-aka Protocol Unlinkability Attacks Against 5g-aka

2 The aka+ Protocol

Design Constraints Key Ideas The aka+ Protocol

3 Security Proofs

σ-Unlinkability Modeling in the Bana-Comon Model Theorem

4 Conclusion

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

slide-4
SLIDE 4

The Authentication and Key Agreement Protocol

The Protocol

aka 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

slide-5
SLIDE 5

The Authentication and Key Agreement Protocol

The Protocol

aka 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

slide-6
SLIDE 6

Security Goals

Some security goal of aka

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

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

slide-7
SLIDE 7

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.

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

slide-8
SLIDE 8

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

slide-9
SLIDE 9

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

slide-10
SLIDE 10

Protocol Modeling

UE SN HN

Wireless channel Secure channel (TLS)

  • Eavesdrop
  • Forge messages

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

slide-11
SLIDE 11

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.

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

slide-12
SLIDE 12

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

slide-13
SLIDE 13

Sequence Numbers

Pseudo Random Number Generation

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

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

slide-14
SLIDE 14

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.

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

slide-15
SLIDE 15

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

slide-16
SLIDE 16

Sequence Numbers

Authentication

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

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

slide-17
SLIDE 17

Sequence Numbers

Authentication

Authentication protocols need to prevent message replays. In 4g-aka: The antenna uses a random challenge. The mobile phone uses a sequence number sqn:

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

slide-18
SLIDE 18

Sequence Numbers

Authentication

Authentication 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

slide-19
SLIDE 19

UE id, k, sqnu HN id, k, sqnn id

  • n , sqnn ⊕ H5

k(n) , H1 k(sqnn , n)

  • bmac ← check-mac

bsqn ← check-range(sqnu, sqnn) sqnn ← sqnn + 1 sqnu ← sqnn H2

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 ← H1

k(sqnR , nR) = π3(x)

bsqn ← range(sqnu, sqnR)

4g-aka

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

slide-20
SLIDE 20

UE id, k, sqnu HN id, k, sqnn id

  • n , sqnn ⊕ H5

k(n) , H1 k(sqnn , n)

  • bmac ← check-mac

bsqn ← check-range(sqnu, sqnn) sqnn ← sqnn + 1 sqnu ← sqnn H2

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 ← H1

k(sqnR , nR) = π3(x)

bsqn ← range(sqnu, sqnR)

4g-aka

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

slide-21
SLIDE 21

UE id, k, sqnu HN id, k, sqnn id

  • n , sqnn ⊕ H5

k(n) , H1 k(sqnn , n)

  • bmac ← check-mac

bsqn ← check-range(sqnu, sqnn) sqnn ← sqnn + 1 sqnu ← sqnn H2

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 ← H1

k(sqnR , nR) = π3(x)

bsqn ← range(sqnu, sqnR)

4g-aka

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

slide-22
SLIDE 22

UE id, k, sqnu HN id, k, sqnn id

  • n , sqnn ⊕ H5

k(n) , H1 k(sqnn , n)

  • bmac ← check-mac

bsqn ← check-range(sqnu, sqnn) sqnn ← sqnn + 1 sqnu ← sqnn H2

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 ← H1

k(sqnR , nR) = π3(x)

bsqn ← range(sqnu, sqnR)

4g-aka

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

slide-23
SLIDE 23

UE id, k, sqnu HN id, k, sqnn id

  • n , sqnn ⊕ H5

k(n) , H1 k(sqnn , n)

  • bmac ← check-mac

bsqn ← check-range(sqnu, sqnn) sqnn ← sqnn + 1 sqnu ← sqnn H2

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 ← H1

k(sqnR , nR) = π3(x)

bsqn ← range(sqnu, sqnR)

4g-aka

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

slide-24
SLIDE 24

Privacy in 4g-aka

Not confidentiality of the user identity

The id is sent in plain text!

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

slide-25
SLIDE 25

Privacy in 4g-aka

Not confidentiality of the user identity

The id is sent in plain text!

4g-aka solution

Use 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

slide-26
SLIDE 26

UE id, tmp-id, k, sqnu HN id, tmp-id, k, sqnn tmp-id or id

  • n , sqnn ⊕ H5

k(n) , H1 k(sqnn , n)

  • bmac ← check mac

bsqn ← check range(sqnu, sqnn) sqnn ← sqnn + 1 sqnu ← sqnn H2

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

slide-27
SLIDE 27

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.

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

slide-28
SLIDE 28

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

slide-29
SLIDE 29

The imsi Catcher Attack [Strobel, 2007]

UE Attacker tmp-id or id “Permanent-ID-Request” If tmp-id received id

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

slide-30
SLIDE 30

The imsi Catcher Attack [Strobel, 2007]

UE Attacker tmp-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

slide-31
SLIDE 31

Privacy in 5g-aka

The 5g-aka protocol

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

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

slide-32
SLIDE 32

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-AKA

Simply encrypt the permanent identity by sending {id}pkn

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

slide-33
SLIDE 33

UE id, tmp-id, k, pkn, sqnu HN id, tmp-id, k, skn, sqnn tmp-id or {id}pkn

  • n , sqnn ⊕ H5

k(n) , H1 k(sqnn , n)

  • bmac ← check mac

bsqn ← check range(sqnu, sqnn) sqnn ← sqnn + 1 sqnu ← sqnn H2

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

slide-34
SLIDE 34

Privacy in 5g-aka Is it enough?

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

slide-35
SLIDE 35

Privacy in 5g-aka Is it enough?

For confidentiality of the id, yes.

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

slide-36
SLIDE 36

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

slide-37
SLIDE 37

Unlinkability

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

slide-38
SLIDE 38

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

slide-39
SLIDE 39

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

slide-40
SLIDE 40

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

slide-41
SLIDE 41

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

slide-42
SLIDE 42

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

UE(idt) HN tauth ≡

  • n , sqnn ⊕ H5

k(n) , H1 k(sqnn , n)

  • H2

k(n)

UE(id′) Attacker tauth “Auth-Failure” If id′ = idt

  • sqnu ⊕ H5,∗

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

  • If id′ = idt

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

slide-43
SLIDE 43

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

UE(idt) HN tauth ≡

  • n , sqnn ⊕ H5

k(n) , H1 k(sqnn , n)

  • H2

k(n)

UE(id′) Attacker tauth “Auth-Failure” If id′ = idt

  • sqnu ⊕ H5,∗

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

  • If id′ = idt

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

slide-44
SLIDE 44

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

UE(idt) HN tauth ≡

  • n , sqnn ⊕ H5

k(n) , H1 k(sqnn , n)

  • H2

k(n)

UE(id′) Attacker tauth “Auth-Failure” If id′ = idt

  • sqnu ⊕ H5,∗

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

  • If id′ = idt

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

slide-45
SLIDE 45

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

UE(idt) HN tauth ≡

  • n , sqnn ⊕ H5

k(n) , H1 k(sqnn , n)

  • H2

k(n)

UE(id′) Attacker tauth “Auth-Failure” If id′ = 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

slide-46
SLIDE 46

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) , H1 k(sqnn , n)

  • Failure Message

If id′ = idt H2

k(n)

If id′ = idt

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

slide-47
SLIDE 47

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) , H1 k(sqnn , n)

  • Failure Message

If id′ = idt H2

k(n)

If id′ = idt

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

slide-48
SLIDE 48

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) , H1 k(sqnn , n)

  • Failure Message

If id′ = idt H2

k(n)

If id′ = idt

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

slide-49
SLIDE 49

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) , H1 k(sqnn , n)

  • Failure Message

If id′ = idt H2

k(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

slide-50
SLIDE 50

New Attack on the priv-aka Protocol

The priv-aka Protocol

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

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

slide-51
SLIDE 51

New Attack on the priv-aka Protocol

The priv-aka Protocol

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

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

slide-52
SLIDE 52

New Attack on the priv-aka Protocol

The priv-aka Protocol

The 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.

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

slide-53
SLIDE 53

New Attack on the priv-aka Protocol

The priv-aka Protocol

The 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.

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

slide-54
SLIDE 54

New Attack on the priv-aka Protocol

The priv-aka Protocol

The 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.

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

slide-55
SLIDE 55

New Attack on the priv-aka Protocol

The priv-aka Protocol

The 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

slide-56
SLIDE 56

Objective

Objective

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

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

slide-57
SLIDE 57

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.

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

slide-58
SLIDE 58

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

slide-59
SLIDE 59

1 The 4g-aka and 5g-aka Protocols

The 4g-aka Protocol The imsi Catcher Attack The 5g-aka Protocol Unlinkability Attacks Against 5g-aka

2 The aka+ Protocol

Design Constraints Key Ideas The aka+ Protocol

3 Security Proofs

σ-Unlinkability Modeling in the Bana-Comon Model Theorem

4 Conclusion

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

slide-60
SLIDE 60

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

slide-61
SLIDE 61

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.

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

slide-62
SLIDE 62

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.

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

slide-63
SLIDE 63

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

slide-64
SLIDE 64

Key Ideas

Key Ideas Behind aka+

UE(idt) HN tauth ≡

  • n , sqnn ⊕ H5

k(n) , H1 k(sqnn , n)

  • H2

k(n)

UE(id′) Attacker tauth “Auth-Failure” If id′ = 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) , H1 k(sqnn , n)

  • Failure Message

If id′ = idt H2

k(n)

If id′ = idt The Encrypted id Replay Attack

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

slide-65
SLIDE 65

Key Ideas

Key Ideas Behind aka+

UE(idt) HN tauth ≡

  • n , sqnn ⊕ H5

k(n) , H1 k(sqnn , n)

  • H2

k(n)

UE(id′) Attacker tauth “Auth-Failure” If id′ = 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) , H1 k(sqnn , n)

  • Failure Message

If id′ = idt H2

k(n)

If id′ = idt The Encrypted id Replay Attack

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

slide-66
SLIDE 66

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.

UE(idt) HN tauth ≡

  • n , sqnn ⊕ H5

k(n) , H1 k(sqnn , n)

  • H2

k(n)

UE(id′) Attacker tauth “Auth-Failure” If id′ = 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) , H1 k(sqnn , n)

  • Failure Message

If id′ = idt H2

k(n)

If id′ = idt The Encrypted id Replay Attack

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

slide-67
SLIDE 67

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.

UE(idt) HN tauth ≡

  • n , sqnn ⊕ H5

k(n) , H1 k(sqnn , n)

  • H2

k(n)

UE(id′) Attacker tauth “Auth-Failure” If id′ = 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) , H1 k(sqnn , n)

  • Failure Message

If id′ = idt H2

k(n)

If id′ = idt The Encrypted id Replay Attack

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

slide-68
SLIDE 68

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 , Mac1

km({id , sqnu}pkn , n)

  • UE(idt)

HN tauth ≡

  • n , sqnn ⊕ H5

k(n) , H1 k(sqnn , n)

  • H2

k(n)

UE(id′) Attacker tauth “Auth-Failure” If id′ = 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) , H1 k(sqnn , n)

  • Failure Message

If id′ = idt H2

k(n)

If id′ = idt The Encrypted id Replay Attack

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

slide-69
SLIDE 69

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.

id Sub-Protocol tmp-id Sub-Protocol assign-tmp-id Sub-Protocol

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

slide-70
SLIDE 70

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.

id Sub-Protocol tmp-id Sub-Protocol assign-tmp-id Sub-Protocol

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

slide-71
SLIDE 71

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

slide-72
SLIDE 72

UEid stateid

u

HN staten n

  • {id , sqnu}ne

pkn , Mac1 kid

m({id , sqnu}ne

pkn , n)

  • sqnu ← sqnu + 1

bMac ← check-mac if bMac then authenticated id bInc ← bMac ∧ sqnu ≥ sqnid

n

if bInc then sqnid

n

← sqnu + 1 sessionid

n

← n tmp-idid

n ← tmp-id

Mac2

kid

m(n , sqnu + 1)

bMac if check-mac then authenticated HN

id Sub-Protocol

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

slide-73
SLIDE 73

UEid stateid

u

HN staten n

  • {id , sqnu}ne

pkn , Mac1 kid

m({id , sqnu}ne

pkn , n)

  • sqnu ← sqnu + 1

bMac ← check-mac if bMac then authenticated id bInc ← bMac ∧ sqnu ≥ sqnid

n

if bInc then sqnid

n

← sqnu + 1 sessionid

n

← n tmp-idid

n ← tmp-id

Mac2

kid

m(n , sqnu + 1)

bMac if check-mac then authenticated HN

id Sub-Protocol

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

slide-74
SLIDE 74

UEid stateid

u

HN staten n

  • {id , sqnu}ne

pkn , Mac1 kid

m({id , sqnu}ne

pkn , n)

  • sqnu ← sqnu + 1

bMac ← check-mac if bMac then authenticated id bInc ← bMac ∧ sqnu ≥ sqnid

n

if bInc then sqnid

n

← sqnu + 1 sessionid

n

← n tmp-idid

n ← tmp-id

Mac2

kid

m(n , sqnu + 1)

bMac if check-mac then authenticated HN

id Sub-Protocol

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

slide-75
SLIDE 75

UEid stateid

u

HN staten tmp-idu valid-tmpu valid-tmpu ← false bid ← tmp-idid

n = tmp-idu = UnSet

if bid then tmp-idid

n ← UnSet

sessionid

n

← n

  • n , sqnid

n ⊕ Hkid(n) , Mac3 kid

m(n , sqnid

n , tmp-idu)

  • bid

bacc ← check-mac ∧ range(sqnu, sqnid

n )

if bacc then sqnu ← sqnu + 1 Mac4

kid

m(n)

bacc bMac ← check-mac if bMac then authenticated id bInc ← bMac ∧ sessionid

n = n

if bInc then sqnid

n

← sqnid

n + 1

tmp-idid

n ← tmp-id

tmp-id Sub-Protocol

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

slide-76
SLIDE 76

UEid stateid

u

HN staten tmp-idu valid-tmpu valid-tmpu ← false bid ← tmp-idid

n = tmp-idu = UnSet

if bid then tmp-idid

n ← UnSet

sessionid

n

← n

  • n , sqnid

n ⊕ Hkid(n) , Mac3 kid

m(n , sqnid

n , tmp-idu)

  • bid

bacc ← check-mac ∧ range(sqnu, sqnid

n )

if bacc then sqnu ← sqnu + 1 Mac4

kid

m(n)

bacc bMac ← check-mac if bMac then authenticated id bInc ← bMac ∧ sessionid

n = n

if bInc then sqnid

n

← sqnid

n + 1

tmp-idid

n ← tmp-id

tmp-id Sub-Protocol

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

slide-77
SLIDE 77

UEid stateid

u

HN staten tmp-idu valid-tmpu valid-tmpu ← false bid ← tmp-idid

n = tmp-idu = UnSet

if bid then tmp-idid

n ← UnSet

sessionid

n

← n

  • n , sqnid

n ⊕ Hkid(n) , Mac3 kid

m(n , sqnid

n , tmp-idu)

  • bid

bacc ← check-mac ∧ range(sqnu, sqnid

n )

if bacc then sqnu ← sqnu + 1 Mac4

kid

m(n)

bacc bMac ← check-mac if bMac then authenticated id bInc ← bMac ∧ sessionid

n = n

if bInc then sqnid

n

← sqnid

n + 1

tmp-idid

n ← tmp-id

tmp-id Sub-Protocol

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

slide-78
SLIDE 78

UEid stateid

u

HN staten tmp-idu valid-tmpu valid-tmpu ← false bid ← tmp-idid

n = tmp-idu = UnSet

if bid then tmp-idid

n ← UnSet

sessionid

n

← n

  • n , sqnid

n ⊕ Hkid(n) , Mac3 kid

m(n , sqnid

n , tmp-idu)

  • bid

bacc ← check-mac ∧ range(sqnu, sqnid

n )

if bacc then sqnu ← sqnu + 1 Mac4

kid

m(n)

bacc bMac ← check-mac if bMac then authenticated id bInc ← bMac ∧ sessionid

n = n

if bInc then sqnid

n

← sqnid

n + 1

tmp-idid

n ← tmp-id

tmp-id Sub-Protocol

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

slide-79
SLIDE 79

The assign-tmp-id Sub-Protocol

UEid stateid

u

HN staten tmp-id ⊕ Hr

kid(n) , Mac5 kid

m(tmp-id , n)

bacc ← check-mac tmp-idu ← if bacc then tmp-id else UnSet valid-tmpu ← bacc

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

slide-80
SLIDE 80

1 The 4g-aka and 5g-aka Protocols

The 4g-aka Protocol The imsi Catcher Attack The 5g-aka Protocol Unlinkability Attacks Against 5g-aka

2 The aka+ Protocol

Design Constraints Key Ideas The aka+ Protocol

3 Security Proofs

σ-Unlinkability Modeling in the Bana-Comon Model Theorem

4 Conclusion

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

slide-81
SLIDE 81

Security Proofs

Objective

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

A A B B A A A B

id sub-protocol tmp-id sub-protocol

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

slide-82
SLIDE 82

Security Proofs

Objective

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

A A B B A A A B

id sub-protocol tmp-id sub-protocol

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

slide-83
SLIDE 83

Security Proofs

Objective

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

A A B B A A A B

id sub-protocol tmp-id sub-protocol

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

slide-84
SLIDE 84

The σ-Unlinkability Property

σ-Unlinkability

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

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

slide-85
SLIDE 85

The σ-Unlinkability Property

σ-Unlinkability

High level idea: show privacy only for a subset of the standard unlinkability game 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

slide-86
SLIDE 86

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

slide-87
SLIDE 87

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

slide-88
SLIDE 88

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

slide-89
SLIDE 89

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

slide-90
SLIDE 90

σ-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.

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

slide-91
SLIDE 91

σ-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

slide-92
SLIDE 92

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.

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

slide-93
SLIDE 93

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.

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

slide-94
SLIDE 94

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 are modeled by axioms Ax.

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

slide-95
SLIDE 95

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 are modeled by axioms Ax. We have to show that Ax | = uP ∼ uQ.

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

slide-96
SLIDE 96

Modeling: the Protocol

Messages and State

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

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

slide-97
SLIDE 97

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

slide-98
SLIDE 98

Modeling: the Protocol

UE n Input n: b-authu ← n

  • {id , sqnu}pkn , Mac1

km( {id , sqnu}pkn , n)

  • sqnu ← sqnu + 1

Adversary knowledge: φin

τ

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

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

slide-99
SLIDE 99

Modeling: the Protocol

UE n Input n: b-authu ← n

  • {id , sqnu}pkn , Mac1

km( {id , sqnu}pkn , n)

  • sqnu ← sqnu + 1

Adversary knowledge: φin

τ

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

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

slide-100
SLIDE 100

Modeling: the Protocol

UE n Input n: b-authu ← n

  • {id , sqnu}pkn , Mac1

km( {id , sqnu}pkn , n)

  • sqnu ← sqnu + 1

σup

τ

  • b-authu → g(φin

τ )

Adversary knowledge: φin

τ

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

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

slide-101
SLIDE 101

Modeling: the Protocol

UE n Input n: b-authu ← n

  • {id , sqnu}pkn , Mac1

km( {id , sqnu}pkn , n)

  • sqnu ← sqnu + 1

tenc

τ

≡ {id , σin

τ (sqnu)}ne pkn

σup

τ

  • b-authu → g(φin

τ )

Adversary knowledge: φin

τ

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

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

slide-102
SLIDE 102

Modeling: the Protocol

UE n Input n: b-authu ← n

  • {id , sqnu}pkn , Mac1

km( {id , sqnu}pkn , n)

  • sqnu ← sqnu + 1

tenc

τ

≡ {id , σin

τ (sqnu)}ne pkn

φτ ≡ φin

τ ,

  • tenc

τ

, Mac1

kid

m(tenc

τ

, g(φin

τ ))

  • σup

τ

  • b-authu → g(φin

τ )

Adversary knowledge: φin

τ

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

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

slide-103
SLIDE 103

Modeling: the Protocol

UE n Input n: b-authu ← n

  • {id , sqnu}pkn , Mac1

km( {id , sqnu}pkn , n)

  • sqnu ← sqnu + 1

tenc

τ

≡ {id , σin

τ (sqnu)}ne pkn

φτ ≡ φin

τ ,

  • tenc

τ

, Mac1

kid

m(tenc

τ

, g(φin

τ ))

  • σup

τ

  • sqnu → suc(σin

τ (sqnid u ))

b-authu → g(φin

τ )

στ ≡ σin

τ · σup τ

Adversary knowledge: φin

τ

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

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

slide-104
SLIDE 104

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)

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

slide-105
SLIDE 105

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.

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

slide-106
SLIDE 106

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) →

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

slide-107
SLIDE 107

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

slide-108
SLIDE 108

Inference Rules

Function Application

If you cannot distinguish the arguments, you cannot distinguish the images. x1, . . . , xn ∼ y1, . . . , yn f (x1, . . . , xn) ∼ f (y1, . . . , yn) FA

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

slide-109
SLIDE 109

Theorem

Definition

For every τ, we let τ be τ where we use a fresh identity each time we run the id sub-protocol.

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

slide-110
SLIDE 110

Theorem

Definition

For every τ, we let τ be τ where we use a fresh identity each time we run the id sub-protocol.

Lemma

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

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

slide-111
SLIDE 111

Theorem

Definition

For every τ, we let τ be τ where we use a fresh identity each time we run the id sub-protocol.

Lemma

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

Theorem

The aka+ protocol is σ-unlinkable for an arbitrary number of agents and 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

slide-112
SLIDE 112

Remarks and Proof

Remarks

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

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

slide-113
SLIDE 113

Remarks and Proof

Remarks

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

Proof

The proof is by induction over the symbolic trace τ. Finding the invariant requires 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.

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

slide-114
SLIDE 114

Remarks and Proof

Remarks

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

Proof

The proof is by induction over the symbolic trace τ. Finding the invariant requires 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 στ(syncid

u )

then στ(sqnid

u ) − στ(sqnid n )

else ⊥ ∼ if στ(syncidτ

u )

then στ(sqnidτ

u ) − στ(sqnidτ n )

else ⊥

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

slide-115
SLIDE 115

Conclusion

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

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

slide-116
SLIDE 116

Conclusion

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

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

slide-117
SLIDE 117

Conclusion

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

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

slide-118
SLIDE 118

Conclusion

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

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

slide-119
SLIDE 119

Conclusion

While 5g-aka prevents the imsi-catcher attack, all others known unlinkability attacks still applies. We gave a new unlinkability attack against priv-aka. We proposed the aka+ protocol, which satisfies the design constraints 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

slide-120
SLIDE 120

Thanks for your attention

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

slide-121
SLIDE 121

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

slide-122
SLIDE 122

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

slide-123
SLIDE 123

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 the SEAF pre-fetching 5G AVs from the home network for future use.

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

slide-124
SLIDE 124

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) , H1 k(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 ← sqnR H2

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

slide-125
SLIDE 125

UE id, tmp-id, k, pkn, sqnu HN id, tmp-id, k, skn, sqnn tmp-id or {id}ne

pkn

if tmp-id was used: tmp-id ← UnSet

  • n , sqnn ⊕ H5

k(n) , H1 k(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 ← sqnR H2

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

slide-126
SLIDE 126

UE stateid

u

HN(j) staten nj Input nR: b-authu ← nR

  • {id , sqnu}ne

pkn , Mac1 kid

m({id , sqnu}ne

pkn , nR)

  • sqnu ← sqnu + 1

Input y: idR , sqnR ← dec(π1(y), skn) bid

Mac ← π2(y) = Mac1 kid

m(π1(y) , nj)

∧ idR = id bid

Inc ← bid Mac ∧ sqnR ≥ sqnid n

if bid

Mac then b-authj n, e-authj n ← id

if bid

Inc then sqnid n

← sqnR + 1 sessionid

n

← nj tmp-idid

n ← tmp-idj

Mac2

kid

m(nj , sqnR + 1)

bMac Input z: bok ← z = Mac2

kid

m(b-authu , sqnu)

e-authu ← if bok then b-authu else fail

id Sub-Protocol

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

slide-127
SLIDE 127

UE(id) stateid

u

HN(j) staten tmp-idu valid-tmpu valid-tmpu ← false Input x: bid ← tmp-idid

n = x ∧ tmp-idid n = UnSet

if bid then tmp-idid

n ← UnSet

b-authj

n

← id sessionid

n

← nj

  • nj , sqnid

n ⊕ Hkid(nj) , Mac3 kid

m(nj , sqnid

n , tmp-idid n )

  • bid

Input y: nR, sqnR ← π1(y), π2(y) ⊕ Hkid(nR) bacc ← π3(y) = Mac3

kid

m(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 Mac4

kid

m(nR)

bacc Input z: bid

Mac ← (b-authj n = id) ∧ (z = Mac4 kid

m(nj))

bid

Inc ← bid Mac ∧ sessionid n = nj

if bid

Mac then e-authj n

← id if bid

Inc

then sqnid

n

← sqnid

n + 1

tmp-idid

n ← tmp-idj

tmp-id Sub-Protocol

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

slide-128
SLIDE 128

The assign-tmp-id Sub-Protocol

UE stateid

u

HN(j) staten tmp-idj ⊕ Hr

kid(nj) , Mac5 kid

m(

  • tmp-idj , nj

) e-authid

n = id

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

kid

m(e-authu)

bacc ←

  • π2(x) = Mac5

kid

m(tmp-idR , e-authu)

  • ∧ (e-authu = fail)

tmp-idu ← if bacc then tmp-idR else UnSet valid-tmpu ← bacc

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

slide-129
SLIDE 129

priv-aka [Fouque et al., 2016]

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

slide-130
SLIDE 130

priv-aka [Fouque et al., 2016]

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

slide-131
SLIDE 131

Licenses

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

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