• Tidak ada hasil yang ditemukan

Implementasi Algoritme Grain V1 Pada Protokol MQTT Menggunakan Raspberry Pi Untuk Mengamankan Data IoT

N/A
N/A
Protected

Academic year: 2018

Membagikan "Implementasi Algoritme Grain V1 Pada Protokol MQTT Menggunakan Raspberry Pi Untuk Mengamankan Data IoT"

Copied!
8
0
0

Teks penuh

(1)

Fakultas Ilmu Komputer

6542

Implementasi Algoritme Grain V1 Pada Protokol MQTT Menggunakan

Raspberry Pi Untuk Mengamankan Data

IoT

Iskar Maulana1, Ari Kusyanti2, Adhitya Bhawiyuga3

Program Studi Teknik Informatika, Fakultas Ilmu Komputer, Universitas Brawijaya Email: 1imaulana@student.ub.ac.id, 2ari.kusyanti@ub.ac.id, 3bhawiyuga@ub.ac.id

Abstrak

Internet of Things (IoT) menjadi salah satu teknologi masa kini yang sering digunakan karena IoT dapat menghubungkan perangkat dengan perangkat lainnya. Pada umumnya, protokol yang digunakan adalah protokol MQTT. Ketika perkembangan IoT semakin pesat, semakin banyak pula data yang dilewatkan pada protokol tersebut. Apalagi banyak penggunaan IoT yang memanfaatkan wireless sebagai media pertukaran data. Sedangkan media wireless rentan terhadap penyadapan. Ancaman data dapat terlihat pun tidak dapat dihindari sehingga perlu adanya suatu cara untuk mengamankan data. Salah satu teknik untuk mengamankan data yakni menggunakan algoritme Grain v1. Algoritme ini merupakan suatu algoritme dalam kriptografi yang digunakan untuk mengenkripsi dan mendekripsi pesan. Penulis menggunakan Raspberry Pi sebagai publisher dan subscriber serta Virtual Machine (VM) sebagai

broker. Algoritme Grain v1 diletakkan pada setiap client (publisher dan subscriber) dengan tujuan ketika payload ditransmisikan melewati protokol MQTT, data yang terdapat dalam payload tersebut dalam keadaan terenkripsi. Begitu juga sebaliknya, payload didekripsi setelah diterima oleh subscriber. Terdapat 5 pengujian untuk memastikan sistem bekerja dengan optimal meliputi pengujian validasi test vector, fungsional sistem, pengujian validasi hasil enkripsi dan dekripsi, sniffing, dan kinerja waktu. Dengan hasil dari setiap pengujian validasi adalah valid, hasil dari pengujian sniffing data tidak dapat terbaca dengan jelas, kemudian hasil kinerja rata-rata waktu pemrosesan keystream 0,01246 second, enkripsi 0,01627 second, dan dekripsi 0,02238 second.

Kata kunci: kriptografi, algoritme Grain v1, Internet of Things, Raspberry Pi, MQTT

Abstract

Internet of Things (IoT) is one of the most commonly used technologies today because IoT can connect various devices. In general, the protocol used in IoT is the MQTT protocol that utilize wireless as a medium for data exchange. However, wireless media is vulnerable to wiretapping. Data threats become an unavoidable so there is a need secure the data. One technique for securing data is Grain v1 algorithm. This algorithm is an algorithm in cryptography that is used to encrypt and decrypt messages. The author uses Raspberry Pi as a publisher and subscriber as well as a Virtual Machine (VM) as a broker. The Grain v1 algorithm is placed on each client (publisher and subscriber) so that when the payload is transmitted over the MQTT protocol, the data contained in the payload is encrypted. Likewise, the payload is decrypted after it is received by the subscriber. There are 5 tests to ensure that the system works well including test vector validation testing, system functional, validation testing, encryption and decryption results, sniffing, and time performance. The result shows that test vector validation, encryption and decryption process validation are valid. Functional test shows that system can run well. Based on sniffing test, the payload cannot be read by unauthorized party. Finally, the execution time of processing keystream, encryption and decryption take 0.01246 second, 0.01627 second, and 0.02238 second.

