Project

General

Profile

Wiki » History » Version 18

Lan Wang, 11/23/2025 11:50 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 18 Lan Wang
# Based on the “Data Adapter” and “Publisher” modules described in the system design.
28 2 Suravi Regmi
29 1 Suravi Regmi
### **Controller**
30
Represents the policy and access management logic.  
31
The controller:
32
- defines **who** can access **which** data streams,  
33
- parses and manages access control policies, and  
34
- collaborates with the Attribute Authority to issue decryption keys (DKEYs) to validated data requesters.
35
36
It enforces the name-based access control structure.
37
38
### **Attribute Authority (AA)**
39
Part of the controller-side security infrastructure.  
40
The AA:
41
- validates requester identities (using the system’s trust anchor),
42
- issues policy-compliant decryption keys based on KP-ABE, and  
43
- publishes public parameters required for encryption.  
44
45
### **Consumer**
46
Subscribes to mHealth data streams according to the access rights defined for the requester.  
47
The consumer:
48
- receives notifications for new manifests,  
49
- fetches the corresponding encrypted data objects from the repository, and  
50
- decrypts data based on issued keys and permitted attributes.  
51
52
### **Repository**
53
Persistent storage for all published mHealth data objects, content keys, and manifests.  
54
The repository allows consumers to:
55
- retrieve data independently of the producer,  
56
- fetch CKs needed for decryption, and  
57
- access previously published (historical) data.  
58
59
---
60
61
## Navigation
62 8 Suravi Regmi
63 1 Suravi Regmi
- **[[Architecture]]**
64 8 Suravi Regmi
  - **[[Architecture_Details|Architecture Details]]**
65
- **[[Design_Elements|Design Elements]]**
66
  - **[[Naming_Scheme|Naming Scheme]]**
67
  - **[[Trust_Model|Trust Model]]**
68
  - **[[Access_Control|Access Control]]**
69
  - **[[NAC-ABE_Design|NAC-ABE Design]]**
70
  - **[[Manifest_Design|Manifest Design]]**
71
  - **[[PSync_Design|PSync Design]]**
72 12 Suravi Regmi
  - **[[Pub-Sub API|Pub-Sub API Design]]**
73 13 Suravi Regmi
  - **[[Repo|Repo Design]]**
74 8 Suravi Regmi
- **[[Developer_Guide|Developer Guide]]**
75 11 Suravi Regmi
- [Open editable Figma diagram](https://www.figma.com/design/I2SLqGN17XJHh8KsyAJ88l/Untitled?node-id=0-1&t=xWqhvwrDlUOlkeVU-1)