Project Number: CS-EOA-0009

A LOCATION AWARE SECURITY APPLICATION

A Major Qualifying Project Report:

submitted to the Faculty

of the

WORCESTER POLYTECHNIC INSTITUTE

in partial fulfillment of the requirements for the

Degree of Bachelor of Science

by

_________________________________

Andrew J. Bangs

_________________________________

Shaun M. Haerinck

_________________________________

Aubrey J. Klaft

Date: March 3, 2006

Approved:

_________________________________

Professor Emmanuel O. Agu

1. wireless networking

2. security

3. computers


i. Abstract

Lending out computer hardware provides benefits in productivity, but has always run the risk of material theft. The goal was to create Nooget, a platform independent, software only, indoor laptop security system, where many devices could be tracked from a central location using the 802.11 Wireless Local Area Network standard. It was created in Java, using modules with an object orientated design, and is able to accurately locate a user to within 10 feet.


ii. Acknowledgements

We would like to give special thanks to our advisor, Professor Emmanuel Agu, of the WPI Computer Science department, for his dedication, assistance, and patience throughout this project. His perseverance and determination to succeed helped us realize our potential and aided us in seeing our project reach completion.

We would also like to recognize the WPI employees who assisted our group along the way. In particular, we’d like to thank Chris Salter and all of WPI’s Plant Services employees for donating the campus maps we used in our project. Without these maps, Nooget would not have the visual aspect that is needed to display a client’s location. We’d also like to thank Justin Brooks for answering all the questions we had regarding the ATC laptops. The information he provided allowed us to compare different laptops and gather necessary statistics about the various hardware. Additionally, we would like to thank the entire staffing at the Gordon Library for allowing us to use their facilities to test our applications. The staff was consistently friendly and willing to help when asked. Thank you all for the time you devoted to our project.

Andrew would like to thank his father, Gary, for his support throughout his academic career. The encouragement he’s received has been invaluable, and has given him the persistence to never give up. He would also like to thank his brother, Corey, for providing my drive for competition. Aubrey would like to thank his parents, Walter and Lynne, and his brother Peter for their steadfast love and support throughout his life. He would also like to thank his friends for keeping him sane during a tough year. Shaun would like to personally thank his mother, Nancy, and father, Donald, for their continual encouragement and inspiration. Their leadership and guidance was the stepping stone to his success today. He would also like to thank his sisters, Amber and Christine, and his girlfriend, Rebecca, for always being there when he needed advice. Thank you, everyone, for all you’ve done for us.


iii. Table of Contents

i. Abstract 2

ii. Acknowledgements 3

iii. Table of Contents 5

iv. List of Figures 7

1. Introduction 8

2. Background 10

2.1. Potential Applications 10

3. Research 12

3.1. Delivering REAL-WORLD Ubiquitous Location Systems 12

3.2. NetStumbler 14

3.3. Locus 15

4. Tools 18

4.1. Place Lab 18

4.1.1. What is Place Lab? 18

4.1.2. How Does Place Lab Work? 18

4.1.3. How did Nooget use Place Lab? 19

4.1.4. Why did Nooget use Place Lab over Other Options? 21

4.1.5. What were the Benefits of using Place Lab? 22

4.1.6. What were the Drawbacks of using Place Lab? 24

4.2. Nooget 25

4.2.1. Calibration 26

4.2.2. XML Encryption 28

4.2.3. CalibrationGUI 28

4.2.4. Location Matching 30

4.2.5. Client 31

4.2.6. Server 31

4.2.7. Design 33

4.2.8. Final Product (GUI) 34

5. Results 38

5.1. Tests 38

5.2. Experiments 39

5.3. Signal Strength Tests 41

5.4. Technical Issues 42

5.5. Successful Aspects 43

5.6. Unsuccessful Aspects 44

5.7. Practicality 44

5.8. Expansion of Nooget 45

6. Future Work 47

6.1. GPS 47

6.2. Laptop Location Constraints 47

6.3. Implement Smaller Devices 48

6.4. Campus Map/Zooming 48

6.5. Go To Specific IP Location 49

6.6. Hide Client Program from User 50

7. Conclusion 51

8. Nooget Setup Procedures 52

8.1. Steps to Take When Installing Nooget: 52

8.2. To Run the Server 53

8.3. To Run the Client 53

9. References 54

10. Appendix 55

10.1. Code 55

10.1.1. noogetServer.java 55

10.1.2. noogetProtocol.java 67

10.1.3. noogetMultiServer.java 68

