Что такое API-ключ

Аббревиатура “API” расшифровывается как “Application Programming Interface”. И переводится дословно: “программный интерфейс приложения”. Иногда API-ключ могут называть “API key”.

Клиент вводит ключ в приложение, то есть отправляет запрос на сервер. Мгновенно проверяется, есть ли права на такой запрос у клиента. После идентификации разрешается получать данные с сервера. API key помогает координировать работу между разными сервисами или подключать к сайту внешние программы.

Даже в самых простых решениях для приема платежей на сайте взаимодействуют между собой многие программы: отдельных платежных систем, сайта клиента и ПО для вывода средств на счет. В более сложных решениях “участников” процесса еще больше.

API key нужен для того, чтобы распознать, какие действия и в каком порядке надо выполнить при помощи заданных программ; а также для того, чтобы обеспечить дополнительную безопасность и подтвердить идентификацию конкретного запроса. Можно сказать, что API-ключ выполняет в том числе функции цифровой подписи и токена. Но помимо этого, он еще состыковывает программы друг с другом в нужном порядке.

Почему API key безопасен

Одна из основных функций ключей – это шифрование для аутентификации пользователя в системе. Можно провести аналогию с логином и паролем. Но API предполагает защиту намного сложнее и надежнее.

Существуют публичный и секретный ключи. Первый еще называется “открытым”. Он шифрует данные при обращении приложения к серверу. Является иногда одновременно и электронной подписью.

Секретный ключ (его еще называют “закрытым”) известен только пользователю и владельцу сайта. Он применяется для генерации электронной подписи и расшифровки данных, отправленных приложением. То есть дешифрует информацию именно он (есть только у владельца сайта или другого информационного ресурса).

Если даже злоумышленники отследят публичный ключ, это ничего не даст. Потому что закрытый никогда не передается по каналам, доступным для отслеживания.

Называется такой вид защиты “криптографическая система с открытым ключом”. Она представляет собой одну из разновидностей асимметричного шифрования: шифрует один ключ, дешифрует другой.

Вспомните рассказ Конан Дойля о веселых человечках и представьте, что тайные послания записываются по одним правилам, а читаются по другим (в самом рассказе принцип шифровки и дешифровки был одинаковым). То есть можно отправлять сколько угодно посланий, но не знать, что они означают. Примерно такие процессы называются “асимметричным шифрованием”.

Даже открытый API key взломать в разы труднее, чем логин и пароль. Он представляет собой длинную строку из самых разных символов. Секретный же взломать со стороны нельзя: он вообще не передается по открытым каналам.

Где применяются API-ключи

Их используют в интернет-магазинах, на форумах, на сервисах хранения баз данных, на биржах, в платежных системах, на поисковых и почтовых сервисах – везде, где требуется повышенная безопасность клиентов.

Они широко используются в интернет-эквайринге благодаря своей простоте и функциональности. Кстати, если вам нужна такая услуга, мы предлагаем интернет-эквайринг под низкий процент комиссии (что очень важно для клиентов интернет-магазинов).

Популярность API key растет. Они максимально удобны для клиентов, обеспечивают быструю работу сервисов, безопасны. На сегодня это наиболее современный способ идентификации клиента. Даже биржи криптовалюты, где доступ злоумышленников к информации может быть равносилен ограблению, используют в своей работе такие ключи.

Почему владелец не должен передавать посторонним свою закрытую информацию

Как уже говорилось в статье, только владелец может передать секретный ключ кому-либо. И это будет ошибкой. Потому что на основе такой информации можно написать вредоносную программу. И получить доступ к самым разным данным компании: списку клиентов, аналитике и многому другому.

Если закрытым ключом завладеют конкуренты, они могут на время обрушить работу сервиса. Во всех этих случаях ответственность за действия несет владелец API key. Сервис, который его предоставляет, никак не рассчитывает, что эта информация попадет к злоумышленникам.

Конечно, всегда можно перевыпустить ключ. Но до того уже есть риск утечки важной информации.

Если владельцу все-таки приходится по каким-то причинам иногда делегировать использование секретной информации, можно ограничить полномочия каждого из ключей. API key со строго регламентированным набором полномочий, например, дает право играть на бирже. Но выводить средства при помощи него нельзя.

Можно задать ограничение по работе с платформами, например только с Android.

Есть временные ограничения: например, ключ работает только 24 часа. Можно настроить разные API key для каждого из веб-приложений – это просто и обеспечит дополнительную безопасность.

С мобильными приложениями сложнее. Придется ждать, пока все пользователи выполнят обновления. Поэтому здесь устанавливать новые API key стоит только в крайнем случае. Могут пройти месяцы, пока все пользователи перейдут на пользование версией с обновленным девайсом.

Более подробно об ограничениях, которые рекомендованы в данной конкретной ситуации, можно узнать у того, кто предоставляет ключ. У каждого сервиса обязательно есть свои наработки в области безопасности для клиентов. Не надо бояться показаться излишне подозрительными. Лучше подстраховаться всеми возможными способами.

Отслеживание

Владелец может отслеживать все действия по API. Для этого надо подписаться на уведомления.

Например, таким образом можно отслеживать статус платежей, а также дополнительно убедиться, что не происходит ничего незапланированного.

В некоторых особенно серьезных вмешательствах явно вредоносного характера система сама отменит текущие ключи до выяснения ситуации. Это делается в целях безопасности клиента. Он в любое время может перевыпустить API key.

Самое важное

Помните, что API key (закрытый) – это такая же важная информация, как шифр от банковской ячейки или пароль доступа к личной базе данных. Эта современная система идентификации и защиты будет надежно работать, если подходить к вопросу безопасности информации ответственно.

Post a comment