Bloom Filter Encryption and Applications to Efficient Forward-Secret - - PowerPoint PPT Presentation

bloom filter encryption and applications to efficient
SMART_READER_LITE
LIVE PREVIEW

Bloom Filter Encryption and Applications to Efficient Forward-Secret - - PowerPoint PPT Presentation

Bloom Filter Encryption and Applications to Efficient Forward-Secret 0-RTT Key Exchange David Derler , Tibor Jager , Daniel Slamanig , Christoph Striecks May 3, 2018E urocrypt 2018, Tel Aviv, Israel Key Establishment


slide-1
SLIDE 1

  • §

Bloom Filter Encryption and Applications to Efficient Forward-Secret 0-RTT Key Exchange

David Derler‡, Tibor Jager, Daniel Slamanig§, Christoph Striecks§ May 3, 2018—Eurocrypt 2018, Tel Aviv, Israel

slide-2
SLIDE 2

Key Establishment with TLS

Client Server

ClientHello, ClientKeyShare ServerHello, ServerKeyShare Cert, Signature, Finished Finished Payload SYN SYN-ACK ACK 1

slide-3
SLIDE 3

Key Establishment with TLS

Client Server

ClientHello, ClientKeyShare ServerHello, ServerKeyShare Cert, Signature, Finished Finished Payload

1-RTT 1-RTT

2-RTTs before first payload message ? Is this necessary

SYN SYN-ACK ACK 1

slide-4
SLIDE 4

Key Establishment with TLS

Client Server

ClientHello, ClientKeyShare ServerHello, ServerKeyShare Cert, Signature, Finished Finished Payload

1-RTT 1-RTT

2-RTTs before first payload message ? Is this necessary

SYN SYN-ACK ACK TCP UDP 1

slide-5
SLIDE 5

Send cryptographically protected payload in first message (0-RTT KE)?

1

slide-6
SLIDE 6

Trivial Protocol

Client Server (, )

c ← Enc(k) p ← SymEnck(Payload)

Major deficiencies:

  • No forward secrecy
  • Vulnerable to replay attacks

2

slide-7
SLIDE 7

Existing Approaches

0-RTT in TLS1.3/QUIC

  • First session 1-RTT, session resumption 0-RTT

Replay protection ? Forward secrecy for most transmitted data

3

slide-8
SLIDE 8

Existing Approaches

0-RTT in TLS1.3/QUIC

  • First session 1-RTT, session resumption 0-RTT

Replay protection ? Forward secrecy for most transmitted data Full forward secrecy, replay protection, and 0-RTT?

  • A priori not even clear if possible

unther, Hale, Jager, and Lauer at Eurocrypt’17 Using puncturable encryption (Green, Miers at S&P 2015)

3

slide-9
SLIDE 9

Puncturable Encryption

Conventional encryption scheme:

  • (KeyGen, Enc, Dec)

+ Additional algorithm ′ ← Punc(, C)

Properties

  • ′ no longer useful to decrypt C
  • ′ still useful to decrypt other ciphertexts
  • Repeated puncturing possible

4

slide-10
SLIDE 10

Puncturable Encryption

Conventional encryption scheme:

  • (KeyGen, Enc, Dec)

+ Additional algorithm ′ ← Punc(, C)

Properties

  • ′ no longer useful to decrypt C
  • ′ still useful to decrypt other ciphertexts
  • Repeated puncturing possible

fs 0-RTT KE via puncturable encryption

  • Client encrypts message under public key
  • Server decrypts using secret key ′
  • Server punctures ′ on C

4

slide-11
SLIDE 11

Our Approach

Downsides of existing approaches

  • Puncturing and/or decryption expensive

(experiments by authors of [GHJL17]: 30s - several minutes) 5

slide-12
SLIDE 12

Our Approach

Downsides of existing approaches

  • Puncturing and/or decryption expensive

(experiments by authors of [GHJL17]: 30s - several minutes)

Observation

  • Can accept somewhat larger (secret) keys
  • Can accept non-negligible correctness error
  • For example, 1 in 1000 sessions fail

Can fall back to 1-RTT in this case

5

slide-13
SLIDE 13

Bloom Filters

1 m

  • Initial state T := 0m
  • k universal hash functions (Hj)j∈[k]
  • Hj : U → [m]
  • Throughout this talk, let k = 3

6

slide-14
SLIDE 14

Bloom Filters

1 m {x, y, z}

  • Initial state T := 0m
  • k universal hash functions (Hj)j∈[k]
  • Hj : U → [m]
  • Throughout this talk, let k = 3

6

slide-15
SLIDE 15

Bloom Filters

1 1 1 1 m {x, y, z} H1(x) H2(x) H3(x)

6

slide-16
SLIDE 16

Bloom Filters

1 1 1 1 1 1 1 m {x, y, z} H1(y) H2(y) H3(y)

6

