著录项信息
专利名称 | 一种传输数据的方法、装置和系统 |
申请号 | CN201410808603.4 | 申请日期 | 2014-12-22 |
法律状态 | 暂无 | 申报国家 | 中国 |
公开/公告日 | 2015-04-29 | 公开/公告号 | CN104580167A |
优先权 | 暂无 | 优先权号 | 暂无 |
主分类号 | H04L29/06 | IPC分类号 | H;0;4;L;2;9;/;0;6查看分类表>
|
申请人 | 腾讯科技(深圳)有限公司 | 申请人地址 | 广东省深圳市福田区振兴路赛格科技园2栋东403室
变更
专利地址、主体等相关变化,请及时变更,防止失效 |
权利人 | 腾讯科技(深圳)有限公司,腾讯云计算(北京)有限责任公司 | 当前权利人 | 腾讯科技(深圳)有限公司,腾讯云计算(北京)有限责任公司 |
发明人 | 韦永隆;查文;吴宗倬;张伟藏;王向 |
代理机构 | 北京三高永信知识产权代理有限责任公司 | 代理人 | 滕一斌 |
摘要
本发明公开了一种传输数据的方法、装置和系统,属于计算机技术领域。所述方法包括:接收第一终端发送的数据传输请求,所述数据传输请求中携带有目标传输账户的账户标识;生成传输数据的密钥对,所述密钥对包含第一密钥和第二密钥;向所述第一终端发送所述第一密钥,并向所述目标传输账户所登陆的第二终端发送所述第二密钥,以使所述第一终端使用所述第一密钥对待传输的数据进行加密,通过即时通信应用程序将加密后的数据以终端数据对传的方式传输给所述第二终端,并使所述第二终端使用所述第二密钥对所述加密后的数据进行解密。采用本发明,可以提高传输数据的安全性。
1.一种传输数据的方法,其特征在于,应用于即时通信应用程序的服务器中,所述即时通信应用程序中预先设置了用于验证身份的字符串,所述方法包括:
接收第一终端通过所述即时通信应用程序发送的数据传输请求,所述数据传输请求中携带有目标传输账户的账户标识;
生成传输数据的密钥对,所述密钥对包含第一密钥和第二密钥;
向所述第一终端发送所述第一密钥,并向所述目标传输账户所登陆的第二终端发送所述第二密钥,以使所述第二终端对本地的字符串进行加密,将加密后的字符串发送给第一终端,所述第一终端使用所述第一密钥对所述加密后的字符串进行解密,如果解密得到的字符串与本地的字符串相同,所述第一终端使用所述第一密钥对待传输的数据进行加密,通过所述即时通信应用程序将加密后的数据以终端数据对传的方式传输给所述第二终端,并使所述第二终端使用所述第二密钥对所述加密后的数据进行解密。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
向所述第一终端发送所述第一密钥,并向所述目标传输账户所登陆的第二终端发送所述第二密钥之后,如果在预设时长内未接收到所述第一终端发送的连接成功消息,则更新所述传输数据的密钥对,更新后的密钥对包含更新后的第一密钥和更新后的第二密钥;
向所述第一终端发送所述更新后的第一密钥,并向所述第二终端发送所述更新后的第二密钥。
3.一种传输数据的方法,其特征在于,应用于安装了即时通信应用程序的第一终端中,所述即时通信应用程序中预先设置了用于验证身份的相同的字符串,所述方法包括:
通过所述即时通信应用程序向服务器发送数据传输请求,所述数据传输请求中携带有目标传输账户的账户标识,以使所述服务器生成传输数据的密钥对,所述密钥对包含第一密钥和第二密钥,所述服务器为所述即时通信应用程序的服务器;
接收所述服务器发送的所述第一密钥;
接收第二终端发送的加密后的字符串,所述加密后的字符串由所述第二终端对预先存储的字符串加密得到;
使用所述第一密钥对所述加密后的字符串进行解密,如果解密得到的字符串与所述第一终端预先存储的字符串相同,使用所述第一密钥对待传输的数据进行加密,通过所述即时通信应用程序将加密后的数据以终端数据对传的方式传输给所述第二终端,以使所述第二终端使用接收到的所述服务器发送的所述第二密钥对所述加密后的数据进行解密。
4.根据权利要求3所述的方法,其特征在于,所述使用所述第一密钥对待传输的数据进行加密,通过所述即时通信应用程序将加密后的数据以终端数据对传的方式传输给第二终端,包括:
与第二终端建立数据连接;
接收所述第二终端发送的加密后的字符串,使用所述第一密钥对所述加密后的字符串进行解密,如果解密得到的字符串与本地预先存储的字符串相同,则使用所述第一密钥对待传输的数据进行加密,通过所述即时通信应用程序将加密后的数据以终端数据对传的方式传输给所述第二终端。
5.根据权利要求3所述的方法,其特征在于,如果未接收到所述服务器发送的第一密钥,所述方法还包括:
接收所述服务器发送的更新后的第一密钥;
使用更新后的第一密钥对待传输的数据进行加密,通过所述即时通信应用程序将加密后的数据以终端数据对传的方式传输给所述第二终端。
6.一种即时通信应用程序的服务器,其特征在于,所述即时通信应用程序中预先设置了用于验证身份的字符串,所述服务器包括:
接收模块,用于接收第一终端通过所述即时通信应用程序发送的数据传输请求,所述数据传输请求中携带有目标传输账户的账户标识;
生成模块,用于生成传输数据的密钥对,所述密钥对包含第一密钥和第二密钥;
发送模块,用于向所述第一终端发送所述第一密钥,并向所述目标传输账户所登陆的第二终端发送所述第二密钥,以使所述第二终端对本地的字符串进行加密,将加密后的字符串发送给第一终端,并使所述第一终端使用所述第一密钥对所述加密后的字符串进行解密,如果解密得到的字符串与本地的字符串相同,所述第一终端使用所述第一密钥对待传输的数据进行加密,通过所述即时通信应用程序将加密后的数据以终端数据对传的方式传输给所述第二终端,并使所述第二终端使用所述第二密钥对所述加密后的数据进行解密。
7.根据权利要求6所述的服务器,其特征在于,所述生成模块,还用于向所述第一终端发送所述第一密钥,并向所述目标传输账户所登陆的第二终端发送所述第二密钥之后,如果在预设时长内未接收到所述第一终端发送的连接成功消息,则更新所述传输数据的密钥对,更新后的密钥对包含更新后的第一密钥和更新后的第二密钥;
所述发送模块,还用于向所述第一终端发送所述更新后的第一密钥,并向所述第二终端发送所述更新后的第二密钥。
8.一种安装了即时通信应用程序的第一终端,其特征在于,所述即时通信应用程序中预先设置了用于验证身份的相同的字符串,所述第一终端包括:
发送模块,用于通过所述即时通信应用程序向服务器发送数据传输请求,所述数据传输请求中携带有目标传输账户的账户标识,以使所述服务器生成传输数据的密钥对,所述密钥对包含第一密钥和第二密钥,所述服务器为所述即时通信应用程序的服务器;
接收模块,用于接收所述服务器发送的所述第一密钥;
所述接收模块,还用于接收第二终端发送的加密后的字符串,所述加密后的字符串由所述第二终端对预先存储的字符串加密得到;
传输模块,用于使用所述第一密钥对所述加密后的字符串进行解密,如果解密得到的字符串与所述第一终端预先存储的字符串相同,使用所述第一密钥对待传输的数据进行加密,通过所述即时通信应用程序将加密后的数据以终端数据对传的方式传输给所述第二终端,以使所述第二终端使用接收到的所述服务器发送的所述第二密钥对所述加密后的数据进行解密。
9.根据权利要求8所述的第一终端,其特征在于,所述传输模块,用于:
与第二终端建立数据连接;
接收所述第二终端发送的加密后的字符串,使用所述第一密钥对所述加密后的字符串进行解密,如果解密得到的字符串与本地预先存储的字符串相同,则使用所述第一密钥对待传输的数据进行加密,通过所述即时通信应用程序将加密后的数据以终端数据对传的方式传输给所述第二终端。
10.根据权利要求8所述的终端,其特征在于,所述接收模块,还用于如果未接收到所述服务器发送的第一密钥,则接收所述服务器发送的更新后的第一密钥;
所述传输模块,还用于使用更新后的第一密钥对待传输的数据进行加密,通过所述即时通信应用程序将加密后的数据以终端数据对传的方式传输给所述第二终端。
11.一种传输数据的系统,其特征在于,所述系统包括即时通信应用程序的服务器、安装了所述即时通信应用程序的第一终端和安装了所述即时通信应用程序的第二终端,所述即时通信应用程序中预先设置了用于验证身份的字符串,其中:
所述服务器,用于接收所述第一终端通过所述即时通信应用程序发送的数据传输请求,所述数据传输请求中携带有目标传输账户的账户标识;生成传输数据的密钥对,所述密钥对包含第一密钥和第二密钥;向所述第一终端发送所述第一密钥,并向所述目标传输账户所登陆的所述第二终端发送所述第二密钥,以使所述第二终端对本地的字符串进行加密,将加密后的字符串发送给第一终端,所述第一终端使用所述第一密钥对所述加密后的字符串进行解密,如果解密得到的字符串与本地的字符串相同,所述第一终端使用所述第一密钥对待传输的数据进行加密,通过所述即时通信应用程序将加密后的数据以终端数据对传的方式传输给所述第二终端,并使所述第二终端使用所述第二密钥对所述加密后的数据进行解密;
所述第一终端,用于通过所述即时通信应用程序向所述服务器发送数据传输请求,所述数据传输请求中携带有目标传输账户的账户标识;接收所述服务器发送的所述第一密钥;接收第二终端发送的加密后的字符串,所述加密后的字符串由所述第二终端对预先存储的字符串加密得到;使用所述第一密钥对所述加密后的字符串进行解密,如果解密得到的字符串与所述第一终端预先存储的字符串相同,使用所述第一密钥对待传输的数据进行加密,通过所述即时通信应用程序将加密后的数据以终端数据对传的方式传输给所述第二终端。
一种传输数据的方法、装置和系统\n技术领域\n[0001] 本发明涉及计算机技术领域,特别涉及一种传输数据的方法、装置和系统。\n背景技术\n[0002] 随着移动终端技术的发展,移动终端的应用越来越广泛,功能越来越强大,人们可以通过移动终端来传输文件,如传输图片、文档或音频等。人们可以在移动终端上安装用于传输文件的应用程序,通过应用程序来进行文件传输。\n[0003] 为了保证文件传输的安全性,应用程序会用预设的密钥对待传输的数据进行加密,然后再传输加密后的数据,接收数据的移动终端接收到数据后,移动终端上的应用程序会使用预设的密钥对接收到的数据进行解密,从而可以保证文件在传输过程中的安全性。\n[0004] 在实现本发明的过程中,发明人发现现有技术至少存在以下问题:\n[0005] 应用程序使用统一的密钥对数据进行加密解密,这使得应用程序中的密钥很容易被获取,这样,任何人将传输的数据截获后,都可以使用应用程序中预设的密钥对数据进行解密,从而导致传输数据的安全性较低。\n发明内容\n[0006] 为了解决现有技术的问题,本发明实施例提供了一种传输数据的方法、装置和系统。所述技术方案如下:\n[0007] 第一方面,提供了一种传输数据的方法,所述方法包括:\n[0008] 接收第一终端发送的数据传输请求,所述数据传输请求中携带有目标传输账户的账户标识;\n[0009] 生成传输数据的密钥对,所述密钥对包含第一密钥和第二密钥;\n[0010] 向所述第一终端发送所述第一密钥,并向所述目标传输账户所登陆的第二终端发送所述第二密钥,以使所述第一终端使用所述第一密钥对待传输的数据进行加密,通过即时通信应用程序将加密后的数据以终端数据对传的方式传输给所述第二终端,并使所述第二终端使用所述第二密钥对所述加密后的数据进行解密。\n[0011] 第二方面,提供了一种传输数据的方法,所述方法包括:\n[0012] 通过即时通信应用程序向服务器发送数据传输请求,所述数据传输请求中携带有目标传输账户的账户标识,以使所述服务器生成传输数据的密钥对,所述密钥对包含第一密钥和第二密钥;\n[0013] 接收所述服务器发送的所述第一密钥;\n[0014] 使用所述第一密钥对待传输的数据进行加密,通过所述即时通信应用程序将加密后的数据以终端数据对传的方式传输给第二终端,以使所述第二终端使用接收到的所述服务器发送的所述第二密钥对所述加密后的数据进行解密。\n[0015] 第三方面,提供了一种服务器,所述服务器包括:\n[0016] 接收模块,用于接收第一终端发送的数据传输请求,所述数据传输请求中携带有目标传输账户的账户标识;\n[0017] 生成模块,用于生成传输数据的密钥对,所述密钥对包含第一密钥和第二密钥;\n[0018] 发送模块,用于向所述第一终端发送所述第一密钥,并向所述目标传输账户所登陆的第二终端发送所述第二密钥,以使所述第一终端使用所述第一密钥对待传输的数据进行加密,通过即时通信应用程序将加密后的数据以终端数据对传的方式传输给所述第二终端,并使所述第二终端使用所述第二密钥对所述加密后的数据进行解密。\n[0019] 第四方面,提供了一种第一终端,所述第一终端包括:\n[0020] 发送模块,用于通过即时通信应用程序向服务器发送数据传输请求,所述数据传输请求中携带有目标传输账户的账户标识,以使所述服务器生成传输数据的密钥对,所述密钥对包含第一密钥和第二密钥;\n[0021] 接收模块,用于接收所述服务器发送的所述第一密钥;\n[0022] 传输模块,用于使用所述第一密钥对待传输的数据进行加密,通过所述即时通信应用程序将加密后的数据以终端数据对传的方式传输给第二终端,以使所述第二终端使用接收到的所述服务器发送的所述第二密钥对所述加密后的数据进行解密。\n[0023] 第五方面,提供了一种传输数据的系统,所述系统包括服务器、第一终端和第二终端,其中:\n[0024] 所述服务器,用于接收所述第一终端发送的数据传输请求,所述数据传输请求中携带有目标传输账户的账户标识;生成传输数据的密钥对,所述密钥对包含第一密钥和第二密钥;向所述第一终端发送所述第一密钥,并向所述目标传输账户所登陆的所述第二终端发送所述第二密钥,以使所述第一终端使用所述第一密钥对待传输的数据进行加密,通过即时通信应用程序将加密后的数据以终端数据对传的方式传输给所述第二终端,并使所述第二终端使用所述第二密钥对所述加密后的数据进行解密;\n[0025] 所述第一终端,用于通过即时通信应用程序向所述服务器发送数据传输请求,所述数据传输请求中携带有目标传输账户的账户标识;接收所述服务器发送的所述第一密钥;使用所述第一密钥对待传输的数据进行加密,通过所述即时通信应用程序将加密后的数据以终端数据对传的方式传输给第二终端。\n[0026] 本发明实施例提供的技术方案带来的有益效果是:\n[0027] 本发明实施例中,接收第一终端发送的数据传输请求,该数据传输请求中携带有目标传输账户的账户标识,生成传输数据的密钥对,该密钥对包含第一密钥和第二密钥,向第一终端发送第一密钥,并向目标传输账户所登陆的第二终端发送第二密钥,以使第一终端使用第一密钥对待传输的数据进行加密,通过即时通信应用程序将加密后的数据以终端数据对传的方式传输给第二终端,并使第二终端使用第二密钥对加密后的数据进行解密,这样,当终端需要进行数据传输时,服务器会生成独立的密钥对,将密钥分别发送给需要传输数据的两个终端,其他终端则无法获知密钥,因此,即使传输的数据被其他终端截获,其他终端也无法解密数据的内容,从而可以提高传输数据的安全性。\n附图说明\n[0028] 为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。\n[0029] 图1是本发明实施例提供的一种传输数据的方法流程图;\n[0030] 图2是本发明实施例提供的一种传输数据的方法流程图;\n[0031] 图3是本发明实施例提供的一种传输数据的方法流程图;\n[0032] 图4是本发明实施例提供的一种系统框架图;\n[0033] 图5是本发明实施例提供的一种服务器的结构示意图;\n[0034] 图6是本发明实施例提供的一种终端的结构示意图;\n[0035] 图7是本发明实施例提供的一种服务器的结构示意图;\n[0036] 图8是本发明实施例提供的一种终端的结构示意图。\n具体实施方式\n[0037] 为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。\n[0038] 实施例一\n[0039] 本发明实施例提供了一种传输数据的方法,该方法可以由服务器、第一终端和第二终端共同实现。\n[0040] 如图1所示,该方法中服务器的处理流程可以包括如下的步骤:\n[0041] 步骤101,接收第一终端发送的数据传输请求,该数据传输请求中携带有目标传输账户的账户标识。\n[0042] 步骤102,生成传输数据的密钥对,该密钥对包含第一密钥和第二密钥。\n[0043] 步骤103,向第一终端发送第一密钥,并向目标传输账户所登陆的第二终端发送第二密钥。\n[0044] 如图2所示,该方法中第一终端的处理流程可以包括如下的步骤:\n[0045] 步骤201,通过即时通信应用程序向服务器发送数据传输请求,该数据传输请求中携带有目标传输账户的账户标识。\n[0046] 步骤202,接收服务器发送的第一密钥。\n[0047] 步骤203,使用第一密钥对待传输的数据进行加密,通过即时通信应用程序将加密后的数据以终端数据对传的方式传输给第二终端。\n[0048] 本发明实施例中,接收第一终端发送的数据传输请求,该数据传输请求中携带有目标传输账户的账户标识,生成传输数据的密钥对,该密钥对包含第一密钥和第二密钥,向第一终端发送第一密钥,并向目标传输账户所登陆的第二终端发送第二密钥,以使第一终端使用第一密钥对待传输的数据进行加密,通过即时通信应用程序将加密后的数据以终端数据对传的方式传输给第二终端,并使第二终端使用第二密钥对加密后的数据进行解密,这样,当终端需要进行数据传输时,服务器会生成独立的密钥对,将密钥分别发送给需要传输数据的两个终端,其他终端则无法获知密钥,因此,即使传输的数据被其他终端截获,其他终端也无法解密数据的内容,从而可以提高传输数据的安全性。\n[0049] 实施例二\n[0050] 本发明实施例提供了一种传输数据的方法,该方法可以由服务器、第一终端和第二终端共同实现。其中,第一终端和第二终端可以是安装有具有数据传输功能的即时通信应用程序的终端,服务器可以是具有数据传输功能的即时通信应用程序的后台服务器。如图4所示,为本发明实施例的系统框架图,其中包括第一终端、第二终端和服务器。\n[0051] 如图3所示,该方法的处理流程包括如下步骤:\n[0052] 步骤301,第一终端通过即时通信应用程序向服务器发送数据传输请求,该数据传输请求中携带有目标传输账户的账户标识。\n[0053] 在实施中,用户可以在终端安装具有文件传输功能的即时通信应用程序(如微信),当用户需要通过某终端(即第一终端)向其他终端(即第二终端)传输文件时,可以在第一终端和第二终端打开该即时通信应用程序,然后在第一终端和第二终端进行账户登陆,用户可以在第一终端选择需要传输的文件和目标传输账户(即第二终端上登陆的账户),点击传输按键,第一终端则会接收到传输指令,然后可以向服务器发送数据传输请求,数据传输请求中可以携带有目标传输账户的账户标识,目标传输账户可以是第一终端本地登陆的账户,也可以是其他账户。\n[0054] 步骤302,服务器接收第一终端发送的数据传输请求。\n[0055] 在实施中,第一终端可以向服务器发送数据传输请求,服务器则会接收到第一终端发送的数据传输请求,然后可以对数据传输请求进行解析,获取目标传输账户的账户标识。\n[0056] 步骤303,服务器生成传输数据的密钥对,该密钥对包含第一密钥和第二密钥。\n[0057] 在实施中,服务器接收到第一终端发送的数据传输请求后,可以在本地生成一个密钥对,并对该密钥对进行记录,该密钥对中包含第一密钥和第二密钥,第一密钥可以对使用第二密钥加密的数据进行解密,第二密钥也可以对使用第一密钥加密的数据进行解密。\n[0058] 步骤304,服务器向第一终端发送第一密钥,并向目标传输账户所登陆的第二终端发送第二密钥。\n[0059] 在实施中,服务器生成密钥对后,可以获取登陆目标传输账户的终端的信息,即第二终端的信息,然后可以将第二密钥发送给第二终端,并将第一密钥发送给第一终端。对于目标传输账户是第一终端上登陆的账户的情况,服务器可以获取当前登陆该账户的终端的信息,将第一密钥发送给第一终端,将第二密钥发送给登陆该账户的其他终端(即第二终端),服务器可以采用推送消息的方式向终端发送密钥,也可以采用其他方式向终端发送密钥。\n[0060] 步骤305,第一终端接收服务器发送的第一密钥,第二终端接收服务器发送的第二密钥。\n[0061] 在实施中,服务器向第一终端发送第一密钥后,第一终端则会接收到第一密钥,然后对第一密钥进行存储,同样的,第二终端也可以接收到服务器发送的第二密钥,然后对第二密钥进行存储。\n[0062] 步骤306,第一终端使用第一密钥对待传输的数据进行加密,通过即时通信应用程序将加密后的数据以终端数据对传的方式传输给第二终端。\n[0063] 在实施中,第一终端接收到第一密钥后,可以获取需要传输的文件的数据(即待传输的数据),然后使用第一密钥对待传输的数据进行加密处理,将加密后的数据以终端数据对传的方式传输给第二终端。第一终端可以使用第一密钥对待传输的数据进行加密,然后可以将加密后的数据发送给服务器,服务器接收到该加密后的数据后,可以将加密后的数据转发给第二终端。第一终端也可以在接收到密钥后,与第二终端建立连接,如建立WiFi(Wireless Fidelity,无线保真)连接,然后可以通过WiFi连接将加密后的数据传输给第二终端。具体地,第一终端可以获取当前可以使用的某种传输模式,如WiFi传输,然后可以获取WiFi传输的标识、本地的IP(Internet Protocol,网络之间互连的协议)地址和网关IP,根据这些信息生成图形码,如二维码,然后显示生成的二维码,第二终端可以扫描第一终端的二维码,获取二维码的图像,进而可以对二维码的图像进行解析,获取二维码中记录的信息,然后根据获取到的信息,向第一终端发送连接请求,第一终端接收到连接请求后,可以与第二终端建立WiFi连接。另外,第一终端获取本地的WiFi传输的标识、本地的IP地址和网关IP后,也可以将这些信息发送给服务器,服务器接收到这些信息后,可以根据这些信息生成二维码,将二维码发送给第一终端,服务器也可以将接收到的信息发送给目标传输账户所登陆的终端(即第二终端),以使第二终端可以获取到上述信息,与第一终端建立连接。\n[0064] 可选的,第一终端可以先对传输数据的终端进行验证,再传输数据,相应的,步骤\n306的处理过程可以如下:第一终端与第二终端建立数据连接,第二终端使用第二密钥对预先存储的字符串进行加密,将加密后的字符串发送给第一终端,第一终端接收第二终端发送的加密后的字符串,使用第一密钥对加密后的字符串进行解密,如果解密得到的字符串与本地预先存储的字符串相同,则使用第一密钥对待传输的数据进行加密,通过即时通信应用程序将加密后的数据以终端数据对传的方式传输给第二终端。\n[0065] 在实施中,第一终端可以同时与多个终端建立数据连接,当第一终端需要向第二终端传输数据时,如果第二终端和其他终端都与第一终端建立了数据连接,则第一终端无法确定应该将加密后的数据传输给哪一个终端,这样,可能会出现无法传输数据或将数据传输给第二终端以外的其他终端的情况,为了防止上述情况的发生,可以在即时通信应用程序中预先设置用于验证身份的相同的字符串,第二终端接收到第二密钥后,可以对本地的字符串进行加密,然后将加密后的字符串发送给第一终端,第一终端则会接收到该加密后的字符串,然后可以使用接收到的第一密钥对加密后的字符串进行解密,进而可以将解密得到的字符串与本地的字符串进行对比,如果解密得到的字符串与本地的字符串相同,则使用第一密钥对待传输的数据进行加密,将加密后的数据以终端数据对传的方式传输给第二终端。\n[0066] 另外,该步骤的处理过程还可以为:第一终端可以在接收到第一密钥后,使用第一密钥对本地的字符串进行加密,然后可以将加密后的字符串发送给当前与本地建立连接的各个终端,第二终端接收到加密后的字符串后,可以使用第二密钥对加密后的字符串进行解密,然后可以将解密得到的字符串发送给第一终端,第一终端可以将接收到的字符串与本地的字符串进行对比,确定与本地的字符串相同的字符串,进而可以确定发送该字符串的终端,然后第一终端可以将加密后的数据以终端数据对传的方式传输该终端(即第二终端)。\n[0067] 步骤307,第二终端接收第一终端传输的加密后的数据,使用第二密钥对加密后的数据进行解密。\n[0068] 在实施中,第一终端向第二终端传输加密后的数据后,第二终端则会接收到该加密后的数据,然后可以使用接收到的第二密钥对加密后的数据进行解密,从而可以获取第一终端传输的数据的内容。\n[0069] 在上述传输数据的过程中,服务器发送给第一终端的第一密钥可能出现丢失或者被截获的情况,这样,第一终端将接收不到第一密钥,无法对待传输的数据进行加密,从而无法向第二终端传输数据,为此,本发明实施例中,提供了以下处理机制来防止上述情况发生,相应的步骤304之后的处理过程可以如下:\n[0070] 步骤一,服务器向第一终端发送第一密钥,并向目标传输账户所登陆的第二终端发送第二密钥之后,如果在预设时长内未接收到第一终端发送的连接成功消息,则更新传输数据的密钥对,更新后的密钥对包含更新后的第一密钥和更新后的第二密钥。\n[0071] 在实施中,可以在即时通信应用程序中预先设置连接成功的反馈机制,反馈机制可以是:当第一终端与第二终端开始进行数据传输时,第一终端向服务器发送连接成功消息。服务器可以向第一终端发送第一密钥、向第二终端发送第二密钥,可以在本地记录发送时间,然后开始计时,如果第一终端接收到第一密钥,则第一终端可以使用第一密钥对待传输的数据进行加密,然后可以与第二终端开始进行数据传输,当第一终端与第二终端开始进行数据传输时,第一终端可以向服务器发送连接成功消息,如果服务器在预设时长内接收到第一终端发送的连接成功消息,则服务器不再生成密钥对,如果在预设时长内未接收到第一终端发送的连接成功消息,则服务器可以重新生成一个密钥对,以更新本地记录的密钥对,重新生成的密钥对中,包括重新生成的第一密钥(即更新后的第一密钥)和重新生成的第二密钥(即更新后的第二密钥)。\n[0072] 步骤二,服务器向第一终端发送更新后的第一密钥,并向第二终端发送更新后的第二密钥。\n[0073] 本步骤的处理过程与步骤304的处理过程类似,具体内容请参考步骤304。\n[0074] 步骤三,第一终端接收服务器发送的更新后的第一密钥,第二终端接收到服务器发送的更新后的第二密钥。\n[0075] 步骤的处理过程与步骤305的处理过程类似,具体内容请参考步骤305。\n[0076] 步骤四,第一终端使用更新后的第一密钥对待传输的数据进行加密,通过即时通信应用程序将加密后的数据以终端数据对传的方式传输给第二终端。\n[0077] 步骤的处理过程与步骤306的处理过程类似,具体内容请参考步骤306。\n[0078] 步骤五,第二终端接收第一终端传输的加密后的数据,使用更新后的第二密钥对加密后的数据进行解密。\n[0079] 步骤的处理过程与步骤307的处理过程类似,具体内容请参考步骤307。\n[0080] 本发明实施例中,接收第一终端发送的数据传输请求,该数据传输请求中携带有目标传输账户的账户标识,生成传输数据的密钥对,该密钥对包含第一密钥和第二密钥,向第一终端发送第一密钥,并向目标传输账户所登陆的第二终端发送第二密钥,以使第一终端使用第一密钥对待传输的数据进行加密,通过即时通信应用程序将加密后的数据以终端数据对传的方式传输给第二终端,并使第二终端使用第二密钥对加密后的数据进行解密,这样,当终端需要进行数据传输时,服务器会生成独立的密钥对,将密钥分别发送给需要传输数据的两个终端,其他终端则无法获知密钥,因此,即使传输的数据被其他终端截获,其他终端也无法解密数据的内容,从而可以提高传输数据的安全性。\n[0081] 实施例三\n[0082] 基于相同的技术构思,本发明实施例还提供了一种服务器,如图5所示,所述服务器包括:\n[0083] 接收模块510,用于接收第一终端发送的数据传输请求,所述数据传输请求中携带有目标传输账户的账户标识;\n[0084] 生成模块520,用于生成传输数据的密钥对,所述密钥对包含第一密钥和第二密钥;\n[0085] 发送模块530,用于向所述第一终端发送所述第一密钥,并向所述目标传输账户所登陆的第二终端发送所述第二密钥,以使所述第一终端使用所述第一密钥对待传输的数据进行加密,通过即时通信应用程序将加密后的数据以终端数据对传的方式传输给所述第二终端,并使所述第二终端使用所述第二密钥对所述加密后的数据进行解密。\n[0086] 可选的,所述生成模块520,还用于向所述第一终端发送所述第一密钥,并向所述目标传输账户所登陆的第二终端发送所述第二密钥之后,如果在预设时长内未接收到所述第一终端发送的连接成功消息,则更新所述传输数据的密钥对,更新后的密钥对包含更新后的第一密钥和更新后的第二密钥;\n[0087] 所述发送模块530,还用于向所述第一终端发送所述更新后的第一密钥,并向所述第二终端发送所述更新后的第二密钥。\n[0088] 基于相同的技术构思,本发明实施例还提供了一种第一终端,如图6所示,所述第一终端包括:\n[0089] 发送模块610,用于通过即时通信应用程序向服务器发送数据传输请求,所述数据传输请求中携带有目标传输账户的账户标识;\n[0090] 接收模块620,用于接收所述服务器发送的第一密钥;\n[0091] 传输模块630,用于使用所述第一密钥对待传输的数据进行加密,通过即时通信应用程序将加密后的数据以终端数据对传的方式传输给第二终端。\n[0092] 可选的,所述传输模块630,用于:\n[0093] 与第二终端建立数据连接;\n[0094] 接收所述第二终端发送的加密后的字符串,使用所述第一密钥对所述加密后的字符串进行解密,如果解密得到的字符串与本地预先存储的字符串相同,则使用所述第一密钥对待传输的数据进行加密,通过所述即时通信应用程序将加密后的数据以终端数据对传的方式传输给第二终端。\n[0095] 可选的,所述接收模块620,还用于如果未接收到所述服务器发送的第一密钥,则接收服务器发送的更新后的第一密钥;\n[0096] 所述传输模块630,还用于使用更新后的第一密钥对待传输的数据进行加密,通过所述即时通信应用程序将加密后的数据以终端数据对传的方式传输给第二终端。\n[0097] 本发明实施例中,接收第一终端发送的数据传输请求,该数据传输请求中携带有目标传输账户的账户标识,生成传输数据的密钥对,该密钥对包含第一密钥和第二密钥,向第一终端发送第一密钥,并向目标传输账户所登陆的第二终端发送第二密钥,以使第一终端使用第一密钥对待传输的数据进行加密,通过即时通信应用程序将加密后的数据以终端数据对传的方式传输给第二终端,并使第二终端使用第二密钥对加密后的数据进行解密,这样,当终端需要进行数据传输时,服务器会生成独立的密钥对,将密钥分别发送给需要传输数据的两个终端,其他终端则无法获知密钥,因此,即使传输的数据被其他终端截获,其他终端也无法解密数据的内容,从而可以提高传输数据的安全性。\n[0098] 实施例四\n[0099] 基于相同的技术构思,本发明实施例还提供了一种传输数据的系统,所述系统包括服务器、第一终端和第二终端,其中:\n[0100] 所述服务器,用于接收所述第一终端发送的数据传输请求,所述数据传输请求中携带有目标传输账户的账户标识;生成传输数据的密钥对,所述密钥对包含第一密钥和第二密钥;向所述第一终端发送所述第一密钥,并向所述目标传输账户所登陆的所述第二终端发送所述第二密钥,以使所述第一终端使用所述第一密钥对待传输的数据进行加密,通过即时通信应用程序将加密后的数据以终端数据对传的方式传输给所述第二终端,并使所述第二终端使用所述第二密钥对所述加密后的数据进行解密;\n[0101] 所述第一终端,用于向所述服务器发送数据传输请求,所述数据传输请求中携带有目标传输账户的账户标识;接收所述服务器发送的第一密钥;使用所述第一密钥对待传输的数据进行加密,通过即时通信应用程序将加密后的数据以终端数据对传的方式传输给所述第二终端。\n[0102] 本发明实施例中,接收第一终端发送的数据传输请求,该数据传输请求中携带有目标传输账户的账户标识,生成传输数据的密钥对,该密钥对包含第一密钥和第二密钥,向第一终端发送第一密钥,并向目标传输账户所登陆的第二终端发送第二密钥,以使第一终端使用第一密钥对待传输的数据进行加密,通过即时通信应用程序将加密后的数据以终端数据对传的方式传输给第二终端,并使第二终端使用第二密钥对加密后的数据进行解密,这样,当终端需要进行数据传输时,服务器会生成独立的密钥对,将密钥分别发送给需要传输数据的两个终端,其他终端则无法获知密钥,因此,即使传输的数据被其他终端截获,其他终端也无法解密数据的内容,从而可以提高传输数据的安全性。\n[0103] 实施例五\n[0104] 图7是本发明实施例提供的服务器的结构示意图。该服务器1900可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上中央处理器(central processing units,CPU)1922(例如,一个或一个以上处理器)和存储器1932,一个或一个以上存储应用程序1942或数据1944的存储介质1930(例如一个或一个以上海量存储设备)。其中,存储器\n1932和存储介质1930可以是短暂存储或持久存储。存储在存储介质1930的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对服务器中的一系列指令操作。更进一步地,中央处理器1922可以设置为与存储介质1930通信,在服务器1900上执行存储介质\n1930中的一系列指令操作。\n[0105] 服务器1900还可以包括一个或一个以上电源1926,一个或一个以上有线或无线网络接口1950,一个或一个以上输入输出接口1958,一个或一个以上键盘1956,和/或,一个或一个以上操作系统1941,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM等等。\n[0106] 服务器1900可以包括有存储器,以及一个或者一个以上的程序,其中一个或者一个以上程序存储于存储器中,且经配置以由一个或者一个以上处理器执行所述一个或者一个以上程序包含用于进行以下操作的指令:\n[0107] 接收第一终端发送的数据传输请求,所述数据传输请求中携带有目标传输账户的账户标识;\n[0108] 生成传输数据的密钥对,所述密钥对包含第一密钥和第二密钥;\n[0109] 向所述第一终端发送所述第一密钥,并向所述目标传输账户所登陆的第二终端发送所述第二密钥,以使所述第一终端使用所述第一密钥对待传输的数据进行加密,通过即时通信应用程序将加密后的数据以终端数据对传的方式传输给所述第二终端,并使所述第二终端使用所述第二密钥对所述加密后的数据进行解密。\n[0110] 可选的,所述方法还包括:\n[0111] 向所述第一终端发送所述第一密钥,并向所述目标传输账户所登陆的第二终端发送所述第二密钥之后,如果在预设时长内未接收到所述第一终端发送的连接成功消息,则更新所述传输数据的密钥对,更新后的密钥对包含更新后的第一密钥和更新后的第二密钥;\n[0112] 向所述第一终端发送所述更新后的第一密钥,并向所述第二终端发送所述更新后的第二密钥。\n[0113] 本发明实施例中,接收第一终端发送的数据传输请求,该数据传输请求中携带有目标传输账户的账户标识,生成传输数据的密钥对,该密钥对包含第一密钥和第二密钥,向第一终端发送第一密钥,并向目标传输账户所登陆的第二终端发送第二密钥,以使第一终端使用第一密钥对待传输的数据进行加密,通过即时通信应用程序将加密后的数据以终端数据对传的方式传输给第二终端,并使第二终端使用第二密钥对加密后的数据进行解密,这样,当终端需要进行数据传输时,服务器会生成独立的密钥对,将密钥分别发送给需要传输数据的两个终端,其他终端则无法获知密钥,因此,即使传输的数据被其他终端截获,其他终端也无法解密数据的内容,从而可以提高传输数据的安全性。\n[0114] 实施例六\n[0115] 图8是根据一示例性实施例示出的一种第一终端的结构示意图。该第一终端可以用于实施上述实施例中提供的传输数据的方法。\n[0116] 第一终端400可以包括RF(Radio Frequency,射频)电路110、包括有一个或一个以上计算机可读存储介质的存储器120、输入单元130、显示单元140、传感器150、音频电路\n160、WiFi(wireless fidelity,无线保真)模块170、包括有一个或者一个以上处理核心的处理器180、以及电源190等部件。本领域技术人员可以理解,图8中示出的第一终端结构并不构成对第一终端的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。其中:\n[0117] RF电路110可用于收发信息或通话过程中,信号的接收和发送,特别地,将基站的下行信息接收后,交由一个或者一个以上处理器180处理;另外,将涉及上行的数据发送给基站。通常,RF电路110包括但不限于天线、至少一个放大器、调谐器、一个或多个振荡器、用户身份模块(SIM)卡、收发信机、耦合器、LNA(Low Noise Amplifier,低噪声放大器)、双工器等。此外,RF电路110还可以通过无线通信与网络和其他设备通信。所述无线通信可以使用任一通信标准或协议,包括但不限于GSM(Global System of Mobile communication,全球移动通讯系统)、GPRS(General Packet Radio Service,通用分组无线服务)、CDMA(Code Division Multiple Access,码分多址)、WCDMA(Wideband Code Division Multiple Access,宽带码分多址)、LTE(Long Term Evolution,长期演进)、电子邮件、SMS(Short Messaging Service,短消息服务)等。\n[0118] 存储器120可用于存储软件程序以及模块,处理器180通过运行存储在存储器120的软件程序以及模块,从而执行各种功能应用以及数据处理。存储器120可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据第一终端400的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器120可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器120还可以包括存储器控制器,以提供处理器180和输入单元130对存储器120的访问。\n[0119] 输入单元130可用于接收输入的数字或字符信息,以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。具体地,输入单元130可包括触敏表面131以及其他输入设备132。触敏表面131,也称为触摸显示屏或者触控板,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触敏表面131上或在触敏表面131附近的操作),并根据预先设定的程式驱动相应的连接装置。可选的,触敏表面131可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器180,并能接收处理器180发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触敏表面131。除了触敏表面131,输入单元130还可以包括其他输入设备132。具体地,其他输入设备132可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。\n[0120] 显示单元140可用于显示由用户输入的信息或提供给用户的信息以及第一终端\n400的各种图形用户接口,这些图形用户接口可以由图形、文本、图标、视频和其任意组合来构成。显示单元140可包括显示面板141,可选的,可以采用LCD(Liquid Crystal Display,液晶显示器)、OLED(Organic Light-Emitting Diode,有机发光二极管)等形式来配置显示面板141。进一步的,触敏表面131可覆盖显示面板141,当触敏表面131检测到在其上或附近的触摸操作后,传送给处理器180以确定触摸事件的类型,随后处理器180根据触摸事件的类型在显示面板141上提供相应的视觉输出。虽然在图8中,触敏表面131与显示面板141是作为两个独立的部件来实现输入和输入功能,但是在某些实施例中,可以将触敏表面131与显示面板141集成而实现输入和输出功能。\n[0121] 第一终端400还可包括至少一种传感器150,比如光传感器、运动传感器以及其他传感器。具体地,光传感器可包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示面板141的亮度,接近传感器可在第一终端400移动到耳边时,关闭显示面板141和/或背光。作为运动传感器的一种,重力加速度传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别手机姿态的应用(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;至于第一终端400还可配置的陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。\n[0122] 音频电路160、扬声器161,传声器162可提供用户与第一终端400之间的音频接口。\n音频电路160可将接收到的音频数据转换后的电信号,传输到扬声器161,由扬声器161转换为声音信号输出;另一方面,传声器162将收集的声音信号转换为电信号,由音频电路160接收后转换为音频数据,再将音频数据输出处理器180处理后,经RF电路110以发送给比如另一第一终端,或者将音频数据输出至存储器120以便进一步处理。音频电路160还可能包括耳塞插孔,以提供外设耳机与第一终端400的通信。\n[0123] WiFi属于短距离无线传输技术,第一终端400通过WiFi模块170可以帮助用户收发电子邮件、浏览网页和访问流式媒体等,它为用户提供了无线的宽带互联网访问。虽然图8示出了WiFi模块170,但是可以理解的是,其并不属于第一终端400的必须构成,完全可以根据需要在不改变发明的本质的范围内而省略。\n[0124] 处理器180是第一终端400的控制中心,利用各种接口和线路连接整个手机的各个部分,通过运行或执行存储在存储器120内的软件程序和/或模块,以及调用存储在存储器\n120内的数据,执行第一终端400的各种功能和处理数据,从而对手机进行整体监控。可选的,处理器180可包括一个或多个处理核心;优选的,处理器180可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器180中。\n[0125] 第一终端400还包括给各个部件供电的电源190(比如电池),优选的,电源可以通过电源管理系统与处理器180逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。电源190还可以包括一个或一个以上的直流或交流电源、再充电系统、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。\n[0126] 尽管未示出,第一终端400还可以包括摄像头、蓝牙模块等,在此不再赘述。具体在本实施例中,第一终端400的显示单元是触摸屏显示器,第一终端400还包括有存储器,以及一个或者一个以上的程序,其中一个或者一个以上程序存储于存储器中,且经配置以由一个或者一个以上处理器执行述一个或者一个以上程序包含用于进行以下操作的指令:\n[0127] 通过即时通信应用程序向服务器发送数据传输请求,所述数据传输请求中携带有目标传输账户的账户标识;\n[0128] 接收所述服务器发送的第一密钥;\n[0129] 使用所述第一密钥对待传输的数据进行加密,通过所述即时通信应用程序将加密后的数据以终端数据对传的方式传输给第二终端。\n[0130] 可选的,所述使用所述第一密钥对待传输的数据进行加密,通过所述即时通信应用程序将加密后的数据以终端数据对传的方式传输给第二终端,包括:\n[0131] 与第二终端建立数据连接;\n[0132] 接收所述第二终端发送的加密后的字符串,使用所述第一密钥对所述加密后的字符串进行解密,如果解密得到的字符串与本地预先存储的字符串相同,则使用所述第一密钥对待传输的数据进行加密,通过所述即时通信应用程序将加密后的数据以终端数据对传的方式传输给第二终端。\n[0133] 可选的,如果未接收到所述服务器发送的第一密钥,所述方法还包括:\n[0134] 接收服务器发送的更新后的第一密钥;\n[0135] 使用更新后的第一密钥对待传输的数据进行加密,通过所述即时通信应用程序将加密后的数据以终端数据对传的方式传输给第二终端。\n[0136] 本发明实施例中,接收第一终端发送的数据传输请求,该数据传输请求中携带有目标传输账户的账户标识,生成传输数据的密钥对,该密钥对包含第一密钥和第二密钥,向第一终端发送第一密钥,并向目标传输账户所登陆的第二终端发送第二密钥,以使第一终端使用第一密钥对待传输的数据进行加密,通过即时通信应用程序将加密后的数据以终端数据对传的方式传输给第二终端,并使第二终端使用第二密钥对加密后的数据进行解密,这样,当终端需要进行数据传输时,服务器会生成独立的密钥对,将密钥分别发送给需要传输数据的两个终端,其他终端则无法获知密钥,因此,即使传输的数据被其他终端截获,其他终端也无法解密数据的内容,从而可以提高传输数据的安全性。\n[0137] 本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。\n[0138] 以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
法律信息
- 2019-08-16
专利权的转移
登记生效日: 2019.07.29
专利权人由腾讯科技(深圳)有限公司变更为腾讯科技(深圳)有限公司
地址由518000 广东省深圳市福田区振兴路赛格科技园2栋东403室变更为518000 广东省深圳市福田区振兴路赛格科技园2栋东403室
专利权人变更为腾讯云计算(北京)有限责任公司
- 2018-11-30
- 2015-05-27
实质审查的生效
IPC(主分类): H04L 29/06
专利申请号: 201410808603.4
申请日: 2014.12.22
- 2015-04-29
引用专利(该专利引用了哪些专利)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 |
1
| |
2013-02-27
|
2012-10-31
| | |
2
| |
2007-09-26
|
2007-03-12
| | |
3
| |
2010-10-27
|
2010-05-27
| | |
4
| |
2008-05-21
|
2007-10-22
| | |
被引用专利(该专利被哪些专利引用)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 | 该专利没有被任何外部专利所引用! |