5.1 Informal security analysis
i) Mutual authentication
The proposed scheme ReSOTS ensures mutual authentication to Ui and Tj participants with the help of controlling server CS. In general all participants authenticate one another in this protocol. The CS authenticates Ui on the basis of three equality checks:1) It checks the freshness of timestamp, 2) It verifies the pseudo-identity as UIDi\({\prime }\)?= UIDi, 3) It validates the equality for D3 as D3 ?=h(UIDi || IDTj || r1 || T1). Using the third check, CS may not only authenticate Ui but also receive the intimation of legitimate Tag, the Ui intends to communicate with. Similarly, the tag Tj authenticates both CS and Ui utilizing the three checks: 1) It checks the freshness of timestamp, 2) It verifies
the validity of Reader Rm using Rf ?=h(IDTj ||D4|| D5|| D6 || krt ||T2|| T3), 3) Tj validates Ui and CS by checking the equality of D6 ?=h(r1 || r2 || IDTj || TMj || T2). The Tj validates Rm, CS and Ui with the help of secret krt that it shares with Rm. Likewise, Ui mutually authenticate CS as well as Tj by verifying the equality check D11 ?= h(w' ||SKu || B1 || UIDi || r1 || r2 || r3 || T4). Ui knows that a valid CS and Tj can only generate the session key SKu = h(r1 || r2 || r3 || UIDi || IDTj) with parameters r1, UIDi and IDTj. Thus, all entities support mutual authentication in ReSOTS.
ii) Anonymity and unlinkability
The stakeholders need to be anonymous throughout the supply chain process in logistics system. An attacker may infuse false information into the delivery and supply chain process to promote an environment of distrust. The ReSOTS provides anonymity to the user. The exchanged messages, either by the user i.e. M1={w, UIDi*, D1, D2, D3, T1 }, or by other legitimate entities such as M2 - M6, do not contain any intimation regarding the identity of user. An intruder cannot guess or recover the identity from any message M1 - M6, intercepted on public channel. At the same time, the malicious attacker cannot distinguish the exchanged messages M1 - M6, in a session from the similar messages of other session since there is no message that remains constant across multiple sessions. For this purpose, the CS updates the parameter w'= EKc (v', UIDi) using its private secret key each time it finalizes the session and sends to the user for replacement. Thus, the ReSOTS scheme supports untraceability or unlinkability for the user.
iii) Offline-password guessing attack
The proposed scheme ReSOTS is protected from offline-password guessing threat as even if the adversary intercepts all communication messages M1 - M6 on public channel. The attacker I may steal the smart card and its contents including {B2, B3 and \(\psi\)i}. However, it needs a biometric value BIOi and identity IDi to guess the valid HPWi and UIDi parameters. Then only it may recover a valid B1 parameter from smart card to further guess the B3. Without valid BIOi, it is hard to guess the B3 parameter in polynomial amount of time.
iv) Perfect forward secrecy
This feature ensures that compromising the long term secret of the trust party by the adversary should not expose the previous session keys established among the members. In the proposed scheme, even if the private secret key Kc is exposed to the malicious intruder I, still the later will not be able to compute previous session keys. For instance, assume that Kc is compromised and is attempting to compute previous session keys by intercepting all communication messages on public channel. However, in this case the adversary requires qi as well to compute r1 which is an integral factor in the computation of SKc=h(r1 ||r2 ||r3 ||UIDi || IDTj). Thus, the adversary must compromise the repository beside Kc to compute the session keys.
v) DoS/ De-synchronization attack
In the proposed scheme, the adversary may attempt to replay the message M1 towards CS. However, the latter may counter the Denial of Service (DoS) attack by checking the freshness of timestamp |TS2 – TS1| <𝛥t. Moreover, if an attacker attempts to de-synchronize the legal communicating members by holding the message M6, the adversary will not be able to attain its malicious objectives. This is because, the CS encrypts {v', UIDi } using its secret key w'= EKc (v', UIDi), where v' is a random integer. In this manner, the synchronizing parameter UIDi remains constant on both ends, and even if an adversary holds the message during communication, it will not have any effect on synchronizing the communicating parties.
vi) CS impersonation attack
In proposed scheme, if an attacker attempts to impersonate as CS towards other legitimate members of the system, i.e. Ui and Tj by crafting M2 and M6 messages, it may not be possible to initiate such an attack. This is because; the Tj may ensure that the parameters D4, D5 and D6 in M2 are not constructed without TMj, which is only held with a trusted CS. Moreover, the parameter C1 = Ekcr {IDTj, D6, T2} is encrypted with a shared parameter kcr which can only be decrypted with a legal RFID reader Rm. Similarly, Ui may prevent CS impersonation attack by verifying the equality check for D11 ?= h(w' ||SKu || B1 || UIDi || r1 || r2 || r3 || T4). Ui knows that a valid CS can only generate the session key SKu = h(r1 || r2 || r3 || UIDi || IDTj) with access to parameters r1, UIDi and IDTj.
vii) Tag impersonation attack
In ReSOTS, if an adversary attempts to impersonate as a tag towards CS or Rm, it may not be able to initiate this attack. This is because; the reader Rm confirms the validity of tag using the shared key krt. Similarly, the CS after receiving M5 may verify the authenticity of Tj using the equality check for D8 ?=h(SKc || TMj || IDTj || T3). The CS knows that no adversary can construct this session key SKc=h(r1 || r2 || r3 || UIDi || IDTj) other than a legitimate tag Tj because only a legal tag having access to TMj and IDTj may recover r2 and construct SKc and D8 parameters.
viii) Session-specific temporary information attack
Assume even if ephemeral secrets such as r1, r2 or r3 is revealed to any adversary one at a time, it will not be able to compute current or previous sessions by using those short term secret. Besides, it require r2, r3 and IDTj as well to compute the valid session key SKc=h(r1 || r2 || r3 || UIDi || IDTj), however it would be improbable for the adversary to access those short term secrets simultaneously, until the long term private keys of the members are not compromised. Thus the proposed scheme ReSOTS is protected from session specific temporary information attack.
ix) Stolen device attack
If an attacker steals the Ui’s smart card along with its information including {B2, B3 and \(\psi\)i}, the former will not be able to compute previous session keys as constructed between Ui and CS or different tags Tj. These contents of the smart card may not help the adversary in computing the previous session keys since an attacker has no access to parameters that are employed in the construction of a session key, i.e. SKc=h(r1 || r2 || r3 || UIDi || IDTj).
x) Man-in-the-middle attack
The proposed scheme ReSOTS is immune to MiTM attack that may be initiated on the part of crafty intruder \(\mathbb{I}\), since it supports mutual authenticity to all participants in the system. In addition it is protected from forgery and impersonation threats as discussed earlier. This is because, the security of the protocol is relying on registration credentials as provided to the participants on secure channel. At the same time, there are many shared secrets among the entities, i.e. kcr between CS and Rm, and krt between Rm and Tj. The entities Ui, CS and Tj verify the other legal participating members on the basis of verifying D11 ?= h(w' ||SKu || B1 || UIDi || r1 || r2 || r3 || T4), D3 ?=h(UIDi || IDTj || r1 || T1), and D6 ?=h(r1 || r2 || IDTj || TMj || T2), respectively.
5.2 Formal security analysis
This section demonstrates the formal security analysis of the proposed AKA technique in Real-or-Random model [36]. This model involves four participating entities in the system, i.e. user Ui, controlling server CS, RFID reader / RFID tag Tj. We employ\({\prod }_{{U}_{i}}^{{t}_{p}}\), \({\prod }_{{T}_{j}}^{{t}_{q}}\), \({\prod }_{{CS}_{ }}^{{t}_{r}}\)to represent the \({t}_{p}\), \({t}_{q}\), \({t}_{r}\) instances of Ui, CS, and Tj, respectively. Next we assume that attacker \(\mathbb{I}\) has the capability to launch the understated queries. It is worthy to note that \({\mathcal{Q}}_{A}\)={\({\prod }_{{U}_{i}}^{{t}_{p}}\), \({\prod }_{{T}_{j}}^{{t}_{q}}\), \({\prod }_{{CS}_{ }}^{{t}_{r}}\)}.
i) Execute (\({\mathcal{Q}}_{A}\)): Upon the execution of this query, the attacker \(\mathbb{I}\) may get all communication content on the insecure public channel.
ii) Send (\({\mathcal{Q}}_{A}\), Msg): Upon the execution of the send query, \(\mathbb{I}\) may send Msg to \({\mathcal{Q}}_{A}\) and get the response in return from the same entity\({\mathcal{Q}}_{A}\).
iii) Hash_\({\mathcal{Q}}_{A}\) (String): Using this query, an attacker may input a random string to receive hash digest value.
iv) Corrupt (\({\mathcal{Q}}_{A}\)): Upon the execution of Corrupt query, the attacker may recover some secret credentials of an entity which might be stored in smart card as long term or short term secrets.
v) Test (\({\mathcal{Q}}_{A}\)): With the execution of Test query, an attacker flips an unbiased coin \(Ḉ\). If it gets \(Ḉ\) = 1, it will confirm the correct session key SK; however if it gets \(Ḉ\) =0, the attacker only gets a random string for the same length as SK.
Theorem 1
In the RoR model, we assume that an attacker may employ hash, send, execute query, corrupt and test queries. Thus, the advantage of the adversary to compromise the contributed protocol in polynomial amount of time ȶ is (ȶ) + +, where shows the number of times for executing send queries, qhdf characterize the number of times a hash query is executed, Ct and s' being two constants, and b the length of bit-string for biological information.
Proof
The above theorem may be proved using the under-stated sequence of games with five rounds, i.e. GR0 - GR5. We define (ȶ) as the probability for the success of GRn in case =1. The Table 2 illustrates the simulated game queries for factual attacks. The description of these games is given below:
GR0
The coin is flipped to initiate the game GR0. This game is played without queries. Thus the probability of malicious intruder for effectively compromising the protocol ReSOTS as
\({ Adv}_{\mathbb{I}}^{ReSOTS}\) (t) \(=|2 \text{P}\text{r}[{Sucs}_{\mathbb{I}}^{{G}_{R0}}\left(\text{t}\right)]\) -1| (1)
GR1
The game GR0 is transformed with the addition of Execute query, the resultant game is termed as GR1. In this game, the intruder receives the messages M0-M4. Once this game is over, the intruder uses Test oracle to query the session key, however the short term factors r1, r2 and r3 are not held by the attacker. Thus the probability of GR1 and GR0 stands equivalent to each other, i.e
$$\text{P}\text{r}\left[{Sucs}_{\mathbb{I}}^{{G}_{R1}}\right(\text{t}\left)\right]=\text{P}\text{r}\left[{Sucs}_{\mathbb{I}}^{{G}_{R0}}\right(\text{t}\left)\right]$$
2
GR2: The game GR1 is transformed with the addition of Add query, the ensuing game is called as GR2. In accordance with Zipf’s law [49], we have
|\(\text{P}\text{r}\left[{Sucs}_{\mathbb{I}}^{{G}_{R2}}\right(\text{t}\left)\right]-\text{P}\text{r}\left[{Sucs}_{\mathbb{I}}^{{G}_{R1}}\right(\text{t}\left)\right]\le \frac{{q}_{{s}_{d}}^{ }}{{2}^{b}}\) (3)
GR3: GR3 is the consequent game that is transformed with the addition of Hash and deletion of Send query in GR2. Now we refer to the birthday paradox, and get
\(\text{ }|\text{Pr}\left[{Sucs }_{\mathbb{I}}^{{G}_{R3}}\left(\text{t}\right)\right]- \text{Pr}\left[{Sucs }_{\mathbb{I}}^{{G}_{R2}}\left(\text{t}\right)\right]\) | \(\le \frac{{{q}^{2}}_{{hd}_{f}}^{ }}{{2}^{b+1}}\) (4)
GR4: This game discusses the security of the established session key by applying two cases: The first case assumes the revelation of high entropy long term private secret Kc of \({\prod }_{{CS}_{ }}^{{t}_{r}}\)to the intruder \(\mathbb{I}\) for verifying the compliance to perfect forward secrecy. The second case assumes the revelation of ephemeral credential for verifying the resistance of the protocol to known session specific temporary information threat.
1) Perfect forward secrecy: The malicious intruder \(\mathbb{I}\) may employ \({\prod }_{{CS}_{ }}^{{t}_{r}}\) for recovering the private secret Kc of CS, or engage \({\prod }_{{U}_{i}}^{{t}_{p}}\) or \({\prod }_{{T}_{j}}^{{t}_{q}}\) for attempting to get the credentials exchanged at the time of registration.
2) Known session specific temporary information threat: The malicious intruder may engage \({\prod }_{{U}_{i}}^{{t}_{p}}\) or \({\prod }_{{T}_{j}}^{{t}_{q}}\)or \({\prod }_{{CS}_{ }}^{{t}_{r}}\)for attempting to recover the ephemeral secrets of the corresponding entity.
Using hash and send queries, the intruder\(\mathbb{I}\) may compute the session key in both cases. In the former case, if \(\mathbb{I}\) is able to get the private secret key Kc of CS, or secret credentials of \({\prod }_{{U}_{i}}^{{t}_{p}}\) or \({\prod }_{{T}_{j}}^{{t}_{q}}\)exchange during registration time, it may not recover the variables r1, r2 and r3 in the designed session key SK = h(r1 || r2 || r3 || UIDi || IDTj). In the later case, if the malicious intruder I recovers r1, however r2 and r3 remain confidential, or otherwise, either r2 or r3 is revealed with protected r1 parameter, the session key cannot be computed by \(\mathbb{I}\). Thus we get
\(\text{Pr}\left[{Sucs }_{\mathbb{I}}^{{G}_{R4}}\left(\text{t}\right)\right]- \text{Pr}\left[{Sucs }_{\mathbb{I}}^{{G}_{R3}}\left(\text{t}\right)\right]\) | \(\le \frac{{q}_{{s}_{d}}^{ }}{{2}^{b}}\) + \(\frac{{q}_{{hd}_{f}}^{2}}{{2}^{b+1}}\) (5)
GR5: This game employs corrupt (\({\prod }_{{U}_{i}}^{{t}_{p}}\)) to recover the {B2, B3,\(\psi\)i } parameters as stored in the memory of smart card, and initiates the attempt for stolen smart card attack as well as offline-password guessing assault. Presumably, in case the intruder I recovers UIDi considering the message M1, and calculates \(\delta\)i =Rep (BIOi, \(\psi\)i), HPWi = h(\(\delta\)i ||PWi || IDi), UIDi = h(IDi || \(\delta\)i), B1 = B2⊕ HPWi and B3 = h(B1||UIDi || HPWi) until B3' is equal to B3. Nonetheless, BIOi, PWi, and IDi remain secret for the adversary I. The probability of \(\mathbb{I}\) in guessing the biometric information with b size in bit can be shown as 1/2b [37]. According to the Zipf’s law [38], the winning probability to guess the password is higher than ½ when qsd \(\le\) 106. Thus, we have
\(\text{Pr}\left[{Sucs }_{\mathbb{I}}^{{G}_{R5}}\left(\text{t}\right)\right]- \text{Pr}\left[{Sucs }_{\mathbb{I}}^{{G}_{R4}}\left(\text{t}\right)\right]\) | \(\le \text{m}\text{a}\text{x}\{{{C}_{t} }^{{\prime }}. {q}_{{\text{s}}_{\text{d}}}^{{s}^{{\prime }}}, \frac{{q}_{{s}_{d}}^{ }}{{2}^{b}}\}\) (6)
Where Ct' and s' show the constants depending on the length of the password.
GR6: The objective of game GR6 is to validate whether the protocol is protected from forgery threats including impersonation attack. The intruder employs this query to guess the factors in the session key SK = h(r1 || r2 || r3 || UIDi || IDTj) and finally terminate the game.
\(\text{Pr}\left[{Sucs }_{\mathbb{I}}^{{G}_{R6}}\left(\text{t}\right)\right]- \text{Pr}\left[{Sucs }_{\mathbb{I}}^{{G}_{R5}}\left(\text{t}\right)\right]\) | \(\le \frac{{q}_{{\text{h}}_{\text{d}\text{f}}}^{2}}{{2}^{b+1}}\) (7)
The chances of game GR6 regarding success or failure remains equal, i.e. the probability of intruder for rightfully guessing SK is
\(\text{Pr}\left[{Sucs }_{\mathbb{I}}^{{G}_{R6}}\left(\text{t}\right)\right]=\) 1/2 (8)
Using the equations (1)-(8), we have
1/2\({Adv}_{\mathbb{I}}^{ReSOTS}\)(t) \(=|2 \text{P}\text{r}[{Sucs}_{\mathbb{I}}^{{G}_{R0}}]\) -1/2|
=\(\text{Pr}\left[{Sucs }_{\mathbb{I}}^{{G}_{R0}}\left(\text{t}\right)\right]- \text{Pr}\left[{Sucs }_{\mathbb{I}}^{{G}_{R6}}\left(\text{t}\right)\right]\)
$$\text{Pr}\left[{Sucs }_{\mathbb{I}}^{{G}_{R1}}\left(\text{t}\right)\right]- \text{Pr}\left[{Sucs }_{\mathbb{I}}^{{G}_{R6}}\left(\text{t}\right)\right]$$
$$\le \sum _{m=0}^{5}|\text{Pr}\left[{Sucs }_{\mathbb{I}}^{{G}_{{R}_{m+1}}}\left(\text{t}\right)\right]- \text{Pr}\left[{Sucs }_{\mathbb{I}}^{{G}_{{R}_{m}}}\left(\text{t}\right)\right]|$$
= \(\frac{{q}_{{s}_{d}}^{ }}{{2}^{b-1}}\) + \(3\frac{{q}_{{\text{h}}_{\text{d}\text{f}}}^{2}}{{2}^{b}}\) \(\text{m}\text{a}\text{x}\{{{C}_{t} }^{{\prime }}. {q}_{{\text{s}}_{\text{d}}}^{{s}^{{\prime }}}, \frac{{q}_{{s}_{d}}^{ }}{{2}^{b}}\}\) (9)
Hence, we get
\({Adv}_{\mathbb{I}}^{ReSOTS}\) (t) \(\le\) \(\frac{{q}_{{s}_{d}}^{ }}{{2}^{b-2}}\) + \(3\frac{{q}_{{\text{h}\text{d}}_{\text{f}}}^{2}}{{2}^{b-1}}\) \(+ 2\text{m}\text{a}\text{x}\{{{C}_{t} }^{{\prime }}. {q}_{{\text{s}}_{\text{d}}}^{{s}^{{\prime }}}, \frac{{q}_{{s}_{d}}^{ }}{{2}^{b}}\}\) (10)