会话数据的传输方法及装置与流程

文档序号:24886950发布日期:2021-04-30 13:10阅读:135来源:国知局
会话数据的传输方法及装置与流程

本发明涉及数据加密技术领域,特别涉及一种会话数据的传输方法及装置。



背景技术:

随着软件技术的快速发展,应用软件的开发技术越发的成熟,各种各样的应用软件投入市场被用户使用。在日常生活中,人们使用应用软件的频率在不断的升高,应用软件与交互中心服务端进行数据交互的频率以及交互的数据量在不断的增加。

目前,应用软件与交互中心服务端进行会话通信时,通常以明文的形式传输会话的数据,或者是以固定的密钥对数据进行加密后传输;以明文的形式传输会话的数据极易被不法分子盗取,而使用固定的密钥也极易被不法分子破解。目前,应用软件和交互中心服务端之间进行会话通信时传输数据的方式极易被不法分子盗取会话的数据,造成用户信息和会话数据的泄漏。



技术实现要素:

有鉴于此,本发明提供一种会话数据的传输方法及装置,应用于应用软件,应用该方法,可实现应用软件与交互中心服务端之间会话的加密,使得应用软件与交互中心服务端的会话的安全性更高,防止不法分子窃取会话数据。

为实现上述目的,本发明实施例提供如下技术方案:

一种会话数据的传输方法,应用于应用软件,包括:

响应于用户发送的会话信号,与所述应用软件对应的软件服务端建立安全信道,并生成与所述会话信号对应的会话密钥;

通过所述安全信道将所述会话密钥发送至所述软件服务端,触发所述软件服务端将所述应用软件的身份信息与所述会话密钥发送至预设的交互中心服务端,使得所述交互中心服务端将所述身份信息与所述会话密钥进行绑定并保存至预设的校验数据库中;

将所述会话密钥发送至所述应用软件的sdk模块,触发所述sdk模块与所述交互中心服务端建立tcp链路;

获取所述会话信号中的会话数据,并将所述会话数据发送至所述sdk模块,使得sdk模块基于预设的第一对称加密算法和所述会话密钥对所述会话数据进行加密,得到会话加密数据,并通过所述tcp链路将所述加密数据发送至所述交互中心服务端,使得所述交互中心服务端校验所述应用软件的身份,并在所述应用软件的身份校验通过后对所述会话加密数据进行解密,得到所述会话数据。

上述的方法,可选的,所述生成与所述会话信号对应的会话密钥,包括:

调用预设的伪随机数生成器生成第一随机数;

将所述第一随机数确定为与所述会话信号对应的会话密钥。

上述的方法,可选的,所述与所述应用软件对应的软件服务端建立安全信道,包括:

所述应用软件向与其对应的软件服务端发送信道建立请求;

获取所述软件服务端响应于所述信道建立请求发送的数字证书和第二对称加密算法;

判断所述数字证书是否有效,若所述数字证书有效,则生成第二随机数,并将所述第二随机数作为信道密钥,基于所述数字证书中的公钥和所述第二对称加密算法对所述信道密钥进行加密,得到密钥加密数据;

将所述密钥加密数据发送至所述软件服务端,触发所述软件服务端使用所述数字证书的私钥对所述密钥加密数据进行解密,得到所述信道密钥,并使用所述信道密钥和所述第二对称加密算法对预先生成的握手信息进行加密,得到握手加密数据,并将所述握手加密数据发送至所述应用软件;

获取所述软件服务端发送的握手加密数据,并使用所述信道密钥对所述握手加密数据进行解密,得到所述握手信息,完成与所述软件服务端的安全信道的建立。

上述的方法,可选的,所述使得所述交互中心服务端校验所述应用软件的身份,并在所述应用软件的身份校验通过后对所述会话加密数据进行解密,得到所述会话数据,包括:

获取所述sdk模块发送的身份验证信息;

判断所述校验数据库中是否存在与所述身份验证信息对应的身份信息;

