首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

三.CVE-2020-0601微软证书漏洞及Windows验证机制欺骗复现

基础知识 ECC私钥+椭圆曲线=ECC公钥 漏洞成因 微软的私钥+微软选的椭圆曲线=微软根证书里面的公钥 黑客的私钥+黑客选的椭圆曲线=微软根证书里面的公钥 不同的椭圆曲线不同的私钥,能产生一模一样的公钥...因为实际使用的ECC原则上把私钥k取得相当大,n也相当大,且椭圆曲线不再连续而是在实数内离散的值,要把n个解点逐一算出几乎是不可能的。 点G称为基点 k(k<n)为私有密钥 K为公开密钥 ?...ECCRSA加密算法对比:椭圆曲线加密算法(ECC)RSA同样是一种公开密钥加密技术,对原始数据以公钥加密,以私钥解密,即便攻击者获取密文公钥也无法(在合理的时间或代价下)解密获取明文。...较短的密钥也意味着更少的存储空间、更快的加解密速度更少的带宽消耗,正因为椭圆加密算法的这些优势,它被用于Windows的签名系统、https的证书、比特币系统中国的二代身份证系统。...生成“cert.crt”签名证书文件。 ? 第七步,证书密钥欺骗性的CA打包到一个PKCS12文件,以对可执行文件进行签名。

3.1K51

java SSL

