Security Notions for Bidirectional Channels Giorgia Azzurra Marson - - PowerPoint PPT Presentation

security notions for bidirectional channels
SMART_READER_LITE
LIVE PREVIEW

Security Notions for Bidirectional Channels Giorgia Azzurra Marson - - PowerPoint PPT Presentation

Security Notions for Bidirectional Channels Giorgia Azzurra Marson Bertram Poettering FSE 2017 Tokyo, Japan 1 / 11 Outline Secure channels and how they are modeled Security notions for bidirectional channels Analysis of bidirectional


slide-1
SLIDE 1

Security Notions for Bidirectional Channels

Giorgia Azzurra Marson Bertram Poettering FSE 2017 Tokyo, Japan

1 / 11

slide-2
SLIDE 2

Outline

Secure channels and how they are modeled Security notions for bidirectional channels Analysis of bidirectional channel design

2 / 11

slide-3
SLIDE 3

Communication channels

  • setting: two-party communication over the Internet
  • goal: deliver messages and preserve sending order
  • how to achieve this: TCP/IP

Good, if there are only Alice and Bob (idealized world) m1, m2, m3 m1, m2, m3

network

3 / 11

slide-4
SLIDE 4

Cryptographic channels (a.k.a. secure channels)

  • setting: two-party communication over the Internet
  • goal: protect communication from adversaries

m1, m2, m3 m1, m2, m3

network

4 / 11

slide-5
SLIDE 5

Cryptographic channels (a.k.a. secure channels)

  • setting: two-party communication over the Internet
  • goal: protect communication from adversaries
  • security (informally): prevent eavesdropping

I shall

  • wait. . .

m1, m2, m3 m1, m2, m3

network wait! · do not · buy now wait! · do not · buy now

4 / 11

slide-6
SLIDE 6

Cryptographic channels (a.k.a. secure channels)

  • setting: two-party communication over the Internet
  • goal: protect communication from adversaries
  • security (informally): prevent eavesdropping and manipulation

I shall

  • wait. . .

m1, m2, m3 m′

1, m2, m3

network wait! · do not · buy now sell! · do not · buy now

4 / 11

slide-7
SLIDE 7

Cryptographic channels (a.k.a. secure channels)

  • setting: two-party communication over the Internet
  • goal: protect communication from adversaries
  • security (informally): prevent eavesdropping and manipulation

I shall

  • wait. . .

m1, m2, m3 m2, m1, m3

network wait! · do not · buy now do not · wait! · buy now

4 / 11

slide-8
SLIDE 8

Cryptographic channels (a.k.a. secure channels)

  • setting: two-party communication over the Internet
  • goal: protect communication from adversaries
  • security (informally): prevent eavesdropping and manipulation

make real world close to idealized world

I shall

  • wait. . .

m1, m2, m3 m2, m1, m3

network wait! · do not · buy now do not · wait! · buy now

4 / 11

slide-9
SLIDE 9

Modeling channel security [BKN’02]

Confidentiality

  • intuitively: ciphertext hides plaintext
  • formally: IND-CPA (a.k.a. ‘passive’)

(m0, m1) mb c∗ b?

5 / 11

slide-10
SLIDE 10

Modeling channel security [BKN’02]

Confidentiality

  • intuitively: ciphertext hides plaintext
  • formally: IND-CPA (a.k.a. ‘passive’) and IND-CCA (a.k.a. ‘active’)

(m0, m1) mb c∗ c′

1, c′ 2, c′ 3

m′

1, m′ 2, m′ 3

b?

5 / 11

slide-11
SLIDE 11

Modeling channel security [BKN’02]

Confidentiality

  • intuitively: ciphertext hides plaintext
  • formally: IND-CPA (a.k.a. ‘passive’) and IND-CCA (a.k.a. ‘active’)

Integrity

  • intuitively: manipulations are detected
  • formally: INT-PTXT

m1, m2, m3 c1, c2, c3 c′

1, c′ 2, c′ 3

m′

1, m′ 2, m′ 3

5 / 11

slide-12
SLIDE 12

Modeling channel security [BKN’02]

Confidentiality

  • intuitively: ciphertext hides plaintext
  • formally: IND-CPA (a.k.a. ‘passive’) and IND-CCA (a.k.a. ‘active’)

Integrity

  • intuitively: manipulations are detected
  • formally: INT-PTXT and INT-CTXT

m1, m2, m3 c1, c2, c3 c′

1, c′ 2, c′ 3

m1, m2, m3

5 / 11

slide-13
SLIDE 13

Modeling channel security [BKN’02]

Confidentiality

  • intuitively: ciphertext hides plaintext
  • formally: IND-CPA (a.k.a. ‘passive’) and IND-CCA (a.k.a. ‘active’)

Integrity

  • intuitively: manipulations are detected
  • formally: INT-PTXT and INT-CTXT

both incorporate replay and reordering protection m1, m2, m3 c1, c2, c3 c1, c3, c2 m1, m3, m2

5 / 11

slide-14
SLIDE 14