若所述校验数据库中存在与所述身份验证信息对应的身份信息,则所述应用软件的身份校验通过,并将与所述身份验证信息对应的身份信息确定为目标身份信息,确定与所述目标身份信息绑定的会话密钥,并使用该会话密钥对所述会话加密数据进行解密,得到所述会话数据。

上述的方法,可选的,还包括:

若所述校验数据库中不存在与所述身份验证信息对应的身份信息,则生成校验失败信息以及预警信息,将所述校验失败信息发送至所述应用软件,并向预设的报警系统发送所述预警信息。

一种会话数据的传输装置,应用于应用软件,包括:

响应单元,用于响应于用户发送的会话信号,与所述应用软件对应的软件服务端建立安全信道,并生成与所述会话信号对应的会话密钥;

绑定单元,用于通过所述安全信道将所述会话密钥发送至所述软件服务端,触发所述软件服务端将所述应用软件的身份信息与所述会话密钥发送至预设的交互中心服务端,使得所述交互中心服务端将所述身份信息与所述会话密钥进行绑定并保存至预设的校验数据库中;

触发单元,用于将所述会话密钥发送至所述应用软件的sdk模块,触发所述sdk模块与所述交互中心服务端建立tcp链路;

获取单元,用于获取所述会话信号中的会话数据,并将所述会话数据发送至所述sdk模块,使得sdk模块基于预设的第一对称加密算法和所述会话密钥对所述会话数据进行加密,得到会话加密数据,并通过所述tcp链路将所述加密数据发送至所述交互中心服务端,使得所述交互中心服务端校验所述应用软件的身份,并在所述应用软件的身份校验通过后对所述会话加密数据进行解密,得到所述会话数据。

上述的装置,可选的,所述响应单元,包括:

调用子单元,用于调用预设的伪随机数生成器生成第一随机数;

第一确定子单元,用于将所述第一随机数确定为与所述会话信号对应的会话密钥。

上述的装置,可选的,所述响应单元,包括:

发送子单元,用于所述应用软件向与其对应的软件服务端发送信道建立请求;

第一获取子单元,用于获取所述软件服务端响应于所述信道建立请求发送的数字证书和第二对称加密算法;

第一判断子单元,用于判断所述数字证书是否有效,若所述数字证书有效,则生成第二随机数,并将所述第二随机数作为信道密钥,基于所述数字证书中的公钥和所述第二对称加密算法对所述信道密钥进行加密,得到密钥加密数据;

触发子单元,用于将所述密钥加密数据发送至所述软件服务端,触发所述软件服务端使用所述数字证书的私钥对所述密钥加密数据进行解密,得到所述信道密钥,并使用所述信道密钥和所述第二对称加密算法对预先生成的握手信息进行加密,得到握手加密数据,并将所述握手加密数据发送至所述应用软件;

解密子单元,用于获取所述软件服务端发送的握手加密数据,并使用所述信道密钥对所述握手加密数据进行解密,得到所述握手信息,完成与所述软件服务端的安全信道的建立。

上述的装置,可选的,所述获取单元,包括:

第二获取子单元,用于获取所述sdk模块发送的身份验证信息;

第二判断子单元,用于判断所述校验数据库中是否存在与所述身份验证信息对应的身份信息;

第二确定子单元,用于若所述校验数据库中存在与所述身份验证信息对应的身份信息,则所述应用软件的身份校验通过,并将与所述身份验证信息对应的身份信息确定为目标身份信息,确定与所述目标身份信息绑定的会话密钥,并使用该会话密钥对所述会话加密数据进行解密,得到所述会话数据。

上述的装置,可选的,还包括:

发送单元,用于若所述校验数据库中不存在与所述身份验证信息对应的身份信息,则生成校验失败信息以及预警信息,将所述校验失败信息发送至所述应用软件,并向预设的报警系统发送所述预警信息。

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

