Implementasi Access Control List Berbasis Protokol MQTT Pada Perangkat NODEMCU

Main Author: Ramadhani, Ardhian Rizki
Format: Thesis NonPeerReviewed
Terbitan: , 2017
Subjects:
Online Access: http://repository.ub.ac.id/7959/
Daftar Isi:
  • Protokol MQTT (Message Queuing Telemetry Transport) merupakan sebuah protokol Internet of Things yang berbasis mekanisme topic-based publish-subscribe yang cocok diimplementasikan pada lingkungan dan perangkat yang memiliki keterbatasan, dikarenakan bersifat light-weight. Seperti yang ada pada protokol lainnya, MQTT memiliki masalah terkait keamanan dalam hal privasi data, untuk memastikan identitas dari klien pada protokol MQTT diperlukan sebuah mekanisme autentikasi dan otorisasi. Mekanisme otorisasi dalam MQTT dapat dilakukan dengan menerapkan Access Control List (ACL) pada broker yang akan mengatur hak dari klien untuk mengakses suatu topik pada sistem terkait aktivitas tertentu, seperti publish atau subscribe. Penelitian ini dilakukan untuk mengetahui bagaimana menerapkan mekanisme otorisasi menggunakan ACL pada protokol MQTT yang menggunakan perangkat terbatas yaitu nodeMCU dan bagaimana pengaruh ACL yang diterapkan pada protokol MQTT untuk mengatur hak akses klien yang hendak melakukan publish atau subscribe. Penelitian ini dilakukan menggunakan broker mosquitto yang menerapkan plugin auth-plug sebagai mekanisme autentikasi dan otorisasi, ACL pada penelitian ini didesain pada database MySQL yang akan diakses oleh auth-server. Broker dan auth-server akan saling berkomunikasi untuk memeriksa identitas dan hak akses klien MQTT, username dan password klien akan di-encode menggunakan token JWT (JSON Web Token) yang digunakan sebagai identitas klien dan ACL dirancang menggunakan peran yang dimiliki oleh setiap klien. Berdasarkan hasil pengujian, ACL yang dirancang pada protokol MQTT berhasil mengamankan sistem berbasis protokol MQTT dengan perangkat nodeMCU dengan melakukan mekanisme autentikasi dengan token JWT dan mekanisme otorisasi berdasarkan peran klien, serta berhasil menangani sebanyak 141 pesan per detik, dengan rata-rata waktu untuk publish satu pesan dalam waktu 0,7092 detik.