Project

# Title Team Members TA Documents Sponsor
35 Schnorr Signature Key Fob
Michael Gamota
Pedro Ocampo
Vasav Nair
Pusong Li design_document1.pdf
design_document2.pdf
proposal1.pdf
proposal2.pdf
# Schnorr Identification Protocol Key Fob

Team Members:
- Michael Gamota (mgamota2)
- Vasav Nair (vasavbn2)
- Pedro Ocampo (pocamp3)

# Problem

Current car fobs are susceptible to different types of attacks. Rolling jam attacks are one of such attacks where an attacker jams and stores a valid "unlock" signal for later. Cars with passive keys/cards can be stolen using relay attacks. Since a car can be the most expensive item someone owns, it is unreasonable to allow people to steal them so discreetly by hacking the fob/lock combo.

# Solution
By leveraging public key cryptography, specifically the Schnorr identification protocol, it is possible to create a key fob which is not susceptible to either attack (rolling jam and relay) and also gives no information about the private key of the fob if the signal were to be intercepted.

# Solution Components
# Key Fob
## Subsystem 1
Random number generation - We will use a transistor circuit to generate random numbers. This is required by the Schnorr protocol to ensure security.

## Subsystem 2
Microcontroller - The MCU will run all the computation to calculate the messages. We will likely use an ATtiny MCU so we can use the Arduino IDE for programming. However, some group members have experience with the STM32 family so that is another option.

## Subsystem 3
Power - We plan on using either a 5V battery or 3.3V battery with a boost converter to power the fob.

## Subsystem 4
Wireless Communication - We plan on using the 315 MHz frequency band which is currently used by some car fobs. We will need a transmitter and receiver, since the protocol is interactive.

# Lock
## Subsystem 1
Random number generation - We will use a transistor circuit to generate random numbers. This is required by the Schnorr protocol to ensure security.


## Subsystem 2
Microcontroller - This MCU will also run all the computation to calculate the messages. We will likely use an ATtiny MCU so we can use the Arduino IDE for programming. However, some group members have experience with the STM32 family so that is another option. This MCU will need to have PWM output to control the lock.

## Subsystem 3
Linear Actuator - We plan on using a linear actuator as a deadbolt lock for demonstration purposes.

## Subsystem 4
Wireless Communication - We plan on using the 315 MHz frequency band which is currently used by some car fobs. We will need a transmitter and receiver, since the protocol is interactive.

## Subsystem 5
Power - This subsystem will also likely require 5V, but power sourcing is not an issue since this system would be connected to the car battery. During a demo I would be acceptable to have this plugged into a power supply or a barrel jack connector from an AC-DC converter.

# Criterion For Success

Describe high-level goals that your project needs to achieve to be effective. These goals need to be clearly testable and not subjective.

Our first criteria for success is a reasonably sized fob. There is some concern about the power storage and consumption of the fob.
The next criteria for success is communication between the fob and the lock. This will be the first milestone in our design. We will need to have a message sent from one MCU that is properly received by the other, we can determine this in the debug terminal.
Once we are sure that we can communicate between the fob and the lock, we will implement the Schnorr protocol on the two systems, where the fob will act as the prover and the lock as the verifier. If the Schnorr signature implementation is correct, then we will always be able to unlock the lock using the fob whose public key is associated with full privileges.

Amphibious Spherical Explorer

Kaiwen Chen, Junhao Su, Zhong Tan

Amphibious Spherical Explorer

Featured Project

The amphibious spherical explorer (ASE) is a spherical robot for home monitoring, outdoor adventure or hazardous environment surveillance. Due to the unique shape of the robot, ASE can travel across land, dessert, swamp or even water by itself, or be casted by other devices (e.g. slingshot) to the mission area. ASE has a motion-sensing system based on Inertial Measurement Unit (IMU) and rotary magnetic encoder, which allows the internal controller to adjust its speed and attitude properly. The well-designed control system makes the robot free of visible wobbliness when it is taking actions like acceleration, deceleration, turning and rest. ASE is also a platform for research on control system design. The parameters of the internal controller can be assigned by an external control panel in computer based on MATLAB Graphic User Interface (GUI) which communicates with the robot via a WiFi network generated by the robot. The response of the robot can be recorded and sent back to the control panel for further analysis. This project is completely open-sourced. People who are interested in the robot can continue this project for more interesting features, such as adding camera for real-time surveillance, or controller design based on machine learning.

Project Videos