Implementasi Algoritme BLAKE2B Pada JSON Web Token Untuk Mekanisme Autentikasi Query Language
Kata Kunci:
GraphQL, BLAKE2B, JSON Web Token, Arsitektur Client-Server, AutentikasiAbstrak
GraphQL merupakan arsitektur komunikasi client-server berbasis web untuk komunikasi data yang menggunakan protokol HTTP. GraphQL terbagi ke dalam tiga bagian yaitu schema, query, dan resolver. Schema di dalamnya terdapat dua bagian yaitu query yang berfungsi untuk mengambil data dan mutation berfungsi untuk update data. Query berfungsi untuk menampilkan data dari server. Resolver berfungsi sebagai penyambung antara fungsi schema dengan data yang ada. Pada arsitektur GraphQL proses komunikasi protokol HTTP berjalan tanpa ada mekanisme autentikasi. Mekanisme autentikasi tersebut berfungsi agar akun user dapat mengakses sumber daya milik dia sendiri. JWT yang merupakan mekanisme autentikasi berbasis token dipilih untuk mengatasi kekurangan fitur autentikasi pada arsitektur graphQL. Algoritme HS256 merupakan salah satu algoritme yang diimplementasikan pada JWT sebagai algoritme hashing. Algoritme HS256 tergolong dalam algoritme SHA256 yang menggunakan message authentication code (MAC), sehingga disebut juga HMAC-SHA256. Pada tahun 2011 terdapat serangan preimage attack sehingga menjadi celah keamanan algoritme HMAC-SHA256 dalam beberapa tahun berikutnya. Algoritme BLAKE2B merupakan algoritme turunan dari algoritme BLAKE sebagai algoritme hashing yang menggunakan message authentication code (MAC). Tingkat keamanan algoritme BLAKE2B lebih baik dari algoritme HS256. Penelitian ini mengimplementasikan algoritme BLAKE2B pada JSON Web Token untuk mekanisme autentikasi query language dan sebagai alternatif algoritme HMAC-SHA256. Beberapa metode diataranya fungsional sistem untuk menguji kesesuaian sistem dengan tujuan, pengujian test vector untuk mengetahui kesesuaian hasil antara algoritme yang diimplementasikan dengan ketentuan yang terdapat pada dokumen RFC, dan pengujian waktu autentikasi untuk menentukan berapa lama waktu yang dibutuhkan algoritme BLAKE2B untuk menghasil sebuah message digest dan diperoleh algoritme BLAKE2B lebih cepat 96% dibanding HMAC-SHA256.