本发明提供一种会话数据的传输方法及装置,该方法包括:应用软件响应于用户发送的会话信号,生成会话密钥和与软件服务端建立安全信道,并通过安全信道将会话密钥发送至软件服务端,使得软件服务端将会话密钥和应用软件的身份信息发送至交互中心服务端,至此,应用软件与交互中心服务端完成会话密钥的协商;应用软件的sdk模块基于会话密钥和第一对称加密算法对会话数据进行加密,得到会话加密数据,并通过tcp链路将会话加密数据发送至交互中心服务端,交互中心服务端在对应用软件的身份校验通过后,使用会话密钥对会话加密数据进行解密,得到会话密钥。由此,实现了应用软件和交互中心服务端间会话时的会话数据加密传输,并且每次进行会话时的会话密钥均不相同,由此可以提高应用软件和交互中心服务端的会话安全性,降低会话数据被不法分子盗取的风险。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。

图1为本发明实施例提供的一种会话数据的传输方法的方法流程图;

图2为本发明实施例提供的一种会话数据的传输方法的又一方法流程图;

图3为本发明实施例提供的一种会话数据的传输方法的另一方法流程图;

图4为本发明实施例提供的一种会话数据的传输装置的结构示意图;

图5为本发明实施例提供的一种电子设备的结构示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

在本申请中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

本发明可用于众多通用或专用的计算装置环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器装置、包括以上任何装置或设备的分布式计算环境等等。

本发明实施例提供一种会话数据的传输方法,该方法可以应用在多种系统平台,其执行主体可以为计算机终端或各种移动设备的处理器,本发明提供的方法应用于应用软件,该应用软件可安装在计算机终端或各种移动设备上,所述方法的方法流程图如图1所示,具体包括:

s101、响应于用户发送的会话信号,与所述应用软件对应的软件服务端建立安全信道,并生成与所述会话信号对应的会话密钥。

本发明实施例提供的方法中,当应用软件接收到用户发送的会话信号时,应用软件响应于所述会话信号,与所述应用软件对应的软件服务端建立安全信道。所述应用软件可为各种app客户端或是历史遗留软件;所述会话信号表示应用软件需要与交互中心服务端进行会话,进一步的,所述会话信号还用于应用软件与软件服务端建立安全信道以及用于生成此次进行会话的会话密钥,会话密钥是一次性的,会话密钥的生命周期贯穿应用软件与交互中心服务端整个会话期间,一旦会话结束,会话密钥就会失效。

安全信道可为https链路,https协议是一种应用层协议,该协议基于tls协议,保证了客户端与服务端之间会话的机密性。

软件服务端用于为应用软件提供服务,其中,不同的应用软件对应不同的软件服务端,但是对于一个企业或是整个系统而言,为了节约成本,软件服务端可以为多种应用软件提供服务。

s102、通过所述安全信道将所述会话密钥发送至所述软件服务端,触发所述软件服务端将所述应用软件的身份信息与所述会话密钥发送至预设的交互中心服务端,使得所述交互中心服务端将所述身份信息与所述会话密钥进行绑定并保存至预设的校验数据库中。

本发明实施例提供的方法中,安全信道为应用软件和软件服务端协商生成的信道,该信道为加密传输信道,即数据在安全信道上传输时都会加密传输,由此可以防止不法分子窃取数据。因此,通过所述安全信道将会话密钥和应用软件的身份信息加密发送至软件服务端,以触发软件服务端将会话密钥和身份信息发送至交互中心服务端,由此,交互中心服务端可得知与其进行会话的应用软件以及此次该应用软件与其进行会话时所使用的会话密钥,至此,应用软件与交互中心服务端完成会话密钥的协商。

进一步的,身份信息中包含应用软件的身份标识。

交互中心服务端在接收到会话密钥和身份信息后,将会话密钥和身份信息进行绑定,并将绑定后的会话密钥和身份信息保存至校验数据库中。

需要说明的是,软件服务端与交互中心服务端均设置在系统的可信区域内,两者进行数据传输所用的信道是安全可信的。

s103、将所述会话密钥发送至所述应用软件的sdk模块,触发所述sdk模块与所述交互中心服务端建立tcp链路。

本发明实施例提供的方法中,sdk(softwaredevelopmentkit,软件开发工具包)模块可以为客户端通讯sdk,sdk模块预先设置在应用软件中。

