Project

General

Profile

Wiki » History » Version 19

Lan Wang, 11/23/2025 11:52 PM

1 1 Suravi Regmi
# MGuard: A Secure mHealth Infrastructure for Real-Time Data transfer with Fine-grained Access Control over NDN
2
3
4 15 Lan Wang
**MGuard** is an NDN-based system designed to support high-frequency mHealth data sharing with **fine-grained contextual access control** and **real-time data distribution**.  It is built on name-based access control (NAC/NAC-ABE) and PSync to enable timely access to sensitive mobile health data.
5 1 Suravi Regmi
6
---
7
8
## Purpose
9
MGuard addresses two core challenges in mHealth data sharing:
10
11
1. **Access to privacy-sensitive data is limited to authorized users based on well defined polcies**  
12
13
2. **Supporting real-time sharing of high-frequency sensor data**  
14
15
---
16
17
## Core Components
18
19
### **Producer**
20
Receives data from the MD2K ecosystem or directly from device sensors.  
21
The producer:
22
- converts raw or derived data streams into NDN-named data objects,
23
- associates each object with appropriate attributes, and  
24
- stores encrypted data into the NDN repository.
25
26
It is also responsible for notifying subscribers when new data is available (via published manifest names).  
27 19 Lan Wang
28
<!-- Based on the “Data Adapter” and “Publisher” modules described in the system design. -->
29 2 Suravi Regmi
30 1 Suravi Regmi
### **Controller**
31
Represents the policy and access management logic.  
32
The controller:
33
- defines **who** can access **which** data streams,  
34
- parses and manages access control policies, and  
35
- collaborates with the Attribute Authority to issue decryption keys (DKEYs) to validated data requesters.
36
37
It enforces the name-based access control structure.
38
39
### **Attribute Authority (AA)**
40
Part of the controller-side security infrastructure.  
41
The AA:
42
- validates requester identities (using the system’s trust anchor),
43
- issues policy-compliant decryption keys based on KP-ABE, and  
44
- publishes public parameters required for encryption.  
45
46
### **Consumer**
47
Subscribes to mHealth data streams according to the access rights defined for the requester.  
48
The consumer:
49
- receives notifications for new manifests,  
50
- fetches the corresponding encrypted data objects from the repository, and  
51
- decrypts data based on issued keys and permitted attributes.  
52
53
### **Repository**
54
Persistent storage for all published mHealth data objects, content keys, and manifests.  
55
The repository allows consumers to:
56
- retrieve data independently of the producer,  
57
- fetch CKs needed for decryption, and  
58
- access previously published (historical) data.  
59
60
---
61
62
## Navigation
63 8 Suravi Regmi
64 1 Suravi Regmi
- **[[Architecture]]**
65 8 Suravi Regmi
  - **[[Architecture_Details|Architecture Details]]**
66
- **[[Design_Elements|Design Elements]]**
67
  - **[[Naming_Scheme|Naming Scheme]]**
68
  - **[[Trust_Model|Trust Model]]**
69
  - **[[Access_Control|Access Control]]**
70
  - **[[NAC-ABE_Design|NAC-ABE Design]]**
71
  - **[[Manifest_Design|Manifest Design]]**
72
  - **[[PSync_Design|PSync Design]]**
73 12 Suravi Regmi
  - **[[Pub-Sub API|Pub-Sub API Design]]**
74 13 Suravi Regmi
  - **[[Repo|Repo Design]]**
75 8 Suravi Regmi
- **[[Developer_Guide|Developer Guide]]**
76 11 Suravi Regmi
- [Open editable Figma diagram](https://www.figma.com/design/I2SLqGN17XJHh8KsyAJ88l/Untitled?node-id=0-1&t=xWqhvwrDlUOlkeVU-1)