2016-10-20 3 views
2

私が現在取り組んでいるオープンソースプロジェクトについては、私はWebサイトを信頼する人が必要です。基本的に、ユーザは自分の電話機に「foo」と書きます。それは "foo"というメッセージを受け取り、このユーザーのPC上で動作しているサーバーに送信するウェブサイトに行きます。私は人々がサーバが "foo"を "bar"に変更していないことを確かめてほしい。私は悪意のある人ではないことを知っていますが、潜在的なユーザーはそれを知らないので、私は彼らに私を信頼する必要があります。HerokuとGithubが同じコードを実行することを証明してください

2つの可能性があります。最初のものは暗号を使用することです。ユーザーは自分の電話機「abc」で暗号化し、ユーザーのPC上で実行されているサーバーはそれを復号化します。しかし、ユーザにとっては面倒です(彼は別のアプリでそれを暗号化する必要があります)。 2番目の可能性は、私が彼がサーバー上で実行しているコードを表示することによって悪意のあるユーザーではないことを納得させることです。 Githubにコードを簡単に表示することができます。問題は、Githubで実行されているコードがHerokuで実行されているコードと同じであることを、どのように保証できるかです。

+0

ユーザーに何を表示するにしても、彼女は本当にあなたのサーバーを実行していることをあなたの言葉で伝えなければなりません。おそらく彼女は少なくともHerokuを信頼しているかもしれません。そして、Herokuはサーバーに展開されたものを保証し、指定されたURLがそのサーバーを指し示すでしょう。しかし、私は彼らが現在それをやっているとは思わない。 – Thilo

+0

クライアント側のメッセージに署名して確認する個別の暗号ツールを使用して、このような「信頼できないサーバー」を要求する非常にセキュリティを重視するユーザーの特別なセグメントは、おそらくあまり煩雑ではありません。 – Thilo

答えて

0

これは、リポジトリ全体をフェッチし、プロダクションまたは環境構築を行うデプロイメントプロセスを作成することです。これはエントリファイルとビルドスクリプトを持っているので、NPMセットアップとかなり同じです。

+1

しかし、アウトサイダーはあなたが本当にそのように展開したことをどのように確認できますか? – Thilo

+0

私は実際にどのように展開プロセスがわかりませんが、最後のコミットハッシュを公開することができます。 –

+1

しかし、あなたが公開した最後のコミットハッシュが実際にサーバーに展開されているものを表していることを外部から確認できますか? – Thilo

関連する問題