You are currently viewing a new version of our website. To view the old version click .
Applied Sciences
  • Article
  • Open Access

16 January 2024

Secure Proxy Re-Encryption Protocol for FANETs Resistant to Chosen-Ciphertext Attacks

Department of Computer Engineering, College of AI Convergence, Honam University, 120, Honamdae-gil, Gwangsan-gu, Gwangju 62399, Republic of Korea
This article belongs to the Special Issue Advanced Technologies for Information Security and Privacy

Abstract

In emergency situations, ensuring the secure transmission of medical information is critical. While existing schemes address on-road emergencies, off-road scenarios present unique challenges due to hazardous locations inaccessible to conventional vehicles. This research introduces a protocol for off-road emergencies, leveraging flying ad hoc networks (FANETs) formed by drones. The protocol, designed for users receiving emergency treatment, employs cryptographic techniques to protect sensitive information. To overcome the challenge of decrypting user medical records at emergency centers without the healthcare provider’s key, proxy re-encryption is employed. The control center (CC) securely generates encryption and decryption keys, facilitating the re-encryption process by the cloud server (CS) and transmission to the emergency center (E). The proposed protocol, free from pairing functions, underwent security and efficiency analyses, demonstrating resilience against chosen-ciphertext attacks (CCA) and collusion resistance (CR). Execution times of approximately 0.02 and 0.0 s for re-encryption and decryption processes, respectively, for a message size of 2000 bytes highlighted the efficiency of the protocol. The research contributes a secure and efficient proxy re-encryption protocol for off-road emergency medical information transmission within FANETs.

1. Introduction

In emergency situations, the secure transmission of medical information requires significant security technologies. Ref. [] proposed a scheme for safe medical information transmission in on-road emergency situations. However, emergencies can occur not only on-road, but also off-road, presenting the challenge that off-road emergency locations are often inaccessible to conventional vehicles due to their hazardous nature. This became my motivation and expanded into the following research. To address hazardous emergency locations, drones are commonly employed for initial situational assessment, forming a communication network known as FANET (flying ad hoc network) with other participants.
In this paper, we establish off-road emergency scenarios and design an information transmission protocol for users who are receiving emergency treatment at a hospital with a smartphone. The protocol utilizes cryptographic techniques to prevent the exposure of sensitive user information. For a patient arriving at the emergency room of a nearby hospital due to an accident, accurate and effective treatment requires healthcare providers to have detailed knowledge of the patient’s medical history. Typically, user medical records are encrypted with the secret key of the healthcare provider and stored on a cloud server. Notably, the challenge arises as to whether the medical staff of the emergency center, without knowledge of the healthcare provider’s key, can decrypt the user’s medical records stored in encrypted form. To solve this issue, we employed proxy re-encryption.
The trusted third party, the control center (CC), generates encryption and decryption keys for re-encryption and securely transmits them to the cloud server (CS) and emergency center (E). The semi-trusted entity CS then uses these keys to re-encrypt the user’s medical records, sending them to the emergency center. The emergency center can subsequently decrypt the re-encrypted medical records using the received key from CC.
The proposed proxy re-encryption protocol does not use pairing functions and is secure against chosen-ciphertext attacks (CCA) and is collusion-resistant (CR). The re-encryption keys are also transmitted in encrypted form, ensuring the confidentiality of the original encryption keys. Security analysis is conducted in Section 5, where we formally prove unidirectional proxy re-encryption CCA security, prove unidirectional proxy re-encryption collusion-resistant (CR) security, and explain the defense mechanism against proxy forgery attacks. In Section 6, an efficiency analysis is conducted. The complexity of the proposed scheme is analyzed, and based on that, a comparative analysis is performed with relevant studies. When compared with the best efficient paper [], it was found to exhibit the same complexity. The implementation of the re-encryption and decryption processes, for time measurements for a message size of 2000 bytes, resulted in execution times of approximately 0.02 and 0.0 s, respectively. Consequently, the paper proposes that the proxy re-encryption protocol demonstrates a secure and efficient performance, free from the use of pairing functions, and resilient against CCA and collusion attacks.
Our paper is structured as follows: Section 1 is an introduction, providing an overview of the research’s significance, methodology, and overall results. In Section 2, we delve into related studies and establish the application scenarios to be employed in this paper. Section 3 constitutes the security building blocks of this paper, introducing seven algorithms. Utilizing these algorithms, Section 4 constructs a protocol for the application scenarios. Section 5 conducts a security analysis, while Section 6 performs an efficiency analysis. Finally, Section 7 concludes the paper.

