• Tidak ada hasil yang ditemukan

Implementasi Autentikasi pada Protokol CoAP menggunakan Feige-Fiat- Shamir Identification Scheme

N/A
N/A
Protected

Academic year: 2021

Membagikan "Implementasi Autentikasi pada Protokol CoAP menggunakan Feige-Fiat- Shamir Identification Scheme"

Copied!
6
0
0

Teks penuh

(1)

Fakultas Ilmu Komputer

Universitas Brawijaya

3874

Implementasi Autentikasi pada Protokol CoAP menggunakan

Feige-Fiat-Shamir Identification Scheme

Julio Dimitri Fredrik1, Ari Kusyanti2, Reza Andria Siregar3

Program Studi Teknik Informatika, Fakultas Ilmu Komputer, Universitas Brawijaya Email: 1julionambela@student.ub.ac.id, 2ari.kusyanti@ub.ac.id, 3reza.jalin@ub.ac.id

Abstrak

Autentikasi masih menjadi masalah pada Constrained Application Protocol (CoAP). JSON Web Token (JWT) merupakan salah satu metode standar yang telah banyak digunakan untuk mekanisme autentikasi. Namun, metode ini memiliki kekurangan jika autentikasi dilakukan tanpa jalur yang aman. Hal ini disebabkan oleh pengiriman hash dari rahasia secara langsung saat mekanisme autentikasi JWT berlangsung. Feige-Fiat-Shamir (FFS) Identification Scheme merupakan metode autentikasi yang menerapkan mekanisme Zero-Knwoledge Proof (ZKP). Mekanisme ZKP merupakan suatu mekanisme perhitungan yang menyebabkan pengirim dapat membuktikan suatu rahasia tanpa mengirimkan rahasia secara langsung. Penelitian ini dilakukan dengan membuat pasangan kunci. Pasangan kunci kemudian di-hard code pada masing-masing perangkat sehingga rahasia langsung berada pada perangkat. Kemudian, autentikasi dilakukan dengan membuktikan kecocokan pasangan kunci menggunakan metode FFS Identification Scheme. Penelitian ini menghasilkan bahwa sistem autentikasi FFS Identification Scheme berhasil diterapkan pada autentikasi CoAP. Serangan duplikasi data rahasia yang didapatkan dari sniffing berhasil diatasi menggunakan mekanisme FFS Identification Scheme. Penelitian ini juga menghasilkan peningkatan memori dan waktu autentikasi yang dihasilkan dari penambahan panjang kunci hingga 256 bit.

Kata kunci: CoAP, IoT, Autentikasi, Zero-Knowledge Proof, Feige-Fiat-Shamir Identification Scheme

Abstract

Authentication is a problem in Constrained Application Protocol (CoAP). JSON Web Token is one of standard in authentication mechanisms. However, this method has vulnerability in unsecure connection. This is due JWT authentication mechanism send hash secret directly. Feige-Fiat-Shamir (FFS) Identification Scheme is an authentication method apply Zero-Knowledge Proof (ZKP) mechanism. ZKP mechanism is based on knowledge to proof secret without reveal single bit on the secret. This research starts by making pair of secret. The device in this research is hard code by the each one of the secret pair. Then, authentication mechanism is done by proving the that the pairs of secret is valid using FFS Identification Scheme. This research result that FFS Identification Scheme can be use on CoAP authentication. Duplication secret on authentication mechanism by sniffing can be resolve by FFS Identification Scheme mechanism. This research also provides memory and authentication performance enhancement up to 256 bits secret.

Keywords: CoAP, IoT, Authentication, Zero-Knowledge Proof, Feige-Fiat-Shamir Identification Scheme

1. PENDAHULUAN

Pada era revolusi industri 4.0 ini perangkat Internet of Things (IoT) menjadi perhatian dalam perkembangan teknologi. Perangkat IoT merupakan perangkat yang memiliki kemampuan untuk mendengar, melihat, berpikir, dan melakukan berbagai tugas melalui komunikasi dengan perangkat lain (Kaur, 2018).

Perangkat yang dilengkapi dengan sensor memiliki kemampuan untuk mendengar dan melihat. Sedangkan, perangkat yang dilengkapi dengan proses pengolahan data menjadi informasi merupakan perangkat yang memiliki kemampuan berpikir.

