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 |  |
||
| 6 | 4 | Suravi Regmi | |
| 7 | 3 | Suravi Regmi | --- |
| 8 | |||
| 9 | 1 | Suravi Regmi | |
| 10 | 4 | Suravi Regmi | ## Trust Model |
| 11 | 3 | Suravi Regmi |  |
| 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`. |