(2)

1. PENDAHULUAN

Internet of Things (IoT) merupakan salah satu teknologi paling mutakhir yang ada di dunia saat ini. IoT merupakan sebuah konsep yang merujuk kepada suatu objek yang memiliki kemampuan untuk mengirimkan data dari perangkat ke perangkat lainnya tanpa harus ada campur tangan manusia. Komponen IoT terdiri dari sensor, software, perangkat (Raspberry Pi, Arduino), dan jaringan internet. Semua komponen tersebut saling terhubung untuk berkomunikasi dan melakukan pertukaran data (Xia, et al., 2012).

Salah satu protokol yang sering dipakai dalam komunikasi antar perangkat IoT adalah protokol MQTT. Pola komunikasi pertukaran pesan pada protokol ini menggunakan

publish/subscribe. Terdapat 3 aktor utama yang bekerja dalam metode ini, yaitu publisher,

subscriber dan broker. Pengirim data pada metode publish/subsribe ini disebut publisher

sedangkan penerima data disebut subscriber.

Lalu broker berfungsi sebagai jembatan penghubung antara keduanya. Protokol ini tepat digunakan dalam IoT karena bersifat

lightweight, terbuka, sederhana, dan dapat digunakan dalam banyak situasi termasuk lingkungan yang terbatas sumber daya (Rochman, et al., 2017).

Protokol MQTT secara default tidak memiliki keamanan dan IoT pada umumnya menggunakan media wireless sebagai media pertukaran data. Sedangkan penggunaan

wireless sangat rentan terhadap pencurian dan penyadapan. Data yang ditransmisikan melalui protokol MQTT juga tidak lepas dari resiko tersebut. Oleh karena itu, perlu suatu cara untuk menjaga data agar aman dan tidak disadap oleh pihak yang tidak berwenang (Elkhodr, et al., 2016).

Salah satu upaya untuk mengamankan data yakni melalui kriptografi. Kriptografi merupakan teknik penyandian untuk menjaga keamanan data. (Chandra, 2016). Terdapat beberapa algoritme kriptografi pada saat ini salah satunya algoritme Grain. Algoritme ini merupakan algoritme stream cipher yang di desain untuk lingkungan hardware dengan memori yang terbatas, daya yang rendah dan juga memiliki komputasi yang cepat. Dengan beberapa kelebihan tersebut algoritme ini cocok digunakan dalam skenario IoT (Hell, et al., 2006).

Ada beberapa penelitian mengenai yang berkaitan dengan penelitian yang akan dilakukan

oleh penulis. Penelitian berjudul “Grain – A Stream Cipher for Constrain Environment”

menjelaskan bahwa algoritme Grain memiliki desain yang menargetkan hardware, konsumsi daya, memori yang sangat terbatas, dan komplesitasnya lebih baik dibandingkan E0 dan A5/1 (Hell, et al., 2006). Penelitian selanjutnya

berjudul “Sistem Kendali Berbasis Mikrokontroler Menggunakan Protokol MQTT pada Smartphone” yang dilakukan (Rochman, et

al., 2017) menjelaskan bahwa protocol MQTT bersifat open, lightweight, memiliki konsumsi daya rendah dan mudah digunakan untuk keperluan IoT. Penelitian ini menyimpulkan bahwa banyaknya data yang dirimkan melalui protokol MQTT mempengaruhi nilai delta time -nya, tetapi pada sisi keamanannya belum ada.

Penelitian berjudul “Implementasi Algoritme Grain v1 dan 128 bit Pada Arduino Mega 2560

menjelaskan bahwa algoritme Grain v1 dapat diterapkan pada hardware, tetapi pada penelitian tersebut hardware digunakan untuk menghasilkan keystream saja (Nurrohmah, et al., 2018).

Dari berbagai permasalahan dan bukti yang telah diuraikan sebelumnya, maka penulis melakukan penelitian yang membahas tentang

“Implementasi Algoritme Grain v1 Pada

Protokol MQTT Menggunakan Raspberry Pi Untuk Mengamankan Data IoT”. Sistem ini

mempunyai 3 komponen yang bekerja,

