数据传输加

举报
大数据小粉 发表于 2017/05/05 17:30:39 2017/05/05
【摘要】 如果有大量数据要从A传递给B,为了不泄密,就需要对数据加密,出于计算性能考虑,选择共享密钥加密的方式,即A和B都要拥有同一密钥,A用这一密钥加密,B收到后用这一密钥可解密。

1、如果有大量数据要从A传递给B,为了不泄密,就需要对数据加密,出于计算性能考虑,选择共享密钥加密的方式,即AB都要拥有同一密钥,A用这一密钥加密,B收到后用这一密钥可解密 :)

2、那么,这个共享密钥如何在AB之间传递呢?如果明文传递,被第三方截获共享密钥,数据的通信就不安全了 :(

所以要对共享密钥进行加密。由于密钥本身不大,计算性能不会成为障碍,所以可以采用公钥加密方式。例如,A设定共享密钥,并用B的公钥对这个共享密钥进行加密后传输给BB用自己的私钥来解密,这样B就获得了共享密钥了 :)

 3、问题是A如何获得B的公共密钥?如果公共密钥以明文直接传输的话,遭遇中间人攻击,中间人可以用自己的公钥来替换B的公钥,这样后续A发出的数据(共享密钥)就可以被中间人以自己的私钥打开了 :(

解决问题的办法是BA提供自己的证书,证书中包含了B的公钥,并且证书经过权威的第三方机构(认证中心)的签名,这个签名是不可伪造的 :)

 4、但是A如何来验证B提供的证书是否合法呢?A需要有认证中心的公钥才能确认证书是否合法呀 :(

这里的办法是将认证中心的公钥编译到软件里去,而软件以CD-ROOMU盘等物理方式来提供,这样公钥就安全了。

按事情先后顺序梳理一遍就是:

1、A通过软件编译的方式内置认证中心公钥

2、BA发送自己的证书,证书中包含B的公钥,A用认证中心公钥验证证书合法

3、A设置用于大量数据传输加密的共享密钥,并将这一共享密钥用B的公钥加密后传送给BB接收后用自己的私钥解密获得共享密钥

4、A用上述共享密钥对大数据进行加密,传递给BB用同一共享密钥对大数据解密


作者 |马樟平

转载请注明出处:华为云博客 https://portal.hwclouds.com/blogs


【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。