Perancangan danImplementasi Middleware Berbasis Blockchain sebagai Kontrol Akses
untuk Mengatur Hak Akses pada Komunikasi IoT
Hafidzil Khairi1, Parman Sukarno2, Aulia Arif Wardana3 1,2,3Fakultas Informatika, Universitas Telkom, Bandung
1hafidzilkhairi@students.telkomuniversity.ac.id,2psukarno@telkomuniversity.ac.id, 3auliawardan@telkomuniversity.ac.id
Abstrak
Internet of thingsmerupakan kumpulan perangkat yang terdistribusi, saling terhubung dan bertukar data. Sifat terdistribusi tersebut menghasilkan suatu tantangan pada hak akses, dimana seharusnya perangkat IoT hanya dapat diakses oleh entitas yang berhak. Kebanyakkan metode keamanan IoT bersifatcentrilized dimana metode tersebut memiliki ketergantungan pada satu entitas dan rentan terhadap single-point-of-failure. Salah satu teknologi yang berpotensi adalah Blockchain. Blockchain hadir dengan beberapa ka-rakteristik sepertidecentrilizeddan terdistribusi, tetapi kebutuhan untuk menjalankan Blockchain bertolak belakang dengan kemampuan perangkat IoT sehingga membutuhkan suatu perantara. Penulis merancang dan mengimplementasikan perantara berupamiddlewaresebagai kontrol akses berbasis Blockchain untuk mengontrol komunikasi perangkat IoT.Middlewaredapat menghubungkan antara Blockchain dan perang-kat IoT dan tetap menjaga karakteristik dari Blockchain.
Kata kunci : Blockchain, Kontrol Akses, Middleware, IoT Abstract
Internet of things is a collection of devices that are distributed, interconnected, and exchange data. This dis-tributed results in a challenge of authorization, where IoT devices should only be accessible to authorized entities. Most IoT security methods are centralized on one entity and vulnerable to a single point of failure. One potential technology is Blockchain. Blockchain comes with several characteristics, such as decentrali-zed and distributed. But the requirement to run a blockchain is contrary to the IoT device capabilities, so it requires an intermediary. The author designed and implemented an intermediary in the form of middle-ware as Blockchain-based access control to manage IoT devices communication. Middlemiddle-ware can connect between Blockchain and IoT devices and still maintain the characteristics of Blockchain.
Keywords: Blockchain, Access Control, Middleware, IoT
1.
Pendahuluan
Latar BelakangInternet of Things(IoT) merupakan kumpulan perangkat yang terdistribusi, saling terhubung dan bertukar data pada suatu jaringan untuk mengubah kondisi fisik menjadi digital atau pun sebaliknya sehingga menghasilkan suatu layanan. Layanan ini dapat dimanfaatkan pada banyak domain seperti smart home, smart city, layanan kesehatan, kendaraan tanpa awak, pertanian, industri, hinggaretail-sector[1].
Pemanfaatan perangkat IoT mengalami peningkatan jumlah instalasi setiap tahunnya[2], hal yang sama dia-lami juga oleh produksmart home, dimana pada 2017market share smart homemencapai 76.6 milyar USD dan diperkirakan akan mencapai 151.4 milyar USD pada tahun 2024[3].
Peningkatan instalasi perangkat IoT merupakan salah satu faktor kriteria sebagai perangkat dengan resiko kea-manan yang tinggi berdasarkan klasifikasi Ivan Cviti´c et al[4]. Karakteristik terdistribusi pada perangkat IoT juga memiliki tantangan dan risiko pada keamanan perangkat, salah satu tantangan tersebut merupakan hak akses[5]. Perangkat IoT seharusnya hanya dapat diakses oleh organisasi tertentu yang memiliki kewenangan.
Banyak metode untuk mengamankan perangkat IoT, kebanyakan metode tersebut memiliki karakteristik cen-tralizedyang mana alur lalu lintas jaringan mengarah dari banyak ke satu entitas sehingga berisiko terhadap single-point-of-failure[6], oleh karena itu dibutuhkann metode keamanan yangdecentralizeddan terdistribusi. Salah satu teknologi yang umum diketahui memiliki karakteristik terdistribusi dandecentralizedadalahBlockchain[7][8][9]. Perangkat IoT memiliki penyimpanan dan sumber daya yang terbatas, hal ini bertolak belakang dengan kebu-tuhan Blockchain[10][11]. Blockchain harus menyimpan seluruh transaksi dari awal Blockchain dijalankan, dan
melakukan komputasi untuk memenuhi kriteria konsensus[12], sehingga memerlukan suatu pendekatan sebagai perantara antara Blockchain dan perangkat IoT.
Penulis merancang dan mengimplementasikan perantara berupa middleware sebagai kontrol akses berbasis Blockchain untuk mengontrol komunikasi perangkat IoT. Blockchain ditempatkan pada perangkat dengan sumber daya dan penyimpanan yang tinggi dan besar, biasanya berupa komputerserver, sehingga dapat mempertahankan karakteristikdecentrilizeddan terdistribusi dari Blockchain.
Topik dan Batasannya
Berdasarkan latar belakang di atas penulis merancang dan mengimplementasikanmiddlewaresebagai perantara antara Blockchain dan perangkat IoT. Agar penulisan ini dapat dilakukan lebih fokus dan mendalam, penulis merumuskan beberapa batasan sebagai berikut:
• Protokol komunikasi antaramiddlewaredan IoT menggunakan HTTPS.
• Komunikasi antara middlewaredan Blockchain menggunakanlibrary web3 yang menggunakan protokol RPC
• Penulis memakai Ethereum sebagai Blockchain.
• Melakukan seranganSniffinguntuk menguji kerahasiaan data danDenial-of-serviceuntuk menguji karakte-ristikdecentrilized.
Tujuan
Penulis merancang dan mengimplementasikan perantara berupamiddlewareantara Blockchain dan perangkat IoT sebagai kontrol akses untuk mengontrol komunikasi perangkat IoT sehingga dapat mempertahankan karakte-ristikdecentrilizeddan terdistribusi dari Blockchain.
Organisasi Tulisan
Penulisan ini dirumuskan menjadi beberapa bagian. Pendahuluan memuat latar belakang dan batasan dari sis-tem. Studi Terkait memaparkan tulisan yang berkaitan dengan sissis-tem. Perancangan dan implementasi dirumuskan pada bagian Sistem yang dibangun. Penulis melakukan analisis pada bagian Evaluasi dan memaparkan kesimpulan pada bagian Kesimpulan.
2.
Studi Terkait
BlockchainBlockchain merupakan konsep yang mendasari terciptanya mata uang digital bernama Bitcoin[13]. Blockchain mempunyai karakteristik aman,decentrilized, dan terdistribusi sehingga Blockchain mampu menghindari keter-gantungan terhadap pihak ketiga, dalam kasus Bitcoin merupakan lembaga keuangan seperti Bank. Keamanan Blockchain terdapat pada integritas data. Pertama kali diperkenalkan integritas data didalam Blockchain dijaga menggunakan metode konsensusProof-Of-Work(POW). Blockchain dapat diimplementasikan pada bidang sela-in mata uang digital, seperti jasa notaris, pencatatan hak kepemilikan, validasi dokumen dan penyimpanan[8]. Karakteristik Blockchain berpotensi menjadi solusi atas rumusan masalah yang telah disinggung pada bagian se-belumnya.
Gambar 1 menunjukkan ilustrasi dari Blockchain. Blockchain terdiri dari barisanblockyang terhubung dan menyimpan data transaksi. Blockpertama yang tidak mempunyaiblockpendahulu bernamagenesis block. Tiap
blockmenyimpan nilai hash dariblocksebelumnya, sedangkangenesis blockhanya menyimpan nilai hash 0. Tx merupakan transaksi yang telah di rekam pada Blockchain dan satublockdapat berisi banyak transaksi.
Gambar 2 menunjukkan ilustrasi bagian dari sebuahblockpada Blockchain.Blockterdiri dariblock headerdan transaksi, block header mengandung informasi nilai hash dariblock headersebelumnya, nonce yang akan terus meningkat sampai hash memenuhi kriteria yang diinginkan, danRoot hashmerupakan nilai hash dari keseluruhan transaksi, nilairoot hashdidapat menggunakan metode Markle Tree.
Gambar2.Ilustrasi sebuah block
Blockchain menjaga integritas data dengan menggunakan konsensus. Konsensus merupakan kesepakatan yang harus dipenuhi oleh setiap node yang bergabung dalam Blockchain. Kebutuhan untuk melakukan konsensus ba-nyak yang tidak sesuai secara penuh terhadap kemampuan perangkat IoT[14].
Perangkat IoT
Perangkat IoT merupakan perangkat-perangkat yang terhubung antara satu dengan yang lainnya, sehingga dapat saling bertukar data. Perangkat IoT mempunyai banyak karakteristik[15][16].Beberapa karakteristik tersebut seperti:
• Konektivitas: Perangkat IoT terhubung satu dengan yang lainnya. Perangkat IoT bertukar data untuk meng-hasilkan suatu layanan tertentu.
• Skalabilitas: Instalasi perangkat IoT pada suatu sistem dapat mencapai jumlah yang besar.
• Terdistribusi: Perangkat IoT tersebar secara geografis dan dapat memiliki kegunaan yang berbeda-beda.
MiddlewareSebagai Perantara
Blockchain secara berkelanjutan menyimpan seluruhblockyang dihasilkan selama proses dan melakukan kom-putasi untuk memenuhi kriteria konsensus, sedangkan perangkat IoT keterbatasan dari segi penyimpanan dan ke-mampuan komputasi sehingga memerlukan perantara.
Beberapa penulis telah mengajukan sistemaccess controldengan menghubungkan Blockchain dan perangkat IoT, seperti Oscar Novo et al [17] dan Ali Dorri et al [18].
O. Novo et al [17] mengajukan sistemaccess controluntuk perangkat IoT menggunakan blockchain dengan memperhatikan kemampuan skalabilitas sistem.Access controlterdiri dari jaringan Blockchain, Management Hub, serta perangkat IoT. Jaringan Blockchain menyimpan kebijakan untuk mengatur bagaimana lalu lintas komunikasi antar perangkat IoT. Management Hub merupakan perantara antara jaringan Blockchain dan perangkat IoT. Sistem ini masih belum sepenuhnyadecentrilized karena perangkat IoT masih memiliki ketergantungan terhadap satu entitas yaitu Management Hub.
Dorry et al [18] mengajukan arsitektur sistemaccess controlmenggunakan Blockchain pada lingkungan smar-thome. Komunikasi antara Sistem terdiri dari 2 entitas, jaringan Blockchain dan perangkat IoT. Jaringan Blockcha-in mengnyimpan kebijakan untuk mengatur komunikasi antar perangkat IoT. Perangkat IoT terhubung langsung dengan Blockchain untuk kepentingan otorisasi perangkat yang ingin terhubung. Dorry et al melakukan anali-sis dengan menyimulasikan arsitektur pada sebuah aplikasi bernama Cooja. Penulis Dorry et al menghilangkan konsensus pada arsitektur ini sekaligus menjadikan suatu kelemahan pada sistem, dimana konsensus merupakan bagian inti dari Blockchain[19].
3.
Sistem yang Dibangun
Sistem dibangun menggunakan Blockchain, dan perangkat IoT yang terhubung satu dengan yang lainnya. Ilus-trasi jaringan dari sistem dapat dilihat pada gambar 3. Terdapat dua jenis koneksi, yaituInternet Connection(IC) danStrict Connection(SC), IC merupakan koneksi internet yang menghubungkan sesama node dalam blockcha-in, sedangkan SC merupakan koneksi sesama perangkat IoT. Jaringan SC memiliki ketentuan dimana perangkat
yang terhubung harus meminta izin kepada salah satu node Blockchain terlebih dahulu sebelum memberikan ak-ses kepada perangkat lainnya. Terdapat dua jenis data yang disimpan pada Blockchain, yaituPolicy List(PL) dan
Activity List(AL).Policiy List merupakan kebijakan yang mengatur komunikasi antar perangkat IoT, sedangkan
Activity Listmerupakanlogkomunikasi yang terjadi. Admin dapat mengatur dan mengubah kebijakan sesuai yang diperlukan. Peran admin dapat dilihat pada gambar 4. Keamanan antaramiddlewaredan perangkat IoT dijaga menggunakan protokol komunikasi HTTPS.Middlewareditempatkan pada setiap Node Blockchain.
Gambar3.Jaringan blockchain dan perangkat IoT
Alur komunikasi dapat dilihat pada gambar 5. Ada empat peran dalam alur komunikasi tersebut, yaitu per-angkatrequester, perangkatprovider,middlewaredannodeBlockchain. Perangkatrequestermerupakan perang-kat yang meminta akses atau layanan kepada perangperang-katprovidersebagai penyedia layanan, kemudian perangkat
providermeminta izin kepadamiddleware. Middlewarememinta kebijakan terkait komunikasi tersebut kenode
Blockchain yang mengatur apakah komunikasi tersebut dapat diproses.
Perangkatprovidermenyertakan beberapa data ketika meminta perizinan kepadamiddlewareuntuk memproses permintaan perangkatrequester. Data tersebut terdiri dari beberapa jenis atribut seperti yang ditunjukkan pada tabel 1. ”deviceID” merupakan id dari perangkatprovider, sedangkan ”requester” merupakan id dari perangkat
requesterdan ”activity” merupakan jenis akses seperti ”read” dan ”write”. Middleware akan memberi balasan berupa kebijakan yang mengatur komunikasi tersebut. Kebijakan tersebut berupa atribut data seperti pada tabel 2. Atribut satu sampai tiga memiliki fungsi yang sama seperti atribut yang dikirim oleh perangkat IoT, sedangkan ”permission” merupakan izin dari permintaan akses dengan nilai berupatruesebagai tanda akses diizinkan atau
Gambar4.Jaringan blockchain dan perangkat IoT
Gambar5.Alur komunikasi sistem
Tabel1.Jenis atribut dalam komunikasi dari perangkat IoT ke Node Blockchain
No Nama Keterangan
1 deviceID id dari perangkatprovider
2 requester id dari perangkatrequester
3 activity jenis akses
Tabel2.Jenis atribut dalam komunikasi dari Node Blockchain ke perangkat IoT
No Nama Keterangan
1 deviceID id dari perangkatprovider
2 requester id dari perangkatrequester
3 activity jenis akses
4 permission perizinan yang mengatur komunikasi antar perangkat
4.
Evaluasi
4.1
Hasil Pengujian
Penulis melakukan pengujian sistem menggunakan tiga skenario seperti yang ditunjukkan pada tabel 3. Tiap skenario terdapat keterangan bagaimana skenario tersebut dilakukan dan tolak ukur keberhasil.
Tabel3.Skenario Pengujian
No Nama Skenario
1 Serangan Sniffing Penulis menjalankan komunikasi antara node Blockchain dan perang-kat Provider, kemudian menyadap komunikasi tersebut menggunakan aplikasi wireshark.
2 Pengujian Decentri-lized
Penulis menjalankan tiga node Blockchain kemudian menjalankan per-angkat Provider untuk melakukan komunikasi dengan node Blockchain, kemudian salah satu node blockchain dimatikan.
3 Pengujian perangkat yang tidak berhak
Penulis menjalankan perangkat Provider dan perangkat Requester de-ngan id yang belum diizinkan oleh admin.
skenario pengujian, dan hasil pengujian terdapat pada kolom Hasil Pengujian. Kolom Status menunjukkan apakah pengujian tersebut berhasil atau gagal, keberhasilan pengujian ditentukan apakah hasil pengujian telah memenuhi tolak ukur dari skenario pengujian.
Tabel4.Hasil Pengujian
No Nama Ekspektasi Hasil Pengujian Status
1 Serangan Sniffing Konten komunikasi tidak dapat diekstrak
Konten dienkripsi menggunakan proto-kol HTTPS sehingga tidak dapat diekstrak
Berhasil
2 Pengujian Decentri-lized
Perangkat provider
masih dapat me-layani perangkat requester Perangkat provider dapat melayani perangkatrequester Berhasil 3 Pengujian perangkat yang tidak berhak
Perangkat provi-der tidak melayani permintaan akses
Perangkat provider
menolak untuk me-layani permintaan akses
Berhasil
4.2
Analisis
Implementasi HTTPS memberikan enkripsi pada komunikasi antara node Blockchain dan perangkat IoT. Gam-bar 6 menunjukkan data yang dapat dilihat oleh penyadap ketika dilakukan pengujian serangan Sniffing sehingga informasi data tersebut dapat diekstrak, setelah implementasi HTTPS data menjadi karakter acak seperti yang di-tunjukkan pada gambar 7 sehingga memberikan keuntungan berupa sulitnya penyadap untuk mengekstrak konten pada komunikasi antara node Blockchain dan perangkat IoT. Keuntungan ini memberikan keamanan integrasi dan kerahasiaan data pada komunikasi antara node Blockchain dan perangkat IoT.
Gambar6.Hasil penyadapan HTTP
Lalu-lintas komunikasi pada sistem ini tidak terpusat hanya pada satu node Blockchain, sehingga pengim-plementasian middleware tidak mengubah karakteristikdecentrilized dari Blockchain. Lalu-lintas komunikasi sebelum salah satu node dimatikan dapat dilihat pada gambar 8, terdapat tiga buah alamat IP yang terlihat aktif
Gambar7.Hasil penyadapan HTTPS
yaitu 192.168.2.10, 192.168.2.12, dan 192.168.2.27. Pengujian Decentrilized dilakukan dengan mematikan node Blockchain yang memiliki alamat IP 192.168.2.10, setelah dimatikan komunikasi dapat berlansung dengan hanya sisa node Blockchain seperti yang ditunjukkan pada gambar 9.
Gambar8.Alamat IP dari node yang aktif
Gambar9.Lalu-lintas komunikasi setelah satu node dimatikan
Middlewarememberikan kontrol akses yang sesuai pada komunikasi perangkat IoT. Pengujian dilakukan de-ngan perangkat requester yang tidak berhak mengakses perangkat provider. Gambar 10 menunjukkan perangkat Provider mendapatkan kode 403 dari middleware yang berarti komunikasi tersebut tidak diizinkan.
Gambar10.Konten respons yang mengatur komunikasi requester yang tidak berhak
gambar 11 menunjukkan grafik dari hasil pengujian. Waktu respons dari sistem bersifat acak karena melibatkan metode konsensus.
Gambar11.Konten respons yang mengatur komunikasi requester yang tidak berhak
5.
Kesimpulan
Kesimpulan dari penelitian ini adalah sesuai dengan tujuan yaitu merancang dam mengimplementasikan perantara berupamiddlewaresebagai kontrol akses berbasis Blockchain untuk mengontrol komunikasi perangkat IoT se-hingga dapat mempertahakan karakteristik decentrilized dan terdistribusi dari Blockchain.Middlewarepada node yang berbeda dapat memberikan kebijakan yang sama terkait komunikasi perangkat IoT sehingga tidak tersentra-lisasi pada satumiddlewaredan kebijakan terdistribusi kemiddlewareyang lainnya. Middleware memiliki waktu respons yang acak, pada 25 kali percobaan penulis mendapat waktu terlama adalah 8258 milisekon pada indeks
requestke-13, waktu tercepat adalah 1114 milisekon pada indeksrequestke-14, dan waktu rata-rata adalah 4014 milisekon.
Daftar Pustaka
[1] A. Al-Fuqaha, m. guizani, M. Mohammadi, M. Aledhari, and M. Ayyash, “Internet of things: A survey on enabling technologies, protocols and applications,”IEEE Communications Surveys amp Tutorials, vol. 17, p. Fourthquarter 2015, 11 2015.
[2] M. Burhan, R. A. Rehman, B.-S. Kim, and B. Khan, “Iot elements, layered architectures and security issues: A comprehensive survey,”Sensors, vol. 18, 08 2018.
[3] J. Tetazoo, “Smart home market |analysis by size, growth, trend and forecast to 2024
|marketsandmarkets.” Available at https://www.marketsandmarkets.com/Market-Reports/ smart-homes-and-assisted-living-advanced-technologie-and-global-market-121.html
(2020-03-13).
[4] I. Cviti´c, M. Vuji´c, et al., “Classification of security risks in the iot environment.,” Annals of DAAAM & Proceedings, vol. 26, no. 1, 2015.
[5] A. Belapurkar, A. Chakrabarti, H. Ponnapalli, N. Varadarajan, S. Padmanabhuni, and S. Sundarrajan, Distri-buted systems security: issues, processes and solutions. John Wiley & Sons, 2009.
[6] R. Roman, J. Zhou, and J. Lopez, “On the features and challenges of security and privacy in distributed internet of things,”Computer Networks, vol. 57, no. 10, pp. 2266–2279, 2013.
[7] A. Dorri, M. Steger, S. S. Kanhere, and R. Jurdak, “Blockchain: A distributed solution to automotive security and privacy,”IEEE Communications Magazine, vol. 55, no. 12, pp. 119–125, 2017.
[8] M. Crosby, P. Pattanayak, S. Verma, V. Kalyanaraman, et al., “Blockchain technology: Beyond bitcoin,”
Applied Innovation, vol. 2, no. 6-10, p. 71, 2016.
[9] W. Viriyasitavat and D. Hoonsopon, “Blockchain characteristics and consensus in modern business proces-ses,”Journal of Industrial Information Integration, vol. 13, pp. 32–39, 2019.
[10] M. A. Khan and K. Salah, “Iot security: Review, blockchain solutions, and open challenges,”Future Gene-ration Computer Systems, vol. 82, pp. 395–411, 2018.
[11] H. F. Atlam, A. Alenezi, M. O. Alassafi, and G. Wills, “Blockchain with internet of things: Benefits, cha-llenges, and future directions,”International Journal of Intelligent Systems and Applications, vol. 10, no. 6, pp. 40–48, 2018.
[12] Z. Zheng, S. Xie, H.-N. Dai, X. Chen, and H. Wang, “Blockchain challenges and opportunities: A survey,”
International Journal of Web and Grid Services, vol. 14, no. 4, pp. 352–375, 2018. [13] S. Nakamoto, “Bitcoin: A peer-to-peer electronic cash system,” 2008.
[14] M. Salimitari and M. Chatterjee, “A survey on consensus protocols in blockchain for iot networks,”arXiv preprint arXiv:1809.05613, 2018.
[15] K. K. Patel, S. M. Patel, et al., “Internet of things-iot: definition, characteristics, architecture, enabling technologies, application & future challenges,”International journal of engineering science and computing, vol. 6, no. 5, 2016.
[16] W. Viriyasitavat, T. Anuphaptrirong, and D. Hoonsopon, “When blockchain meets internet of things: Cha-racteristics, challenges, and business opportunities,” Journal of industrial information integration, vol. 15, pp. 21–28, 2019.
[17] O. Novo, “Blockchain meets iot: An architecture for scalable access management in iot,”IEEE Internet of Things Journal, vol. 5, no. 2, pp. 1184–1195, 2018.
[18] A. Dorri, S. S. Kanhere, R. Jurdak, and P. Gauravaram, “Blockchain for iot security and privacy: The case study of a smart home,” in2017 IEEE international conference on pervasive computing and communications workshops (PerCom workshops), pp. 618–623, IEEE, 2017.
[19] L. S. Sankar, M. Sindhu, and M. Sethumadhavan, “Survey of consensus protocols on blockchain applica-tions,” in 2017 4th International Conference on Advanced Computing and Communication Systems (ICA-CCS), pp. 1–5, IEEE, 2017.