是否可以加密存储在SVN中的内容?

时间:2009-09-09 22:26:50

标签: svn

如果我将源代码存储在共享主机公司的SVN中,是否可以对内容进行加密,即使有人有权访问回购,但他们无法在普通视图中看到源代码?

有插件吗?否则我会想象实现这个自己会很疯狂!

4 个答案:

答案 0 :(得分:6)

这里的正确答案是:

  1. 找到您信任的托管服务提供商(或者如果监管问题是合规的话,那就是合规的)
  2. 自己主持
  3. 如果主要关注的是安全的异地备份,请自行托管存储库并使用rsync.net之类的地方来处理备份(它们符合SOX / HIPAA)。每15分钟就能完成任务的cron工作就足够了。 cron作业可以在推送之前加密备份。只是不要丢失密钥/密码。

    这样Subversion就不需要知道任何关于你的加密方案的事情了,你可以开始工作而不必担心偏执会妨碍生产力。

    <强>附加物

    由于您正在进行共享托管,并且共享主机毫无价值:获取专用的源控制主机。不要使用共享主机进行源代码管理。共享主机因丢失数据和对数据安全性和备份做出错误声明而臭名昭着。专用源代码控制主机的好例子:CVSDudeBeanstalkGitHub

答案 1 :(得分:1)

它已经过时了,但我找到了其他解决方案,可以帮助其他人。

今天,您可以非常便宜地获得一些Virtual Provate Servers(VPS)。 ($ 5 /月)

为何选择VPS?你可以安装你想要的东西!

  1. 安装TrueCrypt或其他加密系统。
  2. 安装SVN
  3. 将SVN存储库创建到TrueCrypt驱动器/文件
  4. 配置SVN以使用SSH或其他安全数据传输方法。
  5. 我使用这篇文章配置了所有内容:http://cinserely.blogspot.com.br/2010/10/creating-encrypted-subversion.html

    如何(4.)http://tortoisesvn.net/sasl_howto.html

答案 2 :(得分:0)

Mathew的帖子是托管服务提供商必须提供的加密文件系统。这可能是唯一一种简单的方法。

答案 3 :(得分:0)

您希望拥有的插件必须位于客户端(显然,如果您不相信有权访问托管存储库的人)。任何强大的加密算法都会从非常相似的输入中产生很大的变化(由于它们的高熵)。

这意味着即使您有解决方案:

  • 在性能,计算时间和存储空间要求以及网络带宽使用方面都会造成灾难,
  • 功能丢失的灾难:服务器端差异将被破坏,例如,您必须对客户端上完全解密的文件进行所有操作。

弱加密(例如,破坏字符集,会使差异再次可用)并不安全,特别是对于源代码,其中大括号和括号以及来自其中的循环和任何其他字母可以非常快速地解码。

我希望这证明这样做不会导致任何可能的实际解决方案。也许我错过了什么。我期待着对我的回答阅读有趣的评论! : - )