一种在公有云服务平台上安全快速存储智能硬件设备数据的方法与流程

文档序号:11693177阅读:244来源:国知局
一种在公有云服务平台上安全快速存储智能硬件设备数据的方法与流程

本发明涉及在公有云服务平台上安全快速存储智能硬件设备数据的方法,属于智能传感器数据存储和处理领域。



背景技术:

物联网大数据时代,海量智能硬件设备和应用的数据应运而生,每时每刻都有不同的硬件设备产生海量的数据。随着社会进入云时代,越来越多的硬件设备厂商将硬件设备数据托管在公有云平台上,不仅可以在平台上方便地调用这些设备数据,而无需投资,安装和管理任何基础设施,大大降低了项目开发的技术门槛,缩短开发周期,同时研发和营运成本也成倍降低。

当前在公有云服务平台上比较普遍的智能硬件数据存储解决方案是:智能硬件设备的数据要求按租户、项目和设备号进行隔离管理存放。典型的设备数据存储入库过程包括:1)提取数据字段中的用户安全凭证信息。2)提取设备提交数据中的数据定义字段信息,包括租户信息,项目信息和设备号信息。3)验证用户安全凭证字段与租户信息一致。4)根据租户信息,项目信息和设备号信息定位数据库中的目标表单。5)数据写入表单(或缓存后写入)。

这样做法存在几个问题,一是设备信息需要包含的字段数较多,数据流量较大。二是如果这些字段采用明码传输,存在数据可能泄露的问题。三是因为每次处理设备数据提交都需要进行一次用户安全凭证和用户信息的验证,而因为涉及到数据查询和比对操作,会带来相应的提交延迟,而且造成处理数据提交服务的服务器的请求响应性能和并发处理性能的降低。本发明提供了一种在公有云服务平台上安全快速存储智能硬件设备数据的方法,将有效解决这些问题。



技术实现要素:

发明目的:针对硬件设备数据传输安全性、延迟性的问题,本发明提供一种在公有云服务平台上安全快速存储智能硬件设备数据的方法,本发明能够通过加密和解密计算代替从数据库或数据缓存中写入和查询,大大提高数据处理性能,而设备在提交数据时只需附带设备安全码,避免每次数据提交都明码传送用户,项目和设备敏感信息,在减少数据传输流量的同时也提高了数据传输安全性。

技术方案:为实现上述目的,本发明采用的技术方案为:

一种在公有云服务平台上安全快速存储智能硬件设备数据的方法,通过将物联网中的设备数据中关键数据定义字段进行复合加密的方式,对每一个设备生成一个全局唯一的设备安全码,其中,包含的关键数据定义字段在处理数据提交时对设备安全码进行解密提取,并用以定位数据库里的目标存放表单,且设备安全码的加密生成和解密都在服务器端完成。设备通过调用设备注册服务或设备安全码查询服务从服务器请求并获得设备安全码,而在调用这些服务时,发送的请求中需要包含关键数据定义字段用以确认服务调用端的请求合法性。

优选的:所述加密算法为生成的设备安全码具有全局唯一性的加密算法。

优选的:所述关键数据定义字段包括租户用户名user_id,应用名称或项目名称project_id和设备系列号device_id以及用户密钥access_key。

优选的,包括以下步骤:

步骤1,设备登记时将租户用户名user_id,应用名称或项目名称project_id和设备系列号device_id以及用户密钥access_key发送给服务器请求获取/查询设备安全码sec_key服务。

步骤2,服务器收到数据后将用户密钥access_key匹配验证用户名user_id,如果验证通过则将user_id、project_id和device_id按规则c拼接成字符串sec_str,sec_str=c(user_id,project_id,device_id)。

步骤3,以用户密钥access_key加密生成设备安全码sec_key=access_key(sec_str),所述用户密钥access_key为对称密钥。

步骤4,将设备安全码sec_key通过请求响应返回给设备。

步骤5,设备发送业务数据时提交设备安全码sec_key。

步骤6,服务器收到设备发送数据提交服务请求后使用用户密钥access_key将设备安全码sec_key解密提取出字符串sec_str。

步骤7,根据提取出的字符串sec_str的拼接规则c采用反向操作d1,d2,d3提取出user_id,project_id,和device_id。

步骤8,用uer_id,project_id和device_id作为定位依据将业务数据写入数据库目标表单或数据缓存。

优选的:所述步骤6中解密方法描述为:sec_str=access_key(sec_key)。

优选的:所述步骤7中根据提取出的字符串sec_str的拼接规则c采用反向操作d1,d2,d3提取出user_id,project_id,和device_id的过程可描述为user_id=d1(sec_str),project_id=d2(sec_str),device_id=d3(sec_str)。

本发明相比现有技术,具有以下有益效果:

1)将数据定义字段混合加密生成设备安全码,用户提交数据时使用设备安全码作为认证和数据定位手段,数据传输过程避免了明码传送用户,项目及设备敏感信息,提高了安全性。

2)数据上报时将多个字段信息混合加密成一个设备安全码,省略多个有关字段的描述信息(键名),可以减少数据传输量,提高传输效率,节省网络带宽,对于使用gprs传输数据的设备来说,使用这种方式可以节省设备运营成本。

3)处理设备数据提交请求时由于在服务器端使用解密运算操作提取数据定义字段来实现数据写入目标表定位,避免了数据查询操作,提高了处理效率。

4)处理效率的提升减小了数据服务器的请求响应延迟,同时提高了服务器并发处理的性能。

附图说明

图1为单实例硬件数据服务器支持1000台并发数据设备平均延时。

图2为单实例硬件数据服务接口服务器并发处理与延时性能。

