{'fraction_non_alphanumeric': 0.020015396458814474, 'fraction_numerical': 0.001539645881447267, 'mean_word_length': 5.310679611650485, 'pattern_counts': {'":': 0, '<': 0, '<?xml version=': 0, '>': 0, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
Architectural design of token based authentication of MQTT protocol in constrained IoT device

An effective and secure authentication mechanism is one of the important part in implementation of communication protocol in a Internet of Things (IoT) based system. As one of the popular messaging protocol in IoT world, Message Queue Telemetry Transport (MQTT) offers a basic authentication using username and password. However, this authentication method might possibly have a problem in term of security and scalability. In this paper, we propose the design and implementation of token based authentication of MQTT protocol in constrained devices. The proposed design consists of four components : publisher, subscriber, MQTT broker and token authentication server. Publisher/subscriber first sends its username password to authentication server to get the token. Notice that, the token generating process is only performed at following conditions : 1) when token has not been generated yet and 2) when token has been expired. Once publisher get a valid token, it will store that token in its local storage and use it for further authentication. From usability and performance testing result, the proposed system can perform the authentication of valid and expired token in relatively acceptable time.