Networked Sensors & Control
Attribute Based Systems
DOS Models
Privacy
All Projects
Projects - Networked Sensors and Control
Monday, 12 May 2008

AMERN

Attested Metering Emergency-Response Networking

Overview

AMERN is a suite of protocols that we have developed to facilitate emergency-response networking over heterogeneous networks. Disasters such as Hurricane Katrina and the attacks of 9/11 have disrupted data networks and thus hindered the recovery efforts that were performed in the wake of those disasters. However, as pointed out in this article, some networks can survive disasters and be helpful in recovery operations. The goal of this project is to show how routing techniques from mobile ad-hoc networking and simple application-level protocols can be run on top of any networks that manage to survive a disaster and support recovery operations.

This project is the subject of Michael LeMay's MS dissertation, which provides all the details on the protocols we devised, the prototype implementation we constructed, and the tests we ran on that prototype. Briefly, the system supports the following application-level functions, among others:

  • Voice communications using the Speex VoIP codec.
  • Text communications in instant messaging format.
  • Image transmission.
  • Assistance requests that can be issued from programmable thermostats, cell phones, or other enhanced devices, and received by rescuers in the local area. Rescuers can negotiate amongst themselves to enable them to cooperatively determine an effective response that maximizes resource use efficiency.
  • A database for storing the locations and status of victims, accessible to concerned individuals outside the affected region.
The overall philosophy of these application-layer protocols is to minimize complexity, making it simple for nodes, even those with very limited computational capabilities, to implement them correctly.

The salient feature of our proposal is that it recommends the use of existing commercial networks that are retasked to provide ERN services only when necessary. In particular, advanced electrical meters are being deployed in large numbers and are often equipped with ZigBee or proprietary mesh networking technologies that could be used to implement an ERN with much greater coverage than could be achieved by a dedicated ERN with less compelling primary or secondary functionality to justify its expense.

One of the primary challenges with this scheme that we addressed in this project is that of detecting when emergencies have occurred without relying on centralized notifications, which may not be propagated when a disaster occurs and potentially divides the network into many disjoint segments. Nodes on each segment must be capable of detecting emergency conditions with low false positive and negative rates. It is important to have low false positives to make it difficult for malicious users to activate ERN services and steal bandwidth. On the other hand, the ERN must quickly respond to emergency conditions to fully support emergency response efforts. We address this tradeoff with a distributed emergency detection mechanism that requires a certain percentage of nearby nodes to indicate that emergency conditions are in effect before it activates ERN services. The details of this mechanism are presented in LeMay's dissertation.

An unexpected challenge we encountered was the poor performance exhibited by ZigBee in the presence of any interference, even from application-level acknowledgment packets. The following graph indicates the performance we observed while transferring several images between two nodes across two hops: one ZigBee and one wired Ethernet.

Getting the Prototype

We have released the prototype code that we used to evaluate our system as a part of the jXBee project. Thus, the first step required to construct an ERN system is to check out the code from the jXBee repository:

svn co https://jxbee.svn.sourceforge.net/svnroot/jxbee/amern/trunk amern

Next, setup the prototype hardware. The ERN can use either or both of a Maxstream Series 2 ZigBee and an IP network connection. A single physical computer can host multiple logical nodes if it is equipped with multiple ZigBee radios. Only a few conditions on each node must be observed to support the ERN:

  1. Only 32-bit Windows XP and 32- and 64-bit Fedora Linux have been tested.
  2. If using USB-connected ZigBee radios, the appropriate drivers for the integrated USB-to-serial port converters must be used.
  3. The ZigBee radios must all be configured to use API mode, with extended receive notifications.
  4. One of the ZigBee radios must be configured as a coordinator, so that a ZigBee network can be formed.
  5. Preferably, all radios should be configured to communicate at 115200 bps for maximum performance.
  6. If using IP, all nodes must be on a single multicast-enabled subnet, and the firewall must be configured to permit multicast traffic on ports 7777 and 7778.
  7. The audio transmission component is known to not work with SoundBlaster Audigy2 on Linux. However, it does work with integrated Intel HDA audio on Linux. It has only been tested with integrated audio on Windows.

It is simplest to build and run AMERN from within the Eclipse IDE. Use the following instructions:

  1. Start Eclipse.
  2. Create a new Java project, using the existing source from the "amern" directory that you checked out earlier.
  3. Run the edu.uiuc.cs.seclab.modem.xbee.gui.XBeeConf class as a Java application.
  4. If using an XBee2 modem, select the serial port to which it is connected, select the "XBee Series 2?" box, and press the "Apply Settings to Port" button.
  5. Move to the "Applications" tab.
  6. Select the "Emergency-Response Networking Communicator" application from the drop-down box.
  7. If IP networking is desired, select the "Enable" box near the top of the left side panel.

The "Create Comm Session" button can be used to communicate with an individual node that has been selected in the "Other Nodes on Network" list. The "Perform Unassociated Action" button is used to send broadcast messages.

Security is provided using AES-CCM with Elliptic-Curve Diffie-Hellman key exchanges. It is necessary to assign each node a unique ECC certificate, using the "ERN PKI Adminstrator" application that can be selected from the same drop-down box used to select the ERN application. The interface should be self-explanatory, or at least fathomable after a little time spent playing around with it. :-)

Please provide feedback to mdlemay2 _ cs _ uiuc _ edu, where the underscores are replaced with an at symbol and periods where appropriate. Thanks!

Last Updated ( Monday, 12 May 2008 )
 
© 2008 Illinois Security Laboratory