slide-17
SLIDE 17

Bloom Filters

1 1 1 1 1 1 1 1 1 m {x, y, z} H1(z) H2(z) H3(z)

Properties

  • No false negatives

6

slide-18
SLIDE 18

Bloom Filters

1 1 1 1 1 1 1 1 1 m {x, y, z} w? H1(w) H2(w) H3(w)

Properties

  • No false negatives

6

slide-19
SLIDE 19

Bloom Filters

1 1 1 1 1 1 1 1 1 m {x, y, z} v? H1(v) H2(v) H3(v)

Properties

  • No false negatives
  • False positives possible

6

slide-20
SLIDE 20

Bloom Filters

1 1 1 1 1 1 1 1 1 m {x, y, z} v? H1(v) H2(v) H3(v)

Properties

  • No false negatives
  • False positives possible
  • Probability determined by k, m, and # inserted elements

6

slide-21
SLIDE 21

Bloom Filter Encryption

KeyGen

  • Set up BF

7

slide-22
SLIDE 22

Bloom Filter Encryption

1 2 3 5 6 8 11 m−3 m 1 2 3 5 6 8 11 m−3 m

KeyGen

  • Set up BF
  • Associate key pair to each bit

7

slide-23
SLIDE 23

Bloom Filter Encryption

1 2 3 5 6 8 11 m−3 m 1 2 3 5 6 8 11 m−3 m = =

KeyGen

  • Set up BF
  • Associate key pair to each bit
  • Compose BFE key pair (, )

7

slide-24
SLIDE 24

Bloom Filter Encryption

1 2 3 5 6 8 11 m−3 m 1 2 3 5 6 8 11 m−3 m

Encrypt message M

  • Randomly choose tag τ

7

slide-25
SLIDE 25

Bloom Filter Encryption

1 2 3 5 6 8 11 m−3 m 1 2 3 5 6 8 11 m−3 m

Encrypt message M

  • Randomly choose tag τ
  • Determine indexes from τ

H1(τ) H2(τ) H3(τ) τ

7

slide-26
SLIDE 26

Bloom Filter Encryption

1 2 3 5 6 8 11 m−3 m 1 2 3 5 6 8 11 m−3 m

Encrypt message M

  • Randomly choose tag τ
  • Determine indexes from τ
  • Cτ ← Enc6∨11∨m−3(M)

H1(τ) H2(τ) H3(τ) τ

7

slide-27
SLIDE 27

Bloom Filter Encryption

1 2 3 5 6 8 11 m−3 m 1 2 3 5 6 8 11 m−3 m

Puncture ciphertext Cτ ′

  • Determine BF indexes from τ ′

H1(τ ′) H2(τ ′) H3(τ ′) τ ′

7

slide-28
SLIDE 28

Bloom Filter Encryption

1 2 3 5 6 8 11 m−3 m 1 2 3 5 6 8 11 m−3 m

Puncture ciphertext Cτ ′

  • Determine BF indexes from τ ′
  • Delete associated keys

Secret key no longer useful to decrypt Cτ ′ with associated tag τ ′

H1(τ ′) H2(τ ′) H3(τ ′) τ ′

7

slide-29
SLIDE 29

Bloom Filter Encryption

1 1 1 1 2 3 5 6 8 11 m−3 m 1 2 3 5 6 8 11 m−3 m

Puncture ciphertext Cτ ′

  • Determine BF indexes from τ ′
  • Delete associated keys
  • Update BF state

Secret key no longer useful to decrypt Cτ ′ with associated tag τ ′

H1(τ ′) H2(τ ′) H3(τ ′) τ ′

7

slide-30
SLIDE 30

Bloom Filter Encryption

1 1 1 1 2 3 5 6 8 11 m−3 m 1 2 3 5 6 8 11 m−3 m

Decrypt ciphertext Cτ

  • Determine BF indexes from τ

H1(τ) H2(τ) H3(τ) τ

7

slide-31
SLIDE 31

Bloom Filter Encryption

1 1 1 1 2 3 5 6 8 11 m−3 m 1 2 3 5 6 8 11 m−3 m

Decrypt ciphertext Cτ

  • Determine BF indexes from τ
  • Let i lowest index w. BF[i] = 0

H1(τ) τ

7

slide-32
SLIDE 32

Bloom Filter Encryption

1 1 1 1 2 3 5 6 8 11 m−3 m 1 2 3 5 6 8 11 m−3 m

Decrypt ciphertext Cτ

  • Determine BF indexes from τ
  • Let i lowest index w. BF[i] = 0
  • M ← Dec6(Cτ)

H1(τ) τ

7

slide-33
SLIDE 33

Example BF Parameters

We let

  • Maximum # of elements in BF: 220

≈ 212 puncturings/day for full year

  • False positive probability: 10−3

