Kunci antarmuka pemrograman aplikasi (API) adalah kode unik yang digunakan oleh API untuk mengidentifikasi aplikasi, aplikasi, atau pengguna yang meminta. Kunci API digunakan untuk melacak dan mengontrol siapa yang menggunakan API dan cara mereka menggunakannya. Mereka juga berfungsi untuk mengautentikasi dan mengotorisasi aplikasi — serupa dengan cara sistem bekerja dengan nama pengguna dan kata sandi. Kunci API dapat berupa satu kunci atau sekumpulan beberapa kunci. Pengguna harus mengikuti praktik terbaik untuk meningkatkan keamanan keseluruhan terhadap pencurian kunci API dan menghindari konsekuensi terkait dengan peretasan kunci API mereka.

API vs. Chave API

Untuk memahami apa itu kunci API, Anda harus terlebih dahulu memahami apa itu API. Antarmuka pemrograman aplikasi atau API adalah perantara perangkat lunak yang memungkinkan dua atau lebih aplikasi untuk berbagi informasi. Misalnya, API CoinMarketCap memungkinkan aplikasi lain memperoleh dan menggunakan data mata uang kripto seperti harga, volume, dan kapitalisasi pasar.

Kunci API dapat memiliki berbagai bentuk — bisa berupa satu kunci atau sekumpulan beberapa kunci. Sistem yang berbeda menggunakan kunci ini untuk mengautentikasi dan mengotorisasi aplikasi, mirip dengan mekanisme yang menggunakan nama pengguna dan kata sandi. Kunci API digunakan oleh klien API untuk mengautentikasi aplikasi yang membuat permintaan, misalnya memanggil API.

Misalnya, jika Binance Academy ingin menggunakan API CoinMarketCap, kunci API akan dibuat oleh CoinMarketCap dan digunakan untuk mengautentikasi identitas Binance Academy (klien API), yang meminta akses ke API. Saat Binance Academy mengakses API CoinMarketCap, kunci API ini harus dikirim ke CoinMarketCap bersama dengan permintaannya.

Kunci API ini hanya untuk digunakan oleh Binance Academy dan tidak boleh dibagikan atau dikirim ke pihak ketiga mana pun. Membagikan kunci API ini akan memungkinkan pihak ketiga mengakses CoinMarketCap dengan menyamar sebagai Binance Academy. Dengan kata lain, tindakan apa pun yang dilakukan pihak ketiga akan diperlakukan seolah-olah tindakan tersebut berasal dari Binance Academy.

Kunci API juga dapat digunakan oleh API CoinMarketCap untuk mengonfirmasi bahwa aplikasi diberi wewenang untuk mengakses sumber daya yang diminta. Selain itu, pemilik API menggunakan kunci API untuk memantau aktivitas dan informasi API seperti jenis permintaan, lalu lintas, dan volume.

Apa itu kunci API?

Kunci API digunakan untuk mengontrol dan melacak siapa yang menggunakan API tertentu dan bagaimana API tersebut digunakan. Istilah “kunci API” dapat memiliki arti yang berbeda untuk sistem yang berbeda. Beberapa sistem memiliki satu kode, yang lain mungkin memiliki beberapa kode untuk satu “kunci API”.

Oleh karena itu, “kunci API” adalah kode unik atau kumpulan kode unik yang digunakan oleh API untuk mengautentikasi dan mengotorisasi pengguna atau aplikasi yang meminta. Beberapa kode digunakan untuk otentikasi, yang lain digunakan untuk membuat tanda tangan kriptografi dan membuktikan keabsahan suatu permintaan.

Kode autentikasi ini biasanya disebut secara kolektif sebagai “kunci API”, sedangkan kode yang digunakan untuk tanda tangan kriptografi memiliki berbagai nama, seperti “kunci rahasia”, “kunci publik”, atau “kunci pribadi”. Proses autentikasi bertujuan untuk mengidentifikasi entitas yang terlibat dan memastikan bahwa entitas tersebut memang benar adanya.

Otorisasi, di sisi lain, menentukan layanan API mana yang diizinkan untuk diakses. Fungsi kunci API mirip dengan nama pengguna dan kata sandi; Anda juga dapat menghubungkannya ke fitur keamanan lainnya untuk meningkatkan keamanan secara keseluruhan.

Biasanya, setiap kunci API dibuat untuk entitas tertentu oleh pemilik API (detail selengkapnya di bawah) dan setiap kali permintaan dibuat ke titik akhir API — yang memerlukan autentikasi atau otorisasi pengguna, atau keduanya — kunci terkait akan digunakan.

Tanda tangan kriptografi

