Implementasi Algoritme Grain V1 Pada Protokol MQTT Menggunakan Raspberry Pi Untuk Mengamankan Data IoT
Vol. 2, No. 12, Desember 2018, hlm. 6542-6549 http://j-ptiik.ub.ac.id
Implementasi Algoritme Grain V1 Pada Protokol MQTT Menggunakan
IoT Raspberry Pi Untuk Mengamankan Data 1 2 3 Iskar Maulana , Ari Kusyanti , Adhitya Bhawiyuga
Program Studi Teknik Informatika, Fakultas Ilmu Komputer, Universitas Brawijaya 1 2 3 Email: [email protected], [email protected], [email protected]
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.Keywords: cryptography, Grain v1 algorithm, Internet of Things, Raspberry Pi, MQTT Fakultas Ilmu Komputer Universitas Brawijaya
6542
Internet of Things (IoT) merupakan salah
Stream Cipher for Constrain Environment ”
Secara umum, Internet of Things (IoT) mengacu pada a interkoneksi jaringan objek
2.1. Internet of Things
2. DASAR TEORI
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.
publisher, subscriber , dan broker. Pada setiap client (publisher dan subscriber) diletakkan
”. Sistem ini mempunyai 3 komponen yang bekerja,
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
” menjelaskan bahwa algoritme Grain v1 dapat diterapkan pada hardware, tetapi pada penelitian tersebut hardware digunakan untuk menghasilkan keystream saja (Nurrohmah, et al., 2018).
Grain v1 dan 128 bit Pada Arduino Mega 2560
” 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
Kendali Berbasis Mikrokontroler Menggunakan Protokol MQTT pada Smartphone
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
Ada beberapa penelitian mengenai yang berkaitan dengan penelitian yang akan dilakukan oleh penulis. Penelitian berjudul “Grain – A
1. PENDAHULUAN
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,
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).
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).
wireless sangat rentan terhadap pencurian dan
Protokol MQTT secara default tidak memiliki keamanan dan IoT pada umumnya menggunakan media wireless sebagai media pertukaran data. Sedangkan penggunaan
digunakan dalam banyak situasi termasuk lingkungan yang terbatas sumber daya (Rochman, et al., 2017).
lightweight , terbuka, sederhana, dan dapat
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
subscriber dan broker. Pengirim data pada
bekerja dalam metode ini, yaitu publisher,
publish /subscribe. Terdapat 3 aktor utama yang
Salah satu protokol yang sering dipakai dalam komunikasi antar perangkat IoT adalah protokol MQTT. Pola komunikasi pertukaran pesan pada protokol ini menggunakan
), dan jaringan internet. Semua komponen tersebut saling terhubung untuk berkomunikasi dan melakukan pertukaran data (Xia, et al., 2012).
Arduino sehari-hari yang sering dilengkapi dengan n kecerdasan. IoT melakukan peningkatan dengan adanya internet dengan mengintegrasikan n setiap benda/objek untuk berinteraksi melalui
embedded system, yang mengarahh ke
Constrained Application Protocol (CoAP), Representational State Transfer (REST), Advanced Message Queueing Protocol (AMQP)
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).
dan Message Queue Telemetry Transfer Protocol (MQTT).
yang biasanya digunakan, contohnya
pendistribusian data dengan cara berkomunikasi dengan manusia serta perangkat-perangkat lainnya (Xia, et al., 2012).
layer terdapat beberapa protokol komunikasi
(Bilal, 2017). Pada application
application layer
tambahan ini digunakan untuk komputasi awan, komputasi cerdas, dan komputasi fog yang posisinya terletak diantara network layer dan
preception layer, network layer, dan application layer. Namun pada beberapa research terdapat 1 layer tambahan yaitu support layer. Layer
Arsitektur IoT dibagi menjadi 3 layer yaitu,
(Rochman, et al., 2017).
2.2. MQTT
publish/subscribe terdapat 3 aktor utama s i ,s i+1 i+79
Internet of Things (IoT) (Rochman, et al., 2017).
Gambar 2 adalah bagian u utama dari Grain yang terdiri i dari sebuah LFSR, NFSR, dan filter (h(x)). Pada Grain v1 menggunakan n key 80 bit, initial value (IV) 64, , dan internal state 160 bit t . Pada Grain, isi dari LFSR dinotasikan sebagai
Gambar 2. Grain Cipher
linear feedback (LFSR) dan satu nonlinear feedback (NFSR) .
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
2.3. Algoritme Grain v1
Message Queue Telemetry Transport
(MQTT) adalah suatu protokol komunikasi i yang bersifat terbuka, ringan, simple, cocok untuk komunikasi real-time dengan bandwidth rendah, dan didesain agar mudah diimplementasikan. Karakteristik seperti itu membuatnya cocok untuk digunakan n dalam berbagai situasi termasuk lingkungan n komunikasi Machine to Machine (M2M) dan
Protokol MQTT ini berkonsep
Pada metode indirect communication
publish/subscribe , yang merupakan sebuah
metode pertukaran pesan secara indirect communication (tidak langsung).
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
broker meneruskan informasi yang didapatnya
dengan topik yang tertentu pula ke broker. Tugas
broker. Subscriber berlangganan i informasi
pengirim informasi dengan topik tertentu ke e
broker, dan subscriber. Publisher sebagai
terjadinya pertukaran pesan, yaitu publisher,
dan isi NFSR dinotasikan dengan lainnya (Raspberrry, 2005). Raspberry Pi juga
,…,s
b i ,b i+1 i+79 . memiliki beberapa tipe, dari Raspberry Pi 3
,…:,bModel B+, Raspberry Pi 3 Model B, Raspberry
Fungsi feedback dari LFSR f(x) yang
Pi 2 Model B, Raspberry Pi 1 Model B+, memiliki fungsi polynomial berderajat 80. Raspberry Pi 1 Model A+, Raspberry Pi Zero W,
Didefinisikan sebagai: dan Raspberry Pi Zero. Berikut gambar dan spesifikasi dari Raspberry Pi seperti pada Gambar 3 dan Tabel 1:
Untuk menghapus s segala k keambiguan yang mungkin t terjadi, Grain juga menyediakan fungsi i update pada LFSR sebagai berikut:
Lalu feedback polynomial dari NFSR dinotasikan sebagai g(x):
Gambar 3. Raspberry Pi 2 (Sumber: https://www.raspberrypi.org/products/raspberry-pi- 2-model-b/)
Tabel 1. Spesifikasi Raspberry PI 2
Sama seperti LFSR, NFSR juga mempunyai fungsi update yang dinotasikan dengan
System on Chip (SoC) Broadcom BCM2836
sebagai berikut:
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
Isi dari 2 register (NFSR dan LFSR)
2.0, Ethernet, Camera
mewakili keadaan chiper. Dari keadaan ini, 5
Serial Interface (CSI),
variabel l diambil sebagai input ke fungsi filter
Display Serial Interface h(x). Fungsi h(x) didefinisikan sebagai i berikut: (DSI) 3.
ANALISIS KEBUTUHAN 3. 1. Kebutuhan Fungsional
Pada penelitian ini, ada beberapa kebutuhan fungsional, yakni: Pengubah , , , , dan sesuai 1.
Sistem dapat menghasilkan keystream
1
2
3
4
4 dengan , , , , dan .
sebanyak 80 bit
- 3 +25 +46 +64 +63
Fungsi filter r ini kemudian di-xor dengan n bit 2.
Sistem dapat memasukkan data dengan dari NFSR untuk menghasilkan sebuah maksimal nilai binary-nya 80 bit keystream.
2.4. Raspberry Pi
3. Sistem dapat mengenkripsi data yang
akan dikirimkan
Raspberry Pi atau sering disebut dengan
4. i ciphertext Sistem dapat mendekripsi
Raspi, merupakan sebuah minikomputer yang yang diterima a oleh subscriber dapat menjalankan program-program salah satunya IoT. System operasi yang digunakan pun
5. h payload Sistem dapat mem-publish dapat bermacam-macam, mulai dari Noobs, sesuai dengan topik k yang diminta oleh
Raspbian, Ubuntu Mate, dan masih banyak subscriber r
6. Sistem dapat menampilkan
Pi yang didalamnya diletakkan algoritme Grain v1. Seperti pada Gambar 4.
- Model : Lenovo S410p
- Processor : Intel (R) Core (TM) i5-
- RAM
- Jumlah : 1
- Fungsi : Untuk menjalankan
- OS
- RAM
- Harddisk : 8 GB
- Jumlah : 1 (dijalankan sebagai
yang tersedia di jaringan 3. PyCharm
PyCharm digunakan dalam menuliskan code berupa bahasa Python
IMPLEMENTASI
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
- OS
Gambar 5. Alur Perancangan Sistem
Gambar 4. Gambaran Umum Sistem
Berikut alur sistem secara menyeluruh dan terperinci, seperti yang dilihat pada Gambar 5.
Gambar 5 menjelaskan bahwa pada perancangan n sistem dimulai i dengan mengkoneksikan antara publisher r dan
subscriber ke e broker. Kemudian n 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 dengan n keystream yang terbentuk k dari algoritme Grain v1. Setelah hasil dari operasi angka dan keystream maka
Wireshark digunakan untuk meng- capture paket data maupun informasi
broker ) 2.
Wireshark
bit)
n payload
sesuai i dengan topik yang di subscribe
3.2. Kebutuhan Perangkat Keras
Penelitian ini menggunakan beberapa perangkat keras, yakni:
1. Laptop, dengan spesifikasi sebagai berikut:
: Windows 10 Pro (64
4200U
: 1 GB
: 8 GB
virtual machine 2. Raspberry PI 2 + module wifi
3.3. Kebutuhan Perangkat Lunak
Penulis menggunakan 2 perangkat l lunak pada penelitian i ini. Berikut beberapa perangkat lunak yang digunakan beserta spesifikasinya: 1.
VirtualBox Spesifikasi dari Virtual Machine yang digunakan sebagai berikut:
: Ubuntu Server 16.04
(64 bit)
4. PERANCANGAN DAN
4.1. Perancangan Sistem
key dan iv Vector sistem publisher r akan mengirimkan payload d ke
Key : 0x7B978 0x7B978 Valid
broker. Pada a paket mqtt-publish, berisi
0x0000000000 CF368 CF368
bermacam-macam m header di dalamnya,
0000000000
46E5F
46E5F
seperti i dup, qos, retain, dan payload. Payload
IV :
4EE0B
4EE0B
yang di dalamnya terdapat data a yang telah 0x00000000
00000000
dienkripsi dan ter-packing kemudian akan
Key : 0x42B56 0x42B56 Valid dikirimkan n oleh publisher r ke subscriber.
0x0123456789
7CCC6
7CCC6 ABCDEF1234 53176 53176
Setelah itu, b broker akan meneruskan
IV : 80225 80225
kepada a subscriber yang meminta 0x0123456789
payload ABCDEF
dengan topic yang g sesuai. Pada saat t payload Pada Tabel 2. terlihat bahwa keystream yang telah h sampai pada subscriber, payload tersebut dihasilkan oleh sistem sesuai dengan test vector. di unpack terlebih dahulu kemudian data yang Ini membuktikan bahwa pengujian ini valid. ada di dalam payload didekripsi sebelum ditampilkan kepada pengguna.
5.2. Pengujian Validasi Enkripsi dan Dekripsi
Pada pengujian validasi enkripsi dan
4.2. Implementasi
dekripsi, misalnya sistem mempunyai 1 variabel Pada implementasi, semua kebutuhan dan kelembaban yang memiliki nilai 72. Nilai ini perancangan telah dilakukan. Gambar 6 dan akan dienkripsi dan didekripsi dengan kedua Gambar 7 merupakan hasil dari implementasi keystream yang dihasilkan oleh sistem. sistem yang ditampilkan dalam Command Line
Interface (CLI) Tabel 3. Enkripsi Plaintext Kelembaban
Plaintext Keystream Ciphertext Status Kelembaban sistem 72 0x7B978
4CA5 Valid CF368
46E5F Gambar 6. Tampilan CLI publisher
4EE0B 72 0x42B56 7587 Valid
7CCC6 53176 80225 Gambar 7. Tampilan CLI subscriber
Seperti pada Gambar 6, pengguna
Tabel 4. Dekripsi Ciphertext Kelembaban
menginputkan nilai dari kedua variable terlebih
Keystream Plaintext Ciphertext Status
dahulu sebelum data dikirimkan oleh publisher,
sistem Kelembaban
kemudian data tersebut akan dienkripsi dengan
4CA5 0x7B978
72 Valid
menggunakan keystream yang dihasilkan oleh
CF368
algoritme Grain v1. Setelah data dienkripsi
46E5F
4EE0B kemudian data tersebut dibawa menuju broker. 7587 0x42B56
72 Valid
Kemudian broker akan meneruskan data yang
7CCC6
telah terenkripsi menuju subscriber. Pada saat
53176
data telah diterima oleh subscriber, data tersebut
80225
didekripsi terlebih dahulu dengan keystream Pada Tabel 3 terlihat bahwa plaintext yang sama dari proses algoritme Grain v1 kelembaban telah terenkripsi, kemudian pada sebelum ditampilkan kepada pengguna seperti Tabel 4 ciphertext kelembaban telah didekripsi yang terlihat pada Gambar 7. dengan menghasilkan nilai plaintext yang sama ketika nilai suhu belum dienkripsi. Ini
5. PENGUJIAN menandakan bahwa pengujian dikatakan valid.
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
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 Gambar 9. Capture Wireshark Ketika Data No Test Name Hasil Status
Dienkripsi
Pada Gambar 8 merupakan gambar capture
1 Pengujian Sistem dapat Berhasil
wireshark ketika data tidak menggunakan
hasil menghasilkan keystream
algoritme untuk enkripsi, sehingga data dapat
keystream sebanyak 80 bit
dengan jelas terbaca yakni suhu dengan nilai 89 dan kelembaban dengan nilai 45. Berbeda
2 Pengujian Sistem dapat Berhasil
dengan Gambar 9, data yang dikirimkan adalah
input nilai memasukkan data dengan maksimal nilai binary- ciphertext yang telah dienkripsi dengan nya 80 bit
algoritme yakni nilai suhu 43ae dan nilai kelembaban 4fa2. Ini membuktikan bahwa
3 Pengujian Sistem dapat Berhasil enkripsi mengenkripsi data
dengan adanya algoritme Grain v1 pada sistem membuat data jadi lebih aman.
4 Pengujian Sistem dapat mendekripsi Berhasil dekripsi ciphertext yang diterima oleh subscriber
5.5. Pengujian Performa
Pada pengujian ini penulis menguji waktu
5 Pengujian Sistem dapat mem- Berhasil publish publish payload sesuai ketika sistem memproses keystream, enkripsi pesan dengan topik yang
dan dekripsi. Dengan 2 skenario pengujian
diminta oleh subscriber
waktu, yakni menguji waktu dengan melakukan
6 Pengujian Sistem dapat Berhasil 1024 variasi key dan iv. subscribe menampilkan payload pesan sesuai dengan topik yang di subscribe
Rata-rata Waktu 0,022381 195
Pada Tabel 5 setiap pengujian yang 0,025
) 0,016272 d
dilakukan dari pengujian hasil keystream hingga n
0,02 0,012458 952 o c
pengujian subscribe pesan hasil yang diharapkan 703
e 0,015 s (
sesuai dengan hasil sistem. Ini membuktikan
0,01 u
bahwa pengujian fungsional dapat dinyatakan
kt 0,005 valid.
Wa keystream enkripsi dekripsi
5.4. Pengujian Sniffing
Pengujian ini dilakukan untuk memastikan Gambar 10. Rata-rata waktu keystream, data yang ditransmisikan melalui protokol enkripsi, dan dekripsi MQTT telah dilakukan pengamanan sehingga Pada Gambar 10 merupakan rata-rata dari hasil pengujian performa waktu. Dari Gambar 8 data tidak dapat dibaca. Pengujian ini menggunakan Wireshark sebagai tool untuk dapat disimpulkan bahwa rata-rata sistem dapat
sniffing paket di jaringan internet. 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
Dari hasil penelitian yang telah dilakukan penulis, berikut merupakan kesimpulan yang
Gambar 8. Capture Wireshark Ketika Data
didapat:
Tidak Dienkripsi
1. Algoritme Grain v1 dapat diterapkan pada protokol MQTT dengan meletakkan algoritme Grain v1 pada setiap client
Rochman, Hudan Abdur, Rakhmadhany Primananda, dan Heru Nurwasito. 2017.
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: pberrypi.org> [Diakses 19 Januari 2018].
“Sistem Kendali Berbasis Mikrokontroler
(publisher dan subscriber). Nilai key dan iv
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 Alexey Vinel. 2012. “Internet of Things”,
International Journal of Communication System. 25:1101-1102.
[Diakses 9 Januari 2018].
pp. 1614-1618. HiveMQ, 2018. [online] HiveMQ. Tersedia di:
IEEE International Symposium on, July 2006,
Informations Theory , 2006
”, in
Constrained Environments
Hell, Martin, Thomas Johansson, and Willi Meier, “Grain - A Stream Cipher for
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
7. DAFTAR PUSTAKA
2. Dapat memasukkan key dan iv secara otomatis.
Dapat menggunakan sensor sehingga data yang dienkripsi lebih nyata.
Dari penelitian yang telah dilakukan, berikut merupakan saran yang penulis untuk pengembangan sistem lebih lanjut: 1.
dengan Metode Kriptografi Kunci Publik
”, pp. 11-15 Eclipse, 2013. Mosquitto. [online]. Tersedia di:
Diakses 11 Januari 2018].
Eclipse, 2013. Eclipse Paho. [online]. Tersedia di: [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
Chandra. 2016. Kriptografi. “Keamanan Data