Kemampuan perangkat IoT yang terpisah membutuhkan sebuah komunikasi agar dapat melengkapi fungsinya sebagai perangkat IoT.

(2)

Komunikasi antar perangkat membutuhkan aturan (protokol) agar komunikasi dapat berjalan dengan baik. Menurut Sharma, protokol Constrained Application Protocol (CoAP) dan Message Queuing Telemetry Transport (MQTT) merupakan dua buah protokol komunikasi yang cocok untuk sistem perangkat dengan daya terbatas (Sharma & Gondhi, 2018).

Protokol CoAP menggunakan model arsitektur Representation State Transfer (REST). Arsitektur REST berguna membedakan komunikasi untuk meminta, memberikan, mengubah dan menghapus informasi menggunakan metode GET, POST, PUT, dan DELETE. Arsitektur REST digunakan pada Hypertext Transfer Protocol (HTTP). Arsitektur yang sama membuat CoAP mudah dihubungkan degan antarmuka HTTP. Desain yang lebih sederhana dan header yang lebih kecil membuat CoAP menjadi pelengkap pada HTTP untuk berkomunikasi pada lingkungan terbatas. Komunikasi CoAP ditujukan pada lingkungan machine-to-machine (M2M) yang terbatas seperti aplikasi energi pintar dan otomatisasi bangunan (Internet Engineering Task Force (IETF), 2014).

Pada penelitian sebelumnya, Putra mengimplementasikan CoAP pada Semantic IoT Web Service (Putra, et al., 2019). Implementasi ini menghubungkan HTTP dengan protokol CoAP untuk berkomunikasi saat mengambil data sensor. Implementasi yang digunakan pada proses autentikasi protokol CoAP menuju server adalah menggunakan framework JSON Web Token (JWT). JWT merupakan metode autentikasi yang banyak digunakan. Hal ini dibuktikan dengan adanya standar yang mengatur mekanisme JWT yaitu pada RFC 7519 dan diperbaharui pada RFC 7797. Metode autentikasi JWT menggunakan token untuk diproses oleh Access Token yang berperan sebagai pihak ketiga yang memvalidasi token. Token ini bersifat rahasia dikarenakan dengan token, proses autentikasi dapat berlangsung.

Jika pengiriman data rahasia ini dilakukan tanpa enkripsi atau jalur yang aman, rahasia ini akan mudah dicuri dan diduplikasi untuk melakukan koneksi lain. Salah satu celah yang memungkinkan untuk pencurian data rahasia adalah celah pada 2019-13483. CVE-2019-13483 merupakan laporan celah yang terjadi pada suatu sistem. Serangan ini dapat terjadi pada metode autentikasi JWT akibat kegagalan pihak Access Token melakukan validasi signature pada proses autentikasi JWT.

Kegagalan ini mengakibatkan Access Token tidak dapat memastikan keaslian token berasal dari pengirim yang tepat. Kegagalan ini membuka celah pada pihak penyerang untuk dapat melakukan duplikasi token dan melakukan koneksi ke server menggunakan data token yang sama. Serangan duplikasi data ini dapat terjadi karena mekanisme JWT mengirimkan token yang bersifat rahasia.

Berdasarkan latar belakang yang telah disebutkan pada subbab latar belakang, menunjukkan bahwa terdapat kemungkinan kegagalan sistem pada mekanisme JWT saat melakukan mekanisme autentikasi. Walaupun rahasia telah dilakukan hashing pada JWT, hasil hash tersebut dapat digunakan kembali untuk koneksi baru jika terjadi kegagalan validasi signature.

Zero-Knowledge Proof (ZKP) adalah sebuah metode untuk melakukan pembuktian suatu rahasia tanpa menukar rahasia yang ada. Metode ZKP menggunakan kombinasi perhitungan pemangkatan dan modulo untuk menghasilkan bukti kepemilikan rahasia. Dengan anggapan bahwa melakukan perhitungan pengakaran bilangan modulo sangat sulit untuk dilakukan, rahasia pada metode ZKP tidak dapat diduplikasi hanya dengan bukti rahasia yang dikirimkan. Metode ZKP dapat digunakan untuk melakukan proses autentikasi. Salah satu metode ZKP pertama yang digunakan untuk membuktikan identitas dibuat oleh Fiat dan Shamir. Metode ini memiliki beberapa keunggulan meliputi kesederhanaan, keamanan dan kecepatan (Fiat & Shamir, 1987) sehingga cocok digunakan pada lingkungan IoT seperti pada protokol CoAP. Metode telah dikembangkan menjadi sebuah protokol pada penelitian Feige, Fiat, dan Shamir. Protokol ini disebut Feige-Fiat-Shamir identification scheme (Feige, et al., 1988).

