Access Control Encryption Enforcing Information Flow with Cryptography Ivan Damgård, Helene Haagh, and Claudio Orlandi Aarhus University, Denmark Outline Motivation Access Control Encryption (ACE) Model Definition Construction 2 CrossFyre 2016 Motivation Bell-Lapadula • No Read Up • No Write Down 3 CrossFyre 2016 Motivation: No-Read Rule dk m E(ek,m) ?? ek 4 CrossFyre 2016 Motivation: No-Write Rule m m m 5 CrossFyre 2016 Motivation: No-Write Rule ?? C C’ m Should learn as little as possible (neither the message nor the identity of the sender) Why: Outsource to another company. 6 CrossFyre 2016 Outline Motivation Access Control Encryption (ACE) Model Definition Construction 7 CrossFyre 2016 Access Control Encryption Senders: Receivers: 𝑆𝑆1 , 𝑆𝑆2 , … , 𝑆𝑆𝑛𝑛 𝑅𝑅1 , 𝑅𝑅2 , … , 𝑅𝑅𝑛𝑛 Access Policy 𝑃𝑃: 𝑛𝑛 × 𝑛𝑛 → 0,1 𝑃𝑃 𝑥𝑥, 𝑦𝑦 = 1 : flow from 𝑆𝑆𝑥𝑥 to 𝑅𝑅𝑦𝑦 is allowed 𝑃𝑃 0, 𝑦𝑦 = 𝑃𝑃 𝑥𝑥, 0 = 0 for all 𝑥𝑥, 𝑦𝑦 𝑃𝑃 𝑋𝑋, 𝑌𝑌 = 0 iff 𝑃𝑃 𝑥𝑥, 𝑦𝑦 = 0 for all 𝑥𝑥 ∈ 𝑋𝑋, 𝑦𝑦 ∈ 𝑌𝑌 Sanitizer: Special party that routes trafic from senders to receivers 8 Should learn as little as possible Assumed to be “honest-but-curious” CrossFyre 2016 San Access Control Encryption 𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆 𝑃𝑃 → (𝑚𝑚𝑚𝑚𝑚𝑚, 𝑝𝑝𝑝𝑝) 𝐺𝐺𝐺𝐺𝐺𝐺 𝐺𝐺𝐺𝐺𝐺𝐺 𝑚𝑚𝑚𝑚𝑚𝑚, 𝑆𝑆𝑆𝑆𝑆𝑆, 𝑥𝑥 → 𝑒𝑒𝑒𝑒𝑥𝑥 𝐺𝐺𝐺𝐺𝐺𝐺 𝑚𝑚𝑚𝑚𝑚𝑚, 𝑅𝑅𝑅𝑅𝑅𝑅, 𝑦𝑦 → 𝑑𝑑𝑘𝑘𝑦𝑦 𝐺𝐺𝐺𝐺𝐺𝐺 𝑚𝑚𝑚𝑚𝑚𝑚, 𝑆𝑆𝑆𝑆𝑆𝑆 → 𝑟𝑟𝑟𝑟 𝐸𝐸𝐸𝐸𝐸𝐸 𝑒𝑒𝑒𝑒𝑥𝑥 , 𝑚𝑚 → 𝑐𝑐 𝑆𝑆𝑆𝑆𝑆𝑆 𝑟𝑟𝑟𝑟, 𝑐𝑐 → 𝑐𝑐𝑐 9 S3 S2 S1 R3 ek3 c ek2 San R2 rk R1 ek1 𝐷𝐷𝐷𝐷𝐷𝐷 𝑑𝑑𝑑𝑑𝑦𝑦 , 𝑐𝑐 ′ = 𝑚𝑚 𝑖𝑖𝑖𝑖 𝑃𝑃 𝑥𝑥, 𝑦𝑦 = 1 c’ CrossFyre 2016 dk3 dk2 dk1 P(3,3)=1 P({2,3},{1,2})=0 No-Read Rule S3ek S2ek S1ek 10 R3 dk3 3 E(ek3,m) 2 San c’ R2 dk2 rk R1 dk1 1 CrossFyre 2016 P(3,3)=1 P({2,3},{1,2})=0 No-Read Rule S3ek S2ek S1ek 11 (x,m)=(?,?) dk3 3 E(ek3,m) 2 R3 San c’ R2 dk2 rk R1 dk1 1 CrossFyre 2016 P({1,2},1)=1 No-Read Rule S3ek S2ek S1ek 12 R3 dk3 3 E(ek1,m) 2 San c’ R2 dk2 rk R1 dk1 1 CrossFyre 2016 P({1,2},1)=1 No-Read Rule S3ek S2ek S1ek 13 (x,m)=(?,m) dk3 3 E(ek1,m) 2 R3 San c’ R2 dk2 rk R1 dk1 1 CrossFyre 2016 P({2,3},{1,2})=0 No-Write Rule S3ek S2ek S1ek 14 R3 dk3 3 2 San R2 dk2 rk R1 dk1 1 CrossFyre 2016 P({2,3},{1,2})=0 No-Write Rule S3ek S2ek S1ek 15 R3 dk3 3 m 2 1 c* San San(c*) R2 rk m=? CrossFyre 2016 R1 dk2 dk1 Outline Motivation Access Control Encryption (ACE) Model Definition Construction 16 CrossFyre 2016 P(1,1)=1 Single Identity ACE S1 𝑒𝑒𝑒𝑒 S0 1. 2. 17 𝑚𝑚 = 𝐷𝐷𝐷𝐷𝐷𝐷(𝑑𝑑𝑑𝑑, 𝑐𝑐𝑐) R1 𝑐𝑐 = 𝐸𝐸(𝑒𝑒𝑒𝑒, 𝑚𝑚) San 𝑟𝑟𝑟𝑟 𝑐𝑐𝑐 = 𝑆𝑆𝑎𝑎𝑎𝑎(𝑟𝑟𝑟𝑟, 𝑐𝑐) R0 Prevent direct comm.: If 𝑐𝑐 was computed from 𝑒𝑒𝑒𝑒 • yes → keep the message • no → destroy the message Prevent subliminal comm.: “Sanitize” the ciphertext CrossFyre 2016 𝑑𝑑𝑑𝑑 P(1,1)=1 Single Identity ACE 𝑐𝑐 = 𝐸𝐸 𝑎𝑎), 𝐸𝐸(𝑚𝑚 S1 𝑒𝑒𝑒𝑒 = 𝑎𝑎 S0 18 𝑐𝑐𝑐 = 𝐸𝐸 𝑟𝑟 𝑎𝑎 − 𝑎𝑎 + 𝑚𝑚 𝐸𝐸(0) 𝑚𝑚 R1 San 𝑟𝑟𝑟𝑟 = 𝑎𝑎 Additive homomorphic encryption: • Keys: 𝑝𝑝𝑝𝑝, 𝑠𝑠𝑠𝑠 • Encrypt: 𝑐𝑐 ← 𝐸𝐸 𝑝𝑝𝑝𝑝, 𝑚𝑚 = 𝐸𝐸(𝑚𝑚) • Decrypt: 𝑚𝑚 ← 𝐷𝐷(𝑠𝑠𝑠𝑠, 𝑐𝑐) • Add: 𝐸𝐸 𝑚𝑚1 𝐸𝐸 𝑚𝑚2 = 𝐸𝐸 𝑚𝑚1 + 𝑚𝑚2 CrossFyre 2016 R0 𝑑𝑑𝑑𝑑 = 𝑠𝑠𝑠𝑠 P(1,1)=1 Single Identity ACE No-Read Rule 𝑐𝑐 = 𝐸𝐸 𝑎𝑎), 𝐸𝐸(𝑚𝑚 S1 𝑒𝑒𝑒𝑒 = 𝑎𝑎 S0 19 𝑐𝑐𝑐 = 𝐸𝐸 𝑟𝑟 𝑎𝑎 − 𝑎𝑎 + 𝑚𝑚 𝐸𝐸(0) R1 San 𝑟𝑟𝑟𝑟 = 𝑎𝑎 CrossFyre 2016 R0 𝑚𝑚 =? 𝑑𝑑𝑑𝑑 = 𝑠𝑠𝑠𝑠 P(1,1)=1 Single Identity ACE No-Write Rule S1 𝑒𝑒𝑒𝑒 = 𝑎𝑎 S0 20 𝑐𝑐𝑐 = 𝐸𝐸 𝑟𝑟 𝑎𝑎′ − 𝑎𝑎 + 𝑚𝑚 𝐸𝐸(0) 𝑐𝑐 = 𝐸𝐸 𝑎𝑎𝑎 , 𝐸𝐸 𝑚𝑚 𝑚𝑚 =? R1 San 𝑟𝑟𝑟𝑟 = 𝑎𝑎 CrossFyre 2016 R0 𝑚𝑚 =? 𝑑𝑑𝑑𝑑 = 𝑠𝑠𝑠𝑠 P(x,y)=1 iff x ≤ y Linear ACE {San(rk1,c1), San(rk2,c2), San(rk3,c3)} {c1 (random), S3ek E(ek2,m), 3 E(ek3,m)} S2ek , ek 2 3 S1ek ,ek , ek 1 21 San 2 R2 𝑚𝑚 dk3 dk2 rk1, rk2, rk3 3 R3 𝑚𝑚 R1 𝑚𝑚 =? CrossFyre 2016 dk1 Access Control Encryption (ACE) A new notion of encryption which allows one to control the flow of information with minimal trust in the channel. Instantiations DDH/Paillier (linear complexity) iO (polylog complexity) Others? (an open problem) http://ia.cr/2016/106 22 CrossFyre 2016
© Copyright 2025