https

作者: shuixingge | 来源:发表于2016-05-10 16:26 被阅读178次

    参考资料1
    密码:对文本进行编码,使偷窥者无法识别的算法;
    密钥:改变密码行为的数字化参数;密码参数;
    公钥:公开
    私钥:只有主机知道
    加解密: 对称加密,非对称加密;
    对称加密:加密和解密使用相同的密钥;缺点是发送者和接收者在进行通信之前要有一个共享的保密密钥,这会导致需要保密的密钥过多;DES,AES;
    非对称加密: 加解密使用不同的密钥;密钥成对,一个是公钥,一个是私钥;加密内容的长度不能超过公钥的长度;
    摘要算法:采用hash函数将需要加密的明文转换成一串固定长度的密文;
    数字签名技术:
    (1)将摘要信息用发送者私钥加密,与原文一起传送给接收者;接收者只有用发送者的公钥才能解密摘要信息;
    (2)然后用hash函数将收到的原文产生一个摘要信息,与解密的摘要信息进行对比,相同,则说明信息完整,在传输过程中没有被修改;否则说明信息被修改过;
    签名作用:
    (1)签名可以证明是作者编写了这条报文,因为只有作者才有私有密钥;
    (2)签名可以防止报文被篡改;

    证书:
    数字证书就是互联网通讯中标志通讯各方身份信息的一串数字,提供了一种在Internet上验证通信实体身份的方式;又CA机构颁发;

    证书内容
    证书签发:
    (1)对证书内容进行hash;
    (2)使用CA的私钥RSA加密;
    待签名内容 -> 哈希 -> 数字摘要 -> CA私钥加密 -> 数字签名 证书签发流程
    证书校验:
    数字签名 -> CA公钥解密 -> 数字摘要1
    待签名内容 -> 哈希 -> 数字摘要2
    比较「数字摘要1」和「数字摘要2」是否相等
    证书验证流程
    概念:以安全为目标的HTTP通道,是HTTP的安全版,即在HTTP下加入SSL层; HTTP和HTTPS

    作用:
    内容加密:建立一个信息安全通道,确保信息传输安全
    身份认证:确认网站真实性
    数据完整性:防止内容被第三方篡改和冒充

    劣势:
    需要进行非对称加解密,且需要三次握手,首次连接比较慢;
    不允许在本地有https缓存,但是可以通过相关的http首部可以实现缓存;

    http与https区别:
    (1)https需要到CA申请证书;
    (2)http是明文传输的超文本传输协议,https是具有安全性SSL加密传输协议;
    (3)端口不一样:http 80端口,https 443端口

    SSL握手过程:
    ()Client端向Server端的443端口发出请求,带上随机数client_random和支持的加密方式列表
    Server端返回随机数server_random ,选择的加密方式和服务器证书链
    Client端验证这个证书是否合法,如果非法则提示用户是否“继续接受这个不可信的网站”,如果合法则使用证书中的公钥加密premaster secret发送给服务端
    Server端使用私钥解密premaster secret,然后通过client_random,server_random 和premaster secret 生成master secret,用于对称加密后续通信内容。
    Sever端用master secret加密最终需要返回的网站内容
    Client端也用相同的方式生成这个master secret解密收到的消息

    Session恢复:
    对话中断,如何恢复连接
    (1)Session id:每次对话有一个编号(Session id),如果对话中断,下次重连的时候,客户端只要给出这个编号,且服务端保存了这个编号,通信双方可以使用已经存在的对话密钥,而不必重新生成;
    缺点在于session ID往往只保留在一台服务器上。所以,如果客户端的请求发到另一台服务器,就无法恢复对话。
    (2)Session ticket:客户端发送一个上次对话中服务器发送过来的Session ticket,这个Session ticket是加密的,其中包含对话的主要信息,比如对话密钥,加密算法,只有服务器才能解密,当服务器收到Session ticket,解密之后就不需要重新生成对话密钥了;

    相关文章

      网友评论

          本文标题:https

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