Project

General

Profile

Trust Model » History » Version 4

Suravi Regmi, 11/25/2025 05:24 PM

1 1 Suravi Regmi
# Trust Model
2
3 3 Suravi Regmi
## Signing chain
4
5
![](cert signing chain.png)
6 4 Suravi Regmi
7 3 Suravi Regmi
---
8
9 1 Suravi Regmi
10 4 Suravi Regmi
## Trust Model
11 3 Suravi Regmi
![trust anchor](Group 71.png)
12 1 Suravi Regmi
13
----
14
15 4 Suravi Regmi
### Component identities
16 1 Suravi Regmi
17 4 Suravi Regmi
**Producer Behavior**
18 1 Suravi Regmi
19 4 Suravi Regmi
Producer validates:
20
- AA public parameters (`/aa/PUBPARAMS`)
21
22
Producer signs:
23
- Stream manifests (RSA) using stream identity certificates  
24
- CK packets (digest)  
25
- Encrypted data (digest)
26
27
Producer serves:
28
- Producer certificate  
29
- All stream certificates  
30
31
Producer no longer signs manifests with its own identity;  
32
manifests are now signed by stream identities.
33
34
35
**Consumer Behavior**
36
37
The consumer performs the most validation.
38
39
Consumer validates:
40
- AA parameters (RSA)
41
- DKEY segments (RSA)
42
- Controller POLICYDATA (RSA)
43
- Stream manifests (RSA)
44
- CK packets (digest)
45
- Encrypted data segments (digest)
46
47
All rules validated using the consumers trust schema.
48
49
Consumer decrypts:
50
1. Encrypted application DATA → extract CK name  
51
2. Fetch CK → decrypt with DKEY  
52
3. Decrypt DATA using CK
53
54
55
The consumer uses three rules:
56
57
1. **AA public parameters and DKEY validation**  
58
   `/ndn/md2k/mguard/aa/*` signed by AA (RSA), chaining to root.
59
60
2. **Controller POLICYDATA replies**  
61
   `/ndn/md2k/mguard/controller/*` signed by controller (RSA), chaining to root.
62
63
3. **Stream and producer content**  
64
   `/ndn/md2k/mguard/dd40c/*`  
65
   Allows:
66
   - `sha256` (digest) for encrypted DATA, CK, metadata  
67
   - `rsa-sha256` for manifests, stream certs  
68
   KeyLocator must be a prefix of the Data name.
69
70
All validations ultimately chain back to `/ndn/md2k`.