3. Preliminaries

3.1. Notations

·
f : pseudorandom function.
·
f 1 : reverse function of f , in other words, decryption function of f .
·
i or j: each participant such as H or E.
·
k i : secret key between participant i and CC.
·
f k i : encryption using pseudorandom function f with a secret key k i .
·
x i : private key of participant I.
·
y i = g x i : public key of participant I.
·
m : a message.
·
C =   ( C 1 , C 2 ) : ElGamal-style ciphertext of m .
·
D : decryption of m .
·
R E =   ( R 1 , R 2 ) : re-encryption of m .
·
r ,   α ,   γ : randomly generated numbers every time.
·
O i : an order from CC to participant i.
·
R i : report of participant i.
·
S 1 ,   S 2 / S 3 , S 4 : re-encryption/decryption keys.
·
O : oracle.

3.2. Security Building Blocks

Definition 1.
Discrete Logarithm Problem (DLP): It is a hard problem that involves finding the integer x ( 0 x p 2 ) such that α x β (mod p), given a prime p, a generator α of Z p * , and an element β Z p *  [].
Definition 2.
Decisional Diffie–Hellman Problem (DDH): Let G be a group with prime order q, and let g be a generator of G. The decisional Diffie–Hellman (DDH) problem involves distinguishing between two types of triplets: ( g a ,   g b ,   g a b ) and ( g a ,   g b ,   g c ), where random elements a ,   b ,   c   { 1 , , q 1 } .
The experiment with a polynomial-time adversary A is as follows: flip a coin δ to obtain either 0 or 1, if  δ = 1 ,   s e t   c = a b ;   o t h e r w i s e ,   c h o o s e   c   a t   r a n d o m .  It is said that the DDH problem is hard if, for any polynomial-time adversary A, the absolute value of the difference between the probability P r ( A G ,   g a ,   g b ,   g c = δ   ) 1 2    is negligible [].
Definition 3.
Group Decisional Diffie–Hellman (GDDH): The G D D H Γ  problem is ( T , ε )–intractable if there is no ( T , ε )– G D D H Γ -distinguisher in G for all polynomial T  and non-negligible ε . (Refer to []):
The ( T , ε )– G D D H Γ -distinguisher in G is a probabilistic Turing machine  Δ  running in time  T  such that  A d v G G D D H Γ Δ = [ P r x i Δ G D H Γ * = 1 ] [ P r x i , r Δ G D H Γ S = 1 ] ε .
Remark 1.
The Decisional Diffie–Hellman Assumption: Let us define two additional distributions from the GDH-Distribution:
G D H Γ * = { ( J ,   g Π j j x j ) J Γ ,   ( I n ,   g x 1 x n ) x 1 ,     , x n R Z q }
  G D H Γ S = { ( J ,   g Π j j x j ) J Γ ,   ( I n ,   g r ) x 1 ,     , x n , r R Z q }
