Abstrak


Implementasi Sistem Kriptografi RSA Signature dengan SHA-256 pada Mekanisme Autentikasi REST API


Oleh :
Ilyas Mahfud - M0118035 - Fak. MIPA

Seiring dengan perkembangan teknologi informasi, komunikasi antar individu semakin mengalami peningkatan sehingga dibutuhkan teknologi application programming interface (API). Teknologi API yang terkenal adalah representational state transfer (REST). Keamanan pada REST memerlukan autentikasi pada server dengan verifikasi nama pengguna (username) dan kata sandi (password) sebagai muatan berbentuk Javascript object notation (JSON). Sebagai upaya pengamanan, password dapat dienkripsi dengan JSON web token (JWT) agar data tersamarkan ketika server diretas. Pada implementasi JWT, dibutuhkan sistem kriptografi pembuat tanda tangan digital untuk memastikan keaslian pengguna. Pada penelitian ini dibahas salah satu sistem kriptografi yang dapat diandalkan, yakni Rivest, Shamir, dan Adleman (RSA) tanda tangan dengan secure hash algorithm 256-bit (SHA-256) atau disingkat menjadi RS256. RS256 adalah algoritme asimetris yang menggunakan pasangan kunci publik dan kunci pribadi. Untuk mendapatkan kunci dari RSA perlu tiga proses yakni proses pembentukan, tanda tangan, dan verifikasi kunci. Yang dimana saat proses tanda tangan dan verfikasi, digunakan fungsi hashing SHA-256 untuk menghindari resistensi tabrakan.

Penelitian ini mengimplementasikan sistem kriptografi RSA Signature dengan SHA-256 pada mekanisme autentikasi REST API. Dalam melakukan penelitian digunakan metode kajian pustaka dan system development life cycle (SDLC). Kajian pustaka dilakukan terhadap sumber-sumber berupa buku, jurnal, maupun skripsi mengenai sistem kriptografi RS256 dan mekanisme autentikasi REST API menggunakan JWT. SDLC adalah pendekatan sistematis dalam implementasi sistem yang dimulai melalui proses analisis, desain, pengkodean, dan uji coba.

Berdasarkan hasil penelitian, diperoleh kesimpulan bahwa dengan implementasi sistem kriptografi RS256 pada mekanisme autentikasi REST API, password pengguna bisa terenkripsi menjadi string panjang acak, sehingga jika ada kebocoran data password akan tetap aman. Fungsi hashing SHA-256 yang digunakan pada RSA menjadikan password yang pengguna masukkan walaupun sama tapi tetap akan terenkripsi menjadi cipher text yang berbeda dan memiliki panjang yang sama. Pada hasil uji coba 10 pengguna, proses enkripsi password berhasil disimpan di database dan membutuhkan waktu yang beragam.