publisher, subscriber, dan broker. Pada setiap

client (publisher dan subscriber) diletakkan algoritme Grain v1. Ketika subscriber

berlangganan topik, publisher akan mengirimkan data yang sesuai dengan topik yang diinginkan. Sebelum data dikirimkan, terlebih dahulu data dienkripsi dengan menggunakan keystream yang dihasilkan oleh algoritme Grain v1. Setelah data dienkripsi kemudian data tersebut dibawa menuju broker. Kemudian broker akan meneruskan data yang telah terenkripsi menuju subscriber. Pada saat data telah diterima oleh subscriber, data tersebut didekripsi terlebih dahulu dengan keystream

yang sama dari proses algoritme Grain v1 sebelum ditampilkan kepada pengguna.

2. DASAR TEORI

2.1. Internet of Things

Secara umum, Internet of Things (IoT)

(3)

sehari-hari yang sering dilengkapi dengann

kecerdasan. IoT melakukan peningkatan dengan adanya internet dengan mengintegrasikann

setiap benda/objek untuk berinteraksi melalui

embedded system, yang mengarahh ke pendistribusian data dengan cara berkomunikasi dengan manusia serta perangkat-perangkat lainnya (Xia, et al., 2012).

Arsitektur IoT dibagi menjadi 3 layer yaitu,

preception layer, network layer, dan application layer. Namun pada beberapa research terdapat 1

layer tambahan yaitu support layer. Layer

tambahan ini digunakan untuk komputasi awan, komputasi cerdas, dan komputasi fog yang posisinya terletak diantara network layer dan

application layer (Bilal, 2017). Pada application layer terdapat beberapa protokol komunikasi yang biasanya digunakan, contohnya

Constrained Application Protocol (CoAP), Representational State Transfer (REST), Advanced Message Queueing Protocol (AMQP)

dan Message Queue Telemetry Transfer Protocol (MQTT).

2.2. MQTT

Message Queue Telemetry Transport

(MQTT) adalah suatu protokol komunikasii

yang bersifat terbuka, ringan, simple, cocok untuk komunikasi real-time dengan bandwidth

rendah, dan didesain agar mudah diimplementasikan. Karakteristik seperti itu membuatnya cocok untuk digunakann dalam berbagai situasi termasuk lingkungann

komunikasi Machine to Machine (M2M) dan

Internet of Things (IoT) (Rochman, et al., 2017). Protokol MQTT ini berkonsep

publish/subscribe, yang merupakan sebuah metode pertukaran pesan secara indirect communication (tidak langsung).

Pada metode indirect communication publish/subscribe terdapat 3 aktor utama terjadinya pertukaran pesan, yaitu publisher, broker, dan subscriber. Publisher sebagai pengirim informasi dengan topik tertentu kee

broker. Subscriber berlangganan iinformasi dengan topik yang tertentu pula ke broker. Tugas

broker meneruskan informasi yang didapatnya dari publisher menuju subscriber sesuai dengan topik yang diminati. Beberapa kelebihan dari metode indirect ini yakni ketiganya tidak harus saling mengetahui keberadaan dan identitas masing-masing, publisher dan subscriber tidak harus aktif dalam waktu yang bersamaan, dan pengiriman data pada salah satu node tidak akan

mengganggu pengiriman data pada node lainnya (Rochman, et al., 2017).

Gambar 1. Skema Publish/Subscribe

Mosquitto broker merupakan satu dari beberapa broker yang ada di pasaran saat ini.

Mosquitto merupakan broker yang bersifat open source yang menerapkan protokol MQTT.

Moosquitto cocok digunakan pada perangkat IoT

karena ringan dan mempunyai proses yang rendah. Sesuai dengan namanya, Mosquitto

berperan sebagai broker. Broker bertugas untuk menyediakan alur komunikasi antara publisher

dengan subscriber (Eclipse, 2013).

Paho MQTT ialah sebuah proyek open source yang dibangun dan dikembangkan oleh

Eclipse.Paho MQTT menyediakan library untuk

MQTT client dan tersedia dalam berbagai bahasa, termasuk Python, C#, dan Java. Paho MQTT juga mendukung penggunaan level QoS

