ArticlePDF Available

Abstract

Day to day information technology is constantly evolving, allowing a wide range of technologies, programming languages, and diverse architectures to keep popping up. It makes a new problem because at present all these differences must still be able to generate an interconnected information. It needs system integration. Currently, Web Service (WS) is a solution in system integration because it can be used without looking at the platform, architecture, or programming language used by different sources. But, on WS, the existing security is still considered less. Implementation of JSON Web Token (JWT) on WS is very influential in data security. JWT is an authentication mechanism on WS, but the application of standard JWT with HMAC SHA-256 algorithm is still not optimal. Therfore, this study discussed JWT security optimization with HMAC SHA-512 algorithm, which according to some researches, this algorithm will be better than SHA-256 if compiled on 64-bit architecture. The result of this research is that the use of SHA-512 produces a better time of 1% than SHA-256, but in SHA-512 token size is 2% larger than SHA-256.
Alam Rahmatulloh, Heni Sulastri, Rizal Nugroho, Keamanan RESTful Web Service Menggunakan
JSON Web Token (JWT) HMAC SHA-512
131
Alamsyah, Eko Setijadi, I Ketut Eddy Purnama, Mauridhi Hery Purnomo, Analisis Kinerja Protokol
Routing Reaktif dan Proaktif pada MANET Menggunakan NS2
138
Condro Kartiko, Galuh Boy Hertantyo, Peningkatan Kualitas Aplikasi Pemantau Media Sosial dan
Media Daring Menggunakan Metode WebQEM
144
Edi Susilo, F. Danang Wijaya, Rudy Hartanto, Perancangan dan Evaluasi User Interface Aplikasi
Smart Grid Berbasis Mobile Application
150
Joan Santoso, Agung Dewa Bagus Soetiono, Gunawan, Endang Setyati, Eko Mulyanto Yuniarno,
Mochamad Hariadi, Mauridhi Hery Purnomo, Self-Training Naive Bayes Berbasis Word2Vec
untuk Kategorisasi Berita Bahasa Indonesia
158
Stephen Ekaputra Limantoro, Yosi Kristian, Devi Dwi Purwanto, Pemanfaatan Deep Learning
pada Video Dash Cam untuk Deteksi Pengendara Sepeda Motor
167
Fajar Wahyu Ardianto, Nachwan Mufti A., Budi Syihabuddin, Analisis Simulasi Antena MIMO 4×4
Susunan Persegi dan Sirkular pada Frekuensi 15 GHz
174
Ida Anisah, Hendy Briantoro, Ahmad Zainudin, Desy Intan Permatasari, Implementasi Sistem
Komunikasi Nirkabel OFDM Berbasis Software Defined Radio (SDR)
183
Nasaruddin, Didi Rahmadi, Rusdha Muharar, Penghematan Daya pada Sistem Komunikasi
Kooperatif Two-Way dengan Pengaturan Rasio Data Rate
190
Samiadji Herdjunanto, Unknown Input Observer untuk Robust Detection Sinyal Kesalahan
terhadap Disturbance Menggunakan LMI
197
Ulla Delfana Rosiani, Priska Choirina, Surya Sumpeno, Mauridhy Hery P., Menuju Pengenalan
Ekspresi Mikro: Pendeteksian Komponen Wajah Menggunakan Discriminative Response Map
Fitting
204
Yaya Finayani, Muhammad Alhan, Sunaryo, Sudarno, Pengukuran Ketebalan Lapisan Metal pada
Plastik Berbasis Sensor Inframerah
212
Alvina Nur Mala, Rina Mardiati, Model Perencanaan Energi Hijau Menggunakan Metode
Computable General Equilibrium
222
Arif Rahman Hakim, Widiarto Sarwono, Luthfi Assadad, Perancangan Sistem Photovoltaic untuk
Mesin Pembuat Es di Pelabuhan Perikanan Sadeng
228
Dwi Dharma Artakusuma, Fransisco Danang Wijaya, Eka Firmansyah, Aplikasi Magnetic Energy
Recovery Switch sebagai Dynamic Voltage Restorer pada motor Induksi
236
I Gusti Ngurah Satriyadi Hernanda, I Made Yulistya Negara, Adi Soeprijanto, Dimas Anton
Asfani, Mochammad Wahyudi, Daniar Fahmi, Analisis Karakteristik Arus dan Tegangan pada
Inisiasi Feroresonansi Transformator Tegangan Rendah
241
MEI 2018 VOL. 7 NO. 2 (ISSN : 2301-4156)
Departemen Teknik Elektro dan Teknologi Informasi
Fakultas Teknik
Universitas Gadjah Mada
Dewan Redaksi
Pelindung
Ketua Departemen Teknik Elektro dan Teknologi Informasi FT-UGM
Pemimpin Redaksi
Risanuri Hidayat (UGM)
Anggota Redaksi
Teguh Bharata Adji (UGM)
Oyas Wahyunggoro (UGM)
Onny Setyawati (UB)
Noor Akhmad Setiawan (UGM)
Igi Ardiyanto (UGM)
Hanung Adi Nugroho (UGM)
F. Danang Wijaya (UGM)
Fazat Nur Azizah (ITB)
Astria Nur Irfansyah (ITS)
Administrasi/Sirkulasi
Yaenuri (UGM)
Suyanto (UGM)
Rudy Prayitno (UGM)
Nanang Dani Widyanto (UGM)
Lilik Suyanti (UGM)
Alamat Redaksi
Departemen Teknik Elektro dan Teknologi Informasi FT-UGM
Jl. Grafika No.2 , Kampus UGM Yogyakarta 55281 INDONESIA
Telp. (0274) 552305, Fax. (0274) 552305
email: jnteti@ugm.ac.id
MEI 2018 VOL. 7 NO. 2 (ISSN : 2301-4156)
Jurnal Nasional Teknik Elektro dan Teknologi Informasi (JNTETI) adalah jurnal terbuka berbasis penelitian
ilmiah. JNTETI terbit 4 kali dalam setahun. Secara berkala JNTETI terbit setiap bulan Februari, Mei, Agustus, dan
November. Batas penerimaan paper:
Edisi Februari : 5 Desember Edisi Agustus : 5 Juni
Edisi Mei : 5 Maret Edisi November : 5 September
PENGANTAR REDAKSI
Puji syukur kepada Tuhan Yang Maha Esa, JNTETI edisi Mei 2018 telah terbit.
Redaktur mengucapkan terima kasih kepada segenap pihak yang terlibat dalam proses
penerbitan jurnal ini, kepada Mitra Bestari, baik dari UGM maupun dari luar UGM.
Terima kasih kami ucapkan kepada segenap penulis atas partisipasi dan kesabarannya.
Untuk edisi ini, JNTETI memuat enam belas artikel. Ada enam artikel bidang Teknologi
Informasi, enam artikel bidang Sistem Isyarat dan Elektronis, dan empat artikel bidang
Sistem Tenaga Listrik. Artikel berasal dari berbagai perguruan tinggi dan lembaga
penelitian di seluruh Indonesia.
Kami tekankan bahwa email JNTETI diarahkan ke alamat jnteti@ugm.ac.id. Kami
mohon kritik, saran, pemesanan, dan sebagainya disampaikan melalui email tersebut.
Penghargaan setinggi-tingginya kami haturkan kepada para Mitra Bestari, Editor,
Penulis, dan semua pihak yang terlibat dalam penyusunan dan penerbitan JNTETI edisi
ini. Untuk peningkatan mutu, saran dan kritik sangat kami harapkan.
Redaktur
JNTETI, Vol. 7, No. 2, Mei 2018
1,2,3Program Studi Teknik Informatika, Universitas Siliwangi
Tasikmalaya,
Tasikmalaya, 46115, INDONESIA (tlp: (0265) 323537; fax: (0265)
325812; e-mail: ft@unsil.ac.id).
(*) Corresponding author
Keamanan RESTful Web Service
Menggunakan JSON Web Token (JWT) HMAC SHA-512
Alam Rahmatulloh1*, Heni Sulastri2, Rizal Nugroho3
Abstract—Day to day information technology is constantly
evolving, allowing a wide range of technologies, programming
languages, and diverse architectures to keep popping up. It
makes a new problem because at present all these differences
must still be able to generate an interconnected information. It
needs system integration. Currently, Web Service (WS) is a
solution in system integration because it can be used without
looking at the platform, architecture, or programming language
used by different sources. But, on WS, the existing security is still
considered less. Implementation of JSON Web Token (JWT) on
WS is very influential in data security. JWT is an authentication
mechanism on WS, but the application of standard JWT with
HMAC SHA-256 algorithm is still not optimal. Therfore, this
study discussed JWT security optimization with HMAC SHA-
512 algorithm, which according to some researches, this
algorithm will be better than SHA-256 if compiled on 64-bit
architecture. The result of this research is that the use of SHA-
512 produces a better time of 1% than SHA-256, but in SHA-512
token size is 2% larger than SHA-256.
IntisariTeknologi informasi dari hari ke hari terus
berkembang, sehingga berbagai macam teknologi, bahasa
pemrograman, dan arsitektur beragam terus bermunculan. Hal
tersebut menjadikan permasalahan baru karena pada zaman
sekarang semua perbedaan tersebut harus tetap bisa
menghasilkan sebuah informasi yang saling terhubung. Maka,
diperlukan integrasi sistem. Saat ini Web Service (WS) adalah
solusi dalam integrasi sistem karena tanpa melihat platform,
arsitektur maupun bahasa pemrograman yang digunakan oleh
sumber berbeda. Namun, pada WS keamanan yang ada masih
dirasa kurang. Penerapan JSON Web Token (JWT) pada WS
sangat berpengaruh dalam hal keamanan data. JWT merupakan
mekanisme autentikasi pada WS, tetapi penerapan JWT standar
dengan algoritme HMAC SHA-256 masih belum optimal,
sehingga pada makalah ini dibahas optimasi keamanan JWT
dengan algoritme HMAC SHA-512, yang menurut beberapa
penelitian algoritme ini akan lebih baik dibandingkan SHA-256
jika dikompilasi pada arsitektur 64-bit. Hasil menunjukkan,
penggunaan SHA-512 menghasilkan waktu yang lebih baik 1%
dibandingkan SHA-256. Namun pada segi ukuran token yang
dihasilkan, SHA-512 lebih besar 2% dibandingkan SHA-256.
Kata KunciHMAC, JSON Web Token, RESTful, SHA-512,
Web Service.
I. PENDAHULUAN
Teknologi informasi terus berkembang, memberikan
pengaruh besar terhadap organisasi maupun individu.
Perkembangan teknologi bertujuan untuk memenuhi
kebutuhan bagi pengguna. Komputasi terdistribusi adalah
salah satu teknologi informasi yang dapat melakukan
komputasi pada banyak mesin dan dimanfaatkan banyak
mesin. Komputasi terdistribusi ditemukan setelah adanya
teknologi web. Maksud dari teknologi ini adalah Web Service
(WS). Dalam perkembangan bisnis, WS sangat diperlukan
dalam integrasi sistem karena tanpa melihat platform,
arsitektur maupun bahasa pemrograman yang digunakan oleh
sumber berbeda. Keamanan WS berada ke dalam sepuluh
kerentanan teratas dalam keamamanan Application
Programming Interface (API) Web Service yang kurang
terlindungi menurut The Open Web Application Security
Project (OWASP) [1].
Perkembangan WS saat ini yang sedang tren yaitu
REpresentational State Transfer (REST) dan Simple Object
Access Protocol (SOAP). Hasil penelitian yang telah
dilakukan pada aplikasi mobile computing menunjukkan
bahwa ukuran pesan pada RESTful Web Service mencapai
sembilan sampai sepuluh kali lebih kecil dibandingkan ukuran
pesan dari WS berbasis SOAP [2]. Namun, REST sangat
rendah dalam segi keamanan [3]. Mengamankan RESTful WS
mencakup mengamankan data serta seluruh komunikasi untuk
melindungi kerahasiaan dan integrasi data [4]. Untuk
mengatasi masalah tersebut, digunakan JSON Web Token
(JWT). Langkah ini telah dilakukan pada penelitian
sebelumnya, yang menggunakan JWT dengan algoritme
HMAC SHA-256 yang masih umum digunakan, sehingga
dapat menjadi ancaman tersendiri bagi keamanan RESTful
WS [5]. Hasil sebuah penelitian menyatakan, perbandingan
penerapan algoritme SHA-256 dan SHA-512 pada arsitektur
intel 64-bit mengasilkan kinerja SHA-512 50% lebih baik
dibandingkan dengan SHA-256 [6]. Kemudian diperkuat oleh
penelitian lain bahwa algoritme SHA-512 memiliki kinerja
yang jauh lebih baik daripada algoritme SHA-256 jika
dikompilasi terhadap arsitektur 64-bit dan dijalankan pada
mesin 64-bit [7]. Oleh karena itu, makalah ini membahas
mengenai kecepatan dan ukuran data pada keamanan RESTful
WS menggunakan JWT dengan algoritme HMAC SHA-512
pada arsitektur 64-bit.
II. KEAMANAN WEB SERVICE
A. Web Service (WS)
WS merupakan sebuah perangkat lunak yang tidak
terpengaruh oleh platform, arsitektur, maupun bahasa
pemrograman, yang menyediakan layanan atau method-
method untuk pertukaran data yang dapat diakses oleh
network [8]. Contoh implementasi dari WS antara lain adalah
SOAP dan REST. Arsitektur WS ditunjukkan pada Gbr. 1.
Alam Rahmatulloh: Keamanan RESTful Web Service ... ISSN 2301 - 4156
131
JNTETI, Vol. 7, No. 2, Mei 2018
Gbr. 1 Arsitektur Web Service [9].
B. RESTful
Konsep REST pertama kali diperkenalkan oleh Roy
Fielding pada tahun 2000 [10]. REST merupakan standar
arsitektur komunikasi berbasis web yang selalu digunakan
terhadap pengembangan layanan berbasis web. Pada
umumnya, Hypertext Transfer Protocol (HTTP) berperan
sebagai protokol untuk melakukan komunikasi data [11].
Sistem yang menggunakan prinsip-prinsip dari REST dapat
disebut denganRESTful [12]. Penetapan indentifikasi
terhadap resource dilakukan oleh Universal Resource
Identifiers (URIs) atau global ID. Resource diperkenalkan
dengan format teks, JSON, atau XML. Pada umumnya, format
yang digunakan adalah JSON dan XML.
Cara kerja RESTful WS yaitu bermula dari client
mengirimkan sebuah data atau request melalui HTTP Request,
kemudian server merespons melalui HTTP Response.
Komponen dari HTTP Request adalah sebagai berikut.
Verb. HTTP Method yang digunakan di antaranya GET
(hanya menyediakan akses baca pada resource), PUT
(digunakan untuk menciptakan resource baru), DELETE
(digunakan untuk menghapus resource), POST
(digunakan untuk memperbarui resource yang ada atau
membuat resource baru), OPTIONS (digunakan untuk
mendapatkan operasi yang didukung pada resource).
Uniform Resource Identifier (URI) untuk
mengidentifikasikan lokasi resource pada server.
HTTP Version, menjelaskan versi dari HTTP yang akan
digunakan, contohnya HTTP v1.1.
Request Header, berisi metadata untuk HTTP Request.
Contohnya adalah tipe client/browser, format yang
didukung oleh client, format dari body pesan, dan setting
cache.
Request Body, yaitu konten dari data.
Sedangkan komponen dari HTTP Response adalah sebagai
berikut.
Status/Response Code, menjelaskan status server pada
resource yang di-request. Contohnya 404, artinya
resource tidak ada dan 200 response OK.
HTTP Version, menunjukkan versi dari HTTP yang
digunakan. Contohnya HTTP v1.1.
Response Header, berisi metadata untuk HTTP Response.
Contohnya tipe server, panjang content, tipe content, dan
waktu response.
Response Body, yakni konten dari data yang diberikan.
Ada dua bagian pesan yang digunakan untuk membangun
komunikasi dengan server, yaitu pesan Header dan pesan
Body. HTTP header adalah “catatan” kecil pada setiap
transaksi data HTTP yang dikirim browser/server baik pada
proses request maupun response. Ada beberapa elemen yang
terdapat pada HTTP header, contohnya HTTP status, cache-
control, jenis Web server, dan sebagainya. Request Headers
ditunjukkan pada Gbr. 2 dan Response Headers ditampilkan
pada Gbr. 3.
Gbr. 2 Contoh Request Headers.
Gbr. 3 Contoh Response Headers.
Bagian body dari HTTP berisi data yang akan dikirimkan.
Data yang dikirimkan dapat berisi apapun, misalnya HTML
(paling umum), gambar, data biner apapun, atau boleh tidak
berisi (kosong). Contoh body request ditunjukkan pada Gbr. 4
dan contoh body response pada Gbr. 5.
ISSN 2301 4156 Alam Rahmatulloh: Keamanan RESTful Web Service ...
132
JNTETI, Vol. 7, No. 2, Mei 2018
Gbr. 4 Contoh Request Body.
Gbr. 5 Contoh Response Body.
C. JWT (JSON Web Token)
JWT ini adalah sebuah token berbentuk string JSON yang
sangat padat (ukurannya), informasi mandiri yang gunanya
sendiri untuk melakukan sistem autentikasi dan pertukaran
informasi. Karena bentuknya kecil, token JWT dapat dikirim
melalui URL, parameter HTTP POST atau di dalam Header
HTTP, dan juga karena ukurannya yang kecil maka dapat
ditransmisikan dengan lebih cepat. Disebut informasi mandiri
karena isi dari token yang dihasilkan memiliki informasi dari
pengguna yang dibutuhkan, sehingga tidak perlu query ke
basis data lebih dari satu kali. Token tersebut dapat
diverifikasi dan dipercaya karena sudah di-sign secara digital.
Token JWT dapat di-sign dengan menggunakan secret
(algoritme HMAC) atau pasangan public/private key
(algoritme RSA). Proses login yang dilakukan tidak seperti
aplikasi website biasa, tetapi menggunakan session untuk
mengingat yang sedang melakukan proses login. Namun, API
hanya menggunakan konsep JWT yang dapat disebut "jot"
[13]. JWT tidak bergantung pada bahasa program tertentu.
Struktur JWT terdiri atas tiga bagian yang dipisahkan oleh
titik (“.”), yaitu header, payload, dan signature, seperti
ditunjukkan pada Gbr. 6.
xxxxxx.yyyyyyy.zzzzzzzzz
header.payload.signature
Gbr. 6 Struktur JSON Web Token.
Header biasanya terdiri atas dua bagian, yaitu tipe token,
yakni JWT, dan algoritme hashing yang digunakan, seperti
HMAC SHA-256 atau RSA dan lainnya. Contoh header
ditunjukkan pada Gbr. 7.
{
“alg” : “HS256”,
“typ” : “JWT”,
}
Gbr. 7 JWT Header.
Payload, bagian kedua, berisi klaim. Klaim adalah
pernyataan tentang suatu entitas (biasanya pengguna) dan
metadata tambahan. Ada tiga jenis klaim, yaitu reserved,
public, dan private claims. Bagian kedua (payload)
diperlihatkan pada Gbr. 8.
{
“sub”: ”123456789”,
“name”: “jhon Doe”,
“admin”: true
}
Gbr. 8 JWT Payload.
Bagian ketiga dari JWT adalah signature, berisi hash dari
komponen-komponen header, payload, dan kunci rahasia.
Contoh JWT Signature ini menggunakan algoritme HMAC
SHA-256. Signature dapat dibuat dengan cara seperti pada
Gbr. 9.
HMACSHA256(
base64UrlEncode(header)+”.”+
base64UrlEncode(payload),
secret)
Gbr. 9 JWT Signature.
Keluarannya adalah tiga string Base64 yang dipisahkan
oleh titik-titik yang dapat dengan mudah dilewatkan dalam
HTML dan HTTP. Apabila isi Header atau Payload diubah,
maka isi Signature menjadi tidak valid [14]. Signature
dibentuk dengan menggunakan header dan payload sehingga
JWT mampu memberikan kemudahan bagi client untuk
mengakses sumber daya tanpa harus login berulang
memasukkan username dan password. Token dapat dipanggil
melalui AJAX ke server karena panggilan dapat
menggunakan HTTP header untuk mengirimkan informasi
penggunanya.
D. Keyed-Hash Massage Authentication Code (HMAC)
HMAC adalah teknik autentikasi pesan dengan
memanfaatkan fungsi hash terhadap pesan dan kemudian
mengenkripsi pesan tersebut dengan menggunakan kunci
private. HMAC dibuat oleh Mihir Bellare, Ran Canetti, dan
Hugo Krawczyk pada tahun 1996. Algoritme HMAC dapat
dijabarkan menjadi sepuluh langkah, seperti diperlihatkan
pada Gbr. 10.
Penjelasan Gbr. 10 diagram algoritme HMAC adalah :
Tahap 1: Jika panjang K = B, atur K0 = K, kemudian ke
tahap 4.
Tahap 2: Jika panjang K > B, hash K untuk
memperoleh L string byte, kemudian append
dengan (B-L) angka 0 untuk menghasilkan
string byte K0 yang memiliki panjang sama dengan B.
Kemudian ke tahap 4.
Tahap 3: Jika panjang K < B, append angka 0 sebanyak
(B-K) untuk menghasilkan string byte K0 yang memiliki
panjang sama dengan B. Kemudian ke tahap 4.
Tahap 4: Melakukan XOR antara K0 dengan ipad untuk
menghasilkan string byte memiliki panjang yang sama
seperti B.
Alam Rahmatulloh: Keamanan RESTful Web Service ... ISSN 2301 - 4156
133
JNTETI, Vol. 7, No. 2, Mei 2018
Tahap 5: Append string ‘text’ terhadap hasil string dari
tahap 4 tadi.
Tahap 6: Melakukan H untuk string yang dihasilkan oleh
tahap 5.
Tahap 7: Melakukan XOR antara K0 dengan opad.
Tahap 8: Melakukan append string dari tahap 6 ke dalam
string dari tahap 7.
Tahap 9: Melakukan H untuk string yang dihasilkan dari
tahap 8.
Tahap 10: Mengambil leftmost byte sebanyak t dari string
yang dihasilkan tahap 9.
Gbr. 10 Diagram algoritme HMAC [15].
Penjelasan dari variabel yang digunakan di dalam diagram
dan algoritme pada Gbr. 10 ditunjukkan pada Tabel I [16] .
Fungsi yang dapat diperoleh dalam algoritme HMAC
adalah sebagai berikut.
Untuk memakai fungsi hash, tanpa melakukan perubahan
pada fungsi hash karena telah tersedia dan mudah
didapatkan.
Untuk mengatur kunci private dengan mudah dan
mempertahankan kemanan.
Untuk mendapatkan pemahaman yang lebih dalam
terhadap analisis kriptografi mengenai kekuatan
mekanisme autentikasi yang terdapat dalam fungsi hash.
Untuk mempermudah melakukan perubahan atau
mengganti fungsi hash yang digunakan jika ada algoritme
hash baru yang memiliki kinerja lebih cepat atau
memiliki keamanan lebih baik.
TABEL I
DIAGRAM ALGORITME HMAC
Variabel
Deskripsi
B
Ukuran block (dalam byte) dari masukan ke fungsi
Hash
H
Fungsi Hash yang digunakan
Ipad
inner pad (0x3636...36)
K
Kunci private yang diketahui oleh pengirim dan
penerima
K0
Kunci yang telah diproses seperlunya agar panjangnya
B
L
Ukuran block (dalam byte) dari keluaran fungsi Hash
Opad
outer pad (0x5c5c...5c)
T
Jumlah byte dari MAC yang diinginkan
Text
Pesan/informasi yang akan dimanipulasi
E. SHA (Secure Hash Algorithm)
SHA adalah fungsi hash satu arah (one-way hash function)
yang dibuat oleh National Institute of Standards and
Technology (NIST) dan digunakan bersama Digital Signature
Standard (DSS) [17]. Persamaan dari fungsi hash yaitu
sebagai berikut.
)( MHh =
(1)
Sifat-sifat hash adalah sebagai berikut [18].
Fungsi H dapat digunakan pada blok data yang memiliki
kapasitas data berapa saja.
Fungsi H menghasilkan nilai (h) dengan memiliki
panjang yang tetap (fixed-length output).
H(x) dapat diperoleh secara mudah dari setiap nilai x
yang diberikan.
Setiap hasil nilai h tidak mungkin dapat melakukan
pengembalian nilai x sehingga H(x) = h. Oleh sebab itu,
fungsi H disebut fungsi hash satu-arah (one-way hash
function).
Untuk setiap nilai x yang dimasukkan, tidak dapat
melakukan pencarian y x sehingga H(y) = H(x).
Tidak dapat mencari pasangan x dan y sehingga H(x) =
H(y).
III. METODOLOGI
Metodologi yang digunakan dalam penyusunan makalah ini
adalah sebagai berikut.
A. Studi Literatur
Tahapan pengumpulan data ini dilakukan agar penelitian
lebih fokus dan tidak terjadi penelitian yang serupa.
B. Analisis Kebutuhan Perangkat Lunak
Analisis kebutuhan perangkat lunak dilakukan untuk
menggali kebutuhan perangkat lunak yang dibangun.
C. Implementasi Perangkat Lunak
Implementasi perangkat lunak dilakukan dengan membuat
aplikasi WS sederhana dengan menerapkan algoritme HMAC
SHA-256 dan SHA-512.
ISSN 2301 4156 Alam Rahmatulloh: Keamanan RESTful Web Service ...
134
JNTETI, Vol. 7, No. 2, Mei 2018
D. Pengujian dan Perbandingan
Pengujian dan perbandingan kinerja pada WS dilakukan
dengan penerapan JWT menggunakan HMAC SHA-256 dan
HMAC SHA-512.
IV. HASIL DAN PEMBAHASAN
A. Studi Literatur
Telah dilakukan pengumpulan data dan studi literatur pada
penelitian-penelitian sebelumnya yang berhubungan dengan
topik dan menjadi dasar dalam makalah ini. Di antaranya
adalah alasan pembahasan keamanan pada RESTful WS yang
dibahas oleh OWASP dan Snehal, kemudian sudah dilakukan
alternatif keamanan pada WS menggunakan JWT SHA-256
oleh Penidas, tetapi dirasa masih memiliki kelemahan.
Penelitian yang dilakukan Shay dan Amudi menghasilkan
perbandingan kinerja SHA-512 lebih baik 50% dibandingkan
SHA-256 pada arsitektur 64-bit.
B. Analisis Kebutuhan Perangkat Lunak
Berdasarkan literatur yang telah diperoleh, maka pada
makalah ini spesifikasi sistem menggunakan:
processor AMD A8-4500M APU with Radeon (tm) HD
Graphic 1.90Ghz,
memory (RAM) 8,00GB,
VGA Card AMD Radeon HD 7640G,
system type 64bit Operating System,
harddisk 500GB, dan
tools Postman RST Client.
C. Implementasi Perangkat Lunak
Untuk membuktikan bahwa kinerja algoritme HMAC
SHA-512 lebih optimal dibandingkan SHA-256, maka
dibuatlah perangkat lunak WS sederhana berbasis web untuk
penerapan dan perbandingan terhadap JWT menggunakan
HMAC SHA-256 dan SHA-512. Tujuan utama dari JWT
adalah pengamanan data antar sistem yang melakukan
pertukaran data dengan melakukan request oleh client yang
harus menyertakan token. Secara umum, cara kerja JWT
diperlihatkan pada Gbr. 11.
D. Pengujian dan Perbandingan
Pengujian dilakukan dengan Postman yang memiliki fungsi
sebagai REST Client atau aplikasi yang digunakan untuk
melakukan uji coba REST API yang telah dibuat. Ada dua
proses yang dilakukan pada Postman yaitu POST dan GET.
POST untuk mengirimkan parameter yang berupa username
dan password yang valid untuk menghasilkan token. Token ini
yang berfungsi sebagai kunci agar mendapat akses untuk
melakukan request selanjutnya. Proses GET dilakukan dengan
memasukkan kunci atau token yang telah diperoleh pada
proses POST untuk mendapatkan data yang diinginkan
dengan melakukan request ke /api/restdata/GETToken. Ketika
melakukan request, pada umumnya token dikirimkan pada
HTTP header. Default key untuk membawa token adalah
Authorization”. Biasanya secara defaut token akan selalu
diperbarui setelah HTTP request dilakukan, dan dapat diakses
pada response header. Tampilan hasil penerapan dari JWT
SHA-256 dan SHA-512 ditunjukkan pada Gbr. 12 sampai Gbr.
15.
Gbr. 11 Cara kerja JWT.
1) SHA-256: Gbr. 12 menunjukan proses parsing data
menggunakan SHA-256 yang dihasilkan proses POST dengan
waktu 604 ms dan ukuran 454 byte, sedangkan Gbr. 13 adalah
hasil proses GET SHA-256 yang mendapatkan waktu 201 ms
dengan ukuran 2,19 kb.
Gbr. 12 Proses POST SHA-256.
Gbr. 13 Proses GET SHA-256.
2) SHA-512: Gbr. 14 menunjukan proses parsing data
menggunakan SHA-512 yang didapatkan proses POST
dengan waktu 204 ms dan ukuran 496 byte, sedangkan Gbr.
15 menunjukkan hasil proses GET SHA-512 yang
mendapatkan waktu 181 ms dengan ukuran 2,19 kb.
Percobaan proses GET pada SHA-256 dan SHA-512
mengunakan aplikasi yang sama, sehingga ukuran data yang
dihasilkan sama dan hanya memiliki perbedaan pada segi
kecepatan.
Alam Rahmatulloh: Keamanan RESTful Web Service ... ISSN 2301 - 4156
135
JNTETI, Vol. 7, No. 2, Mei 2018
Gbr. 14 Proses POST SHA-512.
Gbr. 15 Proses GET SHA-512.
Selanjutnya, dibahas perbandingan antara Token JWT
SHA-256 dan SHA-512. Perbandingan yang terlihat terdapat
pada token yang dihasilkan. Token yang dihasilkan oleh SHA-
256 yaitu berukuran 256 bit sebagai berikut.
eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ
rZF9wZWdhd2FpIjoiUC0wMDYiLCJ1c2VybmFtZSI6
InphbCIsImlhdCI6MTUyMDQyMjY5MSwiZXhwIjoxN
TIzMDUyNDM3fQ.NlFkMgNXR-z-
3bSp180p5_GXbk5zp9BeivROSrpndK0
Sementara itu, token yang dihasilkan oleh SHA-512 yaitu
berukuran 512 bit:
eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzUxMiJ9.eyJ
rZF9wZWdhd2FpIjoiUC0wMDYiLCJ1c2VybmFtZSI6
InphbCIsImlhdCI6MTUyMDQyMjgxMiwiZXhwIjoxN
TIzMDUyNTU4fQ.HlPabQkBCXsucWaL4UomaqfW80s
usYhNA03xI3hqx-
sbWyy9paQhHfYg8yBxBiY08lcA-
BuXWUigrKe48WXdcA
Dari kedua token tersebut, dapat dilihat bahwa panjang
token sangatlah berbeda. SHA-512 memiliki token lebih
panjang dibandingkan SHA-256 dikarenakan perbedaan bit.
Untuk melihat perbandingan kinerja pada kedua algoritme
tersebut, dilakukan pengujian dari sisi kecepatan dan ukuran
token yang dihasilkan. Perbandingan diperlihatkan pada Tabel
II.
Tabel II adalah proses pengujian perbandingan kinerja dua
puluh kali dari lima puluh kali percobaan terhadap SHA-256
dan SHA-512 dari segi kecepatan (ms) dan ukuran data token.
Dari percobaan tersebut, dapat dilihat juga grafik lima puluh
percobaan perbandingan waktu yang ditunjukkan pada Gbr.
16.
TABEL II
PERBANDINGAN ALGORITME HMAC SHA-256 DAN SHA-512
No.
Kecepatan (m/s)
Ukuran (kb)
SHA-256
SHA-512
SHA-256
SHA-512
1
184
180
2,28
2,32
2
185
182
2,28
2,32
3
185
182
2,28
2,32
4
185
182
2,28
2,32
5
186
182
2,28
2,32
6
186
183
2,28
2,32
7
186
183
2,28
2,32
8
186
184
2,28
2,32
9
186
185
2,28
2,32
10
186
185
2,28
2,32
11
187
185
2,28
2,32
12
187
185
2,28
2,32
13
187
185
2,28
2,32
14
187
185
2,28
2,32
15
187
185
2,28
2,32
16
187
185
2,28
2,32
17
187
186
2,28
2,32
18
187
186
2,28
2,32
19
187
186
2,28
2,32
20
187
186
2,28
2,32
Rata-rata
186,25
184,1
2,28
2,32
Gbr. 16 Grafik perbandingan SHA-256 dan SHA-512.
SHA-256 memiliki rata-rata kecepatan 188,38 ms
sedangkan SHA-512 memliki rata-rata kecepatan 186,26 ms.
Dapat dilihat bahwa kecepatan SHA-256 lebih lambat jika
dibandingkan SHA-512. Dalam lima puluh percobaan tersebut,
nilai minimum yang diperoleh adalah 180 ms oleh SHA-512
dan nilai maksimum yang diperoleh adalah 189 ms,
sedangkan nilai minumum yang diperoleh SHA-256 adalah
184 ms dan nilai maksimum adalah 195 ms. Pada segi ukuran
token SHA-256 rata-rata yaitu 2,28 kb, sedangkan ukuran
token SHA-512 rata-rata adalah 2,32 kb. Perbedaan tersebut
dikarenakan nilai bit yang berbeda, sehingga menjadikan
keamanan pertukaran data lebih baik karena token yang
170
175
180
185
190
195
200
1 4 7 1013161922252831 343740434649
SHA-256
SHA-512
ISSN 2301 4156 Alam Rahmatulloh: Keamanan RESTful Web Service ...
136
JNTETI, Vol. 7, No. 2, Mei 2018
dihasilkan SHA-512 lebih panjang jika dibandingkan dengan
token SHA-256.
V. KESIMPULAN
Kesimpulan yang dapat diambil yaitu hasil penerapan
algoritme HMAC SHA-512 pada JWT dalam WS dan pada
arsitektur 64-bit menghasilkan kinerja yang lebih baik. SHA-
512 lebih cepat 1% dibandingkan dengan SHA-256. Hal
tersebut dapat dilihat dari hasil percobaan, tetapi perbandingan
penerapan algoritme SHA-256 dan SHA-512 tidak mencapai
50% jika diterapkan pada JWT. Hasil dari percobaan yang
telah dilakukan membuktikan bahwa arsitektur 64-bit
memiliki kinerja lebih baik dalam penerapan algoritme
HMAC pada JWT dalam WS. Namun, jika dilihat dari segi
ukuran data token, SHA-512 menghasilkan nilai hash 2%
lebih besar daripada SHA-256. Hal ini tentunya menjadikan
keamanan pertukaran data lebih baik karena token lebih
panjang.
REFERENSI
[1] (2017) “OWASP Top 10 2017 The Ten Most Critical Web
Application Security Risks,” [Online],
https://www.owasp.org/images/7/72/OWASP_Top_10-
2017_%28en%29.pdf.pdf, tanggal akses: 12-Des- 2017.
[2] S. Mumbaikar dan P. Padiya, “Web Services Based on SOAP and REST
Principles,” Int. J. Sci. Res. Publ., Vol. 3, No. 5, hal. 36, 2013.
[3] V. Kumari, “Web Services Protocol : SOAP vs REST,” IJARCET, Vol.
4, No. 5, hal. 24672469, 2015.
[4] K. V. Kanmani dan P. S. Smitha, “Survey on Restful Web Services
Using Open Authorization (Oauth),” IOSR J. Comput. Eng., Vol. 15, No.
4, hal. 53–56, 2013.
[5] P. F. Tanaem, D. Manongga, dan A. Iriani, “RESTFul Web Service
untuk Sistem Pencatatan Transaksi Studi Kasus PT. XYZ,” Jurnal
Teknik Informatika dan Sistem Informasi, Vol. 2, No. 1, hal. 1–10, 2016.
[6] S. Gueron, S. Johnson, dan J. Walker, “Sha-512/256,” Proc. 2011
Eighth Int. Conf. Inf. Technol. New Gener. (ITNG ’11), 2011, hal. 354
358.
[7] A. Sebastian, “Implementasi dan Perbandingan Performa Algoritma
Hash SHA-1, SHA-256, dan SHA-512,” Skripsi, Institut Teknologi
Bandung, Bandung, Indonesia, 2007.
[8] A. Gustavo, F. Casati, H. Kuno, dan M. Vijay, WEB SERVICES, New
York, USA: Springer-Verlag, 2004.
[9] K. D. Gottschalk, S. Graham, H. Kreger, dan J. Snell, “Introduction to
Web Services Architecture,” IBM Syst. J., Vol. 41, No. 2, hal. 170177,
2002.
[10] R. T. Fielding, “Architectural Styles and the Design of Network-based
Software Architectures,” Building, Vol. 54, hal. 162, 2000.
[11] L. Richardson dan S. Ruby, RESTful Web Services, O'Reilly Media,
2007.
[12] C. J. Su dan C. Y. Chiang, “Enabling Successful Collaboration 2.0: A
REST-based Web Service and Web 2.0 Technology Oriented
Information Platform for Collaborative Product Development,” Comput.
Ind., Vol. 63, No. 9, hal. 948959, 2012.
[13] (2017) “JSON Web Tokens - jwt.io,” [Online], https://jwt.io/, tanggal
akses: 12-Dec-2017.
[14] M. Jones, J. Bradley, dan N. Sakimura, (2017), “Internet Engineering
Task Force,” [Online], https://self-issued.info/docs/draft-ietf-oauth-json-
web-token.html, tanggal akses: 20-Jan-2018.
[15] “FIPS PUB 198-1. The Keyed-Hash Message Authentication Code
(HMAC),” Federal Information Processing Standards Publication, hal.
13, 2008.
[16] T. Ramadhany, (2006), “Keyed-Hash Message Authentication Code
(HMAC),” [Online], https://anzdoc.com/keyed-hash-message-
authentication-codehmac.html, tanggal akses: 20-Jan-2018.
[17] K. I. Santoso, “Dua Faktor Pengamanan Login Web Menggunakan
Otentikasi One Time Password Dengan Hash SHA,” Semin. Nas. Teknol.
Inf. Komun. Terap. 2013, 2013, hal. 204210.
[18] B. Maryanto, “Penggunaan Fungsi Hash Satu-Arah Untuk Enkripsi
Data,” Media Informatika, Vol. 7, No. 3, hal. 110, 2008.
Alam Rahmatulloh: Keamanan RESTful Web Service ... ISSN 2301 - 4156
137
PETUNJUK PENULISAN
Tulisan harus diserahkan menurut batasan-batasan berikut:
1. Naskah harus diserahkan secara online melalui situs web jurnal. Penulis harus log in untuk
menyerahkan naskah. Pendaftaran online tidak dipungut biaya.
2. Panjang naskah antara 6 sampai 10 halaman A4 (210 x 297 mm) dengan format naskah
sesuai template yang disediakan, termasuk di dalamnya gambar, tabel, tidak mengandung
apendiks. Naskah ditulis menggunakan Microsoft Word (.doc/.docx) dengan batas atas 19
mm, kiri dan kanan 14,32 mm, serta 43 mm untuk batas bawah.
3. Judul dan Kata Kunci dituliskan dalam Bahasa Indonesia, sedangkan Intisari dan Abstract,
harus dituliskan dalam Bahasa Indonesia dan Inggris.
a. Jumlah kata judul maksimal 12 kata dengan ketentuan:tipe huruf Times New
Roman (TNR) dengan ukuran huruf 20, spasi tunggal, rata tengah, cetak tebal
(Bold). Apabila judul terlalu panjang, editor berhak mengedit judul tanpa mengubah
makna judul, tanpa persetujuan penulis naskah, ketika naskah akan naik cetak.
b. Penulisan judul artikel disarankan menggunakan Bahasa Indonesia yang sesuai
dengan Ejaan Yang Disempurnakan (EYD). Apabila terdapat kata-kata dalam
Bahasa Inggris, ditulis dengan format miring (Italic).
c. Artikel dimulai dengan Abstract dan Intisari. Abstract dan Intisari tidak boleh
mengandung gambar maupun tabel. Abstract ditulis dalam Bahasa Inggris dan
Intisari ditulis dalam Bahasa Indonesia. Abstract dan Intisari ditulis di awal
paragraf, rata kanan-kiri, cetak tebal, huruf TNR 9 dan spasi tunggal. Abstract dan
Intisari tidak boleh lebih dari 250 kata. Abstract dan Intisari harus menggambarkan
esensi isi artikel keseluruhan.
d. Kata Kunci mengandung empat hingga delapan kata, dipisahkan dengan koma, rata
kanan-kiri, huruf TNR 9, dan spasi tunggal. Kata kunci dipilih secara cermat,
sehingga mampu mencerminkan konsep yang dikandung artikel dan membantu
peningkatan keteraksesan artikel yang bersangkutan.
4. Tubuh naskah harus mengikuti kaidah berikut:
a. Ditulis dalam format dua kolom dengan ruang 4,22 mm
(0,17") antar kolom, rata kanan-kiri, TNR 10, spasi 1. Batas margin ditetapkan
sebagai berikut: atas = 19 mm (0,75") ; bawah = 43 mm (1,69"); kiri = kanan =
14,32 mm (0,56").
b. Sistematika penulisan artikel harus mengandung empat bagian utama: (1)
Pendahuluan, (2) Konten Utama (Metodologi dan lain-lain), (3) Hasil dan
Pembahasan, dan (4) Kesimpulan. Ucapan Terima Kasih boleh ditampilkan setelah
Kesimpulan. Referensi diletakkan pada bagian paling belakang. Judul bab yang
harus ada adalah Pendahuluan dan Kesimpulan. Judul bab Konten Utama
menjelaskan metode penilitian, tetapi tidak dengan judul Metode atau Metodologi.
Hasil dan Pembahasan boleh ditulis dalam satu bab, atau ditulis dalam bab yang
terpisah.
5. Heading maksimum dibuat dalam 3 tingkat:
a. Heading 1: Heading tingkat 1 harus dalam small caps, terletak di tengah-tengah
dan menggunakan penomoran angka Romawi huruf besar. Heading tingkat 1 yang
tidak boleh menggunakan penomoran adalah "Ucapan Terima Kasih" dan
"Referensi". Sebagai contoh, “I. PENDAHULUAN”.
b. Heading 2: Heading tingkat 2 harus miring (Italic), merapat ke kiri dan dinomori
menggunakan abjad huruf besar. Sebagai contoh, "C. Bagian Heading".
c. Heading 3: Heading tingkat 3 harus diberi spasi, miring, dan dinomori dengan
angka Arab diikuti dengan tanda kurung kanan. Heading tingkat 3 harus diakhiri
dengan titik dua. Isi dari bagian tingkat 3 bersambung mengikuti judul heading
dengan paragraf yang sama. Sebagai contoh, bagian ini diawali dengan heading
tingkat 3.
6. Gambar dan tabel harus terletak di tengah (centered). Gambar dan tabel yang besar dapat
direntangkan pada kedua kolom. Setiap tabel atau gambar yang mencakup lebar lebih dari 1
kolom harus diposisikan di bagian atas/bawah halaman. Gambar diperbolehkan berwarna.
Gambar diberi nomor dengan menggunakan angka Arab. Keterangan gambar dalam huruf
TNR 8. Keterangan gambar dalam satu baris diletakkan di tengah (centered), sedangkan
multi-baris rata kanan-kiri. Keterangan gambar ditempatkan setelah gambar terkait.
7. Persaman matematika harus ditulis secara jelas, dinomori secara berurutan, dan dilengkapi
dengan informasi yang dibutuhkan.
8. Nomor halaman, header, dan footer tidak dipakai. Semua hypertext link dan bagian
bookmark akan dihapus. Jika paper perlu merujuk ke alamat email atau URL di artikel,
alamat atau URL lengkap harus diketik dengan font biasa.
9. Kutipan dan Referensi ditulis mengikuti standar IEEE (lihat template di situs web JNTETI
UGM)
a. Kutipan dinomori dalam format [1], [2], [3], ... sesuai urutan muncul.
b. Wikipedia, blog pribadi, dan situs web non ilmiah tidak diperbolehkan.
c. Referensi utama harus diambil paling lama 5 tahun.
10. Petunjuk penulisan lebih rinci dapat dilihat dan diunduh pada situs web JNTETI UGM di
www.jnteti.te.ugm.ac.id bagian template.
Call for Paper
Jurnal Nasional Teknik Elektro dan Teknologi Informasi (JNTETI)
mengundang para dosen peneliti, pengkaji, praktisi, industri, dan pemerhati
untuk mengirimkan paper ke JNTETI.
Topik-topik meliputi bidang-bidang (namun tidak terbatas pada):
Untuk edisi Agustus 2018, batas penerimaan makalah adalah 5 Juni 2018, dan
untuk edisi November 2018, batas penerimaan makalah adalah 5 September
2018. Makalah diunggah melalui website JNTETI di http://jnteti.te.ugm.ac.id/.
Template, Petunjuk Penulisan, dan penjelasan lebih lanjut dapat dilihat di
website JNTETI tersebut.
Tim Redaksi JNTETI
Departemen Teknik Elektro dan Teknologi Informasi
Fakultas Teknik Universitas Gadjah Mada
Jl. Grafika No. 2 Kampus UGM Yogyakarta
Telp. +62 274 552305
Email : jnteti@ugm.ac.id
MEI 2018 VOL. 7 NO. 2 (ISSN : 2301-4156)
1. Teknologi Informasi:
1.1 Rekayasa Perangkat Lunak
1.2 Pengetahuan dan Data Mining
1.3 Teknologi Multimedia
1.4 Mobile Computing
1.5 Parallel/Distributed Computing
1.6 Kecerdasan Buatan
1.7 Grafika Komputer
1.8 Virtual Reality
3. Isyarat, Sistem dan Elektronika:
3.1Algoritma Pengolahan Isyarat Digital
3.2 Sistem Robotika Pengolahan Citra
3.3 Instrumentasi Biomedis
3.4 Mikroelektronika
4. Sistem Komunikasi:
4.1 Jaringan Protokol dan Manajemen
4.2 Sistem Telekomunikasi
4.3 Komunikasi Nirkabel
4.4 Optoelektronik
4.5 Jaringan Sensor & Sensor Fuzzy
2. Sistem Ketenagaan:
2.1 Pembangkit
2.2 Distribusi daya
2.3 Konversi Daya
2.4 Sistem Proteksi
2.5 Bahan Tenaga Listrik
... Struktur JWT terdiri atas tiga bagian yang dipisahkan oleh titik ("."), yaitu header, payload, dan signature. [3] JWT merupakan sebuah token berbentuk string yang terdiri dari tiga bagian yaitu : header, payload dan signature yang digunakan untuk proses otentikasi dan pertukaran informasi. Token terdiri dari dua jenis :token pembawa dan token pemegang kunci. ...
... Berdasarkan permasalahan yang ada, maka solusi yang diusulkan yakni dengan membuat aplikasi sistem informasi dengan menggunakan RESTful web service untuk monitoring nilai akademik siswa Sekolah Dasar yang berbasis android dimana aplikasi tersebut dapat mengintegrasikan data siswa [5], [6], [7], data nilai, dan informasi-informasi penting perihal kegiatan di sekolah agar orang tua dapat memantau secara langsung nilai akademik anaknya di sekolah secara lebih detail dengan mudah. Penggunaan sistem web service [8], [9], [10] sendiri dirasa tepat karena sistem yang dibuat dapat lebih flexible dan mudah dijalankan karena mobilitasnya yang lebih baik dibandingkan dengan aplikasi berbasis web atau desktop. Sehingga diharapkan interoperabilitas aplikasi dapat tercapai dengan adanya penggunaan web services [11]. ...
Article
There are still many elementary schools that have not implemented an information system for processing student grades online because of the assumption that this is still not needed, even though in fact the use of computerized information systems can help schools in improving the academic process to be more effective and efficient. Information systems with web-based applications that are now often found still have shortcomings, namely the mobility of their use is still lacking compared to Android-based applications which are now easier to use and access anywhere. The use of web applications as a means for teachers to input values as well as an android application as a means for parents to be able to monitor their children's academic scores is considered to be the most appropriate solution in implementing this information system, but differences in platforms between Android and the web make it difficult for data to be integrated with each other. Therefore we need an interoperability system in order to integrate applications from different platforms. Then an android based academic score monitoring application was made with RESTful web service. The selection of the RESTful web service system itself is because this system applies the concept of a client server where the server to be created is a web-based application that is used by the school to input student grades, and the client application is an android application intended for parents / guardians of students to get information regarding the value of his child. The output of this research is an application system for monitoring the academic scores of elementary school students by implementing the RESTful web service system in its application as well as the results of the application testing questionnaire based on the usability aspect of the application with the final result of the application eligibility percentage of 87%.Keywords: Monitoring Student Values, Platforms, Information Systems.
... Pengujian eksekusi dilakukan dengan Postman [31] dalam menguji kecepatan waktu eksekusinya ketika proses enkripsi dan dekripsi. Fungsi utama dari Postman adalah untuk melakukan testing pada ketahanan enkripsi yang buat pada Application Programming Interface (API). ...
Article
Full-text available
Information comes from a collection of data obtained from various sources that have been processed. An information can help in decision making, so it is considered to have a high effectiveness value for the recipient of the information. Information exchange that utilizes public media internet services is widely used, so the validity of information must be done security from unauthorized attacks. One of them uses cryptography. AES is a method used by the National Institute of Standards and Technology (NIST) as a standard for the United States Federal encryption algorithm. Creativity in cryptographic modification can increase the strength of an attack. This study uses AES 128, 192, and 256 bit CBC mode algorithms by conducting trials at the level of encryption, decryption and the appearance of character frequencies. Encryption test results obtained an average speed of 128 bit blocks, namely 14.2 ms, 256 bits 13.2 ms and 192 bits 11.5 ms. While the decryption test results obtained an average speed of 128 bit blocks, namely 13.2 ms, 192 bits 14 ms and 256 bits 16.5 ms. The pattern of occurrence of the average frequency generated by 9%, by accepting symbols and numbers using this algorithm has little to solve by reading the characters display. The validation test produces a value of 100% where the functionality testing shows the expected results.Keyword: Security Information, AES, CBC, AES Mode CBC Abstrak Informasi berasal dari sekumpulan data yang didapatkan dari berbagai sumber yang telah diolah. Sebuah informasi bisa membantu dalam pengambilan keputusan, sehingga dianggap memiliki nilai efektivitas tinggi bagi penerima informasi. Pertukaran informasi yang memanfaatkan layanan publik media internet marak digunakan, maka keabsahan informasi harus dilakukan keamanan dari serangan pihak tidak berwenang. Salah satunya menggunakan kriptografi. AES adalah metode yang dimanfaatkan National Institute of Standards and Technology (NIST) sebagai standar algoritma enkripsi Federal Amerika Serikat. Kreativitas dalam modifikasi kriptografi bisa meningkatkan kekuatan dari serangan. Penelitian ini menggunakan algoritma AES 128, 192, dan 256 bit mode CBC dengan melakukan uji coba pengujian pada tingkat kecepatan proses enkripsi, dekripsi dan kemunculan frekuensi karakter. Hasil uji coba pengujian enkripsi didapatkan tingkat kecepatan rata-rata blok 128 bit yaitu 14,2 ms, 256 bit 13,2 ms dan 192 bit 11,5 ms. Sedangkan hasil uji coba dekripsi didapatkan tingkat kecepatan rata-rata blok 128 bit yaitu 13,2 ms, 192 bit 14 ms dan 256 bit 16,5 ms. Pola kemunculan frekuensi rata-rata dihasilkan 9%, dengan menerima simbol dan angka menunjukan algoritma ini memiliki kemungkinan kecil dapat dipecahkan melalui pembacaan kemunculan karakternya. Pengujian validasi menghasilkan nilai 100% dimana pengujian fungsionalitas menunjukkan hasil yang sesuai diharapkan. Kata Kunci: Keamanan Informasi, AES, CBC, AES Mode CBC
... Komunikasi data dilakukan dengan pemanfaatan web service berbasis RESTFul [4]. Pengamanan jalur komunikasi data antara client dan server akan menerapkan metode JSON Web Token (JWT) [5] ...
Article
Full-text available
Sistem presensi selalu menjadi masalah baik bagi dosen maupun mahasiswa. Sistem presensi manual menggunakan lembaran yang kemudian ditandatangani oleh mahasiswa. Lembaran tersebut direkap oleh dosen setiap akhir semester yang membuat waktu dosen untuk menyiapkan materi berikutnya terbuang sia-sia. Pentingnya perubahan dan penyerderhanaan sistem presensi dapat membantu dosen juga mahasiswa dalam hal peringatan mengenai jumlah presensi. Aplikasi sistem presensi dikembangkan dengan metode prototype yang menerapkan JSON Web Token, fingerprint, dan QR Code sebagai keamanan dan keaslian data serta algoritma haversine untuk perhitungan jarak mahasiswa dengan universitas. Sistem presensi dapat diakses oleh dosen melalui website dan mahasiswa melalui mobile yang dihubungkan dengan penerapan web service berbasis REST API. Pengujian dari sistem presensi menggunakan metode black box dengan hasil hampir sesuai dengan yang diharapkan. Hasil dari penelitian ini adalah dengan diciptakannya aplikasi presensi selanjutnya dapat mempermudah dosen maupun mahasiswa dalam hal proses. Hasil dari penelitian ini juga dapat menjadi acuan untuk peneliti berikutnya mengembangkan sistem presensi.
... Token berfungsi untuk mengakses halaman tertentu, pengguna akan mengirim balik token tersebut sebagai bukti bahwa pengguna sudah berhasi login, apabila tidak cocok maka akan keluar perintah dan apabila cocok maka data bisa diproses [8]. Agar lebih kuat token tersebut dilakukan enkripsi dengan menggunakan Algoritma dari Rijndael bernama Advanced Encryption Standard. ...
Article
Full-text available
In the millennial era, the internet has become a very basic need to support community activities in various fields, one of which is education. SMK Maritim Nusantara in supporting the learning process uses a web-based application called e-learning which is used by teachers and students. The school website has several documents in digital form that must be kept confidential, such as student data, teacher data, student grades. After scanning using the Acunetix WVS 10.5 application, information was obtained about the security holes found on the website https://www.e-learning.smkmn.sch.id, with the results of which there were 8 (eight) attacks with details, 2 (two). ) a hight category with the name Cross site scripting (XSS) attack, 4 (four) medium categories with the name HTML form attack without CSRF protection and 2 (two) low categories with the name Password type input attack with auto-complete enabled. The most dangerous attack category / hight is XSS. XSS attack is an attack that inserts malicious code in the form of javascript through an input form that aims to steal cookies and then uses the cookie to enter the web legally so that data can be manipulated and even deleted. For this reason, a strong system is needed to maintain security, confidentiality of school data, one way that can be used is by implementing the Standard Advance Encryption Algorithm (AES), this algorithm has a high level of security and uses little memory in its operation so that it does not burdensome to process and easy to implement. The results of research conducted by applying the AES Algorithm explain that previously there were 2 (two) high category vulnerabilities called XSS attacks, after the implementation of the AES Algorithm, the XSS attack vulnerability was no longer found. Based on the results obtained in the study, it can be concluded that the implementation of the AES Algorithm in tokens can improve the security of the https://www.e-learning.smkmn.sch.id website from XSS attacks.
... Admin dapat melakukan request ke dalam sistem dan mendapatkan informasi terkini berupa laporan pendataan satuan pendidikan. Seperti penjelasan sebelumnya sistem memiliki layanan berupa API yang dapat digunakan oleh aplikasi lain untuk tujuan integrasi, di mana setiap request API tersebut harus menyertakan header authorization berupa token sehingga keamanan sistem tetap terjaga, header sendiri merupakan catatan pendek pada setiap transaksi atau pertukaran dengan menggunakan HTTP baik pada saat request maupun response (Rahmatulloh, Sulastri, & Nugroho, 2018). Sistem memiliki data flow diagram level 0 untuk menggambarkan aliran data yang dapat dilihat pada Gambar 1.3 berikut. ...
Research Proposal
Full-text available
Data Pokok Pendidikan atau sering disingkat dengan Dapodik merupakan sebuah sistem pendataan yang memuat data satuan pendidikan, peserta didik, guru, tenaga pendidik, serta fasilitas sarana dan prasarana suatu satuan pendidikan, sehingga sistem tersebut mampu menghasilkan informasi yang dapat menjadi landasan bagi lembaga pendidikan untuk mengambil keputusan. Dinas Pendidikan Kepemudaan dan Olahraga Provinsi Bali (Disdikpora Provinsi Bali) merupakan salah satu instansi yang memerlukan data pokok pendidikan tersebut sebagai landasan pengambilan kebijakan dan penyusunan Buku Profil Disdikpora Provinsi Bali. Disdikpora Provinsi Bali hingga saat ini belum memiliki sistem pendataan satu pintu karena tiap jenjang pendidikan ditangani oleh lembaga yang berbeda - beda. Penelitian ini memiliki tujuan untuk merancang serta membangun sistem informasi pendataan satuan pendidikan berbasis website pada Provinsi Bali yang dapat digunakan oleh satuan pendidikan dari semua jenjang sederajat, kemudian dikelola oleh admin Disdikpora Provinsi Bali serta lembaga pemangku kepentingan lainnya. Sistem informasi ini berbasis responsive web apps yang mampu menyesuaikan dengan viewport device pengguna serta menggunakan bahasa pemrograman utama seperti PHP, Javascript dan SQL. Sistem juga memiliki fitur API atau Application Programming Interface, yang merupakan sekumpulan interface, kelas, fungsi, atau struktur kode yang dapat digunakan sebagai penghubung antar aplikasi, sehingga data atau informasi di dalam sistem ini dapat diintegrasikan dengan memanfaatkan API tersebut. . Penggunaan sistem informasi pada pendataan satuan pendidikan Provinsi Bali tentunya akan meningkatkan kecepatan dalam melakukan pemrosesan data, meningkatkan keakuratan, dan meminimalkan human error. Sistem informasi ini juga diharapkan mampu menjadi database terpusat yang menyimpan fakta – fakta pendidikan serta dapat membantu instansi untuk membentuk sebuah kebijakan atau keputusan
Article
Full-text available
Sistem pengajuan simpan pinjam PT.XYZ merupakan sistem yang digunakan calon debitur PT.XYZ untuk melakukan pengajuan simpan pinjam. Dalam perkembangannya terdapat kendala untuk melakukan integrasi data dengan sistem lain dikarenakan perbedaan bahasa pemrograman. Oleh sebab itu dilakukan pengembangan pada sistem pengajuan simpan pinjam agar data yang tersimpan pada sistem pengajuan simpan pinjam dapat diakses dan diintegrasi dengan sistem lain PT.XYZ. Penelitian ini bertujuan merancang backend sistem pengajuan simpan pinjam dengan teknologi REST web service. Perancangan dibangun menggunakan micro-framework Lumen dan JWT yang berfungsi sebagai keamanan web service. Pengujian terhadap sistem dilakukan menggunakan metode Blackbox dan dihasilkan web service yang dapat membuat dan menyediakan informasi untuk sistem lain dalam bentuk data JSON.
Article
Full-text available
Perkembangan teknologi informasi semakin pesat sampai saat ini dengan terus dikembangkannya teknologi-teknologi yang mendukungnya. Salah satu teknologi yang mendukung perkembangan teknologi informasi adalah teknologi komputasi terdistribusi (distributed computing) yang memungkinkan dilakukannya komputasi pada banyak mesin dan hasilnya dapat dimanfaatkan oleh banyak mesin pula. Salah satu teknologi komputasi terdistribusi yang saat ini sedang berkembang adalah teknologi Web Service.
Article
Full-text available
This paper introduces the major components of, and standards associated with, the Web services architecture. The different roles associated with the Web services architecture and the programming stack for Web services are described. The architectural elements of Web services are then related to a real-world business scenario in order to illustrate how the Web services approach helps solve real business problems.
Article
The competition of e-commerce is getting fiercer and customers are becoming more demanding. Customers navigate through the millions of products and services to fulfill their needs. Manufacturers and suppliers need to maintain full spectrum of related products and service to be attractive to customers. Focusing on producing their core competitive products with their proprietary capability becomes desirable yet unreachable. While organizations strive to focus on core competencies and becoming more flexible, an information platform which takes advantage of open, flexible Web 2.0 technologies is needed to increase the number of organizations involved in satisfying customer demand more effectively.In this paper, we describe a REST (Representational State Transfer)-based Web-Service and Web 2.0 technologies driven information platform for collaborative product development (WCPD). The WCPD aims to consolidate the once-fragmented world of customized product development into a more efficient platform of Collaboration 2.0, enabling products to be sourced and built more easily, quickly, inexpensively, and at higher quality levels. Users create their own profile to network with peers, build their reputation, promote their company, find collaborators, and buy and sell products.
Article
This document describes HMAC, a mechanism for message authentication using cryptographic hash functions. HMAC can be used with any iterative cryptographic hash function, e.g., MD5, SHA-1, in combination with a secret shared key. The cryptographic strength of HMAC depends on the properties of the underlying hash function.
Web Services Based on SOAP and REST Principles
  • S Mumbaikar Dan
  • P Padiya
S. Mumbaikar dan P. Padiya, "Web Services Based on SOAP and REST Principles," Int. J. Sci. Res. Publ., Vol. 3, No. 5, hal. 3-6, 2013.
Web Services Protocol : SOAP vs REST
  • V Kumari
V. Kumari, "Web Services Protocol : SOAP vs REST," IJARCET, Vol. 4, No. 5, hal. 2467-2469, 2015.
RESTFul Web Service untuk Sistem Pencatatan Transaksi Studi Kasus PT. XYZ
  • P F Tanaem
  • D Manongga
  • Dan A Iriani
P. F. Tanaem, D. Manongga, dan A. Iriani, "RESTFul Web Service untuk Sistem Pencatatan Transaksi Studi Kasus PT. XYZ," Jurnal Teknik Informatika dan Sistem Informasi, Vol. 2, No. 1, hal. 1-10, 2016.