TL;DR
Kunci antarmuka pemrograman aplikasi (API) adalah kode unik yang digunakan oleh API untuk mengidentifikasi aplikasi atau pengguna 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 dapat berbentuk satu kunci atau sekumpulan beberapa kunci. Pengguna harus mengikuti praktik terbaik untuk meningkatkan keamanan mereka secara keseluruhan terhadap pencurian kunci API dan menghindari konsekuensi terkait jika kunci API mereka disusupi.
API vs Kunci 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 mengambil dan menggunakan data kripto, seperti harga, volume, dan kapitalisasi pasar.
Kunci API hadir dalam berbagai bentuk — bisa berupa satu kunci atau sekumpulan beberapa 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 yang 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 API. Ketika Binance Academy mengakses API CoinMarketCap, kunci API ini harus 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 tindakan apa pun yang dilakukan pihak ketiga akan tampak seolah-olah berasal dari Binance Academy.
Kunci API juga dapat digunakan oleh API CoinMarketCap untuk mengonfirmasi apakah aplikasi diberi wewenang untuk mengakses sumber daya yang diminta. Selain itu, pemilik API menggunakan kunci API untuk memantau aktivitas API, seperti jenis, lalu lintas, dan volume permintaan.
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 tetapi sistem lain dapat memiliki banyak kode untuk satu “kunci API”.
Dengan demikian, “kunci API” adalah kode unik atau sekumpulan 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.
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”. Otentikasi memerlukan identifikasi entitas yang terlibat dan mengonfirmasi bahwa mereka memang benar adanya.
Otorisasi, di sisi lain, menentukan layanan API yang aksesnya diizinkan. 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 untuk entitas tertentu oleh pemilik API (detail selengkapnya di bawah) dan setiap kali panggilan dilakukan ke titik akhir API — yang memerlukan autentikasi atau otorisasi pengguna, atau keduanya — 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
Ini melibatkan penggunaan satu kunci rahasia untuk melakukan penandatanganan data dan verifikasi tanda tangan. Dengan kunci simetris, kunci API dan kunci rahasia biasanya dibuat oleh pemilik API dan kunci rahasia yang sama harus digunakan oleh layanan API untuk verifikasi tanda tangan. Keuntungan utama menggunakan kunci tunggal adalah lebih cepat dan memerlukan lebih sedikit daya komputasi untuk pembuatan dan verifikasi 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 pembuatan tanda tangan dan kunci publik digunakan untuk verifikasi tanda tangan. Kunci API dibuat oleh pemilik API tetapi pasangan kunci pribadi dan kunci publik dibuat oleh pengguna. Hanya kunci publik yang perlu digunakan oleh pemilik API untuk verifikasi tanda tangan, sehingga kunci privat dapat tetap bersifat lokal dan rahasia.
Keuntungan utama menggunakan kunci asimetris adalah keamanan yang lebih tinggi dalam memisahkan 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 yang bagus adalah pasangan kunci RSA.
Apakah Kunci API Aman?
Tanggung jawab kunci API berada di tangan pengguna. Kunci API mirip dengan kata sandi dan perlu diperlakukan dengan hati-hati. Berbagi kunci API mirip dengan membagikan kata sandi dan oleh karena itu, tidak boleh dilakukan karena hal itu akan membahayakan akun pengguna.
Kunci API biasanya 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 crawler 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 masa berlaku, maka kunci tersebut dapat digunakan tanpa batas waktu oleh penyerang setelah dicuri, hingga kunci tersebut dicabut.
Praktik Terbaik Saat Menggunakan Kunci API
Karena akses mereka terhadap data sensitif dan kerentanan umum mereka, menggunakan kunci API dengan aman adalah hal yang sangat penting. Anda dapat mengikuti panduan praktik terbaik berikut saat menggunakan kunci API untuk meningkatkan keamanannya secara keseluruhan:
Putar kunci API Anda sesering mungkin jika memungkinkan. Ini berarti Anda harus menghapus kunci API Anda saat ini dan membuat yang baru. Dengan banyak sistem, mudah untuk membuat dan menghapus kunci API. Mirip dengan bagaimana beberapa sistem mengharuskan Anda mengubah kata sandi setiap 30 hingga 90 hari, Anda harus merotasi kunci API Anda dengan 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 tetap tidak dapat diakses oleh IP yang tidak dikenal.
Gunakan beberapa kunci API: Memiliki beberapa kunci dan membagi tanggung jawab di antara kunci tersebut akan menurunkan risiko keamanan, karena keamanan Anda tidak akan bergantung pada satu kunci dengan izin yang luas. Anda juga dapat mengatur daftar putih IP yang berbeda untuk setiap kunci, sehingga semakin menurunkan risiko keamanan Anda.
Simpan kunci API dengan aman: Jangan simpan kunci Anda di tempat umum, di komputer umum, atau dalam format teks biasa aslinya. Sebaliknya, simpan masing-masing menggunakan enkripsi atau pengelola rahasia untuk keamanan yang lebih baik, dan berhati-hatilah agar tidak mengeksposnya secara tidak sengaja.
Jangan bagikan kunci API Anda. Membagikan kunci API Anda 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 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 entitas terkait, dan ajukan laporan polisi. Ini adalah cara terbaik untuk meningkatkan peluang Anda mendapatkan kembali dana yang hilang.
Menutup Pikiran
Kunci API menyediakan fungsi autentikasi dan otorisasi inti, dan pengguna harus mengelola dan melindungi kunci mereka dengan hati-hati. Ada banyak lapisan dan aspek untuk memastikan penggunaan kunci API yang aman. Secara keseluruhan, kunci API harus diperlakukan seperti kata sandi akun Anda.
Bacaan lebih lanjut
Prinsip Keamanan Umum
5 Penipuan Mata Uang Kripto yang Umum dan Cara Menghindarinya