Definition 4.
Pseudorandom Function (PRF): It is said that F :   K f × X Y   i s   ( t , q , ϵ ) -secure pseudorandom function if any oracle algorithm, which makes a maximum of q oracle queries and has a running time of at most t, exhibits an advantage A d v A < ϵ . The advantage A d v A , representing the probability of adversary A succeeding in an attack, is defined as follows: A d v A = Pr A F k = 1 P r [ A R = 1 ] . Here, R denotes a randomly chosen function uniformly selected from the set of all mappings from X to Y . The probabilities are considered with respect to the selection of k and R [].
Definition 5.
Pseudorandom Generator (PRG): It is said that G r : K G r S    is a  ( t , ϵ ) -secure pseudorandom generator if any algorithm A, operating within a time limit of t, demonstrates an advantage A d v A < ϵ . The advantage  A d v A  is defined as follows: A d v A = Pr A ( G r U K G r ) = 1 P r [ A ( U S ) = 1 ] . The random variables U K G r  and  U S are uniformly distributed over the sets K G r  and S, respectively [].
Definition 6.
Public Key Encryption (PKE). The PKE system consists of three probabilistic polynomial-time (PPT) algorithms (KGen, EnC, DeC):
-
KGen( 1 k ) → (pk, sk). Given the security parameter 1 k , 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 ⊥ [].
ElGamal: ElGamal cryptography provides security based on the difficult mathematical problem of finding the private key x from the public key y.
·
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 y = g x   mod  p.
·
Encryption:
·
Choose a random k such that 0 < r < p − 1.
·
Compute: C 1 = g r  mod p and C 2 = ( y r · m )    mod p to generate the ciphertext C = ( C 1 , C 2 ) .
·
Decryption:
·
Compute: D = C 2 ·   C 1 x = m  [].
Definition 7.
Unidirectional Proxy Re-Encryption. The UniPRE(unidirectional proxy re-encryption) scheme is comprised of a set of PPT algorithms (KGen, RKeyGen, EnC, PrxyRE, DeC):
-
KGen, EnC, DeC: Similar to those found in public key encryption.
-
RKeyGen( s k i , p k j ) →  r k i j   . Given a secret key s k i , a public key p k j , the re-encryption key generation algorithm, RKeyGen, produces a unidirectional re-encryption key r k i j   .
-
PrxyRE ( r k i j   , C 1 ) →  C 2 . Given a re-encryption key r k i j    and a ciphertext C 1 , the re-encryption algorithm PrxyRE produces a re-encrypted ciphertext C 2  or ⊥ [].
Definition 8.
Uni-PRE-CCA game. This security game based on [] is too long and will be explained later in the proof. So, here, we will omit it for now and refer to [] for details.
Definition 9.
Uni-PRE-CR(collusion resistance) security. It is said that a UniPRE scheme is collusion-resistant if, for any polynomially bounded adversary A , the probability described below is negligible:
Pr[( s k 1 , p k 1 ) ← KGen( 1 k ), {( s k i , p k i ) ← KGen( 1 k )},
{ r k i 1 ← ReKeyGen( s k i , p k 1 )},
{ r k 1 i ← ReKeyGen( s k 1 , p k i )},
i = 2, ⋯,
α ← A( p k 1 , { p k i , s k i }, { r k 1 i }, { r k i 1 }):
α = s k 1 ]
[].

3.3. Algorithms

Our scheme consists of the following algorithm, which is based on [] and that we modified:
·
SysParm( 1 s ) → λ: 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_ P ( R )  →  O p : CC analyses the report R, produces an Order O p  and transmits it to a participant P.
·
Rpt_CC( O p )  → Act: According to the received order O p , P reacts the Act and reports it to CC.
·
RKeyGen( s k 1 ,   s k 2 ) →  r k 1 2 1 ,   r k 1 2 2 : Given secret keys s k 1 and s k 2 as input, the re-encryption key generation algorithm RKeyGen generates unidirectional re-encryption keys r k 1 2 1 ,   r k 1 2 2 .
·
PrxyRE( f k S T P r k 1 2 1 , C )  → RE: STP (semi-trusted party) decrypts the encryption of the re-encryption key f k S T P ( r k 1 2 1 ) . With this, STP re-encrypts C, then produces the re-encryption RE.
·
DeC ( f k E r k 1 2 2 , R E ) → m: Given a re-encryption key f k E   r k 1 2 2 and R E as input, the decryption algorithm DeC outputs the original message m.
·
Trt_Str ( m P )  →  C P : Upon input of a treatment m P   by the participant P, this treatment and storage algorithm outputs the encryption C P   for m P . Then, C P   is stored in CS.

4. Construction of UPF Model

In this section, we construct a security model UPF (unidirectional proxy re-encryption in FANETs) which is composed of ten algorithms.

4.1. System Setup

SysParm(1s) Construction

  • Input: s: security parameter.
  • Output: λ = {   f ,   G r ,   g ,   G ,   C ,   D ,   R E ,   i }: system parameters’ set.
The basis of the unidirectional proxy re-encryption system is established. f : { 0 , 1 } k × { 0 , 1 } *  →  { 0 , 1 } k   is a pseudorandom function and G r is a pseudorandom generator. G is a group of order p which is a large prime and g is a generator of a group G. i is each participant of group G. C and D are encryption and decryption functions, and RE is a re-encryption function.

4.2. Registration and Encryption

