我们正在开发开源基准测试软件,用户可以下载该软件,在他们的系统上执行(运行一些内容的一些基准测试),然后将结果上传到中央数据库。然后,这些匿名的、众包的基准测试结果将显示在网站上,供所有人查看。
这个软件的一大特点是它是开源的。它将托管在GitHub上,并将包括任何人下载和编译源代码的说明,以便安心或以防人们不信任我们的程序。
但我们显然不能泄露允许软件将基准测试结果上传到我们的中央数据库的安全凭证。因此,我们不打算将这些包含在公共源代码中。
所以人们可以自己编译软件(这很好)并使用它,但它将是无用的,因为软件不能上传到数据库,这是众包软件的全部目的。因此,用户将被迫使用“我们的版本”的软件,其中隐藏着凭据。如今,许多人足够聪明,不会为不熟悉的.exe而烦恼,所以这对情况没有帮助。此外,由于源代码是开放的,任何人都可以对其进行修改、编译和恶意分发,声称这是我们的软件。
如何解决开源软件中的安全凭证问题?显然,第一条规则就是不要把它包含在分布式源代码中。但是,如果软件需要凭据才能按预期运行,那么您该怎么办?我们希望让它保持开源,这样用户就有理由信任该软件。
发布于 2015-06-02 06:50:03
您可以要求每个项目所有者注册到您的站点,为他们创建公钥/私钥对,并使用非对称加密来标识您的结果源
https://stackoverflow.com/questions/30584494
复制相似问题