加密传输数据、加密协议控制及被探测的方法、装置及系统与流程

文档序号:14684079发布日期:2018-06-12 23:00阅读:176来源:国知局
加密传输数据、加密协议控制及被探测的方法、装置及系统与流程

本发明涉及互联网数据传输领域,具体涉及一种加密传输数据的方法及装置,以及一种加密协议控制的方法及装置,以及一种加密协议被探测的方法及装置。



背景技术:

随着互联网的飞速发展,个人隐私信息泄露问题变得越来越严重,由于个人信息的泄露导致了诸如诈骗等很多负面影响,在移动互联网的大潮下,客户端加密传输是非常必要的。

现有技术中的客户端加密传输主要采用如下方法:客户端默认采用加密进行传输,同时依据客户端所支持的所有加密协议的优先等级,依次采用不同加密协议尝试与服务端进行握手连接,如果失败则降低加密协议等级再次尝试。

此方案存在以下问题:

1.加密协议尝试过程的消耗过多,影响用户体验。

在客户端按支持的加密协议优先级逐一试验的方式下,由于客户端业务种类非常多,不同业务种类所支持的加密协议均不太一样——比如交易业务只支持了部分高安全等级的加密协议——此时用别的加密协议建连必然失败,需要尝试多次才能正确建立连接,增加了建联时间,以及造成大量流量消耗,影响用户体验。

在上述现有技术下,还存在大量无意义尝试造成的开销。如果某业务还未支持加密传输,或者某一加密协议已经下线,客户端依然要先经过几次失败尝试后才能用到正确的传输协议;而在这种现有技术下,无法避免这些无意义的开销。

如果经过一次成功的建连握手后把业务服务端对应的加密协议缓存,虽然可以减缓上述问题,但业务服务端的量太多,域名达到万以上级别,缓存数量庞大,客户端需要存储大量数据;并且,缓存失效后依旧需要失败尝试。因此,这种解决方案效果并不理想。

2.业务服务端缺少控制能力。

在上述现有技术下,通过客户端的不断尝试获得正确的加密协议,使加密协议的控制实际上在客户端,业务服务端缺少控制能力。这样,就无法实现只有通过业务端控制才能实现的灰度、批量发布等动态控制效果,进而无法实现无缝平稳升级,以及同一个业务在不同app上采用不同的加密协议等加密协议控制效果。

综上所述,现有的客户端加密传输的方法存在影响用户体验、业务服务端缺少控制能力的问题。



技术实现要素:

本发明提供一种加密传输数据的方法,以解决现有客户端加密传输的方法存在影响用户体验、业务服务端缺少控制能力的问题。

所述加密传输数据的方法,包括:

发送协议协商请求给加密协议探测服务端;

接收所述加密协议探测服务端返回的业务服务端支持的加密协议列表;

根据接收到的所述加密协议列表,以预定的规则选择加密协议与所述业务服务端进行加密握手建联;

基于所述加密握手建联,与所述业务服务端进行数据交互。

可选的,所述发送协议协商请求,具体为:

发送含有客户端信息以及所使用的业务信息的协议协商请求。

可选的,所述客户端信息,包括:

客户端版本、客户端类型、以及当前版本客户端所支持的加密协议列表。

可选的,在接收所述加密协议探测服务端返回的支持加密协议列表的步骤之后,包括:

缓存接收到的所述加密协议列表。

可选的,所述加密协议列表中包含加密协议的优先级;所述以预定的规则选择加密协议,是按照优先级从高到低的顺序选择加密协议。

可选的,所述加密协议列表,包括以下加密协议的一种或多种:

http2-0rtt,spdy-0rtt,spdy-1rtt,https。

可选的,所述接收所述加密协议探测服务端返回的支持加密协议列表,包括:

对返回的支持加密协议列表进行校验。

可选的,在发送协议协商请求给加密协议探测服务端的步骤之前,包括:

内置基本业务服务端所支持的加密协议列表。

