关于数字签名、CA证书笔记

1、公钥、私钥非对称加密。私钥只有自己知道,不可以给任何其他人,公钥可以公开发送给所有人。案例:

    1)、 A用自己私钥Skey_A对数据加密后传输给B,

     2)、B获得数据后用A的公钥Gkey_A解密后得到数据,

     3)、B回复数据用A的公钥Gkey_A加密后传输给A,A用私钥Skey_A解密获得回复消息内容。

此过程加密数据 特点是:具有不可抵赖性,B获得的消息一定是A发送的,B回复的消息只有A能解开。

   有种复杂情况出现,C是个破坏者,他冒充A,把自己的公钥Gkey_C发给B,骗他说这个就是A的公钥。然后B就信任它了。这时候C发信息给B,就可以假冒充A的身份和B通信了。

这里需要第三方出现(CA)来证明各自的身份证信息。

原理:

    为了避免这种情况,这里B要求A必须将公钥送去一个证书中心(这就是CA,类似于公安局权威机构)加密,证书中心会用自己的私钥来加密A的公钥以及一些其它能身份信息(网站名称、地址、单位名称等等),加密生成的东西就是数字证书(只会给A),并且证书中心会将自己的公钥发送给B。

   过程如下:用户A想要获取一个证书,首先自己得有一个密钥对,私钥自己留着,公钥以及其他信息发送给 CA,向 CA 提出申请,CA 判明用户的身份之后,会将这个公钥和用户的身份信息绑定,并且为绑定后的信息进行加密签名(加密签名是通过 CA 根证书的私钥进行的),最后将签名后的证书发给申请者。

A再向B发送数据时,只要将用A的私钥加密过的数据和数字签名以及证书中心颁发的证书(包含A的公钥)一起发送给B,B在获取时先用CA证书中心的公钥来解密证书(CA证书中心的私钥没有泄漏就不能伪造),解密后能获取A的公钥,再用获取到的A的公钥解密数字签名获取hash值c,再用B的公钥解密数据并进行hash获取到hash值d,比较c和d的值就能确认数据是否被篡改过。

如果C再想伪造就必须获取到A的私钥(用来做数字签名和篡改后加密数据)以及A的各种其他信息和证书中心的私钥(用来伪造证书),难度大大增加。

  总得来说,CA是公安局,证书类似于二代身份证。B要查询A的身份证是否是伪造,要用公安局发布的身份证读卡器来读取身份证信息。任何人没有公安局的特殊私钥加密技术来复制伪造身份证。

2、什么是数字签名?

          数字签名技术是将摘要信息用发送者的私钥加密,与原文一起传送给接收者。接收者只有用发送的公钥才能解密被加密的摘要信息,然后用HASH函数对收到的原文产生一个摘要信息,与解密的摘要信息对比。如果相同,则说明收到的信息是完整的,在传输过程中没有被修改,否则说明信息被修改过,因此数字签名能够验证信息的完整性。

数字签名是个加密的过程,数字签名验证是个解密的过程。数字签名的作用是可以解决伪造、抵赖、冒充和篡改等问题。

3、非对称加密的速度慢问题

  具体来说,需要结合对称加密一起来解决速度问题,方案就是这样:首先服务端会生成一个非对称加密的密钥对,私钥自己保存,公钥发送给客户端,客户端拿到这个公钥之后,再生成一个对称加密的密钥,然后把对称加密的密钥通过公钥进行加密,加密之后发送给服务端,服务端通过私钥进行解密,这样客户端和服务端就可以通过对称加密进行通信了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值