应用软件将会话密钥发送至sdk模块,使得sdk模块与交互中心服务端建立tcp链路,需要说明的是,tcp链路为应用软件与交互中心服务端进行会话所应用的通信链路。需要说明的是,交互中心服务端还可以是sdk的服务端。

s104、获取所述会话信号中的会话数据,并将所述会话数据发送至所述sdk模块,使得sdk模块基于预设的第一对称加密算法和所述会话密钥对所述会话数据进行加密,得到会话加密数据,并通过所述tcp链路将所述加密数据发送至所述交互中心服务端,使得所述交互中心服务端校验所述应用软件的身份,并在所述应用软件的身份通过校验后对所述会话加密数据进行解密,得到所述会话数据。

本发明实施例提供的方法中,应用软件对会话信号进行解析,得到会话信号中的会话数据,将所述会话数据发送至sdk模块,以便sdk模块使用预设的第一对称加密算法和会话密钥对会话数据进行加密,得到会话加密数据;所和第一对称加密算法具体可为des算法、aes算法以及srm4算法等。

sdk模块通过tcp链路将会话加密数据发送至交互中心服务端,使得所述交互中心服务端校验所述应用软件的身份,并在所述应用软件的身份通过校验后对所述会话加密数据进行解密,得到所述会话数据,并将得到的会话数据进行保存。

本发明实施例提供的方法中,应用软件通过软件服务端与交互中心服务端协商会话所需的会话密钥,在向交互中心服务端发送会话数据时,使用会话密钥对会话数据进行加密,从而可以有效防止不法分子盗取会话数据,并且每次进行会话时的会话密钥是不同的,由此可以有效提高应用软件和交互中心服务端之间通信的安全性,有效防止会话数据和用户信息的泄露。

本发明提供的方法中,应用软件响应于用户发送的会话信号,生成会话密钥和与软件服务端建立安全信道,并通过安全信道将会话密钥发送至软件服务端,使得软件服务端将会话密钥和应用软件的身份信息发送至交互中心服务端,至此,应用软件与交互中心服务端完成会话密钥的协商;应用软件的sdk模块基于会话密钥和第一对称加密算法对会话数据进行加密,得到会话加密数据,并通过tcp链路将会话加密数据发送至交互中心服务端,交互中心服务端在对应用软件的身份校验通过后,使用会话密钥对会话加密数据进行解密,得到会话密钥。由此,实现了应用软件和交互中心服务端进行会话时的会话数据加密传输,并且每次进行会话时的会话密钥均不相同,由此可以提高应用软件和交互中心服务端的会话安全性,降低会话数据被不法分子盗取的风险。

本发明实施例提供的方法中,应用软件在与交互中心服务端协商会话密钥时,首先由应用软件生成会话密钥,应用软件生成与会话信号对应的会话密钥的过程如下所述:

调用预设的伪随机数生成器生成第一随机数;

将所述第一随机数确定为与所述会话信号对应的会话密钥。

需要说明的是,伪随机生成器为生成随机数列的软件,伪随机生成器由种子和内部状态构成,在可应用于生成对称密钥和公私密钥对等方面。应用软件调用伪随机数生成器生成第一随机数,第一随机数的字节数可根据实际需求进行设置,例如16字节、8字节等。

本发明实施例提供的方法中,通过使用伪随机数生成器,可以确保每次生成的随机数都是不重复的,有效防止会话密钥重现,由此降低了不法分子破解会话密钥,窃取会话数据的概率,进一步提高了应用软件和交互中心服务端会话的私密性和安全性。

本发明实施例提供的方法中,应用软件除了生成会话密钥之外,还需要与软件服务端建立安全信道,以便将会话密钥和应用软件的身份信息安全传输至软件服务端。

参照图2,为应用软件与软件服务端建立安全信道的方法流程图,具体说明如下所述:

s201、所述应用软件向与其对应的软件服务端发送信道建立请求。

应用软件向与其对应的软件服务端发送信道建立请求,其中,所述信道建立请求中包含证书获取指令以及算法获取指令。

s202、获取所述软件服务端响应于所述信道建立请求发送的数字证书和第二对称加密算法。

