Jurnal Teknik Informatika dan Sistem Informasi ISSN 2407-4322 Vol. 10, No. 2, Juni 2023, Hal. 81-93 E- ISSN 2503-2933 81

## Implementasi Algoritme Salsa20 Untuk Mengamankan Data GPS Menggunakan Perangkat Raspberry Pi 3
Rapli Maulana Aji* 1 , Ari Kusyanti 2 , Fariz Andri Bakhtiar 3 1,2 Universitas Brawijaya; Jl. Veteran Malang, 65145, telp/fax (0341) 551611
1,3 Departemen Teknik Informatika, FILKOM UB, Malang e-mail: * 1 raplimaulana@student.ub.ac.id, 2 ari.kusyanti@ub.ac.id, 3 fariz@ub.ac.id

## 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]
IJCCS Vol. x,–end_page

## 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]
clear, implies research results (First Author)
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]
IJCCS Vol. x,–end_page
(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
clear, implies research results (First Author)
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]
IJCCS Vol. x,–end_page
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
clear, implies research results (First Author)
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
IJCCS Vol. x,–end_page
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]
clear, implies research results (First Author)
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]
IJCCS Vol. x,–end_page
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
clear, implies research results (First Author)
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]
IJCCS Vol. x,–end_page
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
clear, implies research results (First Author)
[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