ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

数字证书的可信

2020-06-02 12:01:27  阅读:258  来源: 互联网

标签:公钥 私钥 证书 用户 可信 李四 数字证书


PKI公钥基础设施通过建设信任根,结合数字证书,实现了可信身份。通过数字证书技术,可以实现数字签名、数据加密。

数字证书的可信

数字证书的可信基于可信根对用户身份的核验,确认信息和用户身份匹配,颁发给用户一个数字凭证,这个数字凭证即为数字证书。

用户基于公钥算法生成公钥和私钥,公钥算法也被称作非对称密钥算法。公钥算法区别于对称密钥算法,加密密钥和解密密钥不是一个,用公钥加密的数据,必须用私钥才能进行解密。并且用私钥加密的数据,用私钥也是不能解密,必须由对应的公钥进行解密。

对应日常信息,如何建立一个可信的凭证?例如银行验证你的信息,要求你出示你的身份证,一代身份证是一个具有防伪技术的物理证件。采用这个方案,我们设计了下面数字证书,

假设当用户去银行办理业务时,向银行出示了这个数字证书,用此证明自己的身份。此时,银行拥有权威机构的公钥(权威机构的公钥是通过线下的方式分发的,这个公钥也可以放在一个可下载的位置,任意读取),此时银行可以对证书内容进行相同的hash运算,将证书中的签名(图中黄底红字部分)用权威机构的公钥解密,对比hash结果和解密结果,如果2者相同,能够证明权威机构认可了数字证书上的内容,银行根据权威机构的认证也接受用户是所持数字证书的身份。

但是,这个过程并不安全,与线下的实物不同,数字证书可以很容易被复制。在上面的方案中,当用户向银行出示自己的数字证书时,银行就会保留一份数字证书。而这份数字证书也可以完全用来证明身份,因此上面的方案是有问题的。

用户也拥有一对密钥,公钥和私钥。私钥由用户保存,公钥放在证书中。银行可以验证证书是经过权威机构签发的,还要经过一次应答/挑战,证明用户拥有证书中公钥对应的私钥。

应答/挑战过程,由银行端发起向用户发送随机数b,用户用私钥加密随机数,银行在用用户证书中的公钥解密加密密文,如果解密结果是随机数b,证明了用户拥有证书对应的私钥。

在上面的方案中,用户向银行证明身份经过了2个步骤,1.提供证书,证书的内容是用户身份信息,证书的可信由权威机构的签名保证。2.用户需要证明拥有证书中对应的私钥。

安全性分析

1.用户是否可以篡改证书?

如果张三将自己证书上的名称改为李四,并向银行提供仿冒证书冒充李四。此时银行通过证书hash值,和证书中的权威机构签名,就可以验证证书经过篡改。

2.用户是否可以截取证书仿冒用户?

张三截获了李四的数字证书,向银行提交李四的数字证书冒充李四。银行会通过应答/挑战验证是否拥有李四的私钥。通常,李四的证书和私钥都是保存在usbkey中的,使用usbkey时还要输入pin码,通过物理ukey+pin码方式保护私钥的安全性。

但如果张三窃取了李四的ukey,并且窥探到李四的pin,就可以冒充李四。当李四发现ukey丢失时,应及时到权威机构对ukey进行注销。

证书分类

以上介绍的是用来做身份认证和数字签名的公钥证书。除了公钥证书之外,也有一些证书文件是不包含公钥信息的。例如属性证书和电子证照。

属性证书,常用来做登录凭证,签发一个文件格式如第一个证书。举一个例子,用户在网站上的"等级"保存在服务端,当多个服务之间跳转,需要一个携带“等级”信息时,可以将信息+服务端签名方式发送给用户,用户在登录其他服务器时出示属性证书证明自己的等级。属性证书用,[name=用户证书名,level=用户级别 ]by服务端数字签名。广泛使用jwt,Json web token中就使用了属性证书的思想。

电子证照,也是一种数字证书,不包含公钥,只包含信息和权威机构的数字签名。例如,电子结婚证可采用[持证人,持证人]by政务部分电子印章签名。当需要出示结婚证时,通过验证签名,可以证明电子证照信息的真实性。

 

 

标签:公钥,私钥,证书,用户,可信,李四,数字证书
来源: https://blog.csdn.net/u011893782/article/details/106453282

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有