1.数字证书的知识

来源:互联网 发布:百视通网络电视下载 编辑:程序博客网 时间:2024/06/08 07:02

27.数字证书的知识

1.什么是PKI
公钥基础设施(Public Key Infrastructure)
利用公开密钥理论和技术建立的提供安全服务的在线基础设施。它利用加密、数字签名、数字证书来保护应用、通信或事务处理的安全。
基础设施
如同电力基础设施为家用电器提供电力一样
PKI为各种互联网应用提供安全保障
技术基础:基于公开密钥技术
对称密钥技术
非对称密钥技术
数字签名技术

1.什么是数字证书?
(公开密钥以证书形式发放,证书需经发证机构(CA)签名)
数字证书是一种公钥的载体,其中包含了公钥信息,对象名称以及其他细节,CA签名等.

2.如何生成数字证书.
在自己的电脑或者usbkey上面,利用非对称加密算法,生成一个秘钥对(私钥,公钥,并且有一个密码可以用来调用usbkey里面的私钥,进行签名等),利用公钥生成证书请求(CSR,CSR中包含公钥),
发送给RA进行数字证书制作.后台管理系统,一般会根据订单信息或者用户输入的其他信息,封装一个raUsercert,然后把CSR,raUsercert,证书期限等信息,通过接口发送给RA制作证书,RA制作证书完成后,会返回racertinfo信息.一般我们取ra的racertinfo.getCertSignBuf()字段.(签名证书和加密证书,有时候可能会是两张证书分开).

电脑或者usbkey就会根据秘钥对,和返回的racertinfo.getCertSignBuf(),把证书安装到容器中.(容器中就包含了私钥,和数字证书,一个usbkey可以包含多个容器.)

数字签名:
H–Hash计算
E–加密计算
D–解密计算
在签发者处,首先求出传递消息Info的HASH值,然后用私钥Private Key对Hash值做加密,然后将传递消息原文Info和经过加密的HASH值一起发给接受者,接受者首先用签发者的公钥揭开密码,然后对收到的Info原文计算HASH值,然后比对是否相对,如果相同,则认证成功。

3.PKI,结合对称加密,非对称加密,数字签名,等技术后,使用的加密/签名技术

举例A,B两人通讯
1.A生成一个对称秘钥(优点是加密快),并且用对称秘钥对原文进行加密.
2.A用数字签名算法,对原文信息进行数字摘要(优点也是快,防止信息被篡改),并使用自己的A私钥,对数字摘要进行签名.
3.A用B的公钥,对1产生的对称秘钥进行加密,并将1,2,3,三个加密信息打包成加密包,发送给B

B:
1.B用自己的B私钥解密会话秘钥
2.用解密出来的会话秘钥解密密文信息,获取原文信息.
3.用A的公钥验证A的签名是否正确,因为能用A的公钥解开,就能证明是A发送的了.(这一步可能是没有的,应该也是有的,具体有没有,还需要确定:并且数字签名解密后,获得的散列值(hash值)与原文信息的散列值一致.)
(由此可以确定,是A发送过来的,并且传输过程中,没有被篡改,并且B已经收到,并且B已经阅读)

4.1对称密钥体制的弱点
密钥管理
如何安全的共享秘密密钥
每对通信者间都需要一个不同的密钥,N个人通信需要n(n-1)/2密钥
不可能与你未曾谋面的人通信
没有解决不可抵赖问题
文档不能被签名
通信双方都可以否认发送或接收过的信息

4.公钥加密的问题
公钥加解密对速度敏感
大数幂运算,因此非常慢
软件,公钥算法比对称密钥算法慢 100 0多倍。(硬件可能慢 100倍 )
公钥加密长信息无法接受的慢,而对称密钥算法非常快

结合非对称密钥和对称密钥算法,使用非对称密钥与公开密钥的优点:
对称密钥快速而强健
公开密钥易于密钥交换

5.数字签名的实现
需要一个数字码唯一标识一个人或实体
身份证号码? No, 不保密
私钥? Yes!
公钥与私钥是一对镜像
用其中一个加密, 用另一个解密
解决方案: 用发送者的私钥加密信息, 然后用公钥解密
如果能够解开,说明发送者加密并发送了本信息
除非发送者的私钥不再保密

6.问题:
签名太长?
并没有解决传输数据完整性的鉴别?
解决方法:签名一个短的信息--数字摘要
数字摘要(Message Digest)
一个函数,输入一个任意长度的信息,而输出一个短的固定长度的编码
一般 16 到 20 字节长
对于输入信息 MD 是唯一
无法找到具有相同 MD 的两个信息
对于信息的任何修改,MD将改变

7.数字摘要技术
散列函数与指纹相象
比原物(本人)信息量小
与本人一一对应
无法找到相同指纹的两个人
知道了指纹,无法重建一个人
最常用的散列函数
RSA公司的 MD4 和 MD5 (128 位即16 字节)
NIST 的安全散列算法 SHA(160 位即20字节)

常用的公钥密码算法,即非对称加密技术
RSA、Elgamal、背包算法、Rabin、D-H、ECC(椭圆曲线加密算法)
如果攻击者获得了私钥,那么他不仅能解密之前截获的消息,还能解密之后的所有消息。然而,RSA可以通过认证(如使用X.509数字证书)来防止中间人攻击

SM2是国家密码管理局于2010年12月17日发布的椭圆曲线公钥密码算法。
SM2算法和RSA算法都是公钥密码算法SM2算法是一种更先进安全的算法,在我们国家商用密码体系中被用来替换RSA算法。
随着密码技术和计算技术的发展,目前常用的1024位RSA算法面临严重的安全威胁,我们国家密码管理部门经过研究,决定采用SM2椭圆曲线算法替换RSA算法

原创粉丝点击