2010-10-19 75 views
2

什么是存储密钥存储在公共回购,与源代码一起的安全隐患?安全隐患

其原因将其存储在回购是便利。当您执行'git pull或clone'并在您的本地机器上构建时(例如使用sbt sign-release),您不需要依赖关系:您只需在提示时提供密码并创建签名应用程序。

说我从一个密码生成程序获得的20个字符的密码(字母,数字,特殊字符等),保护它。我认为攻击者发起攻击并访问密钥库中的私钥在计算上是不可行的。我希望安全/加密专家的意见是否可以将密钥库存储在公共回购库中是安全的。

感谢

+0

@巴布 - 斯里尼瓦桑:这是可行的,因为没有关于有人下载之后尝试极限,做一个脱机攻击。无论如何,私钥被分配给一个特定的实体(这样它也可以用于身份验证),并且你不会通过邮寄发送ID /访问卡(就像我想的那样)。 – yadab 2010-10-20 09:48:56

+0

我想你的意思是“不限制尝试”。我的观点是,这是一个随机生成的密码,因此只能进行强力攻击。攻击者不知道密码长度。因此,即使攻击者可以在一秒钟内检查十亿个密码,也需要数百万年才能找到密码。问题是,这个问题是否存在非暴力攻击? – 2010-10-20 17:27:38

+0

@ babu-srinivasan:是的,我的意思是“不限制尝试”。谢谢。但密码长度可能会让攻击者从密码到密钥的任务都是基于密钥长度的,您可以拥有AES-256。现在,用暴力破解AES并不容易,而且这非常困难。但在此过程中,您正在将1024密钥长度(您的RSA密钥)的安全性降低到256密钥强度(aes-256)。因为256个密钥长度是保护1024个长度密钥?我错了吗? – yadab 2010-10-20 17:57:29

回答

0

隐藏的钥匙圈和代码属于校长“通过隐藏的安全”。从理论上讲,安全性应远离这个概念,但在这种情况下,答案可能是在公共存储库上公开敏感数据可能会使您受到针对特定密钥漏洞或实施安全算法的攻击等等。

我的意思是你使用的算法肯定是100%的安全和钥匙圈也一样,但钥匙圈的版本可以包含特定的漏洞或缺陷或错误执行的安全算法。

因此暴露在公共仓库的数据可能会使您黑客谁只想证明自己的能力。

+1

robob,通过默默无闻的安全不适用于此。它适用于你依赖攻击者不知道加密算法是什么的地方。这里不是这种情况。该算法是众所周知的。 – 2010-10-22 16:05:46

+0

我不同意你的观点,也不赞同“通过Obsc的SEC”这个有限的概念。我没有向你展示军事攻击的计划,或者我不告诉你关键在哪里,因为我是“通过Obsc的秒”:-) – robob 2010-10-22 16:17:19

+0

无论如何,问题是另一个问题,问题是将此钥匙圈移到公众地方可能会暴露这些数据很多攻击.. – robob 2010-10-22 16:18:10

0

我做了一些研究。我在How does keytool protect keys?JKS protectionhttp://metastatic.org/source/JKS.html)上找到了JKS算法的信息。

在此基础上,我回答我的问题:我已经得出结论,与我的20个字符的随机生成的密码,使用长度为20字节的随机盐和链SHA1(口令,盐)来得到一个随机流长度等于与私钥异或的2048的密钥长度,在可预见的未来提取私钥在计算上是不可行的。

相关问题