Git Product home page Git Product logo

heimdall's Introduction

Heimdall

Heimdall is NFC - based access system for Progressbar hackerspace. It uses PN532 connected to Raspberry Pi which controls electronic lock via relay. Due to need for security and reliability it's written in Rust programming language and strives to use it's strong type system to achieve this goals.

This is alpha version and it comes with varios limitations. However, it's already useful for opening the door. Additional features need to be developed along with other crates that were created for this project.

What works:

  • Adding tags to database
  • Scanning and authenticating tags
  • Opening the door

TODO

  • More robust main loop (remove remaining panics)
  • Improve error handling
  • Logging basic info to database (this will be limited to single enter/leave events to maintain privacy)
  • Automatic mode
  • Rewards for checkout
  • Punishments/bans for late payment
  • Other authentication methods (mainly smartphones)
  • Async IO handling
  • Interrupt driven waiting

Non-related to this code

  • Automatic launch of heimdall after start of RPi (power on)
  • Watchdog
  • Power backup
  • Interfacing with other hardware in Progressbar (Outside door, lights...)
  • Interactive display/LEDs/speaker/etc at Progressbar door (outside)

If anyone's willing to help, PRs are very much appreciated.

heimdall's People

Contributors

kixunil avatar

Stargazers

MaurICT avatar Adelar da Silva Queiróz avatar

Watchers

James Cloos avatar ProgressBar HackerSpace avatar Matej yangwao avatar

heimdall's Issues

Security concept

Rozoberieme navrh bezpecnosti pristupu a spise sa specifikacia, podla ktorej by mohli fungovat autentifikacia a authorizacia do Progressbaru.

Na dverach bude obsluhovat PN532

Requested sposoby (poradie urcuje prioritu)

  • Karticka
  • Keyfob
  • Mobile-Wifi
  • Mobile-NFC
  • Mobile-BLE/Bluetooth

Ulohou mat najprv funkcny koncept a potom odladit, aj ked bude mat security-holes. Aktualne kluce si tiez niektori ludia skopirovali a su udajne neskopirovatelne.

Aktualne som objednal Mifare Classic 1k karty a privesky, uvidime co s tym sa bude dat robit.
DESfire su nachylne na utok, DESfire EV1 to riesi, povodne som chcel aspon Classic EV1 ale boli pridrahe.

Koncept sa moze vyvijat, hlavne fallback compatible.

Za seba dopisem co navrhujem, ale urcite mam napad nieco na sposob TOTP alebo HTOP, pripadne, token, ktory by dostal user. Co sa tyka karticiek by som chcel kombinovat jeho 4b/7b uid s obsahom karty.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.