For the purpose of the IOT, an individual device can be abstracted as a specialized service which produces and consumes data. In addition, the device has certain capabilities to act on, or transform data on a discrete or continuous basis.
Who should have access to these services and capabilities ? It could be
- other devices in proximity to the device
- external services
- certain users
Who gets access is a function of the identity of the devices, the identities of the entities accessing the service and policies governing access (which can include parameters such as location, time, role or more complex rules).
To determine access, a device should be capable of
- identifying itself , its services and capabilities
- obtaining authorization for the services and capabilities (before exercising them), and presenting these when requested. This authorization includes a signed access policy
- updating or invalidating the access policy as time goes on
The access policies need to be applied to the data flows based on the identities and be rich enough to capture use cases of interest.