本发明另外提供一种加密协议控制的方法,所述方法包括:

接收客户端发送的协议协商请求;

根据预先获知的探测数据,进行协议协商并确定业务服务端支持的加密协议列表;

发送所述业务服务端支持的加密协议列表给客户端。

可选的,在接收客户端发送的协议协商请求的步骤之前,包括:

对所述业务服务端进行定期的加密协议探测,识别所述业务服务端所支持的加密协议列表。

可选的,所述发送所述业务服务端支持的加密协议列表给客户端,包括:

依据优先级发送所述业务服务端支持的加密协议列表。

可选的,所述协议协商依据定期的加密协议探测获得的协议探测数据,以及业务服务端自身的调度控制需求,以及客户端所支持的加密协议列表。

可选的,所述加密协议列表,包括以下加密协议的一种或多种:

http2-0rtt,spdy-0rtt,spdy-1rtt,https。

可选的,所述发送所述业务服务端支持的加密协议列表给客户端,通过以下的任一方式进行数据传输:

采用自定义的http2-0rtt进行加密传输;

采用标准tls协议加密方式传输;

采用明文进行数据传输。

本发明另外提供一种加密协议被探测的方法,所述方法包括:

接收加密协议探测服务端发送的加密协议探测请求;

发送支持的加密协议列表给加密协议探测服务端。

可选的,所述加密协议列表,包括如下加密协议的至少一种:

http2-0rtt,spdy-0rtt,spdy-1rtt,https。

本发明还提供一种加密传输数据装置,所述装置包括:

发送单元,用于发送协议协商请求给加密协议探测服务端;

接收单元,用于接收所述加密协议探测服务端返回的业务服务端支持的加密协议列表;

建联单元,用于根据所述接收单元接收到的所述加密协议列表,以预定的规则选择加密协议与所述业务服务端进行加密握手建联;

交互单元,用于基于所述建联单元建立的加密握手建联,与所述业务服务端进行数据交互。

本发明另外提供一种加密协议控制装置,所述装置包括:

接收单元,用于接收客户端发送的协议协商请求;

协商单元,用于根据预先获知的探测数据,进行协议协商并确定业务服务端支持的加密协议列表;

发送单元,用于发送所述协商单元确定的所述业务服务端支持的加密协议列表给客户端。

本发明另外提供一种加密协议被探测装置,所述装置包括:

接收单元,用于接收加密协议探测服务端发送的加密协议探测请求;

发送单元,用于发送支持的加密协议列表给加密协议探测服务端。

本发明另外提供一种加密传输数据的系统,所述系统包括:

布置于客户端的加密传输数据装置,包括:

客户端发送单元,用于发送协议协商请求给加密协议探测服务端;

客户端接收单元,用于接收所述加密协议探测服务端返回的业务服务端支持的加密协议列表;

客户端建联单元,用于根据所述接收单元接收到的所述加密协议列表,以预定的规则选择加密协议与所述业务服务端进行加密握手建联;

客户端交互单元,用于基于所述建联单元建立的加密握手建联,与所述业务服务端进行数据交互;

布置于加密协议探测服务端的加密协议控制装置,包括:

加密协议探测服务端接收单元,用于接收客户端发送的协议协商请求;

加密协议探测服务端协商单元,用于根据预先获知的探测数据,进行协议协商并确定业务服务端支持的加密协议列表;

加密协议探测服务端发送单元,用于发送所述协商单元确定的所述业务服务端支持的加密协议列表给客户端;

布置于业务服务端的加密协议被探测装置,包括:

业务服务端接收单元,用于接收加密协议探测服务端发送的加密协议探测请求;

业务服务端发送单元,用于发送支持的加密协议列表给加密协议探测服务端;

业务服务端建联单元,用于与客户端进行加密握手建联;

业务服务端交互单元,用于基于所述建联单元建立的加密握手建联,与所述客户端进行数据交互。

与现有技术相比,本发明具有以下优点:

