Secure Proxy Re-Encryption Protocol for FANETs Resistant to Chosen-Ciphertext Attacks
Abstract
:1. Introduction
2. Related Works and Applications
2.1. Related Works
2.2. Participants
- Smartphone (S): It is the user’s smartphone, to which various sensors (wearable devices) are connected to monitor the patient’s health condition. The smartphone periodically transmits encrypted records to the healthcare provider and stores them in the cloud server.
- Healthcare provider (H): It refers to an institution that provides and records medical practice. H manages the user’s health status monitored through the S, and performs medical treatment when users visit.
- Emergency center (E): An institution that carries out medical practice in case of emergency.
- Vehicle (including ambulances, V): V means vehicles or helicopters that transport users. It may or may not have medical equipment installed.
- Cloud server (CS): CS is a storage space. It stores the user’s medical records (medical practices performed by H, the patient’s conditions measured by S’s sensors, etc.) and video files taken by drones. This is assumed to be a semi-trusted party.
- First responders (F): F stands for police, fire engines, rescue helicopters, etc.
- Drone (D): The drone is registered in the CC in advance.
- Control center (CC): This is a kind of trusted third party (TTP), which controls security-related matters such as the generation and management of encryption keys and the registration of participants. Hence, CC knows all the security keys for every participant.
2.3. Application Scenario
- CC receives and checks reports from a citizen or a drone monitoring an accident situation in the air.
- CC orders D to take a detailed shot, and F to respond first.
- According to CC’s orders, the drone takes some actions, encrypts and transmits the video taken in detail to the CC in real time. F also notifies the CC of the processing status.
- CC analyzes it and transmits the information about nearby E to the available F or vehicle, which transfers the patient to E.** The patient’s condition is measured with the sensor device of the smartphone and vehicle, and the record is encrypted and transmitted to the arriving E.
- In the meantime, CC generates secret key values for re-encryption/decryption and transmits them to CS and E.
- CS re-encrypts the user’s medical records encrypted by H and transmits them to E.
- E decrypts the record that has been re-encrypted by CS using the decryption key sent by CC.
- After decrypting the records, E proceeds to treat the patient. Following the treatment, the results are encrypted and sent to H, where they are subsequently stored in CS.
3. Preliminaries
3.1. Notations
- ·
- : pseudorandom function.
- ·
- : reverse function of , in other words, decryption function of .
- ·
- i or j: each participant such as H or E.
- ·
- : secret key between participant i and CC.
- ·
- : encryption using pseudorandom function with a secret key .
- ·
- : private key of participant I.
- ·
- : public key of participant I.
- ·
- : a message.
- ·
- : ElGamal-style ciphertext of .
- ·
- : decryption of .
- ·
- : re-encryption of .
- ·
- : randomly generated numbers every time.
- ·
- : an order from CC to participant i.
- ·
- : report of participant i.
- ·
- : re-encryption/decryption keys.
- ·
- : oracle.
3.2. Security Building Blocks
- -
- KGen() → (pk, sk). Given the security parameter , the key generation algorithm KGen produces a public key pk and a secret key sk.
- -
- EnC(pk, m) → C. Given a public key pk and a message m in the message space, the encryption algorithm EnC produces a ciphertext C.
- -
- DeC(sk, C) → m. With the input of a secret key sk and a ciphertext C, the decryption algorithm DeC robustly generates a message m within the message space or ⊥ [17].
- ·
- Key generation:
- ·
- Select a mathematically secure large prime p and a primitive root g modulo p.
- ·
- Choose a random private key x. Compute the public key mod p.
- ·
- Encryption:
- ·
- Choose a random k such that 0 < r < p − 1.
- ·
- Compute: mod p and mod p to generate the ciphertext .
- ·
- Decryption:
- ·
- Compute: [19].
- -
- KGen, EnC, DeC: Similar to those found in public key encryption.
- -
- RKeyGen(, ) → . Given a secret key , a public key , the re-encryption key generation algorithm, RKeyGen, produces a unidirectional re-encryption key .
- -
- PrxyRE (, ) → . Given a re-encryption key and a ciphertext , the re-encryption algorithm PrxyRE produces a re-encrypted ciphertext or ⊥ [17].
Pr[(, ) ← KGen(), {(, ) ← KGen()}, |
{← ReKeyGen(, )}, |
{ ← ReKeyGen(, )}, |
i = 2, ⋯, |
α ← A(, {, }, {}, {}): |
α = ] |
[17]. |
3.3. Algorithms
- ·
- SysParm() → λ: The parameter generating algorithm SysParm takes a security parameter s as input and generates a set of system parameters λ.
- ·
- KGen() → pk, sk, k: Given λ as input, the key generating algorithm KGen generates a public key pk, a private key sk and a secret key k with a control center CC for a symmetric cryptographic system(pseudorandom function).
- ·
- EnC(pk,m) → C: Given a public key pk and a message m as input, the encryption algorithm EnC produces a ciphertext C.
- ·
- Ord_ → : CC analyses the report R, produces an Order and transmits it to a participant P.
- ·
- Rpt_CC( → Act: According to the received order , P reacts the Act and reports it to CC.
- ·
- RKeyGen() → : Given secret keys and as input, the re-encryption key generation algorithm RKeyGen generates unidirectional re-encryption keys .
- ·
- PrxyRE( → RE: STP (semi-trusted party) decrypts the encryption of the re-encryption key . With this, STP re-encrypts C, then produces the re-encryption RE.
- ·
- DeC ) → m: Given a re-encryption key and as input, the decryption algorithm DeC outputs the original message m.
- ·
- Trt_Str → : Upon input of a treatment by the participant P, this treatment and storage algorithm outputs the encryption for . Then, is stored in CS.
4. Construction of UPF Model
4.1. System Setup
SysParm(1s) Construction
- Input: s: security parameter.
- Output: λ = {}: system parameters’ set.
4.2. Registration and Encryption
4.2.1. KGen() Construction
- Input: .
- Output: pk, sk, k.
4.2.2. EnC Construction
- Input: pk,m.
- Output: .
4.3. Accident Occurrence
4.3.1. Ord_P(R) Construction
- Input: R(reporting).
- Output: .
4.3.2. Rpt_CC() Construction
- Input: .
- Output: , .
4.3.3. Ord_F Construction
- Input: .
- Output: .
4.4. Proxy Re-Encryption
4.4.1. RKeyGen() Construction
- Input: , .
- Output: , .
4.4.2. PrxyRE ( Construction
- Input: .
- Output: .
4.5. Treatment
4.5.1. DeC( ) Construction
- Input: .
- Output: .
4.5.2. Trt_Str Construction
- Input: .
- Output: .
4.6. Whole Protocol Flow
1. System Setup •SysParm |
2. Registration and Encryption 2.1. KGen → pk, sk, k 2.2. EnC → |
3. Accident Occurrences 3.1. Ord_P • 3.2. Rpt_CC • 3.3. Ord_F • |
4. Proxy Re-Encryption 4.1. RKeyGen • • 4.2. PrxyRE •- • |
5. Treatment 5.1. DeC • 5.2. Trt_Str • • |
5. Security Analysis
5.1. Proof of Security
- ·
- If affirmative, Δ initializes ) and records this information in table .
- ·
- Otherwise, executes KGen → , ) and provides to A, and records ) in .
- ·
- If is not found, terminates.
- ·
- In case is the attacked public key, reports failure and aborts.
- ·
- Otherwise, replies to A with ) and records into .
- ·
- If either is missing, terminates.
- ·
- Subsequently, checks whether , ) is present in . If it is, returns ) to A. If not:
- -
- If is in , or not the guessed attacked public key, responds with , ) = , ), recording , ) in .
- -
- If is the guessed attacked public key and is not in , selects random numbers , computes , sets = , and records , ) in .
- -
- If is the guessed attacked public key and is in , reports failure.
- ·
- If is the guessed attacked public key and is in , selects random numbers , puts = , and returns ) to A, stores it in
- ·
- Otherwise, calls to obtain , and returns PrxyRE( and stores it in
- ·
- If is not the guessed attacked re-encryption key, knows = from . responds A with
- ·
- If is the guessed attacked re-encryption key and , searches ) in or in , for .
- -
- If it does exist,
- -
- If it does not exist, aborts.
5.2. Proxy Forgery Attack
- (1)
- Proxy server forgery: Attackers either build proxy servers under their control or exploit and use proxy servers that already exist.
- (2)
- Man-in-the-middle attack: An attacker intercepts communications between the victim (client) and the target server. We assume that the proxy server is controlled by an attacker.
- (3)
- Data manipulation or interception: An attacker can intercept communications in the middle and view or manipulate data. This can lead to attacks such as leaking confidential information, stealing session tokens, or injecting malicious code.
- (1)
- To successfully carry out a forgery attack, instead of CC (Control Center), the CS (Cloud Server) needs to compute , , then transmit RE= and to E. CS can calculate , by generating random values for private keys , and random numbers α, γ. The re-encryption values are computed as . CS then sends and to E for decryption. However, a challenge arises in transmitting to allow E to decrypt , the value of must be known. Since is a secret key pre-registered for secure communication between E and CC, an attacker cannot determine its value, preventing the creation of a valid . Consequently, E cannot decrypt it, rendering RE undecryptable.
- (2)
- In order for the CS to intercept and succeed in MitMs (man-in-the-middle attacks) and data manipulation, the attacker must first intercept and decrypt and transmitted by CC to CS and E. However, as the attacker cannot know the secret keys and of CS and E, respectively, eavesdropping becomes impossible, and as a result, MitMs and data manipulation also become impossible.
6. Efficiency Analysis
6.1. Complexity Analysis
- SysPrm Construction:
- ·
- Time Complexity: O(g(s)), where g is the complexity of the parameter generation algorithm.
- ·
- Space Complexity: O(L).
Registration and Encryption - KeyGen Construction:
- ·
- Time Complexity: O(L) for selecting random values.
- ·
- Space Complexity: O(L).
- Enc Construction:
- ·
- Time Complexity: O() for modular exponentiation.
- ·
- Space Complexity: O(L).
Accident Occurrence - Ord_P(R) Construction:
- ·
- Time Complexity: O(1).
- ·
- Space Complexity: O(L).
- Rpt_CC Construction:
- ·
- Time Complexity: O(1).
- ·
- Space Complexity: O(L).
- Ord_F Construction:
- ·
- Time Complexity: O(1).
- ·
- Space Complexity: O(L).
Proxy Re-Encryption - RKeyGen Construction:
- ·
- Time Complexity: O(L).
- ·
- Space Complexity: O(L).
- PrxyRE Construction:
- ·
- Time Complexity: O() (involving exponentiation and multiplication of keys and messages).
- ·
- Space Complexity: O(L).
Treatment - Dec Construction:
- ·
- Time Complexity: O() (involving exponentiation and decryption).
- ·
- Space Complexity: O(L).
- Trt_Str Construction:
- ·
- Time Complexity: O(1) (assuming treatment and storage are basic operations).
- ·
- Space Complexity: O(L).
Simplifying, we can approximate the overall complexity as:Ototal(L).
6.2. Complexity Comparison with Other Methods
6.3. Performance Analysis for Re-Encryption/Decryption
7. Conclusions
Funding
Institutional Review Board Statement
Informed Consent Statement
Data Availability Statement
Conflicts of Interest
References
- Rabieh, K.; Akkaya, K.; Karabiyik, U.; Qamruddin, J. A secure and cloud-based medical records access scheme for on-road emergencies. In Proceedings of the 15th IEEE Annual Consumer Communications & Networking Conference (CCNC), Las Vegas, NV, USA, 12–15 January 2018. [Google Scholar]
- Chow, S.; Weng, J.; Yang, Y.; Deng, R. Efficient Unidirectional Proxy Re-Encryption. In Proceedings of the AFRICACRYPT 2010, Stellenbosch, South Africa, 3–6 May 2010; Volume 6055, pp. 316–332. [Google Scholar]
- Bae, M.; Kim, H. Authentication and Delegation for Operating a Multi-Drone System. Sensors 2019, 19, 2066. [Google Scholar] [CrossRef] [PubMed]
- Aydinm, Y.; Kurt, G.; Ozdemir, E.; Yanikomeroglu, H. Group Authentication for Drone Swarms. In Proceedings of the 2021 IEEE International Conference on Wireless for Space and Extreme Environments (WiSEE), Cleveland, OH, USA, 12–14 October 2021. [Google Scholar]
- Zhang, Y.; He, D.; Li, L.; Chen, B. A lightweight authentication and key agreement scheme for Internet of Drones. Comput. Commun. 2020, 154, 455–464. [Google Scholar] [CrossRef]
- Sekar, A.; Maria, A.; Al-Turjman, F.; Altrjman, C. Anonymous Mutual and Batch Authentication with Location Privacy of UAV in FANET. Drones 2022, 6, 14. [Google Scholar]
- Robakowska, M.; Ślęzak, D.; Żuratyński, P.; Tyrańska-Fobke, A.; Robakowski, P.; Prędkiewicz, P.; Zorena, K. Possibilities of Using UAVs in Pre-Hospital Security for Medical Emergencies. Int. J. Environ. Res. Public Health 2022, 19, 10754. [Google Scholar] [CrossRef] [PubMed]
- Mambo, M.; Okamoto, E. Proxy cryptosystems: Delegation of the power to decrypt ciphertexts. IEICE Trans. Fund. Electron. Commun. Comput. Sci. 1997, 80, 54–63. [Google Scholar]
- Blaze, M.; Bleumer, G.; Strauss, M. Divertible protocols and atomic proxy cryptography. In Proceedings of the Eurocrypt ’98, Helsinki, Finland, 31 May–4 June 1998; Volume 1403, pp. 127–144. [Google Scholar]
- Abdel-Malek, M.; Akkaya, K.; Bhuyan, A.; Ibrahim, A. A Proxy Signature-Based Swarm Drone Authentication With Leader Selection in 5G Networks. IEEE Access 2022, 10, 57485–57498. [Google Scholar] [CrossRef]
- 5G D2D ProSe; Technical Speci_Cation Group Services and System Aspects; Proximity-Based Services (ProSe); Security Aspects, Document TS 33.303 V16.0.0 Technical Specifkcation (Release 16). 3GPP: Valbonne, France, 2020.
- Rabieh, K.; Mercan, S.; Akkaya, K.; Baboolal, V.; Aygun, R.S. Privacy-preserving and efficient sharing of drone videos in public safety scenarios using proxy re-encryption. In Proceedings of the 2020 IEEE 21st International Conference on Information Reuse and Integration for Data Science, Las Vegas, NV, USA, 11–13 August 2020. [Google Scholar]
- Kan, J.; Zhang, J.; Liu, D.; Huang, X. Proxy Re-Encryption Scheme for Decentralized Storage Networks. Appl. Sci. 2022, 12, 4260. [Google Scholar] [CrossRef]
- Ateniese, G.; Fu, K.; Hohenberger, S.; Green, M. Improved proxy re-encryption schemes with applications to secure distributed storage. In ACM Transactions on Information and System Security; Association for Computing Machinery: New York, NY, USA, 2006; Volume 9. [Google Scholar] [CrossRef]
- Canetti, R.; Hohenberger, S. Chosen-ciphertext secure proxy re-encryption. In Proceedings of the CCS ‘07: Proceedings of the 14th ACM conference on Computer and Communications Security, Alexandria, VA, USA, 29 October–2 November 2007; pp. 185–194. [Google Scholar]
- Libert, B.; Vergnaud, D. Unidirectional Chosen-Ciphertext Secure Proxy Re-encryption. In Proceedings of the PKC 2008, Barcelona, Spain, 9–12 March 2008; Volume 4939, pp. 360–379. [Google Scholar]
- Shao, J.; Cao, Z. CCA-Secure Proxy Re-Encryption without Pairings. In Proceedings of the PKC 2009, Irvine, CA, USA, 18–20 March 2009; Sringer: Berlin/Heidelberg, Germany, 2009; Volume LNCS 5443, pp. 357–376. [Google Scholar]
- Weng, J.; Chen, M.; Yang, Y.; Deng, R.; Chen, K.; Bao, F. CCA-Secure Unidirectional Proxy Re-Encryption in the Adaptive Corruption Model without Random Oracles. Inf. Sci. 2010, 53, 593–606. [Google Scholar] [CrossRef]
- Menezes, A.J.; Oorschot, P.C.; Vanstone, S.A. Handbook of Applied Cryptography, 1st ed.; CRC Press: Boca Raton, FL, USA, 1996. [Google Scholar]
- Bresson, E.; Chevassut, O.; Pointcheval, D. The Group Diffie-Hellman Problems. In Proceedings of the SAC 2002, St. John’s, NF, Canada, 15–16 August 2002; Volume LNCS 2595, pp. 325–338. [Google Scholar]
- Song, D.X.; Wagner, D.; Perrig, A. Practical techniques for searches on encrypted data. In Proceedings of the IEEE Symposium on Security and Privacy, Berkeley, CA, USA, 14–17 May 2000; pp. 44–55. [Google Scholar]
Schemes | 2008 | 2009 | 2010 | 2022 | Ours |
---|---|---|---|---|---|
Enc | |||||
ReKeyGen | |||||
ReEnc: | N/A | ||||
Dec | |||||
Security | CCA, RCCA (Replayable CCA) | CCA, CR | CCA | CCA, CR | CCA, CR |
Assumption | 3-QDBDH | DDH | CDH | CDH | GDDH |
Pairing Free | X | O | O | O | O |
Hardware | CPU | 11th Gen Intel(R) Core™ i5-1155G7 @ 2.50GHz |
Memory | 16G | |
Disk | 1TB | |
System type | 64-bit operating system, ×64-based processor | |
OS | Windows 11 Home | |
Language | Python 3.12 |
Pseudorandom Function f | AES 128 bits |
---|---|
Group parameter | cyclic group |
Modulus p | 2048 bits |
Order q | 256 bits |
Generator g | 2048 bits |
Crypto library | PyCryptodome |
Time measurement function | time.time() |
Message Size (Bytes) | Re-Encryption Process (Seconds) | Decryption (Seconds) |
---|---|---|
100 | 0.015946626663208008 | 0.0 |
500 | 0.016944408416748047 | 0.0 |
1000 | 0.01795029640197754 | 0.0 |
2000 | 0.020200729370117188 | 0.0 |
Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content. |
© 2024 by the author. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (https://creativecommons.org/licenses/by/4.0/).
Share and Cite
Park, H.-A. Secure Proxy Re-Encryption Protocol for FANETs Resistant to Chosen-Ciphertext Attacks. Appl. Sci. 2024, 14, 761. https://doi.org/10.3390/app14020761
Park H-A. Secure Proxy Re-Encryption Protocol for FANETs Resistant to Chosen-Ciphertext Attacks. Applied Sciences. 2024; 14(2):761. https://doi.org/10.3390/app14020761
Chicago/Turabian StylePark, Hyun-A. 2024. "Secure Proxy Re-Encryption Protocol for FANETs Resistant to Chosen-Ciphertext Attacks" Applied Sciences 14, no. 2: 761. https://doi.org/10.3390/app14020761
APA StylePark, H.-A. (2024). Secure Proxy Re-Encryption Protocol for FANETs Resistant to Chosen-Ciphertext Attacks. Applied Sciences, 14(2), 761. https://doi.org/10.3390/app14020761