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 BhawiyugaProgram 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 communicationmedium 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].
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