4.2.1. KGen( λ ) Construction

  • Input: λ .
  • Output: pk, sk, k.
Key materials are generated. pk and sk are the public key and private key for ElGamal encryption and k is the secret key shared with CC in advance for pseudorandom function f.

4.2.2. EnC Construction

  • Input: pk,m.
  • Output: C = ( C 1 ,   C 2 ) .
The first encryption for message m is processed, where an ElGamal algorithm is used as an encryption function. When we assume that the healthcare provider (H) encrypts their information m, the public key is g x H ( = y ) and the ciphertext is C 1 = g r ,   C 2 = y r · m .

4.3. Accident Occurrence

4.3.1. Ord_P(R) Construction

  • Input: R(reporting).
  • Output: O D .
CC checks R (reporting) for an accident, then gives orders O p   to each participant P (D and F). CC orders D to take a detailed shot, and F to make an initial response. The communications in this step are made in plaintext.

4.3.2. Rpt_CC( O p ) Construction

  • Input: O D .
  • Output: f k D ( R D ) , f k F ( R F ) .
According to the order O D , the drone takes some actions. Then, it encrypts and transmits the detailed video file report R D to the CC in real time, and F also reports the processing status R F  to the CC. All communications from this step are encrypted.

4.3.3. Ord_F Construction

  • Input: f k D ( R D ) .
  • Output: f k F ( O F 2 ) .
CC checks and analyzes R D after decrypting f k D R D   with security key k D . Then, CC sends F the encrypted order f k F ( O F 2 ) , which includes information about emergency medical agencies nearby.

4.4. Proxy Re-Encryption

4.4.1. RKeyGen( s k 1 , s k 2 ) Construction

  • Input: x H , x E .
  • Output: f k C S ( S 1 ,   S 2 ) , f k E ( S 3 ,   S 4 ) .
This algorithm is for the setting of re-encryption keys. CC generates random numbers α ,   γ and then computes S 1 = x H α , S 2 = x E α   γ ,   S 3 = x E α ,   S 4 = x E γ . We put r k 1 2 1 = ( S 1 ,   S 2 ) as re-encryption key and r k 1 2 2 = ( S 3 ,   S 4 ) as decryption key for the re-encrypted message. With this, CC encrypts S 1 ,   S 2 with the secret key k C S , and S 3 ,   S 4 with k E . Then, CC transfers the generated re-encryption/decryption keys to CS and E.

4.4.2. PrxyRE ( f k C S r k 1 2 1 , C ) Construction

  • Input: f k C S r k 1 2 1 , C .
  • Output: R = ( R 1 , R 2 ) .
CS decrypts the received encryption of r k 1 2 1 ;     f 1 ( f k C S ( r k 1 2 1 ) ) = r k 1 2 1 = ( S 1 ,   S 2 ) , where CS is a STP(semi-trusted party). With them, CS re-encrypts the stored user cipher text C =   ( C 1 ,   C 2 ) as follows:
R E = C 1 S 1 , C 2 S 2 = ( g r ) x H α , ( y r m ) x E α γ = ( R 1 , R 2 ) . Here, y = g x H .
Then, CS transmits the re-encryption R 1 ,   R 2 to E.

4.5. Treatment

4.5.1. DeC( f k E r k 1 2 2 ,   R E ) Construction

  • Input: f k E r k 1 2 2 ,   R E = R 1 , R 2 .
  • Output: m .
E decrypts the cipher text received from CC to obtain the decryption keys r k 1 2 2 =   ( S 3 ,   S 4 ) . Then, it decrypts R E = R 1 ,   R 2 with S 3 ,   S 4 .
D =   ( R 2 · ( R 1 ) S 4 ) x E S 3 , S 4 = ( ( y r m ) x E α γ ) ·   ( ( g r ) x H α ) x E γ ) x E x E α ·   x E γ = ( g x H x E r α γ ·   m x E α γ · ( g r x H α   ) x E γ ) x E x E α ·   x E γ = (   m x E α γ ) 1 x E α γ = m

4.5.2. Trt_Str Construction

  • Input: m E .
  • Output: C E .
E treats the patient. Thereafter, E encrypts the resulting m E of treating the patient with H’s public key and sends it to H. H checks the received C E   and stores it in CS.

