CA基础概念

CA数字证书的基本概念,仅供自己参考。细节是否正确有待验证。

数字证书
电子商务机构:CA    分为root根证书和二级证书,是非盈利性质互联网安全的组织

RAS:加密算法,非对称型,使用公钥和私钥
AES、ESP、AH、:加密算法,对称型,使用秘钥

数字签名:使用自己的私钥加密文件后得出一个数,再用这个数进行Hash后得到一串信息,把这个信息黏贴在要发送的文件上,称之为数字签名,因为hash算法有不可逆属性所以可以认定唯一。对方在鉴别是否是你本人发送的文件时只需要用你的公钥解密文件就可以得出你私钥与文件加密后得出的这个数,再将这个数进行相同的hash后也能得到一串信息,然后使用这串信息与你签名用的这串信息对比,如果一样那证明文件没有被篡改就是你的签名,如果不一样则说明文件被截取篡改。

公钥:数字加密,任何人都可以获得任何人的公钥
私钥:数字解密、签名,只有自己持有

RSA非对称加密流程:
用户A发送自己的公钥给用户B,用户B收到后告知用户A收到公钥
用户A使用自己的私钥加密文件后,发送给用户B,用户B使用用户A的公钥解密文件完成一次会话

私钥数字签名流程:
用户A发送自己的公钥给用户B,用户B收到后告知用户A收到公钥
用户A使用自己的私钥加密文件,得到数A,再把A进行hash计算得到信息AA,然后把AA黏贴到文件上发送用户B,用户B收到文件后用用户A的公钥解密得到数B,再把B进行相同的hash计算得到信息BB,然后拿BB与AA对比看是否一样,如果一样则证明此文件就是A发送的,如果不一样那么文件就不是A发送的,有人冒充了A。

CA:以上看到只要用户B有了用户A的公钥,那么加密、签名就都可以搞定了。但是问题来了,假如用户B在收用户A的公钥的途中用户A的公钥被人掉包了,那这下用户B拿到的公钥就不是用户A的了,这就是安全问题了。所以为了保证公钥的安全,数字证书CA就诞生了。CA就是一个电子商务安全机构,专门负责提供各种数字证书,这个数字证书最大的作用其实就是存放公钥的,放在数字证书里的公钥可以保障不被掉包,就这么简单,加入用户A希望自己的公钥被安全保障,那么他就必须向CA机构去申请一个数字证书,将自己的公钥放交给CA机构,让CA机构将他的公钥放到数字证书里再提供用户B去获取,这样就保证了公钥不被掉包。当然这个事CA是收钱的,而且像CCIE证书一样是有时间范围的,到期了就要续费不然数字证书就作废了,数字证书里的内容大概就是公钥、时间、算法、数、等等信息。

如何保证公钥不被掉包就是CA的事了,CA在收到用户A的公钥后会跟你进行各种信息的核对,以确保在没有签名的情况下用户A的公钥是正确的,并且就是由用户A本人发送来的。
CA在收到用户A的公钥并且核实了信息无误后,就会开始制作数字证书了,做好后把用户A的公钥放进去,再用CA自己的私钥签名后发送给用户A。这样用户B就可以从用户A那里得到用户A的数字证书了(主要是需要拿到证书中的公钥),或者B直接问CA要用户A的数字证书也可以。反正拿到就行。至于用户A为什么会有CA的公钥而且信任了CA的公钥,这个是全球指定的CA机构就那么些,在windows操作系统中都已经内置并信任了全球各个CA机构的数字证书。就比如你为什么会信任cisco认证一样,因为是全球公认的公平合法的。

注:最后说一下,数字证书拿到后不能直接使用,必须先要添加信任才能使用。所以说用户B能否打算使用用户A的数字证书(就是公钥)就看用户B是否添加了用户A的数字证书的信任和用户A申请证书的CA机构数字证书的信任,如果用户B将这2个数字证书都添加到了信任里那就可以使用用户A的数字证书做RAS加解密安全会话了。
 

你可能感兴趣的:(Security安全)