Are you the one to share? Secret Transfer with Access Structure - - PowerPoint PPT Presentation

β–Ά
are you the one to share secret transfer with access
SMART_READER_LITE
LIVE PREVIEW

Are you the one to share? Secret Transfer with Access Structure - - PowerPoint PPT Presentation

Are you the one to share? Secret Transfer with Access Structure Yongjun Zhao, Sherman S.M. Chow Department of I nformation E ngineering The C hinese U niversity of H ong K ong, Hong Kong Private Set Intersection (PSI) Compute the intersection


slide-1
SLIDE 1

Are you the one to share? Secret Transfer with Access Structure

Yongjun Zhao, Sherman S.M. Chow Department of Information Engineering The Chinese University of Hong Kong, Hong Kong

slide-2
SLIDE 2

Private Set Intersection (PSI)

  • Compute the intersection 𝐡 ∩ 𝐢
  • without revealing elements βˆ‰ 𝐡 ∩ 𝐢

? ?

slide-3
SLIDE 3

Applications of PSI: Common Interests

slide-4
SLIDE 4

Applications of PSI: Common Customers

slide-5
SLIDE 5

Classical Definition for PSI

  • ℱ𝑄𝑇𝐽: π‘Œ, 𝑍 β†’ π‘Œ ∩ 𝑍, βŠ₯
  • Well established notion in crypto and security communities
  • Other variants: fair PSI (both parties obtain π‘Œ ∩ 𝑍), multi-party PSI (>2 participants), etc.

π‘Œ = {𝑦1, … , π‘¦π‘œ} 𝑍 = {𝑧1, … , 𝑧𝑛} π‘Œ ∩ 𝑍 Input: Output: βŠ₯ client server

slide-6
SLIDE 6

Classical Definition for PSI (limitation)

  • ℱ𝑄𝑇𝐽: π‘Œ, 𝑍 β†’ (

, βŠ₯)

  • One party ALAWYS learns the outcome

π‘Œ = {𝑦1, … , π‘¦π‘œ} 𝑍 = {𝑧1, … , 𝑧𝑛} Input: Output: βŠ₯ π‘Œ ∩ 𝑍 client server

slide-7
SLIDE 7

They do not really match that well

slide-8
SLIDE 8

Classical Definition (limitation)

  • Traditional PSI always reveals the intersection
  • Intersection set itself could be:
  • Sensitive: threat information
  • Commercial asset: customer list
  • Personal info: friend list, hobbies, preferences
  • Intersection should only be revealed when

necessary (i.e., the interaction satisfying some policy 𝑄(β‹…))

  • e.g., the size exceeds some threshold number
slide-9
SLIDE 9

More β€œPrivacy-Friendly” PSI

  • Our new notion: PSI with (monotone) access structure
  • Reveal 𝐡 ∩ 𝐢 only if
  • Special cases:
  • (over) threshold PSI
  • Applications:
  • Private match-making
  • Auditing leakage in information sharing
  • Intersection of threat information / suspect lists / customer list

𝑄 𝐡 ∩ 𝐢 = 1 if 𝐡 ∩ 𝐢 β‰₯ 𝑒 0 if 𝐡 ∩ 𝐢 < 𝑒 𝑄 𝐡 ∩ 𝐢 = 1

slide-10
SLIDE 10

Concrete Construction

  • We construct PSI with access structure in a modular way
  • Roadmap:

OTSA STAS PSI w/ AS

Secret Transfer with Access Structure PSI with Access Structure Oblivious Transfer for a Sparse Array

slide-11
SLIDE 11

Oblivious Transfer for a Sparse Array

  • Roadmap:

OTSA STAS PSI w/ AS

Secret Transfer with Access Structure PSI with Access Structure Oblivious Transfer for a Sparse Array

slide-12
SLIDE 12

Oblivious Transfer for a Sparse Array (OTSA)

  • β„±π‘ƒπ‘ˆπ‘‡π΅: 𝑦, 𝑧 β†’ (𝐸, βŠ₯)
  • Generalizing standard π‘œ-out-of-𝑛 OT:
  • 𝑦1, … , π‘¦π‘œ ⊈ {𝑧1, … , 𝑧𝑛}
  • 𝑦1, … , π‘¦π‘œ ∩ {𝑧1, … , 𝑧𝑛} is hidden from receiver

𝑦 = {𝑦1, … , π‘¦π‘œ} 𝑧 = {(𝑧1, 𝑒1), … , (𝑧𝑛, 𝑒𝑛)} 𝐸 = {𝑒𝑗|𝑧𝑗 ∈ {𝑦1, 𝑦2, β‹― , π‘¦π‘œ}} Input: Output: βŠ₯

