IMPLEMENTASI ELLIPTIC CURVE DIGITAL SIGNATURE ALGORITHM DAN ALGORITMA SHA-256 PADAAUTENTIKASI RESTFUL WEB API - Ruhullah Reza Muhammad Khan, - (2023)
Perkembangan teknologi informasi dan komunikasi menyebabkan manusia selalu membuat inovasi dalam memenuhi berbagai kebutuhannya. Penggunaan internet sebagai sarana bertukar informasi membutuhkan suatu perangkat atau platform untuk mengaksesnya seperti komputer, laptop, ponsel pintar, dan lainnya. Agar semua pengguna dapat mengakses informasi yang sama maka dibutuhkan aplikasi multiplatform. Dalam membangun aplikasi multiplatform maka diperlukan web service. Representational State Transfer (REST) adalah standar arsitektur komunikasi client server berbasis web untuk komunikasi data yang umumnya menggunakan protokol Hypertext Transfer Protocol. RESTful Web Services atau yang dikenal juga sebagai RESTful Web API mempunyai kekurangan yaitu tidak adanya standar keamanan dan kebijakan akses yang ditetapkan sehingga siapa saja dapat mengakses dan memanipulasi data pada server. Solusi terhadap permasalahan sistem autentikasi pada RESTful web API adalah dengan menggunakan JSON Web Token (JWT) sebagai sarana autentikasi. Tujuan Penelitian ini adalah untuk mendeskripsikan prosedur autentikasi RESTful Web API menggunakan algoritma Elliptic Curve Digital Signature Algorithm dan SHA-256 dan membuat RESTful web API yang mengimplementasikan kedua algoritma tersebut untuk autentikasi client. Penelitian ini dilakukan dengan melakukan studi literatur dan pengembangan model dasar kriptografi. Hasil penelitian ini berupa RESTful Web API yang mengimplementasikan algoritma Elliptic Curve Digital Signature Algorithm dan fungsi hash SHA-256 dalam proses autentikasi menggunakan JSON Web Token (JWT). RESTful Web API yang dibangun terdiri dari tiga endpoint yaitu register, login, dan protected. Proses autentikasi menggunakan JWT dilakukan dengan cara membuat tanda tangan digital pada JWT yang dilakukan pada endpoint login. Ketika pengguna ingin mengakses endpoint protected, server akan melakukan verifikasi terhadap tanda tangan yang dikirimkan. The development of information and communication technology causes humans to always make innovations in meeting their various needs. The use of the Internet as a means of exchanging information requires a device or platform to access it, such as computers, laptops, smartphones, and others. So that all users can access the same information, a multiplatform application is needed. In building multiplatform applications, web services are needed. Representational State Transfer (REST) is a web-based client-server communication architecture standard for data communication that generally uses the Hypertext Transfer Protocol. RESTful Web Services or also known as RESTful Web API has a drawback, namely, there are no security standards and defined access policies so that anyone can access and manipulate data on the server. The solution to the problem of the authentication system in the RESTful web API is to use JSON Web Token (JWT) as an authentication tool. The purpose of this research is to describe the RESTful Web API authentication procedure using the Elliptic Curve Digital Signature Algorithm and SHA-256 algorithm and create a RESTful web API that implements both of these algorithms for client authentication. This research was carried out by conducting literature studies and developing basic cryptographic models. The result of this research is a RESTful Web API that implements the Elliptic Curve Digital Signature Algorithm and the SHA-256 hash function in the authentication process using JSON Web Token (JWT). The built RESTful Web API consists of three endpoints, register, login, and protected. The authentication process using JWT is done by creating a digital signature on the JWT which is done at the login endpoint. When a user wants to access a protected endpoint, the server will verify the signature that was sent.