现有技术提供的移动端加密传输的方法存在影响用户体验、业务服务端缺少控制能力的问题。

本申请提供一种加密传输数据的方法,包括:发送协议协商请求给加密协议探测服务端;接收所述加密协议探测服务端返回的业务服务端支持的加密协议列表;根据接收到的所述加密协议列表,以预定的规则选择加密协议与所述业务服务端进行加密握手建联;基于所述加密握手建联,与所述业务服务端进行数据交互。

本申请提供的加密传输数据的方法,通过加密协议探测服务端定期探测获得业务服务端的加密协议列表,客户端需要加密建联时客户端不直接与所要访问的业务服务端进行联系,而是通过间接访问加密协议探测服务端获得业务服务端支持的加密协议列表,由于业务服务端支持的加密协议列表是事先探测并存储在加密协议探测服务端的,因此客户端能够快速的用最优的加密协议与业务服务端进行握手建联,提高了用户的体验;另外加密协议探测服务端向客户端返回的加密协议列表是通过协议协商后下发给客户端的,在协商中考虑了业务服务端自身的调度控制需求,因此提高了业务服务端对加密协议的控制能力。

附图说明

图1是本申请第一实施例提供的一种加密传输数据的方法的流程图。

图2是本申请第二实施例提供的一种加密协议控制的方法的流程图。

图3是本申请第三实施例提供的一种加密协议被探测的方法的流程图。

图4是本申请第四实施例提供的一种加密传输数据装置的示意图。

图5是本申请第五实施例提供的一种加密协议控制装置的示意图。

图6是本申请第六实施例提供的一种加密协议被探测装置的示意图。

图7是本申请第七实施例提供的一种加密传输数据的系统的交互图。

具体实施方式

在下面的描述中阐述了很多具体细节以便于充分理解本发明。但是本发明能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本发明内涵的情况下做类似推广,因此本发明不受下面公开的具体实施的限制。

本申请第一实施例提供了加密传输数据的方法。请参考图1,其示出了根据本申请的实施例提供的加密传输数据的方法的流程图。以下结合图1进行详细说明。该实施例是从客户端的视角提供的加密传输数据的方法;即执行该实施例提供的方法的是客户端。

步骤S101,发送协议协商请求给加密协议探测服务端。

本步骤是客户端获取加密协议列表的基础。

所述加密协议探测服务端,指负责业务服务端支持加密协议的探测,与客户端协商业务服务端采用的加密协议,以及动态控制加密协议的服务端。所述加密协议探测服务端,可以是阿里的AMDC(alibaba mobile dispatch center),也可以是其他具有类似功能的产品。

所述客户端,指可以在本地运行的应用程序。例如手机移动端安装的淘宝网手机版、天猫客户端、聚划算Android版等应用程序。

所述协议协商请求,指用于向加密协议探测服务端协商所述客户端在与所述业务服务端进行数据传输时应当使用的加密协议的请求;该协议协商请求中包括反应客户端自身情况的客户端信息以及所使用的业务信息。其中,所述客户端信息包括客户端版本、客户端类型、以及当前版本客户端所支持的加密协议列表等相关信息;所述业务信息指客户端要进行数据交换的业务,例如:交易业务、访问图片CDN资源等。

所述加密协议列表中的加密协议,可以是标准的tls加密协议,也可以是移动端定制的加密协议,例如,http2-0rtt,spdy-0rtt,spdy-1rtt,还可以是https(保证传输安全的http协议),也可以是其他用于数据传输的加密协议。

例如,用户手机上的客户端为手淘(淘宝android客户端)6.0.0官方最新版,要访问云端的交易业务,即交易业务服务端,则客户端需要将含有客户端版本、客户端类型的“手淘(淘宝android客户端)6.0.0官方最新版”作为参数发送给加密协议探测服务端,如果客户端支持的加密协议有http2-0rtt,spdy-0rtt,spdy-1rtt,则请求参数中还需要携带客户端支持“http2-0rtt,spdy-0rtt,spdy-1rtt”的信息,另外还需要说明其请求的业务为“交易业务”的信息。