slide-13
SLIDE 13

Oblivious Polynomial Evaluation (OPE)

  • Encode the set {𝑦1, … , π‘¦π‘œ} as polynomial:

π‘ž = 𝑦 βˆ’ 𝑦1 𝑦 βˆ’ 𝑦2 β‹― 𝑦 βˆ’ π‘¦π‘œ = 𝑏0 + 𝑏1𝑦 + β‹― + π‘π‘œπ‘¦π‘œ

  • Observation: 𝑧𝑗 ∈ π‘Œ ⟺ π‘ž 𝑧𝑗 = 0
  • Given encrypted coefficients 𝑏0, 𝑏1, … , π‘π‘œ of a polynomial π‘ž
  • We can evaluate its value at 𝑦 via homomorphic encryption:

πΉπ‘œπ‘‘π‘žπ‘™ π‘ž 𝑦 = πΉπ‘œπ‘‘π‘žπ‘™ 𝑏0 + 𝑏1𝑦 + β‹― + π‘π‘œπ‘¦π‘œ = πΉπ‘œπ‘‘π‘žπ‘™ 𝑏0 βŠ• πΉπ‘œπ‘‘π‘žπ‘™ 𝑏1 ⨂𝑦 βŠ• β‹― βŠ• (πΉπ‘œπ‘‘π‘žπ‘™(π‘π‘œ)β¨‚π‘¦π‘œ)

slide-14
SLIDE 14

OTSA from Oblivious Polynomial Evaluation

(π‘žπ‘™, 𝑑𝑙) {𝑦1, … , π‘¦π‘œ} {𝑧1, … , 𝑧𝑛} π‘žπ‘™, πΉπ‘œπ‘‘π‘žπ‘™ 𝑏0 , … , πΉπ‘œπ‘‘π‘žπ‘™(π‘π‘œ) 𝑨𝑗 = πΉπ‘œπ‘‘π‘žπ‘™(𝑠

𝑗 β‹… π‘ž 𝑧𝑗 + 𝑒𝑗)

{𝑨1, … , 𝑨𝑛} if 𝑧𝑗 ∈ {𝑦1, … , π‘¦π‘œ} 𝑨𝑗 will be decrypted to 𝑒𝑗 𝑨𝑗 will be decrypted to random {𝑒1, … , 𝑒𝑛} if 𝑧𝑗 βˆ‰ {𝑦1, … , π‘¦π‘œ}

(permuted)

slide-15
SLIDE 15

Construction of OTSA

  • Honest-but-curious model
  • extended to malicious model using zero-knowledge proofs (details in the paper)
  • Computational complexity: 𝑃(π‘›π‘œ) (worse than 𝑃(π‘œ log π‘œ) via generic approach)
  • 𝑃(π‘œ) construction (honest-but-curious) in the paper
  • based on garbled Bloom filter [Dong-Chen@CCS’13]

π‘žπ‘™, πΉπ‘œπ‘‘π‘žπ‘™ 𝑏0 , … , πΉπ‘œπ‘‘π‘žπ‘™(π‘π‘œ) 𝑨𝑗 = πΉπ‘œπ‘‘π‘žπ‘™(𝑠

𝑗 β‹… π‘ž 𝑧𝑗 + 𝑒𝑗)

𝑨1, … , 𝑨𝑛

slide-16
SLIDE 16

PSI with Access Structure

  • Roadmap:

OTSA STAS PSI w/ AS

Secret Transfer with Access Structure PSI with Access Structure Oblivious Transfer for a Sparse Array

slide-17
SLIDE 17

Secret Sharing

  • Split a secret 𝑑 into shares
  • 𝑑 can be reconstructed only if β€œqualified” subset of shares are combined

SecretShare(𝑑) β†’ {𝑑1, 𝑑2, … , π‘‘π‘œ} Reconstruct(𝑑𝑗1, 𝑑𝑗2, … , 𝑑𝑗𝑙) β†’ 𝑑 or βŠ₯

  • Example:

access structure: 𝑑1 AND {𝑑2 OR 𝑑3} AND 𝑑4 AND 𝑑5 {𝑑1, 𝑑2, 𝑑3, 𝑑4, 𝑑5} {𝑑1, 𝑑2, 𝑑4, 𝑑5} {𝑑1, 𝑑3, 𝑑4, 𝑑5} β€œqualified” subsets:

slide-18
SLIDE 18

