Implementasi Algoritme Trivium Untuk Mengamankan Data Pada Protokol MQTT Menggunakan Perangkat Raspberry Pi

  

Vol. 2, No. 12, Desember 2018, hlm. 6635-6643 http://j-ptiik.ub.ac.id

Implementasi Algoritme Trivium Untuk Mengamankan Data Pada

Protokol MQTT Menggunakan Perangkat Raspberry Pi

1 2 3 Alan Maulana Hamid , Ari Kusyanti , Adhitya Bhawiyuga

  Program Studi Teknik Informatika, Fakultas Ilmu Komputer, Universitas Brawijaya

  1

  2

  3 Email: [email protected], [email protected], [email protected]

Abstrak

  Protokol MQTT (Message Queuing Telemetry Transport) banyak diterapkan pada medium komunikasi

  

wireless pada IoT(Internet of Things). Namun, penggunaan medium wireless memiliki kekurangan yaitu

  sangat rentan terhadap penyadapan data (sniffing data). Potensi bahaya dari penyadapan atau sniffing adalah hilangnya keamanan. Sehingga, dibutuhkan sebuah mekanisme yang dapat mengamankan data, salah satunya menggunakan mekanisme kriptografi. Algoritme Trivium merupakan salah satu algoritme kriptografi enkripsi stream cipher synchronous yang digunakan untuk mengamankan data dan Trivium telah diuji dan tetapkan sebagai algoritme enkripsi stream cipher oleh ISO/IEC 29192-3:2012. Penulis menggunakan Raspberry Pi sebagai publisher dan subscriber serta virtual machine sebagai broker. akan melakukan enkripsi pada data sebelum data dan topik dikirimkan ke broker. Kemudian,

  Publisher

broker akan meneruskan data kepada subscriber yang telah berlangganan topik yang sesuai. Setelah

  data sampai pada subscriber, data akan didekripsi sehingga menjadi plaintext. Hasil pengujian dalam penelitian ini antara lain, pertama hasil pengujian keystream terhadap test vector adalah valid. Kedua pengujian validasi hasil enkripsi dan dekripsi adalah valid. Ketiga hasil pengujian sniffing data pada Wireshark, data tidak dapat dibaca oleh otoritas yang tidak berhak atas data. Keempat hasil pengujian enam fungsional sistem menunjukkan bahwa seluruh fungsional dapat berjalan dengan baik. Kelima hasil pengujian kinerja rata-rata waktu untuk menghasilkan keystream adalah 0,034886725 detik, proses enkripsi adalah 0,047045873 detik dan proses dekripsi adalah 0,053834003 detik.

  Kata kunci : MQTT, trivium, internet of things, enkripsi, dekripsi, raspberry pi

Abstract

MQTT Protocol (Message Queuing Telemetry Transport) is widely used in wireless communication

medium on IOT (Internet of Things). On the other hand, the use of wireless medium has a disadvantage.

As an example, the data are highly vurnerable to eavesdropping (sniffing data). The dangerous impact

of eavesdropping or sniffing is that the loss of security. Therefore, it is required to have a mechanism to

ensure data security. Trivium algorithm is one of the cryptographic synchronous encryption

cryptographic algorithms used to secure data and Trivium is tested well and Trivium is assigned as a

stream cipher encyption algorithms by ISO/IEC 29192-3; 2012. Raspberry Pi is used as a publisher,

subscriber and virtual machine as a broker. Publisher will encrypt the data before the data and topic

are sent to the broker. Broker will forward the data to the subscriber that is subscribed. After the data

is received by the subscriber, the data will be decrypted into plaintext. Here are the results of the study;

keystream result to the vector test is valid, validation result of encyption and decryption is valid, the

result of sniffing data of Wireshark shows that the data cannot be read by an unofficial authority, and

the result of six functional systems showed that all of the functional work well, the result of the average

time to produce keystream is that 0.034886725 seconds, encryption process is that 0.047045873 seconds

