Pontos idő IoT device-on

Fórumok

Sziasztok !

Adott egy device aminek van internet kapcsolata :3G/4G modem.
A devicenak egy szerverhez kene kapcsolodnia egy időérzékeny (mqtt)
protokollal. Ez azt jelenti, hogy ha rossz az idő a device-on
akkor az kliens nem tud csatlakozni a szerverhez.

Ilyen paraméterek mellett hogyan tudnám biztonságosan
beállitani a pontos időt a device-n egy boot után.

* Hw-es megoldás - extra elem nem jó
* Sima ntp nem jó :
http://security.stackexchange.com/questions/4981/is-ntp-vulnerable-to-d…

Van pár megoldás rá. Kinek milyen gyakorlati tapasztalata van?

Köszi !

Üdv. Gábor

Hozzászólások

Nagy királyság az mqtt. Sok lehetőség van a legkönnyebb ténylegesen az ntp vagy RTC.
Amennyiben tud AT commandot akkor érdemes a szolgáltató felé menni idő kéréssel:
AT+CTZU=1
AT+CCLK?
+CCLK: "12/01/06,07:51:26+04"

Favágó megoldás is van rá, pl. valamilyen folyamat weblapnak a módosítási dátumát headerből lekérni, pl . youtube.com.

>Favágó megoldás is van rá, pl. valamilyen folyamat weblapnak a módosítási dátumát headerből lekérni, pl . youtube.com.

Igen van mar ilyen megoldas mostansag az ntp-ben is és CONSTRAINTS-nek mondják.
Ez nem pontos idő csak egy alsó korlátot ad. Ez egy jó megoldásnak tűnik.

"Attacker somehow compromises the DNS lookup for the NTP server used by the victim"

Ennek úgy nagyjából mekkora esélye van az adott környezetben? Ha erre lehetőség van, akkor érdemes lenne az _összes szolgáltatást megnézni, hogy érzékeny-e ugyanerre a DNS kompromittálásra, nem?

--
https://portal.gacivs.info

3 saját szerver fix IP-vel 3 különböző szolgáltatónál. Alapból az eszközökben mindhárom fixen be van égetve, de szavazós alapon. Két beégetett kiszavazhat egy harmadikat, átszavazva azt egy új címre, onnantól az a beégetett.
Hacsak nem ugyanazt a jelszót használod, nem nyomnak fel egyszerre 3 helyen. Ezzel költözhetsz is bármely lábbal. Arra kell csak figyelni, hogy az eszközöknek legyen egy elvárható maximális offline idejük, azaz ha ennél nagyobb ideig nincsenek hálózaton, akkor elveszettnek tekinthetők (és addigra az időérzékeny cuccod úgyis elmászik). Ha a költözések, vagy egynél több lábat érintő változások ritkábbak mint a max offline idő, az eszközök mindig friss konfiggal futhatnak.

Saját ötletem kinyírása: berakom egy teszthálóba, köré 3 gépet a fenti IP címekkel, és máris az én konfigomban bízik meg az eszköz.
Megoldás: Ha ezekkel egy jófajta kulcscserét csinálsz, akkor IP-től függetlenül nem megszemélyesíthetőek a szervereid.

Jó, akkor közelítsük meg máshogy a kérdést:
- kinézel szerte a világon 10 szimpatikus NTP szervert
- ezeknek az IP-jét berakod az eszköz default konfigjába
- és időnként ezt szerverlistát a meglevő mqtt csatornádon keresztül frissíted

Kicsit favágás jellegű, de ha tényleg ennyire félsz a dns-től, akkor így kikerülheted.

Én ilyen esetekben eleve A Szervert használom NTP-nek, akkor egymáshoz képest tuti nem térnek el. Azt meg DNS nélkül, IP-vel is megadhatod és jó eséllyel ki is kerülted a problémát.

----------------------------------^v--------------------------------------
"Probléma esetén nyomják meg a piros gombot és nyugodjanak békében!"

Esetleg GPS modul?

Akkor tuti jó és pontos lesz az idő... És a hely alapján be tudod állíttatni az időzónát is.

Oykawa

Mennyire kritikus, hogy pontos legyen az az ido?
Nehany masodperc, masodperc alatti tevedes, millisec?

Egyebkent szerintem tulliheged az NTP-s tamadast, ennyi erovel a szerveredhez iranyitott adatforgalmat is manipulalhatja, a titkositast feltorheti, a mobilhalot zavarhatja, stb..

--
Is that a banana in your pocket, or are you just happy to see me?
Neither, it's my new iPhone.

Nem talaltam sehol utalast ra, hogy time sensitive lenne az mqtt protokol, tudsz valami forrast mutatni?

--
NetBSD - Simplicity is prerequisite for reliability

Szia,
Bocsánat a kérdésért, de ha NTP esetén problémás lehet a DNS spoofing, akkor bármi más kapcsolat esetén ez nem vethet fel problémát ( például az mqtt-s kapcsolatodban )? Vagy, ott létezik valami megoldás, amivel elkerülöd a dns feloldást?
Ezt csak azért kérdezem, mert ha problémát jelenthet a dns spoof ntp-hez, akkor minden komponensnél fent áll a veszélye. Ahogy annak is, hogy a 3g/4g modem nem feltétlenül isp hálózathoz kapcsolódik...
Üdv,
LuiseX

Többen írták már, hogy az ntp-t is áthúzhatod vpn-en.
Vagy épp kiépíthetsz saját NTP infrastruktúrát amit áthúzol stunnel-en, már ha nem lesz vpn.
És DNS nélkül, IP címekkel (nyilván többel) is operálhatsz.
Illetve az ntp-t is kiválthatod valami saját vacakkal, már ha nem kritikus a tizedmásodperces pontosság. Pl. csinálsz egy https weboldalt ami a - szerinte - pontos időt visszaadja, és kliens oldalon certificate pinning.

Ezek bármelyikével ki tudod védeni a dns problémáját (amit szerintem túllihegsz, de nem ismerem a konkrét feladatot).