untuk pengiriman dan penerimaan pesan (Eclipse, 2013).

2.3. Algoritme Grain v1

Algoritme Grain v1 merupakan algoritme enkripsi yang dipersiapkan untuk menggantikan algoritme A5/1. Algoritme ini tergolong baru yang terpilih pada project eSTREAM (Babbage, et al., 2008). Memiliki daya yang sangat rendah, kecepatan yang sangat tinggi dengan memori serta termasuk lightweight crypto, yaitu algoritma enkripsi yang ringan. Stream cipher

ini didasarkan pada 2 shift register, satu dengan

linear feedback (LFSR) dan satu nonlinear feedback (NFSR).

Gambar 2. Grain Cipher

Gambar 2 adalah bagian uutama dari Grain yang terdirii dari sebuah LFSR, NFSR, dan filter

(h(x)). Pada Grain v1 menggunakann key 80 bit,

(4)

si,si+1,…,si+79 dan isi NFSR dinotasikan dengan

bi,bi+1,…:,bi+79.

Fungsi feedback dari LFSR f(x) yang memiliki fungsi polynomial berderajat 80. Didefinisikan sebagai:

Untuk menghapuss segala kkeambiguan yang mungkin tterjadi, Grain juga menyediakan fungsiiupdate pada LFSR sebagai berikut:

Lalu feedback polynomial dari NFSR dinotasikan sebagai g(x):

Sama seperti LFSR, NFSR juga mempunyai fungsi update yang dinotasikan dengan

𝑏𝑖 sebagai berikut:

Isi dari 2 register (NFSR dan LFSR) mewakili keadaan chiper. Dari keadaan ini, 5 variabell diambil sebagai input ke fungsi filter h(x). Fungsi h(x) didefinisikan sebagaii berikut:

Pengubah 𝑥0, 𝑥1, 𝑥2, 𝑥3, dan 𝑥44 sesuai dengan 𝑠𝑖+3, 𝑠𝑖+25, 𝑠𝑖+46, 𝑠𝑖+64, dan 𝑏𝑖+63. Fungsi filterr ini kemudian di-xor dengann bit 𝑏𝑖 dari NFSR untuk menghasilkan sebuah

keystream. 2.4. Raspberry Pi

Raspberry Pi atau sering disebut dengan Raspi, merupakan sebuah minikomputer yang dapat menjalankan program-program salah satunya IoT. System operasi yang digunakan pun dapat bermacam-macam, mulai dari Noobs, Raspbian, Ubuntu Mate, dan masih banyak

lainnya (Raspberrry, 2005). Raspberry Pi juga memiliki beberapa tipe, dari Raspberry Pi 3 Model B+, Raspberry Pi 3 Model B, Raspberry Pi 2 Model B, Raspberry Pi 1 Model B+, Raspberry Pi 1 Model A+, Raspberry Pi Zero W,

dan Raspberry Pi Zero. Berikut gambar dan spesifikasi dari Raspberry Pi seperti pada Gambar 3 dan Tabel 1:

Gambar 3. Raspberry Pi 2

