Anda di halaman 1dari 25

Securing Device Internet of Things (IoT) Using Identity Server WSO2

Tugas Akhir Mata Kuliah Keamanan Perangkat Lunak EL5215 – 2022

Oleh:
Asep Trisna Setiawan
23221111

Magister Teknik Elektro


Sekolah Teknik Elektro dan Informatika
Institut Teknologi Bandung
23221111@std.stei.itb.ac.id

INSTITUT TEKNOLOGI BANDUNG


Desember 2022
ABSTRAK

Makalah ini adalah sebuah karya tulis yang membahas sebuah teknologi yang sedang banyak
dibicarakan di beberapa tahun terakhir yang bernama Internet of Things (IoT). Internet of Things
(IoT) adalah jaringan objek fisik yang terhubung ke internet dan dapat diakses dan dikendalikan
dari jarak jauh. Seiring bertambahnya jumlah perangkat IoT, kebutuhan akan autentikasi dan
otorisasi yang aman juga meningkat. Pada karya tulis ini penulis membahas terkait sisi keamanan
pada Internet of Things (IoT) dengan tujuan agar dapat ikut serta dalam memberikan sebuah ide
atau usulan sebuah arsitektur keamanan perang (IoT) yang di lihat dari sisi keamanan perangkat
lunak, Makalah ini mengusulkan sistem otentikasi dan otorisasi yang aman untuk IoT. Pada
Makalah ini menggunakan identity server WSO2 sebagai middleware untuk mengamankan
perangkat IoT dari isu kemananan di akses oleh orang yang tidak berhak untuk mengakses data
dan menyalahgunakan informasi. Pada Makalah ini penulis melakukan eksperimen terhadap
perangkat IoT dengan Mikrokontroller Nodemcu dengan sensor berat dan sensor power. Data
sensor dikirimkan ke dalam message broker RabbitMQ lalu diterima dengan sebuah worker yang
dibuat dengan menggunakan nodejs. Lalu worker akan melalukan autentikasi ke identity server
untuk validasi identitas perangkat IoT. Hasilnya adalah jika perangkat IoT identitas nya terdaftar
dalam identity server maka perangkat IoT di izinkan menyimpan data sensor ke dalam database,
Jika identitas perangkat IoT tidak terdaftar maka data sensor tidak di izinkan untuk menyimpan
data kedalam database.
Kata Kunci :Keamanan Internet of Things (IoT), Identity Server, Kemanan Perangkat Lunak

2
DAFTAR ISI
ABSTRAK ......................................................................................................................... 2
DAFTAR ISI...................................................................................................................... 3
DAFTAR GAMBAR ......................................................................................................... 4
DAFTAR TABEL ............................................................................................................. 5
1. Pendahuluan ............................................................................................................ 6
11. Latar Belakang ...................................................................................................... 6
12. Manfaat Internet of Things (IoT) .......................................................................... 6
13. Permasalahan ......................................................................................................... 7
14. Tujuan dan Manfaat .............................................................................................. 7
15. Batasan Masalah .................................................................................................... 7
2. Landasan Teori ....................................................................................................... 8
21. Tinjauan Pustaka ................................................................................................... 8
22. Tinjauan Studi ....................................................................................................... 8
3. Metodologi Penelitian ........................................................................................... 11
31. Alur Penelitian..................................................................................................... 11
32. Kebutuhan Perangkat Lunak dan Persyaratan Penerapan Arsitektur Sistem IoT 11
33. Usulan Desain Arsitektur Internet of Things (IoT) ............................................. 12
4. Pembahasan ........................................................................................................... 14
41. Siklus Hidup Pengembangan Perangkat Lunak IoT ........................................... 14
42. Persyaratan Keamanan Perangkat Lunak Pada IoT (Security Requirement) ...... 14
43. Desain Keamanan Perangkat Lunak Pada IoT (Secure Design) ......................... 14
44. Pengembangan (Secure Coding) dan Pengujian Pada Perangkat IoT ................. 15
45. Implementasi Pada Identity Server WSO2.......................................................... 18
46. Implementasi Pada Message Broker RabbitMQ ................................................. 19
47. Implementasi Pada Worker NodeJs .................................................................... 19
48. Eksperimen .......................................................................................................... 20
49. Hasil Data Sensor ................................................................................................ 23
5. Kesimpulan ............................................................................................................ 24
51. Kesimpulan.......................................................................................................... 24
DAFTAR PUSTAKA ...................................................................................................... 25

3
DAFTAR GAMBAR

Gambar 1 Pertumbuhan Internet of Things ........................................................................ 6


