Klucz interfejsu programowania aplikacji (API) to unikalny kod używany przez interfejs API do identyfikacji wywołującego użytkownika lub aplikacji. Klucze API służą do śledzenia i kontrolowania, kto i w jaki sposób korzysta z API, a także do uwierzytelniania i autoryzacji aplikacji — podobnie jak działają nazwy użytkowników i hasła. Klucz API może mieć postać pojedynczego klucza lub zestawu wielu kluczy. Użytkownicy powinni właściwie używać kluczy API, aby poprawić swoje ogólne bezpieczeństwo przed kradzieżą kluczy API i uniknąć powiązanych konsekwencji naruszenia bezpieczeństwa kluczy API.
Rozróżnij API i klucz API
Aby zrozumieć, czym jest klucz API, musisz najpierw zrozumieć, czym jest API. Interfejs programowania aplikacji lub API (interfejs programowania aplikacji) to oprogramowanie pośredniczące, które umożliwia dwóm lub większej liczbie aplikacji współdzielenie informacji. Na przykład interfejs API CoinMarketCap umożliwia innym aplikacjom pobieranie i wykorzystywanie danych dotyczących kryptowalut, takich jak cena, wolumen i kapitalizacja rynkowa.
Klucz API występuje w wielu różnych formach — może to być pojedynczy klucz lub zestaw kluczy. Różne systemy używają tych kluczy do uwierzytelniania i autoryzacji aplikacji, podobnie jak nazwy użytkowników i hasła. Klucz API jest używany przez klienta API do uwierzytelniania aplikacji wywołującej API.
Na przykład, jeśli Binance Academy chce korzystać z API CoinMarketCap, klucz API zostanie wygenerowany przez CoinMarketCap i użyty do uwierzytelnienia tożsamości Binance Academy (aplikacja API) żądającej dostępu do API. Kiedy Binance Academy uzyskuje dostęp do API CoinMarketCap, ten klucz API jest wysyłany do CoinMarketCap wraz z żądaniem.
Ten klucz API powinien być używany wyłącznie przez Binance Academy i nie powinien być udostępniany ani wysyłany innym osobom. Udostępnienie tego klucza API umożliwi stronom trzecim dostęp do CoinMarketCap jako Binance Academy, a wszelkie działania stron trzecich będą wyglądać tak, jakby pochodziły z Binance Academy.
Klucz API może być również wykorzystany przez API CoinMarketCap do potwierdzenia, czy aplikacja ma autoryzację dostępu do żądanego zasobu. Ponadto właściciele interfejsów API używają kluczy API do śledzenia aktywności interfejsu API, takiej jak typ żądania, ruch i wolumen.
Co to jest klucz API?
Klucze API służą do kontrolowania i śledzenia tego, kto i w jaki sposób korzysta z API. Termin „klucz API” może oznaczać różne rzeczy w różnych systemach. Niektóre systemy mają jeden kod, ale inne mogą mieć wiele kodów dla jednego „klucza API”.
Zatem „klucz API” to unikalny kod lub zestaw unikalnych kodów używanych przez API do uwierzytelniania i autoryzacji wywołującego użytkownika lub aplikacji. Niektóre kody służą do uwierzytelniania, a inne do tworzenia podpisu kryptograficznego w celu potwierdzenia zasadności żądania.
Te klucze uwierzytelniające są często określane zbiorczo jako „klucze API”, podczas gdy kody używane do podpisów kryptograficznych mają różne nazwy, takie jak „klucze prywatne”, „klucze publiczne” lub „klucze prywatne”. Uwierzytelnienie wymaga zidentyfikowania zaangażowanych podmiotów i potwierdzenia, że są tym, za kogo się podają.
Z drugiej strony upoważnia do określenia usług API, do których można uzyskać dostęp. Funkcjonalność klucza API jest podobna do nazwy użytkownika i hasła do konta; można go także połączyć z innymi funkcjami bezpieczeństwa, aby poprawić ogólne bezpieczeństwo.
Każdy klucz API jest zazwyczaj generowany przez właściciela API dla konkretnego podmiotu (więcej szczegółów poniżej) i za każdym razem, gdy wykonywane jest wywołanie do punktu końcowego API – wymagające uwierzytelnienia użytkownika lub autoryzacji użytkownika, albo jedno i drugie – zostanie użyty odpowiedni klucz.
Podpis kryptograficzny
Niektóre klucze API wykorzystują podpisy kryptograficzne jako dodatkową warstwę weryfikacji. Gdy użytkownik chce przesłać określone dane do API, do żądania może dodać podpis cyfrowy wygenerowany przez inny klucz. Za pomocą kryptografii właściciel API może sprawdzić, czy ten podpis cyfrowy jest zgodny z przesłanymi danymi.
Podpisy symetryczne i asymetryczne
Dane udostępniane poprzez API mogą być podpisane kluczami kryptograficznymi, które dzielą się na następujące kategorie:
Klucze symetryczne
Polegają one na użyciu tajnego klucza zarówno do podpisywania danych, jak i weryfikacji podpisu. W przypadku kluczy symetrycznych klucz API i tajny klucz są zwykle generowane przez właściciela API, a usługa API musi używać tego samego tajnego klucza do weryfikacji podpisu. Główną zaletą używania pojedynczego klucza jest to, że jest to szybsze i wymaga mniejszej mocy obliczeniowej do wygenerowania i weryfikacji podpisu. Dobrym przykładem klucza symetrycznego jest HMAC.
Klucze asymetryczne
Polegają na wykorzystaniu dwóch kluczy: klucza prywatnego i klucza publicznego, które są różne, ale powiązane kryptograficznie. Klucz prywatny służy do tworzenia podpisu, a klucz publiczny służy do weryfikacji podpisu. Klucz API jest generowany przez właściciela API, ale para kluczy prywatny i publiczny jest generowany przez użytkownika. Właściciel API musi jedynie użyć klucza publicznego do weryfikacji podpisu, więc klucz prywatny może pozostać lokalny i tajny.
Główną zaletą stosowania kluczy asymetrycznych jest większe bezpieczeństwo oddzielenia klucza generowania podpisu od klucza weryfikującego. Dzięki temu systemy zewnętrzne mogą zweryfikować podpis bez możliwości jego wygenerowania. Kolejną zaletą jest to, że niektóre systemy szyfrowania asymetrycznego obsługują dodawanie hasła do klucza prywatnego. Typowym przykładem jest para kluczy RSA.
Czy klucze API są bezpieczne?
Odpowiedzialność za bezpieczeństwo kluczy API spoczywa na użytkowniku. Klucze API są podobne do haseł i należy się z nimi obchodzić ostrożnie. Udostępnianie kluczy API jest podobne do udostępniania haseł i dlatego nie należy tego robić, ponieważ naraża to konto użytkownika na ryzyko.
Klucze API często stają się celem cyberataków, ponieważ można je wykorzystać do wykonywania krytycznych operacji w systemie, takich jak żądanie danych osobowych lub przeprowadzanie transakcji finansowych. W rzeczywistości zdarzały się przypadki robotów indeksujących i ataków na bazy danych online w celu kradzieży kluczy API.
Konsekwencje kradzieży klucza API mogą być poważne i prowadzić do znacznych strat finansowych. Co więcej, ponieważ niektóre klucze API nie wygasają, atakujący mogą z nich korzystać przez czas nieokreślony po kradzieży, aż do unieważnienia samych kluczy.
Jak prawidłowo używać kluczy API
Ponieważ zapewnia dostęp do wrażliwych danych, najważniejsze jest bezpieczne używanie kluczy API. Możesz postępować zgodnie z poniższymi wskazówkami dotyczącymi najlepszych praktyk dotyczących używania kluczy API w celu poprawy ogólnego bezpieczeństwa:
Odśwież klucze API tak często, jak to możliwe. Oznacza to, że powinieneś usunąć bieżący klucz API i utworzyć nowy. W przypadku wielu systemów tworzenie i usuwanie kluczy API jest łatwe. Podobnie jak niektóre systemy wymagają zmiany hasła co 30 do 90 dni, powinieneś zmieniać klucze API z podobną częstotliwością, jeśli to możliwe.
Użyj białej listy adresów IP: Tworząc klucz API, utwórz listę adresów IP, które mogą używać tego klucza (biała lista adresów IP). Możesz także określić listę blokowanych adresów IP (czarna lista adresów IP). W ten sposób, nawet jeśli Twój klucz API zostanie skradziony, nierozpoznany adres IP nie będzie mógł uzyskać do niego dostępu.
Używaj wielu kluczy API: posiadanie wielu kluczy i podział obowiązków między nimi zmniejsza ryzyko bezpieczeństwa, ponieważ Twoje bezpieczeństwo nie będzie zależeć od jednego klucza z wieloma uprawnieniami. Możesz także ustawić różne białe listy adresów IP dla każdego klucza, co jeszcze bardziej zmniejsza ryzyko bezpieczeństwa.
Bezpiecznie przechowuj klucze API: nie przechowuj kluczy w miejscach publicznych, na współdzielonych komputerach ani w ich oryginalnym formacie zwykłego tekstu. Zamiast tego przechowuj każdy z nich za pomocą szyfrowania lub tajnego menedżera dla większego bezpieczeństwa i uważaj, aby ich przypadkowo nie ujawnić.
Nie udostępniaj swoich kluczy API. Udostępnianie kluczy API jest podobne do udostępniania hasła. W ten sposób przyznajesz drugiej stronie takie same prawa do uwierzytelniania i autoryzacji jak Ty. Jeśli zostaną naruszone, Twój klucz API może zostać skradziony i wykorzystany do włamania się na Twoje konto. Klucz API powinien być używany wyłącznie pomiędzy Tobą a systemem, który go wygenerował.
Jeśli Twój klucz API został naruszony, musisz go najpierw wyłączyć, aby uniknąć dalszych szkód. Jeżeli poniosłaś stratę finansową, zrób zrzut ekranu kluczowych informacji związanych ze zdarzeniem, skontaktuj się z odpowiednimi jednostkami i wyślij zgłoszenie na policję. To najlepszy sposób, aby zwiększyć swoje szanse na odzyskanie utraconych środków.
Streszczenie
Klucze API zapewniają podstawowe funkcje uwierzytelniania i autoryzacji, a użytkownicy muszą uważnie zarządzać swoimi kluczami i chronić je. Istnieje wiele kroków i aspektów zapewniających bezpieczne korzystanie z kluczy API. Ogólnie rzecz biorąc, powinieneś myśleć o swoim kluczu API jako o haśle do swojego konta.
Przeczytaj więcej:
Ogólne zasady bezpieczeństwa
5 typowych oszustw związanych z kryptowalutami i jak ich unikać

