2016-10-20 12 views
2

Для проекта с открытым исходным кодом, над которым я сейчас работаю, мне нужны люди, которым доверяют веб-сайт. В принципе, пользователь будет писать «foo» на своем телефоне. Он пойдет на веб-сайт, который примет сообщение «foo» и отправит его на сервер, работающий на ПК этого пользователя. Я хочу, чтобы люди были уверены, что сервер не изменил «foo» на «bar». Я знаю, что я не злой, но потенциальные пользователи этого не знают, поэтому мне нужно, чтобы они доверяли мне.Докажите, что Heroku и Github управляют тем же кодом

Есть 2 возможности. Первый - использовать криптографию. Пользователь зашифровал бы на своем телефоне «abc», и сервер, запущенный на ПК пользователя, расшифровал бы его. Но это громоздко для пользователя (ему нужно будет зашифровать его в другом приложении). Вторая возможность - убедить пользователя, что я не злонамерен, показывая ему код, запущенный на сервере. Я могу легко показать код на Github. Вопрос в том, как мы можем гарантировать, что код, запущенный в Github, совпадает с кодом, запущенным на Heroku?

+0

Независимо от того, что вы показываете пользователю, она должна будет принять ваше слово за это, что это действительно то, что работает на вашем сервере. Возможно, она доверяет по крайней мере Heroku, тогда Heroku может поручиться за то, что было развернуто на сервере, и что данный URL указывает на этот сервер. Но я не думаю, что они делают это в настоящее время. – Thilo

+0

Специальный сегмент очень безопасных пользователей, которые требуют такого «бессердечного сервера», используя отдельный криптовальный инструмент, который подписывает и проверяет сообщения на стороне клиента, кажется, не слишком громоздким (но предпочтительный режим работы). – Thilo

ответ

0

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

+1

Но как аутсайдер может проверить, что вы действительно развернули это? – Thilo

+0

Я действительно не знаю, как ваш процесс развертывания, но вы можете выставить последний хеш фиксации. –

+1

Но как аутсайдер может проверить, что последний хеш фиксации, который вы публикуете, действительно представляет то, что развертывается на сервере? – Thilo