Glosarium

Apa itu Web Crypto API?

Web Crypto API adalah standar W3C yang menyediakan antarmuka JavaScript ke sekumpulan primitif kriptografi — termasuk enkripsi, dekripsi, pembuatan kunci, hashing, dan penandatanganan — yang diimplementasikan secara native di browser.

Sebelum Web Crypto API, aplikasi web yang membutuhkan kriptografi harus mengandalkan library JavaScript yang mengimplementasikan algoritma dari awal. Library-library ini lambat (berjalan di interpreter JavaScript), berpotensi rentan terhadap serangan timing, dan tidak dapat memanfaatkan akselerator kriptografi hardware yang ada di CPU modern.

Web Crypto API memecahkan masalah ini dengan mengekspos mesin kriptografi native browser ke JavaScript. Operasi seperti enkripsi AES, pembuatan kunci, dan derivasi kunci PBKDF2 berjalan sebagai kode native yang dikompilasi, mendapat manfaat dari implementasi constant-time (tahan terhadap timing side-channel) dan akselerasi hardware melalui instruksi AES-NI pada prosesor modern.

API ini dirancang asinkron — semua operasi mengembalikan Promise alih-alih memblokir thread utama. Objek CryptoKey yang dibuat oleh API bersifat opak secara default dan tidak dapat diekstrak dari memori kecuali secara eksplisit ditandai sebagai exportable, menambahkan lapisan perlindungan tambahan terhadap kebocoran kunci yang tidak disengaja.

Cara Vaulted menggunakan Web Crypto API

Vaulted mengandalkan Web Crypto API secara eksklusif untuk semua operasi kriptografi. Vaulted menggunakan crypto.subtle.generateKey untuk membuat kunci AES-256-GCM, crypto.subtle.encrypt dan decrypt untuk enkripsi sebenarnya, dan crypto.subtle.deriveKey dengan PBKDF2 saat passphrase digunakan. Dengan hanya bergantung pada kriptografi native browser, Vaulted menghindari dependensi library kripto pihak ketiga dan mendapat manfaat dari implementasi constant-time yang dipercepat hardware.