Implementasi Autentikasi Berbasis Token Menggunakan Platform-Agnostic Security Tokens (PASETO) Sebagai Mekanisme Autentikansi RESTful API

Sitorus, Nico F. and Ari Kusyanti, S.T., M.Sc. and Adhitya Bhawiyuga, S.Kom., M.Sc., (2020) Implementasi Autentikasi Berbasis Token Menggunakan Platform-Agnostic Security Tokens (PASETO) Sebagai Mekanisme Autentikansi RESTful API. Sarjana thesis, Universitas Brawijaya.

Abstract

RESTful API merupakan standar arsitektur komunikasi client-server untuk layanan web, namun rendah dari segi keamanan. Pengamanan data RESTful API menggunakan autentikasi untuk membatasi akses pada API dengan tidak menyimpan session state, sehingga diperlukan autentikasi berbasis token yang dikirim melalui header request seperti JSON Web Token (JWT). Token JWT dapat dipalsukan dengan mengeksploitasi algoritme none, memanfaatkan mekanisme JWT yang selalu percaya pada header berisi algoritma yang digunakan, dan penggunaan algoritma HMAC yang sudah dapat dieksploitasi. Pemalsuan token tersebut dapat diatasi dengan tidak menggunakan algoritma none dan mengubah mekanisme JWT. Mekanisme JWT dapat diganti dengan standar yang hanya menyediakan versi dan tujuan protokol kriptografi yang digunakan dan selalu membandingkan versi dan tujuan protokol kriptografi yang digunakan dengan header yang dikirim seperti PASETO. Algoritma HMAC juga dapat diganti dengan algoritma BLAKE2b dengan kekuatan setara dengan SHA-3, namun lebih cepat dari SHA-1 dan MD5. PASETO juga menggunakan algoritma XChaCha20-Poly1305 untuk enkripsi dan algoritma Ed25519 untuk signature. PASETO dapat diimplementasikan menggunakan python, menggunakan wrapper pada library Libsodium agar dapat digunakan pada Python, dan childprocess agar dapat digunakan pada nodeJS.

English Abstract

RESTful API is a client-server communication architecture standard for web services, but low in terms of security. RESTful API data security uses authentication to limit access to the API by not saving the session state, so that token-based authentication is required which is sent via a request header such as JSON Web Token (JWT). JWT tokens can be forged by exploiting None algorithm, utilizing JWT mechanism which always believes in token’s header that contains token’s algorithm used, and using HMAC algorithm which was already to be exploited. Token forgery can be overcome by not using None algorithm and changing JWT’s mechanism. JWT’s mechanism can be replaced with a standard that only provides the version and purpose of the cryptographic protocol used and always compares the version and purpose of the cryptographic protocol used with the token’s header had sent. HMAC algorithm can be replaced with BLAKE2b algorithm. Its power equivalent to SHA-3, but faster than SHA-1 and MD5. PASETO also uses XChaCha20-Poly1305 algorithm for encryption and Ed25519 algorithm for signatures. PASETO can be implemented using python, using a wrapper for Libsodium library so that it can be used in python, and childprocess with nodeJS.

Other obstract

-

Item Type: Thesis (Sarjana)
Identification Number: 0520150005
Uncontrolled Keywords: RESTful, JSON Web Token, Platform-Agnostic Security Tokens, XChaCha20-Poly1305, Ed25519, RESTful, JSON Web Token, Platform-Agnostic Security Tokens, XChaCha20-Poly1305, Ed25519
Subjects: 000 Computer science, information and general works > 004 Computer science > 004.6 Interfacing and communications > 004.62 Interfacing and communications protocols
Divisions: Fakultas Ilmu Komputer > Teknik Informatika
Depositing User: Budi Wahyono Wahyono
Date Deposited: 20 Feb 2021 07:09
Last Modified: 09 Aug 2022 03:41
URI: http://repository.ub.ac.id/id/eprint/183441
[thumbnail of DALAM MASA EMBARGO] Text (DALAM MASA EMBARGO)
0520150005- NICO F. SITORUS.pdf
Restricted to Registered users only until 31 December 2023.

Download (2MB)

Actions (login required)

View Item View Item