本发明实施例提供的方法中,软件服务端响应于信道建立请求,向应用软件发送数字证书和第二对称加密算法;其中,软件服务端向应用软件提供的数字证书中包含数字证书的公钥,而数字证书的私钥为软件服务端持有;数字证书为认证机构(ca)颁发的,用于证明特定公钥确实属于某个人或组织。

第二对称加密算法具体可为des算法、aes算法或是srm4算法等,第二对称加密算法可以与第一对称加密算法相同,也可以不相同。

可选的,信道建立请求中还可以包含应用软件的身份标识,软件服务端可以通过身份标识确认应用软件的身份后,再向应用软件发送数字证书和第二对称加密算法。

s203、判断所述数字证书是否有效,若所述数字证书有效,则生成第二随机数,并将所述第二随机数作为信道密钥,基于所述数字证书中的公钥和所述第二对称加密算法对所述信道密钥进行加密,得到密钥加密数据。

本发明实施例提供的方法中,应用软件在接收到数字证书后,判断数字证书是否有效,具体的,可解析数字证书,获取所述数字证书的有效期限,并确定当前时间,判断所述当前时间是否位于所述有效期限内,若所述当前时间位于所述有效期限内,则确定所述数字证书有效。

进一步的,当所述数字证书有效时,应用软件可调用预设的随机数生成算法或是伪随机数生成器生成第二随机数,并将第二随机数作为信道密钥,使用数字证书中的公钥和第二对称加密算法对信道密钥进行加密,得到密钥加密数据。

需要说明的是,若当前时间不位于所述有效期限内,则确定数字证书无效,此时应用软件需要向软件服务端发送提示信息,以提示软件服务端所述数字证书为无效的证书,无法建立安全信息。

s204、将所述密钥加密数据发送至所述软件服务端,触发所述软件服务端使用所述数字证书的私钥对所述密钥加密数据进行解密,得到所述信道密钥,并使用所述信道密钥和所述第二对称加密算法对预先生成的握手信息进行加密,得到握手加密数据,并将所述握手加密数据发送至所述应用软件。

本发明实施例提供的方法中,应用软件将密钥加密数据发送至软件服务端,使得软件服务端使用数字证书的私钥和第二对称加密算法对密钥加密数据进行解密,进而得到信道密钥;其中,第二对称加密算法可用于加密,也可用于解密。

软件服务端在获得信道密钥后,使用信道密钥对预先生成的握手信息进行加密,得到握手加密数据,并将握手加密数据发送至应用软件;所述握手信息中包含通信链路的链接信息。

s205、获取所述软件服务端发送的握手加密数据,并使用所述信道密钥对所述握手加密数据进行解密,得到所述握手信息,完成与所述软件服务端的安全信道的建立。

本发明实施例提供的方法中,应用软件获取软件服务端发送的握手加密数据,并使用信道密钥对握手加密数据进行解密,得到握手信息,至此,软件服务端和应用软件完成通信协议的握手,完成安全信道的建立;其中,应用软件和软件服务端的安全信道在建立过程中,通过使用非对称加密技术协商信道密钥,协商得到的信道密钥作为安全信道在传输数据时对数据进行加密的密钥,即,协商得到的信道密钥为对称密钥。

安全信道可为https链路,https链路应用https协议,https协议是一种应用层协议,该协议基于tls协议,可以保证应用软件与软件服务端之间会话的机密性。https链路的建立过程包含tls协议握手过程,并在握手成功后进行应用层消息的交互。https协议实际上就是基于tls或ssl协议的http协议,其本质上仍然是http协议,只不过其消息传输过程都是基于下层tls或ssl安全通道的,这为上层应用消息传递提供了安全保障。

本发明实施例提供的方法中,应用软件与软件服务端建立安全信道,由此,应用软件可基于安全信道向软件服务端安全的传输会话密钥。应用软件和软件服务端建立安全信道时,通过将非对称加密技术和对称加密技术相结合来建立安全信道,由此可以确保安全信道的安全性,使得通过安全信道传输的数据具有机密性,不易被不法分子窃取。

