美文网首页
2018-07-05

2018-07-05

作者: 护念 | 来源:发表于2018-07-05 21:51 被阅读0次

    一、加密方式

    对称加密

    只要一把密匙,即可以对内容加密,也可以对内容解密。

    非对称加密

    • 有两把密匙,一把公匙、一把私匙;公匙加密的内容只有私匙能加密;私匙加密的内容只有公匙能加密;
    • 公匙用作公开;私匙私有

    摘要

    • 把一段内容通过hash算法加密,生成一个字符串,这个过程称为生成摘要。
    • 这个过程是单向的,只能内容生成字符串;不能字符串反推内容
    • 不同的内容生成不同的字符串

    PS: 一般利用这个特性,来保证内容在传递前后没有被修改过(修改后摘要会变)

    数字签名

    也就是在摘要的基础上,再对摘要进行非对称加密;这样摘要就不改动了。

    二、http 与 https

    为什么会https 而不用(或少用http)?

    • 两个字:安全
    • http采用明文传输,在传输过程中,可以通过抓包获取信息内容,不安全

    https怎么做到安全的?

    简单来讲:就是在http协议层 和 tcp 传输层之间,套接一个安全层(tls/ssl)

    具体请求过程呢?

    1. 第一步:客户端请求服务端,服务端回传证书
    2. 第二步:客户端验证证书真伪后,利用证书上服务端的公匙,对自己创建的一个对称加密密匙加密后,传给服务端
    3. 第三步:服务端拿到这个加密内容后,用自己的私匙解密加密内容,得到对称加密密匙
      最后,双方通过这个协商出来的对称加密密匙通信
      PS: 这个过程是一个协商出的过程,由一开始的非对称加密,到面的对称加密

    证书上都有些啥内容?

    • CA证书机构的名字
    • 证书本身内容的数字签名
    • 服务器端公匙
    • 证书的hash加密算法

    根证书

    • 指证书机构本身也需要一个证书;证书自己这个机构是合法的
    • 这个根证书就是指,证书机构CA自己的证书
    • 浏览器会把这些CA机构的证书(根证书)内置到浏览器中

    浏览器如何去鉴别从服务器端传回的证书?

    • 如果证书名称,在内置的证书中压根不存在,非法
    • 如果证书名称存在,但证书上数字签名,浏览器用该ca的公匙不能解密,非法
    • 如果证书名称存在,对数字签名能解密,证书上服务器端公匙被替换,浏览器用证书上hash算法加密证书内容得到摘要,和数字签名解密后内容做对比,会不一致,非法

    参考资料

    相关文章

      网友评论

          本文标题:2018-07-05

          本文链接:https://www.haomeiwen.com/subject/zhdmuftx.html