Trust Model¶
Signing chain¶

Trust Model¶

Component identities¶
Root / Site CA¶
Identity: /ndn/md2k
Type: Self-signed root CA
Trust Anchor: md2k-trust-anchor.ndncert
All components ultimately chain to this root.Consumers load this file so they can trust any certificate issued under /ndn/md2k.
Identities Signed by the Root CA
The root /ndn/md2k signs:
/ndn/md2k/mguard/controller/ndn/md2k/mguard/aa/ndn/md2k/mguard/dd40c(producer)- All consumer identities (example:
/ndn/md2k/adam)
Defines the trust boundary.
Controller (/ndn/md2k/mguard/controller)¶
- Signs POLICYDATA.
- Issues policy decisions (who can access what).
- Does not decrypt or validate ABE content.
Attribute Authority (AA) (/ndn/md2k/mguard/aa)¶
- Signs PUBPARAMS.
- Generates and signs ** DKEYs** (consumer ABE private keys).
- Only entity holding ABE master secret.
Producer (/ndn/md2k/mguard/dd40c)¶
Signs and serves stream certificates.
The producer identity /ndn/md2k/mguard/dd40c signs all stream identities:
/ndn/md2k/mguard/dd40c/phone/accelerometer/ndn/md2k/mguard/dd40c/phone/gyroscope/ndn/md2k/mguard/dd40c/phone/gps/ndn/md2k/mguard/dd40c/phone/battery/ndn/md2k/mguard/dd40c/data_analysis/gps_episodes_and_semantic_location
These stream identities are used to sign manifests, encrypted DATA, and CK packets.
Producer validates:
- AA public parameters (
/aa/PUBPARAMS)
Publishes:
- Encrypted DATA (digest-signed for NAC-ABE)
- CK Data (digest-signed)
- MANIFESTS (RSA-signed)
Producer serves:
- Producer certificate
- All stream certificates
Stream Identities (/ndn/md2k/mguard/dd40c/phone/…)¶
- Used to sign RSA-signed objects (manifest).
- metadata, DATA, CK(handled by nac-abe)
- Each stream has its own identity and cert.
Consumer (e.g./ndn/md2k/adam)¶
Consumer validates:
- AA parameters (RSA)
- DKEY segments (RSA)
- Controller POLICYDATA (RSA)
- Stream manifests (RSA)
- CK packets (digest)
- Encrypted data segments (digest)
All rules validated using the consumers trust schema.
Consumer decrypts:
- Encrypted application DATA → extract CK name
- Fetch CK → decrypt with DKEY
- Decrypt DATA using CK
The consumer uses three rules:
AA public parameters and DKEY validation
/ndn/md2k/mguard/aa/*signed by AA (RSA), chaining to root.Controller POLICYDATA replies
/ndn/md2k/mguard/controller/*signed by controller (RSA), chaining to root.Stream and producer content
/ndn/md2k/mguard/dd40c/*
Allows:sha256(digest) for encrypted DATA, CK, metadatarsa-sha256for manifests, stream certs
KeyLocator must be a prefix of the Data name.
All validations ultimately chain back to /ndn/md2k.
Updated by Suravi Regmi 20 days ago · 9 revisions