SDS

POST upload

Verze z 17. 1. 2022, 10:22, kterou vytvořil Adamn (diskuse | příspěvky) (Založena nová stránka s textem „== Způsoby nahrání uživatelského programu do SDS přes web-POST == __NOTOC__ V současné době je implementace provedena pouzde do SDS-BIG-512 a SD…“)
(rozdíl) ← Starší verze | zobrazit aktuální verzi (rozdíl) | Novější verze → (rozdíl)

Způsoby nahrání uživatelského programu do SDS přes web-POST

V současné době je implementace provedena pouzde do SDS-BIG-512 a SDS-STSW-512.
V budoucnu bude stejný protokol implementován i do dalších SDS.

Výchozí způsob nahrávání uživatelských řidících programů (SDSC, FULLC) a dalších prvků (UserWEB project) do SDS, je prováděn přes proprietární UDP protokol, skrze výrobcem dodávanou aplikaci (SDSC.exe, FULLC.exe, SDSLOAD.exe).

Toto řešení ale nelze vždy všude využít - čast v prostředí kde je přísný firewall co zahazuje UDP komunikaci, nebo při konfiguraci SDS které jsou za neprostupným NATem. Důvodů může být mnoho.

Jako vhodnou a bezpečnou alternativu nabízí SDS možnost nahrání své konfigurace a řídícíh programů (a UserWeb projektu) prostřednictvím autorizovaného HTTP POST.

Pozn. Speciální firmware pro BIG512 bude poskytovat HTTPS POST - nicméně protokol API atd. uvnitř komunikace s webovém serverem v SDS bude stále zcela stejné..


Co se dá přes POST nahrát

1. Konfigurace IP - viz dále

2. FULLC Program - soubor .FCB

3. UserWEB Projekt - soubor .UWB

Tyto tři prvky jsou vybrány tak, aby bylo také možné plně skriptovat nahrávání SDS, bez nutnosti uživatele použít GUI a ručně klikat atd.


Zabezpečení

Dle průmyslového standardu, je vždy potřeba se, jako klient, vhodným způsobem autorizovat vůči serveru.

SDS tedy nejprve, pro každé jednotlivé spojení, vyžaduje autorizaci klienta.

Pro každé spojení SDS vygeneruje unikátní 256bit SALT, který není nikdy opakován (využívá se HW RNG v SDS).

Klient tento SALT přijme, provede s ním kryptografické operace (průmyslový standard saltování hesla: dvojitá SHA-256 operace).

Stejné operace provede i server u sebe, a jakmile klient pošle serveru svůj výsledek, server provede ověření (porovnání svého a zaslaného výsledku).

Pouze pokud klient zašle správný výsledek, znamená to, že klient zná identické heslo, jaké je nastaveno v SDS - a tedy může se pokračovat. Jinak je spojení ukončeno.


Detaily

Probíhat může vždy jen jedno spojení. Je to logické, pokud se nahrává program, nelze v prostředku nahrávání začít posílat jiný (musí se počkat až se původní činnost dokončí).

V takovém případě server informuje klienty v nových spojení že je BUSY a spojení uzavře. Je na klientovi počkat a zkusit znovu (za vhodný čas).


Protokol

Jedná se o standardní komunikace s webovým serverem. Na straně klienta ji lze realizovat libovolným způsobem.

Klient otevře spojení, pošle HTTP hlavičku s POST (a příkazem), a pak provede autorizaci, a (pokud je autorizován) tak provede kroky k nahrání programu či aktualizaci konfigurace.