Gambar 2 Arduino IDE ....................................................................................................... 9
Gambar 3 Alur Penelitian ................................................................................................. 11
Gambar 4 Arsitektur perangkat IoT simpan data sensor kedalam database ..................... 13
Gambar 5 Arsitektur mengendalikan perangkat IoT ........................................................ 13
Gambar 6 Siklus Hidup Pengembangan Perangkat Lunak IoT ........................................ 14
Gambar 7 Contoh desain untuk tahapan desain ................................................................ 15
Gambar 8 Mikrokontroller NodeMCU ............................................................................. 15
Gambar 9 Load Sell Sensor .............................................................................................. 16
Gambar 10 Sensor Pzem 004t ........................................................................................... 16
Gambar 11 Source Code pada device IoT......................................................................... 17
Gambar 12 Code fungsi publish data sensor ke RabbitMQ .............................................. 17
Gambar 13 Code Alamat pengiriman data Sensor ............................................................ 17
Gambar 14 Menu Login Identity Server WSO2 ............................................................... 18
Gambar 15 Dashboard Identity Server Wso2 ................................................................... 18
Gambar 16 Menu untuk membuat aplikasi baru ............................................................... 19
Gambar 17 RabbitMQ....................................................................................................... 19
Gambar 18 Implementasi pada NodeJs............................................................................. 20
Gambar 19 device dalam identity server .......................................................................... 21
Gambar 20 Worker NodeJS .............................................................................................. 21
Gambar 21 Log Worker NodeJS menerima data dengan perangkat IoT yang terdaftar .. 22
Gambar 22 Menghapus device dalam identity server ....................................................... 22
Gambar 23 Log Worker menerima data dengan perangkat IoT yang tidak terdaftar ....... 22
Gambar 24 Hasil Sensor Power ........................................................................................ 23
Gambar 25 Hasil Sensor Berat .......................................................................................... 23

4
DAFTAR TABEL

Tabel 1 Security Requirement ........................................................................................... 14


Tabel 2 Detail perangkat IoT untuk eksperimen............................................................... 20
Tabel 3 Skenario Untuk Ekperimen .................................................................................. 20

5
1. Pendahuluan
11. Latar Belakang
Internet of things merupakan sebuah konsep di mana suatu benda atau objek ditanamkan
teknologi-teknologi seperti sensor dan software dengan tujuan untuk berkomunikasi,
mengendalikan, menghubungkan, dan bertukar data melalui perangkat lain selama masih
terhubung ke internet. IoT memiliki hubungan yang erat dengan istilah machine-to-machine atau
M2M. Seluruh alat yang memiliki kemampuan komunikasi M2M ini sering disebut dengan
perangkat cerdas atau smart devices. Perangkat cerdas ini diharapkan dapat membantu kerja
manusia dalam menyelesaikan berbagai urusan atau tugas yang ada [1].
Pada tahun 2022, pasar Internet of Things diharapkan tumbuh 18% menjadi 14,4 miliar
koneksi aktif. Diharapkan pada tahun 2025, seiring berkurangnya kendala pasokan dan semakin
cepatnya pertumbuhan, akan ada sekitar 27 miliar perangkat IoT yang terhubung [2].

Gambar 1 Pertumbuhan Internet of Things


