安全通信方法、装置、电子设备及存储介质与流程

未命名 08-26 阅读:127 评论:0


1.本技术涉及通信技术领域,尤其涉及一种安全通信方法、装置、电子设备及存储介质。


背景技术:

2.终端物联感知设备使用mqtt协议发送采集数据,可以在计算能力有限,低带宽、不可靠的网络的远程传感器和设备上使用。虽然终端物联感知设备可以进行mqtt协议数据的传输和处理,但是数据传输安全性不高,无法保证终端身份的安全和mqtt协议数据的安全。


技术实现要素:

3.有鉴于此,本技术的目的在于提出一种安全通信方法、装置、电子设备及存储介质用于解决数据传输安全性不高问题。
4.基于上述目的,本技术的第一方面提供了一种安全通信方法,包括:
5.响应于云端接收到终端的发送的设备注册请求,所述云端对所述终端进行验证;
6.响应于所述终端通过验证,所述云端向所述终端发送设备标识;
7.所述终端根据所述设备标识对原始数据进行组合加密,得到加密数据,并将所述加密数据发送至云端;
8.所述云端接收所述加密数据,并对所述加密数据进行分段解密,得到所述原始数据。
9.可选地,所述终端根据所述设备标识对原始数据进行组合加密,得到加密数据,包括:
10.所述终端根据所述设备标识对所述原始数据进行标记,得到标记数据;
11.所述终端根据对称加密算法和非对称加密算法对所述标记数据进行组合加密,得到加密数据,将所述加密数据发送至所述云端。
12.可选地,所述所述终端根据对称加密算法和非对称加密算法对所述标记数据进行组合加密,得到加密数据,包括:
13.所述终端根据所述对称加密算法生成随机密钥;
14.所述终端为所述随机密钥拼接预设的长度的盐值,得到盐值密钥;
15.所述终端利用所述非对称加密算法的公钥对所述盐值密钥进行加密,得到第一段密文;
16.所述终端根据所述随机密钥对所述标记数据进行加密,得到第二段密文;
17.根据预设的共享字符串连接所述第一段密文和所述第二段密文,得到所述加密数据,并向所述云端发送所述共享字符串。
18.可选地,所述云端接收所述加密数据,并对所述加密数据进行分段解密,得到所述原始数据,包括:
19.所述云端根据所述共享字符串对所述加密数据进行拆解,得到所述第一段密文和
所述第二段密文;
20.所述云端根据所述第一段密文对所述第二段密文进行进行解密,得到所述原始数据和所述设备标识;
21.所述云端根据预先构建的终端白名单和所述设备标识对所述原始数据进行解密验证;
22.若所述云端判定所述原始数据未通过验证,抛弃所述原始数据;
23.若所述云端判定所述原始数据通过验证,接收并保存所述原始数据。
24.可选地,所述云端根据所述第一段密文对所述第二段密文进行进行解密,得到所述原始数据和所述设备标识,包括:
25.所述云端根据所述非对称加密算法的私钥对所述第一段密文进行解密,得到所述盐值密钥;
26.所述云端根据预设长度的盐值对所述盐值密钥进行拆解,得到所述随机密钥;
27.所述云端根据所述随机密钥解密所述第二段密文,得到所述标记数据;
28.所述云端对所述所述标记数据进行标记提取,得到所述设备标识和原始数据。
29.可选地,响应于云端接收到终端的发送的设备注册请求,所述云端对所述终端进行验证,包括:
30.所述云端获取多个终端的历史通信记录,根据所述历史通信记录构建终端白名单;
31.响应于所述云端接收到终端的发送的设备注册请求,确定所述终端是否在所述终端白名单内;
32.响应于所述终端在所述终端白名单内,确定所述终端通过验证。
33.可选地,安全通信方法还包括:
34.响应于所述终端不在所述终端白名单内,确定所述终端未通过验证,并根据预设的时间间隔查看所述终端的所述历史通信记录,对所述终端进行重新验证。
35.本技术的第二方面提供了一种安全通信装置,包括:
36.云端,被配置为:响应于接收到终端的发送的设备注册请求,对所述终端进行验证;
37.响应于所述终端通过验证,向所述终端发送设备标识;
38.接收所述加密数据,并对所述加密数据进行分段解密,得到所述原始数据;
39.终端,被配置为:根据所述设备标识对原始数据进行组合加密,得到加密数据,并将所述加密数据发送至云端。
40.本技术的第三方面提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如本技术第一方面提供的所述的方法。
41.本技术的第四方面提供了一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令用于使计算机执行本技术第一方面提供的所述方法。
42.从上面所述可以看出,本技术提供的安全通信方法、装置、电子设备及存储介质,在云端接收到终端的发送的设备注册请求时,云端会对终端进行验证,在终端通过验证后,
云端向终端发送设备标识,终端根据接收得到的设备标识对原始数据进行组合加密,得到加密数据,并将加密数据发送至云端;云端对接收到的加密数据进行分段解密,得到原始数据,完成云端与终端之间的安全通信。在进行装备注册时云端对终端进行验证是通信过程的第一层的安全防护;然后在终端进行组合加密是对通信过程的第二层安全防护,最后使用与组合加密相对应的分段解密方法对加密数据进行解密,实现对通信过程的第三层安全防护,以实现云端与终端通信过程中的通信安全,提高数据传输的安全性。
附图说明
43.为了更清楚地说明本技术或相关技术中的技术方案,下面将对实施例或相关技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
44.图1为本技术实施例安全通信方法的流程图;
45.图2为本技术实施例组合加密的流程图;
46.图3为本技术实施例分段解密的流程图;
47.图4为本技术实施例安全通信装置的示意图;
48.图5为本技术实施例的电子设备的示意图。
具体实施方式
49.为使本技术的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本技术进一步详细说明。
50.需要说明的是,除非另外定义,本技术实施例使用的技术术语或者科学术语应当为本技术所属领域内具有一般技能的人士所理解的通常意义。本技术实施例中使用的“第一”、“第二”以及类似的词语并不表示任何顺序、数量或者重要性,而只是用来区分不同的组成部分。“包括”或者“包含”等类似的词语意指出现该词前面的元件或者物件涵盖出现在该词后面列举的元件或者物件及其等同,而不排除其他元件或者物件。“连接”或者“相连”等类似的词语并非限定于物理的或者机械的连接,而是可以包括电性的连接,不管是直接的还是间接的。“上”、“下”、“左”、“右”等仅用于表示相对位置关系,当被描述对象的绝对位置改变后,则该相对位置关系也可能相应地改变。
51.在本文中,需要理解的是,附图中的任何元素数量均用于示例而非限制,以及任何命名都仅用于区分,而不具有任何限制含义。
52.基于上述背景技术的描述,相关技术中还存在如下的情况:
53.在互联网或者物联网应用上,为了保证两个通信应用程序之间数据的完整性和安全性,普遍使用安全传输层协议(transport layer security protocol,tls)来建立安全的数据通信管道。每次建立通信管道时双方协商的对称秘钥都不会相同,因此恶意用户既无法解密通信数据,又无法在网络上抓包进行重放攻击。使用tls协议需要在物联网设备等终端上的操作系统里面预装第三方权威的验证中心(certificate authority,ca)的根证书,同时云端要到ca申请数据证书。另外,一次握手协商的交互流程要经过十多次的交互,数据通信管道方能创建完成,且验证中心基本是国外的机构,服务器也部署在国外,需要和
国外的服务器进行交互。
54.然而,物联网设备等终端的操作系统都很简单,不适合安装根证书,或者不具备安装根证书的系统环境。其次,物联网设备等终端的计算能力和联网能力比较差,标准的tls流程要和服务器经过十多次的交互,且还要和国外服务器交互,其交互性能比较差。另外,标准的tls流程需要到ca申请数字证书,数字证书要收费且有有效期限,要定期进行续费,有一定的运营成本。所以,终端物联感知设备选择使用mqtt(message queuing telemetry transport,消息队列遥测传输协议)发送采集到的数据,可以在计算能力有限,低带宽、不可靠的网络的远程传感器和终端设备上使用。虽然终端物联感知设备可以进行mqtt协议数据的传输和处理,但是存在数据传输安全性不高,无法保证终端身份的安全和mqtt协议数据的安全的问题。
55.本技术实施例提供的安全通信方法,能够在云端接收到终端的发送的设备注册请求时,云端会对终端进行验证,在终端通过验证后,云端向终端发送设备标识,终端根据接收得到的设备标识对原始数据进行组合加密,得到加密数据,并将加密数据发送至云端;云端对接收到的加密数据进行分段解密,得到原始数据,完成云端与终端之间的安全通信。在进行装备注册时云端对终端进行验证是通信过程的第一层的安全防护;然后在终端进行组合加密是对通信过程的第二层安全防护,最后使用与组合加密相对应的分段解密方法对加密数据进行解密,实现对通信过程的第三层安全防护,以实现云端与终端通信过程中的通信安全,提高数据传输的安全性。具体实施过程需结合附图并参考以下实施例。
56.在一些实施例中,如图1所示,一种安全通信方法,包括:
57.步骤101:响应于云端接收到终端的发送的设备注册请求,云端对终端进行验证。
58.需要说明的是,云端设置有物联网(internet of things,iot)安全认证模块和物联网数据管理模块,其中,物联网安全认证模块在接收到终端发送的设备认证请求前,需要构建安全终端设备的终端白名单,该终端白名单中的终端均为当前时间及以前未被恶意攻击过的安全终端,而对于白名单的构建过程,示例性的,云端可以获取多个终端的历史通信记录,然后筛选出历史通信记录中没有被恶意攻击过且没有发送过恶意数据的安全终端,记录下这些安全终端的认证信息,例如,终端设备的sn(serial number,产品序列号)码、mac地址(media access control address,媒体存取控制位址,也称为局域网地址)等信息,通过历史通信数据进行白名单的构建速度快,效率高,可以随时更新,时效性强;但是,历史通信数据存在被恶意篡改的可能,所以也可以通过线下邮件采集的方式获取并维护终端白名单中的白名单信息,通过线下邮件采集进行白名单的构建,具有更高的安全性,线下的模式降低了采集信息被恶意攻击或篡改的可能被,具有更高的安全性。
59.具体实施时,入网前终端物联感知设备等终端需要在云端的iot安全认证模块进行设备注册,终端物联感知设备等终端通过设备sn码和/或设备mac地址等信息向云端的iot安全认证模块发起设备注册请求,在云端接收到物联网终端发送的设备注册请求后,如果发起设备注册请求的目标终端的设备注册请求信息中的设备sn码或设备mac地址记录在终端白名单中,说明该目标终端通过云端的验证,云端会向终端发送一个设备标识,用以标记该目标终端;如果该目标终端不在终端白名单内,确定该目标终端未通过验证,可以根据预设的时间间隔查看该目标终端的历史通信记录,对该目标终端进行重新验证,同时可以向该目标终端的管理人员发送危险告警信息,提示其管理员对该目标终端进行安全检修,
以使该目标终端满足白名单的要求。可以看出通过终端白名单进行初步的筛选可以有效防止攻击者使用任意终端设备接入服务器,扰乱终端业务正常运行,保证了通信的安全性。
60.步骤102:响应于终端通过验证,云端向终端发送设备标识。
61.具体实施时,如果终端通过了验证,说明终端在当前时间及以前没有被恶意攻击过,也没有主动发送过恶意请求,所以,此时云端向终端发送唯一的设备标识对该终端进行标记,该设备标识会跟随通信过程中的数据一起进行传输,如果通信数据中不存在该标识或该标识被篡改,则说明存在通信安全问题,可以暂时性的切断与发送该通信信息的终端之间的通信,以保证云端的安全。
62.步骤103:终端根据设备标识对原始数据进行组合加密,得到加密数据,并将加密数据发送至云端。
63.具体实施时,终端物联感知设备等终端会和云端的iot数据管理模块约定好一种非对称加密算法和一种对称加密算法,在根据设备标识对待发送的原始数据进行标记后,通过约定的非对称加密算法和对称加密算法对标记后的标记数据进行组合加密,得到加密后的加密数据,并将该加密数据发送至云端,终端在组合加密过程中只存储非对称加密的公钥,不涉及私钥的存储,增强了安全性。采用组合加密增加了加密数据的破解难度,进而增加了加密数据本身的保密性。
64.步骤104:云端接收加密数据,并对加密数据进行分段解密,得到原始数据。
65.具体实施时,云端在接收到加密数据后,云端的iot数据管理模块会根据约定好的非对称加密算法和对称加密算法对加密数据进行分段解密,分段解密过程中只有云端才存储有解密用到的非对称加密算法的私钥,攻击者无法从终端及传输信道中获取对应的私钥,增加了加密数据的破解难度,进而增加了加密数据本身的安全性,实现了终端与云端之间的安全通信。
66.在一些实施例中,如图2所示,终端根据设备标识对原始数据进行组合加密,得到加密数据,包括:
67.步骤201:终端根据设备标识对原始数据进行标记,得到标记数据。
68.具体实施时,在终端接收到设备标识,且采集到将要发送的原始数据后,利用设备标识对原始数据进行标记,示例性的,可以使用机器学习进行数据标记,数据标记流程用于识别原始数据(图片、文本文件、视频等)并添加一个或多个有意义的信息标签:设备标识。需要说明的是,也可以使用其他形式将设备标识和原始数据进行结合,可能会导致原始数据的明文显示发生改变,但是并不会影响加密和解密的过程,所以在此对设备标识和原始数据进行结合的方式不做具体限定。
69.步骤202:终端根据对称加密算法和非对称加密算法对标记数据进行组合加密,得到加密数据,将加密数据发送至云端。
70.具体实施时,以非对称加密算法为rsa,对称加密算法为aes为例。终端存储rsa加密算法的公钥,用来加密aes加密算法随机生成的随机密钥,并为随机密钥拼接约定长度的盐值,增加破解密钥的难度,生成第一段密文。然后,用aes加密算法加密终端原始数据(例如终端额的设备编码、产生的采集数据、告警数据等),生成第二段密文,通过共享字符串把第一段密文和第二段密文进行拼接并隔开,得到最终的加密数据,最后将加密数据发送至云端。
71.需要说明的是,rsa加密算法是一种可逆的非对称加密算法,即rsa加密算法加密时候用的密钥(公钥)和rsa加密算法解密时用的密钥(私钥)不是同一把。公钥是可以公开的信息,但是私钥是需要保密的。比起aes加密算法等其它对称加密算法来说,rsa加密算法运算更为复杂。从安全角度来讲,一般建议rsa加密算法密钥长度至少为2048位。而aes加密算法是一种可逆的对称加密算法,这类算法在加密和解密时使用相同的密钥。作为可逆且对称的块加密,aes加密算法的速度比公钥加密等加密算法快很多。
72.在一些实施例中,步骤202:包括:
73.步骤2021:终端根据对称加密算法生成随机密钥。
74.具体实施时,终端运行aes加密算法,生成一个随机密钥,示例性的,随机密钥为:aes随机密钥=“aes0000000000aes”。
75.步骤2022:终端为随机密钥拼接预设的长度的盐值,得到盐值密钥。
76.具体实施时,示例性的,以预设的长度为10进行举例,盐值中的10个位置点的字符均可以随机生成,保证盐值为10位长度即可,假设本技术实施例中盐值=“yyyyyyyyyy”。终端为随机密钥拼接10位的的盐值后,得到盐值密钥为“aes0000000000aeyyyyyyyyyy”,对称加密的随机密钥每次都随机生成,并增加了随机生成的盐值,增加了加密数据破解的难度,保证了通信的安全性。其中,示例中采用的拼接方式为最直接的拼接方式,也可以采用其他拼接方式对随机密钥与盐值进行拼接,在此不做具体限定。
77.步骤2023:终端利用非对称加密算法的公钥对盐值密钥进行加密,得到第一段密文。
78.具体实施时,rsa加密算法的公钥存储在终端中,示例性的,若rsa公钥为“pub0000000000......pub”,终端利用rsa加密算法的公钥对盐值密钥进行加密计算,得到的第一段加密报文为“rsa(“aes0000000000aeyyyyyyyyyy”,”pub0000000000......pub”)。
79.步骤2024:终端根据随机密钥对标记数据进行加密,得到第二段密文。
80.具体实施时,示例性的,假设原始数据的明文为“hello world”,则表示数据的明文也为“hello world”,因为设备标识进行标记并不会改变原始数据的明文。当aes随机密钥=“aes0000000000aes”时,采用aes加密算法的随机密钥对标记数据进行加密,得到第二段密文为aes(“hello world”,“aes0000000000aes”)。
81.步骤2025:根据预设的共享字符串连接第一段密文和第二段密文,得到加密数据,并向云端发送共享字符串。
82.具体实施时,加密数据一般不会以明文的形式存在,因为这会大大增加被破解的可能,所以需要对第一段密文进行rsa加密计算,对第二段密文进行aes加密计算,分别将第一段密文和第二段密文的明文显示形式进行改变。示例性的,对第一段密文进行rsa加密计算后,得到的第一段密文的显示形式为“rsa11111......11111rsa”,对第二段密文进行aes加密计算后,得到的第一段密文的显示形式为“aes11111......11111aes”,假设共享字符串为“,”,根据共享字符串连接第一段密文和第二段密文,得到加密数据“rsa11111......11111rsa,aes11111......11111aes”。
83.综上所述,本技术实施例提供的组合加密的简化的加密过程为:rsa((“aes密钥”+”盐值”),”rsa公钥”)+”,”+aes(“明文”,”aes密钥”),在整个组合加密的过程中,使用了非对称加密和对称加密的加密方式,保证了发送mqtt协议的原始数据的保密性;终端处只存
储非对称加密的公钥,不涉及私钥的存储,增强了安全性;对称加密的随机密钥每次都为随机生成,并拼接了随机的盐值,增加了加密数据破解的难度;使用对称加密算法加密标记数据,增加了加密速度,增加了通信效率。并在组合加密前维护了终端白名单的功能,保证入网终端身份的安全可信,实现了终端和云端之间的安全通信,
84.对应的分段解密过程包括:云端的iot数据管理模块接收到mqtt写协议的加密数据后,先通过共享字符串拆分出两段密文,然后用rsa加密算法的私钥对第一段密文进行解密,将解密结果减去与终端约定的盐值,得到aes加密算法的随机密钥。然后用aes加密算法的随机密钥解密第二段密文,即可得到终端发送的设备编码、采集数据或告警数据等原始数据。此时,根据设备标识验证此终端的设备sn码或设备mac地址是否存在于iot安全认证模块终端白名单中,若存在,则解析并保存mqtt协议的原始数据,否则抛弃掉该原始数据。
85.在一些实施例中,如图3所示,云端接收加密数据,并对加密数据进行分段解密,得到原始数据,包括:
86.步骤301:云端根据共享字符串对加密数据进行拆解,得到第一段密文和第二段密文。
87.具体实施时,以加密数据为“rsa11111......11111rsa,aes11111......11111aes”为例,可以看出加密数据中共享字符串“,”是以明文形式进行显示的,在知道共享字符串的前提下,云端可以精准的实现对加密数据的拆分,即以共享字符串“,”为拆分点,将机密数据拆分为2段,得到非明文显示的第一段密文“rsa11111......11111rsa”和非明文显示的第二段密文“aes11111......11111aes”。
88.步骤302:云端根据第一段密文对第二段密文进行进行解密,得到原始数据和设备标识。
89.具体实施时,用rsa加密算法的私钥对第一段密文进行解密,将解密结果减去与终端约定的盐值,得到aes加密算法的随机密钥。然后用aes加密算法的随机密钥解密第二段密文,即可得到终端发送的设备编码、采集数据或告警数据等原始数据及携带的设备标识。
90.步骤303:云端根据预先构建的终端白名单和设备标识对原始数据进行解密验证。
91.具体实施时,根据设备标识验证此终端的设备sn码或设备mac地址是否存在于iot安全认证模块终端白名单中,如发送加密数据的终端的设备sn码或设备mac地址记录在终端白名单中,说明该终端通过了云端的验证,可以确定该加密数据是安全终端发送的,且在加密数据传输的过程中没有被拦截并替换为恶意的攻击数据;如发送加密数据的终端的设备sn码或设备mac地址没有不被记录在终端白名单中,说明该目标终端不在终端白名单内,说明该加密数据拆解后的原始数据可能不是安全终端发送的,而是恶意终端替换为安全终端进行发送的加密数据,或者在加密数据传输的过程中被攻击者拦截并替换为恶意的攻击数据。
92.步骤304:若云端判定原始数据未通过验证,抛弃原始数据。
93.具体实施时,确定原始数据未通过验证后,可以根据预设的时间间隔查看该目标终端的历史通信记录,对该目标终端进行重新验证,以确定该终端是否已经被攻击,同时可以向该终端的管理人员发送危险告警信息,提示其管理员对该终端进行安全检修,以使该终端发送的加密报文满足白名单的验证。
94.步骤305:若云端判定原始数据通过验证,接收并保存原始数据。
95.具体实施时,确定该目标终端通过验证后,就可以接收并保存该原始数据了,实现了终端与云端之间的一次安全通信。可以看出通过终端白名单进行原始数据的验证可以有效防止攻击者使用任意终端设备接入服务器及中途替换加密数据等攻击手段,扰乱终端业务正常运行,保证了通信的安全性。
96.在一些实施例中,步骤302包括:
97.步骤3021:云端根据非对称加密算法的私钥对第一段密文进行解密,得到盐值密钥。
98.具体实施时,以共享字符串“,”为拆分点,将机密数据拆分为2段,得到非明文显示的第一段密文“rsa11111......11111rsa”和非明文显示的第二段密文“aes11111......11111aes”后,使用rsa机密算法的私钥对第一段密文进行解密,得到“aes随机密钥”+”盐值”形式的盐值密钥。示例性的,以rsa私钥=“private0000000000......private”为例,“aes随机密钥”+“盐值”形式的盐值密钥=rsa解密(“rsa11111......11111rsa”,“private0000000000......priva te”)=“aes0000000000aeyyyyyyyyyy”。
99.步骤3022:云端根据预设长度的盐值对盐值密钥进行拆解,得到随机密钥。
100.具体实施时,以盐值密钥=“aes0000000000aeyyyyyyyyyy”为例,如果盐值的预设长度为10,则将盐值密钥中的后10位字符进行删除,即将“aes0000000000aeyyyyyyyyyy”后10位的“yyyyyyyyyy”删除,就得到了aes机密算法的随机密钥:“aes随机密钥”=“aes0000000000aes”。对称加密的随机密钥每次都随机生成,并增加了随机生成的盐值,增加了加密数据破解的难度,保证了通信的安全性。
101.步骤3023:云端根据随机密钥解密第二段密文,得到标记数据。
102.具体实施时,以“aes随机密钥”=“aes0000000000aes”,第二段密文=“aes11111......11111aes”为例,利用随机密钥解密第二段密文就可以得到标记数据的明文,则“标记数据”=aes解密(“aes11111......11111aes”,”aes0000000000aes”)=“hello world”,此时,标记数据和原始数据的明文显示是一致的,均为“hello world”,因为设备标识是以标签的形式被原始数据携带的,所以不会影响原始数据明文的显示形式。
103.步骤3024:云端对标记数据进行标记提取,得到设备标识和原始数据。
104.具体实施时,在得到标记数据后,需要提取标记数据中的设备标识,将设备标识被提取后,标记数据转化为了原始数据的明文,解密过程结束,云端得到了终端发送的原始数据的明文。
105.在一些实施例中,步骤101包括:
106.步骤1011:云端获取多个终端的历史通信记录,根据历史通信记录构建终端白名单。
107.具体实施时,物联网安全认证模块在接收到终端发送的设备认证请求前,需要构建安全终端设备的终端白名单,该终端白名单中的终端均为当前时间及以前未被恶意攻击过的安全终端,可选地,云端可以获取多个终端的历史通信记录,然后筛选出历史通信记录中没有被恶意攻击过且没有发送过恶意数据的安全终端,记录下这些安全终端的认证信息,例如,终端设备的sn码、mac地址等信息,通过历史通信数据进行白名单的构建速度快,效率高,可以随时更新,时效性强;但是,历史通信数据存在被恶意篡改的可能,所以也可以
通过线下邮件采集的方式获取并维护终端白名单中的白名单信息,通过线下邮件采集进行白名单的构建,具有更高的安全性,线下的模式降低了采集信息被恶意攻击或篡改的可能被,具有更高的安全性。
108.步骤1012:响应于云端接收到终端的发送的设备注册请求,确定终端是否在终端白名单内。
109.步骤1013:响应于终端在终端白名单内,确定终端通过验证。
110.具体实施时,入网前终端物联感知设备等终端需要在云端的iot安全认证模块进行设备注册,终端物联感知设备等终端通过设备sn码和/或设备mac地址等信息向云端的iot安全认证模块发起设备注册请求,在云端接收到物联网终端发送的设备注册请求后,如果发起设备注册请求的目标终端的设备注册请求信息中的设备sn码或设备mac地址记录在终端白名单中,说明该目标终端通过云端的验证,云端会向终端发送一个设备标识,用以标记该目标终端。
111.在一些实施例中,本技术实施例提供的安全通信方法还包括:
112.响应于终端不在终端白名单内,确定终端未通过验证,并根据预设的时间间隔查看终端的历史通信记录,对终端进行重新验证。
113.具体实施时,如果该目标终端不在终端白名单内,确定该目标终端未通过验证,可以根据预设的时间间隔查看该目标终端的历史通信记录,对该目标终端进行重新验证,同时可以向该目标终端的管理人员发送危险告警信息,提示其管理员对该目标终端进行安全检修,以使该目标终端满足白名单的要求。可以看出通过终端白名单进行初步的筛选可以有效防止攻击者使用任意终端设备接入服务器,扰乱终端业务正常运行,保证了通信的安全性。
114.需要说明的是,本技术实施例的方法可以由单个设备执行,例如一台计算机或服务器等。本实施例的方法也可以应用于分布式场景下,由多台设备相互配合来完成。在这种分布式场景的情况下,这多台设备中的一台设备可以只执行本技术实施例的方法中的某一个或多个步骤,这多台设备相互之间会进行交互以完成所述的方法。
115.需要说明的是,上述对本技术的一些实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于上述实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
116.基于同一发明构思,与上述任意实施例方法相对应的,本技术还提供了一种安全通信装置。
117.参考图4,所述安全通信装置,包括:
118.云端10,被配置为:响应于接收到终端的发送的设备注册请求,对所述终端进行验证;
119.响应于所述终端通过验证,向所述终端发送设备标识;
120.接收所述加密数据,并对所述加密数据进行分段解密,得到所述原始数据;
121.终端20,被配置为:根据所述设备标识对原始数据进行组合加密,得到加密数据,并将所述加密数据发送至云端。
122.为了描述的方便,描述以上装置时以功能分为各种模块分别描述。当然,在实施本技术时可以把各模块的功能在同一个或多个软件和/或硬件中实现。
123.上述实施例的装置用于实现前述任一实施例中相应的安全通信方法,并且具有相应的方法实施例的有益效果,在此不再赘述。
124.基于同一发明构思,与上述任意实施例方法相对应的,本技术还提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上任意一实施例所述的安全通信方法。
125.图5示出了本实施例所提供的一种更为具体的电子设备硬件结构示意图,该设备可以包括:处理器1010、存储器1020、输入/输出接口1030、通信接口1040和总线1050。其中处理器1010、存储器1020、输入/输出接口1030和通信接口1040通过总线1050实现彼此之间在设备内部的通信连接。
126.处理器1010可以采用通用的cpu(central processing unit,中央处理器)、微处理器、应用专用集成电路(application specific integrated circuit,asic)、或者一个或多个集成电路等方式实现,用于执行相关程序,以实现本说明书实施例所提供的技术方案。
127.存储器1020可以采用rom(read only memory,只读存储器)、ram(random access memory,随机存取存储器)、静态存储设备,动态存储设备等形式实现。存储器1020可以存储操作系统和其他应用程序,在通过软件或者固件来实现本说明书实施例所提供的技术方案时,相关的程序代码保存在存储器1020中,并由处理器1010来调用执行。
128.输入/输出接口1030用于连接输入/输出模块,以实现信息输入及输出。输入输出/模块可以作为组件配置在设备中(图中未示出),也可以外接于设备以提供相应功能。其中输入设备可以包括键盘、鼠标、触摸屏、麦克风、各类传感器等,输出设备可以包括显示器、扬声器、振动器、指示灯等。
129.通信接口1040用于连接通信模块(图中未示出),以实现本设备与其他设备的通信交互。其中通信模块可以通过有线方式(例如usb、网线等)实现通信,也可以通过无线方式(例如移动网络、wifi、蓝牙等)实现通信。
130.总线1050包括一通路,在设备的各个组件(例如处理器1010、存储器1020、输入/输出接口1030和通信接口1040)之间传输信息。
131.需要说明的是,尽管上述设备仅示出了处理器1010、存储器1020、输入/输出接口1030、通信接口1040以及总线1050,但是在具体实施过程中,该设备还可以包括实现正常运行所必需的其他组件。此外,本领域的技术人员可以理解的是,上述设备中也可以仅包含实现本说明书实施例方案所必需的组件,而不必包含图中所示的全部组件。
132.上述实施例的电子设备用于实现前述任一实施例中相应的安全通信方法,并且具有相应的方法实施例的有益效果,在此不再赘述。
133.基于同一发明构思,与上述任意实施例方法相对应的,本技术还提供了一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令用于使所述计算机执行如上任一实施例所述的安全通信方法。
134.本实施例的计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或
其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。
135.上述实施例的存储介质存储的计算机指令用于使所述计算机执行如上任一实施例所述的安全通信方法,并且具有相应的方法实施例的有益效果,在此不再赘述。
136.所属领域的普通技术人员应当理解:以上任何实施例的讨论仅为示例性的,并非旨在暗示本技术的范围(包括权利要求)被限于这些例子;在本技术的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,步骤可以以任意顺序实现,并存在如上所述的本技术实施例的不同方面的许多其它变化,为了简明它们没有在细节中提供。
137.另外,为简化说明和讨论,并且为了不会使本技术实施例难以理解,在所提供的附图中可以示出或可以不示出与集成电路(ic)芯片和其它部件的公知的电源/接地连接。此外,可以以框图的形式示出装置,以便避免使本技术实施例难以理解,并且这也考虑了以下事实,即关于这些框图装置的实施方式的细节是高度取决于将要实施本技术实施例的平台的(即,这些细节应当完全处于本领域技术人员的理解范围内)。在阐述了具体细节(例如,电路)以描述本技术的示例性实施例的情况下,对本领域技术人员来说显而易见的是,可以在没有这些具体细节的情况下或者这些具体细节有变化的情况下实施本技术实施例。因此,这些描述应被认为是说明性的而不是限制性的。
138.尽管已经结合了本技术的具体实施例对本技术进行了描述,但是根据前面的描述,这些实施例的很多替换、修改和变型对本领域普通技术人员来说将是显而易见的。例如,其它存储器架构(例如,动态ram(dram))可以使用所讨论的实施例。
139.本技术实施例旨在涵盖落入所附权利要求的宽泛范围之内的所有这样的替换、修改和变型。因此,凡在本技术实施例的精神和原则之内,所做的任何省略、修改、等同替换、改进等,均应包含在本技术的保护范围之内。

