0


网络信息传输安全

数据在网络中传输过程中,怎么做到

  1. 数据没有被篡改?hash算法
  2. 信息发送者的身份认证?用发送者的私钥对数据进行加密,接收者只能用发送者的公钥进行解密。发送者的公钥怎么给到接收者?如果还是用网络进行传输,无法保证公钥本身的传输安全啊?比如,A用RSA算法生成了自己的一对公钥、私钥,A把信件的内容用hash算法生成摘要,用私钥加密摘要信息形成数字签名,在网络上发送信件的时候,A的公钥,信件本身,数字签名三者会在网络上进行传输,黑客可以截获到这些信息,黑客用新生成的一对公钥,私钥,重新生成数字签名,给到接收者,接收者收到的就是黑客篡改过的内容了
  3. 怎么确保信息发送者的身份没有被截获篡改?用数字证书证明发送者的身份。数字证书由发送者向权威机构申请,包含了身份信息(发送者的公钥)。
  4. 怎么保证数字证书的安全?数字证书是经过ca机构数字签名的,ca机构也生成一对公钥、私钥,用私钥对发送者的公钥及一些信息进行数字签名,放入数字证书当中,此时数字证书就相当于发送者的身份信息、公钥和数字签名的组合,在个人的电脑或手机里安装根证书,根证书中记录了可以信赖的ca机构和其对应的公钥,就可以用公钥去验证数字证书的内容,从而确认发送者的公钥是自己的。

机密性-加密

对称加密

AES加密算法,密钥长度128、192或256,安全强度很高,性能很好

加密分组模式:将明文分组加密,微信支付中使用 AEAD_AES_256_GCM

非对称加密

使用公钥加密后只能用私钥解密,反过来,私钥加密后也只能用公钥解密

RSA加密算法:最著名的非对称加密算法

身份认证

公钥加密私钥解密,可以确保数据的机密性

私钥加密公钥解密,可以进行身份的认证

摘要算法和数据完整性

hash值一直表示文件内容没有被篡改过

常见的摘要算法:md5、sha1、sha2(sha224、sha256、sha384)

数字签名 签名验签

  1. A要发邮件给B,A把自己的信件内容用摘要算法,生成摘要
  2. A用自己的私钥加密摘要,形成一份签名,追加到信件中
  3. B收到信件,先把信件的内容用相同的hash算法,生成摘要1
  4. B把信件中的签名,用A的公钥加密,生成摘要2
  5. 比对两份摘要,如果一致,可以说明信件没有被篡改过,并且是A发的信件

B怎么拿到的A的公钥?如果也是通过网络进行传输,又可能被黑客截取篡改,怎么办?

数字证书

公钥信任问题,黑客可能伪造公钥,这个怎么办呢?把公钥放到数字证书中,数字证书需要向有社会公信力的CA机构进行申请,申请时需要提供身份信息

申请数字证书所需信息

数字证书的生成

  1. A向ca机构申请数字证书,填入相关的身份信息和A的公钥
  2. ca机构把A的公钥和身份信息hash运算后,用自己生成的私钥加密形成数字签名
  3. 把生成的数字签名追加到数字证书中颁布给A

  1. bob发送的信件,包含数字证书、数字签名和内容
  2. pat拿到信件,用自己本地安装的ca机构的公钥解密数字证书,获取bob用自己的公钥和身份信息生成的hash值,用相同的hash算法也生成hash值,比对,如果一致证明公钥是bob的
  3. 用拿到的bob的公钥再去解密信件内容,剩下的步骤就和上面的一样了

数字证书的应用 https协议

网站想要使用https

数字证书的申请

免费的数字证书申请可访问Let's Encrypt

标签: 网络 安全

本文转载自: https://blog.csdn.net/u014353343/article/details/142353820
版权归原作者 就是现在 所有, 如有侵权,请联系我们删除。

“网络信息传输安全”的评论:

还没有评论