Kunci antarmuka pemrograman aplikasi (API) adalah kode unik yang digunakan oleh API untuk mengidentifikasi aplikasi atau pengguna yang membuat permintaan. Kunci API digunakan untuk melacak dan mengontrol siapa yang menggunakan API dan cara mereka menggunakannya, serta untuk mengautentikasi dan mengotorisasi aplikasi, mirip dengan cara kerja nama pengguna dan kata sandi. Kunci API dapat berupa satu kunci atau sekumpulan kunci. Pengguna harus mengikuti praktik terbaik untuk meningkatkan keamanan mereka secara keseluruhan terhadap pencurian kunci API dan menghindari konsekuensi dari penyusupan kunci API.
API dan 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.
Kunci API hadir dalam berbagai bentuk: bisa berupa kunci tunggal atau sekumpulan kunci. Sistem yang berbeda menggunakan kunci ini untuk mengautentikasi dan mengotorisasi aplikasi, mirip dengan nama pengguna dan kata sandi untuk individu. Kunci API digunakan oleh klien API untuk mengautentikasi aplikasi yang meminta 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 permintaan tersebut.
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 semua tindakan dari pihak ketiga tersebut 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 memantau aktivitas API, seperti berbagai jenis permintaan, 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 berbeda dalam sistem yang berbeda. Beberapa sistem memiliki satu kode, namun sistem lainnya mungkin memiliki beberapa kode untuk satu “kunci API”.
Dengan demikian, “kunci API” adalah kode unik atau kumpulan kode unik yang digunakan oleh API untuk mengautentikasi dan mengotorisasi pengguna atau aplikasi yang membuat permintaan. Beberapa kode digunakan untuk otentikasi dan lainnya untuk membuat tanda tangan kriptografi untuk membuktikan keabsahan suatu permintaan.
Kode autentikasi ini biasanya disebut "kunci API", sedangkan kode yang digunakan untuk tanda tangan kriptografi memiliki nama yang berbeda, seperti "kunci rahasia", "kunci publik", atau "kunci pribadi". Otentikasi melibatkan identifikasi entitas terkait dan konfirmasi keberadaannya adalah siapa yang mereka klaim.
Otorisasi, di sisi lain, menentukan akses layanan API mana yang diizinkan. Fungsi kunci API mirip dengan nama pengguna dan kata sandi akun. Itu juga dapat dihubungkan ke perangkat keamanan lain untuk meningkatkan keamanan secara keseluruhan.
Setiap kunci API biasanya 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 dari pengguna API, atau keduanya, kunci terkait 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 dapat diklasifikasikan ke 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 kunci rahasia yang sama harus digunakan oleh layanan API untuk verifikasi tanda tangan. Keuntungan utama menggunakan satu kunci adalah penerapannya lebih cepat dan memerlukan lebih sedikit daya komputasi untuk pembuatan dan verifikasi tanda tangan. HMAC adalah contoh kunci simetris yang bagus.
Kunci asimetris
Mereka melibatkan penggunaan dua kunci: kunci privat dan kunci publik, yang berbeda namun terkait secara kriptografis. Kunci privat digunakan untuk pembuatan tanda tangan dan kunci publik digunakan untuk verifikasi tanda tangan. Kunci API dibuat oleh pemilik API, namun pasangan kunci pribadi dan publik dibuat oleh pengguna. Hanya kunci publik yang boleh digunakan oleh pemilik API untuk verifikasi tanda tangan, sehingga kunci privat tetap bersifat lokal dan rahasia.
Keuntungan utama menggunakan kunci asimetris adalah peningkatan keamanan dalam memisahkan kunci pembuatan tanda tangan dan kunci verifikasi. Hal ini memungkinkan sistem eksternal untuk memverifikasi tanda tangan tanpa dapat membuatnya. Keuntungan lainnya adalah beberapa sistem enkripsi asimetris memungkinkan kata sandi ditambahkan ke kunci pribadi. Pasangan kunci RSA adalah contoh yang bagus.
Apakah kunci API aman?
Tanggung jawab atas kunci API terletak pada pengguna. Kunci API mirip dengan kata sandi dan harus diperlakukan dengan hati-hati. Berbagi kunci API mirip dengan berbagi kata sandi dan, oleh karena itu, tidak boleh dilakukan karena akan membahayakan akun pengguna.
Kunci API biasanya menjadi sasaran serangan siber karena dapat digunakan untuk melakukan operasi skala besar pada sistem, seperti meminta informasi pribadi atau melakukan transaksi keuangan. Memang ada kasus di mana perayap web berhasil memindai basis data kode online untuk mencuri kunci API.
Konsekuensi dari pencurian kunci API bisa sangat besar 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 untuk menggunakan kunci API
Karena akses mereka terhadap data sensitif dan kerentanan umum, penggunaan kunci API secara aman sangatlah penting. Anda dapat mengikuti praktik terbaik berikut saat menggunakan kunci API untuk meningkatkan keamanannya secara keseluruhan:
Ubah kunci API Anda sesering mungkin. Ini berarti Anda harus menghapus kunci API Anda saat ini dan membuat yang baru. Dengan banyak sistem, biasanya mudah untuk membuat dan menghapus kunci API. Sama seperti beberapa sistem yang mengharuskan Anda mengubah kata sandi setiap 30-90 hari, Anda juga harus mengubah kunci API dengan frekuensi yang sama.
Gunakan daftar putih IP: Saat Anda membuat kunci API, buat 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 izin yang luas. Anda juga dapat mengatur daftar putih alamat IP yang berbeda untuk setiap kunci, sehingga semakin mengurangi risiko keamanan.
Simpan kunci API dengan aman: Jangan simpan kunci Anda di lokasi yang dapat diakses, di komputer umum, atau dalam format teks biasa aslinya. Sebaliknya, simpanlah menggunakan enkripsi atau pengelola kata sandi untuk keamanan tambahan, dan berhati-hatilah agar tidak mengeksposnya secara tidak sengaja.
Jangan bagikan kunci API Anda. Anda dapat membandingkan berbagi kunci API dengan berbagi kata sandi. Dengan melakukan hal ini, pihak lain akan mendapatkan hak autentikasi dan otorisasi yang sama 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 menghindari kerusakan lebih lanjut. Jika terjadi kerugian finansial, ambil tangkapan layar informasi penting terkait insiden tersebut, hubungi entitas terkait dan ajukan keluhan. Ini adalah cara terbaik untuk meningkatkan peluang Anda mendapatkan kembali dana yang hilang.
Kesimpulan
Kunci API menyediakan fungsi autentikasi dan otorisasi yang penting, dan pengguna harus mengelola dan melindungi kunci mereka dengan hati-hati. Ada banyak tingkatan dan aspek yang dapat memastikan penggunaan kunci API secara aman. Secara keseluruhan, kunci API harus diperlakukan seperti kata sandi akun Anda.
Informasi lebih lanjut
Prinsip keselamatan umum
5 Penipuan Cryptocurrency yang Umum, dan Cara Menghindarinya.