在发送协议协商请求给加密协议探测服务端的步骤之前,还可以在客户端内置基本业务服务端所支持的加密协议列表;这些信息可以在客户端先前与基本业务服务端建联过程中获取的,也可以是来自预先的设置。

步骤S102,接收所述加密协议探测服务端返回的业务服务端支持的加密协议列表。

本步骤中客户端获得了需要访问的业务服务端支持的加密协议列表,为客户端与业务服务端进行快速握手建联做好了准备。

所述加密协议探测服务端返回的业务服务端支持的加密协议列表,是加密协议探测服务端在收到客户端的协议协商请求后,根据从业务服务端获得的协议探测数据,以及业务服务端自身的调度控制需求,以及客户端所支持的加密协议列表,进行协议协商,然后确定告诉客户端与业务服务端建联所采用的加密协议列表,客户端按列表顺序与业务服务端建立加密数据传输通道。

所述协议探测数据,是所述加密协议探测服务端定期对业务服务端进行协议探测过程中获得业务服务端所支持的加密协议列表数据。不同的业务端所支持的加密协议列表不同,例如,“宝贝详情”业务服务端,支持http2-0rtt,spdy-0rtt、https协议;“我的淘宝”的业务服务端,只支持spdy-0rtt,https协议。在接收所述加密协议探测服务端返回的业务服务端支持的加密协议列表时,客户端需要对该加密协议列表进行校验,具体而言,就是客户端对返回的数据内容进行签名sign的摘要验证,防止数据被中间人篡改,即使使用了低安全等级的加密协议。

所述加密协议列表,是按照加密协议的优先级顺序设置的。例如,如果业务服务端支持的加密协议有http2-0rtt,spdy-0rtt,spdy-1rtt和https,优先级由高到低的顺序依次为:spdy-0rtt、spdy-1rtt、http2-0rtt和https,则客户端接收到的所述加密协议探测服务端返回的加密协议列表的顺序为spdy-0rtt、spdy-1rtt、http2-0rtt和https。

例如,步骤S101中的实施例中,客户端支持的加密协议有http2-0rtt,spdy-0rtt,spdy-1rtt,则协商后的加密协议列表中协议的顺序为spdy-0rtt、spdy-1rtt、http2-0rtt。

客户端在接收到所述加密协议探测服务端返回的支持加密协议列表之后,可以将接收到的所述加密协议列表对应所述业务服务端缓存在客户端本地。在一定的有效期内,客户端访问该业务服务端时,可以直接使用所述缓存在本地的对应该业务服务端的加密协议列表,而无需再次访问加密协议探测服务端获取加密协议列表,从而提高访问效率。

步骤S103,根据接收到的所述加密协议列表,以预定的规则选择加密协议与所述业务服务端进行加密握手建联。

本步骤保证了客户端与业务服务端进行数据传输时双方可以根据支持的加密协议识别对方发送的数据。

所述预定的规则可以包含多种可能的规则,最主要的规则是按照加密协议的优先级进行选择;并且在使用高优先级的加密协议失败后按照优先级从高到低的顺序依次选择加密协议。

客户端与所述业务服务端进行加密握手建联的过程如下:客户端首先将加密协议列表中优先级最高的加密协议发送给业务服务端,如果业务服务端同意使用优先级最高的加密协议,则使用优先级最高的加密协议进行加密协议握手,并发送确认消息给客户端;如果业务服务端不同意使用优先级最高的加密协议,则发送失败消息给客户端,客户端再按照优先级顺序依次发送对应的加密协议给业务服务端,直到握手成功为止。因为优先级是根据加密协议探测服务端根据事先监测到的业务服务端的加密协议并与业务服务端协商确定的,所以通过优先级最高的加密协议进行握手建联的概率很大,增强了用户的体验。

