<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE article PUBLIC "-//NLM//DTD Journal Publishing DTD v2.3 20070202//EN" "journalpublishing.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink" xml:lang="en" article-type="research-article">
<front>
<journal-meta>
<journal-id journal-id-type="nlm-ta">Sensors</journal-id>
<journal-title>Sensors</journal-title>
<issn pub-type="epub">1424-8220</issn>
<publisher>
<publisher-name>Molecular Diversity Preservation International (MDPI)</publisher-name></publisher></journal-meta>
<article-meta>
<article-id pub-id-type="doi">10.3390/s90806273</article-id>
<article-id pub-id-type="publisher-id">sensors-09-06273</article-id>
<article-categories>
<subj-group>
<subject>Article</subject></subj-group></article-categories>
<title-group>
<article-title>Design and Implementation of a Secure Wireless Mote-Based Medical Sensor Network</article-title></title-group>
<contrib-group>
<contrib contrib-type="author">
<name><surname>Malasri</surname><given-names>Kriangsiri</given-names></name></contrib>
<contrib contrib-type="author">
<name><surname>Wang</surname><given-names>Lan</given-names></name><xref ref-type="corresp" rid="c1-sensors-09-06273">★</xref></contrib>
<aff id="af1-sensors-09-06273">Department of Computer Science, University of Memphis, 209 Dunn Hall, Memphis, TN 38152-3240, USA; E-Mail: <email>kmalasri@memphis.edu</email> (K.M.)</aff></contrib-group>
<author-notes>
<corresp id="c1-sensors-09-06273">
<label>★</label> Author to whom correspondence should be addressed; E-Mail: <email>lanwang@memphis.edu</email>; Tel.: +1-901-678-2727; Fax: +1-901-678-1506</corresp></author-notes>
<pub-date pub-type="collection">
<year>2009</year></pub-date>
<pub-date pub-type="epub">
<day>11</day>
<month>8</month>
<year>2009</year></pub-date>
<volume>9</volume>
<issue>8</issue>
<fpage>6273</fpage>
<lpage>6297</lpage>
<history>
<date date-type="received">
<day>1</day>
<month>7</month>
<year>2009</year></date>
<date date-type="rev-recd">
<day>7</day>
<month>8</month>
<year>2009</year></date>
<date date-type="accepted">
<day>7</day>
<month>8</month>
<year>2009</year></date></history>
<permissions>
<copyright-statement>© 2009 by the authors; licensee MDPI, Basel, Switzerland</copyright-statement>
<copyright-year>2009</copyright-year>
<license>
<p>This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution license (http://creativecommons.org/licenses/by/3.0/).</p></license></permissions>
<abstract>
<p>A <italic>medical sensor network</italic> can wirelessly monitor vital signs of humans, making it useful for long-term health care without sacrificing patient comfort and mobility. For such a network to be viable, its design must protect data privacy and authenticity given that medical data are highly sensitive. We identify the unique security challenges of such a sensor network and propose a set of resource-efficient mechanisms to address these challenges. Our solution includes (1) a novel two-tier scheme for verifying the authenticity of patient data, (2) a secure key agreement protocol to set up shared keys between sensor nodes and base stations, and (3) symmetric encryption/decryption for protecting data confidentiality and integrity. We have implemented the proposed mechanisms on a wireless mote platform, and our results confirm their feasibility.</p></abstract>
<kwd-group>
<kwd>medical sensor network</kwd>
<kwd>neural network</kwd>
<kwd>elliptic curve cryptography</kwd>
<kwd>security</kwd></kwd-group></article-meta></front>
<body>
<sec sec-type="intro">
<label>1.</label>
<title>Introduction</title>
<p>In our society, an increasing percentage of the population are aging people who have chronic illnesses such as diabetes and heart disease. In addition, more children are suffering from long-term conditions such as asthma and obesity. If these people’s health could be monitored continuously over a long period of time, physicians could detect serious health problems sooner as well as provide more accurate diagnoses and better treatment. For instance, previous studies have shown that monitoring patient data can help with early detection of conditions like heart disease [<xref ref-type="bibr" rid="b1-sensors-09-06273">1</xref>, <xref ref-type="bibr" rid="b2-sensors-09-06273">2</xref>]. Moreover, medical professionals could react to situations such as strokes and asthma attacks more quickly. Current monitoring solutions, however, are not suitable for long-term purpose, as patients are typically attached to a bedside device that limits their mobility and comfort.</p>
<p>Several research groups (e.g., [<xref ref-type="bibr" rid="b3-sensors-09-06273">3</xref>, <xref ref-type="bibr" rid="b4-sensors-09-06273">4</xref>, <xref ref-type="bibr" rid="b5-sensors-09-06273">5</xref>, <xref ref-type="bibr" rid="b6-sensors-09-06273">6</xref>, <xref ref-type="bibr" rid="b7-sensors-09-06273">7</xref>]) have recently integrated medical sensors with wireless <italic>motes</italic> for health monitoring, such as the Harvard wireless pulse oximeter [<xref ref-type="bibr" rid="b4-sensors-09-06273">4</xref>]. A mote is low-power computing device with a wireless radio; it is typically the size of a match box or even smaller. Using the motes, these medical sensors wirelessly transmit data to base stations, where it can be accessed by physicians and nurses. This frees patients from the confinement of traditional wired sensors, allowing medical professionals to monitor their health remotely over long periods. Such <italic>medical sensor networks</italic> can be deployed in hospitals, long-term care facilities, and homes. Pharmaceutical companies could also use the network to monitor patients in clinical trials in order to develop better drugs. Moreover, the system can be extended to monitor the vital signs of people working in hazardous conditions, such as firefighters in a burning building, relief workers in a disaster area, and soldiers on a battlefield.</p>
<p>Although medical sensor networks are extremely useful and versatile, the medical data they collect is sensitive, and the privacy of such data is legally protected (e.g., the Health Insurance Portability and Accountability Act of 1996 (HIPAA) [<xref ref-type="bibr" rid="b8-sensors-09-06273">8</xref>]). A patient’s physiological data may reveal what disease the patient has (which might be useful to parties such as insurance companies). As such, an attacker may profit financially by selling data obtained through eavesdropping. Moreover, the attacker could even cause physical harm to a patient by misreporting or spoofing the patient’s data, resulting in improper diagnosis and/or treatment. Therefore, it would be irresponsible to design and deploy a medical sensor network without adequate security mechanisms. Moreover, patients will not make use of this system if they are not convinced that their data will be kept confidential, regardless of how good the system’s performance is. To this end, our work aims to design a secure medical sensor network for health monitoring. We believe that security mechanisms must be designed into the architecture from day one rather than after the other issues are addressed, as security requires careful thoughts on where functionality should be placed and how the system components interact with one another.</p>
<p>Similar security issues may exist in some traditional wireless ad hoc networks and other types of sensor networks. However, a medical sensor network monitors <italic>humans</italic>, unlike most existing sensor networks that monitor the <italic>physical environment</italic>. A <italic>human-centered</italic> sensor network has distinct features such as the sensitive nature of the data, the mobility of sensors, and the proximity to potential attackers, all of which makes it difficult to address security.</p>
<p>The contribution of our work is the following. First, we identify the security requirements and challenges in a medical sensor network. Second, we propose a security architecture for wireless motes-based health monitoring based on the following security mechanisms: (1) a two-tier authentication scheme to ensure the authenticity of patient data; (2) a secure key agreement protocol based on elliptic curve cryptography (ECC) to set up symmetric keys between sensor nodes and base stations; and (3) symmetric encryption and decryption for protecting data confidentiality and integrity. Third, we have developed a prototype on the Tmote Sky platform for evaluating the security, cost, and performance of the proposed architecture and mechanisms. Note that our design could be applied in a variety of scenarios, e.g., hospitals, assisted living facilities, and homes. However, we use the terminology <italic>patient</italic>, <italic>physician</italic>, and <italic>healthcare facility</italic> for simplicity.</p></sec>
<sec>
<label>2.</label>
<title>Related Work</title>
<p>Several research projects have been developing prototype medical sensor networks, but to provide a comprehensive security solution for medical sensor networks remains an open problem. The Code-Blue [<xref ref-type="bibr" rid="b4-sensors-09-06273">4</xref>] project at Harvard has proposed a mote-based sensor network platform and developed an operational prototype for use in hospitals. The CodeBlue designers acknowledge the need for security in a medical environment, but addressing security requirements is not a main focus of their study. They did develop an elliptic curve cryptography (ECC) public-key implementation on Crossbow motes [<xref ref-type="bibr" rid="b9-sensors-09-06273">9</xref>], which is much less efficient than later implementations.</p>
<p>The I-Living project [<xref ref-type="bibr" rid="b10-sensors-09-06273">10</xref>] and PAS [<xref ref-type="bibr" rid="b11-sensors-09-06273">11</xref>] propose an architecture to enable assisted living at home for elderly citizens. Although they propose that the medical sensors use IEEE 802.11 or Bluetooth for wireless communication, in contrast to the IEEE 802.15.4 radios often found on motes, the aims of the project are very similar. The authors realize the need for privacy when dealing with patient data and propose a symmetric security scheme, in which security information such as keys is stored in USB sticks that are automatically recognized once plugged into a device. However, the scheme seems to require that each device be individually configured, reducing its scalability.</p>
<p>ALARM-NET [<xref ref-type="bibr" rid="b6-sensors-09-06273">6</xref>] shares many similarities with the above work, aiming to develop an architecture for wireless monitoring of residents in assisted-living facilities. ALARM-NET combines wearable medical sensors with static environmental sensors for measuring quantities such as temperature and light. Here, the authors propose that security be provided via the symmetric Advanced Encryption Standard (AES) cipher, but they are not specific about key management.</p>
<p>Much of the aforementioned work has made impressive progress from a hardware perspective, including development of custom medical sensors or integration of sensors with motes and other communication devices. Security has generally been covered separately and not as an integrated component of the architecture. We feel our work is complementary to these efforts, as we focus on addressing security concerns from an architectural standpoint.</p>
<p>There has been extensive research on wireless sensor security in general. Instead of enumerating all the prior work in this area, we highlight several classes of approaches and explain why they cannot be directly applied to long-term patient monitoring. Efficient public-key schemes have been proposed for mutual authentication between motes and base stations as well as the establishment of shared keys, e.g., [<xref ref-type="bibr" rid="b12-sensors-09-06273">12</xref>, <xref ref-type="bibr" rid="b13-sensors-09-06273">13</xref>]. However, these schemes often require each mote to have its own public key, which is vulnerable to the <italic>physical compromise of motes</italic> (i.e., an attacker obtaining physical access to a mote) as we explain later. Another efficient approach to authentication is to use symmetric cryptography but delay the disclosure of the symmetric keys, e.g., <italic>μ</italic>TESLA [<xref ref-type="bibr" rid="b14-sensors-09-06273">14</xref>]. This approach is not suitable for our application because message authentication must be instantaneous to ensure timely reaction to patient emergencies. Thus, we developed our own two-tier authentication scheme (detailed in Section 6) to account for the unique characteristics of medical sensor networks.</p>
<p>A large body of work has been done on key pre-distribution using symmetric cryptography (e.g., [<xref ref-type="bibr" rid="b15-sensors-09-06273">15</xref>]). These schemes focus mainly on generating shared keys between sensor nodes. Often a pre-configured secret key is used between the base station and each mote, which is not resilient against physical compromise. In this paper, we choose ECC and asymmetric cryptography as the basis of our key agreement protocol because recent work [<xref ref-type="bibr" rid="b9-sensors-09-06273">9</xref>, <xref ref-type="bibr" rid="b16-sensors-09-06273">16</xref>, <xref ref-type="bibr" rid="b17-sensors-09-06273">17</xref>, <xref ref-type="bibr" rid="b18-sensors-09-06273">18</xref>] has shown that performing ECC public-key computations on resource-constrained devices is viable. Several ECC-based key agreement protocols have been proposed, including ECDH [<xref ref-type="bibr" rid="b19-sensors-09-06273">19</xref>, <xref ref-type="bibr" rid="b20-sensors-09-06273">20</xref>] and ECMQV [<xref ref-type="bibr" rid="b20-sensors-09-06273">20</xref>]. The authenticated versions of ECDH and ECMQV both require a static public key on each mote, so they are not suitable in our system (due to the aforementioned threat of physical compromise). Consequently, we developed our own ECC-based key agreement protocol as detailed in Section 7.</p></sec>
<sec sec-type="methods">
<label>3.</label>
<title>Design Requirements</title>
<p>Our overall objective is to build a <italic>secure</italic> medical sensor network for health monitoring using <italic>low-power</italic> wireless motes. To achieve this objective, the system needs to support long-term monitoring while ensuring the privacy and authenticity of medical data. Below we elaborate on these three requirements.</p>
<p>First, patients with chronic diseases require <bold>long-term monitoring</bold>, which implies the following: (a) the sensor nodes should ideally operate for days without recharging; and (b) during the lifetime of a sensor node, it may be intentionally or accidentally turned off for various reasons, e.g. when it is out of battery power, so the design should not rely on the assumption that the sensor nodes are always on. These considerations have major influences on the design of our security mechanisms.</p>
<p>Second, since personal health data is extremely sensitive, a high confidence on the system’s ability to ensure <bold>data privacy</bold> is essential. From the healthcare providers’ point of view, a data breach would have very serious legal and financial consequences. From the users’ point of view, they may be hesitant to use the system if they are not convinced that their data will be kept confidential.</p>
<p>Third, <bold>data authenticity</bold> is very important in our system since healthcare providers rely on the data to diagnose and treat their patients as well as react to emergencies. Patients’ lives can be endangered if their data or commands from healthcare providers are intentionally changed or forged. Note that the verification of data authenticity has to be carried out as soon as data is received to ensure timely reaction to emergencies.</p>
<p>We emphasize that our work focuses on keeping patient data secure <italic>as it is transferred to base stations</italic>. The problem of data security does not stop at that point; there are still issues such as ensuring that only authorized personnel can view the data, and preventing accidental disclosure of the data. These areas are outside the scope of this particular work. We note, however, that there has been work addressing these issues; e.g., several variants of role-based access control (RBAC) schemes tailored for the healthcare industry were surveyed in [<xref ref-type="bibr" rid="b21-sensors-09-06273">21</xref>].</p></sec>
<sec>
<label>4.</label>
<title>Unique Challenges</title>
<sec>
<label>4.1.</label>
<title>Hardware Constraints</title>
<p>We have chosen to use wireless motes (such as the Crossbow MICA [<xref ref-type="bibr" rid="b22-sensors-09-06273">22</xref>] and the Moteiv Tmote Sky [<xref ref-type="bibr" rid="b23-sensors-09-06273">23</xref>]) as the sensor nodes in our design for several reasons. First, the motes are much smaller and lighter than other types of portable embedded devices (e.g., PDAs), making them easier to carry. Second, our specific application typically does not require complex data processing and has a low data transfer rate (e.g., 4 packets/second or less). As such, we need a device with a reasonable amount of computing power and data transmission capability, while maintaining extremely low energy consumption during sleep in order to support long-term monitoring. The Tmote Sky motes seem to have these characteristics, making them well suited for our goals. Using motes also allows for ease of prototype development, as the motes include an onboard CPU and enjoy the support of an active research community with a wealth of open-source software and tools. We note that it is certainly possible that motes with higher power CPUs could work (or even outperform the Tmote Sky) in our application, a point we plan to investigate in the future.</p>
<p>Unfortunately, <italic>the resource constraints in wireless motes make it challenging to meet the abovementioned security requirements</italic>. Motes have much lower processor speed, memory, link bandwidth, and energy supply than mobile PCs or PDAs, so our security mechanisms must be very resource-efficient. The MICA motes, for example, use an 8-bit, 8 MHz processor, and the comparable Tmote Sky platform employs a 16-bit, 8 MHz processor. Conventional security mechanisms incur high costs; some RSA operations can take over 80 seconds to run on a low-power 8-bit CPU [<xref ref-type="bibr" rid="b17-sensors-09-06273">17</xref>]. In addition, the radio bandwidths of recent IEEE 802.15.4-compliant motes are limited to 250 kbps.</p></sec>
<sec>
<label>4.2.</label>
<title>Considerations for Medical Sensor Networks</title>
<p>Security mechanisms developed for other sensor networks or in general may not be applicable to medical sensor networks due to their unique characteristics, as we explain below.</p>
<p><bold>Communication Pattern</bold> <italic>sensor nodes on different patients do not communicate with one another</italic>. Instead, they communicate with one or more base stations close to the healthcare provider. Therefore, we need to protect the communication between the sensor nodes and base stations. However, most existing research focuses more on enabling secure communication among sensor nodes. Often, a simple symmetric-key mechanism is used between the sensor nodes and base stations, e.g., pre-configuring a shared secret in each sensor node and the base station. These mechanisms do not offer enough protection against <italic>physical compromise of sensor nodes</italic>.</p>
<p><bold>Threat Model</bold> <italic>physical compromise of sensor nodes</italic> is a greater threat in medical sensor networks due to two factors: (1) <italic>mobility</italic>: while most other sensor networks have stationary sensors, medical sensors move with the patients and may get lost without even being noticed; (2) <italic>accessibility</italic>: it is relatively easy for attackers to find targets, i.e., patients in local healthcare facilities, as opposed to in remote locations such as forests or battlefields. Note that physically compromising the base stations is harder because they can be protected in secure locations. Once a sensor node is compromised, the attacker can capture any sensitive information remaining in the mote, including personal medical data and secret key material. The attacker can then use the key material to decrypt any previously recorded communication. Furthermore, the attacker can inject false data using the node. Therefore, we need to limit the amount of private information disclosed after the physical compromise as well as the damage that the attacker can cause through impersonating the patient. This has several implications for our design: (1) secret keys should be periodically updated; (2) when a node is turned off, no security material (such as a shared secret or a static public/private key) should have to be stored permanently in the node’s non-volatile memory (a pre-configured shared secret obviously does not satisfy this requirement); and (3) authentication must rely on something that the attacker cannot easily capture or forge.</p></sec></sec>
<sec sec-type="methods">
<label>5.</label>
<title>Design Overview</title>
<p><xref ref-type="fig" rid="f1-sensors-09-06273">Figure 1</xref> illustrates our overall architecture. Each <italic>patient</italic> has one wireless <italic>mote</italic> attached to his/her body. The mote is connected (wired) to several <italic>medical sensors</italic>, which take samples of the patient’s health data when they are activated. A <italic>medical professional</italic> issues queries for a patient’s data through one or a few <italic>base stations</italic>. Queries issued from base stations may activate the patient’s medical sensors or adjust their sampling frequency and other parameters. Before sending the queries, the base station verifies that the medical professional is a legitimate user with the necessary privileges to access the particular patient’s data. After the mote receives the query from the base station, it activates the appropriate sensor(s) or adjusts its parameters. It also continuously sends the resulting patient data from the sensors to the base station until the sensors are deactivated. Wireless <italic>relay nodes</italic> forward the queries and patient data between the base stations and the motes. Note that since our design focuses on <italic>securing</italic> the communication between the motes and base stations, we do not consider the routing protocol used to transfer data through the relay nodes.</p>
<sec>
<label>5.1.</label>
<title>Architectural Decisions</title>
<p>We have made two explicit architectural decisions that differentiate our design from previously proposed architectures such as CodeBlue [<xref ref-type="bibr" rid="b4-sensors-09-06273">4</xref>]. These choices make it easier to secure the overall system, without unduly sacrificing the system’s functionality or performance.</p>
<p>First, <italic>the motes communicate only with the base stations, not with individual medical professionals’ computers</italic>. This is because in a large healthcare facility, it would be difficult for the motes to directly authenticate hundreds of individual users (physicians, nurses, etc.). The motes simply do not have the memory resources to maintain all this access control information. Instead, our design authenticates the users at the base stations and has the base stations issue queries to the motes on behalf of the users. Motes are configured with the base stations’ addresses and public keys for authentication.</p>
<p>Second, <italic>motes do not have their own permanent public/private key pairs</italic>, because such a key pair would have to be kept in non-volatile memory to prevent it from being lost when a mote is turned off. Since individual motes are relatively easy to physically compromise, an attacker who captures a mote would be able to decrypt all previously recorded data sent by the mote. Moreover, if the mote’s public/private key pair is used for authentication, the attacker would be able to impersonate the patient after capturing the mote.</p></sec>
<sec>
<label>5.2.</label>
<title>Security Mechanisms</title>
<p>Our security mechanisms are summarized in <xref ref-type="fig" rid="f2-sensors-09-06273">Figure 2</xref>. First, we propose a <italic>two-tier authentication scheme</italic> based on patient biometric and physiological data, in order to handle spoofing or physical compromise of motes. We assume that each mote is connected to a small fingerprint scanner or a comparable biometric identification device. The base station first verifies the patient’s identity via a biometric signature, then checks incoming data against the patient’s profile for consistency. Our authentication scheme is resilient against spoofing and physical compromise of motes, because it is difficult for an attacker to both forge a valid patient’s biometric signature and generate physiological data that is consistent with the patient’s own data.</p>
<p>Second, <italic>queries and data are encrypted and integrity protected using dynamically generated symmetric keys</italic>, in order to defend against attacks that compromise the privacy and integrity of patient data. As mentioned earlier, motes are very resource-constrained, so it is more efficient to use pairwise <italic>symmetric keys</italic> shared between the base station and motes for data protection.</p>
<p>Third, we propose an <italic>elliptic curve cryptography (ECC) based key agreement protocol</italic> to allow base stations and motes to securely derive symmetric keys without any prior shared secrets. In order to handle spoofing of base stations, motes are pre-configured with base stations’ public keys so that they can establish symmetric keys only with valid base stations. If there are many base stations in the facility, we can use the <italic>group public-key scheme</italic> proposed in [<xref ref-type="bibr" rid="b24-sensors-09-06273">24</xref>]. This scheme allows each base station to have its own private key, while allowing the motes to use a <italic>single</italic> public key for the entire base station group. In the next three sections, we present the specific design, implementation, and evaluation of each mechanism.</p></sec></sec>
<sec sec-type="methods">
<label>6.</label>
<title>Two-Tier Data Source Authentication Scheme</title>
<p>An attacker can inject forged patient data into a medical sensor network using either his/her own motes or a compromised mote. To combat this type of attack, we propose a two-tier data source authentication scheme.</p>
<sec sec-type="methods">
<label>6.1.</label>
<title>Design</title>
<p>At the first tier, each mote is integrated with a small biometric scanner to capture a unique signature for the patient. The biometric signature must be validated by a base station before communication between the base station and mote can occur. We assume that the base stations have access to a list of valid patient biometric signatures (this could be obtained from each patient upon admission to the facility), and also that the space of possible signatures is sufficiently large that a brute-force attack is infeasible. There are several off-the-shelf miniature fingerprint readers and finger vein readers that could serve as the biometric scanner. One example is the MBF200 solid-state fingerprint sensor from Fujitsu [<xref ref-type="bibr" rid="b25-sensors-09-06273">25</xref>] (also shown in <xref ref-type="fig" rid="f2-sensors-09-06273">Figure 2</xref>). It is small (24 mm <italic>×</italic> 24 mm <italic>×</italic> 1.4 mm), low in power consumption (20 mA active, <italic>&lt;</italic> 200 <italic>μ</italic>A sleep, 20 <italic>μ</italic>A standby), and inexpensive (about $30 per unit in bulk quantities). Moreover, it can capture a fingerprint in less than one second. The fingerprint sensor simply captures an image (which would be inefficient to transmit directly), but off-the-shelf hardware (e.g., [<xref ref-type="bibr" rid="b26-sensors-09-06273">26</xref>]) exists that integrates the Fujitsu sensor with a small processing board to allow feature extraction from the raw image.</p>
<p>The first tier alone is insufficient for ensuring data authenticity because an attacker can capture a patient’s mote after the patient has been accepted into the system. Therefore, we add a second-tier authentication system to <italic>assert the identity of a patient based solely on the sensor data being collected from that patient</italic>. More specifically, each patient will wear the sensors for a short period of time for the base station to “learn” the patient’s profile. From then on, whenever the patient’s data deviates substantially from that profile, the base station will raise an alarm. The alarm could be caused by forged data or by a medical emergency. In either case, it is important that the patient be checked on, so issuing the alarm is warranted. This approach does not require any extra bandwidth (the data being used is sent anyway) and is completely passive from the viewpoint of the patient.</p></sec>
<sec>
<label>6.2.</label>
<title>Implementation of Tier-2 Authentication</title>
<p>Our second-tier authentication mechanism requires statistical or machine learning techniques to recognize medical data as being from a particular patient. We have investigated a neural network approach for implementing this mechanism. Each patient is associated with a neural network, which is first trained on data from that patient and some reference patients. The neural network then monitors incoming data for consistency with the training data. Both the initial training and the detection mechanism are run on the base station, in order to minimize computation on the mote. Once trained, the neural network can quickly process incoming data.</p>
<p>We use a feed-forward neural network (<xref ref-type="fig" rid="f3-sensors-09-06273">Figure 3</xref>) that consists of a number of inputs, hidden cells, and outputs, along with a set of <italic>connection weights</italic> that determine how the output is computed from the input. Our current implementation uses patient electrocardiogram (ECG) signals to train the neural network, due to the high amount of identifying features that this data offers. The input to the neural network is one heartbeat of ECG data; the output is 0 or 1 (NO or YES) depending on whether the neural network believes this data is consistent with the training data.</p>
<p>One issue with this approach is that raw ECG data for a single heartbeat can contain hundreds of individual samples. Using this data in its entirety is impractically complex. To address this problem we opted to extract a set of representative features from the raw ECG data to use as neural network inputs. A typical ECG signal for a single heartbeat is shown in <xref ref-type="fig" rid="f4-sensors-09-06273">Figure 4</xref>; it consists of a small <italic>P wave</italic>, followed by a large <italic>QRS complex</italic>, followed by a small <italic>T wave</italic>. We extract eight features per heartbeat: the lengths of the (1) PR interval, (2) PR segment, (3) QRS complex, (4) ST segment, and (5) QT interval; and the peak amplitudes of the (6) P wave, (7) QRS complex, and (8) T wave.</p></sec>
<sec>
<label>6.3.</label>
<title>Evaluation of Tier-2 Authentication</title>
<p>As we do not yet have access to real ECG sensors, we used publicly available data from the long-term ST ECG database at MIT’s PhysioWeb [<xref ref-type="bibr" rid="b27-sensors-09-06273">27</xref>] for developing our neural networks. Each patient’s ECG data covers a period of 21–24 hours. We set aside some of these patients as a “reference set.” For each of the remaining patients, a training data set was constructed consisting of the first 2000 heartbeats from that particular patient’s record (associated with a neural network output of 1) and the first 2000 heartbeats from each of the patients in the reference set (associated with a neural network output of 0).</p>
<p>We performed some experimentation with different neural network setups by varying the number of reference patients used in training as well as the features extracted from each beat of ECG data. The results in <xref ref-type="table" rid="t1-sensors-09-06273">Table 1</xref> suggest that increasing the number of reference patients potentially has the greatest returns on performance. For subsequent experiments, we chose the setup with the best overall performance for the training of each patient’s neural network, i.e., 9 reference patients and a four-layer feed-forward neural network model with 8 input cells, 2 layers of 15 hidden cells, 1 output cell, and a log sigmoid activation function on the hidden layers.</p>
<p><xref ref-type="table" rid="t2-sensors-09-06273">Table 2</xref> shows how well the trained neural networks could classify the training data from 10 patients (patients are labeled <italic>P</italic><sub>1</sub><italic>, ...P</italic><sub>10</sub>, and reference patients are labeled <italic>R</italic><sub>1</sub><italic>, ...R</italic><sub>9</sub>). The number corresponding to (<italic>P<sub>i</sub></italic>, self) indicates the percentage of training samples (heartbeats) from patient <italic>P<sub>i</sub></italic> that were correctly classified as from that patient. The number (<italic>P<sub>i</sub></italic>, <italic>R<sub>j</sub></italic>) indicates the percentage of training samples from reference patient <italic>R<sub>j</sub></italic> that were correctly classified as <italic>not</italic> being from patient <italic>P<sub>i</sub></italic>. For example, the fourth row of <xref ref-type="table" rid="t2-sensors-09-06273">Table 2</xref> indicates that (1) the trained network for patient <italic>P</italic><sub>4</sub> was able to correctly classify 99.85% of the training inputs from <italic>P</italic><sub>4</sub> as being from <italic>P</italic><sub>4</sub> (the first value); and (2) it was able to classify 100% of the training inputs from reference patients <italic>R</italic><sub>1</sub>, <italic>R</italic><sub>2</sub>, <italic>R</italic><sub>4</sub><italic>...R</italic><sub>9</sub>, and 99.93% of the training inputs from <italic>R</italic><sub>3</sub>, as <italic>not</italic> being from <italic>P</italic><sub>4</sub>. Overall, the neural networks learned the training data very well, with an average accuracy of 99.8%.</p>
<p>Next, we use each trained neural network to classify the validation data (i.e., 10,000 heartbeats not used in training) from each of the non-reference patients. As shown in <xref ref-type="table" rid="t3-sensors-09-06273">Table 3</xref>, the neural networks give accurate results in most cases. For example, the fourth row shows that patient <italic>P</italic><sub>4</sub>’s neural network was able to correctly classify the validation data from patients <italic>P</italic><sub>1</sub> through <italic>P</italic><sub>6</sub> and <italic>P</italic><sub>8</sub> through <italic>P</italic><sub>10</sub> almost 100% of the time, but was less accurate with <italic>P</italic><sub>7</sub>. The average validation accuracy for the neural networks over all patients was 87.7%.</p>
<p>To see how well these results might generalize, we also expanded the neural network training to a larger set of data from the long-term ST database (26 patients <italic>P</italic><sub>1</sub> ... <italic>P</italic><sub>26</sub>, with the same set of reference patients <italic>R</italic><sub>1</sub> ... <italic>R</italic><sub>9</sub>). We found that the overall effectiveness of the neural networks on the larger set was comparable to the figures presented here, with an average accuracy of 99.7% on the training data and 91.5% on the validation data. Due to space constraints we do not include the detailed results.</p>
<p>It is important to note that perfect classification is <italic>not</italic> required at all in our scheme since our goal is to detect suspicious data. We just need to raise an alarm when a certain percentage of incoming data deviates from a patient’s profile. The above results suggest that the alarm threshold can be set to a relatively small number (e.g., 10–30%) with a low false positive and low false negative rate. In fact, with a threshold of 25%, we would have 0 false positives and only 1 false negative (<italic>P</italic><sub>1</sub> could be considered <italic>P</italic><sub>9</sub>) in <xref ref-type="table" rid="t3-sensors-09-06273">Table 3</xref>. One may further lower the threshold to reduce the false negative rate, with the possibility of increasing the false positive rate. As long as the false positive rate is relatively low, this may be a desirable trade-off: a false negative could have serious consequences, e.g., neglecting false data or missing an emergency situation, while a false positive simply leads to a re-examination of the patient.</p></sec></sec>
<sec>
<label>7.</label>
<title>ECC-based Key Agreement Protocol</title>
<p>We propose a key agreement protocol that each mote uses to securely derive symmetric keys with the base station at the beginning of their communication. We use <italic>elliptic curve cryptography</italic>.</p>
<sec sec-type="methods">
<label>7.1.</label>
<title>Design</title>
<p>We first present some background on ECC and then describe the design of our key agreement protocol and key update protocol.</p>
<sec>
<title>ECC Background</title>
<p>An <italic>elliptic curve</italic> is of the form <italic>y</italic><sup>2</sup> = <italic>x</italic><sup>3</sup> + <italic>ax</italic> + <italic>b</italic>. When defined over a finite field, all the points on the curve (<italic>x, y</italic>) and the parameters <italic>a</italic> and <italic>b</italic> are limited to elements of the underlying field. A common class of finite fields used in ECC are <italic>prime fields GF</italic> (<italic>p</italic>), where <italic>p</italic> is a large prime number; the elements of this field are the integers in [0, <italic>p</italic> − 1]. There are three basic operations that can be performed on elliptic curve points: <italic>addition</italic> of two points <italic>P</italic> + <italic>Q</italic>, <italic>doubling</italic> of a point (addition to itself) 2<italic>P</italic>, and <italic>scalar multiplication nP</italic>, where <italic>n</italic> is an integer. Algebraic formulae exist for both addition and doubling. Scalar multiplication is the repeated application of addition and doubling: <italic>nP</italic> = <italic>P</italic> + <italic>P</italic> + ... + <italic>P</italic> for <italic>n</italic> times. To use ECC, two nodes <italic>A</italic> and <italic>B</italic> agree on what elliptic curve to use and a base point <italic>G</italic> on the curve; this information is not secret. Node <italic>A</italic> can generate a large random number <italic>q</italic> as its private key and derive its public key <italic>Q</italic> by using <italic>Q</italic> = <italic>qG</italic>. If <italic>q</italic> is large, it is hard for an attacker to derive the private key <italic>q</italic> from the public key <italic>Q</italic> even if the attacker knows <italic>G</italic>, due to the difficulty of the <italic>elliptic curve discrete logarithm problem</italic> (ECDLP).</p>
<p>We use the <italic>Elliptic Curve Integrated Encryption Scheme</italic> (ECIES [<xref ref-type="bibr" rid="b19-sensors-09-06273">19</xref>]), a public-key encryption scheme based on DHIES [<xref ref-type="bibr" rid="b28-sensors-09-06273">28</xref>], to secure the <italic>key agreement protocol messages</italic> between a mote and a base station. DHIES (and ECIES) is secure against adaptive chosen-ciphertext attacks (see [<xref ref-type="bibr" rid="b28-sensors-09-06273">28</xref>] for the security proof). The ECIES procedure is summarized in <xref ref-type="fig" rid="f5-sensors-09-06273">Figure 5</xref> and described below. To protect the messages between node <italic>A</italic> (a mote) and node <italic>B</italic> (base station) against eavesdropping and modification, node <italic>A</italic> generates a random number <italic>r</italic> and computes a secret <italic>S</italic> = <italic>rQ</italic>, where <italic>Q</italic> is node <italic>B</italic>’s public key. Node <italic>A</italic> then uses a key derivation function (KDF) to generate two <italic>transient keys</italic> from <italic>S</italic>: a symmetric encryption key <italic>K<sup>′</sup><sub>s</sub></italic> and a MAC (message authentication code) key <italic>K<sup>′</sup><sub>mac</sub></italic>. Node <italic>A</italic> also computes the point <italic>R</italic> = <italic>rG</italic>, which is sent in the clear to node <italic>B</italic>. Node <italic>B</italic> can derive the secret <italic>S</italic> using its private key <italic>q</italic> and the point <italic>R: S</italic> = <italic>qR</italic> = <italic>q</italic>(<italic>rG</italic>) = <italic>r</italic>(<italic>qG</italic>) = <italic>rQ</italic>. Node <italic>B</italic> then uses the same KDF to derive <italic>K<sup>′</sup><sub>s</sub></italic> and <italic>K<sup>′</sup><sub>mac</sub></italic> from <italic>S</italic>. The transient keys are then used to encrypt and integrity-protect the messages between <italic>A</italic> and <italic>B</italic>.</p></sec>
<sec>
<title>Key Agreement Protocol</title>
<p>In our scheme, each base station has a private key <italic>q</italic> and a public key <italic>Q</italic> = <italic>qG</italic>, where <italic>G</italic> is a chosen base point on the elliptic curve. The public key <italic>Q</italic> is pre-configured in the motes. As mentioned before, motes do not have their own public/private keys. To securely derive symmetric keys between a mote and a base station (called <italic>session keys</italic>), we use the following protocol involving three messages (<xref ref-type="fig" rid="f6-sensors-09-06273">Figure 6</xref>).</p>
<p>When a mote is first attached to a patient, the patient uses the biometric scanner on the mote to activate the key agreement protocol. For illustration, we assume that a fingerprint reader is used to obtain a biometric signature, but other types of biometric information would also work. Once the mote obtains the patient’s fingerprint (<italic>F P</italic>), which includes a set of features extracted from the raw fingerprint image, it generates a master key <italic>K<sub>m</sub></italic> that will be used to derive the session keys for end-to-end query/data encryption. It also generates a session number <italic>SN</italic> that uniquely identifies this particular communication session, and a nonce <italic>n</italic><sub>1</sub> for deriving the session keys. The mote then sends a <italic>KeyGenStart</italic> message <italic>securely</italic> to the base station using ECIES. This message contains the mote’s ID (<italic>NID</italic>), the patient’s <italic>F P</italic>, the master key <italic>K<sub>m</sub></italic>, the session number <italic>SN</italic>, and the nonce <italic>n</italic><sub>1</sub>. Appended to <italic>KeyGenStart</italic> is the unencrypted point <italic>R</italic> needed for ECIES.</p>
<p>The base station decrypts <italic>KeyGenStart</italic> and verifies the authenticity of this patient using the finger-print. Then the base station generates a nonce <italic>n</italic><sub>2</sub>, and it uses <italic>K<sub>m</sub></italic>, <italic>n</italic><sub>1</sub>, and <italic>n</italic><sub>2</sub> to derive the session keys that will be shared with the mote — the symmetric encryption key <italic>K<sub>s</sub></italic> and the MAC key <italic>K<sub>mac</sub></italic> for data/query transfer. The nonces <italic>n</italic><sub>1</sub> and <italic>n</italic><sub>2</sub> not only allow frequent update of the session keys, but also protect the protocol from replay attacks. Note that our protocol is also secure against man-in-the-middle attacks because the attacker would need the base station’s private key and the patient’s <italic>F P</italic> to launch such an attack.</p>
<p>After processing the <italic>KeyGenStart</italic> message, the base station sends back a <italic>KeyGenAck</italic> message to the mote containing <italic>SN</italic>, <italic>n</italic><sub>2</sub>, and a one-way hash of <italic>n</italic><sub>1</sub>, encrypted and integrity-protected using the transient keys derived from ECIES. We opt to use a hash of <italic>n</italic><sub>1</sub> rather than <italic>n</italic><sub>1</sub> directly to reduce the information that an attacker will have even if the attacker is able to decrypt this message.</p>
<p>The mote decrypts <italic>KeyGenAck</italic> and verifies <italic>SN</italic> and the hash of <italic>n</italic><sub>1</sub> to prevent replay attacks. Afterwards, the mote uses <italic>K<sub>m</sub></italic>, <italic>n</italic><sub>1</sub>, and <italic>n</italic><sub>2</sub> to derive the session keys <italic>K<sub>s</sub></italic> and <italic>K<sub>mac</sub></italic>, which should match those generated by the base station. For the base station to verify that the mote has received the <italic>KeyGenAck</italic> message and that the mote generated the session keys <italic>K<sub>s</sub></italic> and <italic>K<sub>mac</sub></italic> correctly, the mote sends a <italic>KeyGenVerify</italic> message to the base station containing <italic>SN</italic> and a hash of <italic>n</italic><sub>2</sub>. This message is encrypted with <italic>K<sub>s</sub></italic> and integrity-protected with <italic>K<sub>mac</sub></italic>. The base station decrypts <italic>KeyGenVerify</italic> and verifies that all the values are correct. If so, data transfer may commence using <italic>K<sub>s</sub></italic> to encrypt/decrypt messages and <italic>K<sub>mac</sub></italic> to compute a keyed MAC for each message.</p>
<p>Our key agreement protocol differs from the handshakes in SSL/TLS in the following ways: (1) we use only three protocol messages to set up the session keys, as message transmissions consume a significant amount of energy; (2) since motes do not have their own public/private keys, we incorporate the patient biometric signature in <italic>KeyGenStart</italic> as a means of authenticating the mote to the base station; (3) the nonces are encrypted in our protocol for more protection; and (4) in addition to the patient biometric signature, we have several other built-in measures to limit what an attacker can do with a compromised mote, as discussed below.</p></sec>
<sec>
<title>Key Update Procedure</title>
<p>The base station and the mote periodically update the session keys <italic>K<sub>s</sub></italic> and <italic>K<sub>mac</sub></italic> to limit the amount of private data that can be recovered in case the keys are compromised. To update the session keys, they simply exchange new values of <italic>n</italic><sub>1</sub> and <italic>n</italic><sub>2</sub> and rerun the key derivation function using the existing master key <italic>K<sub>m</sub></italic> and the new nonce values. This allows the session keys to be updated without having to undertake the expensive public-key operations in the full key agreement protocol. We omit the details due to space constraints.</p></sec>
<sec>
<title>Further Considerations for Physical Compromise of Motes</title>
<p>We enhance the above mechanisms with the following measures to limit what an attacker can do with a compromised mote. Suppose that an attacker has been eavesdropping on the communication between the mote and the base station. We have two measures to bound the amount of private information that the attacker can recover from earlier captured sensor data. First, once the key update procedure produces a new session key, the previous session’s keys (<italic>K<sub>s</sub></italic>, <italic>K<sub>mac</sub></italic>) and nonces (<italic>n</italic><sub>1</sub>, <italic>n</italic><sub>2</sub>) are erased from memory. Therefore, the attacker can only decrypt the data that has already been sent in the <italic>current</italic> session. Second, if the base station and the mote have not communicated for a long period of time (e.g., if the patient removes the mote or if the mote is inadvertently lost), the master key <italic>K<sub>m</sub></italic> and its derived keys expire and are removed from memory. The attacker will not obtain any session keys in this case. Note that when the master key expires, the entire key agreement protocol must be re-run to resume communication between the mote and base station. The idle time before <italic>K<sub>m</sub></italic> expires can be tuned to fit specific security needs, with a shorter idle time providing added security at the expense of greater patient inconvenience (since the biometric security procedure would have to be reactivated) and greater computational load for key agreement.</p>
<p>Suppose that the attacker wants to send forged data using the mote. If the mote has been idle for too long and the master key has expired, the attacker needs to use a valid fingerprint to activate the key agreement protocol. To prevent this from happening, we remove <italic>F P</italic> from the mote’s memory as soon as the <italic>KeyGenAck</italic> message is received, so it is difficult for an attacker to obtain a valid patient’s biometric information. On the other hand, if the master key is still valid, the attacker can use the current session key and establish new session keys through the key update procedure. However, the attacker will most likely be detected by the base station via the second-tier authentication scheme, as the forged patient data will not match the existing profile.</p></sec></sec>
<sec>
<label>7.2.</label>
<title>Implementation of Key Agreement Protocol</title>
<p>Our development environment is TinyOS 2 [<xref ref-type="bibr" rid="b29-sensors-09-06273">29</xref>] running on the Moteiv Tmote Sky platform, which features a 16-bit, 8 MHz Texas Instruments MSP430 processor with 48 KB of program ROM and 10 KB of RAM. Program code in this environment is written in nesC (networked embedded systems C), a dialect of C designed for use with TinyOS. (As of late 2007, Moteiv has changed its name to Sentilla and has discontinued production and support of its Tmote product line in favor of a new hardware platform designed for Java applications. However, the new platform is backwards-compatible with the Tmote Sky. Furthermore, Crossbow Technology still offers its TelosB mote for sale, which is functionally identical to the Tmote Sky. Both the TelosB and Tmote Sky remain popular in the research community.)</p>
<p>Our basic ECC operations are based on North Carolina State University’s TinyECC 1.0 distribution [<xref ref-type="bibr" rid="b16-sensors-09-06273">16</xref>]. We implemented ECIES for secure key agreement, using the elliptic curve secp160r1 defined over a 160-bit prime field as recommended by [<xref ref-type="bibr" rid="b30-sensors-09-06273">30</xref>]. We use 160-bit private keys, 320-bit public keys, and a 160-bit random number <italic>r</italic> in ECIES. We then implemented our key agreement protocol, using a 32-bit session number (<italic>SN</italic>), 48-bit patient fingerprint (<italic>F P</italic>), 128-bit master key (<italic>K<sub>m</sub></italic>), 128-bit transient and session keys (<italic>K<sup>′</sup><sub>s</sub></italic>, <italic>K<sup>′</sup><sub>mac</sub></italic>, <italic>K<sub>s</sub></italic>, <italic>K<sub>mac</sub></italic>), and 64-bit nonces (<italic>n</italic><sub>1</sub>, <italic>n</italic><sub>2</sub>). The resulting <italic>KeyGenStart</italic>, <italic>KeyGenAck</italic>, and <italic>KeyGenVerify</italic> messages are 56, 52 and 32 bytes long.</p>
<p>Due to its customizability and ease of implementation, we chose the RC5 block cipher in ciphertext stealing (CTS) mode for the symmetric encryption in ECIES, using the recommended parameters of 64-bit blocks, 128-bit keys, and 12 rounds. For the hash function we chose SHA-1 [<xref ref-type="bibr" rid="b31-sensors-09-06273">31</xref>], which allowed us to save code space by using SHA-1 based algorithms for both the message authentication code function (for integrity checking) and key derivation function. We implemented HMAC-SHA-1 [<xref ref-type="bibr" rid="b32-sensors-09-06273">32</xref>] and PBKDF1 [<xref ref-type="bibr" rid="b33-sensors-09-06273">33</xref>], respectively.</p></sec>
<sec>
<label>7.3.</label>
<title>Evaluation of Key Agreement Protocol</title>
<p>Our compiled code on the Tmote uses 30 KB of ROM and 4.4 KB of RAM, which leaves reasonable space for other applications. We note that most of this memory requirement comes from TinyECC, which includes numerous optimizations to speed up the ECC operations. As indicated by Liu and Ning [<xref ref-type="bibr" rid="b16-sensors-09-06273">16</xref>], these optimizations can be selectively disabled to reduce the code size at the cost of increased computation time.</p>
<p>We timed our protocol which ran on two motes and had a laptop PC (2.66 GHz Intel Pentium 4) as a base station. As illustrated in <xref ref-type="fig" rid="f7-sensors-09-06273">Figure 7</xref>, mote <italic>A</italic> acts as a sender, while mote <italic>B</italic> serves as the interface between the sender and the PC by receiving <italic>A</italic>’s wireless packets and forwarding them over a serial connection (emulated via a physical USB connection). Mote <italic>B</italic> essentially serves as a bridge between the sending mote and the PC, as the PC lacks a native way of wirelessly receiving data from a mote. Mote <italic>A</italic> took 7075 ms to generate and send <italic>KeyGenStart</italic>, and 123 ms to check <italic>KeyGenAck</italic> and send <italic>KeyGenVerify</italic>. The base station took 77 ms to check <italic>KeyGenStart</italic> and send <italic>KeyGenAck</italic>, and 13.3 ms to check <italic>KeyGenVerify</italic>. Virtually all of the time required to generate and send <italic>KeyGenStart</italic> is due to two ECC scalar point multiplications (computing the points <italic>rQ</italic> and <italic>rG</italic>, as described previously).</p>
<p>Although a CPU time investment of over 7 s may seem intensive, we note that the key agreement protocol only has to be run once to establish the initial symmetric keys, and once each time the keys expire. We explain in Section 8.5 that this periodic investment has minimal effect on the mote’s battery life.</p></sec></sec>
<sec sec-type="methods">
<label>8.</label>
<title>Query/Data Protection Mechanism</title>
<p>Queries and data are encrypted and integrity-protected using the session keys established through the key agreement protocol. To prevent replay or injection of messages, we use both a <italic>session number</italic> (<italic>SN</italic>) and a <italic>message sequence number</italic> in query and data messages. The session number is randomly changed whenever the keys are updated (if the master key has expired, the session number is re-generated by the sending mote as part of re-running the entire key agreement protocol; if only the session keys are being updated, the session number is updated via the nonce exchange procedure). The base station needs to keep a list of recently used session numbers in order to detect replay attacks. This list can be stored efficiently using a bloom filter. The base station and the mote also increase their message sequence numbers for each new query or data message. Received messages with an unexpected session number or sequence number are discarded. Note that it is difficult for an outside attacker to guess a session number in the first place.</p>
<p>To save code space, we use the same symmetric cipher and MAC function in the query/data protection mechanism as in the key agreement protocol discussed previously (RC5 in ciphertext stealing mode and HMAC-SHA-1, respectively).</p>
<sec>
<label>8.1.</label>
<title>Overhead of Symmetric Encryption/MAC</title>
<p>To get an idea of the performance impact of performing symmetric encryption/MAC on every data packet, we conducted a simple experiment in which mote <italic>A</italic> (see <xref ref-type="fig" rid="f7-sensors-09-06273">Figure 7</xref>) sent 2000 packets over the air as rapidly as possible. We varied the packet size from 40 bytes to 100 bytes (near the upper limit of packet size for our platform) and measured the throughput of the system. As illustrated in <xref ref-type="fig" rid="f8-sensors-09-06273">Figure 8</xref>, using encryption and integrity checking does lower the throughput from 31–53 kbps to 8–14 kbps (depending on packet size). We also directly measured the time required to perform the MAC and encryption operations on a single 100-byte packet and we found that this consumes about 44 ms of CPU time. However, we feel that this is a reasonable price to pay for the added security. Moreover, the lower throughput is still sufficient for a practical deployment, as we explain later.</p></sec>
<sec>
<label>8.2.</label>
<title>Simulated Real-World Deployment</title>
<p>We then set up a more realistic network with multiple senders and one receiving mote, with a fixed sending rate of <italic>four</italic> 100-byte packets per second (both encryption and MAC are enabled). We chose this sending rate (400 bytes/s per patient) based on the following considerations. The ECG data in the long-term ST database was sampled at 250 Hz. Allotting 2 bytes for each sample, this results in 500 bytes per second of raw data. However, we found that 500 bytes of raw ECG data can be reduced to about 260 bytes using S-LZW [<xref ref-type="bibr" rid="b34-sensors-09-06273">34</xref>], a compression scheme specifically designed for the resource constraints of wireless motes. Compression would thus allow ample space for ECG data as well as other types of patient data to be sent. Note that other patient data (e.g., body temperature) could be sampled at a much lower rate than the ECG data.</p>
<p><xref ref-type="fig" rid="f9-sensors-09-06273">Figures 9</xref> and <xref ref-type="fig" rid="f10-sensors-09-06273">10</xref> show the throughput and packet loss as measured at the receiving mote (mote <italic>B</italic> in <xref ref-type="fig" rid="f7-sensors-09-06273">Figure 7</xref>) and at the PC. Any difference between the two curves in each figure indicates that packets were dropped by the serial connection between the receiving mote and the PC. We found that a single receiving mote is able to reliably handle 10 senders, with a packet loss of under 1%. At 11 senders and above, the receiving radio is unable to keep up with the incoming packets.</p></sec>
<sec>
<label>8.3.</label>
<title>Stress Test</title>
<p>For the stress test, we modified the senders to send 100-byte packets with MAC/encryption as quickly as possible, at about 17 packets per second. Note that in practice the senders are unlikely to send their sampled data at such a high rate, due to energy consumption concerns. We wanted to evaluate this scenario solely to see how the system would perform at its hardware limits. <xref ref-type="fig" rid="f11-sensors-09-06273">Figures 11</xref> and <xref ref-type="fig" rid="f12-sensors-09-06273">12</xref> show the throughput and packet loss. These two figures demonstrate that a single receiving mote is able to reliably handle data from up to 4 senders sending at their maximum rate. Beyond this point, the receiving radio is unable to keep up with the incoming packets, resulting in significant packet loss. Additionally, when there are more than 4 senders, the serial connection between mote <italic>B</italic> and the PC also becomes a bottleneck, resulting in a higher loss rate observed at the PC than at the receiving mote. To address the radio packet loss issues, we attempted using the PacketLink reliable transmission layer in TinyOS. However, we found that this further lowered throughput as the high loss rate resulted in many retransmissions. Overall, we feel that the MAC layer being used in TinyOS can be improved to more gracefully handle high loads; we plan to further investigate this in the future.</p></sec>
<sec>
<label>8.4.</label>
<title>Improving Base Station Scalability</title>
<p>The above results may seem to suggest that a single base station can support only a very small number of sending motes. However, the number of motes reliably handled by a base station can be improved significantly simply by attaching more than one receiving mote (mote <italic>B</italic> in <xref ref-type="fig" rid="f7-sensors-09-06273">Figure 7</xref>) to the PC. Each receiving mote is set to a different wireless channel and handles incoming packets only from motes sending on that channel. To demonstrate the feasibility of this approach, we repeated the above stress test with two and three receiving motes. As shown in <xref ref-type="fig" rid="f13-sensors-09-06273">Figure 13</xref>, we found that the base station’s ability to handle multiple sending motes scales very well with the number of receiving motes attached. The overall throughput increases linearly with additional receiving motes. With four senders per receiver, for instance, a single receiving mote allows a throughput of about 46.9 kbps; this increases to 93.0 kbps and 142.9 kbps for two and three receiving motes, respectively. We also observed that the packet loss remains low (on the order of 1%) with the additional receiving motes.</p></sec>
<sec>
<label>8.5.</label>
<title>Energy Considerations</title>
<p>A complete energy profile for the sending mote must consider the processor, the radio, and the attached medical sensors. Of these components, the processor is used heavily during the initial ECC operations and in the encryption/MAC of outgoing packets. As discussed previously, the ECC key agreement consumes 7198 ms of CPU time on the mote, while performing encryption/MAC on a single 100-byte packet consumes 44 ms of time.</p>
<p>The radio and the sensors are used periodically to sample patient data and forward it to the base station. Based on the previous experiments, the time required for the radio to send a single a 100-byte packet is about 15 ms. In addition to the radio, the mote’s batteries would have to be used to power the attached biometric scanner and medical sensors. Because we have not yet integrated these sensors onto our motes, it is difficult for us to quantify their energy requirements. However, we note that the scanner is needed only once each time the key agreement protocol is run. Meanwhile, the medical sensors do not have to be continuously working; they might operate in a low-power sleep mode, being activated only when required to sample the patient’s data.</p>
<p>To get a rough estimate of energy consumption in a real-world deployment, we made the following assumptions: (1) the ECC key agreement protocol will be run once per 24 hours; and (2) the mote will send patient data at the rate of four 100-byte packets per second. The Tmote Sky draws 5.1 <italic>μ</italic>A with the processor on standby and radio off, 1.8 mA with the processor alone on, and 19.5 mA with the processor on and the radio transmitting [<xref ref-type="bibr" rid="b23-sensors-09-06273">23</xref>]. For the envisioned processor/radio usage, the mote’s AA batteries (using a conservatively low estimate of 500 mAh) would be sufficient for about 14 days of operation. The majority (78.5%) of the power requirement comes from the radio, with 21.2% from CPU use during encryption/MAC and less than 1% from CPU use during the ECC key setup and idling.</p></sec></sec>
<sec>
<label>9.</label>
<title>Conclusion and Future Work</title>
<p>We have presented the design and implementation of a comprehensive security solution for medical sensor networks. Our initial results on the patient authentication using ECG data are promising, while our implementation on the Tmote Sky demonstrates reasonable computational overhead for our mechanisms.</p>
<p>Our future plans include improvements to both the theoretical and implementation aspects of the system. We have not yet addressed some security requirements that would be important in an actual deployment. In particular, these security issues deserve attention:
<list list-type="simple">
<list-item>
<p><bold>Base stations</bold> - Our work assumes that the base stations in the architecture are secure. Although we feel that base stations are less likely than motes to be compromised, we should nonetheless develop a contingency plan should an attacker gain access to one or more base stations. Furthermore, we currently assume that base stations’ public keys are <italic>pre-configured</italic> in the patient motes. However, we have not yet developed a scheme to allow scalable and secure updates to these public keys.</p></list-item>
<list-item>
<p><bold>Denial-of-service attacks</bold> - An attacker may simply flood the wireless channel with meaningless transmissions, rendering the motes unable to send any data. Some work has already been done on addressing DoS attacks in wireless sensor networks; Raymond and Midkiff [<xref ref-type="bibr" rid="b35-sensors-09-06273">35</xref>] provide a survey. We hope to integrate some techniques from the literature into our system.</p></list-item>
<list-item>
<p><bold>Attacks on the relay nodes</bold> - Rather than targeting base stations or patient motes, an attacker might focus on the relay nodes in the system. This might include conducting a DoS attack against or physically capturing relay nodes, both of which would result in a routing “black hole” in the system. We note that this might be addressed by selecting an appropriate flexible routing protocol, which (as mentioned in Section 5) we do not consider in this work.</p></list-item>
<list-item>
<p><bold>Random number generation</bold> - In our scheme, the session keys are derived from a secret <italic>S</italic> = <italic>rQ</italic>, where <italic>Q</italic> is the public key of the base station and <italic>r</italic> is a random number generated by the sending mote. Even with no knowledge of <italic>r</italic> itself, an attacker who physically captures a mote might gain knowledge of the seed used to generate <italic>r</italic>. To combat this, we might have the sending mote use patient biometric data in the random number generation, but this is not yet something that we have analyzed in detail.</p>
<p>Implementation-wise, we plan to evaluate the base station’s neural network mechanism using live data streams from the motes, optimize our neural network performance, integrate motes with actual medical sensors and fingerprint readers, and possibly consider a more powerful mote platform such as the Intel iMote2. The iMote2’s processor is about an order of magnitude faster than that of the Tmote Sky, which may potentially result in a more efficient system (as the processor can quickly perform its work and resume a low-power sleep mode). Ultimately, we hope to conduct a study on actual patients to demonstrate the real-world feasibility of our system. Even further in the future, we may consider using a body sensor network (which can include implanted as well as wearable wireless sensors) on the patient rather than connecting all sensors to a single mote.</p></list-item></list></p></sec></body>
<back>
<ack>
<p>The authors wish to thank the anonymous reviewers for their comments.</p>
<p>This work was supported in full or in part by a grant from the University of Memphis Faculty Research Grant Fund. This support does not necessarily imply endorsement by the University of research conclusions.</p></ack>
<ref-list>
<title>References and Notes</title>
<ref id="b1-sensors-09-06273"><label>1.</label><citation citation-type="book"><person-group person-group-type="author"><name><surname>Morris</surname><given-names>M.</given-names></name><name><surname>Intille</surname><given-names>S.S.</given-names></name><name><surname>Beaudin</surname><given-names>J.S.</given-names></name></person-group><article-title>Embedded assessment: Overcoming barriers to early detection with pervasive computing</article-title><source>Proc. of PERVASIVE 2005</source><person-group person-group-type="editor"><name><surname>Gellersen</surname><given-names>H.W.</given-names></name><name><surname>Want</surname><given-names>R.</given-names></name><name><surname>Schmidt</surname><given-names>A.</given-names></name></person-group><publisher-name>Springer-Verlag</publisher-name><publisher-loc>Munich, Germany</publisher-loc><month>May</month><day>8–13</day><year>2005</year><fpage>333</fpage><lpage>346</lpage></citation></ref>
<ref id="b2-sensors-09-06273"><label>2.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Stern</surname><given-names>S.</given-names></name><name><surname>Tzivoni</surname><given-names>D.</given-names></name></person-group><article-title>Early detection of silent ischaemic heart disease by 24-hour electrocardiographic monitoring of active subjects</article-title><source>Brit. Heart J</source><year>1974</year><volume>36</volume><fpage>481</fpage><lpage>486</lpage><pub-id pub-id-type="doi">10.1136/hrt.36.5.481</pub-id><pub-id pub-id-type="pmid">4835185</pub-id></citation></ref>
<ref id="b3-sensors-09-06273"><label>3.</label><citation citation-type="book"><person-group person-group-type="author"><name><surname>Fischer</surname><given-names>R.</given-names></name><name><surname>Ohno-Machado</surname><given-names>L.</given-names></name><name><surname>Curtis</surname><given-names>D.</given-names></name><name><surname>Greenes</surname><given-names>R.</given-names></name><name><surname>Stair</surname><given-names>T.</given-names></name><name><surname>Guttag</surname><given-names>J.</given-names></name></person-group><article-title>SMART: Scalable medical alert response technology</article-title><source>Smart Medical Technologies Summit (SMT)</source><publisher-loc>Houston, Texas, USA</publisher-loc><month>April</month><year>2004</year></citation></ref>
<ref id="b4-sensors-09-06273"><label>4.</label><citation citation-type="book"><person-group person-group-type="author"><name><surname>Shnayder</surname><given-names>V.</given-names></name><name><surname>Chen</surname><given-names>B.-R.</given-names></name><name><surname>Lorincz</surname><given-names>K.</given-names></name><name><surname>Fulford-Jones</surname><given-names>T.R.F.</given-names></name><name><surname>Welsh</surname><given-names>M.</given-names></name></person-group><article-title>Sensor networks for medical care</article-title><comment>Technical Report TR-08-05,</comment><publisher-name>Harvard University</publisher-name><publisher-loc>Cambridge, Massachusetts, USA</publisher-loc><month>April</month><year>2005</year></citation></ref>
<ref id="b5-sensors-09-06273"><label>5.</label><citation citation-type="confproc"><person-group person-group-type="author"><name><surname>Park</surname><given-names>C.</given-names></name><name><surname>Chou</surname><given-names>P.H.</given-names></name><name><surname>Bai</surname><given-names>Y.</given-names></name><name><surname>Matthews</surname><given-names>R.</given-names></name><name><surname>Hibbs</surname><given-names>A.</given-names></name></person-group><article-title>An Ultra-Wearable, Wireless, Low Power ECG Monitoring System</article-title><conf-name>Proceedings of IEEE BioCAS</conf-name><conf-loc>London, UK</conf-loc><conf-date>November 2006</conf-date></citation></ref>
<ref id="b6-sensors-09-06273"><label>6.</label><citation citation-type="book"><person-group person-group-type="author"><name><surname>Wood</surname><given-names>A.</given-names></name><name><surname>Virone</surname><given-names>G.</given-names></name><name><surname>Doan</surname><given-names>T.</given-names></name><name><surname>Cao</surname><given-names>Q.</given-names></name><name><surname>Selavo</surname><given-names>L.</given-names></name><name><surname>Wu</surname><given-names>Y.</given-names></name><name><surname>Fang</surname><given-names>L.</given-names></name><name><surname>He</surname><given-names>Z.</given-names></name><name><surname>Lin</surname><given-names>S.</given-names></name><name><surname>Stankovic</surname><given-names>J.</given-names></name></person-group><article-title>ALARM-NET: Wireless Sensor Networks for Assisted-Living and Health Monitoring</article-title><comment>Technical Report CS-2006-01,</comment><publisher-name>University of Virginia</publisher-name><publisher-loc>Charlottesville, Virginia, USA</publisher-loc><year>2006</year></citation></ref>
<ref id="b7-sensors-09-06273"><label>7.</label><citation citation-type="confproc"><person-group person-group-type="author"><name><surname>Gao</surname><given-names>T.</given-names></name><name><surname>Pesto</surname><given-names>C.</given-names></name><name><surname>Selavo</surname><given-names>L.</given-names></name><name><surname>Chen</surname><given-names>Y.</given-names></name><name><surname>Ko</surname><given-names>J.</given-names></name><name><surname>Lim</surname><given-names>J.</given-names></name><name><surname>Terzis</surname><given-names>A.</given-names></name><name><surname>Watt</surname><given-names>A.</given-names></name><name><surname>Jeng</surname><given-names>J.</given-names></name><name><surname>Chen</surname><given-names>B.-R.</given-names></name><name><surname>Lorincz</surname><given-names>K.</given-names></name><name><surname>Welsh</surname><given-names>M.</given-names></name></person-group><article-title>Wireless medical sensor networks in emergency response: Implementation and pilot results</article-title><conf-name>Proc. 2008 IEEE Int. Conf. Technologies for Homeland Security</conf-name><conf-loc>Waltham, MA, USA</conf-loc><conf-date>May 12–13, 2008</conf-date></citation></ref>
<ref id="b8-sensors-09-06273"><label>8.</label><citation citation-type="web"><person-group person-group-type="author"><collab>Office for Civil Rights, United State Department of Health and Human Services</collab></person-group><article-title>Medical Privacy - National Standards to Protect the Privacy of Personal Health Information</article-title><comment>Available at: <ext-link xlink:href="http://hhs.gov/ocr/hipaa/finalreg.html" ext-link-type="uri">http://hhs.gov/ocr/hipaa/finalreg.html</ext-link> (accessed 10 August 2009).</comment></citation></ref>
<ref id="b9-sensors-09-06273"><label>9.</label><citation citation-type="confproc"><person-group person-group-type="author"><name><surname>Malan</surname><given-names>D.J.</given-names></name><name><surname>Welsh</surname><given-names>M.</given-names></name><name><surname>Smith</surname><given-names>M.D.</given-names></name></person-group><article-title>A Public-Key Infrastructure for TinyOS Based on Elliptic Curve Cryptography</article-title><conf-name>Proceedings of the IEEE International Conference on Sensor and ad Hoc Communications and Networks</conf-name><conf-loc>Santa Clara, CA, USA</conf-loc><conf-date>October 4–7, 2004</conf-date></citation></ref>
<ref id="b10-sensors-09-06273"><label>10.</label><citation citation-type="confproc"><person-group person-group-type="author"><name><surname>Wang</surname><given-names>Q.</given-names></name><name><surname>Shin</surname><given-names>W.</given-names></name><name><surname>Liu</surname><given-names>X.</given-names></name><name><surname>Zeng</surname><given-names>Z.</given-names></name><name><surname>Oh</surname><given-names>C.</given-names></name><name><surname>Al-Shebli</surname><given-names>B.</given-names></name><name><surname>Caccamo</surname><given-names>M.</given-names></name><name><surname>Gunter</surname><given-names>C.</given-names></name><name><surname>Gunter</surname><given-names>E.</given-names></name><name><surname>Hou</surname><given-names>J.</given-names></name><name><surname>Karahalios</surname><given-names>K.</given-names></name><name><surname>Sha</surname><given-names>L.</given-names></name></person-group><article-title>I-Living: An open system architecture for assisted living</article-title><conf-name>Proceedings of the IEEE SMC</conf-name><conf-loc>Los Angeles, CA, USA</conf-loc><conf-date>April 2006</conf-date></citation></ref>
<ref id="b11-sensors-09-06273"><label>11.</label><citation citation-type="confproc"><person-group person-group-type="author"><name><surname>Hou</surname><given-names>J.C.</given-names></name><name><surname>Wang</surname><given-names>Q.X.</given-names></name><name><surname>AlShebli</surname><given-names>B.K.</given-names></name><name><surname>Ball</surname><given-names>L.</given-names></name><name><surname>Birge</surname><given-names>S.</given-names></name><name><surname>Caccamo</surname><given-names>M.</given-names></name><name><surname>Cheah</surname><given-names>C.F.</given-names></name><name><surname>Gilbert</surname><given-names>E.</given-names></name><name><surname>Gunter</surname><given-names>C.A.</given-names></name><name><surname>Gunter</surname><given-names>E.</given-names></name><name><surname>Lee</surname><given-names>C.G.</given-names></name><name><surname>Karahalios</surname><given-names>K.</given-names></name><name><surname>Nam</surname><given-names>M.Y.</given-names></name><name><surname>Nitya</surname><given-names>N.</given-names></name><name><surname>Rohit</surname><given-names>C.</given-names></name><name><surname>Shin</surname><given-names>L.S.W.</given-names></name><name><surname>Yu</surname><given-names>S.</given-names></name><name><surname>Yu</surname><given-names>Y.</given-names></name><name><surname>Zeng</surname><given-names>Z.</given-names></name></person-group><article-title>PAS: A wireless-enabled, sensor-integrated personal assistance system for independent and assisted living</article-title><conf-name>Proc. of Joint Workshop on High Confidence Medical Devices, Software, and Systems (HCMDSS) and Medical Device Plug-and-Play (MD PnP) Interoperability (HCMDSS/MD PnP’07)</conf-name><conf-loc>Boston, MA, USA</conf-loc><conf-date>June 2007</conf-date></citation></ref>
<ref id="b12-sensors-09-06273"><label>12.</label><citation citation-type="confproc"><person-group person-group-type="author"><name><surname>Aydos</surname><given-names>M.</given-names></name><name><surname>Sunar</surname><given-names>B.</given-names></name><name><surname>Koc</surname><given-names>C.K.</given-names></name></person-group><article-title>An elliptic curve cryptography based authentication and key agreement protocol for wireless communication</article-title><conf-name>Proceedings of the 2nd International Workshop on Discrete Algorithms and Methods for Mobile Computing and Communications</conf-name><conf-loc>Dallas, TX, USA</conf-loc><conf-date>October 30, 1998</conf-date></citation></ref>
<ref id="b13-sensors-09-06273"><label>13.</label><citation citation-type="confproc"><person-group person-group-type="author"><name><surname>Zhang</surname><given-names>Q.</given-names></name><name><surname>Cukier</surname><given-names>J.</given-names></name><name><surname>Kobayashi</surname><given-names>H.</given-names></name><name><surname>Liu</surname><given-names>B.</given-names></name><name><surname>Zhang</surname><given-names>J.</given-names></name></person-group><article-title>Fast authenticated key eastblishment protocols for self-organizing sensor networks</article-title><conf-name>Proceedings of the 2nd ACM International Conference on Wireless Sensor Networks and Applications</conf-name><conf-loc>San Diego, CA, USA</conf-loc><conf-date>2003</conf-date><fpage>141</fpage><lpage>150</lpage></citation></ref>
<ref id="b14-sensors-09-06273"><label>14.</label><citation citation-type="confproc"><person-group person-group-type="author"><name><surname>Perrig</surname><given-names>A.</given-names></name><name><surname>Szewczyk</surname><given-names>R.</given-names></name><name><surname>Wen</surname><given-names>V.</given-names></name><name><surname>Culler</surname><given-names>D.</given-names></name><name><surname>Tygar</surname><given-names>J.D.</given-names></name></person-group><article-title>SPINS: Security protocols for sensor networks</article-title><conf-name>Proceedings of the ACM MOBICOM</conf-name><conf-loc>Rome, Italy</conf-loc><conf-date>July 16–21, 2001</conf-date></citation></ref>
<ref id="b15-sensors-09-06273"><label>15.</label><citation citation-type="confproc"><person-group person-group-type="author"><name><surname>Zhu</surname><given-names>S.</given-names></name><name><surname>Setia</surname><given-names>S.</given-names></name><name><surname>Jajodia</surname><given-names>S.</given-names></name></person-group><article-title>LEAP: Efficient security mechanisms for large-scale distributed sensor networks</article-title><conf-name>Proceedings of the 10th ACM Conference on Computer and Communications Security (CCS)</conf-name><conf-loc>Washingtion, DC, USA</conf-loc><conf-date>October 27–30, 2003</conf-date></citation></ref>
<ref id="b16-sensors-09-06273"><label>16.</label><citation citation-type="confproc"><person-group person-group-type="author"><name><surname>Liu</surname><given-names>A.</given-names></name><name><surname>Ning</surname><given-names>P.</given-names></name></person-group><article-title>TinyECC: A Configurable Library for Elliptic Curve Cryptography in Wireless Sensor Networks</article-title><conf-name>Proc. 7th International Conference on Information Processing in Sensor Networks (IPSN 2008), SPOTS Track</conf-name><conf-loc>St. Louis, Missouri, USA</conf-loc><conf-date>April 22–24, 2008</conf-date><fpage>245</fpage><lpage>256</lpage><comment>Available at: <ext-link xlink:href="http://discovery.csc.ncsu.edu/software/TinyECC/" ext-link-type="uri">http://discovery.csc.ncsu.edu/software/TinyECC/</ext-link> (accessed August 10, 2009).</comment></citation></ref>
<ref id="b17-sensors-09-06273"><label>17.</label><citation citation-type="book"><person-group person-group-type="author"><name><surname>Gura</surname><given-names>N.</given-names></name><name><surname>Patel</surname><given-names>A.</given-names></name><name><surname>Wander</surname><given-names>A.</given-names></name><name><surname>Eberle</surname><given-names>H.</given-names></name><name><surname>Shantz</surname><given-names>S.C.</given-names></name></person-group><article-title>Comparing Elliptic Curve Cryptography and RSA on 8-bit CPUs</article-title><source>Workshop on Cryptographic Hardware and Embedded Systems</source><publisher-loc>Cambridge, Boston, USA</publisher-loc><month>August</month><year>2004</year></citation></ref>
<ref id="b18-sensors-09-06273"><label>18.</label><citation citation-type="book"><person-group person-group-type="author"><name><surname>Wang</surname><given-names>H.</given-names></name><name><surname>Sheng</surname><given-names>B.</given-names></name><name><surname>Li</surname><given-names>Q.</given-names></name></person-group><article-title>WM-ECC: an elliptic curve cryptography suite on sensor motes</article-title><comment>Technical Report WM-CS-2007-11.</comment><publisher-name>Department of Computer Science, College of William and Mary</publisher-name><publisher-loc>Charlottesville, Virginia, USA</publisher-loc><year>2007</year></citation></ref>
<ref id="b19-sensors-09-06273"><label>19.</label><citation citation-type="other"><comment>Certicom Research. Standards for Efficient Cryptography (SEC) 1: Elliptic Curve Cryptography. September 2000.</comment></citation></ref>
<ref id="b20-sensors-09-06273"><label>20.</label><citation citation-type="web"><person-group person-group-type="author"><collab>NIST</collab></person-group><comment>Recommendation for Pair-Wise Key Establishment Schemes Using Discrete Logarithm Cryptography, Special Publication 800-56A. March, 2007, Available at: <ext-link xlink:href="http://csrc.nist.gov/publications/nistpubs/800-56A/SP800-56A_Revision1_Mar08-2007.pdf" ext-link-type="uri">http://csrc.nist.gov/publications/nistpubs/800-56A/SP800-56A_Revision1_Mar08-2007.pdf</ext-link> (accessed August 10, 2009).</comment></citation></ref>
<ref id="b21-sensors-09-06273"><label>21.</label><citation citation-type="book"><person-group person-group-type="author"><name><surname>Venkatasubramanian</surname><given-names>K.K.</given-names></name><name><surname>Gupta</surname><given-names>S.K.S.</given-names></name></person-group><article-title>Security solutions for pervasive healthcare</article-title><source>Security in Distributed, Grid, Mobile, and Pervasive Computing</source><person-group person-group-type="editor"><name><surname>Xiao</surname><given-names>Y.</given-names></name></person-group><publisher-name>CRC Press</publisher-name><publisher-loc>NY, UK</publisher-loc><year>2007</year></citation></ref>
<ref id="b22-sensors-09-06273"><label>22.</label><citation citation-type="web"><person-group person-group-type="author"><collab>Crossbow Technology</collab></person-group><article-title>MPR/MIB mote hardware users manual</article-title><month>June</month><year>2007</year><comment>Available at: <ext-link xlink:href="http://www.xbow.com/support/support_pdf_files/mpr-mib_series_users_manual.pdf" ext-link-type="uri">http://www.xbow.com/support/support_pdf_files/mpr-mib_series_users_manual.pdf</ext-link> (accessed August 10, 2009).</comment></citation></ref>
<ref id="b23-sensors-09-06273"><label>23.</label><citation citation-type="web"><person-group person-group-type="author"><collab>Moteiv Corporation</collab></person-group><comment>Tmote Sky. Available at: <ext-link xlink:href="http://www.sentilla.com/moteiv-endoflife.html" ext-link-type="uri">http://www.sentilla.com/moteiv-endoflife.html</ext-link> (accessed August 10, 2009).</comment></citation></ref>
<ref id="b24-sensors-09-06273"><label>24.</label><citation citation-type="book"><person-group person-group-type="author"><name><surname>Chaum</surname><given-names>D.</given-names></name><name><surname>van Heijst</surname><given-names>E.</given-names></name></person-group><article-title>Group Signatures</article-title><source>Advances in Cryptology - Eurocrypt ’91</source><publisher-name>Springer-Verlag</publisher-name><publisher-loc>Berlin, Germany</publisher-loc><year>1991</year><fpage>257</fpage><lpage>265</lpage></citation></ref>
<ref id="b25-sensors-09-06273"><label>25.</label><citation citation-type="web"><comment>Fujitsu MBF200 Solid State Fingerprint Sensor. Available at: <ext-link xlink:href="http://www.fujitsu.com/downloads/MICRO/fma/pdf/mbf200_ds.pdf" ext-link-type="uri">http://www.fujitsu.com/downloads/MICRO/fma/pdf/mbf200_ds.pdf</ext-link> (accessed August 10, 2009).</comment></citation></ref>
<ref id="b26-sensors-09-06273"><label>26.</label><citation citation-type="web"><person-group person-group-type="author"><collab>ODI Security</collab></person-group><article-title>Embedded Fingerprint Matching Module Utilizing Fujitsu Array Sensor</article-title><comment>Available at: <ext-link xlink:href="http://www.odisecurity.com/" ext-link-type="uri">http://www.odisecurity.com/</ext-link> (accessed August 10, 2009).</comment></citation></ref>
<ref id="b27-sensors-09-06273"><label>27.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Goldberger</surname><given-names>A.L.</given-names></name><name><surname>Amaral</surname><given-names>L.A.N.</given-names></name><name><surname>Glass</surname><given-names>L.</given-names></name><name><surname>Hausdorff</surname><given-names>J.M.</given-names></name><name><surname>Ivanov</surname><given-names>P.C.</given-names></name><name><surname>Mark</surname><given-names>R.G.</given-names></name><name><surname>Mietus</surname><given-names>J.E.</given-names></name><name><surname>Moody</surname><given-names>G.B.</given-names></name><name><surname>Peng</surname><given-names>C.-K.</given-names></name><name><surname>Stanley</surname><given-names>H.E.</given-names></name></person-group><article-title>PhysioBank, PhysioToolkit, and PhysioNet: Components of a new research resource for complex physiologic signals</article-title><source>Circulation</source><year>2000</year><volume>101</volume><fpage>e215</fpage><lpage>e220</lpage><pub-id pub-id-type="doi">10.1161/01.CIR.101.23.e215</pub-id><pub-id pub-id-type="pmid">10851218</pub-id></citation></ref>
<ref id="b28-sensors-09-06273"><label>28.</label><citation citation-type="book"><person-group person-group-type="author"><name><surname>Abdalla</surname><given-names>M.</given-names></name><name><surname>Bellare</surname><given-names>M.</given-names></name><name><surname>Rogaway</surname><given-names>P.</given-names></name></person-group><article-title>The oracle Diffie-Hellman assumptions and DHIES</article-title><source>Topics in Cryptology CT-RSA 2001</source><person-group person-group-type="editor"><name><surname>Naccache</surname><given-names>D.</given-names></name></person-group><volume>2020</volume><source>Lecture Notes in Computer Science</source><fpage>143</fpage><lpage>158</lpage><publisher-name>Springer-Verlag</publisher-name><publisher-loc>Berlin, Germany</publisher-loc><month>April</month><year>2001</year></citation></ref>
<ref id="b29-sensors-09-06273"><label>29.</label><citation citation-type="web"><person-group person-group-type="author"><collab>TinyOS Website</collab></person-group><comment>Available at: <ext-link xlink:href="http://www.tinyos.net/" ext-link-type="uri">http://www.tinyos.net/</ext-link> (accessed August 10, 2009).</comment></citation></ref>
<ref id="b30-sensors-09-06273"><label>30.</label><citation citation-type="other"><person-group person-group-type="author"><collab>Certicom Research</collab></person-group><comment>Standards for Efficient Cryptography (SEC) 2: Recommended Elliptic Curve Domain Parameters. September 2000.</comment></citation></ref>
<ref id="b31-sensors-09-06273"><label>31.</label><citation citation-type="web"><person-group person-group-type="author"><name><surname>Eastlake</surname><given-names>D.</given-names></name><name><surname>Jones</surname><given-names>P.</given-names></name></person-group><article-title>US Secure Hash Algorithm 1</article-title><comment>RFC 3174,</comment><month>September</month><year>2001</year><comment>Available at: <ext-link xlink:href="http://www.ietf.org/rfc/rfc3174.txt" ext-link-type="uri">http://www.ietf.org/rfc/rfc3174.txt</ext-link> (accessed August 10, 2009).</comment></citation></ref>
<ref id="b32-sensors-09-06273"><label>32.</label><citation citation-type="web"><person-group person-group-type="author"><name><surname>Krawczyk</surname><given-names>H.</given-names></name><name><surname>Bellare</surname><given-names>M.</given-names></name><name><surname>Canetti</surname><given-names>R.</given-names></name></person-group><article-title>HMAC: Keyed-Hashing for Message Authentication</article-title><comment>RFC 2104.</comment><month>February</month><year>1997</year><comment>Available at: <ext-link xlink:href="http://www.ietf.org/rfc/rfc2104.txt" ext-link-type="uri">http://www.ietf.org/rfc/rfc2104.txt</ext-link> (accessed August 10, 2009).</comment></citation></ref>
<ref id="b33-sensors-09-06273"><label>33.</label><citation citation-type="web"><person-group person-group-type="author"><name><surname>Kaliski</surname><given-names>B.</given-names></name></person-group><article-title>PKCS #5: Password-Based Cryptography Specification</article-title><comment>RFC 2898.</comment><month>September</month><year>2000</year><comment>Available at: <ext-link xlink:href="http://www.ietf.org/rfc/rfc2898.txt" ext-link-type="uri">http://www.ietf.org/rfc/rfc2898.txt</ext-link> (accessed August 10, 2009).</comment></citation></ref>
<ref id="b34-sensors-09-06273"><label>34.</label><citation citation-type="book"><person-group person-group-type="author"><name><surname>Sadler</surname><given-names>C.M.</given-names></name><name><surname>Martonosi</surname><given-names>M.</given-names></name></person-group><article-title>Data compression algorithms for energy-constrained devices in delay tolerant networks</article-title><source>SenSys ’06</source><publisher-loc>Boulder, CO</publisher-loc><month>November</month><year>2006</year></citation></ref>
<ref id="b35-sensors-09-06273"><label>35.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Raymond</surname><given-names>D.</given-names></name><name><surname>Midkiff</surname><given-names>S.</given-names></name></person-group><article-title>Denial-of-service in wireless sensor networks: Attacks and defenses</article-title><source>IEEE Pervas. Comput</source><year>2008</year><fpage>74</fpage><lpage>81</lpage></citation></ref></ref-list>
<sec sec-type="display-objects">
<title>Figures and Tables</title>
<fig id="f1-sensors-09-06273" position="float">
<label>Figure 1.</label>
<caption>
<p>Wireless health monitoring architecture.</p></caption>
<graphic xlink:href="sensors-09-06273f1.gif"/></fig>
<fig id="f2-sensors-09-06273" position="float">
<label>Figure 2.</label>
<caption>
<p>Three security mechanisms.</p></caption>
<graphic xlink:href="sensors-09-06273f2.gif"/></fig>
<fig id="f3-sensors-09-06273" position="float">
<label>Figure 3.</label>
<caption>
<p>A generic three-layer feed-forward neural network.</p></caption>
<graphic xlink:href="sensors-09-06273f3.gif"/></fig>
<fig id="f4-sensors-09-06273" position="float">
<label>Figure 4.</label>
<caption>
<p>A typical ECG signal for a single heartbeat.</p></caption>
<graphic xlink:href="sensors-09-06273f4.gif"/></fig>
<fig id="f5-sensors-09-06273" position="float">
<label>Figure 5.</label>
<caption>
<p>The elliptic curve integrated encryption scheme (ECIES).</p></caption>
<graphic xlink:href="sensors-09-06273f5.gif"/></fig>
<fig id="f6-sensors-09-06273" position="float">
<label>Figure 6.</label>
<caption>
<p>ECC-based key agreement protocol.</p></caption>
<graphic xlink:href="sensors-09-06273f6.gif"/></fig>
<fig id="f7-sensors-09-06273" position="float">
<label>Figure 7.</label>
<caption>
<p>Experimental setup with two motes and a PC.</p></caption>
<graphic xlink:href="sensors-09-06273f7.gif"/></fig>
<fig id="f8-sensors-09-06273" position="float">
<label>Figure 8.</label>
<caption>
<p>Throughput as a function of packet size and encryption.</p></caption>
<graphic xlink:href="sensors-09-06273f8.gif"/></fig>
<fig id="f9-sensors-09-06273" position="float">
<label>Figure 9.</label>
<caption>
<p>Aggregate throughput at receiving mote and PC as a function of the number of senders (sending rate = 4 packets/sec).</p></caption>
<graphic xlink:href="sensors-09-06273f9.gif"/></fig>
<fig id="f10-sensors-09-06273" position="float">
<label>Figure 10.</label>
<caption>
<p>Packet loss at receiving mote and PC as a function of the number of senders (sending rate = 4 packets/sec).</p></caption>
<graphic xlink:href="sensors-09-06273f10.gif"/></fig>
<fig id="f11-sensors-09-06273" position="float">
<label>Figure 11.</label>
<caption>
<p>Aggregate throughput at receiving mote and PC as a function of the number of senders (maximum possible sending rate).</p></caption>
<graphic xlink:href="sensors-09-06273f11.gif"/></fig>
<fig id="f12-sensors-09-06273" position="float">
<label>Figure 12.</label>
<caption>
<p>Packet loss at receiving mote and PC as a function of the number of senders (maximum possible sending rate).</p></caption>
<graphic xlink:href="sensors-09-06273f12.gif"/></fig>
<fig id="f13-sensors-09-06273" position="float">
<label>Figure 13.</label>
<caption>
<p>Aggregate throughput at PC as a function of the number of senders and receivers (maximum possible sending rate).</p></caption>
<graphic xlink:href="sensors-09-06273f13.gif"/></fig>
<table-wrap id="t1-sensors-09-06273" position="float">
<label>Table 1.</label>
<caption>
<p>Comparison of neural network setups.</p></caption>
<table frame="hsides" rules="cols">
<thead>
<tr>
<th align="center" valign="middle"><bold>Structure</bold></th>
<th align="center" valign="middle"><bold>Features</bold></th>
<th align="center" valign="middle"><bold>Ref. Patients</bold></th>
<th align="center" valign="middle"><bold>Accuracy</bold></th></tr>
<tr>
<th align="left" valign="bottom" colspan="4">
<hr/></th></tr></thead>
<tbody>
<tr>
<td align="center" valign="top">8×20×1</td>
<td align="center" valign="top">8</td>
<td align="center" valign="top">5</td>
<td align="center" valign="top">69.79%</td></tr>
<tr>
<td align="center" valign="top">8×20×1</td>
<td align="center" valign="top">8</td>
<td align="center" valign="top">9</td>
<td align="center" valign="top">81.86%</td></tr>
<tr>
<td align="center" valign="top">14×20×1</td>
<td align="center" valign="top">14</td>
<td align="center" valign="top">5</td>
<td align="center" valign="top">80.07%</td></tr>
<tr>
<td align="center" valign="top">14×20×1</td>
<td align="center" valign="top">14</td>
<td align="center" valign="top">9</td>
<td align="center" valign="top">84.44%</td></tr>
<tr>
<td align="center" valign="top">8×15×15×1</td>
<td align="center" valign="top">8</td>
<td align="center" valign="top">9</td>
<td align="center" valign="top">91.31%</td></tr>
<tr>
<td align="center" valign="top">14×15×15×1</td>
<td align="center" valign="top">14</td>
<td align="center" valign="top">9</td>
<td align="center" valign="top">89.66%</td></tr></tbody></table>
<table-wrap-foot><fn id="tfn1-sensors-09-06273">
<p>Structure refers to the number of input, hidden, and output cells in the neural network.</p></fn><fn id="tfn2-sensors-09-06273">
<p>Ref. Patients refers to the number of reference patients.</p></fn><fn id="tfn3-sensors-09-06273">
<p>The accuracies provided represent the average validation accuracy over <italic>all</italic> patients.</p></fn></table-wrap-foot></table-wrap>
<table-wrap id="t2-sensors-09-06273" position="float">
<label>Table 2.</label>
<caption>
<p>Neural network results on training data.</p></caption>
<table frame="hsides" rules="cols">
<thead>
<tr>
<th align="center" valign="middle"><bold>Patient</bold></th>
<th align="center" valign="middle"><bold>Self</bold></th>
<th align="center" valign="middle"><italic>R</italic><sub>1</sub></th>
<th align="center" valign="middle"><italic>R</italic><sub>2</sub></th>
<th align="center" valign="middle"><italic>R</italic><sub>3</sub></th>
<th align="center" valign="middle"><italic>R</italic><sub>4</sub></th>
<th align="center" valign="middle"><italic>R</italic><sub>5</sub></th>
<th align="center" valign="middle"><italic>R</italic><sub>6</sub></th>
<th align="center" valign="middle"><italic>R</italic><sub>7</sub></th>
<th align="center" valign="middle"><italic>R</italic><sub>8</sub></th>
<th align="center" valign="middle"><italic>R</italic><sub>9</sub></th></tr>
<tr>
<th align="left" valign="bottom" colspan="11">
<hr/></th></tr></thead>
<tbody>
<tr>
<td align="center" valign="middle"><italic>P</italic><sub>1</sub></td>
<td align="center" valign="middle">99.55</td>
<td align="center" valign="middle">100</td>
<td align="center" valign="middle">99.96</td>
<td align="center" valign="middle">99.96</td>
<td align="center" valign="middle">100</td>
<td align="center" valign="middle">99.99</td>
<td align="center" valign="middle">100</td>
<td align="center" valign="middle">99.98</td>
<td align="center" valign="middle">100</td>
<td align="center" valign="middle">99.85</td></tr>
<tr>
<td align="center" valign="middle"><italic>P</italic><sub>2</sub></td>
<td align="center" valign="middle">99.95</td>
<td align="center" valign="middle">100</td>
<td align="center" valign="middle">100</td>
<td align="center" valign="middle">100</td>
<td align="center" valign="middle">100</td>
<td align="center" valign="middle">99.99</td>
<td align="center" valign="middle">100</td>
<td align="center" valign="middle">100</td>
<td align="center" valign="middle">100</td>
<td align="center" valign="middle">100</td></tr>
<tr>
<td align="center" valign="middle"><italic>P</italic><sub>3</sub></td>
<td align="center" valign="middle">98.77</td>
<td align="center" valign="middle">100</td>
<td align="center" valign="middle">99.99</td>
<td align="center" valign="middle">99.85</td>
<td align="center" valign="middle">100</td>
<td align="center" valign="middle">99.73</td>
<td align="center" valign="middle">100</td>
<td align="center" valign="middle">99.93</td>
<td align="center" valign="middle">99.99</td>
<td align="center" valign="middle">99.97</td></tr>
<tr>
<td align="center" valign="middle"><italic>P</italic><sub>4</sub></td>
<td align="center" valign="middle">99.85</td>
<td align="center" valign="middle">100</td>
<td align="center" valign="middle">100</td>
<td align="center" valign="middle">99.93</td>
<td align="center" valign="middle">100</td>
<td align="center" valign="middle">100</td>
<td align="center" valign="middle">100</td>
<td align="center" valign="middle">100</td>
<td align="center" valign="middle">100</td>
<td align="center" valign="middle">100</td></tr>
<tr>
<td align="center" valign="middle"><italic>P</italic><sub>5</sub></td>
<td align="center" valign="middle">99.93</td>
<td align="center" valign="middle">100</td>
<td align="center" valign="middle">100</td>
<td align="center" valign="middle">99.99</td>
<td align="center" valign="middle">100</td>
<td align="center" valign="middle">99.95</td>
<td align="center" valign="middle">100</td>
<td align="center" valign="middle">100</td>
<td align="center" valign="middle">100</td>
<td align="center" valign="middle">100</td></tr>
<tr>
<td align="center" valign="middle"><italic>P</italic><sub>6</sub></td>
<td align="center" valign="middle">99.27</td>
<td align="center" valign="middle">100</td>
<td align="center" valign="middle">100</td>
<td align="center" valign="middle">99.77</td>
<td align="center" valign="middle">99.99</td>
<td align="center" valign="middle">99.9</td>
<td align="center" valign="middle">100</td>
<td align="center" valign="middle">99.91</td>
<td align="center" valign="middle">99.99</td>
<td align="center" valign="middle">100</td></tr>
<tr>
<td align="center" valign="middle"><italic>P</italic><sub>7</sub></td>
<td align="center" valign="middle">99.78</td>
<td align="center" valign="middle">100</td>
<td align="center" valign="middle">100</td>
<td align="center" valign="middle">99.95</td>
<td align="center" valign="middle">99.99</td>
<td align="center" valign="middle">99.99</td>
<td align="center" valign="middle">99.99</td>
<td align="center" valign="middle">99.99</td>
<td align="center" valign="middle">100</td>
<td align="center" valign="middle">100</td></tr>
<tr>
<td align="center" valign="middle"><italic>P</italic><sub>8</sub></td>
<td align="center" valign="middle">99.42</td>
<td align="center" valign="middle">99.98</td>
<td align="center" valign="middle">100</td>
<td align="center" valign="middle">99.78</td>
<td align="center" valign="middle">100</td>
<td align="center" valign="middle">99.74</td>
<td align="center" valign="middle">100</td>
<td align="center" valign="middle">100</td>
<td align="center" valign="middle">99.99</td>
<td align="center" valign="middle">99.99</td></tr>
<tr>
<td align="center" valign="middle"><italic>P</italic><sub>9</sub></td>
<td align="center" valign="middle">94.11</td>
<td align="center" valign="middle">99.87</td>
<td align="center" valign="middle">99.85</td>
<td align="center" valign="middle">99.6</td>
<td align="center" valign="middle">100</td>
<td align="center" valign="middle">96.8</td>
<td align="center" valign="middle">99.94</td>
<td align="center" valign="middle">99.67</td>
<td align="center" valign="middle">99.95</td>
<td align="center" valign="middle">99.67</td></tr>
<tr>
<td align="center" valign="middle"><italic>P</italic><sub>10</sub></td>
<td align="center" valign="middle">95.07</td>
<td align="center" valign="middle">99.94</td>
<td align="center" valign="middle">99.78</td>
<td align="center" valign="middle">99.8</td>
<td align="center" valign="middle">99.95</td>
<td align="center" valign="middle">97.9</td>
<td align="center" valign="middle">100</td>
<td align="center" valign="middle">99.49</td>
<td align="center" valign="middle">99.93</td>
<td align="center" valign="middle">99.65</td></tr></tbody></table></table-wrap>
<table-wrap id="t3-sensors-09-06273" position="float">
<label>Table 3.</label>
<caption>
<p>Neural network results on validation data.</p></caption>
<table frame="hsides" rules="cols">
<thead>
<tr>
<th align="center" valign="middle"><bold>Patient</bold></th>
<th align="center" valign="middle"><italic>P</italic><sub>1</sub></th>
<th align="center" valign="middle"><italic>P</italic><sub>2</sub></th>
<th align="center" valign="middle"><italic>P</italic><sub>3</sub></th>
<th align="center" valign="middle"><italic>P</italic><sub>4</sub></th>
<th align="center" valign="middle"><italic>P</italic><sub>5</sub></th>
<th align="center" valign="middle"><italic>P</italic><sub>6</sub></th>
<th align="center" valign="middle"><italic>P</italic><sub>7</sub></th>
<th align="center" valign="middle"><italic>P</italic><sub>8</sub></th>
<th align="center" valign="middle"><italic>P</italic><sub>9</sub></th>
<th align="center" valign="middle"><italic>P</italic><sub>10</sub></th></tr>
<tr>
<th align="left" valign="bottom" colspan="11">
<hr/></th></tr></thead>
<tbody>
<tr>
<td align="center" valign="middle"><italic>P</italic><sub>1</sub></td>
<td align="center" valign="middle">93.85</td>
<td align="center" valign="middle">98.74</td>
<td align="center" valign="middle">99.55</td>
<td align="center" valign="middle">51.82</td>
<td align="center" valign="middle">99.44</td>
<td align="center" valign="middle">83.5</td>
<td align="center" valign="middle">87.97</td>
<td align="center" valign="middle">86.12</td>
<td align="center" valign="middle">80.65</td>
<td align="center" valign="middle">95.05</td></tr>
<tr>
<td align="center" valign="middle"><italic>P</italic><sub>2</sub></td>
<td align="center" valign="middle">100</td>
<td align="center" valign="middle">98.63</td>
<td align="center" valign="middle">99.99</td>
<td align="center" valign="middle">99.8</td>
<td align="center" valign="middle">90.7</td>
<td align="center" valign="middle">100</td>
<td align="center" valign="middle">97.45</td>
<td align="center" valign="middle">99.66</td>
<td align="center" valign="middle">99.95</td>
<td align="center" valign="middle">97.33</td></tr>
<tr>
<td align="center" valign="middle"><italic>P</italic><sub>3</sub></td>
<td align="center" valign="middle">62.75</td>
<td align="center" valign="middle">99.91</td>
<td align="center" valign="middle">85.86</td>
<td align="center" valign="middle">95.29</td>
<td align="center" valign="middle">91.17</td>
<td align="center" valign="middle">69.97</td>
<td align="center" valign="middle">99.67</td>
<td align="center" valign="middle">76.05</td>
<td align="center" valign="middle">85.71</td>
<td align="center" valign="middle">93.12</td></tr>
<tr>
<td align="center" valign="middle"><italic>P</italic><sub>4</sub></td>
<td align="center" valign="middle">99.73</td>
<td align="center" valign="middle">99.63</td>
<td align="center" valign="middle">99.88</td>
<td align="center" valign="middle">98.58</td>
<td align="center" valign="middle">99.83</td>
<td align="center" valign="middle">99.65</td>
<td align="center" valign="middle">87.32</td>
<td align="center" valign="middle">96.6</td>
<td align="center" valign="middle">97.75</td>
<td align="center" valign="middle">99.63</td></tr>
<tr>
<td align="center" valign="middle"><italic>P</italic><sub>5</sub></td>
<td align="center" valign="middle">99.83</td>
<td align="center" valign="middle">82.85</td>
<td align="center" valign="middle">97.77</td>
<td align="center" valign="middle">99.84</td>
<td align="center" valign="middle">91.41</td>
<td align="center" valign="middle">98.66</td>
<td align="center" valign="middle">99.99</td>
<td align="center" valign="middle">93.72</td>
<td align="center" valign="middle">98.54</td>
<td align="center" valign="middle">98.78</td></tr>
<tr>
<td align="center" valign="middle"><italic>P</italic><sub>6</sub></td>
<td align="center" valign="middle">58.31</td>
<td align="center" valign="middle">99.78</td>
<td align="center" valign="middle">95.62</td>
<td align="center" valign="middle">76.4</td>
<td align="center" valign="middle">91.08</td>
<td align="center" valign="middle">90.24</td>
<td align="center" valign="middle">65.29</td>
<td align="center" valign="middle">70.51</td>
<td align="center" valign="middle">91.47</td>
<td align="center" valign="middle">96.14</td></tr>
<tr>
<td align="center" valign="middle"><italic>P</italic><sub>7</sub></td>
<td align="center" valign="middle">99.95</td>
<td align="center" valign="middle">93.62</td>
<td align="center" valign="middle">99.98</td>
<td align="center" valign="middle">78.2</td>
<td align="center" valign="middle">98.82</td>
<td align="center" valign="middle">93.97</td>
<td align="center" valign="middle">82.67</td>
<td align="center" valign="middle">99.92</td>
<td align="center" valign="middle">99.61</td>
<td align="center" valign="middle">99.6</td></tr>
<tr>
<td align="center" valign="middle"><italic>P</italic><sub>8</sub></td>
<td align="center" valign="middle">91.72</td>
<td align="center" valign="middle">93.3</td>
<td align="center" valign="middle">71.24</td>
<td align="center" valign="middle">43.91</td>
<td align="center" valign="middle">88.33</td>
<td align="center" valign="middle">88</td>
<td align="center" valign="middle">92.45</td>
<td align="center" valign="middle">93.91</td>
<td align="center" valign="middle">94.08</td>
<td align="center" valign="middle">80.99</td></tr>
<tr>
<td align="center" valign="middle"><italic>P</italic><sub>9</sub></td>
<td align="center" valign="middle">14.68</td>
<td align="center" valign="middle">99.94</td>
<td align="center" valign="middle">98.14</td>
<td align="center" valign="middle">26.52</td>
<td align="center" valign="middle">92.51</td>
<td align="center" valign="middle">87.26</td>
<td align="center" valign="middle">86.35</td>
<td align="center" valign="middle">80.59</td>
<td align="center" valign="middle">79.96</td>
<td align="center" valign="middle">75.46</td></tr>
<tr>
<td align="center" valign="middle"><italic>P</italic><sub>10</sub></td>
<td align="center" valign="middle">63.92</td>
<td align="center" valign="middle">51.94</td>
<td align="center" valign="middle">92.97</td>
<td align="center" valign="middle">31.04</td>
<td align="center" valign="middle">84.21</td>
<td align="center" valign="middle">91.64</td>
<td align="center" valign="middle">88.8</td>
<td align="center" valign="middle">76.26</td>
<td align="center" valign="middle">84.8</td>
<td align="center" valign="middle">87.8</td></tr></tbody></table></table-wrap></sec></back></article>
