The mobile-health system, also known as the wireless body area network for remote patient monitoring, is a system used to remotely monitor the human body’s health status parameters in real time. The generalized signcryption can realize encryption, signature, and signcryption with only one key pair and one algorithm. To address the communication security requirement for the mobile-health system, Zhang et al. recently proposed a lightweight secure data transmission protocol for the mobile-health system, which uses a certificateless generalized signcryption scheme. However, Zhang et al.’s certificateless generalized signcryption scheme is insecure. In this article, we propose an improved certificateless generalized signcryption scheme and then give a rigorous security proof of it. The confidentiality of our improved scheme can be reduced to the computational Diffie–Hellman problem, and the unforgeability, the Elliptic Curve Discrete Logarithm problem. Performance evaluation shows that our scheme has only slightly increased computational and communicational costs compared with the original scheme, but it is more efficient than other certificateless generalized signcryption schemes existing at present. What is more, it is also an efficient scheme compared with those ones protecting the mobile-health system. Based on our scheme, the same lightweight secure data transmission protocol for the mobile-health system can also be constructed, just like the one based on the original scheme.
With the rapid development of the micro-electro-mechanical system (MEMS), integrated circuit, and wireless communication technology, the mobile-health (M-Health) system has become a research hotspot. The M-Health system, also referred to as the wireless body area network (WBAN)1 for remote patient monitoring, is a system where many low-power, intelligent, and miniaturized sensors are worn by or implanted in a human body to monitor his or her health status. These sensors collect personal health information (PHI) such as breathing rate, heart rate, and blood pressure and transmit them wirelessly to a controller like a mobile phone or a similar device. Then, the controller will send the PHI data to a remote health server, which will be processed by physicians in a timely manner. The general architecture of an M-Health system is depicted in Figure 1. The communication between the controller and the health server can be done via a cellular network or the Internet.2 In 2017, Zhang et al.3 proposed a lightweight secure data transmission protocol to protect the communication between the controller and the health server based on the cellular network. To alleviate the traffic overload problem in the cellular network, they adopted the Device-to-Device (D2D) communication technology4 which has attracted great attention in the literature recently. The D2D communication technology allows direct communication between user equipment (like mobile phones) with physical proximity to extend the battery lifetime, enhance users’ throughput, and improve resource utilization.4
General architecture of the M-Health system.
Zhang et al.’s protocol has the following advantages. (1) Data confidentiality and integrity: Data confidentiality means that the PHI data are encrypted, and the integrity means that if the PHI data are altered during the communication, then it can be discovered by the recipient. (2) Mutual authentication: It means that the M-Health client and the physician can authenticate each other to guarantee that they are communicating with the real peer. (3) Anonymity: The physician only needs to know the bio-information of the M-Health client, whereas all other private information, such as name, must be kept secret.5 In Zhang et al.’s scheme, an M-Health client uses a pseudo identity to achieve anonymity in communication. (4) Unlinkability: Whether two communications are initiated by the sameM-Health client is undecidable. (5) Forward security: In Zhang et al.’s scheme, a symmetric session key is introduced, and it is updated by a hash function in each session. If the current session key is exposed, the previous session key will still be secure. (6) Contextual privacy:6 It means that if an adversary can link an M-Health client with a specific physician, then he or she may deduce the patient’s disease. In Zhang et al.’s scheme, the attackers or legitimate users in the system do not have the ability to link the origin and the destination of the data if they do not collude. (7) Lightweight: The controller is a device with limited computation and storage capabilities, so the protocol must be lightweight. Zhang et al.’s scheme does not use time-consuming computations like bilinear pairings,6 and its ciphertext size is also short.
Zhang et al.’s protocol is based on the certificateless generalized signcryption (CLGSC) technology.7 Signcryption8 can perform encryption and signature in a single logic step with the costs of computation and communication being far lower than the sum of those of encryption and signature. Generalized signcryption9 is a natural extension of signcryption, which can realize encryption, signature, and signcryption in a single logic step. In this way, people only need to hold one key pair and use one algorithm to achieve encryption, signature, and signcryption functions, and with lower cost of key management and less storage space. Certificateless cryptosystem10 can avoid the private key escrow problem in the identity-based cryptosystem11 and reduce the high cost of public key management in the public key infrastructure (PKI)-based public key cryptosystem.12 Zhang et al. gave the proof of their CLGSC scheme. Based on the scheme, they proposed a lightweight and robust security-aware D2D-assist data transmission protocol for the M-Health system. However, Zhou13 pointed out that their CLGSC scheme is not secure. In this article, we propose an improved scheme to remedy the weaknesses of their scheme and prove the security of ours. The confidentiality of our improved scheme can be reduced to the computational Diffie–Hellman (CDH) problem and the unforgeability, the Elliptic Curve Discrete Logarithm (EC-DL) problem. Efficiency analysis shows that our scheme increases only a little amount of computational and communicational costs compared with the original scheme, but it is more efficient than other CLGSC schemes there are at present. What is more, it is also an efficient scheme compared with those ones protecting the M-Health system. Based on our improved scheme, the same lightweight secure data transmission protocol for theM-Health system can also be constructed, just like the one based on the original scheme.
The rest of the article is organized as follows. In section “Related works,” some related works are introduced. In section “Preliminaries,” some complexity assumptions are described. In section “Formal definition and security model of CLGSC,” the algorithm constitution and the security model of CLGSC are given. In section “Zhang et al.’s communication model and scheme and Zhou’s security analysis,” Zhang et al.’s communication model and scheme and Zhou’s attacks are described. In section “An improved CLGSC scheme,” an improved scheme is proposed. In section “Security and efficiency analyses,” the security and efficiency of the improved scheme are discussed. The article is concluded in section “Conclusion.”
Related works
The communication security of the M-Health system must be solved first before its actual deployment. There are two types of communications in the M-Health system,14 that is, intra-BAN communication and beyond-BAN communication. The former addresses either the communication among the sensors or that between the sensors and the controller. The latter refers to the communication between the controller and the health server. The earliest work that paid attention to the communication security of the M-Health system is Cherukuri et al.’s paper15 in 2003, where they used the biometric information measured from a human body to encrypt a symmetric key to protect the intra-BAN communication. The latest works to protect the intra-BAN communication are listed as follows.16,17
In 2011, Kumar et al.18 proposed a protocol to protect the beyond-BAN communication of the M-Health system. Their model is to allow the medical service providers (such as physicians or nurses) to access the controller to get the PHI data. Subsequent works include the studies by Li and Hong and Liu et al.19,20 But in these schemes, it requires that the medical service providers initiatively visit the controller, so it is not applicable to the emergency scenario.
In 2013, Yeh et al.21 proposed an anonymous authentication protocol for WBAN to protect the beyond-BAN communication. However, their protocol, based on the traditional public key cryptosystem, has high complicated certificate management cost. In 2014, Liu et al.5 proposed two certificateless remote anonymous authentication protocols for WBAN to protect the beyond-BAN communication. However, Zhao22 pointed out that Liu et al.’s5 first protocol cannot provide anonymity and that their second protocol is vulnerable to the stolen verifier-table attack. Then, they proposed a new protocol using the PKI-based public key cryptosystem. Later, Wang and Zhang23 pointed out that Zhao’s22 protocol cannot provide real anonymity and then they proposed a new protocol using the identity-based cryptosystem. Unfortunately, Omala et al.24 pointed out that in Wang and Zhang’s23 protocol, the medical service provider can impersonate an M-Health client. Furthermore, they proposed a new protocol using the certificateless cryptosystem. In recent years, remote anonymous authentication in M-Health has been a research hotspot, on which many research results have been obtained, including PKI-based protocols,25,26 identity-based protocols,27,28 and certificateless protocols.29,30 All these remote anonymous authentication protocols have one common characteristic, which is that they require one or more interactions between the controller and the health server.
Regarding non-interactive protocols, Tan et al.31 proposed a scheme to protect the beyond-BAN communication of the M-Health system in 2008. They used a lightweight identity-based encryption scheme to achieve their goal. However, this scheme does not consider the authentication problem and has the private key escrow problem. In 2009, Lin et al.6 proposed a protocol that can achieve data confidentiality and contextual privacy and can resist replaying attacks and forging attacks. However, their scheme is also based on the identity-based cryptosystem, so it still has the private key escrow problem. In 2012, Huang et al.32 improved Tan et al.’s31 scheme, but their protocol is still in the identity-based setting. In 2014 and 2015, Wang et al. proposed a ciphertext-policy attribute-based ring signcryption33 and a key-policy attribute-based ring signcryption34 to protect the beyond-BAN communication of the M-Health system, respectively. The ring signature technology can maintain M-Health clients’ anonymity unconditionally, and the attribute-based encryption technology can provide fine-grained access control for medical service providers. In 2016, Zhou et al.35 proposed an identity-based generalized ring signcryption scheme to protect the beyond-BAN communication. However, the above three schemes all have high computational costs and communication overhead. In 2016, Omala et al.36 proposed a certificateless signcryption scheme, but it does not support anonymity. In 2017, Zhang et al.3 proposed an efficient CLGSC scheme, but Zhou13 pointed out that it is not secure.
Regarding generalized signcryption, Han et al.9 proposed the first generalized signcryption scheme to save storage space and simplify key management in 2006. Later, Han and Gui37 proposed a multi-receiver generalized signcryption scheme and applied it to wireless multicast communication in 2009. Wang et al.38 improved Han et al.’s scheme9 and gave a formal definition and security model of generalized signcryption in the PKI setting in 2010. Later, Yu et al.39 proposed an identity-based generalized signcryption scheme and a corresponding security model in the same year. Kushwah and Lal40 simplified the security model in scheme [39] and proposed a more efficient identity-based generalized signcryption scheme in 2011. Zhou et al.7 proposed a CLGSC scheme that can resist the malicious-but-passive KGC (key generation center) attack41 in 2014. Wei et al.42 proposed an identity-based generalized signcryption scheme in the standard model and applied it to big data security in 2015. Zhou43 pointed out in the same year that scheme [37] is insecure under the confidentiality attack. Later, Han and Lu44 proposed an attribute-based generalized signcryption scheme in the standard model and applied it to online social network security. Zhou and colleagues35,45 extended generalized signcryption to generalized ring signcryption and generalized proxy signcryption and proposed a concrete identity-based scheme, respectively, in 2016. Zhang et al.3 proposed a lightweight CLGSC scheme and applied it to the M-Health system in 2017. Zhou et al.46 proposed in the same year a certificateless key-insulated generalized signcryption scheme and applied it to cloud storage. Zhou13 pointed out that scheme [3] is insecure in 2018.
Preliminaries
In the following, we will give some complexity assumptions used in the proofs of our scheme.
1. EC-DL Problem: Let E be an elliptic curve over the finite field where p is a prime number, and let G be an additive group of prime order q on . Given for unknown randomly chosen , one must compute a.
The advantage of any probabilistic polynomial time (PPT) algorithm A in solving the EC-DL problem in G is defined to be as follows: .
EC-DL assumption: for every PPT algorithm A, is negligible.
2. CDH Problem: Given for unknown randomly chosen , one must compute abP.
The advantage of any PPT algorithm A in solving the CDH problem in G is defined to be as follows: .
CDH assumption: for every PPT algorithm A, is negligible.
Formal definition and security model of CLGSC
Formal definition
A CLGSC scheme consists of the following six algorithms.
1. Setup: Given a security parameter , it produces a master private key s and a global public parameter Params. It is usually run by the KGC.
2. User-Key-Gen: Given a user’s identity ID and the Params, it produces a secret value and a public key . It is usually run by the user.
3. Partial-Key-Gen: Given a user’s identity ID, the Params, and the master private key s, it produces a partial private key . It is usually run by the KGC and the KGC sends to the user securely.
4. Private-Key-Gen: Given a user’s identity ID, the Params, his or her partial private key , and his or her secret value , it produces a full private key . It is usually run by the user.
5. CLGSC: Given a sender’s identity , a receiver’s identity , the Params, a message m, and a sender’s full private key , it produces a CLGSC ciphertext . It is usually run by the sender or anyone in the encryption mode.
This algorithm can be run in three modes.
Encryption mode: if is null and is not, then the CLGSC ciphertext is an encryption ciphertext.
Signature mode: if is null and is not, then the CLGSC ciphertext is a signature.
Signcryption mode: if neither nor is null, then the CLGSC ciphertext is a signcryption ciphertext.
6. Un-CLGSC: Given a sender’s identity , a receiver’s identity , the Params, a CLGSC ciphertext , and a receiver’s full private key , it recovers the message m in the encryption/signcryption mode or returns true in the signature mode; otherwise, it returns ⊥, indicating a decryption failure or invalid signature. It is usually run by the receiver or anyone in the signature verification mode.
This algorithm can also be run in three modes.
Decryption mode: if is null and is not, it runs in this mode. The receiver recovers the message m or outputs an invalid symbol ⊥.
Signature verification mode: if is null and is not, it runs in this mode. Any person can verify the signature . If it is valid, the signature is accepted.
Un-signcryption mode: if neither nor is null, it runs in this mode. The receiver recovers the message m or outputs an invalid symbol ⊥.
Note: The scheme can switch to different modes automatically. If the input of the sender’s identity is null and the receiver’s identity is not, it automatically runs in the encryption mode; if the input of is not null and is, it automatically runs in the signature mode; if the input of neither nor is null, it automatically runs in the signcryption mode. Both and being null is disallowed.
Security model
There are two types of attackers in a CLGSC scheme.10 Type I attacker does not know the master private key, but he or she can replace anyone’s public key, which models the kind of attacker other than the KGC. The type II attacker knows the master private key but he or she cannot replace anyone’s public key, which models the honest-but-curious KGC attacker. It is assumed that this type of KGC attacker produces the system parameters honestly according to the setup algorithm of the scheme. In 2007, Au et al.41 introduced a new type of KGC attack, named malicious-but-passive KGC attack. The malicious-but-passive KGC may imbed some trapdoors in the system parameters in the setup stage so as to attack the system more easily in the later stage. Such type of KGC attack is taken into account in our security model. In addition, in our security model in the signcryption mode, the insider attacks are also considered, which were first introduced by An et al.47 in 2002. The insider attacks include the sender’s attack and the receiver’s attack. The sender may damage the confidentiality of the scheme and the receiver may damage its unforgeability. In fact, Zhang et al.’s3 security model takes into account all the above types of attacks, so does our security model.
The security of a CLGSC scheme must satisfy confidentiality under Type I and Type II attacks (in the encryption and signcryption modes), and unforgeability under Type I and Type II attacks (in the signature and signcryption modes).
There are six oracles which can be accessed by the adversaries as follows:
Partial-private-key queries.A submits an identity ID. C calls the Partial-Key-Gen algorithm to produce a partial private key and returns to A.
Public-Key queries.A submits an identity ID. C computes the corresponding public key and sends it to A.
Private-Key queries.A submits an identity ID. C computes the corresponding private key and sends it to A.
Public-Key-Replacement queries.A submits an identity ID and a new public key . C replaces the current public key with the new key .
CLGSC queries.A submits two identities and , and a message m. C calls the CLGSC algorithm and returns the results to A.
If public key has been replaced, we require A to supply secret value to make C produce correct results.
UN-CLGSC queries.A submits two identities and , and a ciphertext . C calls the UN-CLGSC algorithm and returns the results to A.
If public key has been replaced, we require A to supply secret value to make C produce correct results.
Definition 1 (Type I confidentiality, encryption and signcryption modes)
A CLGSC scheme is said to be indistinguishability-CLGSC-adaptive chosen ciphertext attack-type I (IND-CLGSC-CCA2-I) secure if no PPT adversary has a non-negligible advantage in the following game:
Setup. Given a security parameter , challenger C runs the setup algorithm to produce the system’s parameters Params and a master private key s. C gives Params to and keeps s private.
Find stage. can make the above six oracles adaptively.
Challenge. submits two distinct messages and with equal length, a sender’s identity and a receiver’s identity . C randomly selects a bit and calls CLGSC algorithm on . Then, C returns the results to .
Guess stage. can make a polynomially bounded number of queries like in the Find stage. Finally, must outputs his or her guess . If , he or she wins the game. The restrictions on are as follows:
cannot be null.
cannot make the private key queries for any identity if his or her public key has been replaced.
cannot make the private key query for at any time.
cannot make the partial private key query for if his or her public key has been replaced before the challenge stage.
In the Guess stage, cannot make a UN-CLGSC query on unless the public key of or has been replaced after the Challenge stage.
advantage is defined as .
Note. In the above Challenge stage, the sender’s identity can be null. In this case, algorithm runs in encryption mode; otherwise, it runs in signcryption mode. Thus, the encryption and signcryption modes share the same game, as described above.
Definition 2 (Type II confidentiality, encryption, and signcryption modes)
A CLGSC scheme is said to be IND-CLGSC-CCA2-II secure if no PPT adversary has a non-negligible advantage in the following game:
Setup. Given a security parameter , runs the setup algorithm to produce the system’s parameters Params and a master private key s. Then he or she gives Params and s to C.
Find stage. can make Public-Key, Private-Key, CLGSC, and UN-CLGSC oracles adaptively.
Challenge. submits two distinct messages and with equal length, a sender’s identity and a receiver’s identity . C randomly selects a bit and calls CLGSC algorithm on . Then, C returns the results to .
Guess stage. can make a polynomially bounded number of queries like in the Find stage. Finally, must outputs his or her guess . If , he or she wins the game. The restrictions on are as follows:
cannot be null.
cannot make the private key query for at any time.
In the Guess stage, cannot make a UN-CLGSC query on .
advantage is defined as .
Note. In the above Challenge stage, the sender’s identity can be null. In this case, algorithm runs in encryption mode; otherwise, it runs in signcryption mode. Thus, the encryption and signcryption modes share the same game, as described above.
Definition 3 (Type I unforgeability, signature, and signcryption modes)
A CLGSC scheme is said to be existentially unforgeable-CLGSC-adaptive chosen message attack-type I (EUF-CLGSC-CMA-I) secure if no PPT adversary has a non-negligible advantage in the following game:
Setup. The same as in Definition 1.
Queries stage. The same as in the Find stage of Definition 1.
Forgery. Eventually, outputs a forged CLGSC ciphertext on message with as the sender and as the receiver. wins the game if the output of the UN-CLGSC on is not the symbol ⊥ and the following conditions holds.
cannot be null.
cannot make the private key queries for any identity if his or her public key has been replaced.
cannot make the private key query for at any time.
cannot make the partial private key query for if his or her public key has been replaced.
is not the output of a CLGSC query on message with as the sender and as the receiver.
advantage is its probability of victory.
Note. In the above Forgery stage, can be null. In this case, algorithm runs in signature mode; otherwise, it runs in signcryption mode. Thus, the signature and signcryption modes share the same game, as described above.
Definition 4 (Type II unforgeability, signature, and signcryption modes)
A CLGSC scheme is said to be EUF-CLGSC-CMA-II secure if no PPT adversary has a non-negligible advantage in the following game:
Setup. The same as in Definition 2.
Queries stage. The same as in the Find stage of Definition 2.
Forgery. Eventually, outputs a forged CLGSC ciphertext on message with as the sender and as the receiver. wins the game if the output of the UN-CLGSC on is not the symbol ⊥ and the following conditions holds:
cannot be null.
cannot make the private key query for at any time.
is not the output of a CLGSC query on message with as the sender and as the receiver.
advantage is its probability of victory.
Note. In the above Forgery stage, can be null. In this case, algorithm runs in signature mode; otherwise, it runs in signcryption mode. Thus, the signature and signcryption modes share the same game, as described above.
Zhang et al.’s communication model and scheme and Zhou’s security analysis
The communication model
Zhang et al.’s communication model is depicted in Figure 2, which consists of three entities: network manager (NM), M-Health clients, and medical service providers (such as physicians). The NM is the manager of the system whose duty is to initialize the system and generate partial private key for the registered users. Suppose that at session t, the M-Health client S wants to transmit his or her PHI data to the physician H and that those clients form the D2D link. Through , the PHI data can be transmitted to the NM. Then, the NM delivers the PHI data to the physician H.
Communication model of the M-Health system.
To achieve the security goal, the M-Health client first registers his or her pseudo identity S with the NM to achieve anonymity and the physician registers his or her real identity H. The NM also registers his or her real identity N. Then, S and H negotiate a symmetric key through a secure key agreement protocol. At the next session, is updated to using a secure hash function to achieve forward security. To begin a transmission, S signcrypts the PHI data m to get using full private key, public key, and the session key . S encrypts the identity S with public key to get and encrypts the identity H with public key to get . Then, S signs on to get . S sends to relay , and verifies . If it is valid, signs on M to get and sends to relay . The process continues until reaches NM. NM verifies . If it is valid, NM parses M as and decrypts to get the identity H. Then, NM signs on to get and sends to the physician H. When receiving , the physician H first verifies . If it is valid, he or she decrypts to get the pseudo identity S. Then, he or she un-signcrypts the using his or her full private key and public key. If it is valid, H will provide corresponding medical services.
In the above process of encryption, signature, and signcryption, we only need a generalized signcryption scheme to achieve the goal.
Zhang et al.’s original scheme
Setup: Given a security parameter , the KGC selects two primes p and q which satisfy the condition and a secure elliptic curve . Let G be an cyclic group of order q on , and P be a generator of G. The KGC randomly selects as the master private key and sets as the master public key. The KGC defines three hash functions: , , , where n is the bit length of a message. In addition, the KGC defines a special function f. If the identity ID is null, then ; else, . The system public parameters are .
Key-Generation:
A user randomly selects as his or her secret value and computes his or her partial public key as .
The user sends to the KGC.
The KGC randomly selects and computes , . is sent to the user secretly. can be checked by equation by the user.
The user’s full public key is and full private key is . The KGC publishes the public key of in a public directory.
CLGSC: Let be the sender, be the receiver, and m be the message. does the following:
Computes , ;
Randomly chooses , and computes , , , ;
Computes and ;
Returns as the ciphertext.
UN-CLGSC: Given a generalized signcryption ciphertext . The verifier does the following:
Computes , ;
Computes , , , and ;
The verifier checks whether holds true. If it does, the verifier accepts it.
Cryptanalysis of the above scheme
Insider attack (signcryption mode): Zhou13 gave two attacks to scheme [3], which are as follows. According to the IND-CLGSC-CCA2-I game of Definition 1, in the Find stage, an attacker makes no oracle queries. In the Challenge stage, an attacker chooses to give two different messages and , a sender’s identity , and a receiver’s identity to the challenger. The challenger returns a challenge ciphertext . In the Guess stage, the attacker makes a private key query of to get . Then, he or she computes . With , he or she can compute , , and . Thus, he or she can recover the message . The attack does not violate the restrictions of IND-CLGSC-CCA2-I game of Definition 1. The attacker wins the IND-CLGSC-CCA2-I game of Definition 1 with probability 1.
In addition, after computing , the attacker can also do the following to attack the confidentiality of the scheme. The attacker selects another identity . He or she makes a private key query of to get in the Guess stage. He or she computes , , and . Then, he or she makes an UN-CLGSC query for in the Guess stage. If the challenger returns , then . If the challenger returns ⊥, then . Thus, he or she can guess the bit b successfully. The attacker wins the IND-CLGSC-CCA2-I game of Definition 1 with probability 1.
An improved CLGSC scheme
The CLGSC algorithm of Zhang et al.’s scheme uses only one ephemeral variable, so the ephemeral variable can be calculated by an inside attacker. However, our improved scheme uses two ephemeral variables in the CLGSC algorithm. The details are as follows. In addition, to prevent some potential attacks, we incorporate many elements into the calculation of hash functions:
Setup: Given a security parameter , the KGC selects two primes p and q which satisfy the condition and a secure elliptic curve . Let G be an cyclic group of order q on , and P be a generator of G. The KGC randomly selects as the master private key and sets as the master public key. The KGC defines five hash functions: , where m represents the bit length of a message. In addition, the KGC defines a special function f. If the identity ID is null then ; else, . The system public parameters are .
User-Key-Gen: A user ID randomly selects as his or her secret value and computes his or her public key as .
Partial-Key-Gen: Given a user’s identity ID, the KGC randomly selects and computes , . KGC broadcasts and sends to the user secretly. can be checked by equation by the user.
Private-Key-Gen: The user ID sets his or her full private key as .
CLGSC: Let be the sender, be the receiver, and m be the message. computes and . He or she randomly chooses and computes , , , , , and . Then, he or she computes , , , and . The ciphertext is .
This algorithm can be run in three modes. We add a tag in the ciphertext:
Encryption mode. If is null and is not, then and . The ciphertext is an encryption ciphertext. In this case, both and are set to the infinite point on , and both and are set to zero. And in this case,.
Signature mode. If is null and is not, then and . The ciphertext is a signature. In this case, both and are set to the infinite point on . And in this case, .
Signcryption mode. If neither nor is null, then and . The ciphertext is a signcryption ciphertext.
UN-CLGSC: Given a generalized signcryption ciphertext , the verifier computes , , , , and and then computes , , , and . He or she verifies whether holds true. If it does, he or she accepts it; else, he or she rejects it.
This algorithm can also be run in three modes:
Decryption mode. This mode applies if . The verification equation becomes . In this case, both and are set to the infinite point on .
Signature verification mode. This mode applies if . In this case, both and are set to the infinite point on , and both and are set to zero.
Un-signcryption mode. This mode applies if .
Note: Based on the above CLGSC scheme, a lightweight secure data transmission protocol for the M-Health system can also be constructed, just like the one based on Zhang et al.’s scheme.3 We suggest the readers refer to scheme [3] for a more detailed description of the protocol.
Security and efficiency analyses
In this section, we analyze the security and efficiency of our improved scheme.
Confidentiality
Theorem 1 (Type I confidentiality)
In the random oracle model, if there is a PPT adversary with a non-negligible advantage against the IND-CLGSC-CCA2-I security of the scheme running in the encryption or signcryption mode in time t and performing at most queries, partial-private-key queries, private-key queries, CLGSC queries, and Un-CLGSC queries, then the CDH problem can be solved with probability in time , where denotes the time for a scalar multiplication on G.
Proof
Suppose that challenger C is given for random . C does not know the values of a and b and is asked to compute abP. To utilize adversary , challenger C will simulate all the oracles as in the Find stage:
Setup: C sets . Other public parameters are produced normally. C gives the system public parameters to and maintains seven lists , , , , , , and , which are initially empty. C randomly selects .
Find stage: makes queries to the following oracles adaptively:
query: supplies a tuple . C first checks list to see whether it contains the item . If it does, C returns . Otherwise, C randomly selects and repeats the process until is not in list . C stores the tuple in list and returns to .
query: supplies a tuple . C first checks list to see whether it contains the item . If it does, C returns . Otherwise, C randomly selects and repeats the process until is not in list . C stores the tuple in list and returns to .
query: supplies a tuple . C first checks list to see whether it contains the item . If it does, C returns . Otherwise, C randomly selects and repeats the process until is not in list . C stores the item in list and returns to .
Partial-private-key query: provides an identity ID:
. C first checks list to see whether it contains the item . If it does, C returns . Otherwise, C randomly selects and computes . C inserts the tuple into list . If there is a collision in list , C re-chooses and repeats the process again. C inserts the tuple into list and returns .
2. . C aborts.
Public-key query: provides an identity ID.C first checks list to see whether it contains the item . If it does, C returns . Otherwise, C randomly selects as the secret value and computes . C inserts the tuple into list and returns .
Public-key-replacement query: provides an identity ID and a new public key ; C replaces the old public key with the new one and updates list into .
Private-key query: provides an identity ID:
. C retrieves and from list and , respectively (if they do not exist in list or , C makes public-key or partial-private-key query first). Then, C returns them to .
. C aborts.
Note: If public key has been replaced by , then is not allowed to query this oracle.
CLGSC query: provides two identities (one of them may be null) and a message m. If is null, then it is equal to an encryption oracle, which just needs public parameters. Otherwise, we consider two cases:
. C runs the CLGSC algorithm as normal because C can get the private key of .
. C first checks list to see whether it contains the item . If it does, C retrieves . Otherwise, C randomly selects and computes . C inserts the tuple into list . Then, C retrieves , , , and from the corresponding lists.
C randomly chooses and computes , , , , and . Then, he or she com-putes , , , and . C inserts the tuple into list . If there is a collision, C re-chooses and repeats the process again. Finally, C returns and to .
Note: If public key has been replaced by , then must supply the corresponding secret value.
Un-CLGSC query: provides two identities (one of them may be null) and a ciphertext . If is null, it is equal to a signature verification oracle, which just needs public parameters. Otherwise, we consider two cases:
. C runs the Un-CLGSC algorithm as normal because C can get the private key of .
. C does not know the partial private key of . C starts from the first item of list to compute and verifies whether the equation holds true, where , , , and . The required values of the above computations can be obtained from the corresponding lists. If the equation holds true, C returns the message m; else, C moves to the next item of list and repeats the process again. If no message returns when C traverses all the items in list , C returns ⊥.
Note: If public key has been replaced by , then must supply the corresponding secret value.
Challenge stage: chooses two different messages with equal length and two challenge identities ( may be null). If , C aborts. Otherwise, C randomly chooses a bit and randomly chooses . C sets . C randomly chooses . C computes , , , , and . The required values of the above computations can be obtained by querying associated oracles. C inserts the tuple into list . If there is a collision, C re-chooses and repeats the process again and returns the challenge ciphertext to .
Note: If public key has been replaced by , then must supply the corresponding secret value.
Guess stage: can make the same queries adaptively as in the Find stage with the restriction that does not make an Un-CLGSC query on the challenge ciphertext under and unless the public key of or has been replaced after the Challenge stage.
Finally, must give his or her guess . cannot discover that is not a valid ciphertext unless he or she asks oracle with the tuple , where , , and . If this happens, the CDH problem can be solved by computing , where can be retrieved from list .
Now we assess the probability of success. In the Challenge stage, the probability of is . In both the partial-private-key and private-key queries, the probability of C querying with is . In the UN-CLGSC stage, the probability of C refuging the right ciphertext is less than .
In terms of time complexity, CLGSC and Un-CLGSC queries need 5 and 7 computations, respectively.
Note: is allowed to query the full private key in the Find and the Guess stages, considering the inside attacker may damage the security of the scheme.
Theorem 2 (Type II confidentiality)
In the random oracle model, if there is a PPT adversary with a non-negligible advantage against the IND-CLGSC-CCA2-II security of the scheme running in the encryption or signcryption mode in time t and performing at most queries, private-key queries, CLGSC queries, and Un-CLGSC queries, then the CDH problem can be solved with probability in time , where denotes the time for a scalar multiplication on G.
Proof
Suppose that challenger C is given for random . C does not know the values of a and b and is asked to compute abP. To utilize adversary , challenger C will simulate all the oracles as in the Find stage:
Setup: randomly selects as the master private key and computes the master public key as . Other public parameters are produced normally. gives the system public parameters and s to C. C maintains seven lists , , , , , , and , which are initially empty. C randomly selects .
Find stage: makes queries to the following oracles adaptively: , , , , , Un-CLGSC queries, and Challenge stage are all the same as in Theorem 1. does not need to make public-key-replacement and partial-private-key queries.
Public-key query: provides an identity ID:
. C first checks list to see whether it contains the item . If it does, C returns . Otherwise, C randomly selects as the secret value and computes . C inserts the tuple into list and returns .
. C sets . Then, it inserts the tuple into list and returns .
Private-key query: provides an identity ID.C first checks list to see whether it contains the item . If it does, C retrieves . Otherwise, C randomly selects . Then, C computes and . And then, C inserts the tuple into list :
. C retrieves from list (if it does not exist in list , then C makes the public-key query first). Then, C returns and to .
. C aborts.
CLGSC query: provides two identities (one of them may be null) and a message m. If is null, then it is equal to an encryption oracle, which just needs public parameters. Otherwise, we consider two cases:
. C runs the CLGSC algorithm as normal because C can get the full private key of .
. C retrieves , , , , and from corresponding lists.
C randomly chooses and computes , , , , and . Then, he or she computes , , , . C inserts the tuple into list . If there is a collision, C re-chooses and repeats the process again. Finally, C returns and to .
Guess stage: can make the same queries adaptively as in the Find stage with the restriction that does not make an Un-CLGSC query on the challenge ciphertext under and . Finally, must give his or her guess . cannot discover that is not a valid ciphertext unless he or she asks oracle with the tuple , where . If this happens, C outputs as the solution to the CDH problem.
Now, we assess the probability of success. In the Challenge stage, the probability of is . In the private-key query, the probability of C querying with is . In the UN-CLGSC stage, the probability of C refuging the right ciphertext is less than .
In terms of time complexity, CLGSC and Un-CLGSC queries need 5 and 7 computations, respectively.
Note 1: In order to resist the malicious-but-passive KGC attack, we must let adversary produce the system parameters Params and master private key s in the Setup stage.
Note 2: is allowed to query the full private key in the Find and the Guess stages, considering the inside attacker may damage the security of the scheme.
Unforgeability
Theorem 3 (Type I unforgeability)
In the random oracle model, if there is a PPT adversary with a non-negligible advantage against the EUF-CLGSC-CMA-I security of the scheme running in the signature or signcryption mode in time t and performing at most queries, partial-private-key queries, private-key queries, CLGSC queries, and Un-CLGSC queries, then the EC-DL problem can be solved with probability in time , where denotes the time for a scalar multiplication on G.
Proof
Suppose that challenger C is given for random . C does not know the value of a and is asked to compute a. To utilize adversary , challenger C will simulate all the oracles as in the Query stage:
Setup: The same as in Theorem 1.
Queries: The same as in the Find stage of Theorem 1.
Forgery: Finally, outputs a forged CLGSC ciphertext on message with as the sender and as the receiver. If , C aborts. Otherwise, if can pass the validation of the Un-CLGSC algorithm and is not the output of a CLGSC query, according to the multiple forking lemma,48 we can obtain four valid signatures , , , and , where and are two different hash values corresponding to the oracle, and , , , are four different hash values corresponding to the oracle. Because , we can obtain the following four equations: , , , and .
Then, C can compute .
Now, we assess the probability of success. In the Forgery stage, the probability of is . In both the partial-private-key and private-key queries, the probability of C querying with is . In the UN-CLGSC stage, the probability of C refuging the right ciphertext is less than . In conjunction with the multiple forking lemma,48 the EC-DL problem can be solved with probability .
In terms of time complexity, CLGSC and Un-CLGSC queries need 5 and 7 computations, respectively.
Note 1: is allowed to query the full private key in the Query stage, considering the inside attacker may damage the security of the scheme.
Note 2: The coefficient of a in is . and have multiplication relationships, so the multiple forking lemma is applicable to this scenario.
Theorem 4 (Type II unforgeability)
In the random oracle model, if there is a PPT adversary with a non-negligible advantage against the EUF-CLGSC-CMA-II security of the scheme running in signature or signcryption mode in time t and performing at most queries, private-key queries, CLGSC queries, and Un-CLGSC queries, then the EC-DL problem can be solved with probability in time , where denotes the time for a scalar multiplication on G.
Proof
Suppose that challenger C is given for random . C does not know the value of a and is asked to compute a. To utilize adversary , challenger C will simulate all the oracles as in the Query stage:
Setup: The same as in Theorem 2.
Queries: The same as in the Find stage of Theorem 2.
Forgery: Finally, outputs a forged CLGSC ciphertext on message with as the sender and as the receiver. If , C aborts. Otherwise, if can pass the validation of Un-CLGSC algorithm and is not the output of a CLGSC query, according to the general forking lemma,49 we can obtain two valid signatures and , where and are two different hash values corresponding to the oracle. Because , we can obtain the following two equations: and .
Then, C can compute .
Now, we assess the probability of success. In the Forgery stage, the probability of is . In the private-key query, the probability of C querying with is . In the UN-CLGSC stage, the probability of C refuging the right ciphertext is less than . In conjunction with the general forking lemma,49 the EC-DL problem can be solved with probability .
In terms of time complexity, CLGSC and Un-CLGSC queries need 5 and 7 computations, respectively.
Note 1: is allowed to query the full private key in the Query stage, considering the inside attacker may damage the security of the scheme.
Note 2: The coefficient of a in is . , , and have linear relationships, so the general forking lemma is applicable to this scenario.
Efficiency
We compare our scheme with other CLGSC schemes, including the schemes of Zhang et al.,3 Zhou et al.,7 and Zhou et al.,46 with the time-consuming computations taken into account. The comparison results are listed in Table 1. The symbols p, e, , and denote a pairing computation, an exponentiation computation on , a pairing-based scalar multiplication computation on , and an elliptic curve cryptography-based (ecc-based) scalar multiplication computation on , respectively. , , , , and represent the bit lengths of an element on , , , a message m, and an identity, respectively. From Table 1, we can see that our scheme requires one more computation than scheme [3] in the CLGSC and Un-CLGSC stage, respectively, and is bit longer than scheme [3] in the ciphertext size. In order to improve the security of scheme [3], ours increases the computational costs, but only slightly. And, compared with other pairing-based schemes, our scheme proves to be excellent.
Comparisons of performance I.
Schemes
CLGSC
Un-CLGSC
Ciphertext size
[3]
4m2
5m2
|G1| + 2|q| + |m|
[7]
4m1 + e
4p + m1
2|G1| + |m|
[46]
7m2
8m2
2|G1| + |q| + |m|
Ours
5m2
7m2
2|G1| + |q| + |m|
CLGSC: certificateless generalized signcryption.
To show the comparisons more directly, we use the MIRACL library50 to test the runtime of the basic cryptographic operations. The average runtime is listed in Table 2 (we tested it 1000 times). The experiment was run on a Windows 7 Home Basic 64-bit Operating System. The hardware consists of an Intel Core i7-4510U CPU running at 2.0 GHz with 8 GB of memory. For pairing-based schemes, we use the supersingular elliptic curve with an embedding degree of 2, where q is a 160-bit Solinas prime and p a 512-bit prime satisfying . Its security level is equivalent to 1024-bit RSA. To achieve the same security level, for ecc-based schemes, we use secp160r1, as recommended by the Certicom Corporation.51
Computational costs (ms).
p
e
m1
m2
14.9
1.25
4.31
0.97
When we adopt the above parameters, for pairing-based schemes, |, , and for ecc-based schemes, , . Let and . We can obtain Table 3 by combining Tables 1 and 2.
Comparisons of performance II.
Schemes
CLGSC
Un-CLGSC
Ciphertext size (bit)
[3]
3.88
4.85
800
[7]
18.49
63.91
2208
[46]
6.79
7.76
960
Ours
4.85
6.79
960
CLGSC: certificateless generalized signcryption.
From Table 3, we can see that scheme [3] is faster than ours in the CLGSC stage and faster than ours in the UN-CLGSC stage. But ours is faster than scheme [7] and faster than scheme [46] in the CLGSC stage, and faster than scheme [7] and faster than scheme [46] in the UN-CLGSC stage.
About the ciphertext size, scheme [3] is shorter than ours. But ours is shorter than scheme [7]. What is more, scheme [46] and ours have the same length.
To further convince people that our scheme is highly efficient, we also compare ours with those ones protecting the M-Health system, including the schemes of Wang et al.,33 Wang and Liu,34 Zhou et al.,35 and Omala et al.36 The comparisons are listed in Table 4. By combining Tables 2 and 4, we can obtain Table 5.
Comparisons of performance III.
Schemes
SC
Un-SC
Ciphertext size
[33]
(n + 3w + 2)m1 + e
(w + 3)p + wm1 + we
(n + 2w + 2)|G1| + |G2| + |q| + |ID|
[34]
(n + w + 1)m1 + e
(w + 2)p + nm1 + we
(n + w + 1)|G1| + |G2| + |q| + |ID|
[35]
p + (n + 3)m1 + e
3p + nm1
(n + 2)|G1| + |m|
[36]
4m2
5m2
|G1| + |q| + 2|m|
Ours
5m2
7m2
2|G1| + |q| + |m|
SC: signcryption.
w and n represent the number of attributes and the number of elements in the ring, respectively.
Comparisons of performance IV (w = 2, n = 2).
Schemes
SC
Un-SC
Ciphertext size (bit)
[33]
44.35
85.62
8512
[34]
22.8
70.72
6464
[35]
37.7
53.32
1440
[36]
3.88
4.85
800
Ours
4.85
6.79
960
SC: signcryption.
From Table 5, we can see that scheme [36] is faster than ours in the SC stage and faster than ours in the Un-SC stage, but unfortunately, this scheme does not support anonymity. Ours is faster than scheme [33], faster than scheme [34] and faster than scheme [35] in the SC stage, and faster than scheme [33], faster than scheme [34] and faster than scheme [35] in the Un-SC stage.
On the whole, our scheme is a lightweight one and can be used in mobile-health systems.
Conclusion
In this article, we propose an improved scheme to overcome the drawbacks of Zhang et al.’s scheme and give the rigorous security proof of it. The confidentiality of our improved scheme can be reduced to the CDH problem and the unforgeability, the EC-DL problem. Performance evaluation shows that ours increases only a little amount of computational and communicational costs compared with the original scheme, but it is more efficient than other CLGSC schemes there are at present. What is more, it is also an efficient scheme compared with those ones protecting the M-Health system. Based on our improved scheme, the same lightweight secure data transmission protocol for the M-Health system can be constructed, just like the one based on the original scheme. Our future work is to study the secure data transmission protocols for the M-Health system without the random oracle model.
Footnotes
Acknowledgements
The author thanks Ms Yan Di for checking the manuscript.
Handling Editor: Yee Wei Law
Declaration of conflicting interests
The author(s) declared no potential conflicts of interest with respect to the research, authorship, and/or publication of this article.
Funding
The author(s) disclosed receipt of the following financial support for the research, authorship, and/or publication of this article: This work was supported by the National Natural Science Foundation of China (nos 61462048, 61562047, and 61662039).
ORCID iD
Caixue Zhou
References
1.
MovassaghiSAbolhasanMLipmanJet al. Wireless body area networks: a survey. IEEE Commun Surv Tut2014; 16(3): 1658–1686.
2.
SampangiRVDeySUrsSRet al. A security suite for wireless body area networks. Int J Netw Secur Appl2012; 4(1): 97–116.
3.
ZhangAQWangLYeXRet al. Light-weight and robust security-aware D2D-assist data transmission protocol for mobile-health systems. IEEE T Inf Foren Sec2017; 12(3): 662–675.
4.
ZhangAQChenJXHuRQYet al. SeDS: secure data sharing strategy for D2D communication in LTE-advanced networks. IEEE T Veh Technol2016; 65(4): 2659–2672.
5.
LiuJWZhangZHChenXFet al. Certificateless remote anonymous authentication schemes for wireless body area networks. IEEE T Parallel Distrib Syst2014; 25(2): 332–342.
6.
LinXDLuRXShenXMet al. SAGE: a strong privacy-preserving scheme against global eavesdropping for eHealth systems. IEEE J Sel Areas Commun2009; 27(4): 365–378.
ZhouCXGaoGYCuiZM.Certificateless signcryption in the standard model. Wireless Pers Commun2017; 92(2): 495–513.
9.
HanYLYangXYWeiPet al. ECGSC: elliptic curve based generalized signcryption. In: Proceedings of the international conference on ubiquitous intelligence and computing, Wuhan, China, 3–6 September 2006, pp.956–965. New York: Springer.
10.
LiFGHanYNJinCH.Certificateless online/offline signcryption for the Internet of things. Wireless Netw2017; 23(1): 145–158.
11.
LiFGZhengZHJinCH.Identity-based deniable authenticated encryption and its application to e-mail system. Telecommun Syst2016; 62(4): 625–639.
12.
VollalaSBegumBSJoshiADet al. High-radix modular exponentiation for hardware implementation of public-key cryptography. In: Proceedings of the international conference on computing, analytics and security trends (CAST), Pune, India, 19–21 December 2016, pp.346–350. New York; IEEE.
13.
ZhouCX.Comments on light-weight robust security-aware D2D-assist data transmission protocol for mobile-health systems. IEEE T Inf Foren Secur2018; 13(7): 1869–1870.
14.
KaraoglanDGLeviA.A survey on the development of security mechanisms for body area networks. Comput J2014; 57(10): 1484–1512.
15.
CherukuriSVenkatasubramanianKKGuptaSKS. Biosec: a biometric based approach for securing communication in wireless networks of biosensors implanted in the human body. In: Proceedings of the ICPPW, Kaohsiung, Taiwan, 6–9 October 2003, pp.432–439. New York: IEEE.
16.
IbrahimMHKumariSDasAKet al. Secure anonymous mutual authentication for star two-tier wireless body area networks. Comput Meth Program Biomed2016; 135: 37–50.
17.
LiXIbrahimMHKumariSet al. Anonymous mutual authentication and key agreement scheme for wearable sensors in wireless body area networks. Comput Netw2017; 129(SI): 429–443.
18.
KumarPLeeSGLeeHJ. A user authentication for healthcare application using wireless medical sensor networks. In: Proceedings of the high performance computing and communications, Banff, AB, Canada, 2–4 September 2011, pp.647–652. New York: IEEE.
19.
LiFGHongJJ.Efficient certificateless access control for wireless body area networks. IEEE Sens J2016; 16(13): 5389–5396.
20.
LiuCHChungYF.Secure user authentication scheme for wireless healthcare sensor networks. Comput Electr Eng2017; 59: 250–261.
21.
YehCKChenHMLoJW.An authentication protocol for ubiquitous health monitoring systems. J Med Biol Eng2013; 33(4): 415–419.
22.
ZhaoZG.An efficient anonymous authentication scheme for wireless body area networks using elliptic curve cryptosystem. J Med Syst2014; 38(2): 13.
23.
WangCZZhangYM.New authentication scheme for wireless body area networks using the bilinear pairing. J Med Syst2015; 39(11): 136.
24.
OmalaAAKibiwottKPLiFG.An efficient remote authentication scheme for wireless body area network. J Med Syst2017; 41(2): 25.
25.
LiuJWZhangLHSunR.1-RAAP: an efficient 1-round anonymous authentication protocol for wireless body area networks. Sensors2016; 16(5): 728–743.
26.
LiXPengJYKumariSet al. An enhanced 1-round authentication protocol for wireless body area networks with user anonymity. Comput Electr Eng2017; 61: 238–249.
27.
JiangQLianXXYangCet al. A bilinear pairing based anonymous authentication scheme in wireless body area networks for mHealth. J Med Syst2016; 40(11): 231.
28.
HeDBZeadallySKumarNet al. Anonymous authentication for wireless body area networks with provable security. IEEE Syst J2017; 11(4): 2590–2601.
29.
XiongH.Cost-effective scalable and anonymous certificateless remote authentication protocol. IEEE T Inf Foren Sec2014; 9(12): 2327–2339.
30.
XiongHQinZG.Revocable and scalable certificateless remote authentication protocol with anonymity for wireless body area networks. IEEE T Inf Foren Sec2015; 10(7): 1442–1455.
31.
TanCCWangHDZhongSet al. Body sensor network security: an identity-based cryptography approach. In: Proceedings of the first ACM conference on wireless network security, Alexandria, VA, 2008, pp.148–153. New York: ACM.
32.
HuangCYLeeHSLeeDH.A privacy-strengthened scheme for e-healthcare monitoring system. J Med Syst2012; 36(5): 2959–2971.
33.
WangCJXuXLLiYet al. Integrating ciphertext-policy attribute-based encryption with identity-based ring signature to enhance security and privacy in wireless body area networks. In: Proceedings of the international conference on information security and cryptology, Beijing, China, 13–15 December 2014, pp.424–442. New York: Springer.
34.
WangCJLiuJ.Attribute-based ring signcryption scheme and its application in wireless body area networks. In: Proceedings of the international workshops and symposiums on algorithms and architectures for parallel processing, Zhangjiajie, China, 18–20 November 2015, pp.521–530. New York: Springer.
35.
ZhouCXCuiZMGaoGY.Efficient identity-based generalized ring signcryption scheme. KSII T Intern Inf Syst2016; 10(12): 5553–5571.
36.
OmalaAARobertNLiFG.A provably-secure transmission scheme for wireless body area networks. J Med Syst2016; 40(11): 247.
37.
HanYLGuiXL.Adaptive secure multicast in wireless networks. Int J Commun Syst2009; 22(9): 1213–1239.
AuMHChenJLiuJKet al. Malicious KGC attacks in certificateless cryptography. In: Proceedings of the 2nd ACM symposium on information, computer and communications security, Singapore, 20–22 March 2007, pp.302–311. New York: ACM.
42.
WeiGShaoJXiangYet al. Obtain confidentiality or/and authenticity in big data by id-based generalized signcryption. Inform Sci2015; 318: 111–122.
HanYLLuWY. Attribute based generalized signcryption for online social network. In: Proceedings of the 34th Chinese control conference (CCC), Hangzhou, China, 28–30 July 2015, pp.6434–6439. New York: IEEE.
AnJHDodisYRabinT. On the security of joint signature and encryption. In: Proceedings of the international conference on the theory and applications of cryptographic techniques EUROCRYPT 2002, Amsterdam, 28 April–2 May 2002, pp.83–107. New York: Springer.
48.
BoldyrevaAPalacioAWarinschiB.Secure proxy signature schemes for delegation of signing rights. J Cryptol2012; 25(1): 57–115.
49.
BellareMNevenG. Multi-signatures in the plain public-key model and a general forking lemma. In: Proceedings of the 13th ACM conference on computer and communications security, CCS, Alexandria, VA, 30 October–3 November 2006, pp.390–399. New York: ACM.
The Certicom Corporation. SEC 2: recommended elliptic curve domain parameters. The Standard for Efficient Cryptography Group, 2000, http://www.secg.org/SEC2-Ver-1.0.pdf