云服务器价格_云数据库_云主机【优惠】最新活动-搜集站云资讯

腾讯云_runningman百度云_最新活动

小七 141 0

ECDSA:一种更好的internet数字签名算法

云 服务器-ECDSA:一种更好的internet数字签名算法

这篇博客文章是为了纪念斯科特·凡斯通博士,椭圆曲线密码术的推广者和ECDSA算法的发明者。他于2014年3月2日去世。在CloudFlare,我们一直致力于改进互联网。其中一个重要的部分是使我们的客户能够通过SSL/TLS加密他们的站点。在CloudFlare规模的TLS上为站点提供服务存在一些有趣的技术挑战。在我们的服务器上所需的密码计算成本就是其中一个挑战。椭圆曲线密码技术(ECC)是该领域最有前途的技术之一。启用ECC的TLS在我们的服务器上更快、更具可扩展性,并提供与web上使用的默认加密相同或更好的安全性。在这篇博文中,我们将探讨一种椭圆曲线算法,椭圆曲线数字签名算法(ECDSA)如何用于提高互联网上的性能。tl;dr is:CloudFlare现在支持为我们的客户定制ECDSA证书,这对使用互联网的每个人都很好。网站和证书

云 服务器-ECDSA:一种更好的internet数字签名算法

当您访问以https://而不是开头的站点时,您的浏览器将通过加密连接连接到该站点。浏览器还验证站点是否是它声称使用公钥密码和数字证书的用户。在公钥密码术中,每个人都有一对密钥:一个公钥和一个私钥。这些通常是选择具有特定数学关系的数字。在RSA中,公钥是一个大数,它是两个素数的乘积,再加上一个较小的数。私钥是一个相关的号码。在椭圆曲线密码体制中,公钥是椭圆曲线及其上的一个点的方程。私钥是一个数字。请参阅我们之前关于椭圆曲线加密的博客文章以了解更多详细信息。私钥可用于使用数字签名算法为任何数据段创建数字签名。这通常包括获取数据的加密哈希,并使用私钥以数学方式对其进行操作。任何拥有公钥的人都可以检查此签名是否是使用私钥和适当的签名验证算法创建的。数字签名是一个强大的工具,因为它允许您公开为任何消息提供担保。网站证书通常包含两项内容:标识信息:通常是谁拥有证书以及证书对哪些域有效。公钥:密钥对的公共部分,站点所有者控制相关的私钥并对其保密。证书由可信任的证书颁发机构数字签名,该机构验证站点所有者的身份。自1994年Netscape引入SSL以来,网站证书通常使用基于RSA算法的公钥/私钥对。随着SSL规范演变为TLS,增加了对不同公钥算法的支持。支持的算法之一是基于椭圆曲线的ECDSA。尽管TLS中提供了许多选项,但目前在web上使用的几乎所有证书都是基于RSA的。网站在采用新算法方面进展缓慢,因为它们希望保持对不支持新算法的旧浏览器的支持。直到2012年,在互联网扫描中发现的1300万个TLS证书中,只有不到50个使用ECDSA密钥对。流行的选择

云 服务器-ECDSA:一种更好的internet数字签名算法