(Sumber Gambar: https://www.dicoding.com/blog/perkembangan-internet-of-things-di-2022/)

12. Manfaat Internet of Things (IoT)


Bebepa manfaat dari IoT [3]:
1. Memudahkan proses konektivitas
Manfaat IoT yang pertama adalah memudahkan dalam proses konektivitas antar perangkat
atau mesin. Semakin koneksi antar jaringan baik, maka sistem perangkat dapat berjalan dengan
lebih cepat dan fleksibel.
2. Ketercapaian efisiensi
Manfaat internet of things yang kedua adalah tercapainya efisiensi kerja. Semakin banyak
konektivitas jaringan yang terbentuk, semakin kecil pula jumlah penurunan waktu untuk
melakukan tugas. Sehingga, aktivitas dan kinerja manusia menjadi lebih terbantu dengan adanya
IoT.

6
3. Meningkatkan efektivitas monitoring kegiatan
Dengan menggunakan internet of things, efektivitas untuk mengontrol dan monitoring
sebuah pekerjaan menjadi lebih mudah. Selain itu, teknologi cerdas juga mampu untuk
memberikan rekomendasi atau alternatif pekerjaan yang lebih mudah bagi pengguna.
13. Permasalahan
Pada Makalah ini penulis mengacu dari beberapa sumber terkait ancaman atau isu kemanan
pada Internet of Things (IoT), dimana isu tersebut dijadikan sebuah landasan mengapa makalah
ini di tulis, beberapa isu keamanan pada Internet of Things (IoT):
1. Jurnal yang di tulis oleh Warsun Najib, Selo Sulistyo dan Widyawan dengan judul “Tinjauan
Ancaman dan Solusi Keamanan pada Teknologi Internet of Things (Review on Security
Threat and Solution of Internet of Things Technology)” dari jurnal terdapat salah ancamanan
pada Internet of Things (IoT) yaitu Ancaman yang dapat berupa akses oleh orang yang tidak
berhak untuk mengakses data dan menyalahgunakan informasi personal, memfasilitasi serangan
terhadap sistem yang lain, serta mengancam keselamatan personal penggunanya. Ancaman-
ancaman yang dapat memengaruhi entitas IoT sangat beragam, tergantung pada target serangan
tersebut [3].
2. Penelitian yang dilakukan oleh Hittu Garg dan Mayank Dave yang berjudul “Securing
IoTDevices and SecurelyConnecting the Dots Using REST API and Middleware” dari
penelitian tersebut membahas terkait isu keamanan pada Internet of Things (IoT) dengan
mengutip salah satu isu tentang “Serangan DDoS yang dahsyat baru-baru ini (Oktober 2016) di
server DYN yang melumpuhkan banyak layanan online populer di AS, membiarkan kami tahu
apa yang dapat terjadi jika penyerang dapat memanfaatkan hingga 150.000 perangkat IoT yang
tidak aman sebagai terminal berbahaya” dan pada penelitian ini penulis mengusulkan sebuah
arsitektur middleware yang menyediakan solusi keamanan end-to-end untuk pada Internet of
Things (IoT) [4].
3. Penelitian yang dilakukan oleh Steven J. Johnston, Mark Scott dan Simon J. Cox yang berjudul
“Recommendations for securing Internet of Things devices using commodity hardware” pada
penelitian berkesimpulan pemberian sebuah rekomendasi untuk mengamankan perang Internet
of Things (IoT) [5].
14. Tujuan dan Manfaat
Adapun tujuan dari penelitian ini adalah memberikan usulan terkait Teknik untuk
mengamankan perangkat IoT. Adapun manfaat dari penelitian adalah pembaca mengetahui salah
satu cara atau Teknik untuk mengamankan perangkat IoT.
15. Batasan Masalah
Supaya penelitian ini sesuai dengan tujuan yang dinginkan penulis dan dapat diselesaikan
dengan tepat waktu maka penulis hanya akan membahas terkait mengamankan perangkat Internet
of Things (IoT) menggunakan identity server WSO2.
Dari beberapa isu dan permasalahan diatas penulis bermaksud untuk mengajukan sebuah
artikel dengan judul “Securing Device IoT (Internet of Things) Using Identity Server WSO2 ”
dengan tujuan untuk ikut serta dalam memberikan usulan sebuah teknkik keamanan pada
perangkat Internet of Things (IoT).

7
2. Landasan Teori
21. Tinjauan Pustaka
Guna mendukung penelitian ini digunakan beberapa tinjauan Pustaka yang diambil dari
beberapa penelitian sebelumnya yang berkaitan:

A. Jurnal yang di tulis oleh Warsun Najib, Selo Sulistyo dan Widyawan dengan judul
“Tinjauan Ancaman dan Solusi Keamanan pada Teknologi Internet of Things
(Review on Security Threat and Solution of Internet of Things Technology)” dari
jurnal terdapat salah ancamanan pada Internet of Things (IoT) yaitu Ancaman yang dapat
berupa akses oleh orang yang tidak berhak untuk mengakses data dan menyalahgunakan
informasi personal, memfasilitasi serangan terhadap sistem yang lain, serta mengancam
keselamatan personal penggunanya. Ancaman-ancaman yang dapat memengaruhi entitas
IoT sangat beragam, tergantung pada target serangan tersebut [3].

B. Penelitian yang dilakukan oleh Hittu Garg dan Mayank Dave yang berjudul “Securing
IoTDevices and SecurelyConnecting the Dots Using REST API and Middleware” dari
penelitian tersebut membahas terkait isu keamanan pada Internet of Things (IoT) dengan
mengutip salah satu isu tentang “Serangan DDoS yang dahsyat baru-baru ini (Oktober
2016) di server DYN yang melumpuhkan banyak layanan online populer di AS,
membiarkan kami tahu apa yang dapat terjadi jika penyerang dapat memanfaatkan hingga
150.000 perangkat IoT yang tidak aman sebagai terminal berbahaya” dan pada penelitian
ini penulis mengusulkan sebuah arsitektur middleware yang menyediakan solusi keamanan
end-to-end untuk pada Internet of Things (IoT) [4].

C. Penelitian yang dilakukan oleh Steven J. Johnston, Mark Scott dan Simon J. Cox yang
berjudul “Recommendations for securing Internet of Things devices using commodity
hardware” pada penelitian berkesimpulan pemberian sebuah rekomendasi untuk
mengamankan perang Internet of Things (IoT) [5].
22. Tinjauan Studi
A. Internet of Things (IoT)
Internet of things merupakan sebuah konsep di mana suatu benda atau objek ditanamkan
teknologi-teknologi seperti sensor dan software dengan tujuan untuk berkomunikasi,
mengendalikan, menghubungkan, dan bertukar data melalui perangkat lain selama masih
terhubung ke internet. IoT memiliki hubungan yang erat dengan istilah machine-to-machine atau
M2M. Seluruh alat yang memiliki kemampuan komunikasi M2M ini sering disebut dengan
perangkat cerdas atau smart devices. Perangkat cerdas ini diharapkan dapat membantu kerja
manusia dalam menyelesaikan berbagai urusan atau tugas yang ada [1].
B. Keamanan Internet of Things (IoT)
Internet of Things (IoT) menimbulkan tantangan keamanan, privasi, dan kepatuhan yang
unik bagi bisnis di seluruh dunia. Tidak seperti teknologi cyber tradisional di mana masalahnya
berputar di sekitar perangkat lunak dan bagaimana cara implementasinya, IoT menyangkut apa
yang terjadi ketika dunia maya dan dunia fisik bertemu. Melindungi solusi IoT memerlukan provisi
perangkat yang aman, konektivitas yang aman antara perangkat ini dan cloud, dan perlindungan

8
data yang aman di cloud selama pemrosesan dan penyimpanan. Hanya saja, perangkat yang
dibatasi sumber dayanya, distribusi geografis dari penyebaran, dan sejumlah besar perangkat
dalam solusi bekerja secara melawan fungsionalitas [6].
C. WSO2
WSO2 API Manager adalah platform lengkap untuk membangun, mengintegrasikan, dan
mengekspos layanan digital sebagai API terkelola di arsitektur cloud, on-
premise, dan hybrid untuk mendorong transformasi digital bisnis Anda. WSO2 API Manager
memungkinkan developer API untuk merancang, menerbitkan, dan mengelola lifecycle API dan
manajer produk API untuk membuat produk dari satu atau beberapa API. Penerapan WSO2 API
Manager memungkinkan developer membuat, mempublikasikan, dan menggunakan API hanya
dalam 5 menit. Developer dapat membuat dan menerapkan aplikasi Siddhi dalam 5 menit dan
menampilkannya sebagai API Streaming. WSO2 API Manager dibandingn dengan arsitektur yang
terdiri dari bidang manajemen, data, dan kontol bersama sejumlah tool yang
digunakan developer untuk membantu proses kerja dengan mendukung berbagai komponen [7].
D. Arduino IDE
Arduino IDE adalah software yang digunakan untuk membuat sketch pemrogaman atau
dengan kata lain arduino IDE sebagai media untuk pemrogaman pada board yang ingin diprogram.
Arduino IDE ini berguna untuk mengedit, membuat, meng-upload ke board yang ditentukan, dan
meng-coding program tertentu. Arduino IDE dibuat dari bahasa pemrogaman JAVA, yang
dilengkapi dengan library C/C++(wiring), yang membuat operasi input/output lebih mudah [8].

Gambar 2 Arduino IDE


(Sumber Gambar: https://www.circuitbasics.com/how-to-install-and-configure-the-arduino-ide/)

9
E. RabbitMQ
RabbitMQ merupakan salah satu dari sekian banyak Message Broker. Bisa kita analogikan
sebagai kantor pos. Ketika kita ingin mengirim surat, kita memasukkan surat tersebut kedalam
kotak pos. Dari kotak pos surat akan diproses terlebih dahulu di kantor pos untuk difilter dan
disortir sesuai dengan wilayah atau daerah penerima surat. Dan selanjutnya pihak kantor pos akan
menugaskan tukang pos untuk mengirimkan surat tersebut kepada penerima. Nah dalam analogi
ini, RabbitMQ adalah kotak pos, kantor pos, dan tukang pos. Yang bertugas menerima pesan,
mengatur pesan untuk dikirimkan kemana, sekaligus mengirimkannya ke penerima. Dan
umumnya pesan di RabbitMQ yang dikirimkan ke receiver digunakan untuk memicu suatu
pekerjaan yang akan dilakukan oleh receiver. Misal RabbitMQ menyimpan antrian pesan yang
berisi alamat email dan isi email. Ketika RabbitMQ mengirim pesan tersebut ke receiver, maka
receiver akan mengirim email dengan tujuan dan isi email sesuai dengan pesan yang diterima dari
RabbitMQ [9].
F. MongoDB
MongoDB adalah salah satu jenis database NoSQL yang cukup populer digunakan dalam
pengembangan website. Berbeda dengan database jenis SQL yang menyimpan data menggunakan
relasi tabel, MongoDB menggunakan dokumen dengan format JSON [10].
G. NodeJs
Node.js adalah runtime environment untuk JavaScript yang bersifat open-source dan cross-
platform. Dengan Node.js kita dapat menjalankan kode JavaScript di mana pun, tidak hanya
terbatas pada lingkungan browser. Node.js menjalankan V8 JavaScript engine (yang juga
merupakan inti dari Google Chrome) di luar browser. Ini memungkinkan Node.js memiliki
performa yang tinggi. Node.js juga menyediakan banyak library/module JavaScript yang
membantu menyederhanakan pengembangan aplikasi web [11].

10
3. Metodologi Penelitian
31. Alur Penelitian

Gambar 3 Alur Penelitian


(Sumber Gambar:Dokumen Pribadi (Sumber Gambar:Dokumen Pribadi dengan desain
menggunakan https://app.diagrams.net/)

Pada gambar diatas merupakan alur pada penelitian ini, dimana ada 4 tahapan diantaranya
sebagai berikut:
1. Pada tahapan awal penulis mencari isu tentang keamanan pada perangkat Internet of Things
(IoT).
2. Pada tahapan kedua penulis merumuskan masalah yang di dapat pada tahapan awal.
3. Pada tahapan ketiga penulis menguraikan usulan yang penulis usulan untuk menangani
masalah keamann pada perangkat IoT.
4. Tahapan 4 penulis melakukan eksperimen pada usulan yang penulis ajukan.
32. Kebutuhan Perangkat Lunak dan Persyaratan Penerapan Arsitektur Sistem IoT
Beberapa kebutuhan yang digunakan untuk implementasi desain arsitektur yang penulis
usulkan:
1. Arduino IDE
Pada perangkat IoT penulis menggunakan mikontroller NodeMcu dan Arduino IDE untuk
memprogram perangkat Iot.
2. RabbitMQ
Digunakan untuk antrian data dari perangkat IoT, perangkat IoT akan diconfigurasi untuk
melakukan publish data sensor ke channel atau topic yang sudah di tentukan melalui protocol
MQTT.
3. Identity server WSO2
Digunakan sebagai jembatan untuk memvalidasi perangkat IoT yang di izinkan untuk
mengirim data maupun menerima data.
4. NodeJs

11
Digunakan untuk membangun sebuah service untuk menerima data yang dikirim oleh
perangkat IoT melalui RabbitMQ dan melakukan request terdapat identity server untuk
memvalidasi identitas perangkat IoT, Jika perangkat IoT dikenali maka data sensor yang dikirim
akan di simpan kedalam database, Jika tidak dikenali maka data tidak akan diproses.
5. MongoDB
Digunakan untuk menyimpan data perangkat IoT (data sensor)
33. Usulan Desain Arsitektur Internet of Things (IoT)
Pada tahapan ini penulis mengajukan usulan arsitektur IoT yang di bagi menjadi 2 gambar
, Gambar 4 merupakan arsitektur untuk menyimpan data sensor , misalkan device iot untuk suhu
ruangan dan Gambar 5 merupakan arsitektur untuk perangkat iot yang merima tugas atau
melakukan tugas tertentu misalkan perangkat aktuator yang menyalakan dan mematikan AC pada
ruangan.
Pada artitkel ini identity server dijadikan sebuah gerbang autentikasi perangkat IoT dengan
tujuan agar hanya perangkat IoT yeng dikenali yang dapat mengirimkan atau mengambil data dari
server. Pada setaip perangkat IoT akan diberi identitas dengan nama guid yang disetiap perangkat
akan berbeda-beda. Setiap identitas perangkat IoT akan di daftarkan ke dalam identity server
sehingga hanya perangkat IoT yang terdaftar yang dapat mengirimkan data atau menerima data
dari server.
Pada artitkel ini identity server dijadikan sebuah gerbang autentikasi aplikasi dan website
yang akan digunaka user untuk memberi perintah kepada perangkat IoT untuk melakukan tugas
tertentu atau mengambil data perangkat IoT, Misalkan User A akan memberi perintah kepada
perangkat IoT dengan guid : c3b5ec7d-db94-4058-ae7d-e04df9972ed3 untuk mematikan AC pada
ruangan R.12 B, identity server dijadikan gerbang untuk autentikasi bahwa user A benar terdaftar
dan benar memiliki perangkat IoT dengan guid : c3b5ec7d-db94-4058-ae7d-e04df9972ed3.

12
Gambar 4 Arsitektur perangkat IoT simpan data sensor kedalam database
(Sumber Gambar:Dokumen Pribadi dengan desain menggunakan https://app.diagrams.net/)

Gambar 5 Arsitektur mengendalikan perangkat IoT


(Sumber Gambar:Dokumen Pribadi dengan desain menggunakan https://app.diagrams.net/)

13
4. Pembahasan
41. Siklus Hidup Pengembangan Perangkat Lunak IoT
Pada Gambar di bawah ini menjelaskan terkait tahapan yang akan dilakukan untuk dapat
tercapainya tujuan dalam membangun keamanan perangkat lunak pada Internet of Things (IoT)
diantaranya melakukan perencaan, menganalisa semua kemungkinan resiko yang akan terjadi,
melakukan desain, melakukan pengembangan dan pengujian.

Gambar 6 Siklus Hidup Pengembangan Perangkat Lunak IoT


(Sumber Gambar:Dokumen Pribadi dengan desain menggunakan https://app.diagrams.net/)

42. Persyaratan Keamanan Perangkat Lunak Pada IoT (Security Requirement)


Pada tahapan ini penulis mengumpul beberapa fungsi yang harus ada pada perangkat IoT:
Tabel 1 Security Requirement
No Fungsi
1 Fungksi Koneksi Wi-Fi
2 Fungsi Baca Sensor Berat
3 Fungsi Baca Sensor Power
4 Fungsi Koneksi Server
5 Fungsi Restart Device

43. Desain Keamanan Perangkat Lunak Pada IoT (Secure Design)


Pada tahapan ini penulis mengambarkan dalam bentuk use case diagram terkait desain yang
dijadikan acuan dalam tahapan pengembangan perangkat IoT:

14
Gambar 7 Contoh desain untuk tahapan desain
(Sumber Gambar:Dokumen Pribadi dengan desain menggunakan https://app.diagrams.net/)

44. Pengembangan (Secure Coding) dan Pengujian Pada Perangkat IoT


Pada Tahapan implementasi penulis menerapkan pada mikrokontroller Nodemcu, sensor
beban load cell untuk mendeteksi berat suatu benda dan sensor sensor pzem 004t untuk mengukur
tegangan, arus, daya aktif, dan konsumsi daya (wh), pada tahapan ini penulis menerapkankan pada
sebuah penelitian dengan nama Dispenser IoT yang dapat mendeteksi berat air minum pada
dispenser dan mendeteksi konsumsi listrik yang di pakai oleh dispenser.

Gambar 8 Mikrokontroller NodeMCU


(Sumber Gambar : https://components101.com/sites/default/files/component_pin/NodeMCU-
ESP8266-Pinout.jpg)

15
Gambar 9 Load Sell Sensor
(Sumber Gambar: https://www.edukasielektronika.com/2020/10/sensor-berat-load-cell.html)

Gambar 10 Sensor Pzem 004t


(Sumber Gambar:https://www.nn-digital.com/blog/2019/07/10/mengenal-pzem-004t-modul-
elektronik-untuk-alat-pengukuran-listrik/)

16
Gambar 11 Source Code pada device IoT
(Sumber Gambar:Dokumen Pribadi Hasil Tangkapan Layar 10-Januari-2023)

Pada Gambar 11 penulis merupakan contoh code penerapan pada perangkat IoT, Pada
gambar 11 terdapat code deviceGuid dan ClientID, deviceGuid berfungsi sebagai identitas device
IoT yang setiap device akan berbeda-beda dan ClientID berfungsi sebagai identitas identity server.
Pada Gambar 12 adalah code fungsi untuk mengirimkan data sensor ke RabbitMQ. Pada Gambar
13 adalah code configurasi perangkat IoT ke Message Broker RabbitMQ.

Gambar 12 Code fungsi publish data sensor ke RabbitMQ


(Sumber Gambar:Dokumen Pribadi Hasil Tangkapan Layar 10-Januari-2023)

Gambar 13 Code Alamat pengiriman data Sensor


(Sumber Gambar:Dokumen Pribadi Hasil Tangkapan Layar 10-Januari-2023)

17
45. Implementasi Pada Identity Server WSO2
Gambar 14 merupakan menu login identity server wso2, Gambar 13 merupakan dashboard
console dari identity server, Gambar 15 merupakan menu untuk mendaftarkan aplikasi identity
server wso2. Pada tahapan ini penulis mencoba install WSO2 pada server dengan sistem operasi
windows server 2012.

Gambar 14 Menu Login Identity Server WSO2


(Sumber Gambar:Dokumen Pribadi Hasil Tangkapan Layar 10-Januari-2023)

Gambar 15 Dashboard Identity Server Wso2


(Sumber Gambar:Dokumen Pribadi Hasil Tangkapan Layar 10-Januari-2023)

18
Gambar 16 Menu untuk membuat aplikasi baru
(Sumber Gambar:Dokumen Pribadi Hasil Tangkapan Layar 10-Januari-2023)

46. Implementasi Pada Message Broker RabbitMQ


Pada tahapan ini penulis install RabbitMQ versi 3.11 pada windows server 2012 yang
digunakan sebagai jembatan antara perangkat IoT dengan Worker NodeJS dan identity server
disini perangkat IoT akses ke dalam RabbitMQ menggunakan protol MQTT.

Gambar 17 RabbitMQ
(Sumber Gambar:Dokumen Pribadi Hasil Tangkapan Layar 10-Januari-2023)

47. Implementasi Pada Worker NodeJs


Pada implementasi worker menggunakan nodeJs, worker ini berfungsi untuk menerima
data dari RabbitMQ yang di kirim dari perangkat IoT, Worker Node JS akan melakukan

19
autentifikasi ke identity server terkait identitas perangkat IoT yang diterima, di bawah ini
merupakan contoh implementasi pada NodeJs.

Gambar 18 Implementasi pada NodeJs


(Sumber Gambar:Dokumen Pribadi Hasil Tangkapan Layar 10-Januari-2023)

48. Eksperimen
Pada eksperimen ini penulis mencoba menerapkan arsitektur keamanan pada perangkat iot
yang penulis ajukan dengan nama project Dispenser IoT dengan detail sebagai berikut:
Tabel 2 Detail perangkat IoT untuk eksperimen
Nama Perangkat Dispenser LSKK Lantai 2
Guid Perangkat (ID) Timbangan-2022-001-001-wqUeT6ToCPfp4
Tanggal dan jam eksperimen 02 Januari 2023 pukul 15:00
waktu +- 30 menit

Tabel 3 Skenario Untuk Ekperimen


No Nama device Kondisi Pengujian Pendingin Pemanas Waktu
Dispenser LSKK Pelajar Pejuang Lantai Dispenser dengan Galon 15:00 -
1 2 Kosong off off 15:05
Dispenser LSKK Pelajar Pejuang Lantai Dispenser dengan Galon 15:05-
2 2 Kosong on on 15:08
Dispenser LSKK Pelajar Pejuang Lantai Dispenser dengan Galon 15:08-
3 2 Kosong on off 15:10
Dispenser LSKK Pelajar Pejuang Lantai Dispenser dengan Galon 15:14-
4 2 Kosong off on 15:16
Dispenser LSKK Pelajar Pejuang Lantai 15:17-
5 2 Dispenser dengan Galon Penuh off off 15:19
Dispenser LSKK Pelajar Pejuang Lantai 15:20-
6 2 Dispenser dengan Galon Penuh on on 15:22

20
Dispenser LSKK Pelajar Pejuang Lantai 15:23-
7 2 Dispenser dengan Galon Penuh on off 15:25
Dispenser LSKK Pelajar Pejuang Lantai 15:27-
8 2 Dispenser dengan Galon Penuh off on 15:29
Dispenser LSKK Pelajar Pejuang Lantai 15:30-
9 2 Mengambil 200 ML air dingin on on 15:31
Dispenser LSKK Pelajar Pejuang Lantai 15:32-
10 2 Mengambil 200 ML air panas on on 15:33
Dispenser LSKK Pelajar Pejuang Lantai 15:32-
11 2 Mengambil 200 ML air biasa on on 15:33
Dispenser LSKK Pelajar Pejuang Lantai 15:34-
12 2 Mengambil 200 ML air biasa off off 15:35
Dispenser LSKK Pelajar Pejuang Lantai 15:35-
13 2 Mengambil 200 ML air panas off on 15:37
Dispenser LSKK Pelajar Pejuang Lantai 15:37-
14 2 Mengambil 200 ML air dingin on off 15:38

1. Eksperimen Pertama
Pada percobaan pertama penulis mencoba mendaftarkan perangkat dengan guid:
Timbangan-2022-001-001-wqUeT6ToCPfp4 ke dalam identity server:

Gambar 19 device dalam identity server


(Sumber Gambar:Dokumen Pribadi Hasil Tangkapan Layar 10-Januari-2023)

Worker nodejs dijalankan untuk menerima data dari RabbitMQ.

Gambar 20 Worker NodeJS


(Sumber Gambar:Dokumen Pribadi Hasil Tangkapan Layar 10-Januari-2023)

21
Gambar 21 Log Worker NodeJS menerima data dengan perangkat IoT yang terdaftar
(Sumber Gambar:Dokumen Pribadi Hasil Tangkapan Layar 10-Januari-2023)

2. Eksperimen Kedua
Pada percobaan kedua penulis mencoba menghapus perangkat dengan guid: Timbangan-
2022-001-001-wqUeT6ToCPfp4 di dalam identity server:

Gambar 22 Menghapus device dalam identity server


(Sumber Gambar:Dokumen Pribadi Hasil Tangkapan Layar 10-Januari-2023)

Gambar 23 Log Worker menerima data dengan perangkat IoT yang tidak terdaftar
(Sumber Gambar:Dokumen Pribadi Hasil Tangkapan Layar 10-Januari-2023)

22
49. Hasil Data Sensor
Demikian adalah ada sensor berat dan sensor power saat yang di hasilkan saat eksperimen
ini dilakukan:

Gambar 24 Hasil Sensor Power


(Sumber Gambar:Dokumen Pribadi Hasil Tangkapan Layar 10-Januari-2023)

Gambar 25 Hasil Sensor Berat


(Sumber Gambar:Dokumen Pribadi Hasil Tangkapan Layar 10-Januari-2023)

23
5. Kesimpulan
51. Kesimpulan
Identity Server WSO2 dijadikan gerbang autentikasi masuknya data dari perangkat IoT,
Perangkat IoT yang terdaftar yang di izinkan untuk mengirimkan data ke server. Identity Server
WSO2 dijadikan gerbang autentikasi untuk pengguna yang akan melakukan kontrol terdahap
perangkat IoT, hanya pengguna yang terdaftar memiliki perangkat IoT tersebuat yang diizinkan
untuk melakukan Kontrol terhadap perangkat IoT. Pada Makalah ini penulis melakukan
eksperimen terhadap perangkat IoT dengan Mikrokontroller Nodemcu dengan sensor berat dan
sensor power. Data sensor dikirimkan ke dalam message broker RabbitMQ lalu diterima dengan
sebuah worker yang dibuat dengan menggunakan nodejs. Lalu worker akan melalukan autentikasi
ke identity server untuk validasi identitas perangkat IoT. Hasilnya adalah jika perangkat IoT
identitas nya terdaftar dalam identity server maka perangkat IoT diizinkan menyimpan data sensor
ke dalam database, Jika identitas perangkat IoT tidak terdaftar maka data sensor tidak dizinkan
untuk menyimpan data kedalam database.

24
DAFTAR PUSTAKA

[1] R. Setiawan, "Dicoding," 8 September 2021. [Online]. Available:


https://www.dicoding.com/blog/apa-itu-internet-of-things/.
[2] A. P. Widiantoro, "dicoding," dicoding, 28 september 2022. [Online]. Available:
https://www.dicoding.com/blog/perkembangan-internet-of-things-di-2022/. [Accessed 3
January 2023].
[3] S. S. W. Warsun Najib, “Tinjauan Ancaman dan Solusi Keamanan pada Teknologi Internet
of Things (Review on Security Threat and Solution of Internet of Things Technology),”
Jurnal Nasional Teknik Elektro dan Teknologi Informasi, 2020.
[4] M. D. Hittu Garg, "Securing IoT Devices and SecurelyConnecting the Dots Using REST
API and Middleware," 2019.
[5] M. S. S. J. C. Steven J. Johnston, "Recommendations for securing Internet of Things devices
using commodity hardware," 2020.
[6] Microsoft, "Keamanan untuk Internet of Things (IoT) dari bawah ke atas," Microsoft, 27 9
2022. [Online]. Available: https://learn.microsoft.com/id-id/azure/iot-fundamentals/iot-
security-ground-up. [Accessed 3 january 2023].
[7] E. Anggraini, "Inovasi Informatika Indonesia," 1 Maret 2022. [Online]. Available: https://i-
3.co.id/mengenal-api-manager-dan-keuntungannya-untuk-transformasi-digital/. [Accessed
3 January 2023].
[8] Erintafifah, "Mengenal Perangkat Lunak Arduino IDE," 8 October 2021. [Online].
Available: https://www.kmtech.id/post/mengenal-perangkat-lunak-arduino-ide. [Accessed 3
January 2023].
[9] A. Rizki, "Berkenalan dengan RabbitMQ," Medium, 20 Maret 2018. [Online]. Available:
https://medium.com/skyshidigital/rabbitmq-di-nodejs-1fadbf5ad384. [Accessed 3 January
2023].
[10] P. Aprilia, "MongoDB: Pengertian, Manfaat, dan Cara Menggunakannya," 22 March 2022.
[Online]. Available: https://www.niagahoster.co.id/blog/mongodb-adalah/. [Accessed 3
January 2023].
[11] D. Indonesia, "Tutorial Node.js: Apa itu Node.js dan dasar-dasar Node.js," 15 may 2021.
[Online]. Available: https://www.dicoding.com/blog/apa-itu-node-js/. [Accessed 3 January
2023].

25

Anda mungkin juga menyukai