Berdasarkan pemaparan permasalahan yang telah diuraikan sebelumnya, penelitian ini akan fokus menerapkan metode autentikasi pada protokol CoAP. Pasangan kunci pada profer dan verifier akan dibuat oleh generator key. Pasangan kunci akan dimasukkan ke dalam profer dan verifier dengan cara hard code. Mekanisme autentikasi yang dilakukan adalah dengan mencocokkan pasangan kunci menggunakan metode Feige-Fiat-Shamir identification scheme. Keberhasilan autentikasi pada profer dan verifier ditentukan dari kecocokan pasangan kunci. Adapun pengujian yang dilakukan pada penulis dilakukan untuk

(3)

menguji tingkat validasi autentikasi, ketahanan metode autentikasi pada protokol CoAP dan keamanan metode autentikasi dari serangan duplikasi data atuentikasi.

2. ZERO-KNOWLEDGE PROOF

Zero-Knowledge Proof (ZKP) pertama kali diperkenalkan oleh Goldwasser, Micali, dan Rackoff. Sistem ini menggunakan teori probabilitas polinomial. Tahap yang dilakukan pada sistem ini adalah dengan simulasi blackbox. Sistem ZKP dapat dibantu dengan adanya masukan bantuan untuk tujuan kriptografi untuk membuktikan hasil (Goldreich & Oren, 1994). Sistem ZKP merupakan sistem yang kuat dalam desain protokol kriptografi. Sistem membuat pihak lain dipaksa berperilaku sesuai dengan protokol yang ditentukan untuk mengungkap kebenaran dibalik rahasia tanpa mengungkap rahasia.

Gambar 1 menunjukkan Alibaba Cave. Alibaba Cave dapat digunakan untuk menjelaskan bagaimana mekanisme Zero-Knowledge Proof dapat bekerja. Magic Door merupakan suatu pintu yang hanya bisa dibuka dengan menggunakan kata kunci rahasia. Peggy merupakan prover atau pihak yang ingin membuktikan kepemilikan kata kunci rahasia. Sedangkan, Victor merupakan verifier atau pihak yang melakukan verifikasi kepemilikan kata kunci. Agar Peggy dapat membuktikan rahasia tanpa memberitahukan kata kunci rahasia kepada Victor, Peggy masuk ke dalam Alibaba Cave. Peggy masuk melalui salah satu jalur A atau B. Pada contoh ini, Peggy masuk ke jalur B. Kemudian Victor masuk ke dalam Alibaba Cave. Victor meminta Peggy untuk keluar dari salah satu jalur. Jika Victor meminta Peggy untuk keluar dari jalur A, maka Peggy perlu melewati Magic Door yang hanya terbuka jika memiliki kata kunci rahasia. Jika Victor meminta Peggy keluar dari jalur B, maka Peggy dapat keluar tanpa menggunakan kata kunci rahasia. Sehingga kemungkinan Peggy untuk keluar dari jalur yang benar tanpa menggunakan kunci adalah sebesar 50%. Pengulangan metode pembuktian yang dilakukan dapat memperkecil peluang Peggy untuk keluar dari jalur yang benar tanpa menggunakan kunci.

Feige-Fiat-Shamir identification scheme merupakan protokol yang menggunakan konsep Zero-Knowledge Proof pada pembuktian identitas yang dilakukan. Protokol ini merupakan pengembangan dari mekanisme

pembuktian identitas Fiat-Shamir, mekanisme yang cocok digunakan pada perangkat mikroprosesor karena memiliki kelebihan pada kesederhanaan, keamanan dan kecepatan. Feige-Fiat-Shamir identification scheme merupakan protokol yang memiliki kelebihan pada pengembangan nilai positif dan negatif yang tidak ditunjukkan pada pengiriman.

Gambar 1. Alibaba Cave