4.6. Whole Protocol Flow

1. System Setup
 •SysParm
2. Registration and Encryption
 2.1. KGen → pk, sk, k
 2.2. EnC →  C = C 1 ,   C 2 = ( g r ,   y r · m )
3. Accident Occurrences
 3.1. Ord_P
 • CC   O D   D , CC   O F   F
 3.2. Rpt_CC
 • D   f k D ( R D )   CC , F   f k F ( R F )   CC
 3.3. Ord_F
 • CC   f k F ( O F 2 )   F
4. Proxy Re-Encryption
 4.1. RKeyGen
 • CC   computes :   S 1 = x H α ,   S 2 = x E α   γ ,   S 3 = x E α ,   S 4 = x E γ
 • CC   f k C S ( S 1 ,   S 2 )   CS
f k E S 3 ,   S 4   E
 4.2. PrxyRE
 • CS re - encrypts :   R E = ( R 1 ,   R 2 ) = C 1 S 1 ,     C 2 S 2  
 • CS   ( R 1 ,   R 2 ) = C 1 S 1 ,     C 2 S 2     E
5. Treatment
 5.1. DeC
 • E   decrypts :   D   =   ( R 2 ·   ( R 1 ) S 4 ) x E S 3 ,   S 4 = m  
 5.2. Trt_Str
 • E   encrypts :   C E = C 1 ,   C 2 = g r ,   y r · m E ,   w h e r e   y = g x H
 • E     C E   H     C E     CS

5. Security Analysis

5.1. Proof of Security

