IM自定义消息协议安全--密钥协商过程

秘钥协商流程

IM消息自定义消息体设计时要考虑到可能产生的安全问题,如果消息体没有进行加密措施,很容易被抓包截取,消息加密要考虑到各个流程的可能出现的安全性问题!
下面是IM消息加密设计的密钥协商过程:

                  C                           S
(public key)P1,K1(AES) p1(k1)---> (private key)p2 p2(p1)->k1
    k2<--k1(k2)             <--- K2(AES) k1(k2)
    k2                     <--->        k2
    k2                     <--->        k2
                    ...........

客户端C有一个公钥P1,服务端保存私钥私钥P2
    1.客户端生成一个对称秘要K1,用P1加密传到服务端
    2.服务端用私钥P2解密数据,得到K1
    3.服务端生成一个对称秘要K2,并用K1加密传到客户端
    4.客户端收到数据用K1解密,得到K2,K2就是以后数据加解密用到的秘钥
    5.后续的数据加解密通过K2进行

优点

1.保证了密钥在互联网不是明文传输的,确保数据安全!
2.每次接入都会协商一个新的秘钥,相对更加安全!

缺点

1.服务端非对称秘钥的私钥是写死的,不是固定不变的
2.流程相对复杂,秘钥协商的过程相对耗时
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值