本发明实施例提供的方法中,交互中心服务端在接收到软件服务端发送的应用软件的身份信息和会话密钥后,将会话密钥和应用软件的身份信息进行绑定,并将绑定后的会话密钥和应用软件的身份信息保存至预设的校验数据库中,至此,交互中心服务端和应用软件完成会话密钥的协商。

当交互中心服务端接收到应用软件使用sdk模块发送的会话加密数据时,交互中心服务端需要校验应用软件的身份,并在应用软件的身份通过校验之后对会话加密数据进行解密,其中,交互中心服务端校验应用软件的身份,并在应用软件的身份通过校验之后对会话加密数据进行解密的过程如下所述:

获取所述sdk模块发送身份验证信息;

判断所述校验数据库中是否存在与所述身份验证信息对应的身份信息;

若所述校验数据库中存在与所述身份验证信息对应的身份信息,则所述应用软件的身份校验通过,并将与所述身份验证信息对应的身份信息确定为目标身份信息,确定与所述目标身份信息绑定的会话密钥,并使用该会话密钥对所述会话加密数据进行解密,得到所述会话数据。

本发明实施例提供的方法中,交互中心服务端获取sdk模块发送的身份验证信息,所述身份验证信息中包含应用软件的身份标识;交互中心服务端将所述身份验证信息遍历校验数据库中的各个身份信息,以判断校验数据库中是否存在与身份验证信息对应的身份信息;其中,当校验数据库中存在与身份验证信息中的身份标识号对应的身份信息时,则确定数据库中存在与身份验证信息对应的身份信息。进一步的,将校验数据库中与身份验证信息对应的身份信息确定为目标身份信息,并确定与所述目标身份信息绑定的会话密钥,并使用该会话密钥和第一对称加密算法对所述会话加密数据进行加密,得到会话数据,并将所述会话数据进行保存,至此,应用软件和交互中心服务端的会话结束,则交互中心服务端将所述目标身份信息以及与该目标身份信息绑定的会话密钥丢弃,此时,会话密钥失效。

本发明实施例提供的方法中,当校验数据库中不存在与身份验证信息中的身份标识号对应的身份信息时,确定校验数据库中不存在与所述身份验证信息对应的身份信息,应用软件的身份验证未通过,并生成校验失败信息以及预警信息,将所述校验失败信息发送至应用软件,此次会话失败;将预警信息发送至预设的报警系统,以提示对应的管理人员,有不合法的应用软件请求会话,谨防不法分子使用不合法的应用软件进行会话,从而窃取数据。

本发明实施例提供的方法中,应用软件和交互中心服务端通过软件服务端协商进行会话的会话密钥,应用软件和交互中心服务端使用协商完成的会话密钥对会话的数据进行加密传输从而有效防止不法分子窃取会话密钥,提高了校验数据库和应用软件的会话的私密性和安全性。

参照图3,为本发明实施例提供的一种会话数据的传输方法的方法流程图,具体说明如下所述:

s301、建立https链路。

应用软件响应于用户发送的会话信号,与软件服务端建立https链路,其中,https链路为安全信道。

s302、生成会话密钥。

应用软件调用伪随机数生成器生成第一随机数,并将所述第一随机数作为与所述会话信号对应的会话密钥,其中,该会话密钥为应用软件与交互中心服务端进行此次会话所应用的密钥。

s303、通过https链路传输会话密钥。

应用软件通过https链路将会话密钥发送至软件服务端。

s304、传输会话密钥和应用软件的身份信息。

软件服务端在接收到应用软件传输的会话密钥时,软件服务端将所述会话密钥和所述应用软件的身份信息发送至交互中心服务端;其中,软件服务端和交互中心服务端均设置在安全可信区域,因此,软件服务端与交互中心服务端之间的通信是安全的;至此,交互中心服务端获取应用软件与其进行会话时所应用的会话密钥,应用软件与软件服务端完成会话密钥的协商。

交互中心服务端将接收到的身份信息与会话密钥进行绑定,并将绑定后的身份信息和会话密钥保存在校验数据库中。

s305、传输会话密钥。