Then we get

  • BF size m = n ln p/(ln 2)2 ≈ 2MB
  • # hash functions k = ⌈m/n ln 2⌉ = 10

8

slide-34
SLIDE 34

Instantiations

Three instantiations with different trade-offs Identity-based encryption (IBE) Attribute-based encryption (ABE) NEW Identity-based broadcast encryption (IBBE)1

1Construction by Kai Gellert in extended version (ePrint 2018/199)

9

slide-35
SLIDE 35

Instantiations

Three instantiations with different trade-offs Identity-based encryption (IBE) Attribute-based encryption (ABE) NEW Identity-based broadcast encryption (IBBE)1

Construction || || |C| Dec Punc IBE [Crypto’01] O(1) O(m) O(k) O(k) O(k) ABE [CT-RSA’13, AC’15] O(m) O(m2) O(1) O(k) O(k) IBBE [AC’07] O(k) O(m) O(1) O(k) O(k)

1Construction by Kai Gellert in extended version (ePrint 2018/199)

9

slide-36
SLIDE 36

Instantiations (IBE)

Based on Boneh-Franklin (BF) IBE

  • Constant size public key (400 bit at 120 bit security)
  • Secret key: include one IBE- per bit of BF (=identity)

10

slide-37
SLIDE 37

Instantiations (IBE)

Based on Boneh-Franklin (BF) IBE

  • Constant size public key (400 bit at 120 bit security)
  • Secret key: include one IBE- per bit of BF (=identity)
  • Ciphertext

k BF ciphertexts w. shared rand. Use hashed variant to save space Size O(k) ≈ 3000 bit (120 bit security, parameters from before)

10

slide-38
SLIDE 38

Instantiations (IBE)

Based on Boneh-Franklin (BF) IBE

  • Constant size public key (400 bit at 120 bit security)
  • Secret key: include one IBE- per bit of BF (=identity)
  • Ciphertext

k BF ciphertexts w. shared rand. Use hashed variant to save space Size O(k) ≈ 3000 bit (120 bit security, parameters from before)

  • Secret key size ≈700MB (parameters from before)

10

slide-39
SLIDE 39

Instantiations (CCA Security)

Fujisaki-Okamoto (FO) transformation

  • Use RO to simulate decryption oracle
  • Requires perfect correctness

(Recently negl. correctness error) [Hofheinz et al., TCC’17]

11

slide-40
SLIDE 40

Instantiations (CCA Security)

Fujisaki-Okamoto (FO) transformation

  • Use RO to simulate decryption oracle
  • Requires perfect correctness

(Recently negl. correctness error) [Hofheinz et al., TCC’17]

BFE has non-negl. correctness error

  • Formalize additional properties

Extended correctness

  • No false-negatives
  • Original keys have perfect correctness
  • Semi correctness of punctured keys

Publicly-checkable puncturing Perfect simulation of decryption oracle

11

slide-41
SLIDE 41

Instantiations (CCA Security)

Fujisaki-Okamoto (FO) transformation

  • Use RO to simulate decryption oracle
  • Requires perfect correctness

(Recently negl. correctness error) [Hofheinz et al., TCC’17]

BFE has non-negl. correctness error

  • Formalize additional properties

Extended correctness

  • No false-negatives
  • Original keys have perfect correctness
  • Semi correctness of punctured keys

Publicly-checkable puncturing Perfect simulation of decryption oracle Works generically for all our approaches!

11

slide-42
SLIDE 42

Instantiations contd’

Extensions

  • Time-based BFE (TBBFE)
  • Enable multiple time intervals
  • Similar approach as [GM S&P’15, GHJL EC’17]

Use hierarchical identity-based encryption (HIBE) scheme

  • Tree of identities

Upper part represent time intervals Lower part represent the bits of BF

(as in BFE)

12

slide-43
SLIDE 43

Comparison of TB-BFEs

Scheme Dec (online) PuncCtx (online) PuncInt (offline) 2w time slots GM [S&P’15] O(p) O(1) O(w2) GHJL [EC’17] O(λ2) O(λ2) O(w2) Ours O(k) O(k) O(w2 + m)

With m size of BF, k # hash functions (e.g., k = 10), λ ≥ 120, p number of puncturings already performed

13

slide-44
SLIDE 44

Conclusions

Existing approaches

  • Most critical ops expensive (puncturing & decryption)

Authors of [GHJL17] report 30s to minutes

14

slide-45
SLIDE 45

Conclusions

Existing approaches

  • Most critical ops expensive (puncturing & decryption)

Authors of [GHJL17] report 30s to minutes

Our approach Offload expensive ops to less critical phases (key generation, resp. switch of time interval for TB) Very efficient decryption Only deletions & hash evaluations upon puncture Conjectured dec. & punc. times in order of milliseconds Applications of BFE beyond 0-RTT KE?

14

slide-46
SLIDE 46

Thank you!

Full version: https://eprint.iacr.org/2018/199