不对称加密的详细过程

注,CA1是当前CA.CA的上级为CA2,根CA为CAn.

A要和CA1通信

实际上是CA向A传递对称加密密钥

交换证书

A向CA1发送自己从CA1处申请的证书。
CA1发送自己从CA2处申请的证书。
对于A:自己不相信CA1是CA1。那么可以从CA2处查询。CA2写了CA1的证书,同时用CA2的私钥对CA1的证书签名,以证明他的完整性。
对于CA2的验证可以找CA3,同理一直到找CAn,而CAn的公钥是都是知道的。

怎么说呢。CA1自己的证书可以通过CA2的私钥签名,那么你知道CA2的公钥不是可以解开CA2的签名得到CA1的证书了么?那么这个证书肯定就是你要找的那个证书啊。但是你不知道CA2的公钥,那你找CA3啊。CA3的证书里面有CA3的公钥。用他的公钥解开CA3的签名就可以得到CA2的证书。同理可以追溯到CAn。CAn是国家的。(国家的基础设施之一),因此根CA的公钥(证书)是广为人知的。

对于CA1:A的证书就是在自己的机构申请的,因此可以判断是否是A。

这个时候如果攻击者截获了A的证书冒充A呢?
出示证书是为了让对方知道自己的公钥。因此及时攻击者D知道了自己的公钥,那有何妨?

生产对称密钥

注意,这个情景是假设有好几个通信者要通信,因此需要对称密钥,此时由CA颁发对称加密密钥k。这个情景就是解决怎么传这些东西的问题。

由CA生产A,B,C互相通信的对称加密密钥k.

传递对称密钥k

因为要传十分重要的东西了。(对称加密密钥k)。因此绝对不能让攻击者获取密钥k修改密文
CA向A传。(CA向B,C传同A)

1.CA用hash算一遍加密的内容(这个例子是对称加密密钥k)
2.CA用A的公钥对k进行加密
3.CA用自己的私钥对hash值进行签名
4.将加密的密文和签过名的hash值拼接到一起传给A。

A收到后:

1.用自己的私钥解开密文,得到k。
2.用hash算一遍k,得到hash值。
3.用CA证书里面的公钥解开CA传过来签过名的hash,进行比较,如果一样,那么证明没有被篡改。否则要求CA重发。

1.攻击者有CA和A的证书,但是没有他们的私钥,因此解不开。
2.攻击者如果篡改数据,那么A计算得到的hash值会不一样,会证明被篡改。
3.攻击者可以解开hash值,填入伪造的hash值,但是攻击者没有CA的私钥,因此当A用CA的公钥解签名的时候,会发现解不开。
4.攻击者有CA和A的公钥,可以伪装CA。但是这个过程中要求CA必须有CA的私钥。而CA的私钥是打死也不会泄露的,否则不止A了,所有在CA申请证书的公司--大多数还是商务公司都面临着巨大的风险。
5.攻击者解不开密文,也分不了,其实还是可以的。
可以一直篡改,让CA重发密钥。此时A一直得不到密钥。
不过A可以向网警举报攻击者的IP。
6.攻击者截获的数据因为公钥和私钥都是通过CA来生产的。因此想要破解很难。不过可以从CA内部渗透。通过社会工程学的角度来进行。
7.攻击者可以入侵道A的操作系统,直接更改CA1的证书,填成自己的地址。
8…

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值