(Sumber:

https://www.raspberrypi.org/products/raspberry-pi-2-model-b/)

Tabel 1. Spesifikasi Raspberry PI 2

System on Chip (SoC) Broadcom BCM2836

CPU 900 MHz Quad-core ARM

Cortex-A7

RAM 1GB LPDDR2 (900 Mhz)

Networking 10/100 Mbps Ethernet

Storage microSD

GPIO 40-pin extended GPIO

Ports HDMI, 2.5mm analogue audio-video jack, 4x USB 2.0, Ethernet, Camera Serial Interface (CSI), Display Serial Interface (DSI)

3. ANALISIS KEBUTUHAN

3. 1. Kebutuhan Fungsional

Pada penelitian ini, ada beberapa kebutuhan fungsional, yakni:

1. Sistem dapat menghasilkan keystream

sebanyak 80 bit

2. Sistem dapat memasukkan data dengan maksimal nilai binary-nya 80 bit

3. Sistem dapat mengenkripsi data yang akan dikirimkan

4. Sistem dapat mendekripsii ciphertext

yang diterimaa oleh subscriber

5. Sistem dapat mem-publishh payload

sesuai dengan topikk yang diminta oleh

(5)

6. Sistem dapat menampilkann payload

sesuaii dengan topik yang di subscribe

3.2. Kebutuhan Perangkat Keras

Penelitian ini menggunakan beberapa perangkat keras, yakni:

1. Laptop, dengan spesifikasi sebagai berikut:

- Model : Lenovo S410p

- OS : Windows 10 Pro (64 bit)

- Processor : Intel (R) Core (TM) i5-4200U

- RAM : 8 GB

- Jumlah : 1

- Fungsi : Untuk menjalankan

virtual machine

2. Raspberry PI 2 + module wifi

3.3. Kebutuhan Perangkat Lunak

Penulis menggunakan 2 perangkat llunak pada penelitian iini. Berikut beberapa perangkat lunak yang digunakan beserta spesifikasinya:

1. VirtualBox

Spesifikasi dari Virtual Machine yang digunakan sebagai berikut:

- OS : Ubuntu Server 16.04 (64 bit)

- RAM : 1 GB

- Harddisk : 8 GB

- Jumlah : 1 (dijalankan sebagai

broker)

2. Wireshark

Wireshark digunakan untuk

meng-capture paket data maupun informasi yang tersedia di jaringan

3. PyCharm

PyCharm digunakan dalam menuliskan

code berupa bahasa Python

4. PERANCANGAN DAN

IMPLEMENTASI

4.1. Perancangan Sistem

Pada tahap ini terdapat 3 aktor utama yang akan bekerja dalam sistem yakni publisher,

subscriber, dan broker. Pada client (publisher dan subscriber) akan diperankan oleh Raspberry Pi yang didalamnya diletakkan algoritme Grain v1. Seperti pada Gambar 4.

Gambar 4. Gambaran Umum Sistem

Berikut alur sistem secara menyeluruh dan terperinci, seperti yang dilihat pada Gambar 5.

Gambar 5. Alur Perancangan Sistem

Gambar 5 menjelaskan bahwa pada perancangann sistem dimulaii dengan mengkoneksikan antara publisherr dan

subscriber kee broker. Kemudiann setelah keduanya telah terhubung dengan broker barulah

subscriber me-request payload berdasarkan

topic yang sama. Lalu publisher akan meminta nilai berupa angka. Setelah nilai diinputkan, nilai tersebut akan dioperasikan dengann keystream

(6)

publisherr akan mengirimkan payloadd ke broker. Padaa paket mqtt-publish, berisi bermacam-macamm header di dalamnya, sepertiidup, qos, retain, dan payload. Payload

telahh sampai pada subscriber, payload tersebut di unpack terlebih dahulu kemudian data yang ada di dalam payload didekripsi sebelum ditampilkan kepada pengguna.

4.2. Implementasi

Pada implementasi, semua kebutuhan dan perancangan telah dilakukan. Gambar 6 dan Gambar 7 merupakan hasil dari implementasi sistem yang ditampilkan dalam Command Line Interface (CLI)

Gambar 6. Tampilan CLI publisher

Gambar 7. Tampilan CLI subscriber

Seperti pada Gambar 6, pengguna menginputkan nilai dari kedua variable terlebih dahulu sebelum data dikirimkan oleh publisher, kemudian data tersebut akan dienkripsi dengan menggunakan keystream yang dihasilkan oleh algoritme Grain v1. Setelah data dienkripsi kemudian data tersebut dibawa menuju broker. Kemudian broker akan meneruskan data yang telah terenkripsi menuju subscriber. Pada saat data telah diterima oleh subscriber, data tersebut didekripsi terlebih dahulu dengan keystream

yang sama dari proses algoritme Grain v1 sebelum ditampilkan kepada pengguna seperti yang terlihat pada Gambar 7.

5. PENGUJIAN

5.1. Pengujian Validasi Test Vector

Pada pengujian ini keystream yang dihasilkan oleh sistem akan dicocokkan dengan

test vector. Seperti pada Tabel 2.

Tabel 2. Hasil Pengujian Validasi Keystream

Algoritme Grain v1

Kombinasi Test Keystream Status

key dan iv Vector sistem

Pada Tabel 2. terlihat bahwa keystream yang dihasilkan oleh sistem sesuai dengan testvector. Ini membuktikan bahwa pengujian ini valid.

5.2. Pengujian Validasi Enkripsi dan Dekripsi

Pada pengujian validasi enkripsi dan dekripsi, misalnya sistem mempunyai 1 variabel kelembaban yang memiliki nilai 72. Nilai ini akan dienkripsi dan didekripsi dengan kedua

keystream yang dihasilkan oleh sistem.

Tabel 3. Enkripsi Plaintext Kelembaban

Plaintext

Tabel 4. Dekripsi Ciphertext Kelembaban

Ciphertext Keystream

sistem

(7)

5.3. Pengujian Fungsional

Pada pengujian fungsional bertujuan untuk memastikan sistem dapat bekerja dengan baik. Pengujian dilakukan sesuai dengan kebutuhan sistem yang telah dijelaskan pada analisis kebutuhan.

Tabel 5. Hasil Pengujian Fungsional

No Test Name Hasil Status maksimal nilai binary-nya 80 bit ciphertext yang diterima oleh subscriber sesuai dengan topik yang di subscribe

Berhasil

Pada Tabel 5 setiap pengujian yang dilakukan dari pengujian hasil keystream hingga pengujian subscribe pesan hasil yang diharapkan sesuai dengan hasil sistem. Ini membuktikan bahwa pengujian fungsional dapat dinyatakan valid.

5.4. Pengujian Sniffing

Pengujian ini dilakukan untuk memastikan data yang ditransmisikan melalui protokol MQTT telah dilakukan pengamanan sehingga data tidak dapat dibaca. Pengujian ini menggunakan Wireshark sebagai tool untuk

sniffing paket di jaringan internet.

Gambar 8. Capture Wireshark Ketika Data Tidak Dienkripsi

Gambar 9. Capture Wireshark Ketika Data Dienkripsi

Pada Gambar 8 merupakan gambar capture wireshark ketika data tidak menggunakan algoritme untuk enkripsi, sehingga data dapat dengan jelas terbaca yakni suhu dengan nilai 89 dan kelembaban dengan nilai 45. Berbeda dengan Gambar 9, data yang dikirimkan adalah

ciphertext yang telah dienkripsi dengan algoritme yakni nilai suhu 43ae dan nilai kelembaban 4fa2. Ini membuktikan bahwa dengan adanya algoritme Grain v1 pada sistem membuat data jadi lebih aman.

5.5. Pengujian Performa

Pada pengujian ini penulis menguji waktu ketika sistem memproses keystream, enkripsi dan dekripsi. Dengan 2 skenario pengujian waktu, yakni menguji waktu dengan melakukan 1024 variasi key dan iv.

Gambar 10. Rata-rata waktu keystream, enkripsi, dan dekripsi

Pada Gambar 10 merupakan rata-rata dari hasil pengujian performa waktu. Dari Gambar 8 dapat disimpulkan bahwa rata-rata sistem dapat memproses keystream dengan waktu 0.012

second, mengenkripsi data dengan waktu 0.016

second, dan dekripsi data dengan waktu 0.022

second.

6. KESIMPULAN DAN SARAN

6.1. Kesimpulan

(8)

1. Algoritme Grain v1 dapat diterapkan pada protokol MQTT dengan meletakkan algoritme Grain v1 pada setiap client (publisher dan subscriber). Nilai key dan iv

harus sesuai di setiap client agar keystream

yang dihasilkan sama. Enkripsi data terjadi pada publisher, keystream yang dihasilkan oleh sistem di-xor-kan dengan plaintext

yang telah diubah menjadi bentuk binary.

Dekripsi data terjadi di sisi subscriber, payload yang diterima dari broker terlebih dahulu di-unpack. Lalu keystream yang dibuat subscriber di-xor-kan dengan

ciphertext yang terdapat pada payload.

2. Keystream yang terbentuk oleh sistem sesuai dengan test vector algoritme Grain v1.

3. Sistem telah berhasil diimplementasikan. Waktu yang dibutuhkan sistem dalam memproses keystream dari 1024 variasi tersebut adalah sekitar 0,01246 second.

Waktu yang dibutuhkan sistem dalam mengenkripsi data dari 1024 variasi tersebut adalah sekitar 0,01627 second.

Waktu yang dibutuhkan sistem dalam mendekripsi data dari 1024 variasi tersebut adalah sekitar 0.02238 second.

6.2. Saran

Dari penelitian yang telah dilakukan, berikut merupakan saran yang penulis untuk pengembangan sistem lebih lanjut:

1. Dapat menggunakan sensor sehingga data yang dienkripsi lebih nyata.

2. Dapat memasukkan key dan iv secara otomatis.

7. DAFTAR PUSTAKA

Chandra. 2016. Kriptografi. “Keamanan Data dengan Metode Kriptografi Kunci Publik”,

pp. 11-15

Eclipse, 2013. Mosquitto. [online]. Tersedia di: <https://www.eclipse.org/proposals/techn ology.mosquitto/> [Diakses 11 Januari 2018].

Eclipse, 2013. Eclipse Paho. [online]. Tersedia di: <https://www.eclipse.org/paho/> [Diakses 11 Januari 2018].

Elkhodr, Mahmoud, Seyed Shahrestani, and Hon

Cheung. 2016. “Emerging Wireless

Technologies In The Internet Of Things: A

Comparative Study”, International

Journal of Wireless & Mobile Networks(IJWMN) Vol. 8, No. 5

Hell, Martin, Thomas Johansson, and Willi

Meier, “Grain - A Stream Cipher for Constrained Environments”, in Informations Theory, 2006 IEEE International Symposium on, July 2006, pp. 1614-1618.

HiveMQ, 2018. [online] HiveMQ. Tersedia di: < https://www.hivemq.com/blog/mqtt- security-fundamentals-payload-encryption> [Diakses 9 Januari 2018].

Muhammad, Bilal. 2017. “A Review of Internet of Things Architecture, Technologies and Analysis Smartphone-based Attacks Against 3D Printers”, Department of

Computer Science, Zhejiang University Hangzhou, China.

Nurrohmah, Ajeng, Ari Kusyanti, dan Rakhmadhany Primananda. 2018.

Implementasi Algoritme Grain V1 Dan 128 Bit Pada Arduino Mega 2560”, Jurnal

Pengembangan Teknologi Informasi dan Ilmu Komputer Vol. 2 No. 8.

Oracle, 2016. VirtualBox. [online]. Tersedia di: < https://www.virtualbox.org/> [Diakses 11 Januari 2018].

Raspberrypi, 2005. [online] Raspberrypi. Tersedia di:

<https://www.raspberrypi.org> [Diakses 19 Januari 2018].

Rochman, Hudan Abdur, Rakhmadhany Primananda, dan Heru Nurwasito. 2017.

Sistem Kendali Berbasis Mikrokontroler Menggunakan Protokol MQTT pada Smartphone”, Jurnal Pengembangan Teknologi Informasi dan Ilmu Komputer Vol. 1 No. 6.

Roman, Rodigro, Pablo Najera, Javier Lopez.

2016. “Securing the Internet of Things”,

University of Malaga

Shahid, Syahifudin, Ari Kusyanti, dan Rakhmadhany Primananda. 2018.

Implementasi Algoritme Grain V1 Dan 128 Bit Pada Raspberry PI”, Jurnal

Pengembangan Teknologi Informasi dan Ilmu Komputer Vol. 2 No. 4.

Xia, Feng, Laurence T. Yang, Lizhe Wang, and

Gambar

Gambar 1. Skema Publish/Subscribe
Tabel 1. Spesifikasi Raspberry PI 2
Gambar 4. Gambaran Umum Sistem
Gambar 7 merupakan hasil dari implementasi
+2

Referensi

Dokumen terkait

Sampai sini, kedua data siap untuk diproses. Akan tetapi, sebelum itu kita harus memasukkan data kalibrasi terlebih dahulu agar hasil yang diperoleh menjadi lebih