В качестве токена аутентификации ключ API в значительной степени функционально идентичен паролю.

Значит ли это, что мы должны маскировать ключ API, когда он вводится в диалоге настроек?

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

2
amoe 8 Апр 2019 в 16:28

2 ответа

Лучший ответ

Маскируйте это, но:

  • разрешить его показывать одним щелчком мыши
  • включить значок copy to clipboard рядом с ним

Хотя ключи API слишком длинные, чтобы их можно было запомнить с помощью серфинга через плечо, они уязвимы для видеозаписей или фотографий высокого разрешения (например, камер наблюдения или съемочных групп, зашедших на интервью).

Существует несколько задокументированных случаев учетные данные просачиваются во время прямых телетрансляций: TV5Monde, Суперкубок и чемпионат мира 2014 — это лишь два из них.

enter image description here

Безопасность — это контекст, в котором добавление нескольких дополнительных препятствий может быть полезным, потому что вы имеете дело с конфиденциальной информацией. Последствия утечки могут быть где угодно в спектре между раздражением и катастрофой, поэтому вы должны учитывать это при принятии решения о пользовательском интерфейсе.

Как вы сами заметили, пользователи не должны вручную вводить ключи API где-то еще, они, скорее всего, будут использовать копирование/вставку для их передачи в другое место. Таким образом, функция copy to clipboard решает эту проблему без ущерба для безопасности.

От показа API-ключей на экране мало пользы.

2
ralien 9 Апр 2019 в 17:10

Я предполагаю, что это зависит от того, кто может получить доступ к сохраненным данным API и последствиям их копирования.

Если он находится в учетной записи пользователя за паролем, то достаточно ли этого для обеспечения безопасности информации?

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

Итак, я знаю, что не ответил на первый вопрос Да/Нет, но, надеюсь, я высказал некоторые мысли, которые помогут вам принять решение или начать дальнейшее обсуждение.

1
Peter 8 Апр 2019 в 16:33