DDOS防御专家-提供超强DDoS高防/CC防护/大流量清洗服务!
当前位置:主页 > 高防服务器 > 正文

服务器防御_cdn防御ddos效果_原理

服务器防御_cdn防御ddos效果_原理

听说量子威胁即将来临?今天,我们深入研究后量子密码,或者说量子抵抗密码,它不能与量子密码混合在一起(见我们之前的博客文章),打开我们的后量子Go库

后量子密码

量子计算机的到来威胁着传统密码算法的安全。Shor、Grover和Brassard的算法是一些工具的例子,这些工具能够对我们所知道和使用的公钥密码进行强大的量子攻击。一些方案,如RSA或Diffie-Hellman的困难不再被认可,促使我们寻找依赖于替代假设的替代方案,即后量子密码术。格是一个具有序关系的集合,意味着每两个元素都有唯一的上确界和下确界。最重要的基于格的计算问题是最短向量问题(SVP),它要求在给定的格中寻找最短向量。大多数基于晶格的结构的安全性可以归结为SVP问题的安全性,它似乎可以抵抗经典计算机和量子计算机的攻击,是NIST后量子密码标准化进程的最终入围者。晶体套件的第一个协议是Kyber,一种密钥封装机制(KEM),它确保密钥材料在不安全的通道上交换。它使用非对称加密来传输短的对称密钥。然后使用此对称密钥加密较长的消息。简而言之,Kyber是使用一种安全转换来构建的,它将Regev的弱安全加密方案转换为强安全加密方案。

第二种协议是Dilithium,一种数字签名算法(DSA),在消息上生成签名,该签名可由持有与秘密签名密钥相关联的公共验证密钥的任何人验证。Dilithium遵循Fiat-Shamir结构,对掩码进行采样并拒绝,直到签名具有约束力,但隐藏了签名密钥。

这些协议的安全性由各种因素(如晶格的大小)参数化。Kyber和Dilithium可以被实例化以提供轻、推荐或非常高的安全级别,并分别被指定为Kyber512、Kyber768和Kyber1024,或Dilithium2、Dilithium3和Dilithium5.

侧通道攻击

彻底的密码分析是必要的,但不足以保证库的安全。在过去的十年里,出现了大量关于新一类攻击的出版物(熔毁、幽灵、僵尸……)。旁道攻击以算法安全的密码系统的实现为目标,可以利用从实现本身获得的信息。

通常被忽视的是,旁道攻击可以用来削弱或完全破坏基础设施的安全性。对侧通道漏洞的关注不够可能导致毁灭性的漏洞,正如我们在NSA的TEMPEST系统中看到的那样,该系统可以通过监听计算机的电磁辐射来重建整个屏幕,或者最近的幽灵攻击可以操纵一个进程来泄露敏感数据,比如密码,监控缓存命中和未命中后的计时。这就是为什么我们优先考虑在我们的实现中提供尽可能多的保护来抵御所述侧信道攻击。

我们的库

由于其简单性和安全性,Go语言在密码学家中得到了普及。编写和维护Go代码非常简单,非常适合各种规模的项目,从概念验证到完整的基础设施。

在我们的库中,我们提供了一个Go协议的实现。开源代码可以在crystalsgo存储库中找到。虽然有一些现有的实现是由C-to-Go中可用的官方实现的直接翻译组成的,但是我们选择了偏离引用的方式来提供额外的安全性和性能属性。我们的代码的正确行为是通过CRYSTALS作者提供的已知答案测试来确保和测试的。

API

在本节中,我们提供了如何使用我们的库的实践示例。首先,防御ddos群集,crystal go模块可以通过以下方式安装:

1go get-u github.com/kudelskisecurity/crystals go

为了在参数和算法之间有一个清晰的分离,我们定义了适用于所有可能参数集的通用方法,安全宝防御cc,并在完全定义要使用的参数的Kyber或Dilithium实例上调用它们。因此,用户首先必须通过在Kyber512、Kyber768、Kyber1024和Dilithium2、Dilithium3之间创建Kyber或Dilithium的实例来定义他们想要使用的安全级别,Dilithium5:

12k:=NewKyber512()//创建一个安全级别为d的Kyber实例:=Dilithium3()//创建一个安全级别为推荐级别的Dilithium实例

