As mentioned in the Janus overview, communication unfolds against a landscape that is complex. Participants include individual human identity owners, institutions, and IoT things. These participants may be proxied by one or more software- or hardware-based agents. Technologies may be cloud-based or edge-oriented.
There are many possible ways to describe this picture; each focuses on some realities but suppresses others as being less relevant to insight.
Janus chooses to think in terms of layers of trust:
The high trust layer is where legal accountability lives. Interactions in this layer typically require human approval. They take place on edge devices such as mobile phones, laptops, and on-prem servers belonging to an enterprise.
The medium trust layer is embodied in devices and services that are not under the direct control of their associated identity owners, but that still carry out explicit instructions from those owners. These components are still owned in an important sense by a single participant from the high trust layer, and have a fiduciary responsibility to proxy faithfully.
The low-trust layer consists of services and devices that provide mass services. These components may be highly trustworthy, but they contribute value without needing to represent and proxy in the same way.
- Enduser problems
- How to implement smart policy that adds value
- SPAM
- Support highly-trusted Edge Agents
- Support semi-trusted Cloud Agents
- Support low-trust Cloud Services (like an Agency Router)
- Agents need to be able to act on my behalf according to some authorization or policy
- Comms or Routing Layer
- Agent Layer
- threads of interactions
- Edge, Cloud, Untrusted &
- Packaging layers
Alice sends message to Bob
{
"route_msg": sealed_box({
})
"cloud_msg": {...},
"edge_msg": {
"header": {
"type": "CRED",
"type_version": "0.1"
},
"payload": {<some credential>}
}
}
- The message itself
- Add header (and possibly sig) for message
- Interaction context
- Routing: where you want to send something
- Encrypting information so that agents can see a subset, and the enduser can see all, without redundancy.