Я работаю над сценарием, в котором некоторые файлы JavaScript должны размещаться на CDN. Я хочу иметь некоторый механизм, чтобы, когда этот файл загружается с пользовательской стороны, я могу гарантировать, что файлы не были подделаны и действительно поступают из указанного CDN.Как я могу убедиться, что мои файлы JavaScript, доставленные по CDN, не изменены?
Я понимаю, что задача очень проста, если я использую SSL, но все же хочу убедиться, что нужные файлы обслуживаются даже по протоколу HTTP без SSL.
Насколько я могу найти, нет существующего механизма, такого как цифровая подпись для файлов JavaScript, который поддерживается на разных платформах. Может быть, это не нужно?
Есть ли какой-нибудь метод, встроенный в браузеры для проверки автора файлов JavaScript? Есть ли что-нибудь, что я могу сделать, чтобы сделать это безопасным способом?
В то время как я нахожу этот вопрос интересным, разве это не вне темы? – evolutionxbox
Почему вы будете обслуживать файлы на http? – njzk2
«Но почему такого механизма нет?» Потому что это очень тяжело. Как только ваши данные покинут ваш сервер, это тост. HTTPS помогает, но если это простое HTTP-соединение, любая проверка может завершиться неудачно (или скорее - передать). Атака MITM может просто изменить вашу ожидаемую подпись и/или подпись того, что вы предоставили, прежде чем браузер получит ожидания. Таким образом, когда пользователь получает какую-то полезную нагрузку, он будет считаться полностью безопасным ... когда это не обязательно. – vlaz