Cryptographic channels in theory: state of the art

  • channel security: IND-CPA + INT-CTXT (=

⇒ IND-CCA)

  • also called ‘stateful authenticated encryption’ (stateful AE)
  • introduced to analyze (and prove) SSH channel security [BKN02]
  • reference model to analyse TLS [JKSS12,KPW13,. . . ]

6 / 11

slide-15
SLIDE 15

Cryptographic channels in theory: state of the art

  • channel security: IND-CPA + INT-CTXT (=

⇒ IND-CCA)

  • also called ‘stateful authenticated encryption’ (stateful AE)
  • introduced to analyze (and prove) SSH channel security [BKN02]
  • reference model to analyse TLS [JKSS12,KPW13,. . . ]

stateful AE considered good abstraction of a secure channel

stateful AE

6 / 11

slide-16
SLIDE 16

Channels are used for bidirectional communication

  • prior work: ‘Sender → Receiver’ communication
  • practice: channels protect bidirectional communication
  • standard approach employs two independent unidirectional channels

canonic composition of unidirectional channels

7 / 11

slide-17
SLIDE 17

Channels are used for bidirectional communication

  • prior work: ‘Sender → Receiver’ communication
  • practice: channels protect bidirectional communication
  • standard approach employs two independent unidirectional channels
  • does this yield a secure bidirectional channel?
  • folklore: unidirectional security =

⇒ bidirectional security canonic composition of unidirectional channels

7 / 11

slide-18
SLIDE 18

Channels are used for bidirectional communication

  • prior work: ‘Sender → Receiver’ communication
  • practice: channels protect bidirectional communication
  • standard approach employs two independent unidirectional channels
  • does this yield a secure bidirectional channel?
  • folklore: unidirectional security =

⇒ bidirectional security

what does it mean ‘bidirectional security’? what is reordering? what is an active attack?

7 / 11

slide-19
SLIDE 19

Our contribution in a nutshell

Defining bidirectional security

  • confidentiality: IND-2-CPA, IND-2-CCA
  • integrity: INT-2-PTXT, INT-2-CTXT
  • notions reflect that → and ← are not independent of each other

8 / 11

slide-20
SLIDE 20

Our contribution in a nutshell

Defining bidirectional security

  • confidentiality: IND-2-CPA, IND-2-CCA
  • integrity: INT-2-PTXT, INT-2-CTXT
  • notions reflect that → and ← are not independent of each other

Relations among notions

  • INT-2-CTXT =

⇒ INT-2-PTXT

  • IND-2-CCA =

⇒ IND-2-CPA

  • INT-2-CTXT + IND-2-CPA =

⇒ IND-2-CCA

8 / 11

slide-21
SLIDE 21

Our contribution in a nutshell

Defining bidirectional security

  • confidentiality: IND-2-CPA, IND-2-CCA
  • integrity: INT-2-PTXT, INT-2-CTXT
  • notions reflect that → and ← are not independent of each other

Relations among notions

  • INT-2-CTXT =

⇒ INT-2-PTXT

  • IND-2-CCA =

⇒ IND-2-CPA

  • INT-2-CTXT + IND-2-CPA =

⇒ IND-2-CCA Analysis of the canonic composition

  • question: can security be lifted from unidirectional components?
  • our results question common belief. . .

8 / 11

slide-22
SLIDE 22

Active attacks in a bidirectional setting

active ≈ deviation from honest behavior

manipulation of ciphertexts or of their order (akin to unidirectional setting)

9 / 11

slide-23
SLIDE 23

Active attacks in a bidirectional setting

active ≈ deviation from honest behavior

manipulation of ciphertexts or of their order (akin to unidirectional setting) s

1

c1

9 / 11

slide-24
SLIDE 24

Active attacks in a bidirectional setting

active ≈ deviation from honest behavior

manipulation of ciphertexts or of their order (akin to unidirectional setting) s

1

r

2

c1 c

9 / 11

slide-25
SLIDE 25

Active attacks in a bidirectional setting

active ≈ deviation from honest behavior

manipulation of ciphertexts or of their order (akin to unidirectional setting) Our model additionally allows to express that:

  • ‘passive’ query may chronologically follow ‘active’ query (concurrency)

s

1

r

2

r

3

c

c1

9 / 11

slide-26
SLIDE 26

Active attacks in a bidirectional setting

active ≈ deviation from honest behavior

manipulation of ciphertexts or of their order (akin to unidirectional setting) Our model additionally allows to express that:

  • ‘passive’ query may chronologically follow ‘active’ query (concurrency)

s

1

s

4

r

2

r

3

c

c1 c2

9 / 11

slide-27
SLIDE 27

Active attacks in a bidirectional setting

active ≈ deviation from honest behavior

manipulation of ciphertexts or of their order (akin to unidirectional setting) Our model additionally allows to express that:

  • ‘passive’ query may chronologically follow ‘active’ query (concurrency)
  • active attack on ← may influence security of →

s

1

s

4

r

2

r

3

r

5

c

c1 c2

9 / 11

slide-28
SLIDE 28

Bidirectional security of the canonic composition

Generic analysis: can security be lifted from unidirectional components?

  • INT-PTXT + INT-PTXT =