3. FEIGE-FIAT-SHAMIR IDENTIFICATION SCHEME

Feige-Fiat-Shamir identification scheme merupakan skema identifikasi dengan konsep Zero-Knowledge Proofs(ZKP). ZKP yang dimaksud pada penelitian ini adalah bahwa tidak ada satu bit pun yang merepresentasikan suatu rahasia pada pengiriman. Feige-Fiat-Shamir identification scheme terbagi menjadi dua fase, fase pertama adalah pembangkitan kunci dan fase kedua merupakan verifikasi kunci. Terdapat tiga buah persamaan pada fase pembangkitan kunci. Persamaan (1) merupakan pembentukan bilangan pembagi/modulus (n) dari dua buah bilangan prima acak (p dan q). Persamaan (2) merupakan pembentukan kunci privat (S) yang akan disimpan pada prover. Persamaan (3) merupakan pembentukan kunci publik (V) yang akan digunakan verifier untuk membuktikan bahwa prover merupakan prover sebenarnya.

n=p*q (1)

1=gcd(S,n) (2)

V=𝑆2 mod n (3)

Fase selanjutnya adalah fase verifikasi kunci. Terdapat dua pihak yang berperan dalam fase ini, yaitu prover dan verifier. Prover berperan untuk membuktikan diri sedangkan, verifier berperan membuktikan bahwa prover benar-benar memiliki identitas yang benar. Fase verifikasi kunci dimulai dengan membuat nilai acak (R). Persamaan 2.4 merupakan perhitungan nilai acak publik (X) menggunakan nilai R. Nilai acak publik akan dikirimkan ke verifier.

(4)

e=random(0,1) (5)

𝑌 = 𝑅 ∏𝑒=1𝑆 𝑚𝑜𝑑 𝑛 (6)

𝑌 2= 𝑋 ∏ 𝑉

𝑒=1 𝑚𝑜𝑑 𝑛 (7)

Verifier menerima nilai acak publik, kemudian membuat nilai challenge e. Persamaan (5) merupakan perhitungan untuk mendapatkan nilai challenge e berupa 0 atau 1, nilai ini kemudian akan dikirimkan verifier ke prover. Persamaan (6) merupakan persamaan untuk menghitung hasil dari challenge (Y). Hasil challenge kemudian dikirimkan pada verifier untuk dibandingkan dengan nilai X. Persamaan (7) digunakan untuk verifikasi. Jika persamaan (7) benar maka verifikasi berhasil.

4. PERANCANGAN ALGORITME Implementasi Algoritme Feige-Fiat-Shamir identification scheme dilakukan pada protokol CoAP. Protokol CoAP dirancang untuk aplikasi machine-to-machine (M2M). Algoritme Feige-Fiat-Shamir identification scheme diimplementasikan menggunakan dua buah alat yang disebut sebagai client dan server.

Client merupakan pihak yang bertugas untuk membuktikan diri (prover). Sedangkan, server bertugas untuk membuktikan bahwa

client merupakan client yang

benar(verifier).NodeMCU akan digunakan sebagai perangkat client untuk melakukan autentikasi dan PC sebagai server. Gambar 2 menunjukkan gambaran umum client dan server.

Gambar 2. Gambaran Umum Sistem

Mekanisme autentikasi dibutuhkan untuk meracang algoritme. Mekanisme autentikasi dimulai dengan mengirimkan data kosong dengan flag D kepada server. Server akan melakukan pengecekan apakah node telah terautentikasi. Server akan membalas dengan Flag A jika server belum terautentikasi. Pada pengiriman ini, server mengirimkan nilai random yang kemudian akan diolah oleh node untuk mendapatkan nilai x. Kemudian node akan mengirimkan data x dengan flag A untuk membalas pesan dari server. Data x didapatkan dengan menghitung nilai r. Setelah mendapatkan nilai x, Server akan mengirimkan nilai c dengan flag A1. Node akan menerima challenge dan menghitung y. Nilai y yang telah dihitung oleh

node kemudian akan dikirimkan menggunakan flag A1 ke server. Server kemudian mencocokkan perhitungan yang dilakukan di server dengan perhitungan yang dilakukan node. Perhitungan yang cocok akan ditandai server sebagai autentikasi yang berhasil ditandai dengan pengiriman flag V dan variabel auth yang bernilai 1. Gambar 3 menggambarkan mekanisme Autentikasi sistem.