例如,步骤S102的例子中,协商后的加密协议列表中协议的顺序为spdy-0rtt、spdy-1rtt、http2-0rtt,则在握手建联时客户端首先将优先级最高的加密协议spdy-0rtt发送给业务服务端,如果业务服务端同意使用加密协议spdy-0rtt则使用优先级最高的加密协议进行加密协议握手,并发送确认消息给客户端,则使用spdy-0rtt加密协议进行数据传输。

步骤S104,基于所述加密握手建联,与所述业务服务端进行数据交互。

在完成了客户端与业务服务端的握手建联后,客户端就可以通过加密握手建联时确定的加密协议进行数据传输。

例如,如果加密握手建联过程中确定的加密协议为spdy-0rtt,则客户端在向与之建立加密握手建联的业务服务端传输数据时使用加密协议spdy-0rtt,通过加密传输保证了数据的安全性。

在各种协议升级和下线以及特殊控制需求下,业务服务端会根据自己的需要进行加密协议的流量控制,比如按地区、用户版本、客户端版本、客户端平台等复杂条件进行组合控制。例如,“我的淘宝”业务新支持了http2-0rtt协议,但需要逐步灰度放开支持,可通过AMDC告诉某个版本、在浙江地区、ios的客户端,用http2-0rtt协议来建立安全通道,待这些灰度验证正常后,可逐步的全部采用新协议;或者某个协议加密安全性很高,但在非洲地区网络穿透性不好,加密连接建联成功率很低,就可以控制这个地区的客户端优先用穿透性更好的加密协议。

本申请第二实施例提供了加密协议控制的方法。请参考图2,其示出了根据本申请的实施例提供的加密协议控制的方法的流程图。以下结合图2进行详细说明。该实施例是从加密协议探测服务端的视角提供的加密协议控制的方法;即执行该实施例提供的方法的是加密协议探测服务端。

步骤S201,接收客户端发送的协议协商请求。

本步骤是进行加密协议协商的基础,是与步骤S101相对应的步骤。

所述协议协商请求中含有客户端信息以及所使用的业务信息。其中,所述客户端信息包括客户端版本、客户端类型、以及当前版本客户端所支持的加密协议列表等相关信息;所述业务信息指客户端要进行数据交换的业务,例如:交易业务、访问图片CDN资源等。

所述接收客户端发送的协议协商请求,指加密协议探测服务端通过网络接收客户端发送的协议协商请求。

在加密协议探测服务端接收客户端发送的协议协商请求之前,加密协议探测服务端对业务服务端进行周期性(周期可依据具体情况进行配置,例如将探测周期设为5分钟一次)的加密协议探测,识别业务服务端所支持的加密协议。通过提前对业务服务端进行加密协议的探测,加密协议探测服务端获得了业务服务端支持的加密协议列表,在客户端与加密协议探测服务端进行协议协商时,加密协议探测服务端可以直接将已经探测到的业务服务器所支持的加密协议列表下发给客户端。

例如,以步骤S101中的例子为例,客户端将含有客户端版本、客户端类型的“手淘(淘宝android客户端)6.0.0官方最新版”“http2-0rtt,spdy-0rtt,spdy-1rtt”交易业务”等参数的协议协商请求发送给加密协议探测服务端,加密协议探测服务端通过网络接收含有上述参数的协议协商请求。

步骤S202,根据预先获知的探测数据,进行协议协商并确定业务服务端支持的加密协议列表。

通过本步骤加密协议探测服务端完成对客户端协议协商请求的响应。

所述预先获知的探测数据,指业务服务端通过定期的加密协议探测所获得的所述业务服务端所支持的加密协议列表。所述加密协议探测,是指加密协议探测服务端对定期与各个业务服务端通讯,发出获取业务服务器的加密协议情况以及其它和加密有关的情况的查询请求,并获得所述各个业务服务器反馈的情况。所获得的情况,所述加密协议探测服务端将其对应所述业务服务器存储,以便接收到客户端的协议协商请求时可以查询使用。

