Hasło do otwierania bramy

Masz pomysł na funkcjonalność lub koncepcję na rozwój projektu. Opisz wszystko tutaj.
m_c
Posts: 3
Joined: Tue Aug 08, 2017 11:51 am

Tue Aug 08, 2017 12:24 pm

Witam,
Mam propozycję aby w aplikacji mobilnej opcja otwierania bramy była potwierdzana dodatkowym hasłem/pinem/odciskiem palca.
Chodzi o to, aby przypadkiem nie otworzyć bramy poprzez aplikację.
Jeżeli ktoś ukradnie mi telefon i będzie znał pin do ekranu, to w tej chwili może otworzyć dom. Ale jeżeli dołożymy pin do funkcji otwarcia bramy lub potwierdzenie odciskiem palca to dodamy osobne zabezpieczenie.
W tej chwili piny z esp mam tak podłączone, że bramę mogę tylko zamknąć, aby uniknąć problemu.
Pozdrawiam
Maciej.
User avatar
michael
Posts: 971
Joined: Wed Nov 09, 2016 8:00 am
Location: Wojkowice

Tue Aug 08, 2017 12:28 pm

Fajna koncepcja. Takie hasło/PIN można by w ustawieniach zrobić, aby była możliwość wyboru - z zabezpieczeniem lub bez.
Kabel ucięty na miarę zawsze jest za krótki...
User avatar
pzygmunt
Posts: 6907
Joined: Tue Jan 19, 2016 9:26 am
Location: Paczków
Contact:

Tue Aug 08, 2017 12:53 pm

PIN to funkcjonalność nad którą już pracuję lecz wbrew pozorom jest bardziej złożony niż by się wydawało.
Aby zapewnić całkowite bezpieczeństwo to należy wyeliminować wszystkie punkty gdzie PIN mógłby być przechwycony.
Wszystkie połączenia są domyślnie szyfrowane SSL-em, ale to nie wyklucza możliwości przejęcia PIN-u w przypadku naruszenia bezpieczeństwa serwera. Wtedy po odpowiedniej podmianie demona supla-server można by taki PIN podsłuchać i wykorzystać. Dlatego aby zapewnić 100% bezpieczeństwo proces uwierzytelnienia będzie wyglądał następująco.

1. Żądanie otwarcia bramy przez użytkownika
2. Odpowiedź moduły wykonawczego, że wymagany jest PIN (pin zapisany jest w pamięci modułu)
3. Smartfon prosi uzytkownika o PIN
4. Następnie wysyła klucz swój klucz publiczny RSA
5. Moduł po otrzymaniu klucza publicznego generuje TOKEN i szyfruje go kluczem publicznym Smartfona, a następnie wysyła go do Smartfona wraz ze swoim kluczem publicznym RSA
6. Smartfon po otrzymaniu publicznego klucza RSA modułu i zaszyfrowanego token-a, odszyfrowuje go swoim kluczem prywatnym i szyfruje PIN + token kluczem publicznym Modułu. Następnie go wysyła do modułu
7. Moduł po otrzymaniu zaszyfrowanego PIN-u i tokena odszyfrowuje go kluczem prywatnym. Następnie sprawdza poprawność tokena i PIN-u.
8. Jeżeli wszystko jest OK to otwiera/zamyka bramę.


Powyższe rozwiązanie daje całkowite bezpieczeństwo nawet w przypadku przejęcia przez osoby nieupoważnione serwera. Minus jest taki, że moduły z PIN-em nie będą mogły być włączone do Harmonogramów dlatego, że serwer nie może nigdzie posiadać zapisanego PIN-u aby wszystko miało sens.

https://pl.wikipedia.org/wiki/RSA_(kryptografia)
m_c
Posts: 3
Joined: Tue Aug 08, 2017 11:51 am

Tue Aug 08, 2017 1:00 pm

Dzięki za odpowiedź.
Rewelacja, że bezpieczeństwo jest rozpatrywane na poziomie każdego modułu, a nie samego serwera.

Cieszę się że pomysł jest już gdzieś w produkcji.
Pozdrawiam
M.
User avatar
fracz
Posts: 1585
Joined: Fri Oct 28, 2016 10:56 pm
Location: Rybna

Tue Aug 08, 2017 1:46 pm

SSL w SSLu to dobry pomysł, ale tu chyba koledze chodzi wyłącznie o dodatkowe zabezpieczenie wyłącznie w smartfonie. Na początek mogłoby to wystarczyć, choćby jako zabezpieczenie przeciwko przypadkowemu otwarciu :-)
m_c
Posts: 3
Joined: Tue Aug 08, 2017 11:51 am

Tue Aug 08, 2017 3:12 pm