Gambar 3. Mekanisme Autentikasi Sistem Penelitian dilakukan dengan sebuah skenario pengiriman. Skenario tersebut adalah dengan mengirimkan secara langsung semua perhitungan setelah semua perhitungan proof dilakukan. Skenario uji pengiriman yang dilakukan setiap perhitungan proof akan dibahas pada bab pengujian. Persamaan (8) digunakan prover untuk menghitung proof pada prover. Persamaan (9) digunakan verifier untuk membuktikan proof.

𝑦𝑖= 𝑦𝑖−1 𝑆𝑖𝑒𝑖𝑚𝑜𝑑 𝑛 (8)

𝑦2= 𝑋 ∏ 𝑉𝑘0 𝑖𝑒𝑖 𝑚𝑜𝑑 𝑛 (9)

5. HASIL DAN PEMBAHASAN

Pengujian yang dilakukan pada penelitian ini adalah pengujian validitas, pengujian pemutusan koneksi, pengujian serangan data autentikasi dan pengujian performa. Pengujian validitas dilakukan untuk mengetahui kemampuan sistem dalam mengenali prover yang benar dan prover yang salah. Hal ini sangat dibutuhkan sesuai dengan fungsi autentikasi sistem.

Pengujian validitas menghasilkan 64 buah data yang akan dimasukkan ke confusion matrix. Data tersebut akan digunakan untuk menghitung tingkat validitas dari sistem. Tabel 1 merupakan confusion matrix dari validitas sistem. Jika dihitung, data ini menghasilkan tingkat 100% valid di mana seluruh data sesuai dengan

(5)

prediksi.

Tabel 1. Confusion Matrix Actual Class Assigned Class Positive Negative Positive 32 0 Negative 0 32

Pengujian koneksi dilakukan dengan memutuskan koneksi saat proses autentikasi. Pengujian ini perlu dilakukan mengingat bahwa CoAP menggunakan User Datagram Protocol (UDP) sebagai layer transport. Pada pengujian ini, sistem dibuat dengan dua buah mekanisme pengiriman data. Pengiriman data pertama menggunakan sebuah data yang memuat semua informasi autentikasi. Sedangkan, pengiriman data kedua menggunakan pengiriman data untuk setiap kunci dan challenge.

Pengiriman data pertama menunjukkan bahwa ketika terjadi pemutusan koneksi saat proses autentikasi berlangsung, sistem melakukan proses autentikasi ulang. Proses autentikasi ulang ini terjadi saat prover yang ingin melakukan pengiriman data tidak mengenali prover dan meminta prover melakukan autentikasi ulang dengan angka random yang baru. Gambar 4 menunjukkan Log client pengiriman data saat terjadi pemutusan koneksi.

Gambar 4. Log Client Pengiriman Sebuah Data Pengiriman data kedua menggunakan pengiriman data untuk setiap kunci dan challenge. Gambar 5 menunjukkan log saat

pemutusan koneksi pada pengiriman data kunci ke-9. Prover melanjutkan pengiriman data ke-10 dan berhasil melakukan mekanisme autentikasi

Gambar 5. Log Client Pengiriman Setiap Kunci Pengujian serangan data autentikasi merupakan serangan yang dilakukan untuk membuktikan bahwa algoritme yang dibuat tahan terhadap serangan yang telah disebutkan pada latar belakang. Pengujian ini dilakukan dengan menduplikasi nilai x dan y dari koneksi sebelumnya. Nilai tersebut digunakan untuk melakukan koneksi baru. Gambar 6 menunjukkan penyerang gagal melakukan serangan duplikasi data autentikasi.

Gambar 6. Log Penyerangan Duplikasi Data Pengujian performa dilakukan dengan dua tahap. Pengujian pertama untuk mengetahui antara memori dan waktu autentikasi. Pengujian kedua merupakan pengujian yang dilakukan untuk mengetahui performa sistem saat menggunakan kunci yang lebih berat. Pengujian

(6)

ini dilakukan hingga kunci dengan panjang 256 bit. Hal ini disebabkan ketidakmampuan sistem menggunakan kunci dengan panjang 512 bit.

6. KESIMPULAN DAN SARAN