例如,加密协议探测服务端已经定期探测检查出某个业务服务端所支持的加密协议列表,比如http2-0rtt,spdy-0rtt,spdy-1rtt,https四种加密协议,则预先获知的探测数据,就是上述四种协议组成的列表。

所述业务服务端支持的加密协议列表,是加密协议探测服务端在进行协议协商后确定的加密协议列表,此加密协议列表是向客户端返回的加密协议列表。

加密协议探测服务端在进行协议协商时大部分情况可以依据预先获知的探测数据以及客户端所支持的加密协议列表进行协议协商;优选的,还可以将业务服务端自身的调度控制需求作为另一个协议协商的依据。

所述客户端所支持的加密协议列表,是在步骤S201中客户端向加密协议探测服务端发送的协议协商请求信息中携带的当前版本客户端所支持的加密协议列表。

所述业务服务端自身的调度控制需求,指按照业务服务端的具体需求进行灵活地调度客户端的流量。调度控制主要包括以下几方面:

地域调度,例如淘宝业务是异地多活,在上海、深圳、张北都有服务器,可以通过业务服务端选择合适的的服务器的ip地址给客户端,实现流量调度;或者当某个服务器所在机房断网,则可以及时的告诉客户端可以代替的服务器的ip地址,实现流量的调度;

还可以实现用户就近接入调度,如上海附近的用户就下发上海机房的ip地址,降低距离带来的网络时延;

单个设备调度,排查问题分析的时候,把单个设备的所有请求单独调度到特定集群;

用户批量灰度,业务新上的业务功能,可以指定一批用户导流的灰度集群。

步骤S203,发送所述业务服务端支持的加密协议列表给客户端。

本步骤中所述加密协议探测服务端作为中间桥梁将所述业务服务端支持的加密协议列表发送给了客户端,使客户端获得了所要访问的业务服务端支持的最新的加密协议列表。

所述加密协议列表,可以包括自定义的加密协议,也可以是标准的加密协议,例如http2-0rtt,spdy-0rtt,spdy-1rtt,https。

在加密协议探测服务端发送所述业务服务端支持的加密协议列表给客户端时,可以采用加密传输或非加密传输方式。例如采用自定义的http2-0rtt进行加密传输、采用标准tls协议加密方式传输或采用明文进行数据传输。无论采用哪种方式传输,都可以通过设置校验对返回的数据内容进行签名sign的摘要验证,防止数据被中间人篡改,即使使用了低安全等级的加密协议,以保证传输的安全。

加密协议探测服务端在发送所述业务服务端支持的加密协议列表给客户端时,依据优先级进行发送。依据优先级进行发送保证了客户端与业务服务端建立快速地加密协议建联。

例如,如果协商后的加密协议列表中协议优先级由高到低的顺序为spdy-0rtt、spdy-1rtt、http2-0rtt,则发送加密协议列表给客户端时,依据优先级由高到低的顺序spdy-0rtt、spdy-1rtt、http2-0rtt发送。

本申请第三实施例提供了加密协议被探测的方法。请参考图3,其示出了根据本申请的实施例提供的加密协议被探测的方法的流程图。以下结合图3进行详细说明。该实施例是从业务服务端的视角提供的加密协议被探测的方法;即执行该实施例提供的方法的是业务服务端。

步骤S301,接收加密协议探测服务端发送的加密协议探测请求。

本步骤是加密协议探测服务端对业务服务端进行加密协议探测的前提条件。业务服务端只有在接收到加密协议探测服务端发送的加密协议探测请求,才能对请求作出响应。

所述加密协议探测,指加密协议探测服务端对业务服务端所支持的各种加密协议进行探测。其具体探测过程为:加密协议探测服务端(如AMDC)本身配置了完整的所有的加密协议,定期去与业务服务端进行各种加密协议的建连,如果成功则表示这个业务服务端支持了此加密协议,否则即不支持。通过探测就可以实时、准确、完整获取大量业务端所支持加密协议列表的情况。所述加密协议可以是标准的tls协议,也可以是自定义的各种版本加密协议。