技术特征:
1.一种安全通信方法,其特征在于,包括:响应于云端接收到终端的发送的设备注册请求,所述云端对所述终端进行验证;响应于所述终端通过验证,所述云端向所述终端发送设备标识;所述终端根据所述设备标识对原始数据进行组合加密,得到加密数据,并将所述加密数据发送至云端;所述云端接收所述加密数据,并对所述加密数据进行分段解密,得到所述原始数据。2.根据权利要求1所述的方法,其特征在于,所述终端根据所述设备标识对原始数据进行组合加密,得到加密数据,包括:所述终端根据所述设备标识对所述原始数据进行标记,得到标记数据;所述终端根据对称加密算法和非对称加密算法对所述标记数据进行组合加密,得到加密数据,将所述加密数据发送至所述云端。3.根据权利要求2所述的方法,其特征在于,所述所述终端根据对称加密算法和非对称加密算法对所述标记数据进行组合加密,得到加密数据,包括:所述终端根据所述对称加密算法生成随机密钥;所述终端为所述随机密钥拼接预设的长度的盐值,得到盐值密钥;所述终端利用所述非对称加密算法的公钥对所述盐值密钥进行加密,得到第一段密文;所述终端根据所述随机密钥对所述标记数据进行加密,得到第二段密文;根据预设的共享字符串连接所述第一段密文和所述第二段密文,得到所述加密数据,并向所述云端发送所述共享字符串。4.根据权利要求3所述的方法,其特征在于,所述云端接收所述加密数据,并对所述加密数据进行分段解密,得到所述原始数据,包括:所述云端根据所述共享字符串对所述加密数据进行拆解,得到所述第一段密文和所述第二段密文;所述云端根据所述第一段密文对所述第二段密文进行进行解密,得到所述原始数据和所述设备标识;所述云端根据预先构建的终端白名单和所述设备标识对所述原始数据进行解密验证;若所述云端判定所述原始数据未通过验证,抛弃所述原始数据;若所述云端判定所述原始数据通过验证,接收并保存所述原始数据。5.根据权利要求4所述的方法,其特征在于,所述云端根据所述第一段密文对所述第二段密文进行进行解密,得到所述原始数据和所述设备标识,包括:所述云端根据所述非对称加密算法的私钥对所述第一段密文进行解密,得到所述盐值密钥;所述云端根据预设长度的盐值对所述盐值密钥进行拆解,得到所述随机密钥;所述云端根据所述随机密钥解密所述第二段密文,得到所述标记数据;所述云端对所述所述标记数据进行标记提取,得到所述设备标识和原始数据。6.根据权利要求1所述的方法,其特征在于,响应于云端接收到终端的发送的设备注册请求,所述云端对所述终端进行验证,包括:所述云端获取多个终端的历史通信记录,根据所述历史通信记录构建终端白名单;
响应于所述云端接收到终端的发送的设备注册请求,确定所述终端是否在所述终端白名单内;响应于所述终端在所述终端白名单内,确定所述终端通过验证。7.根据权利要求6所述的方法,其特征在于,还包括:响应于所述终端不在所述终端白名单内,确定所述终端未通过验证,并根据预设的时间间隔查看所述终端的所述历史通信记录,对所述终端进行重新验证。8.一种安全通信装置,其特征在于,包括:云端,被配置为:响应于接收到终端的发送的设备注册请求,对所述终端进行验证;响应于所述终端通过验证,向所述终端发送设备标识;接收所述加密数据,并对所述加密数据进行分段解密,得到所述原始数据;终端,被配置为:根据所述设备标识对原始数据进行组合加密,得到加密数据,并将所述加密数据发送至云端。9.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如权利要求1至7任意一项所述的方法。10.一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令用于使计算机执行权利要求1至7任一所述方法。

技术总结
本申请提供一种安全通信方法、装置、电子设备及存储介质,在云端接收到终端的发送的设备注册请求时,云端会对终端进行验证,在终端通过验证后,云端向终端发送设备标识,终端根据接收得到的设备标识对原始数据进行组合加密,得到加密数据,并将加密数据发送至云端;云端对接收到的加密数据进行分段解密,得到原始数据,完成云端与终端之间的安全通信。在进行装备注册时云端对终端进行验证是通信过程的第一层的安全防护;然后在终端进行组合加密是对通信过程的第二层安全防护,最后使用与组合加密相对应的分段解密方法对加密数据进行解密,实现对通信过程的第三层安全防护,以实现云端与终端通信过程中的通信安全,提高数据传输的安全性。输的安全性。输的安全性。


技术研发人员:王东强 范永学 杨宇 李慧 李湛蓉
受保护的技术使用者:国网信息通信产业集团有限公司
技术研发日:2023.03.20
技术公布日:2023/8/23
版权声明

本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

航空之家 https://www.aerohome.com.cn/

飞机超市 https://mall.aerohome.com.cn/

航空资讯 https://news.aerohome.com.cn/

分享:

扫一扫在手机阅读、分享本文

相关推荐