2009-09-09 51 views
9

如果我在SVN存储在共享的托管公司我的源代码,这将是可能的内容,这样即使别人没有加密,访问他们无法看到在普通视图源的回购?是否可以加密存储在SVN中的内容?

是否有这个插件?否则,我会想象这将是疯狂实施这个自己!

+0

应该可以(在某些版本控制系统,这取决于他们内部是如何工作的):如果修订控制系统存储增量(不是修订版),并且您不介意泄漏有多少修订版。然后,您可以加密增量,然后将它们检入另一个存储库。现在我可以看到历史记录(也许签入评论,取决于政策),没有钥匙。但你需要钥匙才能看到更多。 Diffs工作正常,并且存储库大小不会受到不利影响,因为在加密之前,存储库压缩仍然可以在本地完成。 – 2015-05-09 11:14:59

回答

6

正确的答案可以是:

  1. 找到你信任的(如果监管问题是问题,符合或一)托管服务提供商
  2. 主机它自己

如果主要关注的是有一个安全的异地备份,自己主办的存储库并使用某处像rsync.net来处理备份(他们是SOX/HIPAA兼容)。每15分钟一次rsyncs的cron作业就足够了。在推送之前,cron作业可以加密您的备份。只是不要失去密钥/密码。

这种方式颠覆并不需要知道任何关于你的加密方案,你可以去你的工作,而不必担心偏执生产力的方式获得。

附录

既然你做共享主机和共享主机是毫无价值的:获得一个专用的源控制主机。不要永远使用共享主机进行源代码管理。共享主机因丢失数据并对数据安全性和备份作出虚假声明而臭名昭着。专用源控制主机的好例子:CVSDudeBeanstalkGitHub

+3

+1 - 如果你不信任你的主机,**找到一个新的** ** – 2009-10-14 15:25:13

+0

我还会补充一点,分布式版本控制的一个不错的副作用是每个版本库的基本* *备份。另外,我绝对信任GitHub,几乎可以写出所有的东西。另请参阅:http://svnhub.com/ – 2009-10-14 15:37:46

+0

github是否允许加密回购? – 2011-05-04 02:24:09

0

马修的职位是一个加密文件系统使托管服务提供商必须提供。这可能是实现它的唯一简单方法。

+0

不仅如此,它还将加密的斑点存储在存储库中,在此过程中丢失了所有有用的版本跟踪。 – 2009-09-09 22:35:33

+0

你说得对,我没有读过那么多的细节。 – 2009-09-09 22:38:42

0

你想有必须是在客户端插件(显然,如果你不相信有机会获得托管库人)。任何强大的加密算法都会在非常相似的输入(由于它们的高熵)的输出中产生很大的变化。

这意味着即使你会有一个解决方案:

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

弱加密(重整例如字符集,这将使diff文件再次使用),没有特别的源代码,其中安全括号和括号,并从那里循环和任何其他字母可以快速极其解码。

我希望这证明会这样不导致任何可能的切实可行的解决方案。也许我错过了一些东西。我期待着在我的答案上阅读有趣的评论! :-)

1

这是旧的,但我发现这个其他的解决办法,并可以帮助别人。

今天你可以得到一些虚拟Provate服务器(VPS)非常便宜。 ($ 5 /月)

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

  1. 安装TrueCrypt或其他加密系统。
  2. 安装SVN
  3. 创建SVN仓库到TrueCrypt的驱动器的/文件
  4. 配置SVN使用SSH或其他安全的数据传输方法。

我配置一切这篇文章:http://cinserely.blogspot.com.br/2010/10/creating-encrypted-subversion.html

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

相关问题