不是每一个椭圆曲线是相同的:ECC的安全槽

 我自己的ECC曲线安全和选择分析

vn9jna1BdgrzDCYNBJHi09q09q.jpg

最现代化的加密使用椭圆曲线加密(ECC),与一个较小的关键尺寸和降低的计算能力,相当于传统的加密系统被称为DH(的Diffie-Hellman)或RSA(Rivest,Shamir和Adleman的 )安全强度。

不是每个人都知道,任何未来的TLS / SSL(加密,确保网络使用),甚至移动到ECC加密技术的应用和选择ECC加密。

我发现很多所谓的“专有的加密产品”,抛弃了RSA和DH那张带有ECC的替代品,甚至没有指定的ECC加密的一种习惯,往往任意使用ECC位的密钥大小。

但是有很多椭圆曲线周围的混乱,有很多不同的名称和密钥大小非加密,经验丰富的用户很难进行评估时,一些加密的东西,使自己的身材。

因为这样扩散的混乱,我决定把我自己的分析,找出这是最好的ECC加密曲线和使用正确的ECC密钥大小。

希望这种分析,以提供安全行业选择,各曲线和密钥大小,留下已年期间已完成的数学和密码分析考虑,总结在一些标准和安全协议所采取的各种选择。

第一的结论。

从我的分析只有以下的ECC曲线加密系统使用的考虑,因为只有一个选择在不同的部门(ANSI和国家安全局,凹陷,NIST的,ECC的BrainPool),不同的安全协议标准(IPSEC,OpenPGP的,ZRTP的Kerberos,SSL / TLS),只有一个匹配的体育总会B室的安全要求(事实上也为北约的军事环境标准):

  • 总理椭圆曲线256位-的P-256
  • 总理椭圆曲线384位-的P-384

与可选的,只是真的偏执,想要得到更关键的大小位,仍然不认为是有益的:

  • 总理椭圆曲线521位-的P-521

我想指出,Koblitz曲线应该被避免的 ,在任何关键的大小(163/283/409/571),因为他们没有足够的保修上的密码分析活动,并有效地:

  • 不属于体育总会套房-B的加密选择
  • 不是ECC Brainpool选择的部分
  • 不属于ANSI X9.62选择
  • 不属于OpenPGP的ECC扩展选择
  • 不是一部分的Kerberos扩展ECC曲线选择

我邀请读者跟随槽我的分析理解,可以理解,即使没有深厚的技术背景,但至少有一个良好的技术背景下,一些基本的加密位的基本面。

 在这里,我们一起去分析 
 

我的目标是使上什么/如何分析公开的科学和安全社区选择的ECC加密系统使用的安全协议和由IETF RFC定义的标准(那些在一个开放的和同行评审的方式定义Internet标准)。

