[What the project is to achieve, a half to one page. Please describe the educational component of the project.]
Home security projects are relatively common for engineering and computer science students. They typically focus on a superficial and limited technical implementation. The objective of this project is to learn how to design a system that combines multiple practical technological components and computer science techniques but which also considers a measured and holistic process that examines aspects of universal design and a realistic evaluation of risk (e.g. criminal risk versus environmental risk, socio-economic elements, etc.).
The three students will work together to develop a home automation and security system, integrating their individual components into a complete system that can be controlled by an authorized user, can actuate particular devices (e.g. door lock), can be used to help identify locations of individuals in proximity of the house, can be used to help identify such individuals and can provide appropriate levels of response. Furthermore the system can interface to HVAC, monitor environmental anomalies and respond appropriately.
Project 1: Home Environmental Control and Sensing. This portion of the project is responsible for general environmental sensing based on a risk analysis of non-criminal elements, as well as the implementation of a door entry / perimeter camera. General / low fidelity room presence is to be implemented. Air quality (smoke, carbon monoxide, etc.) is to be monitored and reported. General interfacing to an existing HVAC (or simulated HVAC controller) is to be implemented.
Project 2: Home Security Action: This portion of the project is responsible for permitting actions to be taken in response to (a) fire risk in the kitchen, (b) entry risk at the door and (c) authentication or physical risk to the outside world communication method. More specifically, fire risk at the stove/oven is to be monitored and power to the unit is to be controlled at the breaker level; door lock actuation is to be controlled in response to authentication verification conducted by Project 3; failsafe switchover from landline to cell network in response to break-in or integrity compromise.
Project 3: Home User Authentication and Privacy: This portion of the project is to examine how to detect a physical break-in into a home, how to encrypt and obfuscate data travelling within the security system and to the outside world including concerns over meta-data, how to protect firmware located on the physical security controller and how to authenticate users in active (e.g. passcode) and passive (e.g. pendant) scenarios
Together, the three participants will have to examine and decide on communication methods between a local central controller and sensors and actuators within the household, as well as communication to a user monitoring device (e.g. a display and/or cell phone) and an external security authority.
Background Requirements
Prerequisite courses: completion of some third year computer science / security courses.
Corequisite courses: none.
Other experience: Knowledge of embedded systems and programming at a typical 3rd year level.
Student and supervisor will meet twice a week: once on Monday for general discussions regarding theory, milestones, and project development, and once on Thursday for a technical tutorial on ARM processors.
Resources
Software: C/C++ is likely. Python is possible. C++ within Arduino + Teensyduino (update June 2018)
Hardware: Hardware is not yet specified, but likely to be a microcontroller in the class specified in Jay Carlson’s Amazing $1 Microcontroller (https://jaycarlson.net/microcontrollers/). Sensors and actuators related to home security and automation will be required, likely requiring the use of a communications bus. Embedded operating systems (e.g. Linux, FreeRTOS, etc.) will only be considered if the finalized design can objectively justify the use of one.
Existing hardware resources will be made available. A budget of up to $100 per student will also be made available, with all purchases requiring verification ahead-of-time.
Readings
The following is a categorized list of related readings. Students are expected to review this readings and to follow-up with additional self-directed readings as appropriate.
House types & demographics in the Greater Toronto Area and/or Canada
- Standard detached house: https://blog.theredpin.com/blog/what-does-the-average-detached-home-look-like-in-12-cities-in-the-greater-toronto-area/
- Standard apartment: http://www.cbc.ca/news/canada/toronto/rent-toronto-canada-1.4002899
- Crime maps (break and enter, robbery, theft $5000+): http://www.cbc.ca/toronto/features/crimemap/
- Statistics about crime in Toronto (lock smith perspective) https://www.citywidelocksmith.ca/blog/look-burglary-statistics-toronto/
Non-technical papers on people & home security (in the broad sense)
- The Psychology of Security by Bruce Schneier: ftp://nozdr.ru/biblio/kolxo3/Cs/CsLn/Progress%20in%20Cryptology%20-%20AFRICACRYPT%202008(LNCS5023,%20Springer,%202008)(ISBN%209783540681595)(424s).pdf#page=59
- Security and Privacy concerns from a legal and regulatory perspective : Reichherzer, Thomas, et al. "A case study on the trade-offs between security, scalability, and efficiency in smart home sensor networks." Computational Science and Computational Intelligence (CSCI), 2016 International Conference on. IEEE, 2016. (https://scholarship.law.berkeley.edu/cgi/viewcontent.cgi?article=2131&=&context=btlj&=&sei-redir=1&referer=https%253A%252F%252Fscholar.google.ca%252Fscholar%253Fstart%253D10%2526q%253D%252522home%252Bsecurity%252522%252Bwired%252Bhacker%2526hl%253Den%2526as_sdt%253D0%252C5#search=%22home%20security%20wired%20hacker%22)
- “Fear of Crime…” police journal article (https://www-tandfonline-com.ezproxy.library.yorku.ca/doi/full/10.1080/15614263.2011.607651)
- “Flooding Risk” Environmental Economics article (https://journals-scholarsportal-info.ezproxy.library.yorku.ca/details/09218009/v69i0002/355_frahvaeaoeh.xml?q=Flooding+risk+and+housing+values%3A+An+economic+assessment+of+environmental+hazard&search_in=TITLE&date_from=&date_to=&sort=relevance&op=AND&search_in=JOURNAL&sub=)
- Perception vs. reality of crime in Toronto: https://www.cp24.com/news/poll-despite-low-crime-rate-canadians-still-believe-toronto-is-unsafe-1.3557695
- Privacy vs. security paper: Privacy and Security Part II: It's Personal by Al Marcella & Carol Stucki https://www-tandfonline-com.ezproxy.library.yorku.ca/doi/full/10.1080/07366981.2014.925758
- Fear of being stalked: https://www-tandfonline-com.ezproxy.library.yorku.ca/doi/pdf/10.1080/016128499248448?needAccess=true
HVAC (Heating, Ventilation and Air Conditioning)
- https://en.wikipedia.org/wiki/HVAC_control_system
Security concerns with Home Automation / “Smart” homes / Home Security Systems
- Jacobsson, Andreas, Martin Boldt, and Bengt Carlsson. "A risk analysis of a smart home automation system." Future Generation Computer Systems 56 (2016): 719-733. (https://muep.mau.se/bitstream/handle/2043/19774/FGCS_Main_Article_2831_Proof_read.pdf?sequence=2&isAllowed=y)
- Tseloni, Andromachi, et al. "The effectiveness of burglary security devices." Security Journal 30.2 (2017): 646-664. (https://link.springer.com/content/pdf/10.1057%2Fsj.2014.30.pdf)
- Security and Privacy concerns from a legal and regulatory perspective : Reichherzer, Thomas, et al. "A case study on the trade-offs between security, scalability, and efficiency in smart home sensor networks." Computational Science and Computational Intelligence (CSCI), 2016 International Conference on. IEEE, 2016. (https://scholarship.law.berkeley.edu/cgi/viewcontent.cgi?article=2131&=&context=btlj&=&sei-redir=1&referer=https%253A%252F%252Fscholar.google.ca%252Fscholar%253Fstart%253D10%2526q%253D%252522home%252Bsecurity%252522%252Bwired%252Bhacker%2526hl%253Den%2526as_sdt%253D0%252C5#search=%22home%20security%20wired%20hacker%22)
- Security vulnerabilities in one brand of home automation /security: Fernandes, Earlence, Jaeyeon Jung, and Atul Prakash.
- "Security analysis of emerging smart home applications." Security and Privacy (SP), 2016 IEEE Symposium on. IEEE, 2016 http://web.eecs.umich.edu/~earlence/assets/papers/smartthings_sp16.pdf
- “Weighing the value of a home security system” NY Times: https://www.nytimes.com/2010/05/01/your-money/household-budgeting/01wealth.html
- The MIT Lock Picking Guide (https://archive.org/details/MITLockGuide)
- Privacy by design with IoT: The Proactive and Preventive Privacy (3P) Framework for IoT Privacy by Design Abhik Chaudhuri & Ann Cavoukian https://www-tandfonline-com.ezproxy.library.yorku.ca/doi/pdf/10.1080/07366981.2017.1343548?needAccess=true
Comparison of Home Automation technologies
- https://www.researchgate.net/publication/269269896_A_comparison_of_the_popular_home_automation_technologies
- https://www.researchgate.net/profile/Biljana_Risteska_Stojkoska/publication/308975029_A_review_of_Internet_of_Things_for_smart_home_Challenges_and_solutions/links/5a32d67d458515afb65e4e47/A-review-of-Internet-of-Things-for-smart-home-Challenges-and-solutions.pdf
- http://centaur.reading.ac.uk/67947/1/FGCS-S-15-01008_article.pdf
- Circuit Cellar Issue 126 (2001): What’s New on the Home (Automation) Front? The Electronic House Expo by Mike Baptiste (PDF to be made available; cc128.pdf)
- Overview of Home Automation technologies: https://ipfs.io/ipfs/QmXoypizjW3WknFiJnKLwHCnL72vedxjQkDDP1mXWo6uco/wiki/Home_automation.html
- Open Source Home Automation summary: https://randomnerdtutorials.com/9-home-automation-open-source-platforms-for-your-projects/
Comparison of and Components in Home Security technologies
- Broad overview: https://ipfs.io/ipfs/QmXoypizjW3WknFiJnKLwHCnL72vedxjQkDDP1mXWo6uco/wiki/Security_system.html
- The A-Z of Home Security: How to Keep Your Home and Family Safe from Crime, Second Edition (https://www.library.yorku.ca/find/Record/2473490)
- Raspberry Pi® Projects for the Evil Genius (https://www-accessengineeringlibrary-com.ezproxy.library.yorku.ca/browse/raspberry-pi-projects-for-the-evil-genius#c9780071821582ch07)
- May not be available
- Try https://www.library.yorku.ca/find/Record/3359363
- Remote controlled Circuit Breakers by Eaton (http://www.eaton.com/Eaton/ProductsServices/Electrical/ProductsandServices/CircuitProtection/IndustrialMiniatureCircuitBreakers/RemoteControlledCircuitBreakers/index.htm)
- We may just replace this with a standard relay for demo purposes.
- Molex connectors https://www.rs-online.com/designspark/applications-where-molex-technology-is-right-at-home
- Visit to Sayal or Creatron to see these parts in person?
- Application with Assistive living: “Carewatch” https://www.ncbi.nlm.nih.gov/pmc/articles/PMC2865687/
- Maybe should have gone in another section?
- Probability model for “access control” / security: Probability models for access security system architectures by J E Kobza & S H Jacobson https://www-tandfonline-com.ezproxy.library.yorku.ca/doi/pdf/10.1057/palgrave.jors.2600331?needAccess=true
- Maybe should have gone in another section?
- We talk about technology… but what place does math and algorithms have?
Issues related to embedded systems (general)
Barr Group Survey on Embedded Systems
- https://barrgroup.com/sites/default/files/2017Safety_infographic.jpg
- https://barrgroup.com/content/2018-embedded-systems-safety-and-security-infographics-pdf-download
- https://www.youtube.com/watch?v=0Kyy2nMSxnY (podcast and closed captions can be turned on)
C vs C++
- Embedded.fm with Dan Saks: C++ is viable for embedded. https://www.youtube.com/watch?v=8CUtVkrb9bE(closed captions are available & helpful)
- Embedded.fm with Barr Group: Should we use C in embedded? https://youtu.be/0Kyy2nMSxnY?t=23m43s(closed captions are available & helpful)
Which Embedded System to use?
- The Amazing $1 Microcontroller by Jay Carlson (https://jaycarlson.net/microcontrollers/)
- Raspberry Pi vs. Arduino (or Arduino-like micros): https://makezine.com/2015/12/04/admittedly-simplistic-guide-raspberry-pi-vs-arduino/
- Raspberry Pi or Beaglebone Black? https://makezine.com/2014/02/25/how-to-choose-the-right-platform-raspberry-pi-or-beaglebone-black/
- Arduino vs. Raspberry Pi, with discussion about ESP8266 Wifi: https://www.makeuseof.com/tag/5-microcontrollers-arduino-raspberry-pi-zero-nodemcu/
- Overview of some possible IoT platforms https://thenewstack.io/10-diy-development-boards-iot-prototyping/
Embedded Systems Communication standards (but not usual WiFi or Ethernet)
- Hardware types
- Overview of hardware communications methods related to embedded: https://www.maximintegrated.com/en/app-notes/index.mvp/id/3967
- Overview of some wired and wireless (RS232, RS485, Zigbee, etc.) https://www.gsat.us/community/articles/why-are-sensors-so-complicated-to-connect
- Overview of wireless standards typically used in embedded systems https://www.digikey.ca/en/articles/techzone/2017/oct/comparing-low-power-wireless-technologies
- SMS in embedded:
https://www.contextis.com/blog/binary-sms-the-old-backdoor-to-your-new-thing - RS485 (updated on May 23)
- Discussion on Teensy (a good Kinetis Arduino clone) forum about “gotchas” to watch for with RS485 (https://forum.pjrc.com/threads/33336-Serial-and-RS485-questions)
- Teensy implementation of RS485 & Modbus: https://www.pjrc.com/teensy/td_uart.html
- Low cost Teensy LC supports RS485 chips with hardware enable (https://www.pjrc.com/teensy/teensyLC.html#specs)
- Implementation with Arduinos, Part 1: http://www.gammon.com.au/forum/?id=11428
- Implementation with Arduinos (and C++), Part 2: https://github.com/MichaelJonker/HardwareSerialRS485/wiki/example-code
- Modbus on RS485 video https://youtu.be/nhQ_HQC7CRg
- Modbus/RS485 on Tinkerforge: https://www.tinkerforge.com/en/doc/Low_Level_Protocols/Modbus.html#llproto-modbus
- How many wires do you need? What about ground? This discussion is worth examining: http://store.chipkin.com/articles/rs485-rs485-cables-why-you-need-3-wires-for-2-two-wire-rs485
- Discussion on Teensy (a good Kinetis Arduino clone) forum about “gotchas” to watch for with RS485 (https://forum.pjrc.com/threads/33336-Serial-and-RS485-questions)
- Software methods (Protocols)
- Modbus vs mQTT https://software.intel.com/en-us/articles/a-comparison-of-iot-gateway-protocols-mqtt-and-modbus
- MQTT https://learn.adafruit.com/mqtt-adafruit-io-and-you/why-mqtt
- Bare metal modbus: https://www.freemodbus.org/index.php?idx=2 https://github.com/chrismerck/freemodbus/tree/master/demo/AVR because Berlioz seems to be down
- Modbus: https://open4tech.com/application-modbus-protocol-microcontrollers/
- UTasker modbus: http://www.utasker.com/modbus.html
- Modbus for Pi and Arduino, possibly compat with rs485 and might be portable as C++ to baremetal kinetis: https://www.cooking-hacks.com/documentation/tutorials/modbus-module-shield-tutorial-for-arduino-raspberry-pi-intel-galileo/
- WolfSSL & MQTT (compatible with Kinetis… may allow bare metal) https://www.wolfssl.com/docs/wolfmqtt-manual/
- Robot Operating System serial protocol
Security & Embedded Systems
- ARM Assembler & Security: https://azeria-labs.com/writing-arm-shellcode/
- Azeria Labs Intro to Assembler on ARM: (https://azeria-labs.com/writing-arm-assembly-part-1/)
- Bauer, Johannes. "On Inexpensive Methods for Improving Security of Embedded Systems." (2016). ([PDF] kobv.de )
- Secure Boot on NXP Kinetis Presentation (https://www.nxp.com/docs/en/supporting-information/Designing-Secure-IoT-Devices-Starts-with-a-Secure-Boot.pdf)
This blog post was originally published on my previous blog site in July 2018 : https://drsmith.blog.yorku.ca/2018/07/an-example-project-alarm-system/
James Andrew Smith is an associate professor in Electrical Engineering and Computer Science Department in York University's Lassonde School. He lived in Strasbourg, France and taught at the INSA Strasbourg and Hochschule Karlsruhe while on sabbatical in 2018-19 with his wife and kids.