用户现在可以通过调用:

1pk,sk:=k.KeyGen(seed)

1pk生成一个公钥和私钥对,sk:=d.KeyGen(seed)

一旦定义了参数并生成了密钥,就可以调用Kyber和Dilithium的核心功能

Kyber的主要功能是Encaps和Decaps。Kyber的一个典型流程是:

12345678910//选择参数sk:=NewKyber512()//生成密钥并公开公开公钥。pk,sk:=k.KeyGen(seed)//生成共享密钥和密文。与seed类似,可以将封装过程中使用的随机//硬币赋予或去除方法。c,ss:=k.Encaps(coins,ddos防御的gitc2016,pk)//将密文发送给私钥持有者,私钥持有者将密文解封以恢复//共享秘密(ss=ss')。ss':=k.Decaps(c,sk)

类似于二锂,Sign和Verify的主要方法通常如下:

12345d3:=Dilithium3()//创建一个具有推荐安全级别pk,sk:=d3.KeyGen()msg:=[]byte("这是一条消息")的Dilithium实例sig:=d3.Sign(sk,msg)verifyed:=d3.Verify(pk,cc防御安全策略步骤,sig,msg)//boolean verified对于诚实的运行是真的

一个种子和32字节的硬币可以作为参数给出,并允许再现性,例如,如果用户不信任环境来生成良好的随机性,并且希望从自己的来源使用随机性,则此选项很有用。可以为零,在这种情况下,随机性将在使用Go官方加密/随机库的密钥生成过程中生成。

本节并不是我们库提供的全部功能关于更完整的描述,请参阅自述文件。

安全性

我们的库因其安全属性而脱颖而出。在最初实现中报告的漏洞中,我们为大多数漏洞集成了对策,提供了一个理论上和实践上都安全的库。我们预测,随着候选库的完善,新的攻击将被发布,并且随着我们库的安全性被视为一个持续的过程,我们预计代码会发生变化。

我们记得侧通道攻击是高风险的威胁,并鼓励用户更喜欢具有强实现安全性的库,例如我们的库,在缺乏这些保证的实现上。

性能

为了深入了解我们库的计算和通信成本,我们在下表中报告了建议安全级别的实现的运行时间(以毫秒为单位)和输出大小(以字节为单位)。

keygenncaps.Decaps.Public keychiphertext Kyber768 0.40 0.190.221 1841 088 KeyGen SignVerifyPublic KeySignature Dilithium30.431.900.601 9523 293建议安全级别的性能概述级别

相对较大的输出大小可能会影响某些应用程序,但从不被视为瓶颈。此外,我们在下面的图表中显示,phpddos防御,我们的实现可以超越现有的经典安全公钥和签名方案(ECDSA和RSA-OAEP)。这种差异可以用CRYSTALS套件所依赖的非常简单的算法来解释。

针对Go官方ECDSA实现的双锂运行时Kyber对抗Go官方RSA-OAEP实现的运行时

外卖

我们的后量子库易于使用、快速且安全。我们的库的实用性应被用作在您的基础设施中集成后量子替代方案的动力,在可预见的将来,在不影响性能的情况下保护您的数据。

共享:单击打印(在新窗口中打开)单击将此邮件发送给朋友(在新窗口中打开)单击在LinkedIn上共享(在新窗口中打开)单击在Twitter上共享(在新窗口中打开)单击在Reddit上共享(在新窗口中打开)相关的将量子电阻添加到WireGuardJuly 8,2021"密码术"中的量子计算机常见问题解答2017年2月6日"密码术"中的量子计算机上的密码术2019年4月2日"量子计算"中

版权保护: 本文由 DDOS防御专家 原创,转载请保留链接: /ddos/70485.html

DDoS防御专家简介孤之剑
国内资深白帽子二十人组成员,前BAT资深网络安全工程师,知名网络安全站点板块大神,每年提交Google及微软漏洞,原sina微博负载插件开发者,现在整体防御复合攻击长期接受1-4.7T攻击,CC防护自主开发指纹识别系统,可以做到99.9999%的无敌防御。
  • 文章总数
  • 9323391访问次数
  • 建站天数

    QQ客服

    400-0797-119

    X