NetsBlox / services

Official NetsBlox services
0 stars 0 forks source link

IoTScape service definition signing/authorization #9

Open gsteinLTU opened 3 years ago

gsteinLTU commented 3 years ago

Potential Issues:

Options:

However, IoTScape services need to run on devices with no direct input method (e.g. an Arduino) and as virtual devices that need to be easy to distribute and create arbitrarily/quickly to unknown users.

Once the service definition is established on the server, maybe we can assume all devices using that version are fine. Then devices won't need to authenticate, so it only needs to be done once.

gsteinLTU commented 3 years ago

@brollb I think the solution is actually much simpler than we were talking about.

We can add the profanity filter just in case, and have a way to send the service definition authenticated at "compile time". The server would store hashes (so if the service is unloaded it can recognize it as valid again even if another user attempts to recreate it), names, versions, and owners for services in the database. A new version can only be pushed by the same user who pushed the earlier versions.

A blocking feature would have to come later (if we ever need it), but it shouldn't be too hard, and services could be manually blocked (erase the hash and change the owner) in the meantime.

This doesn't fix the case of someone creating many device services to fill the list, but we might just have to reorganize the list to be by user if that becomes an issue (this is how ServiceCreation is supposed to prevent that, right?).

gsteinLTU commented 3 years ago

Basic profanity filter is in ebae507fad32a29c78a43d244041e0f15bcddfba