下面的RFC推出将ECC的一套到现有系统得到分析,以了解什么是更好地使用,什么是更好的排除:

  • RFC5639 :ECC Brainpool标准曲线及曲线生成
  • RFC4869 :体育总会B室为IPsec加密套房
  • RFC5430 :NSA Suite B的个人资料的传输层安全(TLS)
  • RFC5008 :体育总会套房乙(S / MIME的安全/多用途Internet邮件扩展)
  • RFC3766 :用于交换对称密钥的公共密钥确定优势
  • RFC5349 :椭圆曲线加密(ECC)支持Kerberos中初始身份验证的公钥加密(PKINIT)
  • RFC4492 :椭圆曲线加密(ECC),传输层安全(TLS)加密套件
  • 的ZRTP语音加密菲利普·齐默尔曼的ECC曲线
  • 在OpenPGP的ECC(吃水d 筏jivsov的OpenPGP-ECC-06
  • 微软选择的ECC曲线智能卡的Kerberos登录

我们将使用由科学家界定互联网安全协议,以使我们的评估的一部分所作出的选择。
此外,它必须了解来自不同的部门 ,以行业使用什么什么跳过告诉他们自己的选择曲线, 曲线选择

我们将使用定义的标准化机构的安全要求,使我们的评估的一部分,科学家做出的选择。
此外,一些大多数人不知道,但我们的分析,这是非常相关的,是有不同种类的ECC曲线加密和他们的“大小”不同的是取决于曲线:

  • 超过总理场的ECC曲线(通常被称为椭圆曲线的P-密钥长度为代表)
  • ECC的二进制字段曲线(通常被称为Koblitz曲线K -密钥长度为代表)

鉴于安全强度的等效椭圆曲线和Kobliz曲线有不同的关键尺寸,例如,当我们读到的ECC 571,我们是指具有同等强度的ECC 521总理曲线Koblitz曲线。

一个椭圆曲线和Kotbliz曲线之间的实力比较,报道如下( ECC Internet草案米奇 ):

 Koblitz | ECC |卫生署/ DS​​A / RSA
 | 163 | 192 | 1024
 | 283 | 256 | 3072
 | 409 | 384 | 7680
 | 571 | 521​​ | 15360

下面还有所有的各种实体和各自的名称(从比较的所有选定的曲线ECC对TLS使用的IETF RFC4492 ):

不同的标准组织所选择的曲线名
 ------------ + --------------- + -------------
 SECG ANSI X9.62 NIST的
 ------------ + --------------- + -------------
 sect163k1 | | NIST的K-163
 sect163r1 | |
 sect163r2 | | NIST的的B-163
 sect193r1 | |
 sect193r2 | |
 sect233k1 | | NIST的K-233
 sect233r1 | | NIST的的B-233
 sect239k1 | |
 sect283k1 | | NIST的K-283
 sect283r1 | | NIST的的B-283
 sect409k1 | | NIST的K-409
 sect409r1 | | NIST的的B-409
 sect571k1 | | NIST的K-571
 sect571r1 | | NIST的的B-571
 secp160k1 | |
 secp160r1 | |
 secp160r2 | |
 secp192k1 | |
 secp192r1 | prime192v1 NIST的P-192
 secp224k1 | |
 secp224r1 ​​| | NIST的P-224
 secp256k1 | |
 secp256r1 | prime256v1 NIST的P-256
 secp384r1 | | NIST的P-384
 secp521r1 | | NIST的P-521
 ------------ + --------------- + -------------

立即出现的,是有所有当局只选择两条曲线,那里是一个由ANSI.The koblitz一般只有3当局之间商定的曲线一般的反倾销是以下两个ECC的曲线:

  • secp192r1 / prime192v1 / NIST的P-192
  • secp256r1 / prime256v1 / NIST的P-256

这些选择为TLS的ECC曲线RFC5430完全跳过koblitz曲线,并使用唯一的选择:

  • 的P-256 P-384的P-521

ECCBrainpool完全跳过Koblitz曲线,并使用以下的ECC曲线选择:

  • P级-160,带够,224的P-192,P-256,P-380,P级-384,P级-512( 即是,只有特别,因为它是不带够-521,但P级-512,的唯一的密钥大小所提ECC的brainpool。TNX伊恩·西蒙斯从雅典娜SCS

为ECC使用的OpenPGP互联网在PGPð草案筏jivsov的OpenPGP-ECC-06完全跳过Koblitz曲线,并选择了以下的ECC曲线

  • 的P-256 P-384的P-521

定义于RFC5349和微软定义为智能卡登录的 Kerberos协议的扩展ECC使用,完全跳过Koblitz曲线,并选择下面的ECC曲线:

  • 的P-256 P-384的P-521

所以,听起来很清楚的P-256 P-384和P-521 ECC正确的选择,而Koblitz曲线已为绝密的使用和跳过任何敏感安全协议(IPSEC,OpenPGP的,ZRTP中,Kerberos,SSL / TLS的)。

为什么我这个分析?

我已经做了分析讨论,我就一定的语音加密产品,所有的基础上定制和专有协议,都在使用椭圆曲线Diffie Hellman的571位/ ECDH第571/571-位的ECDH /的Koblitz 571位的。
所有他们使用K-571,如前所述,已删除所有安全敏感的环境和协议,并作为自己的语音加密的东西的设计师,我认为他们的加密选择是绝对没有安全的最佳选择。
大概是已经完成,只是营销的目的,因为的K-571(Koblitz曲线)似乎比P-521(基于素数的椭圆曲线)。 如果你有“位的”你的营销人员可以算得上是“更安全”。 koblitz椭圆曲线是比绝密启用黄金椭圆曲线更快,所以给产品经理一个机会,提供“位”在它自己的产品,同时保持密钥交换快。

这是一个哲学的选择问题。

我宁愿遵循科学界不谦虚的趋势,要考虑自己的加密专家,有见地的整体安全和科学界本身。

我喜欢,而不是使用批准的唯一的算法是高度敏感的环境中使用(绝密分类),已选定由所有当局和分析加密算法存在的,有工作组和代表的选择几乎所有标准的安全协议(IPSEC,OpenPGP的,ZRTP中,Kerberos,SSL / TLS等)。
我宁愿统计工作的大脑密码我所用,真正的安全检查,评估是否有一些弱点金额。

加密广泛传播工作brais幅度超过的只是少数人(如Koblitz曲线)所使用的加密工作的大脑。
所以我没有妖魔化谁使用ECDH 571使用Koblitz曲线,但是可以肯定的,我可以肯定,他们没有在安全方面采取的最佳选择,任何安全专业人员会考虑做一个安全基准的事实,椭圆曲线Diffie Hellman的571 Koblitz曲线位做的是没有得到广泛的扩散,它倾倒标准的安全协议,它不使用绝密认证。

股

3评论

  • 1
    badmash
    2010年10月23日- 12:32下午| 永久

    我刚刚签署了您的博客RSS提要。 你会发布更多关于这个问题的呢?

  • 2
    伊恩·西蒙斯
    2010年10月27日- 12:57 AM | 固定链接

    我相信在这篇文章中有一个缺陷。 ECC Brainpool指定的ECC FP 512位的密钥521位。 参见RFC5639 2.2节。 技术要求子弹1。

  • 3
    2011年5月26日- 10:46 AM | 固定链接

    细算在RFC5639和Brainpool的网站,我肯定不超过的Brainpool的P-曲线SECG,X9.62,NIST的相同。 他们使用了一个非常类似的方法,但选择生成新曲线,使用相同的大小(512位,而不是521位除外)。 他们列举了改进的安全性,使用“P”,有没有特殊形式(以避免专利的快速算法)和NIST的曲线(没有明确地说)有没有解释使用不同的种子一般不信任的价值。

  • 发表评论

    您的电子邮件地址将不会被发表。 必需字段标记为*

    *

    你可以使用这些HTML标签和属性: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>