Implementasi Autentikasi Json Web Token (Jwt) Sebagai Mekanisme Autentikasi Protokol MQTT Pada Perangkat NodeMCU - Andri Warda Pratama Putra; Adhitya Bhawiyuga; Mahendra Data (Jurnal Pengembangan Teknologi Informasi dan Ilmu Komputer, 2018)
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 (Å peh & HeÄ‘, 2016). 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.