## 5 Performance Evaluation of BSNCare+  
To evaluate the performance of the BSNCare+, we implement a demo system of the BSNCare+ as a proof of concept of our proposed idea. The implementation environment is as shown in Table 3, where the Raspberry PI 2 platform is simulated as the operating entities during an authentication session of the BSNCare+. The Raspberry PI is a credit card-sized single-board computer, which has been recognized as one of the most popular key platforms for IoT-oriented technique development. It offers a complete Linux server in a tiny platform at a very low cost and thus is suitable to evaluate the performance of any kind of IoT-oriented protocols. Therefore, in the performance evaluation we adopt the Raspberry PI 2 platform to perform the major authentication process of the BSNCare+ for the purpose of testing the practicability of the BSNCare+ in terms of its efficiency and feasibility. In addition, in order to pursue the balance of the protocol efficiency, security robustness and system scalability, a secure one-way hash function, i.e., SHA-3 (512 bits) [12; 13], a bitwise exclusive-or operation and a random number generator are implemented in the demo system. Note that in the system implementation, the values \(ID_{i}\), \(ID_{s}\), \(ID_{j}\), \(N_{is}\), \(N_{h}\), \(N_{js}\), \(sid_{h}\), \(Tr_{sqv}\), \(N_{i}\), \(N_{j}\), \(GPS_{i}\), \(GPS_{j}\), \(N_{s1}\) and \(N_{s2}\) are all set to 96-bits for appropriate security density. Each time the _SID_ contains 100 \(sid_{h}\) values. All the experiments are programmed via Oracle Java 8 and Eclipse 3.8, and are realized with the Bouncy Castle Crypto APIs [13]. Table 4 demonstrates the computation cost required in our proposed BSNCare+ in terms of the execution time of the major communication scheme. In the registration phase, we need \((2+k)\) times of 96-bit random number generator operations and \((2+k)\) times the SHA-3 (512 bits) hash function. In detail, twice the SHA-3 hash function with 288-bits input sequence, i.e., \(K_{is}=H(ID_{s}\mid IN_{is}\mid ID_{i})\), \(k\) time of SHA-3 hash function with 608-bits input sequence, i.e., \(sid_{h}=H(N_{h}\mid I\mid K_{is})\), are evaluated in the system implementation. Note that \(k\) is the size of _SID_ and we set \(k\) as 100 to balance between the security and efficiency of the BSNCare+. In total, we require 47.34 ms to complete the registration phase, which generates 102 random numbers with length of 96-bits, and executes 102 times of SHA-3 hash functions, where 7.14 ms is for generating 102 random numbers and 40.2 ms is for executing 102 times the SHA-3 hash functions. Based on our implementation results, the performance bottleneck occurs at the execution of the SHA-3 hash function with a 608-bit input sequence. Next, we examine the execution cost of performing the authentication phase involved with \(Tr_{seq}\). In brief, 4 times the random number generations, 8 times the bitwise exclusive-or operations and 18 times the SHA-3 hash function are needed to complete the authentication process with an execution time of 9.634 ms (Table 3). In addition, in Table 5 we present the details of the implementation of the authentication phase with \(Tr_{seq}\). We find that the computation cost is dominated by the SHA-3 hash function as the execution time of the random number generation and the exclusive-or operation are comparatively slight when compared to the SHA-3 hash function. We see two interesting results. First, the ratio of \"the execution time of performing all required SHA-3 functions\" to \"the total computation time required for executing the authentication phase\" is 94.95%. Second, the execution time of performing twice the SHA-3 function with a 2208-bit input sequence accounts for 35.81%