10.1.4. noogetMultiServerThread.java 69

10.1.5. noogetConnection.java 70

10.1.6. noogetClientSocket.java 71

10.1.7. createCalibration.java 73

10.1.8. clientFuncs.java 75

10.1.9. calibrationGUI.java 77

10.1.10. noogetCore\calibration.java 87

10.1.11. noogetXML\noogCoord.java 91

10.1.12. noogetXML\DesEncryptor.java 93

10.1.13. noogetXML\coordList.java 95

10.1.14. noogetXML\beaconList.java 101

10.1.15. noogetXML\Beacon.java 102


iv. List of Figures

Figure 1 - WPI Campus Using Nooget 9

Figure 2 - Nooget's Integration with Place Lab 20

Figure 3 - High Level Flow Diagram 25

Figure 4 - Typical Client Server Relationship 26

Figure 5 - toOurLogString() in BeaconMeasurement.java 27

Figure 6 - toOurLogString() in WiFiReading.java 27

Figure 7 - Calibration Flow Chart 28

Figure 8 - Sample CalibrationGUI Output 29

Figure 9 - Design Structure of a coordList 33

Figure 10 - Design Structure of the XML Format 34

Figure 11 - CalibrationGUI 35

Figure 12 - Find Location Tab of Server GUI 36

Figure 13 - All Connections Tab of Server GUI 37

Figure 14 - WPI Campus Map 38

Figure 15 - Server During Testing 40

Figure 16 - Signal Strength Over Five Hours 41

Figure 17 - Absolute Average Signal Strengths 42


1. Introduction

The information revolution is one of the most significant events in human history. It has transformed our lives in such a way that a world without the internet or computers can scarcely be imagined. The ever increasing coverage of wireless internet and the ever decreasing cost of computer hardware have led to situations where academic and corporate institutions often make computer wireless hardware available for general use. Unfortunately the very portability and ease of use that make the hardware desirable also makes it a tempting target for theft. There is then a choice to accept the losses, stop lending out hardware, or attempt to control the movements of the hardware somehow.

This MQP will provide an application that can be used by the CCC, ATC, Campus Center, or Library departments of WPI to track the laptops that are rented by students and faculty. The client portion of the software would be installed on each of the laptops that can be borrowed, and upon starting the machine, the client is loaded and begins running. Ideally, the user should be unaware that the client program is running on his laptop, and it should not interfere with the laptop’s operation. While the client is running, the wireless network is queried continuously, and according to the signal strengths of nearby access points, the laptop’s location can be determined. This location is then sent to the server and displayed on screen, to be analyzed by an administrator of whichever department loaned out the laptop. In this manner, Nooget provides a type of security system similar to Lo-Jack, where if a laptop leaves the designated area, reactionary action can be taken before the laptop is lost. Figure 1 displays this scenario for the WPI campus:

Figure 1 - WPI Campus Using Nooget


2. Background

WiFi Location Systems (WFS) are a proven technology. However little research has been done on client-server systems, where objects’ locations are tracked by another machine. There are a plethora of potential uses for such a system. Many organizations, such as governments, corporations, college campuses and many other places, will be able to find a use for such a system.

2.1. Potential Applications

The primary prospective use is for security. The ability to know the location of computing devices from a central location will help protect personal property. There are many situations where computer equipment is loaned to people, such as in archives and libraries or on college campuses. The computers would be less prone to theft if their location could be carefully monitored. This becomes even more important if sensitive data or important hardware is present on the computer. The theft of a company laptop could be written off, but a corporation would be more concerned with losing company secrets. Similarly, people could be monitored by the equipment they carried. Companies could require employees to carry around a badge or PDA that would transmit their location to a central location. As wireless networks become more and more ubiquitous, WFS could become an important supplement to GPS in location, especially indoors.

Another application for the technology is in management. It could be very useful to know where people are in a wireless-enabled area. For example a police dispatcher might be more efficient if he could tell at a glance where all the patrol cars under his supervision are located. Similarly in a corporate environment, monitoring peoples’ locations could help improve efficiency. Software to navigate warehouses and locate stock could be very useful. Any situations where resources are deployed to locations could benefit from monitoring of those resources.

The WPS technology could be useful for research, as well. Studies in crowd flow could benefit from location sensing wireless systems. Monitoring the locations and paths of people could be of great benefit to traffic control studies. Similarly, one could study flows of fluid through plumbing systems. Any time a location is necessary to research, and GPS is not practical, this type of system may be utilized.