Secret Transfer with Access Structure

  • β„±π‘‡π‘ˆπ΅π‘‡:

π‘Œ = {𝑦1, … , π‘¦π‘œ} 𝑑, 𝑍 = 𝑧1, … , 𝑧𝑛 𝑑 iff 𝑄 π‘Œ ∩ 𝑍 = 1 Input: Output: βŠ₯ |π‘Œ ∩ 𝑍| and

slide-19
SLIDE 19

OTSA + Secret Sharing = STAS

(π‘žπ‘™, 𝑑𝑙) π‘Œ = {𝑦1, … , π‘¦π‘œ} 𝑍 = {𝑧1, … , 𝑧𝑛} π‘žπ‘™, πΉπ‘œπ‘‘π‘žπ‘™ 𝑏0 , … , πΉπ‘œπ‘‘π‘žπ‘™(π‘π‘œ) 𝑨𝑗 = πΉπ‘œπ‘‘π‘žπ‘™(𝑠

𝑗 β‹… π‘žπ‘Œ 𝑧𝑗 + 𝑑𝑗)

𝑨1, … , 𝑨𝑛 if 𝑧𝑗 ∈ π‘Œ 𝑨𝑗 will be decrypted to 𝑑𝑗 if 𝑧𝑗 βˆ‰ π‘Œ 𝑨𝑗 will be decrypted to random 𝑑

SecretShare(𝑑) β†’ {𝑑1, 𝑑2, … , 𝑑𝑛}

slide-20
SLIDE 20

OTSA + Secret Sharing = STAS

If π‘Œ ∩ 𝑍 satisfies the access structure The receiver can reconstruct the secret 𝑑 ! (π‘žπ‘™, 𝑑𝑙) π‘Œ = {𝑦1, … , π‘¦π‘œ} 𝑍 = {𝑧1, … , 𝑧𝑛} π‘žπ‘™, πΉπ‘œπ‘‘π‘žπ‘™ 𝑏0 , … , πΉπ‘œπ‘‘π‘žπ‘™(π‘π‘œ) 𝑨𝑗 = πΉπ‘œπ‘‘π‘žπ‘™(𝑠

𝑗 β‹… π‘žπ‘Œ 𝑧𝑗 + 𝑑𝑗)

𝑨1, … , 𝑨𝑛 𝑑

SecretShare(𝑑) β†’ {𝑑1, 𝑑2, … , 𝑑𝑛}

slide-21
SLIDE 21

PSI with Access Structure

  • Roadmap:

PSI w/ DT STAS

PSI w/ AS

Secret Transfer with Access Structure PSI with Access Structure Oblivious Transfer for a Sparse Array

slide-22
SLIDE 22

PSI with Access Structure from STAS

π‘Œ = {𝑦1, … , π‘¦π‘œ} 𝑍 = {𝑧1, … , 𝑧𝑛} and 𝑑 STAS protocol The receiver can reconstruct the secret 𝑑 if and only if π‘Œ ∩ 𝑍 satisfies the access structure

slide-23
SLIDE 23

STAS + PSI = PSI with Access Structure

π‘Œβ€² = {𝑦1| 𝑑, … , π‘¦π‘œ |𝑑} Normal PSI 𝑍′ = {𝑧1| 𝑑, … , 𝑧𝑛 |𝑑} If π‘Œ ∩ 𝑍 satisfies the access structure The receiver can learn π‘Œβ€² ∩ 𝑍′, which is essentially π‘Œ ∩ 𝑍

slide-24
SLIDE 24

PSI with Access Structure

π‘Œβ€² = {𝑦1||𝑑′, … , π‘¦π‘œ||𝑑′} If π‘Œ ∩ 𝑍 does not satisfies the access structure The receiver can learn π‘Œβ€² ∩ 𝑍′, which is an empty set Normal PSI 𝑍′ = {𝑧1| 𝑑, … , 𝑧𝑛 |𝑑}

slide-25
SLIDE 25

Concluding Remarks

  • We introduce the notions of
  • Oblivious Transfer with Spare Array (OTSA)
  • Secret Transfer with Access Structure (STAS)
  • PSI with Access Structure
  • We then construct
  • Two OTSA schemes (from OPE / garbled Bloom filter)
  • OTSA + Secret Sharing = STAS
  • STAS + PSI = PSI with Access Structure
  • Future work 1: can we hide |π‘Œ ∩ 𝑍| in STAS?
  • Future work 2: can we support non-monotone access structure?
  • {zy113, sherman}@ie.cuhk.edu.hk

Under submission