所述加密协议探测服务端,指负责业务服务端支持加密协议的探测,与客户端协商业务服务端采用的加密协议,以及动态控制加密协议的服务端。所述加密协议探测服务端,可以是阿里的AMDC(alibaba mobile dispatch center),也可以是其他具有类似功能的产品。

步骤S302,发送支持的加密协议列表给加密协议探测服务端。

本步骤业务服务端将支持的加密协议列表发送给加密协议探测服务端,以供加密协议探测服务端在收到客户端协议协商请求时使用。

业务服务端在发送支持的加密协议列表给加密协议探测服务端时,会确定所述加密协议的优先级,并根据优先级的高低顺序将支持的加密协议列表发送给加密协议探测服务端。

与上述加密传输数据的方法相对应的,本申请还提供了一种加密传输数据装置。由于所述装置的实施例基本相似于方法的实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。下述描述的装置实施例仅仅是示意性的。所述加密传输数据的装置实施例如下:

请参考图4,其示出了根据本申请的第四实施例提供的一种加密传输数据装置的示意图。

所述加密传输数据装置,包括:发送单元401、接收单元402、建联单元403、交互单元404。

发送单元401,用于发送协议协商请求给加密协议探测服务端;

接收单元402,用于接收所述加密协议探测服务端返回的业务服务端支持的加密协议列表;

建联单元403,用于根据所述接收单元接收到的所述加密协议列表,以预定的规则选择加密协议与所述业务服务端进行加密握手建联;

交互单元404,用于基于所述建联单元建立的加密握手建联,与所述业务服务端进行数据交互。

可选的,所述发送单元,具体为:

发送子单元,用于发送含有客户端信息以及所使用的业务信息的协议协商请求。

可选的,所述发送单元中的客户端信息,包括:

客户端版本、客户端类型、以及当前版本客户端所支持的加密协议列表。

可选的,在接收单元工作之后,包括:

缓存单元,用于缓存接收到的所述加密协议列表。

可选的,所述接收单元中的加密协议列表中包含加密协议的优先级;所述以预定的规则选择加密协议,是按照优先级从高到低的顺序选择加密协议。

可选的,所述接收单元中的加密协议列表,包括以下加密协议的一种或多种:

http2-0rtt,spdy-0rtt,spdy-1rtt,https。

可选的,所述接收单元,包括:

校验子单元,用于对返回的支持加密协议列表进行校验。

可选的,在发送单元工作之前,包括:

内置单元,用于内置基本业务服务端所支持的加密协议列表。

与上述加密协议控制的方法相对应的,本申请还提供了一种加密协议控制装置。由于所述装置的实施例基本相似于方法的实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。下述描述的装置实施例仅仅是示意性的。所述加密协议控制的装置实施例如下:

请参考图5,其示出了根据本申请的第五实施例提供的一种加密协议控制装置的示意图。

所述加密协议控制装置,包括:接收单元501、协商单元502、发送单元503。

接收单元501,用于接收客户端发送的协议协商请求;

协商单元502,用于根据预先获知的探测数据,进行协议协商并确定业务服务端支持的加密协议列表;

发送单元503,用于发送所述协商单元确定的所述业务服务端支持的加密协议列表给客户端。

可选的,在接收单元工作之前,包括:

探测单元,用于对所述业务服务端进行定期的加密协议探测,识别所述业务服务端所支持的加密协议列表。

可选的,所述发送单元,包括:

发送子单元,用于依据优先级发送所述业务服务端支持的加密协议列表。

可选的,所述协商单元中的协议协商依据定期的加密协议探测获得的协议探测数据,以及业务服务端自身的调度控制需求,以及客户端所支持的加密协议列表。

可选的,所述协商单元的加密协议列表,包括以下加密协议的一种或多种:

http2-0rtt,spdy-0rtt,spdy-1rtt,https。

可选的,所述发送单元,包括:

http2-0rtt发送子单元,用于采用自定义的http2-0rtt进行加密传输;

tls发送子单元,用于采用标准tls协议加密方式传输;

明文发送子单元,用于采用明文进行数据传输。

与上述加密协议被探测的方法相对应的,本申请还提供了一种加密协议被探测装置。由于所述装置的实施例基本相似于方法的实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。下述描述的装置实施例仅仅是示意性的。所述加密协议被探测的装置实施例如下:

请参考图6,其示出了根据本申请的第六实施例提供的一种加密协议被探测装置的示意图。

所述加密协议被探测装置,包括:接收单元601、发送单元602。

接收单元601,用于接收加密协议探测服务端发送的加密协议探测请求;

发送单元602,用于发送支持的加密协议列表给加密协议探测服务端。

可选的,所述发送单元的加密协议列表,包括如下加密协议的至少一种:

http2-0rtt,spdy-0rtt,spdy-1rtt,https。

此外,本申请还提供了一种加密传输数据的系统,图7示出了本申请第七实施例提供的一种加密传输数据的系统的交互图,该系统包括:

布置于客户端的加密传输数据装置A,包括:

客户端发送单元,用于发送协议协商请求给加密协议探测服务端;

客户端接收单元,用于接收所述加密协议探测服务端返回的业务服务端支持的加密协议列表;如图中的步骤

客户端建联单元,用于根据所述接收单元接收到的所述加密协议列表,以预定的规则选择加密协议与所述业务服务端进行加密握手建联;如图中的步骤

客户端交互单元,用于基于所述建联单元建立的加密握手建联,与所述业务服务端进行数据交互;

布置于加密协议探测服务端的加密协议控制装置B,包括:

加密协议探测服务端接收单元,用于接收客户端发送的协议协商请求;

加密协议探测服务端协商单元,用于根据预先获知的探测数据,进行协议协商并确定业务服务端支持的加密协议列表;

加密协议探测服务端发送单元,用于发送所述协商单元确定的所述业务服务端支持的加密协议列表给客户端;

布置于业务服务端的加密协议被探测装置C,包括:

业务服务端接收单元,用于接收加密协议探测服务端发送的加密协议探测请求;

业务服务端发送单元,用于发送支持的加密协议列表给加密协议探测服务端;

业务服务端建联单元,用于与客户端进行加密握手建联;

业务服务端交互单元,用于基于所述建联单元建立的加密握手建联,与所述客户端进行数据交互。

所述加密传输数据装置A可以部署于个人电脑、或移动终端设备(例如:智能手机)等多种客户端设备;所述加密协议控制装置B部署于阿里的AMDC;所述加密协议被探测装置C部署于业务服务器(一个或多个)。

例如,所述加密传输数据装置A部署于手机;所述加密协议控制装置B部署于阿里的AMDC;所述加密协议被探测装置C部署于业务服务器。则加密传输数据的系统的处理流程为:首先,AMDC对业务服务器进行定期的加密协议探测,业务服务器发送其支持的加密协议列表给AMDC,AMDC将接收到的业务服务器支持的加密协议列表进行存储。当手机要对业务服务器进行数据交互时,首先发送协议协商请求给AMDC,AMDC进行协议协商后将业务服务器支持的加密协议列表下发给手机,然后手机根据获得的加密协议列表与业务服务器进行加密建联,加密建联后手机与业务服务器之间根据加密建联确定的加密协议进行加密数据交互。

本发明虽然以较佳实施例公开如上,但其并不是用来限定本发明,任何本领域技术人员在不脱离本发明的精神和范围内,都可以做出可能的变动和修改,因此本发明的保护范围应当以本发明权利要求所界定的范围为准。

在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。

内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。

1、计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括非暂存电脑可读媒体(transitory media),如调制的数据信号和载波。

2、本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1