Page 76 - Read Online
P. 76

Jiang et al. J Surveill Secur Saf 2020;1:61-78  I  http://dx.doi.org/10.20517/jsss.2020.09                                          Page 69

                                           Table 1. Main notations in the proposed scheme
                             Notation                           Description
                                                Four hash functions
                             H 1 , H 2 , H 3 , H 4
                             msk                The master secret key
                                                The secret key of user i
                             d i
                                                The pseudonym of user i
                             P i
                                                The session key of user A and B
                             K AB
                             KAB                The auditing secret key of user A and B
                               {}σ
                             t, {s i }  ∈ [1, ]n  The file tag and set of block authenticators
                                 ii
                                                The warrant, version number, and time stamp of outsourced files
                             Λ, V N , T N
                                                The i-th block j-th sector data of file
                             c i,j
               5.1  System setup: Setup
               Once taking a security parameter   as input, the KGC randomly selects two multiplicative cyclic groups G
               and G  with prime order q, where g is a generator of G. e: G × G → G  denotes a bilinear map. After that,
                                                                           T
                    T
                                                                      a
               the KGC picks an integer ∈a  R  Z at random and computes g 1  = g  where ∈g  G.
                                          *
                                          q
               Next,νν  1  , , , ,ν u 1  ⋅⋅⋅ u s  ∈ G are uniformly chosen at random. Four collision-resistant hash functions
                      ,,
                                      R
                     0
                             
                                                 *
                                                                 *
                                      ,
               are chosen as follows: HH H 4 :{0,1} → G and H 3  :{0,1} → {0,1} . So, the system public parameter is
                                         ,
                                                                        
                                     1
                                        2
                                                         ,
                                                      ,
                                                   ,
                        ,
                PP = (,g g g 2  , , ,νν  , , , ,uν   1  ⋅⋅⋅  u ∈ R  G , H H H H 4 ). Finally, the master secret key msk is set as  msk  = g 2 a
                        1
                                                         3
                                                      2
                                                  1
                                           s
                             0
                               1
               with g 2  ∈G and keeps the msk in secret by the KGC.
               5.2  Registration: KeyGen
               The KGC runs the KeyGen algorithm to yield a shared secret key for users with the msk and public
               parameter PP. The registration procedure consists of two phases: PrivacyKeyGen and SecretKeyGen.
               (1) PrivacyKeyGen: First, the KGC generates and distributes the corresponding private key for every user
               who may be a patient or a consultant in e-healthy system. In detail, the KGC computes Q based on user’s
                                                                                            i
               identity as Q i  = H 1 (ID i ). Then, KGC calculates user privacy key as:
                                             d i  = g a 2  ⋅ H 1 (ID i )  (1)
               For example, KGC independently yields a private key d for patient A, and a private key d for the attending
                                                                                           B
                                                              A
               physician B. Then, the KGC sends d to ID . After receiving the d , user validates ID by calculating:
                                             i    i                  i              i
                                                   ?
                                                        ,
                                            e ( ,)=d g  ( e g g 1 ) (⋅e H 1 (ID i ),)g  (2)
                                               i
                                                       2
               If the above equation is true, the user ID adopts the private key d ; otherwise, the KGC fails to generate a
                                                  i
               valid privacy key.                                      i
                                                                                                         *
               (2) SecretKeyGen: To protect the identity of patient A, patient A randomly chooses a numberr A ∈ Z ,
                                                                                                         q
                                                                                                      R
               creates a pseudonym P A  = rQ , and sends it instead of his or her actual identity to B. Then, A and B
                                        ⋅
                                       A
                                          A
               can calculate a session key K , and this algorithm produces a secret key KAB for auditing. The specific
                                        AB
               algorithm is as follows:
                                                               ,
                                             K AB  =  ( e d A ,Q B ) = e (P d B )  (3)
                                                              A
                                             KAB = g 2 a ⋅ H 2 (K AB )
               5.3  Storage: Extract
               The storage procedure contains the following three phases: WarrantGen, AuthenticatorGen, and TagGen.
               (1) WarrantGen: When user uploads or updates a new medical data, the corresponding file information will
               be updated. For confirming some additional information about the source, type, and consistency of the files
   71   72   73   74   75   76   77   78   79   80   81