CSC/ECE 774 Advanced Network Security

Lab Exercises

Lab 1 Broadcast authentication in wireless sensor networks

Due by 4/5/09 11:45pm

The lab exercises will use the WiSeNeT sensor network testbed. Each team is assigned four sensor nodes. Pick one as the sender, and the other three as receivers. Each team is given a working directory, in which there are some files to be used as the starting point.

There are four tasks, as shown below. Create a subdirectory for each of them. Name them warmup, lab_1a, lab_1b, and lab_1c, respectively. You are expected to work in the corresponding subdirectory for each lab task. In the following task description, we assume your programs are in the right directory.

Lab Teams

  • g1: Vimal Jose Chungath and Vinesh Pallen
  • g2: Ashish Thakwani and Trisha Biswas
  • g3: Brett Gordon and Levi Mason
  • g4: Layla Barakat and Dan Baehr
  • g5: Donghon Kim and Jung Ki So
  • g6: Carlos Cela and David McGinley

Accessing the testbed

  • Please ssh to testbed gateway as gID@152.14.92.79 (e.g. g1@152.14.92.79)
  • cd SimpleSenderReceiver/
  • Read README file to get detailed instructions about the initial exercise.
  • For each group, the channel and nodes that they will operate on are defined at the end of instructions in
    the README file.

Warmup

Name the sender's source files are sender-warmup.nc and sender-warmup.M, and the receiver's source files as receiver-warmup.nc and receiver-warmup.M.

Build the image for the sender and the receivers, respectively. Upload the sender image to the sender node, and the receiver image to all three receivers. Record the output of the sender and all three receivers.

Lab 1a

Name the sender's source files are sender-lab1a.nc and sender-lab1a.M, and the receiver's source files as receiver-lab1a.nc and receiver-lab1a.M.

Generate a random key k. On the sender side, add a Hash-based Message Authentication Code (HMAC) generated using SHA-1 with key k to each broadcast message sent by the sender. On the receiver side, verify the HMAC in each message received by the receiver. Count the number of successfully authenticated packets and output the number.

Additional instructions for lab 1a.

Lab 1b

Name the sender's source files are sender-lab1b.nc and sender-lab1b.M, and the receiver's source files as receiver-lab1b.nc and receiver-lab1b.M.

Generate a pair of public key and private key using TinyECC offline. Give the private key to the sender and the public key to each receiver. On the sender side, add an ECDSA signature generated with the private key to each broadcast packet. On the receiver side, verify the signature in each received packet. Count and output the number of successfully authenticated packets.

Additional instructions for lab 1b.

Lab 1c

Name the sender's source files are sender-lab1c.nc and sender-lab1c.M, and the receiver's source files as receiver-lab1c.nc and receiver-lab1c.M.

Continue lab 1b. On the sender side, add a Message Specific Puzzle (MSP) to each signed broadcast packet. On the reciver side, verify the MSP before verifying the signature. Count and output the number of packets that pass MSP as well as the number of pakcets that pass the signature verification.

Additional instructions for lab 1b.

Deliverables

Submit a report describing the details of your experiments. You should include the following items:

  • Team ID and names of team members
  • IP addresses of the four sensor nodes assigned to your team. Identify which one is used as the sender.
  • For each task, including the warmup exercise, describe the following:
    • Sender's source code
    • Receiver's source code
    • Makefile used to generate and upload the images
    • Commandline used to make the images
    • Debugging output from the sender (obtained through telnet)
    • Debugging output from each receiver (obtained through telnet)
©2009 Peng Ning . All rights reserved.