and decryption process is that 0.053834003 seconds.

  Keywords : MQTT, trivium, internet of things, encryption, decryption, raspberry pi

  di desain untuk perangkat IoT (Internet of 1.

  Things). Ada tiga komponen dalam MQTT PENDAHULUAN

  pertama yaitu publisher adalah pengirim pesan

  Message Queuing Telemetry Transport

  dan subscriber adalah penerima pesan. Broker (MQTT) merupakan protokol komunikasi yang

  Fakultas Ilmu Komputer Universitas Brawijaya

6635

  (S

  (m-n+1) bits Z

  Tabel 1. Notasi pada algoritme Trivium Notasi Fungsi

  berfungsi sebagai perantara antara publisher dan

  m,...,

  S

  n

  ) Keadaan internal state

  t

  2.1 Algoritme Trivium

  Bit yang dihasilkan berupa keystream pada waktu t

  Algoritme Trivium merupakan salah satu algoritme kriptografi enkripsi stream cipher

  (MQTT) pada IoT. Namun, penggunaan medium wireless memiliki kekurangan yaitu sangat rentan terhadap penyadapan data (sniffing data). Potensial bahaya dari penyadapan atau sniffing adalah hilangnya keamanan. Sehingga, dibutuhkan sebuah mekanisme yang dapat mengamankan data, salah satunya menggunakan mekanisme kriptografi.

  Queuing Telemetry Transport

  Medium komunikasi wireless banyak digunakan dalam penerapan protokol Message

  mengirimkan pesan kepada subscriber yang telah berlangganan topik sesuai.

  subscriber dan broker juga bertugas untuk

  Algoritme ini dibuat untuk perangkat keras yang memiliki daya komputasi rendah namun tidak mengurangi kecepatan, fleksibilitas dan keamanan dari data yang akan dienkripsi. Trivium ini dapat memiliki initial state sebanyak 288 bit dan memiliki 80 bit kunci rahasia dan 80 bit Initial Value (IV).

  • XOR

  Trivium ini dapat menjadi alternatif lain untuk merahasiakan data yang dikirimkan melalui protokol MQTT pada perangkat Raspberry Pi.

  Trivium terbentuk dari 3 Non Linear Shift

  akan diisi 0 dan bit ke 285 sampai bit ke 288 akan diisi 1.

  register ketiga pada bit ke 178 sampai bit ke 285

  Pada shift register kedua dari bit 94 sampai bit ke 174 akan diisi Initial Value (IV) dan bit ke 175 sampai bit ke 177 akan diisi 0. Pada shift

  state pada masing-masing shift register. Shift register pertama bit 1 sampai bit 80 akan diisi key dan bit ke 81 sampai bit ke 93 akan diisi 0.

  Persamaan 1 merupakan tahap pengisian nilai

  ( 188 , … , 288 ) = (0, … ,0, 285 , 1,1,1) (1)

  ) = ( , … ,0, 80 , … , IV)

  ( 94 , … , 177

  { ( 1,…, 93 ) = ( , … ,0, 80 , … , )

  NLFSR kedua terdapat (177-93) = 84 bit dan NLFSR 3 terdapat (288-178) = 111 bit.

  Register. NLFSR pertama terdapat 93 bit. Pada

  internal state Gambar 1. State Trivium Gambar 1 merupakan bentuk dari Trivium.

  subscriber dengan aman. Diharapkan algortime

  . AND (s1;s2;s3;;s288)

  synchronous

  yang dibuat oleh Christophe De Canni`ere dan Bart Preneel. Trivium telah diuji dan tetapkan sebagai algoritme enkripsi stream cipher oleh ISO/IEC 29192-3:2012. Trivium memiliki 80 bit kunci rahasia (secret key) dan 80 bit Initial Value (IV) yang dapat menghasilkan kunci (keystream) sebanyak 2

  64

  bit yang dapat digunakan untuk proses enkripsi dan dekripsi. Trivium didesain khusus untuk perangkat keras yang memiliki daya komputasi rendah namun, tidak mengurangi kecepatan, fleksibilitas dan keamanan dari data yang akan dienkripsi. (Canni`ere & Preneel, 2005).

  Pada penelitian yan dilakukan oleh (Mohanty, et al., 2016) yang berjudul “MQTT –

  Messaging Queue Telemetry Transpor t IOT based Messaging Protocol

  ” diperoleh hasil penelitian yaitu protokol MQTT memiliki waktu respon yang cepat, throughput, penggunaan sumber daya energi dan bandwith yang rendah dalam kasus jaringan yang memiliki koneksi tidak stabil (intermitten connectivity ). Kekurangan pada penelitian ini yaitu tidak ada sistem pengamanan data saat dikirimkan.

  Berdasarkan hasil penelitian yang dilakukan oleh (Mohanty, et al., 2016) tersebut memberikan ide bagi penulis untuk melakukan penelitian tentang penerapan algoritme Trivium untuk mengamankan data saat dikirimkan oleh

  publisher

  ke broker hingga sampai pada

2. DASAR TEORI.

  66

  93 =

  • 1

  2.3 Raspberry Pi

  • 3 = 243 288

  Raspberry Pi adalah mini computer yang

  • 2 = 162 177

  memiliki daya rendah. Raspberry Pi juga

  = + +

  1

  2

  3

  memungkinkan untuk menghubungkan monitor,

  1 =

  1 91 . 92 171 + + (2) keyboard , mouse dan juga televisi sehingga

  2 = + + 2 175 . 176 264 dapat terhubung ke Raspberry pi.

  69 ( 1,…, 93 ) = ( 3 , … , 93 )

  3 = 3 286 . 287 + +

  94,…, 177 1 177 ( ) = ( , … , ) ( 178,…, 288 ) = (

  2 , … , 288 ) {

  Persamaan 2 merupakan tahap untuk membuat keystream setelah diulang sebanyak 1152. Setelah mencapai perulangan ke 1153 dan seterusnya keystream (Zi) yang diperoleh dapat digunakan untuk proses enkripsi dan dekripsi.

2.2 Protokol MQTT

  Protokol MQTT (Message Queuing

  Gambar 3. Raspberry Pi 2 Model B board Telemtry Transport ) didesain oleh IBM

  merupakan sebuah protokol yang berjalan pada

  Sumber : (Kulkarni, et al., 2017)

  stack TCP/IP dan memiliki paket data yang Gambar 3 sebuah board Raspberry Pi ringan sehingga akan berpengaruh pada memiliki port USB, HDMI post, port DSI, audio penggunaan daya (Lampkin, et al., 2012).

  jack , 40 pin GPIO, bluethooth built-in.

  Protokol MQTT merupakan protokol yang Raspberry Pi memiliki sistem operasi yaitu memakai model komunikasi publish/subscribe, Raspbian, Ubuntu Mate, Pidora, dan Linutop,

  publisher adalah pengirim pesan dan subscriber

  (Kulkarni, et al., 2017). Pada Raspberry Pi juga adalah penerima pesan. Broker adalah salah satu mendukung berbagai macam bahasa komponen dalam MQTT, broker berfungsi pemrograman diantaranya C++, Python, SQL, sebagai perantara antara publisher dan Java Script, PHP dan HTSQL (Query Hyper yang telah berlangganan topik

  subscriber ).

  Text Structured tertentu.

  3. REKAYASA KEBUTUHAN SISTEM

  3.1. Kebutuhan Fungsional

  Prosedur pada pengujian ini yaitu melakukan eksekusi setiap fungsional pada program yang telah diimplementasikan, kemudian mengamati hasil dari eksekusi sistem.

  Tabel 2. Kebutuhan fungsional sistem No Fungsi Dekripsi

  1 Input nilai suhu publisher dapat Gambar 2. Sistem Protokol MQTT dan kelembapan menerima masukan

  Gambar 2 merupakan gambar sistem umum

  data suhu dan

  protokol MQTT. MQTT memiliki 3 aktor yaitu kelembapan , , . Pertama

  2 Menghasilkan Publisher dan publisher subscriber broker kesytream yang subscriber dapat subscriber akan mengirimkan pesan subscribe sesuai dengan test menghasilkan

  topik tertentu ke broker. Publisher akan

  vector kesytream yang

  mengirimkan data topik dan pesan tertentu ke

  sesuai dengan test broker . Peran broker adalah mengelola koneksi vector subscriber dan publisher selanjutnya broker

  3 Melakukan Publisher dapat

  akan mengirimkan pesan ke subscriber yang

  enkripsi data melakukan enkripsi telah berlangganan topik yang sesuai. plain text (suhu data sebelum data dan kelembapan) dikirim ke broker

  digunakan sebagai virtualisasi broker dan memiliki spesifikasi sebagai berikut :

  • System Operation: Ubuntu Server 16.04 64 bit

5 Melakukan

  • RAM : 512 MB 2.

  Python Bahasa pemrograman Python digunakan untuk mengimplementikasn algoritme Trivium pada protokol MQTT menggunakan Raspberry Pi

3.2. Kebutuhan Perangkat Keras

  4. PERANCANGAN DAN

IMPLEMENTASI SISTEM

  4.1 Perancangan Sistem

  Pada tahap perancangan ini terdapat 3 komponen utama dalam sistem ini yaitu

  publisher , subscriber dan broker. Raspberry Pi

  digunakan untuk publisher dan subscriber dan virtual machine sebagai broker.

  2. Laptop Penggunaan laptop pada sistem ini adalah untuk konfigurasi sistem Virtual Machine (VM). Spesifikasi laptop yang dipakai adalah :

  Virtual Machine (VM) pada sistem ini

  1. Raspberry Pi 2 Raspbery Pi 2 merupakan mini computer yang digunakan untuk mengenkripsi dan mendekripsi data menggunakan algoritme Trivium.

  Perangkat keras yang digunakan untuk mengimplementasikan sistem ini antara lain :

  Subcriber dapat melakukan dekripsi data suhu dan kelembapan dari publisher .

  6 Melakukan dekripsi data cipher text (suhu dan kelembapan) menjadi plain text

  subscribe topik ke broker subscriber dapat melakukan pengiriman topik ke broker

  4 Mengirim topik dan cipher text ke broker Publisher dapat melakukan pengiriman data yang telah dienkripsi ke broker

  menjadi cipher text

  Virtual Machine

  • Model laptop : Lenovo ideapad S410P
  • Processor :

  • Installed memory (RAM): 12 GB
  • System type : 64-bit 3.

  Pada penelitian ini perangkat lunak yang digunakan untuk mengimplementasikan sistem ini antara lain: 1.

  GB digunakan untuk media penyimpanan data dan operating system untuk Raspberry Pi 2

  4. Micro SD 8 GB

  sinyal wifi sehingga perangkat Raspberry Pi 2 dapat terkoneksi dengan internet.

  Wifi adapter digunakan untuk menangkap

  Wifi adapter

  Gambar 4. Diagram alir perancangan sistem

  Gambar 4 adalah alur dalam memulai perancangan, dimulai dari melakukan konfigurasi pada Raspberry Pi kemudian melakukan konfigurasi pada virtual machine. Kemudian melakukan implementasi pada algoritme Trivium pada protokol MQTT dan diterapkan pada publisher dan subscriber. Raspberry Pi bertindak sebagai publisher akan melakukan enkripsi dan mengirimkan data dan topik ke broker. Raspberry Pi juga bertindak

  1.60GHz

  Intel(R) Core(TM) i5-42000 CPU @

  Micro SD 8

3.3 Kebutuhan Perangkat Lunak

  sebagai subscriber yang mengirimkan topik ke

  broker dan juga melakukan dekripsi serta

  menampilkan hasil dekripsi. Broker akan menerima data dari publisher dan juga

  subscriber kemudian broker juga akan

  meneruskan pesan dari publisher ke subscriber yang berlangganan topik yang sesuai.

4.2 Implementasi

  Gambar 5. Gambaran sistem

  Pada pengujian dalam penelitian ini menggunakan beberapa parameter antara lain :

  Status

  Sistem Test Vector

  (IV) Keystream

  Tabel 3. Hasil pengujian test vector Kombinasi key dan initial value

  kombinasi key dan initial value akan diuji dengan kesesuaian nilai dengan test vector.

  initial value. Keystream yang dihasilkan dari

  Pada pengujian ini bertujuan untuk mengetahui hasil keystream sistem memiliki yang sesuai dengan test vector yang dibuat oleh Christophe De Canni`ere dan Bart Preneel. Prosedur pengujian ini, sistem akan meggunakan masukan masing-masing 4 sampel key dan

  4.1 Pengujian Test Vector

  5. Pengujian sniffing data menggunakan Wireshark.

  4. Pengujian kinerja waktu sistem untuk menghasilkan keystream dan waktu kinerja sistem pada saat melakukan enkripsi dan dekripsi.

  3. Pengujian fungsional sistem.

  2. Pengujian validasi hasil enkripsi dan dekripsi.

  1. Pengujian validasi antara keystream dan test vector .

  5. PENGUJIAN

  Gambar 5 adalah gambaran dari sistem yang akan diimplementasikan. Susbcriber melakukan

  bentuk desimal sehingga plain text dapat dibaca oleh subscriber.

  Plain text biner tersebut akan diubah ke dalam

  Implementasi sistem dapat digambarkan pada Gambar 5.

  value

  sama. Setelah data dalam heksa desimal diterima oleh subscriber maka data akan diubah menjadi biner dan didekripsi dengan menggunakan initial

  publisher akan diteruskan oleh broker ke subscriber yang telah berlangganan topik yang

  Pada Gambar 7. Data yang dikirim oleh

  Gambar 7. Tampilan implementasi command- line interface (CLI) pada subscriber

  Gambar 6 menunjukkan publisher mengirimkan data plaintext (suhu dan kelembapan) ke broker. Namun, data terlebih dahulu akan diubah ke dalam bentuk biner dan diproses dengan keystream yang telah dihasilkan oleh sistem menggunakan initial value dan key hingga menjadi cipher text dalam bentuk biner. Kemudian dari cipher text dalam bentuk biner tersebut selanjutnya akan diubah ke dalam bentuk heksa desimal. Data heksa desimal tersebut akan dikirimkan dengan format JSON (JavaScript Object Notation) bersama dengan topik.

  Gambar 6. Tampilan implementasi command-line interface (CLI) pada publisher

  Perangkat Raspberry Pi baik itu publisher dan subscriber akan melakukan proses untuk menghasilkan keystream yang akan digunakan untuk melakukan proses enkripsi oleh publisher dan dekripsi oleh subscriber.

  terlebih dahulu melakukan enkripsi data pesan sebelum dikirimkan bersama topik ke broker. Selanjutnya, broker akan meneruskan data kepada subscriber yang telah berlangganan topik yang sesuai. Setelah data sampai pada subscriber data akan didekripsi sehingga menjadi plaintext oleh subscriber.

  subscribe topik ke broker. Publisher akan

  dan key yang sama pada saat proses enkripsi sehingga menghasilkan plain text biner.

  Key : 0x80000000 0000000000

BC1DC43117

  Plain text Status 0x38EB86F F730D7A9 CAF8DF13 A4420540D

  43EE8E125 ACAF79D9

  5 Valid 0xC8F9031D ABF8DB03F F120D05512 B5F24

  0x31369261 4708381611 1961166797 9924668416

  0x1F06031 DABF8DB0 300EDF2F A512B5F24

  Valid 0xF7E523040

  2BE705BFC6 259 0x31369261 4708381611 1961166797 9924668416

  0x201A230

  40E86EA2C B95D418F5 BFC6259 Valid

  Tabel 4 pada kolom cipher text merupakan proses enkripsi antara keystream pada kolom

  keystream sistem dengan plain text sehingga menjadi data cipher text.

  Tabel 5. Validasi hasil dekripsi Keystream

  Sistem Cipher text

  40D 0x3136926 147083816 111961166 797992466 84160

  0xEF1486 FF730D7 A9C50720 EC544205

  00 IV : 0x00000000 0000000000

  Valid 0x61208D2

  86BC1DC4 31171EDA5 CAF79D95 0xB6DF8 D286BC1 DC43EE8 E125ACA F79D95

  0x3136926 147083816 111961166 797992466

  84160 Valid 0xC8F9031 DABF8DB0

  3FF120D05 512B5F24 0x1F0603

  1DABF8D B0300ED F2FA512 B5F24 0x3136926 147083816 111961166 797992466

  84160 Valid 0xF7E5230

  40E86EA2C

  46A2BE705 BFC6259 0x201A23 040E86E A2CB95D 418F5BF C6259

  0x3136926 147083816 111961166 797992466

  84160 Valid

  Tabel 5 pada kolom plain text merupakan hasil dari proses dekripsi antara nilai pada kolom keystream sistem dengan cipher text sehingga menghasilkan nilai plain text kembali. Dari hasil yang diperoleh menunjukkan bahwa seluruh proses dekripsi pada kolom plain text pada Tabel 5 dengan kolom plain text pada Tabel 4 memiliki nilai yang sama (valid).

  286BC1DC

  9D95 0x31369261 4708381611 1961166797 9924668416 0xB6DF8D

  1EDA5CAF7

  4420540D 0x61208D286

  0540D 1961166797 9924668416 C50720EC5

  00 0x38EB86F F730D7A9 CAF8DF13 A4420540D

  0x38EB86 FF730D7 A9CAF8D F13A4420 540 Valid

  Key : 0x00400000 0000000000

  00 IV : 0x00000000 0000000000

  86BC1DC4 31171EDA5 CAF79D95 0x61208D 286BC1D C431171E DA5CAF7

  9D95 Valid Key : 0x00002000 0000000000

E86EA2C46A

DABF8DB0

  kolom tersebut adalah nilai heksa desimal. Pada kolom key dan initial value akan diproses oleh sistem menjadi biner dan menghasilkan

  00 IV : 0x00000000 0000000000

  0xEF1486F F730D7A9 Valid F8DF13A442

  0x38EB86FF 730D7A9CA 0x31369261 4708381611

  Sistem Plain text Cipher text Status

  Tabel 4. Validasi hasil enkripsi Keystream

  00 0x61208D2

  Pada pengujian validasi enkripsi dan dekripsi ini merupakan pengujian untuk mengetahui kesamaan antara data sebelum dienkripsi dengan data seteleh didekripsi.

  menjadi heksa desimal. Hasil antara test vector dan keystream dari sistem memiliki nilai yang sama atau valid.

  00 0xC8F9031

  keystream, test vector dan status. Masing-masing

  3FF120D05 512B5F24 0xC8F903

  1DABF8D B03FF120 D05512B5 F24 Valid

  Key : 0x00000010 0000000000

  00 IV: 0x00000000 0000000000

  keystream biner, kemudian diubah kembali

  40E86EA2C

  46A2BE705 BFC6259 0xF7E523 040E86EA

  2C46A2B E705BFC6 259 Valid

  Tabel 3 Terdapat kolom key dan initial value,

  00 0xF7E5230

4.2. Pengujian Validasi Enkripsi dan Dekripsi

4.3 Pengujian Fungsional Sistem

  Prosedur pada pengujian ini yaitu melakukan eksekusi setiap fungsional pada program yang telah diimplementasikan, kemudian mengamati hasil dari eksekusi sistem.

  Gambar 10. Sniffing data tanpa dienkripsi pada Wireshark Gambar 11. Sniffing data enkripsi pada Wireshark 0,034887651 0,047046

  Terdapat 2 prosedur pengujian ketika data akan dikirim ke broker. Pertama publisher melakukan pengiriman dengan data tidak dienkripsi. Kedua adalah melakukan pengiriman data namun data di enkripsi. Setiap prosedur pengujian tersebut akan dilihat bentuk data yang dikirim ke broker pada aplikasi Wireshark.

  publisher tidak dapat dibaca oleh individu lain yang tidak memiliki otoritas terhadap data.

  Tujuan pengujian ini adalah untuk mengetahui apakah data yang dikirim oleh

  4.5 Pengujian Sniffing Data Pada Wireshark

  enkripsi adalah 0,047045873 detik dan proses dekripsi adalah 0,053834003 detik.

  keystream adalah 0,034886725 detik. Proses

  Gambar 8 merupakan hasil pengujian kinerja waktu proses inisialisasi keystream, enkripsi dan dekripsi yang diperoleh dari 1024 sample pengujian initial value dan key dan panjang data plain text 128 bit. Berdasarkan hasil pengujian tersebut rata-rata waktu untuk melakukan proses untuk menghasilkan

  Gambar 8. Grafik rata – rata waktu proses keystream, enkripsi dan dekripsi

  Wa k tu (d e tik ) R A T A - R A T A W A K T U

  Tabel 6. Fungsional sistem No Fungsi Result Status

  Berhasil

  86 0,02 0,04 0,06 Keystream Enkripsi Dekripsi

  6 Melakukan dekripsi data cipher text (suhu dan kelembapan) menjadi plain text Subcriber dapat melakukan dekripsi data suhu dan kelembapan dari publisher.

  Berhasil

  5 Melakukan subscribe topik ke broker subscriber dapat melakukan pengiriman topik ke broker

  Berhasil

  Publisher dapat melakukan pengiriman data yang telah dienkripsi ke broker

  4 Mengirim topik dan cipher text ke broker

  Publisher dapat melakukan enkripsi data sebelum data dikirim ke broker Berhasil

  3 Melakukan enkripsi data plain text (suhu dan kelembapan) menjadi cipher text

  Berhasil

  2 Menghasilkan kesytream yang sesuai dengan test vector Publisher dan subscriber dapat menghasilkan kesytream yang sesuai dengan test vector

  Berhasil

  1 Masukan nilai suhu dan kelembapan publisher dapat melakukan input data suhu dan kelembapan

  92 0,053833

4.4 Pengujian Kinerja Waktu Enkripsi Dan Dekripsi

  dan kinerja waktu sistem untuk proses enkripsi dan dekripsi.

  Pada pengujian kinerja waktu sistem akan dibuat beberapa pengujian yaitu pengujian kinerja waktu sistem untuk proses menghasilkan

  keystream

  Tersedia di < archives/V3/i9/IRJE T-V3I9254.pdf > [di akses pada 6 Maret 2018]

  Lampkin, Valerie., Leong, Weng Tat., Olivera, Leonardo., Rawat , Sweta, Subrahmanyam & Nagesh; Xiang, Rong.

  Islam & Haq, 2016. Authenticated Mode of

  Trivium . [Pdf]. Tersedia di: <

  ieeexplore.ieee.org/document/7429904/ > [diakses pada 12 Februari 2018]

  Kulkarni, B.P, Joshi, Aniket V, Jadhav, Vaibhav V, Dhamange & Akshaykumar T, 2017.

  IoT Based Home Automation Using Raspberry PI . [Pdf]. Tersedia di : <

  ijisset.org/wp-content/uploads/2017/04/

  IJISSET-030406.pdf> [Di akses pada 7 Februari 2018]

  2012. Building Smarter Planet Solutions

  Canni`ere & Preneel, 2005. Trivium

  with MQTT and IBM WebSphere MQ Telemetry

  . New York:IBM Corp. Mattern & Floerkemeier, 2010. From the

  Internet of Computers to the Internet of Things

  . ETH Zurich: Institute for Pervasive Computing

  Menezes, Alfred J., Oorschot, Paul C. Van, Vanstone & Scott A.1996. A Graduate

  Course in Applied Cryptography . Version

  0.4.Stanford:England Mohanty, Suvam, Sharma, Sagar & Vishal,

  Vaibhav. 2016)., 2016. MQTT

  Spesification . Belgium: Heverlee.

  Tersedia di < ieeexplore.ieee.org/iel5/9276/29460/0133 5427.pdf > [diakses pada tanggal 1 agustus 2018]

  Gambar 10 dan Gambar 11 adalah hasil data komunikasi antara publisher dan broker sebelum dienkripsi menggunakan aplikasi Wireshark dengan melakukan filter protokol MQTT. Data yang dikirim adalah data desimal 30, 80. Hasil pada Gambar 10 data yang ditangkap pada aplikasi Wireshark : suhu:”30” ,kelembapan:”80”. Sedangkan pada Gambar 11 adalah data yang ditangkap pada aplikasi Wireshark : suhu:”1d” , kelembapan:”5e”. Sehingga dengan menggunakan algoritme Trivium data tidak dapat dibaca oleh pihak lain yang tidak memiliki hak atas data.

  test vector yang berarti bahwa hasil keystream yang dihasilkan oleh sistem valid.

  6. KESIMPULAN

  Kesimpulan dalam penelitian ini adalah sebagai berikut:

  1. Algoritme Trivium berhasil diimplementasikan pada protokol MQTT menggunakan perangkat Raspberry Pi dengan cara, menerapkan algoritme Trivium pada Raspbery Pi (publisher) untuk proses enkripsi data sebelum data dikirimkan ke

  broker dan menerapkan algoritme Trivium

  pada Raspberry PI (subscriber) untuk proses dekripsi data. Pada proses enkripsi dan dekripsi menggunakan kunci (key dan initial

  value ) yang sama.

  2. Algoritme Trivium pada protokol MQTT menggunakan Raspberry Pi dapat menghasilkan keystream yang sesuai dengan

  3. Berdasarkan hasil kinerja proses untuk menghasilkan keystream, enkripsi dan dekripsi pada plain text 128 bit menggunakan 1024 bit sample initial value dan key membutuhkan rata-rata waktu 0,034886725 detik untuk proses menghasilkan keystream, untuk proses enkripsi membutuhkan waktu 0,047045873 detik dan proses dekripsi membutuhkan waktu 0,053834003 detik.

  Burt , Kaliski., Terry S., Arnold, Schla., Robert , Markowitz., Michael & Yin, Yiquin Lisa.2000. IEEE Standard Specifications for Public-Key Cryptography . [pdf].

  Berikut adalah beberapa saran untuk penelitian selanjutnya antara lain;

  1. Pada penelitian ini hanya menggunakan data dummy sehingga untuk penelitian selanjutnya dapat menggunakan data asli data yang diperoleh dari sensor.

  2. Pada proses pertukaran key dan IV masih dilakukan secara manual sehingga untuk penelitian selanjutnya dapat dipadukan menggunakan algoritme lain sehingga

  publisher dan subscriber dapat saling bertukar kunci secara otomatis.

  3. Pada penelitian ini hanya mengamankan data pada bagian payload, sehingga untuk penelitian selanjutnya dapat juga mengamankan seperti topik atau Quality of

  Services (QoS).

  7. DAFTAR PUSTAKA

  Buchanan,B., 2014. Trivium. [Online]. Tersedia dincryption/tr ivium> [diakses pada tanggal 24 april 2018]

  • Messaging Queue Telemetry Transport IOT based Messaging Protocol. [pdf].
Ramdhansya, Adimas Fiqri, Ariyanto, Endro & Nuha, Hilal Hudan.2014. Implementasi

  Advanced Encryption Standard (AES) Pada Sistem Kunci Elektronik Kendaraan Berbasis Sistem Operasi Android Dan

  . Seminar

  Mikrokontroler Arduino

  Nasional Informatika 2014 (semnasIF 2014). Teknik Informatika : Universitas Telkom

  Rochman, Rakhmadhany & Heru., 2017. Sistem

  Kendali Berbasis Mikrokontroler Menggunakan Protokol MQTT pada smarthome . FILKOM : Universitas

  Brawijaya Sei, Sun, zewu, Wang, Kun, Zhao, Ruichen, Sun

  & Shuai, Li .2018. Research and Design

  of Cryptography Cloud Framework. the 3rd IEEE International Conference on Cloud Computing and Big Data Analysis .

  Zhengzhou, China Togan, mihai., feraru, alin, popescu & andrian

  2017. Virtual Machine for Encrypted

  • Code Execution . ECAI 2017 International Conference – 9th Edition.

  ROMÂNIA: Targoviste