Для моего приложения требуется публичная и приватная компиляция с ключом для создания подписанных URL-адресов для доступа к нашим активам из Cloudfront. Проблема, с которой я сталкиваюсь, заключается в том, как защитить эту пару ключей, чтобы несанкционированный пользователь не мог просто загрузить саму пару ключей и создать подписанные URL без нашего разрешения.Защита общедоступной/частной ключевой пары в веб-приложении
Я считал, что шифрование ключевой пары, но похоже, что это не принесло бы пользы, поскольку ключ шифрования должен был бы храниться в клиентском коде, который отображается в Javascript. Я не могу придумать другого способа защитить keypair от тех, кто просто может использовать инструменты Chrome dev.
Кто-нибудь знает, как я могу защитить свою пару ключей без необходимости хранить секретный ключ в коде на стороне клиента? Я уже рассмотрел обфускацию кода, но этот метод кажется очень простым в работе. Я ищу, чтобы узнать, возможно ли что-нибудь еще.
спасибо.
Можете ли вы объяснить сценарий? что вы имеете в виду частного KeyPair комбо/подписанную URL-адреса? - обеспечить простой сценарий и то, что вы после –
В общем, все, что вы храните на клиенте (любой клиент, будь то настольное приложение, в браузере, мобильное приложение на телефоне и т. д.), может получить доступ к пользователю. Не зная ничего о том, что представляет собой фактический поток данных, лучшим вариантом может быть отправка запроса на сервер для выполнения фактических криптографических операций. – mfanto
@RoyiNamir: пара открытого и закрытого ключей - это файлы PEM. Основной предпосылкой подписанных URL-адресов Cloudfront является то, что вы создаете строку подписи, которая описывает вашу политику доступа, хеширует ее с помощью закрытого ключа RSA и проверяет ее с помощью открытого ключа. Эта подпись затем добавляется к URL и проверена в CloudFront. – aeskreis