虽然ECDSA还没有在web上流行,但它已经成为新的加密非web应用程序的数字签名方案的选择。比特币就是一个很好的例子,它依赖ECDSA来保证安全。每个比特币地址都是ECDSA公钥的加密哈希。帐户的所有权由控制ECDSA私钥的用户决定。要将一定数量的比特币转移给另一个人,你可以创建一条信息,上面写着"我把这个比特币给地址X",用你的私钥签名,然后提交给比特币系统。比特币系统安全性和一致性的关键是ECDSA私钥的安全性。椭圆曲线,特别是ECDSA也用于消息传递和系统安全。在苹果最近发布的iOS安全白皮书中,他们转述了他们是如何在苹果生态系统中广泛使用ECDSA的。通过iMessage的消息使用ECDSA签名,iCloud keychain同步依赖于ECDSA。越来越多的技术将ECDSA用于安全性,包括端到端加密消息服务TextSecure和CryptoCat。ECDSA与RSA为什么ECDSA是新协议的首选算法,而RSA是自1977年以来非对称加密的黄金标准?归根结底,我们更擅长于破解RSA,而不是破解ECC。正如我们在前一篇博文中所描述的,密钥的安全性取决于它的大小和算法。有些算法比其他算法更容易破坏,并且需要更大的密钥才能达到相同的安全级别。破解RSA密钥需要考虑一个很大的数字。我们很擅长分解大量的数据,并且一直在变好。破解ECDSA密钥需要解决椭圆曲线离散对数问题(ECDLP)。自从1985年Koblitz和Miller独立引入is以来,数学界在改进算法来解决这个问题方面没有取得任何重大进展。这意味着,使用ECDSA,您可以获得与RSA相同的安全级别,但密钥更小。小钥匙比大钥匙好有几个原因。较小的密钥具有更快的生成签名的算法,因为数学涉及的数字较小。较小的公钥意味着更小的证书和更少的数据来建立TLS连接。这意味着更快的连接和更快的网站加载时间。根据ECRYPT II关于密钥长度的建议,256位椭圆曲线密钥提供的保护与3248位的非对称密钥一样多。网站证书中典型的RSA密钥是2048位。如果我们在密码密钥2048服务器上得到的加密密钥的256位,我们会将其与下面的密码密钥进行比较:签名256位ecdsa(nistp256)9516.8rsa 2048位1001.8(openssl 1.0.2测试版,基于x86\u 64和enable-ec-nistp\u 64\u gcc\u 128)该表显示了每秒可能的ECDSA和RSA签名数。在我们的服务器上,使用ECDSA证书可以将私钥操作的成本降低9.5倍,从而节省大量的CPU周期。你好,未来我在前面提到过,在web上使用的ECDSA证书不到50个。你现在可以数数了https://blog.cloudflare.com他们。如果您没有看到锁定图标,请单击此处查看网站的HTTPS版本。一旦您通过HTTPS查看此站点,请查看TLS信息栏(单击地址栏中的锁定图标)。您应该看到密钥交换机制列为ECDHE_ECDSA,这意味着证书正在使用ECDSA。如果未加载HTTPS版本站点,则您的浏览器可能不支持ECDSA。这是从Chrome浏览器的"连接"选项卡下的绿色锁定图标下拍摄的图像:

云 服务器-ECDSA:一种更好的internet数字签名算法

这篇博客文章是我们第一次使用基于椭圆曲线的SSL证书的实验。我们的博客由标准的CloudFlare服务提供(是的,我们自己吃狗粮),是CloudFlare上第一个使用ECDSA证书的站点。我们很高兴地宣布,我们现在支持所有CloudFlare业务客户的自定义ECDSA证书。在不久的将来,我们将启用允许站点具有回退证书的代码,以便使用不支持ECDSA的旧浏览器的访问者仍然可以通过HTTPS查看他们的站点。因为ECDSA对于我们的服务器来说效率要高得多,支持这些证书是在2014年免费启用SSL的关键步骤。危险区域?

云 服务器-ECDSA:一种更好的internet数字签名算法

我们对ECDSA的数学安全性比较有信心(除了一些关于曲线选择的问题)。数学上的好的密码技术的实现屡屡失败,但这并不是因为密码术的优秀而失败。ECDSA算法的一个有趣的怪癖是,每个签名都需要一些随机或不可预测的数据作为输入。如果随机性的来源对攻击者是可预测的,那么他们就可以找出私钥。黑客已经在几起引人注目的事件中利用了这个漏洞。2010年,索尼PlayStation3的ECDSA使用随机数的方式存在缺陷,导致私钥泄露。最近,一些Android设备被发现错误地生成随机值,导致运行比特币软件的设备大量被盗。还有其他针对特定ECDSA实现的更为深奥的攻击。上周,澳大利亚和英国的研究人员发表了一篇论文,描述了OpenSSL对curve secp256k1(比特币协议使用的ECDSA)实现的攻击。幸运的是,此攻击不会对繁忙的远程服务器构成威胁。通过不良随机数据或旁道攻击导致密钥泄漏的危险是一个值得关注的问题,但通过适当的准备是可以控制的。在CloudFlare,我们确保系统随机数生成器具有足够的熵。即使系统PRNG有问题,openssl1.0.2也包含了一个修复程序,以减少被破坏的可能性。密码学很难正确实现,尤其是在TLS这样复杂的协议上下文中,最近一些著名的错误修复就证明了这一点。也就是说,在这种情况下,好处似乎大于风险。结论就个人而言,凡斯通医生是我的