Достаточно ли OAuth2 и SSL для защиты API

Я пытаюсь придумать лучший способ защитить API. Я разрешаю только SSL и использую OAuth2 для аутентификации, но этого недостаточно.

Меня больше всего беспокоит то, что кто угодно может проверить запросы, сделанные легитимным клиентом к API, и украсть OAuth client_id.В этот момент они смогут создать любой запрос, который они захотят выдать за законного клиента.

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

  1. Очень сложно (невозможно?) Предотвратить декомпиляцию вашего клиента злоумышленником и выяснение секретного ключа.
  2. Некоторые параметры кажутся странными для хеширования HMAC. Например, если параметром были байты файла, включаете ли вы все это в свой хэш HMAC?
7
задан Evan 21 February 2012 в 13:06
поделиться