本发明实施例提供的方法中,应用软件将会话密钥发送至sdk模块,使得sdk模块获取会话密钥以及应用软件的身份信息。

s306、建立tcp链路。

sdk模块与交互中心服务端建立用于通信的tcp链路,以便应用软件通过sdk模块与tcp链路与交互中心服务端进行会话。

s307、传输会话数据。

应用软件将会话信号进行解析,获得会话数据,并将会话数据发送至sdk模块。

s308、将会话数据加密,得到会话加密数据,通过tcp链路将会话加密数据发送至交互中心服务端。

需要说明的是,sdk模块在接收到应用软件发送的会话数据后,sdk模块使用会话密钥和第一对称加密算法将会话数据进行加密,得到会话加密数据,并通过tpc链路将会话加密数据发送至交互中心服务端。

s309、校验应用软件的身份,并在应用软件的身份通过校验时,使用会话密钥对会话加密数据进行解密,得到会话数据。

交互中心服务端在接收到sdk模块发送的会话加密数据后,获取sdk模块发送的身份验证信息,交互中心服务端确定校验数据库中是否存在与该身份验证信息对应的身份信息,若校验数据库中存在与该身份验证信息对应的身份信息,则应用软件的身份校验通过,将与该身份验证信息对应的身份信息确定为目标身份信息,并确定与目标身份信息绑定的会话密钥;使用该会话密钥和第一对称加密算法对会话加密数据进行解密,得到会话数据,由此,实现了应用软件与交互中心服务端之间的会话的加密。

交互中心服务端应用的第一对称加密算法与所述sdk模块应用的第一对称加密算法是相同的。

本发明实施例提供的方法中,应用软件与交互中心服务端通过软件服务端协商会话时所使用的会话密钥,使得应用软件与交互中心服务端进行会话时使用会话密钥对会话数据进行加密后传输,由此提高了应用软件和交互中心服务端会话的私密性和安全性,有效避免会话数据被不法分子窃取。

与图1所述的方法相对应,本发明实施例还提供了一种会话数据的传输装置,用于对图1中方法的具体实现,本发明实施例提供的会话数据的传输装置可以应用于应用软件,应用软件可安装在计算机终端或各种移动设备中,其结构示意图如图4所示,具体包括:

响应单元401,用于响应于用户发送的会话信号,与所述应用软件对应的软件服务端建立安全信道,并生成与所述会话信号对应的会话密钥;

绑定单元402,用于通过所述安全信道将所述会话密钥发送至所述软件服务端,触发所述软件服务端将所述应用软件的身份信息与所述会话密钥发送至预设的交互中心服务端,使得所述交互中心服务端将所述身份信息与所述会话密钥进行绑定并保存至预设的校验数据库中;

触发单元403,用于将所述会话密钥发送至所述应用软件的sdk模块,触发所述sdk模块与所述交互中心服务端建立tcp链路;

获取单元404,用于获取所述会话信号中的会话数据,并将所述会话数据发送至所述sdk模块,使得sdk模块基于预设的第一对称加密算法和所述会话密钥对所述会话数据进行加密,得到会话加密数据,并通过所述tcp链路将所述加密数据发送至所述交互中心服务端,使得所述交互中心服务端校验所述应用软件的身份,并在所述应用软件的身份校验通过后对所述会话加密数据进行解密,得到所述会话数据。

本发明提供的装置中,应用软件响应于用户发送的会话信号,生成会话密钥和与软件服务端建立安全信道,并通过安全信道将会话密钥发送至软件服务端,使得软件服务端将会话密钥和应用软件的身份信息发送至交互中心服务端,至此,应用软件与交互中心服务端完成会话密钥的协商;应用软件的sdk模块基于会话密钥和第一对称加密算法对会话数据进行加密,得到会话加密数据,并通过tcp链路将会话加密数据发送至交互中心服务端,交互中心服务端在对应用软件的身份校验通过后,使用会话密钥对会话加密数据进行解密,得到会话密钥。由此,实现了应用软件和交互中心服务端间会话时的会话数据加密传输,并且每次进行会话时的会话密钥均不相同,由此可以提高应用软件和交互中心服务端的会话安全性,降低会话数据被不法分子盗取的风险。

