Jurnal Teknik Informatika dan Sistem Informasi ISSN 2407-4322
Vol. 10, No. 2, Juni 2023, Hal. 81-93 E- ISSN 2503-2933 81
st th
Implementasi Algoritme Salsa20 Untuk Mengamankan Data GPS Menggunakan Perangkat Raspberry Pi 3
Rapli Maulana Aji*1, Ari Kusyanti2, Fariz Andri Bakhtiar3
1,2Universitas Brawijaya; Jl. Veteran Malang, 65145, telp/fax (0341) 551611
1,3Departemen Teknik Informatika, FILKOM UB, Malang
e-mail: *1[email protected], 2[email protected], 3[email protected]
Abstrak
Pertukaran data yang dilakukan pada konektivitas internet sangat rentan terhadap penyadapan. Misalnya pada sistem pelacakan lokasi kendaraan untuk mengetahui posisi kendaraan secara real time. Informasi dari lokasi GPS yang dikirimkan dapat digunakan oleh penjahat untuk melakukan berbagai macam kejahatan seperti penguntitan, perampokan, pencurian hingga penculikan. Algoritme Salsa20 merupakan algoritme kriptografi yang dapat digunakan untuk melakukan enkripsi dan dekripsi pesan. Algoritme Salsa20 dapat mengamankan data tanpa menggunakan banyak alokasi memori sehingga cocok untuk diterapkan pada perangkat IoT yang memiliki keterbatasan sumber daya. Pada penelitian ini algoritme Salsa20 diimplementasikan pada Raspberry Pi 3 untuk mengamankan data GPS.
Raspbery Pi 3 yang berperan sebagai publisher mengirimkan data terenkripsi ke broker online HiveMQ untuk kemudian dilanjutkan proses pengiriman kepada subscriber. Ketika subscriber sudah menerima data, proses dekripsi dilakukan untuk mengembalikan pesan terenkripsi menjadi pesan yang dapat dibaca. Hasil pengujian serangan sniffing menunjukan bahwa data yang diterima hanyalah berupa data ciphertext sehingga tidak dapat dibaca oleh orang lain yang tidak memiliki izin akses. Kemudian pada pengujian serangan ciphertext-only attack, sistem memaksa untuk mendapatkan plaintext dengan memasukan nilai key dan nonce secara brute force, tetapi serangan tersebut gagal dan plaintext-nya tidak berhasil didapatkan.
Kata kunci— IoT, kriptografi, GPS, Raspberry Pi 3, MQTT, Salsa20
Abstract
Data exchange carried out on internet connectivity is vulnerable to eavesdropping. For example, in a vehicle location tracking system to find out the vehicle's position in real time.
Information from GPS location that is sent can be used by criminals to commit various crimes such as stalking, robbery, theft and kidnapping. Salsa20 algorithm is a cryptographic algorithm that can be used to encrypt and decrypt messages. Salsa20 algorithm can secure data without using a lot of memory allocation, making it suitable to be applied to IoT devices that have limited resources. In this study, Salsa20 algorithm will be implemented on Raspberry Pi 3 for securing GPS data. Raspbery Pi 3 as a publisher sends an encrypted data to the online broker HiveMQ, then continue delivery to subscribers. When subscriber has received data, the encrypted message will be decrypted into a readable message. Test results of sniffing attacks show that data is received only in the form of ciphertext that cannot be read by other people who do not have permission. Then in ciphertext-only attack test, the system forces to get plaintext by entering key and nonce values by brute force, but the attack fails and plaintext cannot be obtained.
Keywords— IoT, Cryptography, GPS, Raspberry Pi 3, MQTT, Salsa20
82 Jatisi ISSN 2407-4322 Vol. 10, No. 2, Juni 2023, Hal. 81-93 E-ISSN 2503-2933
Rapli, et., al [Implementasi Algoritme Salsa20 Untuk Mengamankan Data GPS Menggunakan Perangkat Raspberry Pi 3]
1. PENDAHULUAN
Teknolog Teknologi Internet of Things dapat memudahkan manusia untuk melakukan berbagai macam pekerjaan, mulai dari pekerjaan sehari-hari hingga sektor industri. Contohnya pada penelitian yang dilakukan oleh In-Hwan Jung, Jae-Moon Lee, dan Kitae Hwang mengenai sistem informasi kepadatan lalu lintas kota Seoul berdasarkan lokasi pengguna menggunakan protokol MQTT. Pada penelitian tersebut, client mengirimkan titik koordinat lokasi menggunakan aplikasi pada smartphone. Sedangkan pada kendaraan, data lokasi client dikirimkan melalui perangkat Raspberry Pi menggunakan sensor GPS [1]. Penelitian kedua dilakukan oleh Ferrianto Gozali, dkk dengan judul “Sistem Pemantauan dan Perekaman gerak Kendaraan Secara Nirkabel dengan Menggunakan Raspberry Pi”. Penelitian tersebut menerapkan sistem monitoring pada kendaraan bermotor untuk melihat pergerakan kendaraan tersebut secara real time. Sistem pemantauan ini terdiri dari perangkat Raspberry Pi yang diletakan pada kendaraan untuk mengambil data sensor GPS, satu buah server untuk mengolah data GPS yang dikirimkan, dan sebuah website untuk menampilkan hasil monitoring [2].
Namun data lokasi pengguna yang dikirimkan pada kedua penelitian tersebut tidak dilengkapi dengan sistem keamanan sehingga rawan untuk diretas. Informasi dari lokasi GPS dapat digunakan oleh penjahat untuk mengungkapkan informasi pribadi seperti alamat rumah, kantor, sekolah, serta perjalanan atau lokasi-lokasi yang biasa dikunjungi. Hal ini sangat berbahaya karena dapat mengundang berbagai macam kejahatan seperti penguntitan, perampokan, pencurian hingga penculikan [3].
Agar data GPS pada sistem informasi kepadatan lalu lintas yang dikirim menggunakan protokol MQTT tidak dapat disadap, dibutuhkan suatu metode yang dapat digunakan untuk mengamankan data. Protokol MQTT dapat mengaktifkan SSL/TLS di lapisan presentation layer untuk mengamankan transmisi data. Sayangnya penggunaan SSL/TLS dapat berdampak negatif pada komputasi, komunikasi, dan penggunaan energi untuk beberapa perangkat IoT [4]. Oleh karena itu, dibutuhkan metode pengamanan lain untuk mengatasi celah keamanan tersebut, sehingga aspek keamanan pada perangkat-perangkat IoT yang memiliki keterbatasan resource dapat terpenuhi.
Gordon Meiser, et al. pada penelitian yang berjudul “Efficient implementation of eSTREAM ciphers on 8-bit AVR microcontrollers”, melakukan penelitian untuk mengetahui seberapa efisiennya algoritme enskripsi stream cipher di eSTREAM project (Salsa20, HC-128, Sosemanuk, LEX, dan Dragon) pada perangkat kecil seperti microcontroller yang memiliki keterbatasan sumber daya memori. Dalam hal pengunaan memori, algoritme Salsa20 dan LEX bekerja dengan menggunakan alokasi memori yang lebih sedikit. Berbeda dengan algoritme Dragon dan Sosemanuk membutuhkan lebih banyak sumber daya memori. Sedangkan untuk algoritme HC-128 dinilai tidak cocok untuk microcontroller karena menggunakan memori SRAM yang sangat tinggi [5].
Pada penelitian yang dilakukan oleh Angger Ramadhan, dkk yang berjudul
“Implementasi Algoritme Enkripsi Salsa20 untuk Pengamanan Data Video Surveilans secara Real-Time”, diusulkan penerapan enkripsi pada pengiriman data frame dari webcam server ke perangkat client menggunakan algoritme Salsa20. Hasil pengujian menunjukkan bahwa data yang telah dienkripsi menjadi aman. Bahkan Ketika terjadi serangan sniffing, paket data yang dicuri hanya menampilkan gambar buram saja [6].
Berdasarkan hasil penelitian tersebut, telah dibuktikan bahwa algoritme algoritme Salsa20 dapat mengamankan data tanpa menggunakan banyak alokasi memori. Hal inilah yang dibutuhkan dalam penerapan protokol MQTT pada konsep Internet of Things, karena selain perlunya pengamanan data, diperlukan juga algoritme yang menggunakan sedikit alokasi memori untuk memenuhi keterbatasan sumber dayanya. Penelitian ini menggunakan Raspberry
Jatisi ISSN 2407-4322
Vol. 10, No. 2, Juni 2023, Hal. 81-93 E- ISSN 2503-2933 83
Rapli, et., al [Implementasi Algoritme Salsa20 Untuk Mengamankan Data GPS Menggunakan Perangkat Raspberry Pi 3]
Pi 3 sebagai publisher, module SIM7600G-H 4G HAT sebagai sensor untuk menerima data GPS, Public HiveMQ MQTT sebagai broker dan perangkat laptop sebagai subscriber. Data GPS digunakan pada penelitian ini karena data ini sangat sensitif dan rentan. Data GPS dapat disalahgunakan untuk melakukan pengawasan dan pelacakan perangkat, bahkan dapat dilakukan untuk melacak individu tertentu [7].
2. METODE PENELITIAN 2.1 Landasan Kepustakaan
2.1.1 Kriptografi
Kriptografi adalah proses merahasiakan sebuah informasi atau data untuk mencapai kerahasiaan informasi sehingga maknanya tidak dapat diperoleh oleh orang lain yang tidak memiliki akses atas informasi tersebut. Dalam kriptografi, informasi yang disembunyikan biasanya disebut “plaintext” dan proses penyamaran plaintext didefinisikan sebagai “enkripsi”;
plaintext terenkripsi dikenal sebagai "ciphertext". Proses ini dicapai dengan sejumlah aturan yang dikenal sebagai "algoritme enkripsi". Biasanya, proses enkripsi bergantung pada
"encryption key”, yang kemudian diberikan kepada algoritme enkripsi sebagai input bersama dengan informasi. Pihak penerima dapat mengambil informasi kembali menggunakan
"algoritma dekripsi" sesuai “decryption key" yang telah ditentukan sebelumnya [8].
Berdasarkan jenis kunci yang digunakan, algoritme kriptografi dibagi menjadi 3 bagian, yakni algoritme simetris, algoritme asimetris, dan fungsi hash. Algoritme simetris menggunakan satu key yang sama pada saat melakukan proses enkripsi dan dekripsi, Algoritme asimetris menggunakan dua key yang berbeda pada saat melakukan proses enkripsi dan dekripsi, sedangkan fungsi hash merupakah sebuah perhitungan matematika yang berfungsi untuk merubah data yang dimasukan menjadi sebuah data dalam bentuk biner [9].
2.1.2 Salsa20
Salsa20 merupakan salah satu algoritme kriptografi simetris yang menggunakan key yang sama pada saat melakukan enkripsi dan dekripsi. Algoritme ini diusulkan oleh Daniel J.
Bernstein pada eSTREAM project. Algoritme Salsa20 menggunakan keystream dengan cara melakukan operasi perhitungan penjumlahan, penambahan bitwise (XOR) dan operasi rotasi.
Algoritme ini menerima input berupa 64 byte yang terdiri dari 32 bytes key, 8 byte nonce, 8 byte block counter, dan 16 byte konstanta yang direpresentasikan pada bentuk matriks. Salsa20 memiliki nilai konstanta berupa "expand 32-byte k” dalam bentuk ASCII atau bisa
diterjemahkan ke dalam bilangan heksadesimal menjadi
“657870616e642033322d62797465206b” [10].
Keempat masukan algoritme Salsa20 disusun menjadi sebuah bentuk matriks dimensi 4x4. Setiap indeksnya memiliki ukuran sebesar 4 byte. Struktur ini disebut sebagai initial state.
Setelah dilakukan proses inisialisasi kemudian dilakukan operasi matematika menggunakan fungsi quarterround. Persamaan (1), persamaan (2), persamaan (3), dan persamaan (4) merupakan rumus dari perhitungan fungsi quarterround.
1 = 1 ⊕ ((0 + 3) <<< 7) (1) 2 = 2 ⊕ ((1 + 0) <<< 9) (2) 3 = 3 ⊕ ((2 + 1) <<< 13)(3) 4 = 0 ⊕ ((3 + 2) <<< 18)(4)
Fungsi quarterround di lakukan pada fungsi rowround dan fungsi columnround sebanyak 20 kali sesuai dengan jumlah round yang digunakan oleh algoritme Salsa20.
84 Jatisi ISSN 2407-4322 Vol. 10, No. 2, Juni 2023, Hal. 81-93 E-ISSN 2503-2933
Rapli, et., al [Implementasi Algoritme Salsa20 Untuk Mengamankan Data GPS Menggunakan Perangkat Raspberry Pi 3]
(0, 1, 2, 3) = (0, 1, 2, 3) (5) (5, 6, 7, 4) = (5, 6, 7, 4) (6) (10, 11, 8, 9) = (10, 11, 8, 9) (7) (15, 12, 13, 14) = (15, 12, 13, 14) (8)
Persamaan (5), persamaan (6), persamaan (7), dan persamaan (8) merupakan rumus dari perhitungan fungsi rowround. Untuk perhitungan fungsi columnround sebenarnya sama saja dengan perhitungan fungsi rowround. Perbedaannya pada columnround yang dieksekusi adalah kolom dari matriks, sedangkan pada rownround yang dieksekusi adalah baris dari matriks. Hasil round terakhir ditambahkan dengan initial state dan diubah ke dalam bentuk little endian.
Proses enkripsi dan dekripsi dilakukan dengan melakukan penambahan bitwise (XOR) dengan nilai keystream seperti pada persamaan (9) dan persamaan (10).
20!(") ⊕ #$% = &$# % (9) 20!(") ⊕ &$# % = #$% (10)
2.1.3 Message Queue Telemetry Transport (MQTT)
Message Queue Telemetry Transport (MQTT) merupakan protokol komunikasi pada layer transport TCP/IP yang memungkinkan client untuk mengirim dan menerima pesan. Setiap perangkat yang terhubung dalam protokol MQTT disebut sebagai client. Pada dasarnya broker adalah server yang bertugas untuk mengirimkan semua pesan yang diterima dari suatu client mengenai topik tertentu ke client lain yang melakukan subscribe ke topik yang sama. Terdapat dua jenis client, yakni publisher dan subscriber. Publisher bertanggung jawab untuk mengirim pesan dengan topik tertentu, sedangkan subscriber melakukan subrcribe atau berlangganan pesan berdasarkan topik yang telah dikirimkan sebelumnya oleh publisher [11].
2.1.4 Global Positioning System (GPS)
Global Positioning System (GPS) merupakan sistem navigasi berbasis satelit untuk menunjukan lokasi pengguna dalam bentuk latitude (lintang) dan longitude (bujur). Sistem ini berjalan selama 24 jam dalam segala jenis kondisi cuaca. GPS dapat digunakan oleh siapa saja tanpa dikenakan biaya berlangganan atau biaya pengaturan untuk menggunakan sistem GPS [12]
2.1.5 SIM7600G-H 4G HAT
SIM7600G-H 4G HAT merupakan sebuah module navigasi satelit GNSS dan komunikasi jaringan 3G/4G yang dirancang untuk perangkat seri Raspberry Pi. Modul ini mendukung LTE CAT4 dengan kecepatan transfer data hingga 150Mbps. Selain itu, SIM7600G-H 4G HAT juga mendukung panggilan telepon, SMS, dan transfer data.
2.1.6 Raspberry Pi 3
Raspberry Pi 3 merupakan Single Board Computer generasi ketiga dari seri Raspberry Pi. Secara sekilas Raspberry Pi 3 memiliki bentuk yang identik dengan seri Raspberry Pi 2, tetapi Raspberry Pi 3 memiliki kompabilitas yang lebih tinggi karena menggunakan processor 1.2GHz 64-bit quad-core ARMv8 dan 1 GB SDRAM 400MHz.
2.1.7 HiveMQ
HiveMQ adalah broker atau platform messaging berbasis MQTT yang dirancang untuk perpindahan data yang cepat dan efisien antar-perangkat IoT yang terhubung. HiveMQ juga menyediakan broker online dengan nama Public HiveMQ MQTT. Broker ini bersifat open access dan dapat digunakan oleh siapa saja. Broker Public HiveMQ MQTT dapat diakses
Jatisi ISSN 2407-4322
Vol. 10, No. 2, Juni 2023, Hal. 81-93 E- ISSN 2503-2933 85
Rapli, et., al [Implementasi Algoritme Salsa20 Untuk Mengamankan Data GPS Menggunakan Perangkat Raspberry Pi 3]
dengan cara publisher mengirimkan topik pesan ke alamat host broker.hivemq.com pada port TCP 1883 [13].
2.3 Perancangan
2.3.1 Gambaran Umum Sistem
Perangkat pada topologi yang dirancang terdapat tiga buah node, yakni dua buah node client sebagai publisher dan subscriber serta satu buah node yang digunakan sebagai broker pada komunikasi protokol MQTT. Pada node publisher terdapat dua buah perangkat yakni Raspberry Pi 3 dan module SIM7600G-H 4G HAT. Raspberry Pi 3 mengambil data latitude dan longitude yang diperoleh dari sensor GPS pada module SIM7600G-H 4G HAT. Data latitude dan longitude selanjutnya dienkripsi menggunakan algoritme Salsa20 dan dikirimkan menuju broker online HiveMQ melalui jaringan internet 3G atau 4G. Broker online HiveMQ meneruskan pengiriman data kepada subscriber melalui jaringan WI-FI. Ketika subscriber sudah menerima data, proses dekripsi dilakukan untuk mengembalikan pesan terenkripsi menjadi pesan yang dapat dibaca.
Gambar 1 Gambaran Umum System 2.3.2 Kebutuhan Sistem
2.3.2.1 Kebutuhan Perangkat Keras
Perangkat keras yang digunakan pada penelitian ini adalah sebuah Raspberry Pi 3 model B+ yang akan digunakan sebagai publisher, satu buah laptop yang akan digunakan sebagai subscriber, Micro SD untuk tambahan penyimpanan data Raspberry Pi 3, module SIM7600G-H 4G HAT untuk mendapatkan data GPS serta mendapatkan akses jaringan internet Raspberry Pi 3, dan Powerbank 30.000 mAh untuk pengisi daya perangkat Raspberry Pi 3.
2.3.2.2 Kebutuhan Perangkat Keras
Perangkat lunak yang digunakan pada penelitian ini adalah Windows 10 sebagai sistem operasi subscriber, Wireshark untuk menganalisis lalu lintas paket dalam jaringan dan melakukan Sniffing pada sistem, Pycharm untuk menulis code dalam bahasa Python, Putty sebagai aplikasi bantuan untuk melakukan SSH IP address, library pynmea2 untuk membantu mengolah data NMEA, library math untuk membantu melakukan perhitungan matematika, library serial untuk mendapatkan data dari serial port Raspberry Pi 3, library json untuk mengubah data menjadi tipe data JSON, library paho.mqtt untuk melakukan pengiriman data menggunakan protokol MQTT, dan library time untuk mendapatkan nilai waktu.
2.3.3 Perancangan Publisher
Gambar 2 berikut merupakan diagram alir perancangan publisher dari penelitian implementasi algoritme Salsa20 untuk melakukan enkripsi dan dekripsi menggunakan
86 Jatisi ISSN 2407-4322 Vol. 10, No. 2, Juni 2023, Hal. 81-93 E-ISSN 2503-2933
Rapli, et., al [Implementasi Algoritme Salsa20 Untuk Mengamankan Data GPS Menggunakan Perangkat Raspberry Pi 3]
perangkat Raspberry Pi 3. Publisher menerima data sensor GPS berupa nilai latitude dan longitude dari sensor GPS pada module SIM7600G-H 4G HAT. Data nilai latitude dan longitude selanjutnya dienkripsi menggunakan algoritme Salsa20 sehingga nantinya akan menghasilkan sebuah ciphertext yang tidak dapat dibaca. Langkah berikutnya adalah menghubungkan publisher dengan broker Public HiveMQ MQTT melalui alamat broker.hivemq.com dan port 1883. Apabila Raspberry Pi 3 sudah terhubung dengan broker, data yang telah terenkripsi tadi dikirimkan ke broker bersamaan dengan topik yang telah didefinisikan sebelumnya melalui jaringan internet 3G atau 4G menggunakan module SIM7600G-H 4G HAT.
Gambar 2 Diagram Alir Perancangan Publisher 2.3.3 Perancangan Broker
Gambar 3 berikut merupakan diagram alir perancangan broker dari penelitian implementasi algoritme Salsa20 untuk melakukan enkripsi dan dekripsi menggunakan broker Public HiveMQ MQTT. Broker Public HiveMQ MQTT akan menerima data dan topik yang
Jatisi ISSN 2407-4322
Vol. 10, No. 2, Juni 2023, Hal. 81-93 E- ISSN 2503-2933 87
Rapli, et., al [Implementasi Algoritme Salsa20 Untuk Mengamankan Data GPS Menggunakan Perangkat Raspberry Pi 3]
dikirimkan oleh publisher. Data tersebut selanjutnya diteruskan ke subscriber sesuai dengan topik yang telah didefinisikan.
Gambar 3 Diagram Alir Perancangan Broker 2.3.4 Perancangan Subscriber
Gambar 4 berikut merupakan diagram alir perancangan subscriber dari penelitian implementasi algoritme Salsa20 untuk melakukan enkripsi dan dekripsi menggunakan perangkat laptop. Penelitian ini menggunakan laptop ASUS A455L sebagai subscriber untuk menerima data dari broker. Sebelum menghubungkan subscriber dengan broker, subscriber mendefinisikan topik pesan yang akan di subscribe terlebih dahulu. Langkah berikutnya adalah menghubungkan subscriber dengan broker Public HiveMQ MQTT melalui alamat broker.hivemq.com dan port 1883 serta meminta pengiriman data apabila terdapat pesan dengan topik yang telah didefinisikan sebelumnya. Setelah menerima data dari broker, subscriber melakukan proses dekripsi mengunakan algoritme Salsa20 sehingga nantinya dapat menghasilkan plaintext yang dapat dibaca oleh user.
88 Jatisi ISSN 2407-4322 Vol. 10, No. 2, Juni 2023, Hal. 81-93 E-ISSN 2503-2933
Rapli, et., al [Implementasi Algoritme Salsa20 Untuk Mengamankan Data GPS Menggunakan Perangkat Raspberry Pi 3]
Gambar 4 Diagram Alir Perancangan Subscriber 2.4 Implementasi
Implementasi dilakukan sebanyak dua kali, yakni pada implementasi perangkat keras yang berguna untuk membangun sistem menggunakan perangkat-perangkat yang telah didefinisikan sebelumnya pada perancangan dan implementasi perangkat lunak berupa kumpulan source code yang digunakan untuk membangun sistem.
Implementasi perangkat keras dilakukan dengan cara menghubungkan module SIM7600G-H 4G HAT sebagai sensor yang melakukan akuisisi data latitude dan longitude
Jatisi ISSN 2407-4322
Vol. 10, No. 2, Juni 2023, Hal. 81-93 E- ISSN 2503-2933 89
Rapli, et., al [Implementasi Algoritme Salsa20 Untuk Mengamankan Data GPS Menggunakan Perangkat Raspberry Pi 3]
dengan Raspsberry Pi 3 sebagai perangkat pemrosesan data. Module SIM7600G-H 4G HAT juga digunakan sebagai sumber akses jaringan internet 3G/4G untuk melakukan pengiriman data. Gambar 5 berikut merupakan hasil dari implementasi perangkat keras yang dilakukan.
Gambar 5. Implementasi Perangkat Keras
Implementasi perangkat lunak berisi pembuatan source code akuisisi data sensor GPS Raspberry Pi 3 dapat menerima data GPS, source code publisher agar Raspberry Pi 3 dapat mengirimkan data menggunakan protokol MQTT, source code subscriber agar perangkat laptop dapat digunakan sebagai server penerima data pada sistem yang dibangun, source code broker agar broker Public HiveMQ MQTT dapat digunakan oleh publisher dan subscriber serta source code algoritme Salsa20 agar publisher dan subscriber dapat menggunakan enkripsi dan dekripsi untuk melindungi data sensor GPS yang dikirim. Seluruh pembuatan kode program pada implementasi perangkat lunak dilakukan dengan menggunakan bahasa python
3. HASIL DAN PEMBAHASAN 3.1 Hasil Pengujian Validasi Test Vector
Pengujian validasi test vector dilakukan untuk memastikan setiap fungsi pada algoritme Salsa20 berjalan dengan benar. Pengujian ini dilakukan dengan memasukan nilai key, nonce dan, constanta dari jurnal pembuat algoritme Salsa20 ke dalam sistem.
Tabel 1 Pengujian Test Vector
No. Test Vector Keystream Status
1 0xe3be8fdd8beca2e3ea8ef9 475b29a6e7003951e1097a 5c38d23b7a5Fad9f6844b22
c97559e2723c7Cbbd3fe4fc 8d9a0744652a83e72a9c461
876af4d7ef1a117
0xe3be8fdd8beca2e3ea8ef9 475b29a6e7003951e1097a 5c38d23b7a5Fad9f6844b22
c97559e2723c7Cbbd3fe4fc 8d9a0744652a83e72a9c461
876af4d7ef1a117
Valid
2 0x3fe85d5bb1960a82480b5 e6f4e965a4460d7a5450166 4f7d60b54b06100a37ffdcf6 bde5ce3f4886ba77dd5b44e 95644e40a8ac65801155db
90f02522b644023
0x3fe85d5bb1960a82480b5 e6f4e965a4460d7a5450166 4f7d60b54b06100a37ffdcf6 bde5ce3f4886ba77dd5b44e 95644e40a8ac65801155db
90f02522b644023
Valid
90 Jatisi ISSN 2407-4322 Vol. 10, No. 2, Juni 2023, Hal. 81-93 E-ISSN 2503-2933
Rapli, et., al [Implementasi Algoritme Salsa20 Untuk Mengamankan Data GPS Menggunakan Perangkat Raspberry Pi 3]
3 0xf5fad53f79f9df58c4aea0 d0ed9a9601f278112ca7180 d565b420a48019670eaf24c e493a86263f677b46ace192 4773d2bb25571e1aa85937
58fc382b1280b71
0xf5fad53f79f9df58c4aea0 d0ed9a9601f278112ca7180 d565b420a48019670eaf24c e493a86263f677b46ace192 4773d2bb25571e1aa85937
58fc382b1280b71
Valid
Seluruh pengujian test vector pada Tabel 1 dinyatakan valid karena sistem menghasilkan nilai keystream yang sama dengan nilai iest vector yang tertera pada jurnal algoritme Salsa20.
3.2 Hasil Pengujian Serangan Sniffing
Pengujian ini bertujuan untuk memastikan kerahasiaan data pada data yang telah dienkripsi menggunakan algoritme Salsa20. Pengujian serangan sniffing dilakukan dengan mengirimkan dua buah data untuk kemudian dilakukan pengamatan melalui aplikasi Wireshark.
Data pertama dikirimkan tanpa melakukan enkripsi, sedangkan data kedua dikirimkan menggunakan enkripsi algoritme Salsa20.
Gambar 6. Tampilan Data Sebelum Dikirim
Gambar 6 merupakan tampilan data sebelum proses pengiriman dilakukan. Isi dari plaintext data tersebut berupa nilai titik koodinat latitide dan longitude.
Gambar 7 Pengiriman Data Tanpa Enkripsi
Pengiriman data tanpa menggunakan enkripsi dapat menyebabkan terbacanya isi dari data yang dikirimkan seperti pada Gambar 7. Aplikasi Wireshark dapat melihat dengan jelas bahwa paket yang dikirimkan dapat dibaca oleh siapapun selama berada dalam satu jaringan yang sama.
Jatisi ISSN 2407-4322
Vol. 10, No. 2, Juni 2023, Hal. 81-93 E- ISSN 2503-2933 91
Rapli, et., al [Implementasi Algoritme Salsa20 Untuk Mengamankan Data GPS Menggunakan Perangkat Raspberry Pi 3]
Gambar 8. Pengiriman Data Dengan Enkripsi
Gambar 8 merupakan hasil sniffing terhadap paket data yang telah dienkripsi menggunakan algoritme Salsa20. Paket yang di capture menggunakan aplikasi Wireshark hanya berupa angka heksadesimal sehingga tidak dapat difahami dan tidak memberi informasi apapun.
Hal ini membuktikan bahma algoritme Salsa20 berhasil menjamin kerahasian data.
3.3 Hasil Pengujian Serangan Ciphertext-only Attack
Pengujian ini bertujuan untuk memastikan bahwa fungsi enkripsi algoritme Salsa20 dapat mempertahankan data dari serangan aktif yang berusaha mencoba mendapatkan plaintext secara paksa. Pengujian dilakukan dengan melakukan brute force terhadap 10 data ciphertext sebanyak 500 kali. Data ciphertext ini didapatkan dari hasil sniffing paket data pada jaringan yang sama yang digunakan oleh subscriber.
Tabel 2. Perbandingan Algoritma A dan Algoritma B No. Ciphertext
Latitude
Ciphertext
Longitude Status 1 35c7f468
1d349bb2
29c1e87f1e 3794b9009d
Tidak Berhasil 2 35c7f4681
d349bb20a
29c1e87f1e 3794b90092
Tidak Berhasil 3 35c7f4681
d349bb20b
29c1e87f1e 3794b90093
Tidak Berhasil 4 35c7f4681
d349bb20b
29c1e87f1e 3794b90092
Tidak Berhasil 5 35c7f4681
d349bb20c
29c1e87f1e 3794b90093
Tidak Berhasil 6 35c7f4681
d349bb20c
29c1e87f1e 3794b90092
Tidak Berhasil 7 35c7f4681
d349bb20d
29c1e87f1e 3794b90092
Tidak Berhasil 8 35c7f4681
d349bb20f
29c1e87f1e 3794b90092
Tidak Berhasil
92 Jatisi ISSN 2407-4322 Vol. 10, No. 2, Juni 2023, Hal. 81-93 E-ISSN 2503-2933
Rapli, et., al [Implementasi Algoritme Salsa20 Untuk Mengamankan Data GPS Menggunakan Perangkat Raspberry Pi 3]
9 35c7f4681 d349bb40a
29c1e87f1e 3794b80d93
Tidak Berhasil 10 35c7f4681
d3494b40e
29c1e87f1e 3699b6099d
Tidak Berhasil
Tabel 2 berisi hasil dari pengujian serangan ciphertext-only attack. Setiap satu pengujian data ciphertext, dilakukan lima ratus kali percobaan serangan ciphertext-only attack menggunakan masukan key dan nonce yang berbeda. Dari sepuluh data ciphertext yang diuji, hasil dekripsi yang diperoleh tidak ada yang sama dengan plaintext asli. Hal ini menunjukan bahwa algoritme Salsa20 dapat menjamin kerahasiaan data, meskipun serangan ciphertext-only attack dilakukan.
4. KESIMPULAN
Algoritme Salsa20 yang diimplementasikan pada publisher dan subscriber dapat memberikan aspek keamanan pada saat proses pengiriman data GPS dilakukan. Pada serangan sniffing attack, data yang dikirim tidak dapat dibaca oleh penyerang. Kemudian pada serangan aktif ciphertext-only attack, penyerang tidak berhasil mengubah data ciphertext menjadi data plaintext. Hal tersebut membuktikan bahwa algoritme Salsa20 memiliki keamanan yang tinggi sehingga cocok untuk digunakan sebagai pengamanan tambahan pada protokol komunikasi MQTT.
5. SARAN
Pada penelitian ini pertukaran nilai key dan nonce dilakukan secara manual. Harapannya pada penelitian selanjutnya dapat digunakan mekanisme pertukaran key dan nonce secara otomatis untuk memudahkan user dalam melakukan proses enkripsi dan dekripsi algoritme Salsa20.
DAFTAR PUSTAKA
[1] Jung, I., Lee, J., & Hwang, K., 2018, An MQTT Based Real Time LBS System for Vehicles and Pedestrians, International Journal of Engineering & Technology, Vol. 7, No. 3.24, pp. 125-130.
[2] Gozali, F., Iskandardinata, R., & Subrata, R., 2017, Sistem Pemantauan dan Perekaman gerak Kendaraan Secara Nirkabel Dengan Menggunakan Raspberry Pi, Jurnal Teknologi Elektro, 8. 9. 10.22441/jte.v8i1.1365.
[3] Estes, B., 2016, Geolocation - The Risk and Benefits of a Trending Technology, ISACA Journal, 5 1-6.
[4] Chien, H., Lin, P., & Chiang, M., 2020, Efficient MQTT Platform Facilitating Secure Group Communication, Journal of Internet Technology, Vol. 21, No. 7, pp. 1929-1940.
Jatisi ISSN 2407-4322
Vol. 10, No. 2, Juni 2023, Hal. 81-93 E- ISSN 2503-2933 93
Rapli, et., al [Implementasi Algoritme Salsa20 Untuk Mengamankan Data GPS Menggunakan Perangkat Raspberry Pi 3]
[5] Meiser, G., Eisenbarth, T., Lemke-Rust, K., & Paar, C., 2008, Efficient Implementation of eSTREAM Ciphers on 8-bit AVR Microcontrollers. International Symposium on Industrial Embedded Systems. doi:10.1109/sies.2008.4577681.
[6] Ramadhan, A., Kusyanti, A., & Trisnawan, P., 2021, Implementasi Algoritme Enkripsi Salsa20 Untuk Pengamanan Data Video Surveilans Secara Real-Time, Skripsi, Jurnal Pengembangan Teknologi Informasi dan Ilmu Komputer, 5(2), 477-484.
[7] Patil, V., Parikh, S., Singh, P., & Atrey, P.K., 2017, GeoSecure: Towards Secure Outsourcing of GPS Data over Cloud, Thesis, Department of Computer Science, College of Engineering and Applied Sciences, University at Albany, State University of New York.
[8] Piper, F., & Murphy, S., 2002, Cryptography: A Very Short Introduction, Oxford University Press, London.
[9] Ariyus, D., 2008, Pengantar Ilmu Kriptografi Teori Analisis dan Implementasi, C.V ANDI OFFSET, Yogyakarta.
[10] Bernstein, D. J., 2008, The Salsa20 Family of Stream Ciphers, New Stream Cipher Designs: The eSTREAM Finalists (pp. 84-97), Lecture Notes in Computer Science; Vol.
4986.
[11] Noalettin, M., 2018, Performance Analysis of Cryptographic Protocols for The Internet of Things, Thesis, Dipartimento di Scienze Ambientali, Informatica e Statistica, Università Ca' Foscari Venezia.
[12] Ali, E, 2020, Global Positioning System (GPS): Definition, Principles, Errors, Applications & DGPS, Thesis, Department of Geography, Ananda Chandra College, Jalpaiguri-735101, India.
[13] HiveMQ, n.d, HiveMQ User Guide, Diakses pada 7 Oktober dari https://www.hivemq.com/ docs/hivemq/4.7/user-guide/introduction.html