一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

数据传输方法、装置、计算机设备及存储介质与流程

2022-02-22 07:17:56 来源:中国专利 TAG:


1.本技术实施例涉及通信技术领域,特别涉及一种数据传输方法、装置、计算机设备及存储介质。


背景技术:

2.物理链路是指通过物理传输介质在一个设备与另一个设备之间直接建立连接的通信链路,中间没有其他的交换设备。以第一设备和第二设备为例,第一设备和第二设备之间建立物理链路,第一设备将数据进行封装,通过物理链路将封装之后的数据传输至第二设备,第二设备对接收的数据进行解封装,得到封装之前的数据,从而完成数据的传输。
3.但是上述数据传输过程中,可能会出现恶意程序窃听或篡改物理链路中数据的情况,因此通过物理链路传输数据的安全性较差。


技术实现要素:

4.本技术实施例提供了一种数据传输方法、装置、计算机设备及存储介质,可以通过物理链路传输数据的安全性。所述技术方案如下:
5.一方面,提供了一种数据传输方法,所述方法包括:
6.通过第一设备的第一业务层,向所述第一设备的第一安全层传递第一数据;
7.通过所述第一安全层,确定所述第一设备与第二设备之间的会话密钥,所述第一设备的第一传输层和所述第二设备的第二传输层之间建立有物理链路,所述物理链路是指通过物理传输介质建立连接的通信链路,所述物理链路包括蓝牙链路、串口链路、网线链路或通用串行总线usb链路中的至少一种;
8.通过所述第一安全层,采用所述会话密钥对所述第一数据进行加密,得到第二数据,向所述第一传输层传递所述第二数据;
9.通过所述物理链路,向所述第二传输层发送所述第二数据,所述第二设备用于通过所述第二传输层,向所述第二设备的第二安全层传递所述第二数据,通过所述第二安全层,采用所述会话密钥对所述第二数据进行解密,得到所述第一数据。
10.另一方面,提供了一种数据传输方法,所述方法包括:
11.通过第一设备的第一传输层与第二设备的第二传输层之间的物理链路,接收所述第一设备发送的第二数据,所述第一传输层和所述第二传输层之间建立有物理链路,所述物理链路是指通过物理传输介质建立连接的通信链路,所述物理链路包括蓝牙链路、串口链路、网线链路或通用串行总线usb链路中的至少一种,所述第二数据由所述第一设备的第一安全层传递给所述第一传输层,所述第一安全层用于采用会话密钥对第一数据进行加密,得到所述第二数据;
12.通过所述第二传输层,将所述第二数据传递给所述第二设备的第二安全层;
13.通过所述第二安全层,确定所述第二设备与所述第一设备之间的所述会话密钥;
14.通过所述第二安全层,采用所述会话密钥对所述第二数据进行解密,得到所述第
一数据。
15.另一方面,提供了一种数据传输装置,所述装置包括:
16.数据传递模块,用于通过第一设备的第一业务层,向所述第一设备的第一安全层传递第一数据;
17.密钥确定模块,用于确定所述第一设备与第二设备之间的会话密钥,所述第一设备的第一传输层和所述第二设备的第二传输层之间建立有物理链路,所述物理链路是指通过物理传输介质建立连接的通信链路,所述物理链路包括蓝牙链路、串口链路、网线链路或通用串行总线usb链路中的至少一种;
18.加密模块,用于通过所述第一安全层,采用所述会话密钥对所述第一数据进行加密,得到第二数据,向所述第一传输层传递所述第二数据;
19.数据发送模块,用于通过所述物理链路,向所述第二传输层发送所述第二数据,所述第二设备用于通过所述第二传输层,向所述第二设备的第二安全层传递所述第二数据,通过所述第二安全层,采用所述会话密钥对所述第二数据进行解密,得到所述第一数据。
20.可选地,所述装置还包括:
21.请求发送模块,用于通过所述物理链路,向所述第二设备发送认证请求,所述第二设备用于响应于所述认证请求,通过所述物理链路,返回第一随机数;
22.随机数交互模块,用于通过所述物理链路,接收所述第二设备返回的所述第一随机数,向所述第二设备发送第二随机数,所述第二设备还用于接收到所述第二随机数,通过所述物理链路,返回目标加密算法,所述第二设备还用于通过所述第二安全层,根据所述目标加密算法,对所述第一随机数和所述第二随机数进行处理得到所述会话密钥;
23.密钥获取模块,用于通过所述物理链路,接收所述第二设备返回的所述目标加密算法;通过所述第一传输层,向所述第一安全层传递所述目标加密算法;通过所述第一安全层,根据所述目标加密算法,对所述第一随机数和所述第二随机数进行处理得到所述会话密钥。
24.可选地,所述随机数交互模块,包括:
25.随机数交互单元,用于通过所述物理链路,接收所述第二设备返回的所述第一随机数,向所述第二设备发送所述第二随机数和至少一个加密算法;所述第二设备还用于通过所述第二安全层,从所述至少一个加密算法中确定所述目标加密算法。
26.可选地,所述认证请求携带所述第一设备的第一协议版本信息,所述随机数交互单元,用于:
27.通过所述物理链路,接收所述第二设备返回的所述第一随机数和第二协议版本信息;
28.通过所述第一传输层,向所述第一安全层传递所述第一随机数和所述第二协议版本信息;
29.通过所述第一安全层,根据所述第一协议版本信息和所述第二协议版本信息,确定所述第一设备和所述第二设备支持的至少一个加密算法,向所述第一传输层传递所述第二随机数和所述至少一个加密算法;
30.通过所述物理链路,向所述第二设备发送所述第二随机数和所述至少一个加密算法。
31.可选地,所述随机数交互模块,包括:
32.随机数接收单元,用于通过所述物理链路,接收所述第二设备返回的所述第一随机数和第一证书,所述第一证书用于指示所述第二设备的身份;通过所述第一传输层,向所述第一安全层传递所述第一随机数和所述第一证书;
33.随机数发送单元,用于通过所述第一安全层,对所述第一证书验证通过,则向所述第一传输层传递所述第二随机数和第二证书,所述第二证书用于指示所述第一设备的身份;通过所述物理链路,向所述第二设备发送所述第二随机数和所述第二证书,所述第二设备用于通过所述第二安全层,对所述第二证书验证通过,则向所述第一设备返回所述目标加密算法。
34.另一方面,提供了一种数据传输装置,所述装置包括:
35.数据接收模块,用于通过第一设备的第一传输层与第二设备的第二传输层之间的物理链路,接收所述第一设备发送的第二数据,所述第一传输层和所述第二传输层之间建立有物理链路,所述物理链路是指通过物理传输介质建立连接的通信链路,所述物理链路包括蓝牙链路、串口链路、网线链路或通用串行总线usb链路中的至少一种,所述第二数据由所述第一设备的第一安全层传递给所述第一传输层,所述第一安全层用于采用会话密钥对第一数据进行加密,得到所述第二数据;
36.数据传递模块,用于通过所述第二传输层,向所述第二设备的第二安全层传递所述第二数据;
37.密钥确定模块,用于通过所述第二安全层,确定所述第二设备与所述第一设备之间的所述会话密钥;
38.解密模块,用于通过所述第二安全层,采用所述会话密钥对所述第二数据进行解密,得到所述第一数据。
39.可选地,所述装置还包括:
40.所述数据传递模块,还用于通过所述第二安全层,向所述第二设备的第二业务层传递所述第一数据;
41.数据处理模块,用于通过所述第二业务层,对所述第一数据进行处理。
42.可选地,所述装置还包括:
43.随机数发送模块,用于响应于所述第一设备发送的认证请求,通过所述物理链路,向所述第一设备发送第一随机数,所述第一设备用于返回第二随机数;
44.加密算法发送模块,用于通过所述物理链路,接收所述第一设备返回的所述第二随机数,向所述第一设备发送目标加密算法,所述第一设备还用于通过所述第一安全层,根据所述目标加密算法,对所述第一随机数和所述第二随机数进行处理得到所述会话密钥;
45.密钥获取模块,用于通过所述第二安全层,根据所述目标加密算法,对所述第一随机数和所述第二随机数进行处理得到所述会话密钥。
46.可选地,所述加密算法发送模块,包括:
47.第一随机数接收单元,用于通过所述物理链路,接收所述第一设备返回的所述第二随机数和至少一个加密算法;通过所述第二传输层,向所述第二安全层传递所述第二随机数和所述至少一个加密算法;
48.加密算法确定单元,用于通过所述第二安全层,从所述至少一个加密算法中确定
目标加密算法,向所述第二传输层传递所述目标加密算法;
49.加密算法发送单元,用于通过所述物理链路,向所述第一设备发送所述目标加密算法。
50.可选地,所述认证请求携带所述第一设备的第一协议版本信息,所述随机数发送模块,包括:
51.第一随机数发送单元,用于响应于所述第一设备发送的认证请求,通过所述物理链路,向所述第一设备发送所述第一随机数和所述第二设备的第二协议版本信息,所述第一设备用于通过所述第一安全层,根据所述第一协议版本信息和所述第二协议版本信息,确定所述第一设备和所述第二设备支持的至少一个加密算法。
52.可选地,所述随机数发送模块,包括:
53.第二随机数发送单元,用于响应于所述第一设备发送的认证请求,通过所述物理链路,向所述第一设备发送所述第一随机数和第一证书,所述第一证书用于指示所述第二设备的身份,所述第一设备用于通过所述第一安全层,对所述第一证书验证通过,则向所述第二设备返回所述第二随机数和第二证书,所述第二证书用于指示所述第一设备的身份;
54.所述加密算法发送模块,包括:
55.第二随机数接收单元,用于通过所述物理链路,接收所述第一设备返回的所述第二随机数和所述第二证书;通过所述第二传输层,向所述第二安全层传递所述第二随机数和所述第二证书;
56.所述加密算法发送单元,还用于通过所述第二安全层,对所述第二证书验证通过,则向所述第二传输层传递所述目标加密算法;通过所述物理链路,向所述第一设备发送所述目标加密算法。
57.另一方面,提供了一种计算机设备,所述计算机设备包括处理器和存储器,所述存储器中存储有至少一条程序代码,所述至少一条程序代码由所述处理器加载并执行以实现如上述方面所述的数据传输方法中所执行的操作。
58.另一方面,提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有至少一条程序代码,所述至少一条程序代码由处理器加载并执行以实现如上述方面所述的数据传输方法中所执行的操作。
59.另一方面,提供了一种计算机程序产品或计算机程序,所述计算机程序产品或计算机程序包括计算机程序代码,所述计算机程序代码存储在计算机可读存储介质中,计算机设备的处理器从计算机可读存储介质读取所述计算机程序代码,处理器执行所述计算机程序代码,使得所述计算机设备实现如上述方面所述的数据传输方法中所执行的操作。
60.本技术实施例提供了在物理链路上实现数据加密传输的方案,能够在两个设备之间建立物理链路,并且这两个设备持有会话密钥,任一设备要进行数据传输时,首先采用会话密钥对数据进行加密,然后通过物理链路传输加密后的数据,由对方设备采用该会话密钥对加密后的数据进行解密。通过上述方法,则物理链路中传输的数据为加密后的数据,不易被窃听或篡改,保证了数据传输的安全性和可靠性。
附图说明
61.为了更清楚地说明本技术实施例中的技术方案,下面将对实施例描述中所需要使
用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术实施例的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
62.图1是本技术实施例提供的一种实施环境的示意图。
63.图2是相关技术提供的一种通过物理链路传输数据的示意图。
64.图3是本技术实施例提供的一种通过物理链路传输数据的示意图。
65.图4是本技术实施例提供的一种数据传输方法的流程图。
66.图5是本技术实施例提供的另一种数据传输方法的流程图。
67.图6是本技术实施例提供的另一种数据传输方法的流程图。
68.图7是本技术实施例提供的一种认证过程的流程图。
69.图8是本技术实施例提供的一种收银机与支付设备的认证过程的流程图。
70.图9是本技术实施例提供的另一种数据传输方法的流程图。
71.图10是本技术实施例提供的一种收银机向支付设备发送数据的流程图。
72.图11是本技术实施例提供的一种支付设备向收银机发送数据的流程图。
73.图12是本技术实施例提供的另一种数据传输方法的示意图。
74.图13是本技术实施例提供的一种数据传输装置的结构示意图。
75.图14是本技术实施例提供的另一种数据传输装置的结构示意图。
76.图15是本技术实施例提供的另一种数据传输装置的结构示意图。
77.图16是本技术实施例提供的另一种数据传输装置的结构示意图。
78.图17是本技术实施例提供的一种终端的结构示意图。
79.图18是本技术实施例提供的一种服务器的结构示意图。
具体实施方式
80.为使本技术实施例的目的、技术方案和优点更加清楚,下面将结合附图对本技术实施方式作进一步地详细描述。
81.可以理解,本技术所使用的术语“第一”、“第二”等可在本文中用于描述各种概念,但除非特别说明,这些概念不受这些术语限制。这些术语仅用于将一个概念与另一个概念区分。举例来说,在不脱离本技术的范围的情况下,可以将第一设备称为第二设备,且类似地,可将第二设备称为第一设备。
82.其中,至少一个是指一个或者一个以上,例如,至少一个加密算法可以是一个加密算法、两个加密算法、三个加密算法等任一大于等于一的整数个加密算法。
83.图1是本技术实施例提供的一种实施环境的示意图,参见图1,该实施环境包括:第一设备101和第二设备102。第一设备101与第二设备102之间建立有物理链路,物理链路是指通过物理传输介质建立连接的通信链路,包括蓝牙链路、串口链路、网线链路或usb(universal serial bus,通用串行总线)链路中的至少一种。第一设备101和第二设备102通过物理链路互相收发数据,使第一设备101和第二设备102具备双向通信的能力,从而建立了双向通信系统。
84.在一种可能实现方式中,第一设备101为终端或者服务器,第二设备102为终端或者服务器。可选地,终端是刷脸支付设备、扫码支付设备、收银机、智能手机、平板电脑、笔记
本电脑、台式计算机、智能音箱或者智能手表等,但并不局限于此。可选地,服务器是独立的物理服务器,或者是多个物理服务器构成的服务器集群或者分布式系统,或者是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、cdn(content delivery network,内容分发网络)、以及大数据和人工智能平台等基础云计算服务的云服务器。
85.图2是相关技术提供的一种通过物理链路传输数据的示意图,参见图2,相关技术中,第一设备201包括第一业务层211和第一传输层221,第一业务层211和第一传输层221连接。第二设备202包括第二业务层212和第二传输层222,第二业务层212和第二传输层222连接。第一传输层221和第二传输层222之间建立有物理链路,第一设备201和第二设备202之间通过物理链路进行通信。第一设备201通过第一业务层211将数据进行封装,并传递给第一传输层212,第一传输层212通过物理链路将封装之后的数据传输至第二传输层222,第二传输层222将封装之后的数据传递给第二业务层212,由第二业务层212对接收的数据进行解封装,得到封装之前的数据,从而完成数据的传输。上述数据传输过程中,可能会出现恶意程序窃听或篡改物理链路中数据的情况,因此通过物理链路传输数据的安全性较差。
86.图3是本技术实施例提供的一种通过物理链路传输数据的示意图,参见图3,第一设备301包括第一业务层311、第一安全层321和第一传输层331,第一业务层311与第一安全层321连接,第一安全层321与第一传输层331连接。第二设备302包括第二业务层312、第二安全层322和第二传输层332,第二业务层312与第二安全层322连接,第二安全层322与第二传输层332连接。其中,第一传输层331和第二传输层332之间建立有物理链路,第一设备301和第二设备302通过第一传输层331和第二传输层332之间的物理链路进行通信。可选地,本技术实施例中,通过安全层对数据进行加密,并将加密后的数据进行封装,将封装后的数据传递给传输层。本技术实施例中,通过两个设备的安全层完成设备之间的身份认证、会话密钥生成以及数据的加密和解密,在物理链路中传输加密之后的数据,能够恶意程序窃听或篡改物理链路中的数据的情况,从而保证了数据传输的保密性和可靠性。
87.本技术实施例可应用于任两个设备通过物理链路进行通信的任一场景下,例如,线上支付的场景:
88.第一设备为面向商家的收银机,第二设备为面向消费者的支付设备,如扫码支付设备、刷脸支付设备等。收银机和支付设备之间建立有物理链路,收银机确定该收银机与支付设备之间的会话密钥,采用会话密钥对消费过程中的订单信息进行加密,通过物理链路向支付设备发送加密后的订单信息,支付设备采用会话密钥对该加密后的订单信息进行解密,得到解密后的订单信息,从而对订单信息进行处理和展示,根据订单信息完成收款操作。
89.图4是本技术实施例提供的一种数据传输方法的流程图。本技术实施例的执行主体为第一设备,参见图4,该方法包括:
90.401、通过第一设备的第一业务层,向第一设备的第一安全层传递第一数据。
91.第一设备的第一业务层获取第一数据,向第一设备的第一安全层传递第一数据。可选地,第一数据为第一业务层中产生的业务数据。
92.402、通过第一安全层,确定第一设备与第二设备之间的会话密钥。
93.第一设备和第二设备之间建立有物理链路,物理链路是指通过物理传输介质建立
连接的通信链路,物理链路包括蓝牙链路、串口链路、网线链路或通用串行总线usb链路中的至少一种。可选地,该物理链路是在第一设备和第二设备之间直接建立连接的通信链路,中间没有其他的交换设备。
94.第一设备和第二设备可以通过该物理链路进行双向数据传输,其中,通过物理链路进行传输与通过互联网进行数据传输不同。
95.首先,由于物理链路是通过物理传输介质建立连接的通信链路,因此两个设备之间可直接通过物理链路传输数据,无需使用用于控制传输的通信协议。而通过互联网进行数据传输,需要在通信协议的支持下才能完成传输,例如通信协议为tcp/ip协议(transmission control protocol/internet protocol,传输控制协议/网间协议)或者http协议(hypertext transfer protocol,超文本传输协议)等。
96.其次,由于物理链路是第一设备和第二设备之间直接建立的通信链路,中间没有其他的交换设备,因此第一设备和第二设备之间可以直接进行数据传输,无需其他设备协助进行数据转发;而通过互联网进行数据传输时,需要通过网关或者路由器等设备进行转发才能完成数据传输。
97.为了保证第一设备与第二设备通过物理链路进行数据传输的安全性,第一设备可以采用会话密钥对要传输的数据进行加密,因此,在与第二设备进行数据传输之前,第一设备先确定与第二设备之间的会话密钥。
98.其中,会话密钥是第一设备与第二设备之间的密钥,在第一设备与第二设备进行数据传输时,会话密钥可用于对传输的数据进行加密或者解密。第一设备和第二设备均持有与对方进行数据传输的会话密钥。可选地,该会话密钥为对称密钥,第一设备持有的会话密钥与第二设备持有的会话密钥相同,同一个会话密钥可用于对数据的加密和解密。
99.403、通过第一安全层,采用会话密钥对第一数据进行加密,得到第二数据,向第一传输层传递第二数据。
100.第一设备确定与第二设备之间的会话密钥,以及要发送给第二设备的第一数据,采用该会话密钥对该第一数据进行加密,得到加密后的第二数据。
101.其中,加密是指利用技术手段改变原始数据,得到对应的加密数据,并且根据加密数据无法直接获知原始数据的内容,可选地,加密数据为乱码的数据或者没有实际意义的数据。因此,即使该加密数据被恶意程序拦截到,恶意程序也无法从加密数据中得到原始数据,保证了原始数据的安全性。
102.404、通过物理链路,向第二传输层发送第二数据。
103.第一设备完成对第一数据的加密后,则通过与第二设备之间的物理链路,向第二设备发送加密得到的第二数据。当第二设备接收到第二数据,则采用与第一设备之间的会话密钥,对该第二数据进行解密,得到第一数据,从而完成第一设备向第二设备发送第一数据的过程,并且保证了第一数据的安全性。
104.本技术实施例提供了在物理链路上实现数据加密传输的方案,能够在两个设备之间建立物理链路,并且这两个设备持有会话密钥,任一设备要进行数据传输时,首先采用会话密钥对数据进行加密,然后通过物理链路传输加密后的数据,由对方设备采用该会话密钥对加密后的数据进行解密。通过上述方法,则物理链路中传输的数据为加密后的数据,不易被窃听或篡改,保证了数据传输的安全性和可靠性。
105.图5是本技术实施例提供的另一种数据传输方法的流程图。本技术实施例的执行主体为第二设备,参见图5,该方法包括:
106.501、通过第一设备的第一传输层与第二设备的第二传输层之间的物理链路,接收第一设备发送的第二数据。
107.第一设备和第二设备之间建立有物理链路,物理链路是指通过物理传输介质建立连接的通信链路,物理链路包括蓝牙链路、串口链路、网线链路或通用串行总线usb链路中的至少一种。该物理链路与上述步骤401中的物理链路相同,在此不再一一赘述。
108.第一设备和第二设备可以通过该物理链路进行双向数据传输,则第一设备通过物理链路向第二设备发送第二数据之后,第二设备即可通过该物理链路接收到第二数据。其中,第二数据是由第一设备采用第一设备与第二设备之间的会话密钥,对第一数据进行加密得到的。
109.其中,加密是指利用技术手段改变原始数据,得到对应的加密数据,并且根据加密数据无法直接获知原始数据的内容,可选地,加密数据为乱码的数据或者没有实际意义的数据。因此,即使该加密数据被恶意程序拦截到,恶意程序也无法从加密数据中得到原始数据,保证了原始数据的安全性。
110.其中,会话密钥是第一设备与第二设备之间的密钥,在第一设备与第二设备进行数据传输时,会话密钥可用于对传输的数据进行加密或者解密。第一设备和第二设备均持有与对方进行数据传输的会话密钥。可选地,该会话密钥为对称密钥,第一设备持有的会话密钥与第二设备持有的会话密钥相同,同一个会话密钥可用于对数据的加密和解密。
111.502、通过第二传输层,向第二设备的第二安全层传递第二数据。
112.503、通过第二安全层,确定第二设备与第一设备之间的会话密钥。
113.当第二设备获取到第二数据,则需要对该第二数据进行解密才能获得加密之前的第一数据,因此第二设备确定第二设备与第一设备之间的会话密钥。
114.504、通过第二安全层,采用会话密钥对第二数据进行解密,得到第一数据。
115.当第二设备确定与第一设备之间的会话密钥,则采用该会话密钥对第二数据进行解密,得到第一数据,后续第二设备可对该第一数据进行处理。
116.本技术实施例提供了在物理链路上实现数据加密传输的方案,能够在两个设备之间建立物理链路,并且这两个设备持有会话密钥,任一设备要进行数据传输时,首先采用会话密钥对数据进行加密,然后通过物理链路传输加密后的数据,由对方设备采用该会话密钥对加密后的数据进行解密。通过上述方法,则物理链路中传输的数据为加密后的数据,不易被窃听或篡改,保证了数据传输的安全性和可靠性。
117.图6是本技术实施例提供的另一种数据传输方法的流程图。本技术实施例的交互主体为第一设备和第二设备,参见图6,该方法包括:
118.601、第一设备向第二设备发送认证请求。
119.第一设备和第二设备之间建立有物理链路,物理链路是指通过物理传输介质建立连接的通信链路,物理链路包括蓝牙链路、串口链路、网线链路或通用串行总线usb链路中的至少一种。可选地,该物理链路为其他类型的物理通信链路,本技术实施例对此不做限定。其中,该物理链路与上述步骤401中的物理链路相同,在此不再一一赘述。
120.第一设备和第二设备通过物理链路进行数据传输,由于直接通过物理链路进行数
据传输,传输的数据可能会被恶意程序窃听或者篡改,因此数据传输的安全性较差。为了保证数据的保密性和可靠性,第一设备和第二设备进行数据传输之前,通过相互认证来获取第一设备与第二设备之间的会话密钥,从而采用会话密钥对数据进行加密和解密,以确保传输的数据不会被窃听和篡改,也即是建立一个安全传输数据的通道。因此,首先第一设备向第二设备发送认证请求,从而开启第一设备与第二设备之间的认证过程。
121.在一种可能实现方式中,该认证请求中携带第一设备的第一协议版本信息。第一协议版本信息是指第一设备所使用的安全协议的版本信息,该安全协议用于保证两个设备进行通信的保密性和数据完整性。可选地,版本信息中包括安全协议的版本号。可选地,该安全协议为tls协议(transport layer security,安全传输层协议)或者ssl协议(secure sockets layer,安全套接层协议)。其中,tls协议包括记录层协议和传输层协议。记录层协议用于确定传输层数据的封装格式,传输层安全协议用于进行身份认证、密钥交换、密钥生成或者数据的加密和解密等。
122.602、第二设备响应于第一设备发送的认证请求,向第一设备发送第一随机数。
123.第二设备响应于第一设备发送的认证请求,随机生成第一随机数,并向该第一设备发送第一随机数,该第一随机数用于生成第一设备和第二设备之间的会话密钥。
124.在一种可能实现方式中,认证请求携带第一设备的第一协议版本信息。第二设备响应于第一设备发送的认证请求,向第一设备发送第一随机数和第二设备的第二协议版本信息。
125.第二设备接收到第一设备的认证请求,确定认证请求中携带第一设备中的第一协议版本信息,则第二设备确定该第二设备中的第二协议版本信息,并随机生成第一随机数,向该第一设备发送第一随机数和第二协议版本信息。其中,该第二协议版本信息为第二设备中的安全协议的版本信息,该第二设备中的安全协议与第一设备中的安全协议类似,但是第二设备中的安全协议和第一设备中的安全协议的版本可能相同也可能不同,因此第一设备和第二设备在认证过程中互换安全协议的版本信息,从而获知对方的安全协议的版本信息。
126.在另一种可能实现方式中,第二设备响应于第一设备发送的认证请求,向第一设备发送第一随机数和第一证书。
127.第二设备接收到第一设备的认证请求,获取该第二设备的第一证书,并随机生成第一随机数,向该第一设备发送第一随机数和第一证书。其中,该第一证书用于指示第二设备的身份。可选地,第一证书为第一设备的ca(certificate authority,证书授权中心)证书,其中,ca证书中包括第二设备的身份信息和ca签名,身份信息用于证明第二设备的身份,ca签名用于保证身份信息的真实性。可选地,第一证书为其他类型的数字证书,本技术实施例对此不做限定。
128.在另一种可能实现方式中,认证请求携带第一设备的第一协议版本信息。第二设备响应于第一设备发送的认证请求,向第一设备发送第一随机数、第二协议版本信息和第一证书。
129.第二设备接收到第一设备的认证请求,确定认证请求中携带第一设备中的第一协议版本信息,则第二设备确定该第二设备中的第二协议版本信息,获取该第二设备的第一证书,并随机生成第一随机数,向第一设备发送该第一协议版本信息、第一证书和第一随机
数。
130.603、第一设备接收第二设备返回的第一随机数,向第二设备发送第二随机数。
131.第一设备接收到第二设备返回的第一随机数,则随机生成第二随机数,向第二设备发送该第二随机数,该第二随机数也用于生成第一设备和第二设备之间的会话密钥。
132.在一种可能实现方式中,第一设备接收第二设备返回的第一随机数,向第二设备发送第二随机数和至少一个加密算法。
133.第一设备接收到第二设备返回的第一随机数,随机生成第二随机数,并确定至少一个加密算法,向第二设备发送该第二随机数和该至少一个加密算法。其中,加密算法用于生成会话密钥,以及用于采用生成会话密钥对数据进行加密和解密。
134.可选地,认证请求携带第一设备的第一协议版本信息,第二设备还向第一设备返回了第二协议版本信息,则第一设备接收第二设备返回的第一随机数和第二协议版本信息之后,根据第一协议版本信息和第二协议版本信息,确定第一设备和第二设备支持的至少一个加密算法,并向第二设备发送第二随机数和至少一个加密算法。
135.其中,加密算法用于生成会话密钥,而第一设备和第二设备均需要生成会话密钥,因此该加密算法应该为第一设备和第二设备支持的加密算法,则第一设备可以根据第一协议版本信息,确定第一设备所支持的至少一个加密算法,根据第二协议版本信息,确定第二设备所支持的至少一个加密算法,从而在多个加密算法中,确定第一设备和第二设备均支持的至少一个加密算法。可选地,第一设备还根据该第一设备自身的属性信息等,来确定该第一设备支持的至少一个加密算法。
136.在另一种可能实现方式中,第一设备接收第二设备返回的第一随机数和第一证书,对第一证书验证通过,则向第二设备发送第二随机数和第二证书。
137.第二设备接收到第一设备的认证请求之后,还返回该第二设备的第一证书。则第一设备接收到第一证书,对该第一证书进行验证,以验证第二设备的身份,确定该第一证书验证通过时,证明该第二设备的身份是真实可靠的,则第一设备获取该第一设备的第二证书,并随机生成第二随机数,向第二设备发送该第二随机数和第二证书。其中,第二证书用于指示第一设备的身份。该第二证书与上述步骤602中的第一证书类似,在此不再一一赘述。
138.可选地,第一设备采用非对称加密算法来对第二设备的第一证书进行验证。可选地,通过证书授权中心来协助完成采用非对称加密算法的身份验证过程。其中,证书授权中心将自己的公钥发送给第一设备和第二设备。第二设备将第二设备的公钥和身份信息发送给证书授权中心,证书授权中心采用自己的私钥对第二设备的公钥和身份信息进行加密,得到第二设备的第一证书。则第二设备将第一证书发送给第一设备之后,第一设备采用证书授权中心的公钥对第一证书进行解密,得到第二设备的公钥和身份信息,从而对身份信息进行验证。可选地,第一设备可以利用第二设备的公钥与第二设备进行交互。
139.在另一种可能实现方式中,第一设备接收第二设备返回的第一随机数和第一证书,对第一证书验证通过,向第二设备发送第二随机数、至少一个加密算法和第二证书。
140.第一设备接收到第一随机数和第一证书,对该第一证书进行验证,以验证第二设备的身份,确定该第一证书验证通过时,证明该第二设备的身份是真实可靠的,则第一设备获取该第一设备的第二证书,确定至少一个加密算法,并随机生成第二随机数,向第二设备
发送该第二随机数、至少一个加密算法和第二证书。
141.604、第二设备接收第一设备返回的第二随机数,向第一设备发送目标加密算法。
142.第二设备接收到第一设备返回的第二随机数,则确定目标加密算法,向第一设备发送该目标加密算法。其中,目标加密算法用于生成第一设备和第二设备之间的会话密钥。可选地,该目标加密算法为动态密钥算法、aes(advanced encryption standard,高级加密标准)加密算法或者3des(triple data encryption standard,三重数据加密标准)加密算法等,或者其他类型的加密算法,本技术实施例对此不做限定。
143.在一种可能实现方式中,第二设备接收第一设备返回的第二随机数和至少一个加密算法,从至少一个加密算法中确定目标加密算法,向第一设备发送目标加密算法。
144.第一设备向第二设备发送至少一个加密算法,该至少一个加密算法为第一设备确定的该第一设备和第二设备支持的加密算法,则第二设备从该至少一个加密算法中确定目标加密算法,后续通过该目标加密算法来生成会话密钥。可选地,第二设备根据该第二设备自身的属性信息,在至少一个加密算法中确定一个第二设备支持的目标加密算法。
145.在另一种可能实现方式中,第二设备接收第一设备返回的第二随机数和第二证书,对第二证书验证通过,则向第一设备发送目标加密算法。
146.第二设备接收到第二证书,对该第二证书进行验证,以验证第一设备的身份,确定该第二证书验证通过时,证明该第一设备的身份是真实可靠的,则第二设备确定目标加密算法,向第一设备发送该目标加密算法。可选地,第二设备采用非对称加密算法来对第一设备的第二证书进行验证。
147.通过执行上述步骤601-604,完成了第一设备与第二设备之间的数据交换,此时第一设备获取到了第一随机数、第二随机数以及目标加密算法,第二设备也获取到了第一随机数、第二随机数以及目标加密算法。
148.605、第二设备根据目标加密算法,对第一随机数和第二随机数进行处理得到会话密钥。
149.目标加密算法中包括对随机数进行加密生成会话密钥的方法,因此第二设备确定目标加密算法、第一随机数和第二随机数之后,根据目标加密算法,对第一随机数和第二随机数进行加密处理,得到第一设备和第二设备之间的会话密钥,该会话密钥用于对数据进行加密或者解密。
150.需要说明的是,本技术实施例仅以根据目标加密算法、第一随机数和第二随机数得到会话密钥为例进行说明。而在另一实施例中,采用其他方式来获取第一设备和第二设备之间的会话密钥。
151.606、第一设备接收第二设备返回的目标加密算法,根据目标加密算法,对第一随机数和第二随机数进行处理得到会话密钥。
152.第一设备确定目标加密算法、第一随机数和第二随机数之后,根据目标加密算法,对第一随机数和第二随机数进行加密处理,得到第一设备和第二设备之间的会话密钥。
153.其中,通过执行上述步骤601-605,完成了第一设备与第二设备进行身份认证以及密钥生成的过程,身份认证和密钥生成的过程又被称为握手阶段。当第一设备和第二设备完成握手之后,第一设备和第二设备即可使用会话密钥对数据进行加密或者解密,来确保通信的安全性。
154.在一种可能实现方式中,参见上述图3,第一设备包括第一业务层、第一安全层和第一传输层,第一业务层与第一安全层连接,第一安全层与第一传输层连接。第二设备包括第二业务层、第二安全层和第二传输层,第二业务层与第二安全层连接,第二安全层与第二传输层连接。其中,第一传输层和第二传输层之间建立有物理链路,第一设备和第二设备通过第一传输层和第二传输层之间的物理链路进行通信。
155.其中,业务层用于处理业务数据,将从安全层获取的数据进行解析和处理,从而完成业务功能。安全层用于将从传输层获取的数据进行解析和处理,还用于执行身份认证、密钥交换、密钥生成等过程,并基于会话密钥对业务层的数据进行加密,然后传递给传输层,或者基于会话密钥对传输层的数据进行解密,然后传递给业务层。传输层用于接收物理链路传输过来的数据,并通过数据进行解析、校验和去重等流程,将处理后的数据传递到安全层,同时对安全层传递过来的数据进行组装、发送和重发等流程,将处理后的数据通过物理链路进行传输。
156.其中,第一安全层和第二安全层用于实现设备之间的认证、交换会话密钥以及对数据进行加密和解密,第一传输层和第二传输层用于通过物理链路进行数据传输。安全层仅用于执行对数据的加密和解密,而不关注数据的收发,传输层因用于执行对数据的收发,而不关注数据的加密和解密。安全层对业务层传递过来的数据进行加密,或者安全层将接收的数据进行解密并传递给业务层,从而为业务层的业务数据提供安全保障。
157.则参见图7,上述步骤601-606,由以下步骤701-706代替:
158.701、第一设备通过第一安全层生成认证请求,第一安全层将认证请求传递给第一传输层,第一传输层通过物理链路向第二设备的第二传输层发送该认证请求。
159.可选地,该认证请求中携带第一设备的第一协议版本信息。
160.702、第二设备通过物理链路接收该认证请求,由第二传输层将认证请求传递给第二安全层,第二安全层响应于认证请求,生成第一随机数,并将第一随机数传递给第二传输层,第二传输层通过物理链路向第一设备的第一传输层发送该第一随机数。
161.可选地,认证请求携带第一设备的第一协议版本信息。第二安全层响应于认证请求,生成第一随机数,获取第二设备的第二协议版本信息,并将第一随机数和第二协议版本信息传递给第二传输层,第二传输层通过物理链路向第一设备的第一传输层发送该第一随机数和第二协议版本信息。
162.可选地,第二安全层响应于认证请求,生成第一随机数,获取第一证书,并将第一随机数和第一证书传递给第二传输层,第二传输层通过物理链路向第一设备的第一传输层发送该第一随机数和第一证书。
163.703、第一设备通过物理链路接收该第一随机数,由第一传输层将第一随机数传递给第一安全层,第一安全层接收到第一随机数,生成第二随机数,第一安全层将第二随机数传递给第一传输层,第一传输层通过物理链路向第二设备的第二传输层发送该第二随机数。
164.可选地,第一安全层接收第一随机数,生成第二随机数,获取至少一个加密算法,第一安全层将第二随机数和至少一个加密算法传递给第一传输层,第一传输层通过物理链路向第二设备的第二传输层发送该第二随机数和至少一个加密算法。
165.可选地,认证请求携带第一设备的第一协议版本信息。第二设备还向第一设备返
回了第二协议版本信息,则第一设备通过物理链路接收该第一随机数和第二协议版本信息,由第一传输层将第一随机数和第二协议版本信息传递给第一安全层,第一安全层接收第一随机数和第二协议版本信息之后,根据第一协议版本信息和第二协议版本信息,确定第一设备和第二设备支持的至少一个加密算法。
166.可选地,第一设备通过物理链路接收第一随机数和第一证书,由第一传输层将第一随机数和第一证书传递给第一安全层,第一安全层接收到第一随机数和第一证书,对第一证书进行验证,确定第一证书验证通过,则生成第二随机数,获取第一设备的第二证书,第一安全层将第二随机数和第二证书传递给第一传输层,第一传输层通过物理链路向第二设备的第二传输层发送该第二随机数和第二证书。
167.704、第二设备通过物理链路接收第二随机数,由第二传输层将第二随机数传递给第二安全层,第二安全层接收到第二随机数,确定目标加密算法,第二安全层将目标加密算法传递给第二传输层,第二传输层通过物理链路向第一设备的第一传输层发送该目标加密算法。
168.可选地,第二设备通过物理链路接收第二随机数和至少一个加密算法,由第二传输层将第二随机数和至少一个加密算法传递给第二安全层,第二安全层接收到第二随机数和至少一个加密算法,从至少一个加密算法中确定目标加密算法。
169.可选地,第二设备通过物理链路接收第二随机数和第二证书,由第二传输层将第二随机数和第二证书传递给第二安全层,第二安全层接收到第二随机数和第二证书,对第二证书进行验证,确定第二证书验证通过,则确定目标加密算法,第二安全层将目标加密算法传递给第二传输层,第二传输层通过物理链路向第一设备的第一传输层发送该目标加密算法。
170.705、第二设备通过第二安全层,根据目标加密算法,对第一随机数和第二随机数进行处理得到会话密钥。
171.706、第一设备通过物理链路接收目标加密算法,由第一传输层将目标加密算法传递给第一安全层,第一安全层接收到目标加密算法,则根据目标加密算法,对第一随机数和第二随机数进行处理得到会话密钥。
172.需要说明的是,本技术实施例仅以第一设备向第二设备发送认证请求,来完成认证过程为例进行说明,在另一实施例中,由第二设备向第一设备发送认证请求,来完成认证过程。
173.以第一设备为收银机,第二设备为支付设备为例。图8是本技术实施例提供的一种收银机与支付设备的认证过程的流程图,参见图8,该认证过程包括:
174.801、收银机向支付设备发送收银机的协议版本信息;
175.802、支付设备向收银机返回支付设备的协议版本信息、支付设备的证书和支付设备的随机数;
176.803、收银机校验支付设备的证书是否合法,确定支付设备的证书合法,则执行步骤804;
177.804、收银机向支付设备发送收银机的证书和收银机的随机数;
178.805、支付设备校验收银机的证书是否合法,确定收银机的证书合法,则执行步骤806;
179.806、收银机向支付设备发送可支持的至少一个加密算法;
180.807、支付设备选定目标加密算法,向收银机发送该目标加密算法;
181.808、收银机根据目标加密算法、收银机的随机数和支付设备的随机数生成会话密钥;
182.809、支付设备根据目标加密算法、收银机的随机数和支付设备的随机数生成会话密钥。
183.通过执行上述步骤801-809,支付设备和收银机均获得了支付设备与收银机之间的会话密钥,后续支付设备和收银机即可根据该会话密钥进行通信,来确定通信的保密性和可靠性。
184.607、第一设备确定第一设备与第二设备之间的会话密钥。
185.当第一设备和第二设备均获取到第一设备与第二设备之间的会话密钥,为了保证第一设备与第二设备通过物理链路进行数据传输的安全性,第一设备可以采用该会话密钥对要传输的数据进行加密。因此,在第一设备与第二设备进行数据传输之前,第一设备先确定与第二设备之间的会话密钥。
186.需要说明的是,本技术实施例仅以第一设备与第二设备进行数据传输为例说明了第一设备和第二设备交换会话密钥的过程。可选地,第一设备中存储有该第一设备与多个设备之间的会话密钥,该多个设备中包括第二设备,因此,第一设备在多个会话密钥中,确定与第二设备之间的会话密钥。
187.608、第一设备采用会话密钥对第一数据进行加密,得到第二数据。
188.第一设备确定与第二设备之间的会话密钥,以及要发送给第二设备的第一数据之后,采用该会话密钥对该第一数据进行加密,得到加密后的第二数据。
189.其中,由于第二数据为对第一数据进行加密得到的,因此根据第二数据无法直接获知第一数据的内容。可选地,第二数据为乱码的数据或者没有实际意义的数据。因此,即使该第二数据被恶意程序拦截到,恶意程序也无法从第二数据中得到第一数据,保证了第一数据的安全性。
190.可选地,目标加密算法中还包括采用会话密钥对数据进行加密的方法,则第一设备确定生成该会话密钥的目标加密算法,并根据该目标加密算法,采用会话密钥对第一数据进行加密,得到加密后的第二数据。
191.609、第一设备通过物理链路向第二设备发送第二数据。
192.第一设备完成对第一数据的加密后,则通过与第二设备之间的物理链路,向第二设备发送加密得到的第二数据。
193.610、第二设备通过物理链路接收第一设备发送的第二数据。
194.611、第二设备确定第二设备与第一设备之间的会话密钥。
195.由于第二数据为第一设备对第一数据进行加密得到的数据,因此第一设备真正要传输给第二设备的数据为第一数据,第二数据仅是为了保护第一数据的安全性而产生的数据,则第二设备需要对第二数据进行解密才能得到第一数据。因此,第二设备先确定第二设备与第一设备之间的会话密钥。
196.需要说明的是,本技术实施例仅以第一设备与第二设备进行数据传输为例说明了第一设备和第二设备交换会话密钥的过程。可选地,第二设备中存储有该第二设备与多个
设备之间的会话密钥,该多个设备中包括第一设备,因此,第二设备在多个会话密钥中,确定与第一设备之间的会话密钥。
197.612、第二设备采用会话密钥对第二数据进行解密,得到第一数据。
198.第二设备确定与第一设备之间的会话密钥之后,采用该会话密钥对该第二数据进行解密,得到解密后的第一数据。
199.可选地,目标加密算法中还包括采用会话密钥对数据进行解密的方法,则第二设备确定生成该会话密钥的目标加密算法,并根据该目标加密算法,采用会话密钥对第二数据进行解密,得到解密后的第一数据。
200.在一种可能实现方式中,第一设备包括第一业务层、第一安全层和第一传输层。第二设备包括第二业务层、第二安全层和第二传输层。则上述步骤607-612,由下述步骤901-909代替。参见图9,步骤包括:
201.901、第一设备通过第一设备的第一业务层,向第一设备的第一安全层传递第一数据;
202.902、第一设备通过第一安全层,确定第一设备与第二设备之间的会话密钥,采用会话密钥对第一数据进行加密,得到第二数据;
203.903、第一设备通过第一安全层,向第一设备的第一传输层传递第二数据;
204.904、第一设备通过第一传输层与第二设备的第二传输层之间的物理链路,向第二传输层发送第二数据;
205.905、第二设备通过第二设备的第二传输层与第一设备的第一传输层之间的物理链路,接收第一传输层发送的第二数据;
206.906、第二设备通过第二传输层,向第二设备的第二安全层传递第二数据;
207.907、第二设备通过第二安全层,确定第二设备与第一设备之间的会话密钥,采用会话密钥对第二数据进行解密,得到第一数据;
208.908、第二设备通过第二安全层,向第二设备的第二业务层传递第一数据;
209.909、第二设备通过第二业务层,对第一数据进行处理。
210.以第一设备为收银机,第二设备为支付设备为例,则收银机和支付设备完成认证之后,可以通过会话密钥进行数据传输。图10是本技术实施例提供的一种收银机向支付设备发送数据的流程图,参见图10,数据发送过程如下:
211.1001、收银机的第一业务层将数据传递给第一安全层;
212.1002、收银机的第一安全层利用会话密钥对数据进行加密;
213.1003、收银机的第一安全层将加密后的数据传递给第一传输层;
214.1004、收银机的第一传输层将加密后的数据发给支付设备的第二传输层;
215.1005、支付设备的第二传输层将加密后的数据传递给第二安全层;
216.1006、支付设备的第二安全层利用会话密钥对数据进行解密;
217.1007、支付设备的第二安全层将解密后的数据传递给第二业务层;
218.1008、支付设备的第二业务层对解密后的数据进行处理。
219.图11是本技术实施例提供的一种支付设备向收银机发送数据的流程图。参见图11,数据发送过程如下:
220.1101、支付设备的第二业务层将数据传递给第二安全层;
221.1102、支付设备的第二安全层利用会话密钥对数据进行加密;
222.1103、支付设备的第二安全层将加密后的数据传递给第二传输层;
223.1104、支付设备的第二传输层将加密后的数据发给收银机的第一传输层;
224.1105、收银机的第一传输层将加密后的数据传递给第一安全层;
225.1106、收银机的第一安全层利用会话密钥对数据进行解密;
226.1107、收银机的第一安全层将解密后的数据传递给第一业务层;
227.1108、收银机的第一业务层对解密后的数据进行处理。
228.图12是本技术实施例提供的另一种数据传输方法的示意图,参见图12,第一设备和第二设备进行认证以及数据传输的过程如下:
229.1201、第一设备向第二设备发送第一设备的协议版本信息;
230.1202、第二设备返回第二设备的协议版本信息、第二设备的证书和第二设备的随机数;
231.1203、第一设备校验第二设备的证书是否合法,确定第二设备的证书合法,则执行步骤1204;
232.1204、第一设备向第二舌部发送第一设备的证书和第一设备的随机数;
233.1205、第二设备校验第一设备的证书是否合法,确定第一设备的证书合法,则执行步骤1206;
234.1206、第一设备向第二设备发送可支持的至少一个加密算法;
235.1207、第二设备选定目标加密算法,向第一设备发送该目标加密算法;
236.1208、第一设备根据目标加密算法、第一设备的随机数和第二设备的随机数生成会话密钥;
237.1209、第二设备根据目标加密算法、第一设备的随机数和第二设备的随机数生成会话密钥;
238.1210、第一设备使用会话密钥加密数据,向第二设备传输加密后的数据;
239.1211、第二设备使用会话密钥加密数据,向第一设备传输加密后的数据。
240.本技术实施例提供了在物理链路上实现数据加密传输的方案,能够在两个设备之间建立物理链路,并且这两个设备持有会话密钥,任一设备要进行数据传输时,首先采用会话密钥对数据进行加密,然后通过物理链路传输加密后的数据,由对方设备采用该会话密钥对加密后的数据进行解密。通过上述方法,则物理链路中传输的数据为加密后的数据,不易被窃听或篡改,保证了数据传输的安全性和可靠性。
241.并且,两个设备互换证书,并验证对方设备的证书,确定双方的证书均通过验证,才会继续执行认证流程来生成会话密钥。上述认证流程能够避免恶意程序假冒设备来窃取会话密钥,进而避免了恶意程序采用会话密钥窃听或篡改数据,进一步保证了数据传输的安全性和可靠性。
242.并且,两个设备互换协议版本信息,以协商双方均支持的目标加密算法,能够避免使用某一方设备不支持的加密算法,而导致无法生成会话密钥的情况。
243.图13是本技术实施例提供的一种数据传输装置的结构示意图。参见图13,该装置包括:
244.数据传递模块1301,用于通过第一设备的第一业务层,向第一设备的第一安全层
传递第一数据;
245.密钥确定模块1302,用于通过第一安全层,确定第一设备与第二设备之间的会话密钥,第一设备的第一传输层和第二设备的第二传输层之间建立有物理链路,物理链路是指通过物理传输介质建立连接的通信链路,物理链路包括蓝牙链路、串口链路、网线链路或通用串行总线usb链路中的至少一种;
246.加密模块1303,用于通过第一安全层,采用会话密钥对第一数据进行加密,得到第二数据,向第一传输层传递第二数据;
247.数据发送模块1304,用于通过物理链路,向第二传输层发送第二数据,第二设备用于通过第二传输层,向第二设备的第二安全层传递第二数据,通过第二安全层,采用会话密钥对第二数据进行解密,得到第一数据。
248.本技术实施例提供的装置,能够在两个设备之间建立物理链路,并且这两个设备持有会话密钥,任一设备要进行数据传输时,首先采用会话密钥对数据进行加密,然后通过物理链路传输加密后的数据,由对方设备采用该会话密钥对加密后的数据进行解密。则物理链路中传输的数据为加密后的数据,不易被窃听或篡改,保证了数据传输的安全性和可靠性。
249.可选地,参见图14,装置还包括:
250.请求发送模块1305,用于通过物理链路,向第二设备发送认证请求,第二设备用于响应于认证请求,通过物理链路,返回第一随机数;
251.随机数交互模块1306,用于通过物理链路,接收第二设备返回的第一随机数,向第二设备发送第二随机数,第二设备还用于接收到第二随机数,通过物理链路,返回目标加密算法,第二设备还用于通过第二安全层,根据目标加密算法,对第一随机数和第二随机数进行处理得到会话密钥;
252.密钥获取模块1307,用于通过物理链路,接收第二设备返回的目标加密算法;通过第一传输层,向第一安全层传递目标加密算法;通过第一安全层,根据目标加密算法,对第一随机数和第二随机数进行处理得到会话密钥。
253.可选地,参见图14,随机数交互模块1306,包括:
254.随机数交互单元1316,用于通过物理链路,接收第二设备返回的第一随机数,向第二设备发送第二随机数和至少一个加密算法;第二设备还用于通过第二安全层,从至少一个加密算法中确定目标加密算法。
255.可选地,参见图14,认证请求携带第一设备的第一协议版本信息,随机数交互单元1316,用于:
256.通过物理链路,接收第二设备返回的第一随机数和第二协议版本信息;
257.通过第一传输层,向第一安全层传递第一随机数和第二协议版本信息;
258.通过第一安全层,根据第一协议版本信息和第二协议版本信息,确定第一设备和第二设备支持的至少一个加密算法,向第一传输层传递第二随机数和至少一个加密算法;
259.通过物理链路,向第二设备发送第二随机数和至少一个加密算法。
260.可选地,参见图14,随机数交互模块1306,包括:
261.随机数接收单元1326,用于通过物理链路,接收第二设备返回的第一随机数和第一证书,第一证书用于指示第二设备的身份;通过第一传输层,向第一安全层传递第一随机
数和第一证书;
262.随机数发送单元1336,用于通过第一安全层,对第一证书验证通过,则向第一传输层传递第二随机数和第二证书,第二证书用于指示第一设备的身份;通过物理链路,向第二设备发送第二随机数和第二证书,第二设备用于通过第二安全层,对第二证书验证通过,则向第一设备返回目标加密算法。
263.需要说明的是:上述实施例提供的数据传输装置在传输数据时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将第一设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的数据传输装置与数据传输方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
264.图15是本技术实施例提供的一种数据传输装置的结构示意图。参见图15,该装置包括:
265.数据接收模块1501,用于通过第一设备的第一传输层与第二设备的第二传输层之间的物理链路,接收第一设备发送的第二数据,第一传输层和第二传输层之间建立有物理链路,物理链路是指通过物理传输介质建立连接的通信链路,物理链路包括蓝牙链路、串口链路、网线链路或通用串行总线usb链路中的至少一种,第二数据由第一设备的第一安全层传递给第一传输层,第一安全层用于采用会话密钥对第一数据进行加密,得到第二数据;
266.数据传递模块1502,用于通过第二传输层,向第二设备的第二安全层传递第二数据;
267.密钥确定模块1503,用于通过第二安全层,确定第二设备与第一设备之间的会话密钥;
268.解密模块1504,用于通过第二安全层,采用会话密钥对第二数据进行解密,得到第一数据。
269.本技术实施例提供的装置,能够在两个设备之间建立物理链路,并且这两个设备持有会话密钥,任一设备要进行数据传输时,首先采用会话密钥对数据进行加密,然后通过物理链路传输加密后的数据,由对方设备采用该会话密钥对加密后的数据进行解密。则物理链路中传输的数据为加密后的数据,不易被窃听或篡改,保证了数据传输的安全性和可靠性。
270.可选地,参见图16,装置还包括:
271.数据传递模块1502,还用于通过第二安全层,向第二设备的第二业务层传递第一数据;
272.数据处理模块1505,用于通过第二业务层,对第一数据进行处理。
273.可选地,参见图16,装置还包括:
274.随机数发送模块1506,用于响应于第一设备发送的认证请求,通过物理链路,向第一设备发送第一随机数,第一设备用于返回第二随机数;
275.加密算法发送模块1507,用于通过物理链路,接收第一设备返回的第二随机数,向第一设备发送目标加密算法,第一设备还用于通过第一安全层,根据目标加密算法,对第一随机数和第二随机数进行处理得到会话密钥;
276.密钥获取模块1508,用于通过第二安全层,根据目标加密算法,对第一随机数和第
二随机数进行处理得到会话密钥。
277.可选地,参见图16,加密算法发送模块1507,包括:
278.第一随机数接收单元1517,用于通过物理链路,接收第一设备返回的第二随机数和至少一个加密算法;通过第二传输层,向第二安全层传递第二随机数和至少一个加密算法;
279.加密算法确定单元1527,用于通过第二安全层,从至少一个加密算法中确定目标加密算法,向第二传输层传递目标加密算法;
280.加密算法发送单元1537,用于通过物理链路,向第一设备发送目标加密算法。
281.可选地,参见图16,认证请求携带第一设备的第一协议版本信息,随机数发送模块1506,包括:
282.第一随机数发送单元1516,用于响应于第一设备发送的认证请求,通过物理链路,向第一设备发送第一随机数和第二设备的第二协议版本信息,第一设备用于通过第一安全层,根据第一协议版本信息和第二协议版本信息,确定第一设备和第二设备支持的至少一个加密算法。
283.可选地,参见图16,随机数发送模块1506,包括:
284.第二随机数发送单元1526,用于响应于第一设备发送的认证请求,通过物理链路,向第一设备发送第一随机数和第一证书,第一证书用于指示第二设备的身份,第一设备用于通过第一安全层,对第一证书验证通过,则向第二设备返回第二随机数和第二证书,第二证书用于指示第一设备的身份;
285.加密算法发送模块1507,包括:
286.第二随机数接收单元1547,用于通过物理链路,接收第一设备返回的第二随机数和第二证书;通过第二传输层,向第二安全层传递第二随机数和第二证书;
287.加密算法发送单元1537,还用于通过第二安全层,对第二证书验证通过,则向第二传输层传递目标加密算法;通过物理链路,向第一设备发送目标加密算法。
288.需要说明的是:上述实施例提供的数据传输装置在传输数据时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将第二设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的数据传输装置与数据传输方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
289.图17示出了本技术一个示例性实施例提供的终端1700的结构示意图。终端1700可以用于执行上述数据传输方法中第一设备或者第二设备所执行的步骤。
290.通常,终端1700包括有:处理器1701和存储器1702。
291.处理器1701可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器1701可以采用dsp(digital signal processing,数字信号处理)、fpga(field-programmable gate array,现场可编程门阵列)、pla(programmable logic array,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器1701也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称cpu(central processing unit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器1701可以集成有gpu(graphics processing unit,图像处理的交互
器),gpu用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器1701还可以包括ai(artificial intelligence,人工智能)处理器,该ai处理器用于处理有关机器学习的计算操作。
292.存储器1702可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器1702还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。在一些实施例中,存储器1702中的非暂态的计算机可读存储介质用于存储至少一条程序代码,该至少一条程序代码用于被处理器1701所具有以实现本技术中方法实施例提供的数据传输方法。
293.在一些实施例中,终端1700还可选包括有:外围设备接口1703和至少一个外围设备。处理器1701、存储器1702和外围设备接口1703之间可以通过总线或信号线相连。各个外围设备可以通过总线、信号线或电路板与外围设备接口1703相连。可选地,外围设备包括:射频电路1704、显示屏1705、摄像头组件1706、音频电路1707、定位组件1708和电源1709中的至少一种。
294.外围设备接口1703可被用于将i/o(input/output,输入/输出)相关的至少一个外围设备连接到处理器1701和存储器1702。在一些实施例中,处理器1701、存储器1702和外围设备接口1703被集成在同一芯片或电路板上;在一些其他实施例中,处理器1701、存储器1702和外围设备接口1703中的任意一个或两个可以在单独的芯片或电路板上实现,本实施例对此不加以限定。
295.射频电路1704用于接收和发射rf(radio frequency,射频)信号,也称电磁信号。射频电路1704通过电磁信号与通信网络以及其他通信设备进行通信。射频电路1704将电信号转换为电磁信号进行发送,或者,将接收到的电磁信号转换为电信号。可选地,射频电路1704包括:天线系统、rf收发器、一个或多个放大器、调谐器、振荡器、数字信号处理器、编解码芯片组、用户身份模块卡等等。射频电路1704可以通过至少一种无线通信协议来与其它设备进行通信。该无线通信协议包括但不限于:城域网、各代移动通信网络(2g、3g、4g及5g)、无线局域网和/或wifi(wireless fidelity,无线保真)网络。在一些实施例中,射频电路1704还可以包括nfc(near field communication,近距离无线通信)有关的电路,本技术对此不加以限定。
296.显示屏1705用于显示ui(user interface,用户界面)。该ui可以包括图形、文本、图标、视频及其它们的任意组合。当显示屏1705是触摸显示屏时,显示屏1705还具有采集在显示屏1705的表面或表面上方的触摸信号的能力。该触摸信号可以作为控制信号输入至处理器1701进行处理。此时,显示屏1705还可以用于提供虚拟按钮和/或虚拟键盘,也称软按钮和/或软键盘。在一些实施例中,显示屏1705可以为一个,设置在终端1700的前面板;在另一些实施例中,显示屏1705可以为至少两个,分别设置在终端1700的不同表面或呈折叠设计;在另一些实施例中,显示屏1705可以是柔性显示屏,设置在终端1700的弯曲表面上或折叠面上。甚至,显示屏1705还可以设置成非矩形的不规则图形,也即异形屏。显示屏1705可以采用lcd(liquid crystal display,液晶显示屏)、oled(organic light-emitting diode,有机发光二极管)等材质制备。
297.摄像头组件1706用于采集图像或视频。可选地,摄像头组件1706包括前置摄像头和后置摄像头。通常,前置摄像头设置在终端1700的前面板,后置摄像头设置在终端1700的
背面。在一些实施例中,后置摄像头为至少两个,分别为主摄像头、景深摄像头、广角摄像头、长焦摄像头中的任意一种,以实现主摄像头和景深摄像头融合实现背景虚化功能、主摄像头和广角摄像头融合实现全景拍摄以及vr(virtual reality,虚拟现实)拍摄功能或者其它融合拍摄功能。在一些实施例中,摄像头组件1706还可以包括闪光灯。闪光灯可以是单色温闪光灯,也可以是双色温闪光灯。双色温闪光灯是指暖光闪光灯和冷光闪光灯的组合,可以用于不同色温下的光线补偿。
298.音频电路1707可以包括麦克风和扬声器。麦克风用于采集用户及环境的声波,并将声波转换为电信号输入至处理器1701进行处理,或者输入至射频电路1704以实现语音通信。出于立体声采集或降噪的目的,麦克风可以为多个,分别设置在终端1700的不同部位。麦克风还可以是阵列麦克风或全向采集型麦克风。扬声器则用于将来自处理器1701或射频电路1704的电信号转换为声波。扬声器可以是传统的薄膜扬声器,也可以是压电陶瓷扬声器。当扬声器是压电陶瓷扬声器时,不仅可以将电信号转换为人类可听见的声波,也可以将电信号转换为人类听不见的声波以进行测距等用途。在一些实施例中,音频电路1707还可以包括耳机插孔。
299.定位组件1708用于定位终端1700的当前地理位置,以实现导航或lbs(location based service,基于位置的服务)。定位组件1708可以是基于美国的gps(global positioning system,全球定位系统)、中国的北斗系统、俄罗斯的格雷纳斯系统或欧盟的伽利略系统的定位组件。
300.电源1709用于为终端1700中的各个组件进行供电。电源1709可以是交流电、直流电、一次性电池或可充电电池。当电源1709包括可充电电池时,该可充电电池可以支持有线充电或无线充电。该可充电电池还可以用于支持快充技术。
301.在一些实施例中,终端1700还包括有一个或多个传感器1710。该一个或多个传感器1710包括但不限于:加速度传感器1711、陀螺仪传感器1712、压力传感器1713、指纹传感器1714、光学传感器1715以及接近传感器1716。
302.加速度传感器1711可以检测以终端1700建立的坐标系的三个坐标轴上的加速度大小。比如,加速度传感器1711可以用于检测重力加速度在三个坐标轴上的分量。处理器1701可以根据加速度传感器1711采集的重力加速度信号,控制显示屏1705以横向视图或纵向视图进行用户界面的显示。加速度传感器1711还可以用于游戏或者用户的运动数据的采集。
303.陀螺仪传感器1712可以检测终端1700的机体方向及转动角度,陀螺仪传感器1712可以与加速度传感器1711协同采集用户对终端1700的3d动作。处理器1701根据陀螺仪传感器1712采集的数据,可以实现如下功能:动作感应(比如根据用户的倾斜操作来改变ui)、拍摄时的图像稳定、游戏控制以及惯性导航。
304.压力传感器1713可以设置在终端1700的侧边框和/或显示屏1705的下层。当压力传感器1713设置在终端1700的侧边框时,可以检测用户对终端1700的握持信号,由处理器1701根据压力传感器1713采集的握持信号进行左右手识别或快捷操作。当压力传感器1713设置在显示屏1705的下层时,由处理器1701根据用户对显示屏1705的压力操作,实现对ui界面上的可操作性控件进行控制。可操作性控件包括按钮控件、滚动条控件、图标控件、菜单控件中的至少一种。
305.指纹传感器1714用于采集用户的指纹,由处理器1701根据指纹传感器1714采集到的指纹识别用户的身份,或者,由指纹传感器1714根据采集到的指纹识别用户的身份。在识别出用户的身份为可信身份时,由处理器1701授权该用户具有相关的敏感操作,该敏感操作包括解锁屏幕、查看加密信息、下载软件、支付及更改设置等。指纹传感器1714可以被设置在终端1700的正面、背面或侧面。当终端1700上设置有物理按键或厂商logo时,指纹传感器1714可以与物理按键或厂商标志集成在一起。
306.光学传感器1715用于采集环境光强度。在一个实施例中,处理器1701可以根据光学传感器1715采集的环境光强度,控制显示屏1705的显示亮度。可选地,当环境光强度较高时,调高显示屏1705的显示亮度;当环境光强度较低时,调低显示屏1705的显示亮度。在另一个实施例中,处理器1701还可以根据光学传感器1715采集的环境光强度,动态调整摄像头组件1706的拍摄参数。
307.接近传感器1716,也称距离传感器,通常设置在终端1700的前面板。接近传感器1716用于采集用户与终端1700的正面之间的距离。在一个实施例中,当接近传感器1716检测到用户与终端1700的正面之间的距离逐渐变小时,由处理器1701控制显示屏1705从亮屏状态切换为息屏状态;当接近传感器1716检测到用户与终端1700的正面之间的距离逐渐变大时,由处理器1701控制显示屏1705从息屏状态切换为亮屏状态。
308.本领域技术人员可以理解,图17中示出的结构并不构成对终端1700的限定,可以包括比图示更多或更少的组件,或者组合某些组件,或者采用不同的组件布置。
309.图18是本技术实施例提供的一种服务器的结构示意图,该服务器1800可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器(central processing units,cpu)1801和一个或一个以上的存储器1802,其中,所述存储器1802中存储有至少一条程序代码,所述至少一条程序代码由所述处理器1801加载并执行以实现上述各个方法实施例提供的方法。当然,该服务器还可以具有有线或无线网络接口、键盘以及输入输出接口等部件,以便进行输入输出,该服务器还可以包括其他用于实现设备功能的部件,在此不做赘述。
310.服务器1800可以用于执行上述数据传输方法中第一设备或者第二设备所执行的步骤。
311.本技术实施例还提供了一种计算机设备,该计算机设备包括处理器和存储器,存储器中存储有至少一条程序代码,该至少一条程序代码由处理器加载并执行,以实现上述实施例的数据传输方法。
312.本技术实施例还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有至少一条程序代码,该至少一条程序代码由处理器加载并执行,以实现上述实施例的数据传输方法。
313.本技术实施例还提供了一种计算机程序产品或计算机程序,计算机程序产品或计算机程序包括计算机程序代码,计算机程序代码存储在计算机可读存储介质中,计算机设备的处理器从计算机可读存储介质读取计算机程序代码,处理器执行计算机程序代码,使得计算机设备实现如上述实施例的数据传输方法。
314.本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读
存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
315.以上所述仅为本技术实施例的可选实施例,并不用以限制本技术实施例,凡在本技术实施例的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本技术的保护范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献