@fracz: tak - dokładnie o to mi chodzi, ale faktycznie chyba nie ma sensu dublować zabezpieczeń i warto poczekać na pełne rozwiązanie. O ile nie okaże się, że ssl w sslu nie jest przekombinowany i moduły sobie z tym poradzą to jest to bardzo spoko pomysł - faktycznie zabezpiecza również bramę od strony serwera. Jedyne co mnie zastanawia to konfigurowanie nowego PIN'u. @pzygmunt napisał, że PIN będzie w module, co nakłada pewne ograniczenia:
* wszyscy będą używać tego samego pinu - w sumie OK o ile mówimy o domu, a nie o biurze - gdzieś na forum jest wątek o bramie i różnych osobach je otwierających )
* zmiana pinu będzie się chyba wiązała z aktualizacją drivera w module
User avatar
pzygmunt
Posts: 6907
Joined: Tue Jan 19, 2016 9:26 am
Location: Paczków
Contact:

Tue Aug 08, 2017 3:17 pm

Póki co myślałem o jednym PIN-ie. To jest dodatkowe zabezpieczenie, a i tak jeszcze dochodzą identyfikatory dostępu.
W przypadku publicznych rozwiązań na "Firma" to PIN jest i tak słabym zabezpieczeniem (słabe ogniwo to człowiek).

Ustawianie w konfiguracji urządzenia.
Kaowiec
Posts: 66
Joined: Wed Jul 26, 2017 8:15 am
Location: Czernichów

Wed Aug 16, 2017 9:16 pm

Cześć Wszystkim

@pzygmunt myślę, że zabezpieczenie PINem/odciskiem jest sprawą pilną. Z drugiej strony - nie trzeba tego tak "obwarowywać" jak proponujesz - na końcu i tak niestety jest czynnik ludzki... niezależnie gdzie PIN wycieknie i tak będzie kupa.

PIN o którym myślę powinien być zapisany w terminalu użytkownika (smartfonie :) ).
PIN użytkownik nadawałby sam (choć wg mnie najlepszy jest odcisk palca i/lub hasło używane domyślnie do odblokowania telefonu).

Przecież tak jest np.: w iPhonie - wchodząc w ustawienia mogę je sobie przeglądać, ale dostęp do niektórych jest dodatkowo strzeżony przez odcisk/kod. To w zupełności wystarcza. PIN nie lata po sieci - nie trzeba go szyfrować itp.

Sadzę, że w chmurze ustawiałoby się jedynie flagę "PINobowiazkowy" dla konkretnego urządzenia. Wtedy oznaczałoby to, że do ostatecznego wywołania funkcji (np otwarcia bramy) potrzebne jest potwierdzenie.

A jeśli zgubię telefon... no cóż, jak ktoś zna moje hasło to i tak otworzy bramę - niezależnie czy będzie po Twojemu czy tak jak zrobiłbym ja.

Pozdrawiam
Wojtek
User avatar
pzygmunt
Posts: 6907
Joined: Tue Jan 19, 2016 9:26 am
Location: Paczków
Contact:

Thu Aug 17, 2017 7:31 am

Nie zgodzę się z tym. W iPhonie można bezpiecznie przechowywać hasła i w razie kradzieży masz 99,99% bezpieczeństwa. (Sytuacja z FBI swojego czasu... dopiero po kilku miesiącach udało się dostać do smartfona).
Banki, stosując Twoje podejście mogłyby przecież zrezygnować z szeregu zabezpieczeń bo przecież po co je stosować jak jest czynnik ludzki.
Idąc dalej. Jeżeli, ktoś zgubi PIN to jego problem, ale jeżeli ktoś włamie mi się na serwer i otworzy Twój dom to czyj to będzie problem ?

Dlatego z mojej perspektywy muszę zastosować wszelkie możliwe reguły bezpieczeństwa aby wykluczyć możliwość podsłuchania Twojego PIN-u tak, że jeżeli nawet ktoś przejmie kontrolę nad serwerem to bez tego PIN-u nie wyśle żądania otwarcia do Twojego urządzenia sterującego.

Budując system muszę chronić też mój tyłek i ewentualny pozew o to, że naraziłem kogoś na niebezpieczeństwo oferując pozorne zabezpieczenia.
magx2
Posts: 313
Joined: Wed May 17, 2017 1:27 pm
Contact:

Thu Aug 17, 2017 8:41 am

To ja dodam swoje 3 grosze. Co ty na to pzygmunt aby spróbować zaimplementować taki system jak Remote Locks: https://remotelock.com/airbnb/ lub IglooHome https://www.igloohome.co/products/keybox/ ?

W załączonym linku masz wersję online zamka, która działa z ich chmurą, ale jest też wersja która działa offline. Ta wersja offline jest oparta o "zaawansowaną kryptografię" i działa na podobnej zasadzie jak tokeny w bankach (chodzi mi o te fizyczne urządzenie).
Post Reply