Beberapa kunci API menggunakan tanda tangan digital (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 enkripsi, 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

Ini melibatkan penggunaan kunci rahasia untuk melakukan penandatanganan data dan memverifikasi tanda tangan. Dengan kunci simetris, kunci API dan kunci rahasia biasanya dihasilkan oleh pemilik API dan kunci rahasia yang sama harus digunakan oleh layanan API untuk verifikasi tanda tangan. Keuntungan utama menggunakan kunci unik adalah kecepatan proses dan kebutuhan daya komputasi yang lebih sedikit untuk menghasilkan dan memverifikasi tanda tangan. Contoh kunci simetris yang bagus adalah HMAC.

Kunci asimetris

Ini melibatkan penggunaan dua kunci: kunci privat dan kunci publik, yang berbeda namun terhubung secara kriptografis. Kunci privat digunakan untuk menghasilkan tanda tangan dan kunci publik digunakan untuk memverifikasi tanda tangan. Kunci API dibuat oleh pemilik API, namun kunci pribadi dan kunci publik dibuat oleh pengguna. Untuk verifikasi tanda tangan, pemilik API hanya perlu menggunakan kunci publik. Oleh karena itu, kunci privat dapat tetap bersifat lokal dan rahasia.

Keuntungan utama menggunakan kunci asimetris adalah keamanan lebih besar yang ditawarkan dengan memisahkan pembuatan tanda tangan dan kunci verifikasi. Hal ini memungkinkan sistem eksternal untuk memverifikasi tanda tangan bahkan tanpa memiliki kemampuan untuk menghasilkannya. Keuntungan lainnya adalah beberapa sistem enkripsi asimetris mendukung penambahan kata sandi ke kunci pribadi. Contoh yang bagus adalah pasangan kunci RSA.

Apakah kunci API aman?

Tanggung jawab atas kunci API terletak pada pengguna. Kunci API mirip dengan kata sandi dan perlu diperlakukan dengan hati-hati. Berbagi kunci API sama seperti membagikan kata sandi, artinya tidak disarankan karena akan membahayakan akun pengguna.

Kunci API sering kali menjadi sasaran serangan siber karena dapat digunakan untuk melakukan operasi yang kuat pada sistem, seperti meminta informasi pribadi atau melakukan transaksi keuangan. Faktanya, ada beberapa kasus peretas yang berhasil menyerang database kode online untuk mencuri kunci API.

Konsekuensi pencurian kunci API bisa sangat drastis dan menyebabkan kerugian finansial yang signifikan. Selain itu, karena beberapa kunci API tidak memiliki tanggal kedaluwarsa, kunci tersebut dapat digunakan tanpa batas waktu oleh penyerang setelah dicuri, hingga kunci tersebut dicabut.

Praktik terbaik saat menggunakan kunci API

Karena akses ke data sensitif dan kerentanan umum kunci API, penggunaan kunci ini secara aman sangatlah penting. Saat menggunakan kunci API, Anda dapat mengikuti praktik terbaik berikut dan meningkatkan keamanan Anda:

  1. Jika memungkinkan, ubah kunci API Anda sesering mungkin. Untuk melakukan ini, Anda harus menghapus kunci API Anda saat ini dan membuat yang baru. Anda dapat dengan mudah membuat dan menghapus kunci API di berbagai sistem. Sama seperti beberapa sistem yang mengharuskan Anda mengubah kata sandi setiap 30 hingga 90 hari, Anda juga harus mengubah kunci API dengan frekuensi yang sama.

  2. Gunakan daftar putih IP: Saat membuat kunci API, tentukan daftar IP yang diizinkan untuk menggunakan kunci tersebut (daftar putih untuk alamat IP). Anda juga dapat menentukan daftar IP yang diblokir (daftar hitam untuk alamat IP). Dengan cara ini, meskipun kunci API Anda dicuri, kunci tersebut tidak dapat diakses oleh IP yang tidak dikenal.

  3. Gunakan beberapa kunci API: memiliki banyak kunci dan membagi tanggung jawab di antara kunci tersebut akan mengurangi risiko, karena keamanan Anda tidak akan bergantung pada satu kunci dengan banyak izin. Anda juga dapat menentukan, untuk setiap kunci, daftar putih yang berbeda untuk alamat IP, sehingga semakin mengurangi risiko.

  4. Simpan kunci API dengan aman: Jangan simpan kunci Anda di tempat umum, di komputer umum, atau dalam format teks biasa aslinya. Sebaliknya, untuk keamanan yang lebih baik, simpan masing-masing menggunakan enkripsi atau pengelola dan berhati-hatilah agar tidak mengeksposnya secara tidak sengaja.

  5. Jangan bagikan kunci API Anda. Membagikan kunci API Anda seperti membagikan kata sandi Anda. Dengan melakukan hal ini, Anda memberikan hak autentikasi dan otorisasi yang sama kepada orang lain seperti yang Anda miliki. Kunci API Anda dapat dicuri dan digunakan untuk meretas akun Anda. Kunci API hanya boleh digunakan antara Anda dan sistem yang menghasilkannya.

Jika kunci API Anda disusupi, Anda harus menonaktifkannya terlebih dahulu untuk mencegah kerusakan lebih lanjut. Jika ada kerugian finansial, ambil tangkapan layar informasi penting terkait insiden tersebut, hubungi pihak terkait dan laporkan ke polisi. Ini adalah cara terbaik untuk meningkatkan peluang Anda mendapatkan kembali dana yang hilang.

Pertimbangan terakhir

Kunci API menyediakan fungsi autentikasi dan otorisasi dasar, dan pengguna harus mengelola dan melindungi kunci mereka dengan hati-hati. Ada banyak lapisan dan aspek berbeda untuk memastikan penggunaan kunci API secara aman. Secara umum, kunci API harus diperlakukan seperti kata sandi.

Bacaan lebih lanjut

  • Prinsip Keamanan Umum

  • 5 Penipuan Mata Uang Kripto yang Umum dan Cara Menghindarinya