Smart Lock

From ESE205 Wiki
Jump to navigation Jump to search

Overview

Our solution to the problem posed requires us to create a two part solution. The first part is an electronic mechanism that can be installed in doors that will be able to verify the identity of a smartphone users and unlock/open doors for the person. The second part will be an app on a phone that allows the user to securely log in and verify their identity. They will then be granted permission to certain locks which they can then open.

Project Proposal

Members

  • Graham Webb
  • Ahmed Hassan
  • Kelvin Xie
  • John Gibson (TA)
  • Dr. Feher (Professor)

Goal of Product

  • Unwieldy and ineffective electronic key-chains that use a smartphone to unlock doors. Our product will decrease the hardware required and try to create a universal system that would be viable and cheaper in real life.
  • Desired list of features
    • Automatic activation of lock based on proximity to the device
    • Use beacon technology in the lock
    • Have an app that can SECURELY request tokens from AWS
      • App should be able to interface with phone to send tokens
      • App should be password protected
    • Program lock to SECURELY request token lists from AWS
    • Set caps on token refresh time and how many requests can be made per minute
    • Fully functioning deadbolt interfaced with the circuit board in the lock
      • Deadbolt should be controlled by Servo


Design and Construction

Work Log

  • Basic Project Outline
    • Hardware:
      • This part of the project will comprise of the physical locking mechanism (Deadbolt and Servo) as well as the necessary hardware components (Raspberry Pi) to communicate with our app
    • AWS Server:
      • The server will serve as the method of communication between the lock and our phone application. It will also be integral in the security of the lock. It will be used primarily for the generation of tokens (for the mobile app) and a list of authorized tokens (for the Raspberry Pi).
    • App:
      • Our app will be the main interface for controlling our lock. Additionally, it will also serve as the “key” for the lock. App will be responsible for fetching the generated keys/ tokens from the server and sending them also.
  • Key Features
    • Secure Locking Mechanism
    • Secure Software Encryption
    • Phone Proximity Unlocking
    • Phone Application Interface
  • Design

Design

  • Lock Servo Connection Piece Design

Design Design Design

Gantt Chart

Gantt Chart

Budget

  • Total
    • $111 excluding tax

Challenges

  • Ensuring Software Security (Key Generation)
  • Interfacing Locking Mechanism with Software (Proper Pi Integration)
  • Creating a secure interface between the phone and the smart lock (HTTPS)
  • Designing a mobile application (or web app) that reliably connects with the server to obtain identification
  • Integration of beacon with phone Bluetooth

Materials Needed

  • Computer with eclipse or equivalent
  • 3D printer
  • Arduino/ raspberry pi circuit board or equivalent
  • CAD software
  • Some mechanical parts to physically open the door (specific parts to be determined)

Ethical Issues

The ethical dilemmas are not particularly prominent with this technology. In our ever digitizing world, smart technology has been becoming more mainstream over the last several years. That said, there are skeptics of this type of technology that may argue that smart technology poses more threats than benefits due to the possibility of hacking. As a result this project poses more safety/security concerns than it does ethical. The safety and security concerns are further discussed below.

Security Issues

Since our project is the hardware and software behind digitizing a lock, there are obviously large concerns with security. If we are to create an effective and meaningful project, then the software must be as hard to hack into as the deadbolt is to physically force open. Due to this, we have devoted a large part of our project into studying various forms of encryption to help secure the token system. In addition to this, we recognize that a person's phone could be stolen and used to open the lock remotely that way. To counter this, we are looking into securing our app with some form of password protection to block that avenue of approach.

Safety Issues

Due to the fact that most of our project is software based, we do not have many safety concerns for the production of it. There may be some small hazards with constructing the circuit-board or deadbolt (burning yourself with the soldering iron etc.), however, we feel that the project generally should be safe to construct and program.