Kunci antarmuka pemrograman aplikasi (API) adalah kode unik yang digunakan oleh API untuk mengidentifikasi pengguna atau aplikasi yang memanggil. Kunci API digunakan untuk melacak dan mengontrol siapa yang menggunakan API dan cara mereka menggunakannya, serta untuk mengautentikasi dan mengotorisasi aplikasi — serupa dengan cara kerja nama pengguna dan kata sandi. Kunci API bisa berbentuk satu kunci atau sekumpulan beberapa kunci. Pengguna harus menggunakan kunci API dengan benar untuk meningkatkan keamanan mereka secara keseluruhan terhadap pencurian kunci API dan menghindari konsekuensi terkait jika kunci API mereka disusupi.
Bedakan antara API dan kunci API
Untuk memahami apa itu kunci API, Anda harus terlebih dahulu memahami apa itu API. Antarmuka pemrograman aplikasi atau API (Application programming interface) adalah middleware yang memungkinkan dua atau lebih aplikasi untuk berbagi informasi. Misalnya, API CoinMarketCap memungkinkan aplikasi lain mengambil dan menggunakan data mata uang kripto, seperti harga, volume, dan kapitalisasi pasar.
Kunci API hadir dalam berbagai bentuk — bisa berupa kunci tunggal atau sekumpulan kunci. Sistem yang berbeda menggunakan kunci ini untuk mengautentikasi dan mengotorisasi aplikasi, serupa dengan cara penggunaan nama pengguna dan kata sandi. Kunci API digunakan oleh klien API untuk mengautentikasi aplikasi pemanggil API.
Misalnya, jika Binance Academy ingin menggunakan API CoinMarketCap, kunci API akan dibuat oleh CoinMarketCap dan digunakan untuk mengautentikasi identitas Binance Academy (aplikasi API) yang meminta akses API. Saat Binance Academy mengakses API CoinMarketCap, kunci API ini dikirim ke CoinMarketCap bersama dengan permintaannya.
Kunci API ini hanya boleh digunakan oleh Binance Academy dan tidak boleh dibagikan atau dikirimkan kepada orang lain. Membagikan kunci API ini akan memungkinkan pihak ketiga mengakses CoinMarketCap sebagai Binance Academy, dan setiap tindakan pihak ketiga akan tampak seolah-olah berasal dari Binance Academy.
Kunci API juga dapat digunakan oleh API CoinMarketCap untuk mengonfirmasi apakah aplikasi berwenang untuk mengakses sumber daya yang diminta. Selain itu, pemilik API menggunakan kunci API untuk melacak aktivitas API, seperti jenis permintaan, lalu lintas, dan volume.
Apa itu kunci API?
Kunci API digunakan untuk mengontrol dan melacak siapa yang menggunakan API dan cara mereka menggunakannya. Istilah “kunci API” dapat memiliki arti yang berbeda untuk sistem yang berbeda. Beberapa sistem memiliki satu kode, namun sistem lainnya mungkin memiliki beberapa kode untuk satu “kunci API”.
Jadi, “kunci API” adalah kode unik atau kumpulan kode unik yang digunakan oleh API untuk mengautentikasi dan mengotorisasi pengguna atau aplikasi yang memanggil. Beberapa kode digunakan untuk otentikasi dan beberapa digunakan untuk membuat tanda tangan kriptografi untuk membuktikan keabsahan permintaan.
Kunci autentikasi ini sering disebut secara kolektif sebagai “kunci API”, sedangkan kode yang digunakan untuk tanda tangan kriptografi memiliki beragam nama, seperti “kunci pribadi”, “kunci publik”, atau “kunci pribadi”. Otentikasi memerlukan identifikasi entitas yang terlibat dan mengonfirmasi identitas mereka.
Di sisi lain, ini memberi wewenang untuk menentukan layanan API yang diizinkan untuk diakses. Fungsi kunci API mirip dengan nama pengguna dan kata sandi akun; itu juga dapat dihubungkan ke fitur keamanan lainnya untuk meningkatkan keamanan secara keseluruhan.
Setiap kunci API biasanya dibuat oleh pemilik API untuk entitas tertentu (detail selengkapnya di bawah), dan setiap kali panggilan dilakukan ke titik akhir API — memerlukan autentikasi atau otorisasi pengguna, atau keduanya — maka kunci yang relevan akan digunakan.
Tanda tangan kriptografi
Beberapa kunci API menggunakan tanda tangan kriptografi sebagai lapisan verifikasi tambahan. Saat pengguna ingin mengirim data tertentu ke API, tanda tangan digital yang dihasilkan oleh kunci lain dapat ditambahkan ke permintaan. Dengan menggunakan kriptografi, pemilik API dapat memverifikasi bahwa tanda tangan digital ini cocok dengan data yang dikirim.
Tanda tangan simetris dan asimetris
Data yang dibagikan melalui API dapat ditandatangani dengan kunci kriptografi, yang termasuk dalam kategori berikut:
Kunci simetris
Mereka melibatkan penggunaan kunci rahasia untuk melakukan penandatanganan data dan verifikasi tanda tangan. Dengan kunci simetris, kunci API dan kunci rahasia biasanya dihasilkan oleh pemilik API, dan layanan API harus menggunakan kunci rahasia yang sama untuk memverifikasi tanda tangan. Keuntungan utama menggunakan kunci tunggal adalah lebih cepat dan memerlukan lebih sedikit daya komputasi untuk menghasilkan dan memverifikasi tanda tangan. Contoh kunci simetris yang bagus adalah HMAC.
Kunci asimetris
Mereka melibatkan penggunaan dua kunci: kunci privat dan kunci publik, yang berbeda namun terhubung secara kriptografis. Kunci privat digunakan untuk membuat tanda tangan dan kunci publik digunakan untuk memverifikasi tanda tangan. Kunci API dibuat oleh pemilik API tetapi pasangan kunci pribadi dan publik dibuat oleh pengguna. Pemilik API hanya perlu menggunakan kunci publik untuk memverifikasi tanda tangan, sehingga kunci privat dapat tetap bersifat lokal dan rahasia.
Keuntungan utama menggunakan kunci asimetris adalah keamanan yang lebih baik dalam memisahkan kunci pembuatan tanda tangan dan kunci verifikasi. Hal ini memungkinkan sistem eksternal untuk memverifikasi tanda tangan tanpa dapat menghasilkan tanda tangan. Keuntungan lainnya adalah beberapa sistem enkripsi asimetris mendukung penambahan kata sandi ke kunci pribadi. Contoh tipikalnya adalah pasangan kunci RSA.
Apakah kunci API aman?
Tanggung jawab untuk menjaga keamanan kunci API terletak pada pengguna. Kunci API mirip dengan kata sandi dan harus ditangani dengan hati-hati. Berbagi kunci API mirip dengan berbagi kata sandi dan oleh karena itu tidak boleh dilakukan karena hal itu dapat membahayakan akun pengguna.
Kunci API sering kali menjadi sasaran serangan siber karena dapat digunakan untuk melakukan operasi penting pada sistem, seperti meminta informasi pribadi atau melakukan transaksi keuangan. Faktanya, terdapat kasus serangan crawler dan database online untuk mencuri kunci API.
Konsekuensi dari pencurian kunci API bisa sangat parah dan menyebabkan kerugian finansial yang signifikan. Selain itu, karena beberapa kunci API tidak memiliki masa berlaku, penyerang dapat menggunakannya tanpa batas waktu setelah dicuri hingga kunci tersebut dicabut.
Cara menggunakan kunci API dengan benar
Karena memberikan akses ke data sensitif, menggunakan kunci API dengan aman adalah hal yang terpenting. Anda dapat mengikuti praktik terbaik berikut dalam menggunakan kunci API untuk meningkatkan keamanan secara keseluruhan:
Segarkan kunci API Anda sesering mungkin. Ini berarti Anda harus menghapus kunci API Anda saat ini dan membuat yang baru. Dengan banyak sistem, membuat dan menghapus kunci API sangatlah mudah. Mirip dengan beberapa sistem yang mengharuskan Anda mengubah kata sandi setiap 30 hingga 90 hari, Anda harus merotasi kunci API pada frekuensi yang sama jika memungkinkan.
Gunakan daftar putih IP: Saat Anda membuat kunci API, buatlah daftar IP yang diizinkan untuk menggunakan kunci tersebut (daftar putih IP). Anda juga dapat menentukan daftar IP yang diblokir (daftar hitam IP). Dengan cara ini, meskipun kunci API Anda dicuri, kunci tersebut tidak dapat diakses oleh IP yang tidak dikenal.
Gunakan beberapa kunci API: Memiliki beberapa kunci dan membagi tanggung jawab di antara kunci tersebut akan mengurangi risiko keamanan, karena keamanan Anda tidak akan bergantung pada satu kunci dengan banyak izin. Anda juga dapat mengatur daftar putih IP yang berbeda untuk setiap kunci, sehingga semakin mengurangi risiko keamanan.
Simpan kunci API dengan aman: Jangan simpan kunci Anda di tempat umum, di komputer bersama, atau dalam format teks biasa aslinya. Sebaliknya, simpan masing-masing dengan enkripsi atau pengelola rahasia untuk keamanan yang lebih baik, dan berhati-hatilah agar tidak mengeksposnya secara tidak sengaja.
Jangan bagikan kunci API Anda. Berbagi kunci API mirip dengan membagikan kata sandi Anda. Dengan melakukan hal ini, Anda memberikan hak autentikasi dan otorisasi yang sama kepada pihak lain seperti Anda. Jika disusupi, kunci API Anda dapat dicuri dan digunakan untuk membobol akun Anda. Kunci API hanya boleh digunakan antara Anda dan sistem yang menghasilkannya.
Jika kunci API Anda disusupi, Anda harus menonaktifkannya terlebih dahulu untuk menghindari kerusakan lebih lanjut. Jika ada kerugian finansial, ambil tangkapan layar informasi penting terkait kejadian tersebut, hubungi unit terkait, dan kirimkan laporan ke polisi. Ini adalah cara terbaik untuk meningkatkan peluang Anda mendapatkan kembali dana yang hilang.
Ringkasan
Kunci API menyediakan fungsi autentikasi dan otorisasi inti, dan pengguna harus mengelola dan melindungi kunci mereka dengan hati-hati. Ada banyak langkah dan aspek untuk memastikan penggunaan kunci API yang aman. Secara umum, Anda harus menganggap kunci API sebagai kata sandi untuk akun Anda.
Baca selengkapnya:
Prinsip keamanan umum
5 Penipuan Cryptocurrency yang Umum dan Cara Menghindarinya

