zoukankan      html  css  js  c++  java
  • 如何实现安全通信?

    对称加密与机密性

    加解密使用同样的秘钥
    保证秘钥安全即可实现机密性
    推荐算法AES,ChaCha20
    按照秘钥的位数又可以再分
    基本原理为xor运算
    所以明文大于秘钥长度时需要分组
    最新分组模式为AEAD(GCM,CCM,Poly1305)

    非对称加密

    加解密使用不同的秘钥
    基本原理为数学难题
    RSA基于整数分解
    ECC基于椭圆曲线离散对数
    x25519被认为是最安全、最快速的曲线

    私钥

    不能给别人

    公钥

    可以给别人

    公钥加密,私钥解密

    别人只能加密,也就是不能看到别人加密后发给我的内容。
    可以解决“密钥交换”的问题
    使用DH/ECDHE秘钥交换协议可以具备前向保密性
    使用量子通信进行秘钥分发可以保证绝对安全

    私钥加密,公钥解密

    别人只能解密,也就是只能看,不能伪造我发出的信息。
    相当于我发出的信息被我用私钥签名了,这就是数字签名

    摘要算法与完整性

    哈希算法
    推荐SHA-2
    对消息进行哈希得到消息摘要
    对消息+消息摘要进行对称加密以保证完整性

    PKI

    申请证书

    生成公私钥
    发起CSR将身份信息,公钥发给登记机构
    登记机构验证身份后向CA发起CSR

    颁发证书

    对用户身份信息使用摘要算法生成用户身份信息摘要
    对用户身份信息摘要使用机构的私钥加密生成用户身份信息加密摘要
    公钥数字证书=用户身份信息+用户身份信息加密摘要+用户公钥
    CA将证书给登记机构,登记机构给用户

    校验证书

    提取证书信息
    对用户身份信息使用摘要算法生成实际用户身份信息摘要
    对用户身份信息摘要使用机构的公钥解密生成理论用户身份信息摘要
    判断实际用户身份信息摘要与理论用户身份信息摘要是否相等

  • 相关阅读:
    linux 运维 nginx服务器
    linux 运维,代理,acl控制访问
    shell脚本 awk工具
    shell脚本 sed工具
    shell脚本 字串截取 正则表达式
    Django ORM 反向查询
    Django model操作
    Form的is_valid校验规则及验证顺序
    Django 中的Form、ModelForm
    Django 中的Form表单认证
  • 原文地址:https://www.cnblogs.com/futuretea/p/12044669.html
Copyright © 2011-2022 走看看