Theorem 1.
(Unidirectional Proxy Re-Encryption CCA Security) UPF(unidirectional proxy re-encryption in FANETs) is secure according to Uni-PRE-CCA game, if GDDH is hard.
Proof. 
We use contraposition. A is assumed as an adversary that wins the Uni-PRE-CCA game with advantage ε. We construct the adversary Δ , which uses A as a subroutine and breaks the GDDH with non-negligible advantage. □
Phase 1. The adversary A initiates queries q 1 ,     , q n , with each q i being one of the following:
The oracle O p k (public key generation): When provided with an index i, Δ conclusively determines whether p k i   is the attacked public key p k .
·
If affirmative, Δ initializes ( g ,   g r ,   g x ,   g x r ) and records this information in table T k .
·
Otherwise, Δ  executes KGen →  ( p k i , s k i ) and provides  p k i ( = g x )  to A, and records ( g ,   g r ,   g x ,   g x r ,   x ( = s k ) ) in T k .
O s k (secret key generation): Given the input p k X = ( g ,   g r ,   g x ,   g x r ) , Δ verifies the existence of p k X in T k .
·
If p k X is not found, Δ terminates.
·
In case p k X is the attacked public key, Δ reports failure and aborts.
·
Otherwise, Δ replies to A with ( p x ,   q x ) and records p k X into T s k .
O r k (re-encryption key generation): Given the input ( p k X ,   p k Y ), Δ verifies the existence of both p k X ,     p k Y in T k .
·
If either is missing, Δ terminates.
·
Subsequently, Δ checks whether ( p k X ,   p k Y , r k X Y 1 ,   r k X Y 2 ) is present in T r k . If it is, Δ returns   ( r k X Y 1 ,   r k X Y 2 ) to A. If not:
-
If p k X is in T s k , or not the guessed attacked public key, Δ responds with ( f X r k X Y 1 , f Y r k X Y 2 ) = ( f X S 1 ,   S 2 , f Y S 3 ,   S 4 ) R K e y G e n s k X ,   s k Y , recording ( p k X ,     p k Y , r k X Y 1 ,   r k X Y 2 ,   f X r k X Y 1 , f Y r k X Y 2 ) in T r k .
-
If p k X is the guessed attacked public key and p k Y is not in T s k , Δ selects random numbers x X ,   x Y ,   α , γ , computes S 1 ,   S 2 ,   S 3 ,   S 4 , sets r k X Y = ( r k X Y 1 ,   r k X Y 2 ) = ( S 1 ,   S 2 , S 3 ,   S 4 ) , and records ( p k X ,     p k Y ,   r k X Y 1 ,   r k X Y 2 ,   f X r k X Y 1 , f Y r k X Y 2 ) in T u r k .
-
If p k X is the guessed attacked public key and p k Y is in T s k , Δ reports failure.
O r e (re-encryption): Upon receiving input ( p k X ,   p k Y , C ), Δ verifies the existence of both p k X and p k Y in T k . If either is absent, Δ terminates. Subsequently, Δ parses C = ( C 1 ,   C 2 ) .
·
If p k X is the guessed attacked public key and p k Y is in T s k , Δ selects random numbers x X ,   x Y ,   α , γ , puts r k X Y = ( r k X Y 1 ,   r k X Y 2 ) = ( S 1 ,   S 2 , S 3 ,   S 4 ) , and returns ( r k X Y 1 ,   R 1 , R 2 ) to A, stores it in T u r e .
·
Otherwise, Δ calls O r k to obtain r k X Y , and returns PrxyRE( r k X Y 1 , C ) and stores it in T r e .
O d e c ( d e c r y p t i o n ) : When receiving input ( p k X ,   r k X Y 1 ,   R 1 ,   R 2 ), Δ checks whether r k X Y 1 is present in either T r k or T u r k . If it is absent in both, Δ terminates. However:
·
If r k X Y 1 is not the guessed attacked re-encryption key, Δ knows r k X Y 2 = S 3 ,   S 4 from T r k . Δ responds A with m D e c r k X Y 2 ,   R 1 , R 2 .
·
If r k X Y 1 is the guessed attacked re-encryption key and R E = ( r k X Y 1 ,   R 1 ,   R 2 ) , Δ searches ( p k X ,   p k Y ,   a * ,   b * ,   c * ,   d * ) in T u r k or ( a * ,   R 1 ,   R 2 ) in T u r e , for a * =   r k X Y 1 .
-
If it does exist, m D e c b * , R 1 , R 2 .
-
If it does not exist, Δ aborts.
Challenge. At a certain stage, A issues a challenge tuple ( p k # ,   m 0 ,   m 1 ) . If p k # is not the public key Δ guessed in oracle O p k , Δ declares failure and terminates. On the contrary, if p k # aligns with the guessed public key, Δ responds by randomly selecting b 0 , 1 and choosing random numbers x 1 ,   x 2 ,   α , γ .   Δ then sets: ( g r ,   R 1 = ( g r ) x 1 α ,   R 2 = ( g r ) x 1 · x 2 α · γ · m b x 2 α · γ ).
Phase 2.
O p k : Δ follows the Phase 1 response protocol.
O s k : When provided with p k i , if p k i = p k # , or ( p k # , p k i ) is found in the table T r k , Δ immediately terminates. Otherwise, Δ follows the Phase 1 response protocol.
O r k : When receiving input ( p k i , p k j ), if p k i = p k # , and p k j is in table T s k , Δ terminates. Otherwise, Δ  responds in line with the Phase 1 protocol.
O r e : On input ( p k i , p k j ,   C ), if ( p k i , C) = ( p k * ,   C * ) and p k j is present in the table T s k , Δ terminates. Otherwise, Δ responds as in Phase 1, except when p k i = p k # and C 1 ,   C 2   =   ( C 1 * ,   C 2 # ) . Δ should record the result ( p k j ,   g r ,   R 1 ,   R 2 ) in T d e r .
O d e c : On input ( p k i , r k i j 1 , R 1 , R 2 ), if ( p k i , r k i j 1 , R 1 , R 2 ) = ( p k # , ( r k 1 ) # ,   R 1 # ,   R 2 # ) or is in T d e r , or ( R 1 , R 2 ) = P r x y R E ( O r k p k # , p k i , C # ) , Δ terminates. Otherwise, Δ responds as in Phase 1.
Guess. A outputs a guess b’. If b = b’, Δ outputs 0 (GDDH instance). Otherwise, it outputs 1 (not a GDDH instance), because the encryption will be random for RE if and only if the challenge is not a GDDH tuple, Δ solves the GDDH challenge with the same advantage as A. In more detail, in the case of b = 0, R E = ( R 1 ,   R 2 ) = g 0 α x 1 ,   g 0 α x 1 · x 2 · γ · m x 2 α · γ = g 0 β , g 0 β δ τ · m = ( g 0 β , g 0 ρ · m ) . If b = 1, Δ returns a random value in reply to the GDDH challenge. If ρ = β δ τ , it is the encryption of RE. Otherwise, it is not an encryption.
It is shown that Δ can solve the GDDH problem ( ρ = β δ τ ) with non-negligible probability.
A d v Δ = Pr E x p Δ G D D H = 1 = Pr b = b = P r [ b = b b = 1 ] · Pr b = 1 + P r [ b = b b = 0 ] · Pr b = 0 = P r [ b = 1 b = 1 ] · 1 2 + P r [ b = 0 b = 0 ] · 1 2 = P r [ b = 1 b = 1 ] · 1 2 + ( 1 P r [ b = 1 b = 0 ] ) · 1 2 = 1 2 + 1 2 ( P r [ b = 1 b = 1 ] P r [ b = 1 b = 0 ] ) = 1 2 + 1 2 ( Pr E x p A U P F 1 = 1 Pr E x p A U P F 0 = 1 ) = 1 2 + 1 2 A d v A U P F = 1 2 + 1 2 ε
Theorem 2.
(Unidirectional Proxy Re-Encryption Collusion-Resistant(CR) Security) If f is a secure pseudorandom function and random numbers are generated from a secure pseudorandom generator, then scheme UPF is collusion-resistant.
Remark 2.
The cryptographic elements for the whole protocol are PRF (pseudorandom function, e.g., 128 bit-AES) and PRG (pseudorandom generator, e.g., middle-square method, Naor–Reingold pseudorandom function, etc.).
Proof. 
We assume C as an adversary against the Uni-PRE-CR with advantage ε and β as a distinguisher between random and pseudorandom. Here, we also use contraposition, so all we have to do is to construct β using C as a subroutine. C can collude and know the secret key (k) values of other pre-registered members. Since the encrypted and transmitted f k C S ( S 1 ,   S 2 ) , f k E ( S 3 ,   S 4 ) can be decrypted to S 1 ,   S 2 ,   ( S 3 ,   S 4 ) using the secret key, the re-encrypted message ( R 1 ,   R 2 ) can be decrypted to the original message m. Then, β will also be able to distinguish whether the challenged message is the result of an encrypted value or a random value. □

5.2. Proxy Forgery Attack

A proxy forgery attack is a type of security breach in which an attacker uses a forged proxy server to intercept or manipulate data on a specific network. Proxies are responsible for relaying or filtering communications between clients and servers, and attackers can forge such proxies to intercept and manipulate communications in the middle. The main characteristics and process of proxy forgery attacks are as follows:
(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.
Defense mechanism:
(1)
To successfully carry out a forgery attack, instead of CC (Control Center), the CS (Cloud Server) needs to compute S 1 = x H α ,   S 2 = x E α   γ ,   S 3 = x E α ,   S 4 = x E γ , then transmit RE= ( R 1 ,   R 2 ) = C 1 S 1 ,     C 2 S 2   and f k E S 3 ,   S 4 to E. CS can calculate S 1 , S 2 , S 3 , S 4 by generating random values for private keys x H , x E and random numbers α, γ. The re-encryption values R 1 ,   R 2 = C 1 S 1 ,     C 2 S 2   are computed as ( g r ) x H α ,   ( y r m ) x E α   γ . CS then sends f k E S 3 ,   S 4 and R 1 ,   R 2 to E for decryption. However, a challenge arises in transmitting f k E S 3 ,   S 4  to allow E to decrypt S 3 ,   S 4 , the value of k E must be known. Since k E 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 f k E S 3 ,   S 4 . 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 f k C S S 1 ,   S 2 and f k E S 3 ,   S 4 transmitted by CC to CS and E. However, as the attacker cannot know the secret keys k C S and k E 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

When L represents the number of bits in the prime used in the ElGamal scheme, efficiency is analyzed by representing the time and space complexity for each construction as a Big-O notation.
System Setup
  • 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( L 2 ) 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( L 2 ) (involving exponentiation and multiplication of keys and messages).
    ·
    Space Complexity: O(L).
    Treatment
  • Dec Construction:
    ·
    Time Complexity: O( L 2 ) (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)     O ( L 2 ) .

6.2. Complexity Comparison with Other Methods

Ref. [] was the first paper to present unidirectional chosen-ciphertext secure proxy re-encryption published in 2008. Ref. [], published by Shao et al. in 2009, was the first study to consider not only CCA but also CR. Ref. [] was the most efficient unidirectional proxy re-encryption published in 2010. Ref. [] was a scheme announced in 2022 that is not unidirectional, but is secure for CCA and CR.
We compared and analyzed the computational complexity of the four papers above to evaluate the proposed scheme. Here, L represents the number of bits in the modulus used in the scheme, k is the length of the generated key.
As shown in Table 1, the paper focusing on efficiency published in 2010 had the best performance out of the papers published before our study was proposed. So, it is necessary to compare our paper with the paper published in 2010. The computational complexity of the 2010 paper was O ( k L 2 ) , and our paper was O ( L 2 + k L ) . In complexity notation, O ( k L 2 ) and O ( L 2 + k L ) can be said to have the same complexity.
Table 1. Comparison with previous schemes.
All schemes are based on the assumption that the ‘Diffie Hellman problem is difficult’, and papers did not use pairing functions, apart from (2008).

6.3. Performance Analysis for Re-Encryption/Decryption

To evaluate the actual performance of the proposed proxy re-encryption protocol, we not only conducted a complexity analysis but also implemented the re-encryption and decryption processes to measure the time. Because the whole protocol heavily depends on network conditions and event situations, we only measured the core components of the proposed protocol, which are the re-encryption and decryption processes. The experimental environment is shown in Table 2.
Table 2. Experimental environments.
Cryptographic parameters and libraries are addressed in the following Table 3.
Table 3. Cryptographic parameters and libraries.
The experiment involved measuring the time for the re-encryption and decryption processes with message sizes set to 10 bytes, 100 bytes, 500 bytes, and 1000 bytes. The result is as follows in the Table 4.
Table 4. Processing time for each message size.
For the re-encryption process, it was observed that as the message size increased, the process time gradually increased. For a message size of 2000 bytes, an exceptionally fast performance of approximately 0.02 s was demonstrated. For the decryption process, all recorded times showed as 0.0 s. This was likely due to the elapsed time being extremely small and showing as 0 s.

7. Conclusions

This paper presents a secure proxy re-encryption protocol for FANETs that can be used to securely transmit medical information in off-road emergency situations. The proposed protocol utilizes cryptographic techniques, including proxy re-encryption, to protect sensitive user information and enables authorized participants to access the encrypted medical records without revealing the original encryption key. The use of proxy re-encryption allows for secure transmission of medical information even when the original encryption key is not known by the recipient.
The use of drones and smartphones in emergency communication networks can significantly improve the response time and accuracy of emergency medical services. The analysis results show that the proposed protocol is resistant to CCA, collusion attacks, and forgery attacks and effective in protecting user privacy and ensuring the secure transmission of medical information.
Our proposed protocol did not use a pairing function with severe computational overhead, but because it used an exponential operation, it required a time complexity of O ( L 2 + k L ) . The proposed protocol can be further improved by incorporating more advanced cryptographic techniques such as lightweight encryption or hybrid encryption technologies and optimizing the communication network.

Funding

This study was supported by research funds from Honam University, 2023.

Institutional Review Board Statement

Not applicable.

Data Availability Statement

Not applicable.

Conflicts of Interest

The author declares no conflict of interest.

References

  1. 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]
  2. 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]
  3. Bae, M.; Kim, H. Authentication and Delegation for Operating a Multi-Drone System. Sensors 2019, 19, 2066. [Google Scholar] [CrossRef] [PubMed]
  4. 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]
  5. 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]
  6. 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]
  7. 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]
  8. 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]
  9. 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]
  10. 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]
  11. 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.
  12. 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]
  13. Kan, J.; Zhang, J.; Liu, D.; Huang, X. Proxy Re-Encryption Scheme for Decentralized Storage Networks. Appl. Sci. 2022, 12, 4260. [Google Scholar] [CrossRef]
  14. 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]
  15. 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]
  16. 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]
  17. 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]
  18. 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][Green Version]
  19. Menezes, A.J.; Oorschot, P.C.; Vanstone, S.A. Handbook of Applied Cryptography, 1st ed.; CRC Press: Boca Raton, FL, USA, 1996. [Google Scholar]
  20. 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]
  21. 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]
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.

Article Metrics

Citations

Article Access Statistics

Multiple requests from the same IP address are counted as one view.