Implementasi Autentikasi Json Web Token (JWT) Sebagai Mekanisme Autentikasi Protokol MQTT Pada Perangkat NODEMCU

Putra, Andri Warda Pratama (2017) Implementasi Autentikasi Json Web Token (JWT) Sebagai Mekanisme Autentikasi Protokol MQTT Pada Perangkat NODEMCU. Sarjana thesis, Universitas Brawijaya.

Abstract

IoT adalah mekanisme komunikasi machine-to-machine (M2M) yang diharapkan menjadi salah satu solusi jaringan masa depan. MQTT adalah protokol yang digunakan untuk komunikasi M2M/IoT yang berjalan diatas protokol TCP/IP yang dirancang sebagai broker berdasarkan pertukaran pesan publish/subscribe untuk kode kecil (misalnya 8-bit, 256KB RAM controller), bandwidth dan daya rendah, koneksi dan biaya yang tinggi, ketersediaan variabel, jaminan pengiriman (Špeh & Heđ, 2016). Untuk melakukan autentikasi, MQTT saat ini menggunakan username dan password. JWT adalah token berbentuk string panjang yang sangat random yang gunanya untuk melakukan autentikasi sistem dan pertukaran informasi. JWT mengamankan informasi menjadi sebuah klaim yang di encode ke dalam bentuk JSON dan menjadi payload dari JSON Web Signature (JWS) (Bradley, 2015). Isi dari signature pada JWT merupakan gabungan dari isi header dan payload, jika terjadi perubahan pada header/payload maka signature akan menjadi tidak valid. NodeMCU digunakan sebagai publisher dikarenakan konsumsi daya yang dibutuhkan oleh NodeMCU lebih sedikit jika dibandingkan node sensor lain seperti Raspberry Pi. Pada penelitian ini, dilakukan implementasi JWT pada MQTT dengan mengunakan NodeMCU sebagai publisher. Pada penelitian ini dilakukan tiga pengujian inti diantaranya pengujian validasi username dan password, pengujian expiration token, dan pengujian waktu generate token. Hasil dari penelitian ini adalah JWT yang diimplementasikan dapat melakukan validasi terhadap username dan password yang dikirimkan oleh publisher, JWT mampu melakukan autentikasi terhadap token yang telah expired, dan waktu yang dibutuhkan oleh server untuk men-generate token adalah bervariasi dipengaruhi oleh response server terhadap request publisher bervariasi.

English Abstract

IoT is a concept that aims to expand the benefits of continuously connected internet connectivity. MQTT is a protocol that used for M2M / IoT communications running over TCP / IP protocols designed as brokers based on the exchange of publish / subscribe messages for small code (eg 8-bit, 256KB ram controller), low power and bandwidth, connection and high cost, Availability of varables, negotiation of delivery guarantees. To perform client verification, traditional MQTT authentication uses the username and password in the authentication message. JWT is a very random string tokens for system authentication and information exchange. JWT secures information into a claim that is encoded into JSON and becomes a payload of JSON Web Signature (JWS) (Bradley, 2015). Token can be verified and trusted because it has been digitally signed can use HMAC or RSA. The contents of the signature on JWT is a combination of header and payload content, if there is a change in the header / payload then the signature will become invalid. NodeMCU is used as a publisher because the power consumption required by NodeMCU is less when compared to other sensor nodes such as Raspberry Pi. In this research, the implementation of JWT on MQTT using NodeMCU as publisher. In this research, there are three core test such as testing of username and password validation, expiration token test, and testing of token generate time. The result of this research is JWT that was implemented to validate username and password submitted by the publisher, JWT is able to authenticate the expired tokens, and the time required by the server to generate tokens is varied influenced by the response server to the publisher request vary.

Item Type: Thesis (Sarjana)
Identification Number: SKR/FTIK/2017/495/051707817
Uncontrolled Keywords: IoT, Message Queuing Telemetry Transport (MQTT), JSON Web Token (JWT), NodeMCU
Subjects: 000 Computer science, information and general works > 004 Computer science > 004.6 Interfacing and communications > 004.62 Interfacing and communications protocols
Divisions: Fakultas Ilmu Komputer > Teknik Informatika
Depositing User: Yusuf Dwi N.
Date Deposited: 04 Sep 2017 04:40
Last Modified: 30 Sep 2020 05:35
URI: http://repository.ub.ac.id/id/eprint/2012
[thumbnail of Putra, Andri Warda Pratama.pdf]
Preview
Text
Putra, Andri Warda Pratama.pdf

Download (3MB) | Preview

Actions (login required)

View Item View Item