⇒ INT-2-PTXT

  • INT-CTXT + INT-CTXT =

⇒ INT-2-CTXT

  • IND-CPA + IND-CPA =

⇒ INT-2-CPA

10 / 11

slide-29
SLIDE 29

Bidirectional security of the canonic composition

Generic analysis: can security be lifted from unidirectional components?

  • INT-PTXT + INT-PTXT =

⇒ INT-2-PTXT

  • INT-CTXT + INT-CTXT =

⇒ INT-2-CTXT

  • IND-CPA + IND-CPA =

⇒ INT-2-CPA

  • IND-CCA + IND-CCA

= ⇒ INT-2-CCA

10 / 11

slide-30
SLIDE 30

Bidirectional security of the canonic composition

Generic analysis: can security be lifted from unidirectional components?

  • INT-PTXT + INT-PTXT =

⇒ INT-2-PTXT

  • INT-CTXT + INT-CTXT =

⇒ INT-2-CTXT

  • IND-CPA + IND-CPA =

⇒ INT-2-CPA

  • IND-CCA + IND-CCA

= ⇒ INT-2-CCA Bidirectional security of TLS and SSH (the good news)

  • TLS and SSH channel offer stateful AE security [K01,BKN02,PRS11]

Encode-then-E&M for SSH, CBC-based M-then-E for TLS

  • our result: they also offer IND-2-CCA and INT-2-CTXT security

}=

⇒ IND-2-CCA

10 / 11

slide-31
SLIDE 31

Summary

This work

  • formalize security notions for bidirectional channels
  • analyze ‘canonic composition’
  • confirm security of (crypto core of) TLS and SSH channels

11 / 11

slide-32
SLIDE 32

Summary

This work

  • formalize security notions for bidirectional channels
  • analyze ‘canonic composition’
  • confirm security of (crypto core of) TLS and SSH channels

Future work & open questions

  • channel security in a multi-party setting (work in progress)
  • bidirectional security of real TLS and SSH (beyond crypto core)

11 / 11

slide-33
SLIDE 33

Summary

This work

  • formalize security notions for bidirectional channels
  • analyze ‘canonic composition’
  • confirm security of (crypto core of) TLS and SSH channels

Future work & open questions

  • channel security in a multi-party setting (work in progress)
  • bidirectional security of real TLS and SSH (beyond crypto core)

Thank you!

11 / 11

slide-34
SLIDE 34

Defining bidirectional confidentiality (IND-2-CCA)

Send (u, m0, m1) c∗ ← Send(stu, mb) if hu = True Cu[su] ← c∗ su ← su + 1 Return c∗ Recv (u, c) m ← Recv(stu, c) if ru < sv and c = Cv[ru] ru ← ru + 1 else hu ← False Return hu? ⋄ :m

12 / 11

slide-35
SLIDE 35

Defining bidirectional confidentiality (IND-2-CCA)

Send (u, m0, m1) c∗ ← Send(stu, mb) if hu = True Cu[su] ← c∗ su ← su + 1 Return c∗ Recv (u, c) m ← Recv(stu, c) if ru < sv and c = Cv[ru] ru ← ru + 1 else hu ← False Return hu? ⋄ :m (A, m0, m1) mb c∗

12 / 11

slide-36
SLIDE 36

Defining bidirectional confidentiality (IND-2-CCA)

Send (u, m0, m1) c∗ ← Send(stu, mb) if hu = True Cu[su] ← c∗ su ← su + 1 Return c∗ Recv (u, c) m ← Recv(stu, c) if ru < sv and c = Cv[ru] ru ← ru + 1 else hu ← False Return hu? ⋄ :m (A, m0, m1) mb c∗ (B, c) m ⋄/m

12 / 11

slide-37
SLIDE 37

Defining bidirectional confidentiality (IND-2-CCA)

Send (u, m0, m1) c∗ ← Send(stu, mb) if hu = True Cu[su] ← c∗ su ← su + 1 Return c∗ Recv (u, c) m ← Recv(stu, c) if ru < sv and c = Cv[ru] ru ← ru + 1 else hu ← False Return hu? ⋄ :m (A, m0, m1) mb c∗ (B, c) m ⋄/m

12 / 11

slide-38
SLIDE 38

Defining bidirectional confidentiality (IND-2-CCA)

Send (u, m0, m1) c∗ ← Send(stu, mb) if hu = True Cu[su] ← c∗ su ← su + 1 Return c∗ Recv (u, c) m ← Recv(stu, c) if ru < sv and c = Cv[ru] ru ← ru + 1 else hu ← False Return hu? ⋄ :m (A, m0, m1) mb c∗ (B, c) m ⋄/m

12 / 11

slide-39
SLIDE 39

Defining bidirectional confidentiality (IND-2-CCA)

Send (u, m0, m1) c∗ ← Send(stu, mb) if hu = True Cu[su] ← c∗ su ← su + 1 Return c∗ Recv (u, c) m ← Recv(stu, c) if ru < sv and c = Cv[ru] ru ← ru + 1 else hu ← False Return hu? ⋄ :m (A, m0, m1) mb c∗ (B, c) m ⋄/m

12 / 11