De cate ori ti-ai uitat cheile in camera si a trebuit sa iti astepti colegii sa vina? Ce te faci? Nu vrei sa stai pe hol sa ii astepti…
Voi prezenta o solutie simpla, secure, usor de instalat pe orice usa si care are nevoie doar de alimentare pentru a fi stabila.
Sistemul presupune un motor servo care actioneaza yala in momentul in care user-ul se autentifica.
Procesul de autentificare consta in apropierea fizica de usa, in timp ce pe smartphone ruleaza o aplicatie. Aplicatia difuzeaza un one-time password (OTP) prin intermediul sunetului, mai exact o secventa de tonuri. In acest mod nu avem nevoie de o conexiune la internet.
Pretty Secure
Pai, functioneaza fix ca token-ul de la banca. O parola parola expira in 30 de secunde, deci solutia nu este vulnerabila la atacuri de tip replay. Voi folosi niste implementari din open-ssl pentru functiile criptografice de hashing. OTP-ul se implementeaza prin hmac.
Nume | Model |
---|---|
Servo Motor | SG90 |
Sound Detector | FC-04 |
Modul ceas | DS1307 |
Buton | |
Baterie | Teoretic 18650 Cell, practic powerbank |
State-ul initial al usii este locked. In momentul in care placa este alimentata, usa se incuie. Usa asteapta codul de validare care este transmis prin sunet. Codul de validare este format din 6 cifre si este o parola generata one-time si expira in 30 de secunde. In momentul in care se transmit 6 cifre, iar parola este validate, usa se deschide. Dupa 10 secunde dupa ce s-a deschis, usa se inchide automat. Se presupune ca ai intrat in casa, iar usa se incuie automat dupa tine. La fel si in cazul in care esti in casa si vrei sa iesi. Pe partea din interior este un buton. Butonul descuie usa, iar in 10 secunde se incuie la loc.
Senzorul de sunet detecteaza daca s-a trecut de un anumit prag de dB. Codific parola de 6 cifre prin intervalele dintre beep-uri. Exista si un beep de start care invalideaza orice exista deja inainte inregistrat. Pentru decodificare, masor intervalele dintre beep-uri (beep-urile sunt constante 0.3s), iar fiecare interval codifica o cifra.
Pentru ca daca ar exista o singura parola, aceasta ar putea fi interceptata de un atacator si folosita pentru acces neautorizat. Parolele au o durata de viata de 30 de secunde. Exista o cheie privata care trebuie sincronizata intre device-uri (telefon si usa). Daca cheia este pierduta, sistemul devine compromis.
Transmiterea datelor prin sunet este foarte puternica si poate fi mult imbunatatita prin folosirea modulatiei in frecventa. Poate fi o alternative ultra low power pentru orice fel de autentificare fizica.