CA 证书颁发机构(相当于所有人都信任的一个中间机构),CA机构也有自已的公钥与私钥。client通过CA机构的公钥与证数的数字签名来验证证书的合法性。...SSL提供的功能 java keytool   Keytool 是一个Java 数据证书的管理工具 ,Keytool 密钥(key)证书(certificates)存在一个称为keystore的文件...在keystore里,包含两种数据: (1)密钥实体(Key entity)——密钥(secret key)又或者是私钥配对公钥 (2)可信任的证书实体(trusted certificate entries...-v 显示密钥证书详细信息 -export 别名指定的证书导出到文件 keytool -export -alias 需要导出的别名 -keystore...-keypass 旧密码 -new 新密码 -storepass keystore密码 -keystore -import 已签名数字证书导入密钥 keytool -import

1.9K20
您找到你想要的搜索结果了吗?
是的
没有找到

二十二.PE数字签名之(下)微软证书漏洞CVE-2020-0601复现及Windows验证机制分析

(1) 基础知识 ECC私钥+椭圆曲线=ECC公钥 (2) 漏洞成因 微软的私钥+微软选的椭圆曲线=微软根证书里面的公钥 黑客的私钥+黑客选的椭圆曲线=微软根证书里面的公钥 不同的椭圆曲线不同的私钥,...因为实际使用的ECC原则上把私钥k取得相当大,n也相当大,且椭圆曲线不再连续而是在实数内离散的值,要把n个解点逐一算出几乎是不可能的。...点G称为基点 k(k<n)为私有密钥 K为公开密钥 ECCRSA加密算法对比: 椭圆曲线加密算法(ECC)RSA同样是一种公开密钥加密技术,对原始数据以公钥加密,以私钥解密,即便攻击者获取密文公钥也无法...较短的密钥也意味着更少的存储空间、更快的加解密速度更少的带宽消耗,正因为椭圆加密算法的这些优势,它被用于Windows的签名系统、https的证书、比特币系统中国的二代身份证系统。...第七步,证书密钥欺骗性的CA打包到一个PKCS12文件,以对可执行文件进行签名。

2.1K31

这 HTTPS,真滴牛逼!

可以看到,整个密钥协商过程,小红小明公开了 4 个信息:P、G、A、B,其中 P、G 是算法的参数,A B 是公钥,而 a、b 是双方各自保管的私钥,黑客无法获取这 2 个私钥,因此黑客只能从公开的...小红小明使用 ECDHE 密钥交换算法的过程: 双方事先确定好使用哪种椭圆曲线,和曲线上的基点 G,这两个参数都是公开的; 双方各自随机生成一个随机数作为私钥d,并与基点 G相乘得到公钥Q(Q = dG...这个过程,双方的私钥都是随机、临时生成的,都是不公开的,即使根据公开的信息(椭圆曲线、公钥、基点 G)也是很难计算出椭圆曲线上的离散对数(私钥)。...G 私钥计算出服务端的椭圆曲线公钥,这个会公开给客户端。...至此,双方都有对方的椭圆曲线公钥、自己的椭圆曲线私钥椭圆曲线基点 G。

1.5K10

面试官你不要说我不懂TLS握手了

,然后对着信息进行计算,获得一个hash值 CA会使用自己的私钥将该hash值加密,生成签名 最后签名添加在文件证书上,形成数字证书 客户端如何校验服务端的数字证书 客户端使用相同的算法计算服务器数字证书的...ECDHE算法密钥交换过程 客户端和服务端确定好使用哪种椭圆曲线以及曲线上的基点G,这个对外公开 客户端和服务端各自生成一个私钥(假设分别为cs),私钥与基点G相乘可以分别得到其公钥(假设分别为CP...named_curve的椭圆曲线,选好椭圆曲线相当于基点G也好了 Pubkey:根据基点G和服务器生成的私钥计算出的公钥 Signature:为了保证这个椭圆曲线的公钥不被第三方篡改,服务端会用RSA签名算法给服务端的椭圆曲线公钥做个签名...目前客户端和服务端已经共享了两个随机数、使用椭圆曲线椭圆曲线基点G,服务器的椭圆公钥 TLS第三次握手 这一步客户端会发送Client Key Exchange消息,消息如下: Pubkey:客户端根据服务端共享的曲线...+ 椭圆曲线计算出来的共享密钥」来生成最终的会话密钥

60320

https通讯基础知识汇总

,如6红色字体trustStore的生成过程就是把从keyStore导出的公钥证书导入到trustStore。...changealias命令修改 keyalg是加密算法,有DSA,RSA,默认是DSA,因为DSA只能用于加密,不能用户证书签名,所以这里必须指定使用RSA算法 这里有两个密码:密钥密码密钥密码,...cer证书导入到keyStore。...以一种方式简单介绍先,使用keyTool生成自签名证书,通过这个自签名证书生成一个证书请求文件后缀是.csr,然后我们拿着这个文件钱去xx认证中心,认证后就是就是经过认证中心认证的证书了,然后把这个证书导入密钥...导出公钥证书,把导出的公钥证书导入到trustStore,就生成了trustStore 5,怎么从keyStore中导出证书公钥密钥

1.2K20

SSL:原理、应用、安全威胁与最佳实践

常见的密钥交换算法包括RSA、Diffie-Hellman、ECDH(椭圆曲线Diffie-Hellman)等。 数字签名算法:这个算法用于验证消息的完整性来源。...例如,密码套件TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256包含以下四个部分: 密钥交换算法:ECDHE(椭圆曲线Diffie-Hellman Ephemeral) 数字签名算法...在使用SSL/TLS的过程,邮件客户端会验证服务器的证书,以确保服务器的身份。同时,邮件客户端和服务器会协商一个加密算法密钥,用于加密邮件内容。...四、Android的SSL证书 在Android应用中使用SSL,需要将服务器的证书导入到应用。这通常通过在应用的资源文件包含一个证书文件,然后在代码中加载这个证书来实现。...以下是使用Java、C++(libcurlGo语言进行特定证书指纹校验的示例代码: Java:在Java,你可以在你的TrustManager添加额外的逻辑来检查证书指纹: import javax.net.ssl

10810

深入解析ECC(椭圆曲线密码学)加解密算法

在ECC,我们通常使用有限域上的椭圆曲线,这样可以提高运算效率。 2.2. ECC密钥生成 在ECC密钥的生成主要依赖于椭圆曲线上的点。...选择一个合适的椭圆曲线一个基点(生成元),私钥为一个随机选择的整数,公钥为私钥与基点的乘积。由于椭圆曲线上的点运算具有单向性,从公钥无法推导出私钥,因此保证了ECC算法的安全性。 2.3....签名者使用自己的私钥对数据进行签名,验证者使用签名者的公钥对签名进行验证。签名过程包括消息摘要(哈希值)与私钥进行运算生成签名,验证过程则通过公钥签名验证消息摘要的正确性。...在Java使用ECC(椭圆曲线密码学)进行加解密通常涉及密钥对的生成、加密和解密过程。...对于加密大量数据,通常使用对称加密算法(如AES),而ECC可用于安全地交换这些对称密钥。 下面代码使用Java的BouncyCastle进行ECC密钥对生成、加密和解密的简单示例。

80600

加密与安全_探索签名算法

ECDSA with SHA-256:基于椭圆曲线数字签名算法(ECDSA)SHA-256哈希算法,提供了与RSA相当的安全性,但在相同安全级别下使用更短的密钥。...ECDSA的特点包括: 基于椭圆曲线:与RSADSA相比,ECDSA使用椭圆曲线算法来实现数字签名,这使得它能够在保持相同安全级别的情况下使用更短的密钥长度。...私钥推出公钥:与RSA不同,ECDSA的私钥可以推导出对应的公钥,这使得密钥管理更加灵活。 高效性能:ECDSA在签名验证过程具有较高的性能表现,尤其适用于资源受限的环境。...在加密货币领域,比特币等加密货币通常使用ECDSA算法进行数字签名。比特币采用的椭圆曲线标准是secp256k1,这是一种特定的椭圆曲线参数集。...BouncyCastle提供了ECDSA的完整实现,可以用于生成密钥对、签名验证操作。利用BouncyCastle,开发者可以轻松地在Java应用程序中使用ECDSA算法进行数字签名。

8700

HTTPS虐我千百遍,我却待她如初恋!

密钥交换 密钥交换的方式有两种:RSA ECDHE,RSA 的方式比较简单,浏览器生成一把密钥,然后使用证书 RSA 的公钥进行加密发给服务端,服务再使用它的密钥进行解密得到密钥,这样就能够共享密钥了...它的缺点是攻击者虽然在发送的过程无法破解,但是如果它保存了所有加密的数据,等到证书到期没有被维护之类的原因导致私钥泄露,那么它就可以使用这把私钥去解密之前传送过的所有数据。...ECDHE 的全称是 Elliptic Curve Diffie–Hellman key Exchange 椭圆曲线迪非-赫尔曼密钥交换,它是对迪非-赫尔曼密钥交换算法的改进。...这个应该比较好理解,而引入椭圆曲线加密能够提高破解难度。 椭圆曲线加密 现在的证书的签名算法有两种:RSA 新起的 EC。如下图所示,google.com 便是使用的 ECC 证书: ?...如下图所示,有一条椭圆曲线方程: y ^ 3 = x ^ 2 + ax + b: ?

64720

密码加密方式

私钥是个人持有的 代表算法:RSA、EIGamal、椭圆算法 ECC RSA:经典的公钥算法 安全性未知 EIGamal:利用了模运算下求离散对数困难的特性 椭圆曲线算法:现代备受关注的算法系列...,基于对椭圆曲线上特定点进行特殊乘法逆运算难以计算的特性。...如果证书没问题,则用证书中公钥加密随机数 R3,发送给服务器。此时,只有客户端和服务器都拥有 R1、R2 R3 信息,基于 R1、R2 R3,生成对称的会话密钥(如 AES算法)。...使用CSPRNG生成一个长度足够的盐值 盐值混入密码,并使用标准的加密哈希函数进行加密,如SHA256,再把哈希值盐值一起存入数据对应此用户的那条记录 校验密码的步骤 从数据取出用户的密码哈希值对应盐值...,盐值混入用户输入的密码,并且使用同样的哈希函数进行加密,比较上一步的结果和数据储存的哈希值是否相同,如果相同那么密码正确,反之密码错误 加密部分代码: public class MD5Test

1.9K30

【HTTPS】407- 记住 HTTPS!

“ 本篇讨论 HTTPS 的加解密原理,很多人都知道 RSA,以为 HTTPS=RSA,使用 RSA 加解密数据,实际上这是不对的。...HTTPS 是使用 RSA 进行身份验证交换密钥,然后再使用交换的密钥进行加解密数据。 身份验证是使用 RSA 的非对称加密,而数据传输是双方使用相同的密钥进行的对称加密。...它的缺点是攻击者虽然在发送的过程无法破解,但是如果它保存了所有加密的数据,等到证书到期没有被维护之类的原因导致私钥泄露,那么它就可以使用这把私钥去解密之前传送过的所有数据。...ECDHE 的全称是 Elliptic Curve Diffie–Hellman key Exchange 椭圆曲线迪非-赫尔曼密钥交换,它是对迪非-赫尔曼密钥交换算法的改进。...这个应该比较好理解,而引入椭圆曲线加密能够提高破解难度。 椭圆曲线加密 现在的证书的签名算法有两种:RSA 新起的 EC。如下图所示,google.com 便是使用的 ECC 证书: ?

2.4K41

基础知识补充3:对称加密与非对称加密简介

用在注册、登录模块,在数字证书的签名算法,SHA算法更广泛。...三方机构就是CA(CertificateAuthority),证书中心。 CA用自己的私钥对信息原文所有者发布的公钥相关信息进行加密,得出的内容就是数字证书。...椭圆加密—椭圆曲线对称加密方案 该方法主要采用Diffie-Hellman密钥交换算法,使用非对称密钥进行对称加解密。下面是获取共享对称密钥的过程: (1)Alice向Bob发送点G。...(6)Alice对Bob发送的点bG计算其在椭圆曲线上a倍的点。Alice在椭圆曲线上计算a(bG)=abG,它就是AliceBob的共享密钥。...(7)Bob对Alice发送的点aG计算其在椭圆曲线上b倍的点。Bob在椭圆曲线上计算b(aG)=abG,它就是AliceBob的共享密钥

1.9K20

大型网站的HTTPS实践(一)---HTTPS协议和原理

浏览器和服务器每次新建会话时都使用非对称密钥交换算法协商出对称密钥使用这些 对称密钥完成应用数据的加解密验证,整个会话过程密钥只在内存中生成保存,而且每个会话的对称密钥都不相同(除非会话复用)...至此,浏览器侧的密钥已经完成协商。 浏览器使用证书公钥Ppremaster_secrect加密后发送给服务器。 服务端使用私钥解密得到premaster_secrect。...DH算法有一个比较大的缺陷就是需要提供足够大的私钥来保证安全性,所以比较消耗CPU计算资源。ECC椭圆曲线算术能够很好的解决这个问题,224位的密钥长度就能达到RSA2048位的安全强度。...ECC的曲线公式描述的其实不是椭圆,只是跟椭圆曲线周长公式形似才叫椭圆曲线加密算术。ECC涉及到了有限域、群等近世代数的多个概念,就不做详细介绍了。...根CA证书都是自签名,即用自己的公钥私钥完成了签名的制作和验证。而证书链上的证书签名都是使用上一级证书密钥对完成签名验证的。 5. 怎样获取根CA多级CA的密钥对?它们是否可信?

1.3K60

实战ZMQ4.x的安全机制

ECC的故事:    这里的ECC不是我厂历史上的电商事业群,而是椭圆曲线加密算法。ECC据说被NSA(美国安全局)操作,在算法设置了后门。...不过好在不是只有一种椭圆曲线,而是有无数种,不同的曲线有不同的优点缺点,只是其中由NIST(美国标准技术研究署)推荐的曲线被怀疑设置了后门。   ...ZMQ使用椭圆曲线算法是Curve25519 ,它有开源实现而且没有专利保护。zmq用了长度为256bits的密钥,强度相当于RSA 3072比特的密钥长度。   ...非常简单地讲,当A与B在一个不受信任的网络通讯前,AB先生成一对公私钥,并且AB通过某个完全的渠道事先知道对方的公钥,然后AB在握手阶段协商出一个双方公知的私钥供加密接下来的通讯。    ...在实战过程,发现一个czmq4的bug,如果一个zmq socket作为server端并使用curve鉴权,就必须调用bind(),而不能调connect(),否则进程会崩溃。

2.7K30

TLS加密套件之密钥交换

图片第一部分是密钥交换算法,常见的有DH、DHE、ECDHE等,目前支持前向加密的只有ECDHEDHE算法,很多安全扫描里面提到的不支持AEAD就是在说这个套件。...ECDHE 算法是在 DHE 算法的基础上利用了 ECC 椭圆曲线特性,可以用更少的计算量计算出公钥,以及最终的会话密钥。...密钥交换模式是ECDHE的话,由于ECDHE的密钥交换过程无需证书的实质性参与,所以RSA证书也可以ECDHE一起工作;ECDHE的密钥交换方式可以参考我的另一篇博客;交换过程主要是clientserver...按照协商好的椭圆曲线去生成会话密钥,无需使用证书)如果加密套件选择ECDH_RSA或者ECDH_ECDSA时:由于ECDH加密套件默认表明了握手需要ECC证书(即ECC证书的公钥充当握手中server...key exchange的公钥,证书私钥同样也是握手过程私钥,握手过程不需要server key exchange)第二部分_RSA或者_ECDSA表明的是想要的服务器证书签名类型。

73951

如何在Nginx上为Debian 8创建ECC证书

另一方面,ECC依赖于随机椭圆曲线解析为离散对数函数的不可能性,这个问题被称为“椭圆曲线离散对数问题”或ECDLP。...简而言之,ECC提供具有类似安全性的较小密钥,这反过来转化为更高的加密性能,适用于SSL等数字签名。 本教程所有ECC证书都依赖于椭圆曲线协议,该协议可以有多种形式。...我们需要将私钥证书存储在一个容易记忆的位置,因此我们需要创建一个新目录。 sudo mkdir /etc/nginx/ssl 第3步 - 创建自签名ECC证书 在本节,我们申请新证书并签名。...首先,使用OpenSSL 的ecparam工具生成ECC私钥。 该out标志输出定向到文件。在本教程,我们将在/etc/nginx/ssl/nginx.key中保存密钥。...sudo chmod 600 /etc/nginx/ssl/* 您的证书保护它的私钥现在可以进行设置了。 第4步 - 设置证书 在本节,我们将使用密钥证书配置Nginx虚拟主机。

1.2K00

基础知识补充1:密钥交换协商机制

(6)Alice对Bob发送的点bG计算其在椭圆曲线上a倍的点。Alice在椭圆曲线上计算a(bG)=abG,它就是AliceBob的共享密钥。...(7)Bob对Alice发送的点aG计算其在椭圆曲线上b倍的点。Bob在椭圆曲线上计算b(aG)=abG,它就是AliceBob的共享密钥。...椭圆加密—椭圆曲线对称加密方案 该方法主要采用Diffie-Hellman密钥交换算法,使用非对称密钥进行对称加解密。下面是获取共享对称密钥的过程: (1)Alice向Bob发送点G。...(6)Alice对Bob发送的点bG计算其在椭圆曲线上a倍的点。Alice在椭圆曲线上计算a(bG)=abG,它就是AliceBob的共享密钥。...(7)Bob对Alice发送的点aG计算其在椭圆曲线上b倍的点。Bob在椭圆曲线上计算b(aG)=abG,它就是AliceBob的共享密钥

5K30

软考高级架构师:信息加密技术概念例题

一、AI 讲解 1.1 概念讲解 信息加密技术是信息安全的核心技术之一,它通过数学算法原始信息转换成无法直接读懂的密文,以保护信息的安全。信息加密技术主要分为对称加密非对称加密两大类。...常见的非对称加密算法包括RSA、ECC(椭圆曲线加密)ElGamal等。 1.2 通俗讲解 好的,我们可以用一种通俗易懂的方式来理解对称加密非对称加密的区别,就像是我们日常使用的两种不同的锁。...数字签名 在非对称加密,用于加密的密钥是什么? A. 公钥 B. 私钥 C. 会话密钥 D. 数字证书 下列哪种算法不是对称加密算法? A. DES B. RSA C. 3DES D....密钥的安全交换 C. 哈希算法验证 D. 数字证书的颁发 RSA算法,公钥私钥是如何生成的? A. 通过对大质数的乘积进行加密计算 B. 使用相同的算法但不同的密钥 C....生成的密钥长度较短,安全性较高 解析:ECC(椭圆曲线加密)算法的一个显著特点是在相同安全级别下,它能够使用更短的密钥长度达到与其他非对称加密算法相同的安全强度,因而计算效率更高,安全性较高。

5700
领券