Functional Encryptions and Cloudy Applications Function on a Cloudy Day Giuseppe Persiano Dipartimento di Informatica Universit` a di Salerno giuper@dia.unisa.it Crypto for 2020 January, 23 2013 Tenerife, Spain Giuseppe Persiano (UNISA) Function on a Cloudy Day Tenerife, Spain 1 / 39
Functional Encryptions and Cloudy Applications Giuseppe Persiano (UNISA) Function on a Cloudy Day Tenerife, Spain 2 / 39
Function on a Cloudy Giuseppe Persiano (UNISA) Function on a Cloudy Day Tenerife, Spain 2 / 39
Functional Encryptions and Cloudy Applications Giuseppe Persiano (UNISA) Function on a Cloudy Day Tenerife, Spain 2 / 39
Secure Remote Storage Secure Remote Storage The Cloud has huge storage capability and can be accessed from anywhere; We consider simple case of a Data Owner storing his data on an Untrusted Storage; Giuseppe Persiano (UNISA) Function on a Cloudy Day Tenerife, Spain 3 / 39
Secure Remote Storage Secure Remote Storage The Cloud has huge storage capability and can be accessed from anywhere; We consider simple case of a Data Owner storing his data on an Untrusted Storage; DOwner can assume: ◮ UStorage does not destroy the data Giuseppe Persiano (UNISA) Function on a Cloudy Day Tenerife, Spain 3 / 39
Secure Remote Storage Secure Remote Storage The Cloud has huge storage capability and can be accessed from anywhere; We consider simple case of a Data Owner storing his data on an Untrusted Storage; DOwner can assume: ◮ UStorage does not destroy the data (enforce using Duplication ); Giuseppe Persiano (UNISA) Function on a Cloudy Day Tenerife, Spain 3 / 39
Secure Remote Storage Secure Remote Storage The Cloud has huge storage capability and can be accessed from anywhere; We consider simple case of a Data Owner storing his data on an Untrusted Storage; DOwner can assume: ◮ UStorage does not destroy the data (enforce using Duplication ); ◮ UStorage does not modify data Giuseppe Persiano (UNISA) Function on a Cloudy Day Tenerife, Spain 3 / 39
Secure Remote Storage Secure Remote Storage The Cloud has huge storage capability and can be accessed from anywhere; We consider simple case of a Data Owner storing his data on an Untrusted Storage; DOwner can assume: ◮ UStorage does not destroy the data (enforce using Duplication ); ◮ UStorage does not modify data (enforce using Authentication Code); Giuseppe Persiano (UNISA) Function on a Cloudy Day Tenerife, Spain 3 / 39
Secure Remote Storage Secure Remote Storage The Cloud has huge storage capability and can be accessed from anywhere; We consider simple case of a Data Owner storing his data on an Untrusted Storage; DOwner can assume: ◮ UStorage does not destroy the data (enforce using Duplication ); ◮ UStorage does not modify data (enforce using Authentication Code); ◮ UStorage does not read the data Giuseppe Persiano (UNISA) Function on a Cloudy Day Tenerife, Spain 3 / 39
Secure Remote Storage Secure Remote Storage The Cloud has huge storage capability and can be accessed from anywhere; We consider simple case of a Data Owner storing his data on an Untrusted Storage; DOwner can assume: ◮ UStorage does not destroy the data (enforce using Duplication ); ◮ UStorage does not modify data (enforce using Authentication Code); ◮ UStorage does not read the data (enforce using Encryption); Giuseppe Persiano (UNISA) Function on a Cloudy Day Tenerife, Spain 3 / 39
Secure Remote Storage Secure Remote Storage The Cloud has huge storage capability and can be accessed from anywhere; We consider simple case of a Data Owner storing his data on an Untrusted Storage; DOwner can assume: ◮ UStorage does not destroy the data (enforce using Duplication ); ◮ UStorage does not modify data (enforce using Authentication Code); ◮ UStorage does not read the data (enforce using Encryption); Giuseppe Persiano (UNISA) Function on a Cloudy Day Tenerife, Spain 3 / 39
Secure Remote Storage In the beginning is the Data First Name Last Name Affiliation Kenny Paterson RHUL Giuseppe Persiano SAL Fran¸ cois-Xavier Standaert UCL Joan Daeman STM Peter Roumbots NXP Bart Preneel KUL Dan Bernstein UIC Giuseppe Persiano (UNISA) Function on a Cloudy Day Tenerife, Spain 4 / 39
Secure Remote Storage Encrypt and obtain First Name Last Name Affiliation E(PK,Kenny) E(PK,Paterson) E(PK,RHUL) E(PK,Giuseppe) E(PK,Persiano) E(PK,SAL ) E(PK,Fran¸ cois-Xavier) E(PK,Standaert) E(PK,UCL ) E(PK,Joan ) E(PK,Daeman) E(PK,STM ) E(PK,Peter) E(PK,Roumbots) E(PK,NXP) E(PK,Bart) E(PK,Preneel) E(PK,KUL) E(PK,Dan) E(PK,Bernstein) E(PK,UIC) Authenticate by using MAC. Giuseppe Persiano (UNISA) Function on a Cloudy Day Tenerife, Spain 4 / 39
Secure Remote Storage Encrypt and obtain First Name Last Name Affiliation E(PK,Kenny) E(PK,Paterson) E(PK,RHUL) E(PK,Giuseppe) E(PK,Persiano) E(PK,SAL ) E(PK,Fran¸ cois-Xavier) E(PK,Standaert) E(PK,UCL ) E(PK,Joan ) E(PK,Daeman) E(PK,STM ) E(PK,Peter) E(PK,Roumbots) E(PK,NXP) E(PK,Bart) E(PK,Preneel) E(PK,KUL) E(PK,Dan) E(PK,Bernstein) E(PK,UIC) Authenticate by using MAC. Disperse by using data replication algorithm. Giuseppe Persiano (UNISA) Function on a Cloudy Day Tenerife, Spain 4 / 39
Secure Remote Storage Encrypt and obtain First Name Last Name Affiliation E(PK,Kenny) E(PK,Paterson) E(PK,RHUL) E(PK,Giuseppe) E(PK,Persiano) E(PK,SAL ) E(PK,Fran¸ cois-Xavier) E(PK,Standaert) E(PK,UCL ) E(PK,Joan ) E(PK,Daeman) E(PK,STM ) E(PK,Peter) E(PK,Roumbots) E(PK,NXP) E(PK,Bart) E(PK,Preneel) E(PK,KUL) E(PK,Dan) E(PK,Bernstein) E(PK,UIC) Authenticate by using MAC. Disperse by using data replication algorithm. Giuseppe Persiano (UNISA) Function on a Cloudy Day Tenerife, Spain 4 / 39
Searching for data on a UStorage Want all persons from STM 1 Download the data using the retrieve algorithm; 2 Check it has not been modified; 3 Decrypt the whole table; 4 Execute the query; Giuseppe Persiano (UNISA) Function on a Cloudy Day Tenerife, Spain 5 / 39
Searching for data on a UStorage Want all persons from STM 1 Download the data using the retrieve algorithm; 2 Check it has not been modified; 3 Decrypt the whole table; 4 Execute the query; Not really what we want 1 We need to locally store the table. Giuseppe Persiano (UNISA) Function on a Cloudy Day Tenerife, Spain 5 / 39
Searching for data on a UStorage Want all persons from STM 1 Download the data using the retrieve algorithm; 2 Check it has not been modified; 3 Decrypt the whole table; 4 Execute the query; Not really what we want 1 We need to locally store the table. 2 We might not have enough local storage, that’s why we resorted to the UStorage. Giuseppe Persiano (UNISA) Function on a Cloudy Day Tenerife, Spain 5 / 39
Searching for data on a UStorage Want all persons from STM 1 Download the data using the retrieve algorithm; 2 Check it has not been modified; 3 Decrypt the whole table; 4 Execute the query; Not really what we want 1 We need to locally store the table. 2 We might not have enough local storage, that’s why we resorted to the UStorage. 3 Question: can we ask the UStorage to perform the search for us? Giuseppe Persiano (UNISA) Function on a Cloudy Day Tenerife, Spain 5 / 39
Searching for data on a UStorage Want all persons from STM 1 Download the data using the retrieve algorithm; 2 Check it has not been modified; 3 Decrypt the whole table; 4 Execute the query; Not really what we want 1 We need to locally store the table. 2 We might not have enough local storage, that’s why we resorted to the UStorage. 3 Question: can we ask the UStorage to perform the search for us? 4 Answer 1: give UStorage the decryption key. Giuseppe Persiano (UNISA) Function on a Cloudy Day Tenerife, Spain 5 / 39
Searching for data on a UStorage Want all persons from STM 1 Download the data using the retrieve algorithm; 2 Check it has not been modified; 3 Decrypt the whole table; 4 Execute the query; Not really what we want 1 We need to locally store the table. 2 We might not have enough local storage, that’s why we resorted to the UStorage. 3 Question: can we ask the UStorage to perform the search for us? 4 Answer 1: give UStorage the decryption key. why did we encrypt? Giuseppe Persiano (UNISA) Function on a Cloudy Day Tenerife, Spain 5 / 39
Searching for data on a UStorage Want all persons from STM 1 Download the data using the retrieve algorithm; 2 Check it has not been modified; 3 Decrypt the whole table; 4 Execute the query; Not really what we want 1 We need to locally store the table. 2 We might not have enough local storage, that’s why we resorted to the UStorage. 3 Question: can we ask the UStorage to perform the search for us? 4 Answer 1: give UStorage the decryption key. why did we encrypt? 5 Answer 2: not with the current encryption schemes. Giuseppe Persiano (UNISA) Function on a Cloudy Day Tenerife, Spain 5 / 39
Functional Encryption – Syntax Functionality F : M × K → { 0 , 1 } A Functional Encryption scheme for F is a tuple of 4 efficient and probabilistic algorithms: (Setup , KeyGen , Encrypt , Eval) Functional Encryption Scheme 1 Setup(1 λ ) outputs public and master secret keys (fPK , fSK) for security parameter λ 2 KeyGen(fSK , k ) outputs token Tok k for k ∈ K 3 Encrypt(fPK , m ) outputs ciphertexts CT for plaintext m ∈ M 4 Eval(fPK , CT , Tok k ) outputs F ( m , k ) Giuseppe Persiano (UNISA) Function on a Cloudy Day Tenerife, Spain 6 / 39
Recommend
More recommend