zoukankan      html  css  js  c++  java
  • Https如何保证安全

    Https加密安全。 SSL加密。

     

    Https和http的区别?Https如何做到安全?

    HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议。

    http是普通的超文本文件,就像百度知道这样http://zhidao.baidu.com,任何用户都可以通过ie浏览器进入。


    而https是通过加密的网页文件,通过iis6.0发布web站点就能够设置加密网站。用户在进入该网页的时候要用https://取代http://,一般企业的内部邮箱就有这样的用法。 

    【HTTPS和HTTP的区别】

    https协议需要到ca申请证书,一般免费证书很少,需要交费。

    http是超文本传输协议,信息是明文传输,https 则是具有安全性的ssl加密传输协议

    http和https使用的是完全不同的连接方式用的端口也不一样,前者是80,后者是443。

    http的连接很简单,是无状态的

    HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议 要比http协议安全

    HTTPS解决的问题:

    1 . 信任主机的问题. 采用https 的server 必须从CA 申请一个用于证明服务器用途类型的证书. 改证书只有用于对应的server 的时候,客户端才信任此主机. 

            所以目前所有的银行系统网站,关键部分应用都是https 的. 客户通过信任该证书,从而信任了该主机. 其实这样做效率很低,但是银行更侧重安 全. 这一点对我们没有任何意义,我们的server ,采用的证书不管自己issue 还是从公众的地方issue, 客户端都是自己人,所以我们也就肯定信任该server.

    2 . 通讯过程中的数据的泄密和被窜改1. 一般意义上的https, 就是 server 有一个证书.a) 主要目的是保证server 就是他声称的server. 这 个跟第一点一样.b) 服务端和客户端之间的所有通讯,都是加密的.i. 具体讲,是客户端产生一个对称的密钥,通过server 的证书来交换密 钥. 一般意义上的握手过程.ii. 接下来所有的信息往来就都是加密的. 第三方即使截获,也没有任何意义.因为他没有密钥. 当然窜改也就没有什么意 义了.2. 少许对客户端有要求的情况下,会要求客户端也必须有一个证书.a) 这里客户端证书,其实就类似表示个人信息的时候,除了用户名/密码, 还 有一个CA 认证过的身份. 应为个人证书一般来说上别人无法模拟的,所有这样能够更深的确认自己的身份.b) 目前少数个人银行的专业版是这种做法,具 体证书可能是拿U盘作为一个备份的载体.HTTPS 一定是繁琐的.a) 本来简单的http协议,一个get一个response. 由于 https 要还密钥和确认加密算法的需要.单握手就需要6/7 个往返.i. 任何应用中,过多的round trip 肯定影响性能.b) 接下来才是具体的http协议,每一次响应或者请求, 都要求客户端和服务端对会话的内容做加密/解密.i. 尽管对称加 密/解密效率比较高,可是仍然要消耗过多的CPU,为此有专门的SSL 芯片. 如果CPU 信能比较低的话,肯定会降低性能,从而不能serve 更多 的请求.ii. 加密后数据量的影响. 所以,才会出现那么多的安全认证提示

    HTPPS和HTTP的概念

    HTTPS(全称:HypertextTransfer Protocol over Secure Socket Layer),是以安全为目标的HTTP通道,简单讲是HTTP的安全版。

    HTTPS(SecureHypertext Transfer Protocol)安全超文本传输协议
            它是一个安全通信通道,它基于HTTP开发,用于在客户计算机和服务器之间交换信息。它使用安全套接字层(SSL)进行信息交换,简单来说它是HTTP的安全版。
            它是由Netscape开发并内置于其浏览器中,用于对数据进行压缩和解压操作,并返回网络上传送回的结果。HTTPS实际上应用了Netscape的安全全套接字层(SSL)作为HTTP应用层的子层。(HTTPS使用端口443,而不是象HTTP那样使用端口80来和TCP/IP进行通信。)

            SSL使用40 位关键字作为RC4流加密算法,这对于商业信息的加密是合适的。HTTPS和SSL支持使用X.509数字认证,如果需要的话用户可以确认发送者是谁。

            即HTTP下加入SSL层,HTTPS的安全基础是SSL,因此加密的详细内容就需要SSL。 它是一个URI scheme(抽象标识符体系),句法类同http:体系。用于安全的HTTP数据传输。             

            https:URL表明它使用了HTTP,但HTTPS存在不同于HTTP的默认端口及一个【加密/身份验证层】(在HTTP与TCP之间)。这个系统的 最初研发由网景公司进行,提供了身份验证与加密通讯方法,现在它被广泛用于万维网上安全敏感的通讯,例如交易支付方面。

            超文本传输协议 (HTTP-Hypertext transfer protocol) 是一种详细规定了浏览器和万维网服务器之间互相通信的规则,通过因特网传送万维网文档的数据传送协议。

    SSL安全套接字层(Https加密)

    SSL工作原理

    http://blog.csdn.net/zhuyingqingfen/article/details/7610098

    http://baike.baidu.com/view/16147.htm

    SSL工作原理

    Secure Sockets Layer,安全套接层。

    ——广泛地用于Web浏览器与服务器之间的【身份认证和加密数据传输】。

            其继任者传输层安全(Transport Layer Security,TLS)是为网络通信提供【安全及数据完整性】的一种安全协议。TLS与SSL在传输层对网络连接进行加密。





            SSL协议位于TCP/IP协议与各种应用层协议之间,为数据通讯提供安全支持。SSL协议可分为两层: 

    ——SSL记录协议(SSL RecordProtocol):它建立在可靠的传输协议(如TCP)之上,为高层协议提供数据封装、压缩、加密等基本功能的支持。 

    ——SSL握手协议(SSLHandshake Protocol):它建立在SSL记录协议之上,用于在实际的数据传输开始前,通讯双方进行身份认证、协商加密算法、交换加密密钥等。













    SSL工作流程

    服务器认证阶段:

    1)客户端向服务器发送一个开始信息“Hello”以便开始一个新的会话连接;

    2)服务器根据客户的信息确定是否需要生成新的主密钥,如需要则服务器在响应客户的“Hello”信息时将包含生成主密钥所需的信息;

    3)客户根据收到的服务器响应信息,产生一个主密钥,并用服务器的公开密钥加密后传给服务器;

    4)服务器回复该主密钥,并返回给客户一个用主密钥认证的信息,以此让客户认证服务器。

    用户认证阶段:在此之前,服务器已经通过了客户认证,这一阶段主要完成对客户的认证。经认证的服务器发送一个提问给客户,客户则返回(数字)签名后的提问和其公开密钥,从而向服务器提供认证。

    从 SSL 协议所提供的服务及其工作流程可以看出,SSL协议运行的基础是商家对消费者信息保密的承诺,这就有利于商家而不利于消费者。在电子商务初级阶 段,由于运作电子商务的企业大多是信誉较高的大公司,因此这问题还没有充分暴露出来。但随着电子商务的发展,各中小型公司也参与进来,这样在电子支付过程 中的单一认证问题就越来越突出。虽然在SSL3.0中通过数字签名和数字证书可实现浏览器和Web服务器双方的身份验证,但是SSL协议仍存在一些问题, 比如,只能提供交易中客户与服务器间的双方认证,在涉及多方的电子交易中,SSL协议并不能协调各方间的安全传输和信任关系。在这种情况下,Visa 和 MasterCard两大信用卡公组织制定了SET协议,为网上信用卡支付提供了全球性的标准。

    https介绍

    HTTPS(HypertextTransfer Protocol Secure)安全超文本传输协议

    它 是由Netscape开发并内置于其浏览器中,用于对数据进行压缩和解压操作,并返回网络上传送回的结果。HTTPS实际上应用了Netscape的完全 套接字层(SSL)作为HTTP应用层的子层。(HTTPS使用端口443,而不是象HTTP那样使用端口80来和TCP/IP进行通信。)SSL使用 40 位关键字作为RC4流加密算法,这对于商业信息的加密是合适的。HTTPS和SSL支持使用X.509数字认证,如果需要的话用户可以确认发送者是 谁。

    https是以安全为目标的HTTP通道,简单讲是HTTP的安全版。即HTTP下加入SSL层,https的安全基础是SSL,因此加密的详细内容请看SSL。

    它 是一个URI scheme(抽象标识符体系),句法类同http:体系。用于安全的HTTP数据传输。https:URL表明它使用了HTTP,但HTTPS存在不同 于HTTP的默认端口及一个加密/身份验证层(在HTTP与TCP之间)。这个系统的最初研发由网景公司进行,提供了身份验证与加密通讯方法,它被广泛用 于万维网上安全敏感的通讯,例如交易支付方面。

    限制

    它的安全保护依赖浏览器的正确实现以及服务器软件、实际加密算法的支持.

    一 种常见的误解是“银行用户在线使用https:就能充分彻底保障他们的银行卡号不被偷窃。”实际上,与服务器的加密连接中能保护银行卡号的部分,只有用户 到服务器之间的连接及服务器自身。并不能绝对确保服务器自己是安全的,这点甚至已被攻击者利用,常见例子是模仿银行域名的钓鱼攻击。少数罕见攻击在网站传 输客户数据时发生,攻击者尝试窃听数据于传输中。

    商业网站被人们期望迅速尽早引入新的特殊处理程序到金融网关,仅保留传输码(transaction number)。不过他们常常存储银行卡号在同一个数据库里。那些数据库和服务器少数情况有可能被未授权用户攻击和损害。

  • 相关阅读:
    linux权限补充:rwt rwT rws rwS 特殊权限
    关于Linux操作系统下文件特殊权限的解释
    Java学习笔记——Java程序运行超时后退出或进行其他操作的实现
    Java实现 蓝桥杯 算法提高 判断名次
    Java实现 蓝桥杯 算法提高 判断名次
    Java实现 蓝桥杯 算法提高 日期计算
    Java实现 蓝桥杯 算法提高 日期计算
    Java实现 蓝桥杯 算法提高 概率计算
    Java实现 蓝桥杯 算法提高 概率计算
    Java实现 蓝桥杯 算法提高 复数四则运算
  • 原文地址:https://www.cnblogs.com/lsx1993/p/4632099.html
Copyright © 2011-2022 走看看