Sigurnost sustava EntryPoint
EntryPoint je razvijen prema načelu "security-first". Sigurnost nije dodatak sustavu, već temeljni dio njegove arhitekture.
Na svim razinama - mobilna aplikacija, backend, WebSocket komunikacija i uređaji - implementirani su mehanizmi koji osiguravaju autentičnost, integritet i otpornost na zloupotrebu.
Kriptografski potpisane komande
Sve kritične komande prema uređajima kriptografski su potpisane algoritmom ES256 (ECDSA P-256 + SHA-256).
Uređaj:
- Ne izvršava nepotpisane komande
- Verificira digitalni potpis prije izvršavanja
- Odbija izmijenjene ili kompromitirane poruke
Time se sprječava
- Umetanje lažnih komandi
- Izmjena komandi u tranzitu
- Neovlašteno upravljanje uređajem
Anti-replay zaštita
Sustav implementira višeslojnu zaštitu od ponavljanja (replay) komandi:
- Nonce mehanizam
- Jedinstveni identifikatori operacija
- Kratki vremenski prozor valjanosti
- TTL cache i idempotency kontrola na backendu
- Duplicirane komande automatski se odbijaju.
Sigurna komunikacija (TLS / WSS)
Komunikacija između uređaja i servera odvija se putem:
- WSS (WebSocket over TLS)
- Certifikacijske validacije
- Blokade nesigurnog ws:// transporta
- Svi podaci u prijenosu zaštićeni su enkripcijom.
Symfony backend autentikacija
EntryPoint backend koristi Symfony Security firewall-e uz obvezan HTTPS na zaštićenim rutama.
Admin i owner login tokovi koriste Symfony autentikatore s CSRF zaštitom i provjerom jednokratnog verifikacijskog koda.
- Kontrola pristupa po rutama kroz firewall i role policy
- Provjera login koda vezanog uz sesiju s provjerom isteka
- CSRF validacija na login verification endpointima
Mobilni User API autentikacija (JWT Bearer)
Mobilni user API zahtjevi autentificiraju se JWT Bearer tokenom.
- Izdavanje i verifikaciju JWT-a backend radi kroz Symfony (LexikJWT integracija)
- JWT tokeni su kriptografski potpisani backend ključevima (secret/public key par)
- Zaštićeni /api endpointi zahtijevaju autentificirani JWT kontekst
Mobilna aplikacija - zaštita integriteta
Mobilna aplikacija koristi:
- Sigurno skladištenje privatnih ključeva (Android Keystore / iOS Secure Enclave)
- App Integrity potpis svakog osjetljivog API zahtjeva
- SHA-256 hash tijela zahtjeva
- Anti-replay zaštitu
Backend provjerava
- Digitalni potpis
- Integritet zahtjeva
- Svježinu poruke
- Replay pokušaje
Audit i nadzor
Sustav vodi strukturirane audit zapise sigurnosno relevantnih događaja:
- Ingest potpisanih komandi
- Odbijene potpise
- Replay pokušaje
- Integritetne greške
Kontinuirano unapređenje
Sigurnosni model sustava razvija se kontinuirano kroz:
- Version gating
- Postupnu migraciju starijih uređaja
- Rotaciju ključeva
- Unapređenje mehanizama provjere
Detaljna tehnička dokumentacija
Za tehnički pregled sigurnosne arhitekture:
/sigurnosna-arhitektura