Project

General

Profile

Actions

Consumer Architecture

Overview

The consumer subscribes to policy-approved streams, detects new data via PSync, fetches manifests, extracts data names, and retrieves/decrypts encrypted data using NAC-ABE. It depends on the controller for stream permissions and on the Attribute Authority (AA) for public parameters and decryption keys. All received content is validated with the trust schema.

Configuration provides:
applicationPrefix – consumer identity used for cert and ABE.
syncPrefix – PSync group prefix.
controllerPrefix – controller namespace for POLICYDATA.
aaCertPath – AA certificate.
trustSchemaPath – trust schema for validating controller/publisher/AA.

Components

mGuardConsumer initializes the consumer environment by loading the trust schema , configuring NAC-ABE, and creating the internal Subscriber. It triggers the initial ABE setup by asking NAC-ABE to fetch public parameters and the appropriate decryption key from the AA. After a small delay, it requests POLICYDATA from the controller so the consumer knows which streams it is legally allowed to subscribe to. Once the eligible stream list is received, the consumer automatically subscribes to them.

Subscriber

The Subscriber handles ABE setup, policy retrieval, PSync, manifest fetching, and data decryption . It waits for NAC-ABE to finish fetching PUBPARAMS and DKEY , then sends a POLICYDATA interest to the controller and stores the eligible streams. It joins PSync, subscribes to the manifest version of each allowed stream, receives sequence updates, fetches manifests, extracts data names, and retrieves/decrypts data via NAC-ABE before delivering plaintext to the application.

Trust and Certificate Flow

The consumer starts with its o wn cert, the AA cert, and the trust schema . AA provides PUBPARAMS and DKEY, the controller provides POLICYDATA, and the publisher provides manifest packets; all are validated through the trust schema. Repo does not participate in trust, data integrity comes from signatures, and confidentiality comes from NAC-ABE.

Subscription Behavior

Subscriptions are filtered by policy and always target the MANIFEST name for a stream. When PSync reports new sequence numbers, the consumer pulls the updated manifest, gets the list of data names, and fetches and decrypts those data packets. Unsubscribing removes the manifest prefix from PSync.

Updated by Suravi Regmi 17 days ago · 2 revisions