PALASIK IoT Zero Trust Event Enforcement Framework
Project description
๐งฟ PALASIK
Pengaman Layer Edge Sistem IoT Kritis
A Trust-Aware Zero Trust IoT Gateway Framework
# PALASIK IoT Framework
**PALASIK** (Policy-Aware Lightweight Adaptive Security for IoT) adalah
framework Python untuk membangun **IoT Gateway berbasis Zero Trust** yang
modular, extensible, dan siap dikembangkan secara kolaboratif.
PALASIK dirancang untuk:
- menerima event dari berbagai sumber IoT (MQTT, HTTP, dll)
- mengevaluasi **trust**
- menerapkan **policy (allow / deny)**
- memproses event melalui **plugin system**
Framework ini cocok untuk:
- IoT Gateway
- Edge Computing
- Security-aware data pipeline
- Riset & implementasi Zero Trust pada IoT
---
## โจ Fitur Utama
- Modular **Core Agent**
- **Plugin System** (drop-in, auto discovery)
- **Trust Engine**
- **Policy Engine**
- Adapter dunia nyata (MQTT)
- Siap dikembangkan untuk riset maupun produksi
---
## ๐ฆ Struktur Proyek
palasik-iot-framework/ โโโ palasik/ # Core framework โโโ plugins/ # Plugin ekstensi โโโ examples/ # Contoh runnable โโโ docs/ # Dokumentasi โโโ tests/ # Unit & integration test โโโ README.md
---
## ๐ Quick Start (MQTT Gateway)
### 1. Setup Environment
```bash
python3 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
2. Jalankan Broker MQTT
sudo apt install mosquitto mosquitto-clients
sudo systemctl start mosquitto
3. Jalankan PALASIK
python examples/mqtt_gateway.py
4. Kirim Event
mosquitto_pub -t palasik/sensor/temp -m '{"value": 42}'
๐ง Konsep Inti
- Trust Engine โ menghitung skor kepercayaan event
- Policy Engine โ memutuskan ALLOW / DENY
- Plugin โ merespons keputusan
- Adapter โ menjembatani dunia luar
๐ Dokumentasi Lanjutan
docs/ARCHITECTURE.mdโ arsitektur & alur sistemdocs/CONFIG.mdโ konfigurasi YAML / ENVdocs/raw/โ dokumentasi riset & bahan jurnal
๐ค Kontribusi
PALASIK bersifat open-source dan terbuka untuk kontribusi.
Silakan lihat CONTRIBUTING.md.
๐ Lisensi
MIT License
---
# 2๏ธโฃ docs/ARCHITECTURE.md โ ARSITEKTUR & ALUR
๐ **Buat file `docs/ARCHITECTURE.md`**
```md
# PALASIK Architecture
Dokumen ini menjelaskan arsitektur internal PALASIK sebagai framework
IoT Gateway berbasis Zero Trust.
---
## ๐งฉ Komponen Utama
1. **Agent**
- Runtime utama
- Mengelola lifecycle
2. **Adapter**
- Input dari dunia luar (MQTT, HTTP, dll)
- Mengubah data menjadi event PALASIK
3. **Trust Engine**
- Menghitung skor trust (0.0 โ 1.0)
4. **Policy Engine**
- Menentukan keputusan (ALLOW / DENY)
5. **Plugin**
- Menangani event & keputusan
---
## ๐ Alur Event
```mermaid
sequenceDiagram
participant Device as IoT Device
participant Broker as MQTT Broker
participant Adapter as MQTT Adapter
participant Agent as PALASIK Agent
participant Trust as Trust Engine
participant Policy as Policy Engine
participant Plugin as Plugin
Device ->> Broker: publish data
Broker ->> Adapter: message
Adapter ->> Agent: emit_event()
Agent ->> Trust: evaluate(event)
Trust ->> Agent: trust_score
Agent ->> Policy: decide(trust_score)
Policy ->> Agent: ALLOW / DENY
Agent ->> Plugin: on_event(event, decision)
๐ง Prinsip Desain
- Single Direction Flow
- Separation of Concern
- Policy is Explicit
- Zero Trust by Default
๐ Catatan Penting
- Adapter tidak tahu policy
- Policy tidak tahu sumber event
- Plugin tidak mengubah keputusan
Ini memastikan PALASIK tetap aman, modular, dan scalable.
---
# 3๏ธโฃ docs/CONFIG.md โ KONFIGURASI (YAML / ENV)
๐ **Buat file `docs/CONFIG.md`**
```md
# PALASIK Configuration
PALASIK mendukung konfigurasi melalui **YAML** dan **Environment Variable**.
---
## ๐ Contoh config.yaml
```yaml
palasik:
broker:
host: localhost
port: 1883
topic: palasik/sensor/#
policy:
type: allow_deny
threshold: 0.7
plugins:
enabled:
- logger
๐ฑ Environment Variables
PALASIK_BROKER_HOST=localhost
PALASIK_BROKER_PORT=1883
PALASIK_POLICY_THRESHOLD=0.7
๐ Prioritas Konfigurasi
- ENV
- YAML
- Default code
๐ง Rencana Implementasi
- Loader config di Agent
- Validasi schema
- Hot reload (opsional)
Konfigurasi akan menjadi fokus di versi berikutnya.
---
# 4๏ธโฃ TESTING & CI โ LANGKAH SELANJUTNYA (SETELAH INI)
Belum kita kerjakan sekarang, tapi **inilah roadmap teknisnya**:
### ๐งช Testing
- `tests/core/test_agent.py`
- `tests/policy/test_allow_deny.py`
- `tests/plugins/test_loader.py`
- Mock adapter
### ๐ CI (GitHub Actions)
- Python 3.10โ3.12
- Lint (ruff / flake8)
- Unit test
- Coverage
----
## ๐ Abstrak
**PALASIK** adalah framework riset keamanan **Internet of Things (IoT)**
berbasis **Raspberry Pi** yang menerapkan konsep
**Zero Trust Security Architecture di level edge gateway**.
Berbeda dengan pendekatan tradisional yang hanya mengamankan cloud atau network perimeter,
PALASIK menempatkan **mekanisme penilaian kepercayaan (trust evaluation)**
langsung di gateway IoT untuk:
- mendeteksi perangkat mencurigakan,
- menilai perilaku komunikasi,
- dan merespons ancaman secara adaptif.
Framework ini dirancang **ringan, modular, dan reproducible**
untuk kebutuhan **penelitian akademik, eksperimen laboratorium, dan prototipe industri kecil**.
---
## ๐ฏ Latar Belakang Masalah
Sebagian besar sistem IoT saat ini masih:
- โ Mempercayai semua sensor di jaringan
- โ Mengandalkan autentikasi statis (password / TLS saja)
- โ Fokus mengirim data ke cloud tanpa validasi di edge
Padahal di lapangan sering terjadi:
- Rogue device
- Spoofing identitas sensor
- Manipulasi data di gateway
- Keterlambatan respon keamanan dari cloud
๐ **PALASIK hadir untuk menutup celah ini di level edge.**
---
## ๐ง Kontribusi Ilmiah Utama
PALASIK memberikan kontribusi riset sebagai berikut:
### 1๏ธโฃ Trust Engine Berbasis Edge
- Evaluasi kepercayaan perangkat secara dinamis
- Trust score berbasis:
- identitas (IP, MAC),
- perilaku komunikasi,
- konteks operasional
### 2๏ธโฃ Policy Engine Modular
- Pengambilan keputusan berbasis kebijakan
- Aksi proporsional:
- `ALLOW`
- `MONITOR`
- `RESTRICT`
- `QUARANTINE`
### 3๏ธโฃ Framework Eksperimental Terbuka
- Mudah direplikasi di lingkungan kampus
- Mendukung eksperimen terkontrol
- Cocok untuk skripsi, tesis, dan publikasi
### 4๏ธโฃ Dokumentasi Akademik Terstruktur
- Arsitektur sistem
- Konsep trust & policy
- Roadmap penelitian
- Dataset & eksperimen
---
## ๐๏ธ Arsitektur Sistem (Ringkas)
[ IoT Device ]
โ
โผ
[ Trust Engine ] โโโบ [ Policy Engine ] โโโบ [ IoT Service / Backend ]
โฒ
โ
[ Behavior & Context Observation ]
---
PALASIK berfungsi sebagai **security decision layer**
di antara perangkat IoT dan layanan aplikasi.
---
## ๐งช Platform & Teknologi
### Hardware
- Raspberry Pi 3B / 3B+
- IoT Device / RFID Reader (contoh: Invengo XC-RF850)
### Software
- Python
- Node-RED (opsional sebagai control plane)
- MQTT / REST API
### Konsep Keamanan
- Zero Trust Architecture (ZTA)
- Edge Computing
- Policy-based Access Control
- Trust-aware System
---
## ๐ Dokumentasi Lengkap
Dokumentasi pengembangan tersedia di:
๐ **https://notedavidrinaldi.github.io/palasik/**
Struktur dokumentasi:
- Overview
- Architecture
- Trust Engine
- Policy Engine
- Installation
- Roadmap
- Contributors
- Citation
---
## ๐งโ๐ฌ Konteks Penelitian & Use Case
PALASIK ditujukan untuk riset di bidang:
- IoT Security
- Edge Computing
- Embedded Systems
- Industrial IoT (IIoT)
Potensi implementasi:
- Smart Campus
- Smart Port & Logistics
- Smart Healthcare
- Smart Agriculture
- Industrial Monitoring
---
## ๐ค Kontribusi & Kolaborasi (SANGAT DIHARAPKAN)
PALASIK adalah **open research framework**.
Kami mengundang kontribusi dari:
- ๐ Mahasiswa (skripsi / tesis)
- ๐งช Peneliti
- ๐ง Praktisi IoT & Security
Contoh kontribusi yang dibutuhkan:
- Trust scoring model
- Policy rule design
- Dataset eksperimen
- Dokumentasi & studi kasus
- Evaluasi performa
๐ Panduan kontribusi:
๐ `CONTRIBUTING.md`
---
## โ๏ธ Etika & Ruang Lingkup
PALASIK dirancang untuk:
- jaringan milik sendiri,
- laboratorium riset,
- lingkungan industri tertutup.
โ **Tidak ditujukan untuk offensive security atau scanning ilegal.**
---
## ๐ Sitasi
Jika menggunakan PALASIK dalam publikasi ilmiah, silakan rujuk:
๐ `citation.md`
---
## ๐ Lisensi
Dirilis di bawah **MIT License**
Bebas digunakan untuk riset dan pengembangan lanjutan.
---
## ๐ค Maintainer & Peneliti Utama
**David Rinaldi**
IoT Security & Edge Computing Researcher
๐ GitHub: https://github.com/notedavidrinaldi/palasik-iot-framework
---
## ๐ Selanjutnya?
- ๐ Lihat **Issues** untuk ide kontribusi
- โญ Star repo ini jika tertarik
- ๐ค Fork & eksperimen
---
### ๐ง Catatan
README ini disusun agar:
- layak dijadikan referensi akademik,
- mudah dipahami kontributor baru,
- dan siap mendukung publikasi ilmiah.
PALASIK bukan sekadar project,
tetapi **platform riset terbuka** untuk keamanan IoT berbasis edge.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file palasik-0.1.0.tar.gz.
File metadata
- Download URL: palasik-0.1.0.tar.gz
- Upload date:
- Size: 19.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
af2cfa6ab451773a76768450ad87efbf13bf8fee9fb19d2b267c0f5ceb03380c
|
|
| MD5 |
1775a51495c54c0991c72ea0ddb1f893
|
|
| BLAKE2b-256 |
666ecc15baa85f80bb28e67a45e412a22b2f2c67c23dd904ff0a6c849d2bd223
|
File details
Details for the file palasik-0.1.0-py3-none-any.whl.
File metadata
- Download URL: palasik-0.1.0-py3-none-any.whl
- Upload date:
- Size: 22.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
15b1d437e5cb799bb113463c1e2cb3fc183115e86880504dc7d167a487f86de4
|
|
| MD5 |
7fccb4c689c0df1305348b5eea471355
|
|
| BLAKE2b-256 |
4998e978abf643de0fe20ea0e19675ed37d72473f923654e1f831f991cb20f79
|