Учетные данные API Paypal Express Checkout - как правильно их хранить?

Я искал в интернете, и я нашел много ответов о том, как хранить учетные данные API PayPal (используется в Paypal Express Checkout.) Они говорят, чтобы хэшировать учетные данные с помощью соли. Но я не понимаю, как и где хранить соль. Если они получат доступ к соли, они не смогут просто отменить хэширование учетных данных? Это не кажется мне безопасным. Они говорят, что не нужно жестко кодировать учетные данные API, но любой другой способ все еще кажется действительно уязвимым. Спасибо, что нашли время посмотреть на мои вопросы. Я очень ценю помощь.

1 ответ

Решение

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

Я предлагаю хранить их в файле, который каким-то образом ограничен (например, доступен для чтения только пользователю root). Затем служба извлечения может прочитать файл перед удалением привилегий, подобно тому, как обычно обрабатываются сертификаты X.509.

Жесткое их кодирование обычно довольно уязвимо; это означает, что если по какой-либо причине кто-то может увидеть ваш источник, у него есть учетные данные (например, если обработчик установлен неправильно).

Другие вопросы по тегам