基于上述的案例,本发明实施例提供的装置中,所述响应单元401,可配置为:

调用子单元,用于调用预设的伪随机数生成器生成第一随机数;

第一确定子单元,用于将所述第一随机数确定为与所述会话信号对应的会话密钥。

基于上述的案例,本发明实施例提供的装置中,所述响应单元401,可配置为:

发送子单元,用于所述应用软件向与其对应的软件服务端发送信道建立请求;

第一获取子单元,用于获取所述软件服务端响应于所述信道建立请求发送的数字证书和第二对称加密算法;

第一判断子单元,用于判断所述数字证书是否有效,若所述数字证书有效,则生成第二随机数,并将所述第二随机数作为信道密钥,基于所述数字证书中的公钥和所述第二对称加密算法对所述信道密钥进行加密,得到密钥加密数据;

触发子单元,用于将所述密钥加密数据发送至所述软件服务端,触发所述软件服务端使用所述数字证书的私钥对所述密钥加密数据进行解密,得到所述信道密钥,并使用所述信道密钥和所述第二对称加密算法对预先生成的握手信息进行加密,得到握手加密数据,并将所述握手加密数据发送至所述应用软件;

解密子单元,用于获取所述软件服务端发送的握手加密数据,并使用所述信道密钥对所述握手加密数据进行解密,得到所述握手信息,完成与所述软件服务端的安全信道的建立。

基于上述的案例,本发明实施例提供的装置中,所述获取单元404,可配置为:

第二获取子单元,用于获取所述sdk模块发送的身份验证信息;

第二判断子单元,用于判断所述校验数据库中是否存在与所述身份验证信息对应的身份信息;

第二确定子单元,用于若所述校验数据库中存在与所述身份验证信息对应的身份信息,则所述应用软件的身份校验通过,并将与所述身份验证信息对应的身份信息确定为目标身份信息,确定与所述目标身份信息绑定的会话密钥,并使用该会话密钥对所述会话加密数据进行解密,得到所述会话数据。

基于上述的案例,本发明实施例提供的装置中,该装置还可以配置:

发送单元,用于若所述校验数据库中不存在与所述身份验证信息对应的身份信息,则生成校验失败信息以及预警信息,将所述校验失败信息发送至所述应用软件,并向预设的报警系统发送所述预警信息。

本发明实施例还提供了一种存储介质,所述存储介质包括存储的指令,其中,在所述指令运行时控制所述存储介质所在的设备执行上述会话数据的传输方法。

本发明实施例还提供了一种电子设备,其结构示意图如图5所示,具体包括存储器601,以及一个或者一个以上的指令602,其中一个或者一个以上指令602存储于存储器601中,且经配置以由一个或者一个以上处理器603执行所述一个或者一个以上指令602进行以下操作:

响应于用户发送的会话信号,与所述应用软件对应的软件服务端建立安全信道,并生成与所述会话信号对应的会话密钥;

通过所述安全信道将所述会话密钥发送至所述软件服务端,触发所述软件服务端将所述应用软件的身份信息与所述会话密钥发送至预设的交互中心服务端,使得所述交互中心服务端将所述身份信息与所述会话密钥进行绑定并保存至预设的校验数据库中;

将所述会话密钥发送至所述应用软件的sdk模块,触发所述sdk模块与所述交互中心服务端建立tcp链路;

获取所述会话信号中的会话数据,并将所述会话数据发送至所述sdk模块,使得sdk模块基于预设的第一对称加密算法和所述会话密钥对所述会话数据进行加密,得到会话加密数据,并通过所述tcp链路将所述加密数据发送至所述交互中心服务端,使得所述交互中心服务端校验所述应用软件的身份,并在所述应用软件的身份校验通过后对所述会话加密数据进行解密,得到所述会话数据。

上述各个实施例的具体实施过程及其衍生方式,均在本发明的保护范围之内。

本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统或系统实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的系统及系统实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。

专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。

对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

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