Tingkat Validasi metode Feige-Fiat-Shamir Identification Scheme berhasil mendapatkan 100% hasil validasi pada proses autentikasi CoAP. Hasil didapatkan dari membandingkan perhitungan manual dengan perhitungan yang dihasilkan dari implementasi sistem. Hal ini menunjukkan bahwa metode Feige-Fiat-Shamir Identification Scheme dapat digunakan secara valid untuk melakukan autentikasi.

Berdasarkan pengujian penyerangan yang dilakukan, metode Feige-Fiat-Shamir Identification Scheme dapat mengatasi masalah pencurian data autentikasi. Serangan duplikasi data autentikasi gagal saat percobaan dilakukan. Perubahan nilai random dan challenge dengan koneksi sebelumnya membuat metode ini menghasilkan nilai proof yang berbeda setiap melakukan koneksi baru.

Penelitian selanjutnya diharapkan dapat membandingkan berbagai jenis algoritme yang menggunakan metode Zero-Knowledge Proof. Penelitian selanjutnya juga diharapkan dapat mengatasi serangan lain yang muncul pada proses autentikasi menggunakan metode Feige-Fiat-Shamir Identification Scheme pada CoAP. 7. DAFTAR PUSTAKA

Feige, U., Fiat, A. & Shamir, A., 1988. Zero-Knowledge Proof of Identity. J. Cryptology, pp. 77-94.

Fiat, A. & Shamir, A., 1987. How To Prove Yourself: Practical Solutions to Identification and Signature Problem. Advance in Cryptology, Issue Springer, pp. 186-194.

Goldreich, O. & Oren, Y., 1994. Definitions and Propoerties of Zero Knowledge Proof Systemns. Journal of Cryptology. Internet Engineering Task Force (IETF), 2014.

RFC 7252 - The Constrained Application Protocol (CoAP).[Online]

Available at:

https://tools.ietf.org/html/rfc7252 [Accessed 12 Oktober 2019].

Kaur, K., 2018. A Survey on Internet of Things – Architecture, Applications, and Future

Trends. Jalandhar, IEEE.

Putra, M. R., Pramukantoro, E. S. & Bakhtiar, F. A., 2019. Implementasi Constrain Application Protocol (CoAP) Pada Semantic IoT Web Service. Jurnal pengembangan Teknologi Informasi dan Ilmu Komputer, Issue 3, pp. 4671-4679.

Sharma, C. & Gondhi, N. K., 2018. Communication Protocol Stack for Constrained IoT Systems. Bhimtal, IEEE.

Gambar

Gambar 2. Gambaran Umum Sistem
Tabel 1. Confusion Matrix   Actual  Class  Assigned Class Positive  Negative  Positive  32  0  Negative  0  32

Referensi

Dokumen terkait

Setelah komunikasi antar anggota organisasi berjalan efektif maka hal tersebut akan mempengaruhi pelayanan yang diberikan kepada masyarakat, tentunya jika komunikasi

Jawaban dibuktikan dengan adanya dokumen tertulis rencana kerja jangka menengah (empat tahunan) dan rencana kerja tahunan yang disosialisasikan kepada seluruh

Anggota yang akan meminjam buku memperlihatkan kartu anggota dan buku yang akan dipinjam kemudian data anggota yang meminjam dan buku yang akan dipinjam dicatat dengan

mikroba mempunyai kontribusi dalam produksi dan kesehatan tanaman terkait dengan: (1) mikroba berperan penting dalam dekomposisi bahan organik (Iimbah pertanian dan hewan), yang

Selalu terdapatnya karyawan di kantor pemasaran merupakan bagian pelayanan yang diberikan pihak Graha Natura Surabaya dalam menunjang kepuasan para pelanggan mereka. Baik

a. Isi penting dari paket ini adalah: 1) menghapuskan persyaratan laba minimum 10% dari modal sendiri dan 2) dibukanya kesempatan bagi investor asing untuk berpartisipasi di Pasar

Guru mengarahkan siswa untuk membuat diagram yang memperlihatkan daur hidup tiga jenis hewan yang berbeda pada lembar LKPD yang dibagikan pada WAG..

Penentuan bobot molekul dilakukan pada ekstrak kasar, enzim hasil pengendapan ammonium sulfat, hasil dialisis dan fraksi aktif hasil kromatografi kolom filtrasi