图3为使用设备安全码发送的字段。

具体实施方式

下面结合附图和具体实施例,进一步阐明本发明,应理解这些实例仅用于说明本发明而不用于限制本发明的范围,在阅读了本发明之后,本领域技术人员对本发明的各种等价形式的修改均落于本申请所附权利要求所限定的范围。

一种在公有云服务平台上安全快速存储智能硬件设备数据的方法,通过将物联网中的设备数据中几个关键数据定义字段进行复合加密的方式,对每一个设备生成一个全局唯一的设备安全码,其中,包含的关键数据定义字段可以在处理数据提交时对设备安全码进行解密提取,并用以定位数据库里的目标存放表单,且设备安全码的加密生成和解密都在服务器端完成。设备可以通过调用设备注册服务或设备安全码查询服务从服务器请求并获得设备安全码,而在调用这些服务时,发送的请求中需要包含关键数据定义字段(需要包含租户的用户安全凭证、租户信息、项目信息以及设备号信息,也就是租户用户名user_id,应用名称或项目名称project_id和设备系列号device_id以及用户密钥access_key)用以确认服务调用端的请求合法性。使用的加密算法有多种可选,但需要保证生成的设备安全码具有全局唯一性的加密算法。

我们以采用对称加密算法为例描述生成设备安全码及使用设备安全码提交数据的一种本实施例的方法,具体包括以下步骤:

步骤1,设备登记时将租户用户名user_id,应用名称或项目名称project_id和设备系列号device_id以及用户密钥access_key发送给服务器请求获取设备安全码sec_key服务。

步骤2,服务器收到数据后将用户密钥access_key匹配验证用户名user_id,如果验证通过则将user_id、project_id和device_id按规则c拼接成字符串sec_str,sec_str=c(user_id,project_id,device_id)。规则c最简单的规则形式是将元素字符串user_id,project_id及device_id顺序拼接,元素字符串之间插入分割符“_”以简化反向解析。其他拼接规则包括元素字符串乱序拼接,使用定长占位符取代分割符等,只要保证生成的字符串不会丢失元素字符串信息,且可反向解析即可。

步骤3,以用户密钥access_key加密生成设备安全码sec_key=access_key(sec_str),所述用户密钥access_key为对称密钥。

步骤4,将设备安全码sec_key通过请求响应返回给设备。

以上步骤1-4同样适用于设备安全码查询的场景。

步骤5,设备发送业务数据时提交设备安全码sec_key。

步骤6,服务器收到设备发送数据提交服务请求后使用用户密钥access_key将设备安全码sec_key解密提取出字符串sec_str。解密方法可描述为:sec_str=access_key(sec_key)

步骤7,根据提取出的字符串sec_str的拼接规则c采用反向操作d1,d2,d3提取出user_id,project_id,和device_id。过程可描述为user_id=d1(sec_str),project_id=d2(sec_str),device_id=d3(sec_str)。

步骤8,用uer_id,project_id和device_id作为定位依据将业务数据写入数据库目标表单或数据缓存。

下面我们以一个具体rc6对称加密实例来说明一个设备的seckey构建和解析的过程:

租户用户名(user_id):cstor

租户密钥(access_key):112233445566778899aabbccddeeff

项目名称(project_id):pm25indoors

设备系列号(device_id):device000001

1加密过程:

我们将租户用户名,项目名称和设备系列号这三个设备关键描述字段信息简单拼接为一个字符串,格式为:租户用户名+"_"+项目名称+"_"+设备系列号,其中用"_"作为字段分割符,生成的字符串为"cstor_pm25indoors_device000001"以用户密钥"112233445566778899aabbccddeeff"作为密钥对以上生成字符串进行一次rc6加密操作,生成的密文为:"u2fsdgvkx18wyns5bgknsp9apvikeq1z5rljwgcrzjiw2km6dqt8af/lfamh2g==“。此密文即为我们的设备安全码seckey。

2)解析过程

使用用户密钥"112233445566778899aabbccddeeff"并作为密钥并用rc6解密对seckey"u2fsdgvkx18wyns5bgknsp9apvikeq1z5rljwgcrzjiw2km6dqt8af/lfamh2g==“做密文解密,生成的结果为"cstor_pm25indoors_device000001"

我们使用的拼接字段格式为:租户用户名+"_"+项目名称+"_"+设备系列号,其中用"_"作为字段分割符我们从以上结果解析出租户用户名,项目名称和设备系列号分别为cstor,pm25indoors和device000001。

表1使用用户项目信息认证与使用设备安全码认证的比较

由表1可知,本发明的使用设备安全码认证所提交的文本长度小于使用用户项目信息认证的长度,且使用设备安全码能有效避免有关字段的描述信息,避免了明码传送用户、项目及设备敏感信息,提高了安全性。

表2单实例硬件设备数据服务器处理设备数据提交时不同验证和寻址方式的服务处理时间

表3单实例硬件设备数据服务器并发请求处理延时对比

由表2、图1可知,使用本发明的使用设备安全码的服务处理时间低于使用用户及项目信息的服务处理时间,由表3、图2可知,使用本发明的使用设备安全码的设备数据服务器并发请求处理延时低于使用用户及项目信息的设备数据服务器并发请求处理延时。因此本发明通过高效的加密解密算法将智能硬件数据提交至公有云服务平台进行安全快速的存储的方法,能够通过加密和解密计算代替从数据库或数据缓存中写入和查询,大大提高数据处理性能,而设备在提交数据时只发送设备注册码,避免每次数据提交都明码传送用户和设备敏感信息,在减少数据传输流量的同时也提高了数据传输安全性。

以上所述仅是本发明的优选实施方式,应当指出:对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

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