Ключ интерфейса прикладного программирования (API) — это уникальный код, используемый API для идентификации вызывающего пользователя или приложения. Ключи API используются для отслеживания и контроля того, кто использует API и как они его используют, а также для аутентификации и авторизации приложений — аналогично тому, как работают имена пользователей и пароли. Ключ API может иметь форму одного ключа или набора из нескольких ключей. Пользователи должны правильно использовать ключи API, чтобы повысить общую безопасность от кражи ключей API и избежать связанных с этим последствий компрометации ключей API.
Различие между API и ключом API
Чтобы понять, что такое ключ API, вы должны сначала понять, что такое API. Интерфейс прикладного программирования или API (интерфейс прикладного программирования) — это промежуточное программное обеспечение, которое позволяет двум или более приложениям обмениваться информацией. Например, API CoinMarketCap позволяет другим приложениям получать и использовать данные о криптовалюте, такие как цена, объем и рыночная капитализация.
Ключ API бывает разных форм — это может быть один ключ или набор ключей. Различные системы используют эти ключи для аутентификации и авторизации приложения аналогично тому, как используются имена пользователей и пароли. Ключ API используется клиентом API для аутентификации приложения, вызывающего API.
Например, если Binance Academy хочет использовать API CoinMarketCap, CoinMarketCap сгенерирует ключ API и будет использовать его для аутентификации личности Binance Academy (приложение API), запрашивающей доступ к API. Когда Binance Academy обращается к API CoinMarketCap, этот ключ API отправляется в CoinMarketCap вместе с запросом.
Этот ключ API должен использоваться только Binance Academy и не должен передаваться или отправляться другим лицам. Распространение этого ключа API позволит третьим лицам получить доступ к CoinMarketCap как Binance Academy, и любые действия третьих лиц будут выглядеть так, как если бы они исходили из Binance Academy.
Ключ API также может использоваться API CoinMarketCap для подтверждения того, разрешено ли приложению доступ к запрошенному ресурсу. Кроме того, владельцы API используют ключи API для отслеживания активности API, например типа запроса, трафика и объема.
Что такое ключ API?
Ключи API используются для контроля и отслеживания того, кто использует API и как они его используют. Термин «ключ API» может означать разные вещи для разных систем. Некоторые системы имеют один код, но другие могут иметь несколько кодов для одного «ключа API».
Таким образом, «ключ API» представляет собой уникальный код или набор уникальных кодов, используемых API для аутентификации и авторизации вызывающего пользователя или приложения. Некоторые коды используются для аутентификации, а некоторые — для создания криптографической подписи, подтверждающей легитимность запроса.
Эти ключи аутентификации часто называют «ключами API», а коды, используемые для криптографических подписей, имеют различные названия, например «частные ключи», «открытые ключи» или «частные ключи». Аутентификация требует идентификации вовлеченных лиц и подтверждения того, что они являются теми, кем себя называют.
С другой стороны, он разрешает указывать службы API, к которым разрешен доступ. Функциональность ключа API аналогична функциям имени пользователя и пароля учетной записи; его также можно подключить к другим функциям безопасности для повышения общей безопасности.
Каждый ключ API обычно генерируется владельцем API для конкретного объекта (подробнее см. ниже), и каждый раз при вызове конечной точки API, требующей аутентификации или авторизации пользователя, или того и другого, будет использоваться соответствующий ключ.
Криптографическая подпись
Некоторые ключи API используют криптографические подписи в качестве дополнительного уровня проверки. Когда пользователь хочет отправить определенные данные в API, к запросу может быть добавлена цифровая подпись, сгенерированная другим ключом. Используя криптографию, владелец API может проверить, соответствует ли эта цифровая подпись отправленным данным.
Симметричные и асимметричные подписи
Данные, передаваемые через API, могут быть подписаны с помощью криптографических ключей, которые делятся на следующие категории:
Симметричные ключи
Они предполагают использование секретного ключа для подписания данных и проверки подписи. При использовании симметричных ключей ключ API и секретный ключ обычно генерируются владельцем API, и служба API должна использовать один и тот же секретный ключ для проверки подписи. Основное преимущество использования единственного ключа заключается в том, что это происходит быстрее и требует меньше вычислительной мощности для создания и проверки подписи. Хорошим примером симметричного ключа является HMAC.
Асимметричные клавиши
Они предполагают использование двух ключей: закрытого ключа и открытого ключа, которые различаются, но связаны криптографически. Закрытый ключ используется для создания подписи, а открытый ключ используется для проверки подписи. Ключ API генерируется владельцем API, но пара частного и открытого ключей создается пользователем. Владельцу API необходимо использовать открытый ключ только для проверки подписи, поэтому закрытый ключ может оставаться локальным и секретным.
Основным преимуществом использования асимметричных ключей является большая безопасность разделения ключа генерации подписи и ключа проверки. Это позволяет внешним системам проверять подпись, не имея возможности сгенерировать подпись. Еще одним преимуществом является то, что некоторые системы асимметричного шифрования поддерживают добавление пароля к закрытому ключу. Типичным примером является пара ключей RSA.
Ключи API безопасны?
Ответственность за безопасность ключей API лежит на пользователе. Ключи API аналогичны паролям, и с ними следует обращаться осторожно. Передача ключей API аналогична обмену паролями, и поэтому ее не следует делать, поскольку это подвергает риску учетную запись пользователя.
Ключи API часто становятся объектом кибератак, поскольку их можно использовать для выполнения критических операций в системе, таких как запрос личной информации или выполнение финансовых транзакций. На самом деле были случаи, когда сканеры и онлайн-атаки на базы данных пытались украсть ключи API.
Последствия кражи API-ключа могут быть серьезными и привести к значительным финансовым потерям. Более того, поскольку срок действия некоторых ключей API не истекает, злоумышленники могут использовать их в течение неопределенного времени после кражи, пока сами ключи не будут отозваны.
Как правильно использовать ключи API
Поскольку он предоставляет доступ к конфиденциальным данным, безопасное использование ключей API имеет первостепенное значение. Вы можете следовать этим рекомендациям по использованию ключей API для повышения общей безопасности:
Обновляйте ключи API как можно чаще. Это означает, что вам следует удалить текущий ключ API и создать новый. Во многих системах легко создавать и удалять ключи API. Подобно тому, как некоторые системы требуют, чтобы вы меняли пароль каждые 30–90 дней, вам следует, если возможно, менять ключи API с одинаковой частотой.
Используйте белый список IP-адресов. При создании ключа API создайте список IP-адресов, которым разрешено использовать этот ключ (белый список IP-адресов). Вы также можете указать список заблокированных IP-адресов (черный список IP). Таким образом, даже если ваш ключ API украден, к нему не сможет получить доступ неизвестный IP-адрес.
Используйте несколько ключей API. Наличие нескольких ключей и разделение обязанностей между ними снижает риски безопасности, поскольку ваша безопасность не будет зависеть от одного ключа с несколькими разрешениями. Вы также можете установить разные белые списки IP-адресов для каждого ключа, что еще больше снижает риски безопасности.
Надежно храните ключи API. Не храните ключи в общественных местах, на компьютерах с общим доступом или в исходном текстовом формате. Вместо этого храните каждый из них с шифрованием или с помощью секретного менеджера для большей безопасности и будьте осторожны, чтобы случайно не раскрыть их.
Не передавайте свои ключи API. Предоставление ключей API аналогично обмену паролем. При этом вы предоставляете другой стороне те же права аутентификации и авторизации, что и вы. Если они будут скомпрометированы, ваш ключ API может быть украден и использован для взлома вашей учетной записи. Ключ API следует использовать только между вами и системой, которая его сгенерировала.
Если ваш ключ API скомпрометирован, вам необходимо сначала отключить его, чтобы избежать дальнейшего повреждения. В случае каких-либо финансовых потерь сделайте снимок экрана с ключевой информацией, связанной с инцидентом, свяжитесь с соответствующими подразделениями и отправьте заявление в полицию. Это лучший способ увеличить ваши шансы на возврат потерянных средств.
Краткое содержание
Ключи API обеспечивают основные функции аутентификации и авторизации, и пользователи должны тщательно управлять своими ключами и защищать их. Существует множество шагов и аспектов, обеспечивающих безопасное использование ключей API. В общем, вам следует воспринимать свой ключ API как пароль для вашей учетной записи.
Читать далее:
Общие принципы безопасности
5 распространенных мошенничеств с криптовалютами и как их избежать