Navigation is another potential use for WFSs. Devices could help people navigate inside buildings and underground, where GPS is less useful. Museums, colleges, and other institutions could also use the technology to provide self-guided tours. Even drivers could benefit, as wireless location finding could be used to navigate roads and highways, especially around cites. The ability for a central location to know where a particular user is could be useful for targeted information, such as traffic information or advertising.

This project is necessary to prove that a client-server type system can work. There are several hurdles to overcome. These include the accuracy of the location sensing, the practicality of using the networking hardware for both location and internet connection and number and density of access points necessary for accurate results. In order to overcome these hurdles, a proof of concept must be produced.


3. Research

3.1. Delivering REAL-WORLD Ubiquitous Location Systems

The paper, Delivering REAL-WORLD Ubiquitous, Location Systems [DELIV], stresses the practical aspects of getting location-enhanced applications deployed on existing devices. Over the past two decades, a vast number of research and commercial location systems have been developed with the primary goals of either providing highly accurate location estimates over a small area or lower accuracy location estimates over a larger area.

The most widely known example of this is the Global Positioning Systems (GPS). The GPS network is made up of 21 satellites continually orbiting around the Earth at an altitude of 10,900 nautical miles. These satellites transmit their locations to receivers located within enabled devices. GPS capable devices have the ability to locate an individual within feet under the most optimal conditions. However, the biggest drawback to GPS devices is its poor performance when tracking a device that is indoors. The radio signals sent by GPS satellites are too weak to penetrate the walls of most building, and even dense vegetation. As a result, GPS is widely used in navigation but is not commonly used for any indoor applications.

Another largely popular location tracking service that exists today is provided by the wireless phone companies. Cell phone companies are mandated to track each cell phone user of their company to within 100 meters in order to allow emergency crews to be able to locate an individual in need of assistance. In order to do this, companies have experimented with signal propagation models and augmentation of handsets using GPS chips. The current cellular network is subdivided into multiple hexagonal areas. Each cell is configured to transmit at a channel that does not interfere with its neighboring cells. Since each cell phone company has millions of users, the cell phone industry is an excellent candidate for service deployment.

The third major design for tracking a device uses 802.11 signals to estimate a user’s location. Microsoft Research’s RADAR system showed that estimating location based on nearby 802.11 access points can produce readings that accurate to within 3 meters on standard laptops. They did this by performing calibrations on a 1 meter grid to create a virtual map that contains all the access points that a laptop receives signals from. The system then performs empirical measurements with signal propagation modeling to determine user location.

Place Lab has also tried to expand upon the 802.11 approach to tracking the location of devices. Instead of using recalibrated fingerprints used in the Microsoft Research’s RADAR approach, Place Lab predicts the location of access points by detecting their signal strengths on the device itself. A database is locally cached on the device that compares these signal strengths to the ones read in. If a reading matches a point located in the database, the corresponding map is displayed with the current location. If no signals can be detected from the device, Place Lab will use surrounding Global System for Mobile Communications (GSM) cell towers and fixed Bluetooth devices in order to map the location of the user. Universities, radio hobbyists, Wi-Fi clubs, and interested users are the backbone to the Place Lab network because these users are the ones who add their own calibration points to a central database in order for the database to expand. Larger cities, such as Seattle and Paris, provide the most coverage because of the popularity of war-driving[1] activities in these areas.

Although the 802.11 design for using signal strengths to track the location of a device is very accurate, 802.11 wireless signals have a tendency to vary due to changes in the environment. Such changes are caused by weather, the redecoration of furniture, absorption of wireless signals into humans, and even hardware differences among laptops and other 802.11 enabled devices. Also, the 802.11 system of tracking does not typically work well in less populated areas due to the minimal number of access points but it does thrive in communities with a large number of 802.11 access points, such as university campuses. More details about Place Lab structure will be discussed in section 4.1 of this MQP.

3.2. NetStumbler

NetStumbler [NETSweb] is an 802.11 software package that allows a user to detect surrounding Wireless Local Area Networks, as well as signal strengths from the access points. The software can be used to find locations of poor coverage in a particular area, detect unauthorized access points located around the device, and discover other networks that may be causing interference with the user’s network. The NetStumbler graphical user interface displays all of the surrounding access points located by the device. The access points list the current signal strength from the given location, whether the access point has filters installed, and how many filters are installed. These filters can include the Wired Equivalent Privacy (WEP) protocol or the Wi-Fi Protected Access (WPA) protocol, depending on the security of the wireless network.