一种基于物联网的加密传输方法及装置与流程

文档序号:17694357发布日期:2019-05-17 21:20阅读:167来源:国知局
一种基于物联网的加密传输方法及装置与流程

本申请涉及物联网技术领域,尤其涉及一种基于物联网的加密传输方法及装置。



背景技术:

随着物联网技术的发展,物联网渐渐走入人们的生活。物-物相联的模式为人们带来了巨大的便利的同时,在信息交换和通讯方面的安全需求也日益突出。

在很多场合中,物联网设备需要将数据上传至服务器,完成物联网的数据采集工作。由于物联网设备的数量较大,如果不能保证传输过程的安全性,那么会给通信双方拥有的隐私数据、财产安全带来直接的损失,危害整个物联网的稳定性。现有技术中,通常采用两次交互,产生用于加密传输的密钥。但对于要求低cpu功耗的物联网设备而言,在有限的通讯时间里,这种方式占用了过多的资源,加重了物联网设备的运行负荷。尤其是在通讯不稳定、通讯质量较差的情况下,整个通信过程会耗费更长的时间,通信效率显得尤为低下。



技术实现要素:

本申请实施例提供一种基于物联网的加密传输方法及装置,用于保障数据传输过程中隐私数据的安全性和真实性,有效提高了通信效率,节约了通信资源。

第一方面,本申请实施例提供了一种基于物联网的加密传输方法,应用于服务器,包括:获取物联网设备发送的上传文件夹,所述上传文件夹包括所述物联网设备的身份信息、加密的第一数据及密钥信息,所述加密的第一数据为所述物联网设备采用第一会话密钥加密得到的,所述第一会话密钥为根据第一协商密钥和密钥信息生成的,所述第一协商密钥为根据所述物联网设备的第一私钥和所述服务器的第二公钥生成的;检测所述上传文件夹的物联网设备的身份信息,获取所述物联网设备的第一公钥;根据所述物联网设备的第一公钥和所述服务器的第二私钥,生成第二协商密钥;根据所述第二协商密钥和所述密钥信息中的随机生成数,生成第二会话密钥;采用第二会话密钥解密所述加密的第一数据,获取第一数据。

在一种可能的实现方式中,所述方法还包括:根据所述物联网设备的标识信息,存储所述第一数据;向所述物联网设备发送成功存储指令,所述成功存储指令包括时间信息。

在另一种可能的实现方式中,所述上传文件夹的物联网设备的身份信息包括所述物联网设备的第一公钥和所述物联网设备的标识信息,所述检测所述上传文件夹的物联网设备的身份信息,获取所述物联网设备的第一公钥,包括:查找黑名单中是否存在所述物联网设备的标识信息;若不存在,获取所述物联网设备的第一公钥。

在又一种可能的实现方式中,所述密钥信息包括随机生成数和所述物联网设备的标识信息,所述根据所述第二协商密钥和所述密钥信息中的随机生成数,生成第二会话密钥,包括:对比所述密钥信息中的所述物联网设备的标识信息与所述上传文件夹的物联网设备的身份信息中的所述物联网设备的标识信息是否一致;当对比结果一致时,获取所述密钥信息中的随机生成数;根据所述第二协商密钥和所述随机生成数,生成第二会话密钥。

在又一种可能的实现方式中,所述第二协商密钥和所述第二会话密钥是一次会话有效的。

第二方面,本申请实施例提供了一种基于物联网的加密传输方法,包括:获取第一数据和密钥信息,所述密钥信息包括随机生成数和所述物联网设备的标识信息;根据服务器的第二公钥和所述物联网设备的第一私钥,生成第一协商密钥;根据所述第一协商密钥和所述密钥信息中的随机生成数,生成第一会话密钥;采用所述第一会话密钥加密所述第一数据,获取加密的第一数据;向服务器发送上传文件夹,所述上传文件夹包括所述物联网设备的身份信息、加密的第一数据及密钥信息。

在一种可能的实现方式中,所述方法还包括:接收所述服务器发送的成功存储指令,所述成功存储指令包括时间信息;根据所述成功存储指令,更新数据发送记录。

第三方面,本申请实施例提供了一种服务器,包括:第二获取单元,用于获取物联网设备发送的上传文件夹;检测单元,用于检测所述上传文件夹的物联网设备的身份信息,获取所述物联网设备的第一公钥;第二密钥生成单元,用于根据所述物联网设备的第一公钥和所述服务器的第二私钥,生成第二协商密钥;所述第二密钥生成单元还用于,根据所述第二协商密钥和所述密钥信息中的随机生成数,生成第二会话密钥;第二解密单元,用于采用第二会话密钥解密所述加密的第一数据,获取第一数据。

在一种可能的实现方式中,所述服务器还包括:存储单元,用于根据所述物联网设备的标识信息,存储所述第一数据;第二发送单元,用于向所述物联网设备发送成功存储指令。

在另一种可能的实现方式中,所述检测单元包括:检测子单元,用于查找黑名单中是否存在所述物联网设备的标识信息;获取子单元,用于当黑名单中不存在所述物联网设备的标识信息时,获取所述物联网设备的第一公钥。

在又一种可能的实现方式中,所述第二密钥生成单元包括:对比子单元,用于对比所述密钥信息中的所述物联网设备的标识信息与所述上传文件夹的物联网设备的身份信息中的所述物联网设备的标识信息是否一致;所述对比子单元还用于,当对比结果一致时,获取所述密钥信息中的随机生成数;第二密钥生成子单元,用于根据所述第二协商密钥和所述随机生成数,生成第二会话密钥。

第四方面,本申请实施例提供了一种物联网设备,包括:第一获取单元,用于获取第一数据和密钥信息,所述密钥信息包括随机生成数和所述物联网设备的标识信息;第一密钥生成单元,用于根据服务器的第二公钥和所述物联网设备的第一私钥,生成第一协商密钥;所述第一密钥生成单元,还用于根据所述第一协商密钥和所述密钥信息中的随机生成数,生成第一会话密钥;加密单元,用于采用所述第一会话密钥加密所述第一数据,获取加密的第一数据;第一发送单元,用于向服务器发送上传文件夹。

在一种可能的实现方式中,所述物联网设备还包括:所述第一获取单元还用于,接收所述服务器发送的成功存储指令;更新单元,用于根据所述成功存储指令,更新数据发送记录。

第五方面,本申请实施例提供了一种服务器,包括:处理器、收发器和存储器,其中,存储器用于存储支持服务器执行上述方法的计算机程序,计算机程序包括程序指令,处理器被配置用于调用程序指令,执行上述第一方面及其任一种可选方式的方法。

第六方面,本申请实施例提供了一种物联网设备,包括:处理器、输入装置、输出装置和存储器,处理器、输入装置、输出装置和存储器相互连接,其中,存储器用于存储支持终端执行上述方法的计算机程序,计算机程序包括程序指令,处理器被配置用于调用程序指令,执行上述第二方面及其任一种可选方式的方法。

第七方面,本申请实施例提供了一种基于物联网的加密传输系统,包括上述第三方面、第五方面及其对应的任一种可选方式描述的服务器,和上述第四方面、第六方面及其对应的任一种可选方式描述的物联网设备。

第八方面,本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述各方面所述的方法。

第九方面,本申请实施例提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述各方面所述的方法。

本申请实施例具有以下有益效果:

通过获取物联网设备发送的上传文件夹,生成解密需要使用的第二会话密钥,使得在一次交互过程中就能够获取物联网设备传输的第一数据。实施本申请的方案,能够保障数据传输过程中隐私数据的安全性和真实性,有效提高了通信效率,节约了通信资源。

附图说明

图1是本申请实施例提供的一种基于物联网的加密传输系统的流程示意图;

图2是本申请实施例提供的一种基于物联网的加密传输方法的流程示意图;

图3是本申请实施例提供的另一种基于物联网的加密传输方法的流程示意图;

图4是本申请实施例提供的又一种基于物联网的加密传输方法的流程示意图;

图5是本申请实施例提供的又一种基于物联网的加密传输方法的流程示意图;

图6是本申请实施例提供的一种服务器的结构示意图;

图7是本申请实施例提供的一种物联网设备的结构示意图;

图8是本申请实施例提供的一种服务器的硬件结构示意图;

图9是本申请实施例提供的一种物联网设备的硬件结构示意图。

具体实施方式

下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。

应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。

还应当理解,在此本申请说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本申请。如在本申请说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。

还应当进一步理解,在本申请说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。物联网设备在向服务器上传数据的过程中,物联网设备需要与服务器进行两次交互,产生用于加密传输的密钥,但对于要求低cpu功耗的物联网设备而言,这种方式占用了过多的资源,加重了物联网设备的运行负荷。基于上述问题,本申请实施例提出了一种基于物联网的加密传输方法以及相关系统,用于有效提高通信效率,节约通信资源。

请参阅图1,图1是本申请实施例提供的一种基于物联网的加密传输系统架构图。其中,架构中包括服务器10和物联网设备20。

需要说明的是,在图1所示的基于物联网的加密传输系统中:服务器10,用于获取获取物联网设备发送的上传文件夹,所述上传文件夹包括所述物联网设备20的身份信息、加密的第一数据及密钥信息;服务器10还用于,检测所述上传文件夹的物联网设备20的身份信息,获取所述物联网设备20的第一公钥;服务器10还用于,根据所述物联网设备20的第一公钥和所述服务器10的第二私钥,生成第二协商密钥;服务器10还用于,根据所述第二协商密钥和所述密钥信息中的随机生成数,生成第二会话密钥;服务器10还用于,采用第二会话密钥解密所述加密的第一数据,获取第一数据。

物联网设备20,用于获取第一数据和密钥信息;物联网设备20还用于,根据服务器10的第二公钥和所述物联网设备20的第一私钥,生成第一协商密钥;物联网设备20还用于,根据所述第一协商密钥和所述密钥信息中的随机生成数,生成第一会话密钥;物联网设备20还用于,采用所述第一会话密钥加密所述第一数据,获取加密的第一数据;物联网设备20还用于,向服务器10发送上传文件夹,所述上传文件夹包括所述物联网设备20的身份信息、加密的第一数据及密钥信息。

请参阅图2,图2是本申请实施例提供的一种基于物联网的加密传输方法的流程示意图。

其中:

s101、获取物联网设备发送的上传文件夹。

本申请实施例提到的物联网设备,能够以无线或者有线的方式与服务器进行通信,包括但不限于车载终端、obd设备、可穿戴手环、可穿戴手表和耳机等电子产品,能够实现对特定场所的环境数据进行采集、传输的功能。上述物联网设备将获取的第一数据、身份信息以及密钥信息一次性发送给服务器,服务器接收到的上述上传文件夹即包含上述信息。上述第一数据可能包含设备的隐私数据,为保障数据的安全传输,服务器获取的第一数据为经过加密处理的数据。

具体地,上述上传文件夹包括上述物联网设备的身份信息、加密的第一数据及密钥信息,上述加密的第一数据为上述物联网设备采用第一会话密钥加密得到的,上述第一会话密钥为根据第一协商密钥和密钥信息生成的,上述第一协商密钥为根据上述物联网设备的第一私钥和上述服务器的第二公钥生成的。

在一种可能的实现方式中,如果上述上传文件夹在传输过程中被第三方获取,由于用于解密上述加密的第一数据的密钥需要服务器的第二私钥才能生成,因而第三方不能获取第一数据的内容,所以保障了上述上传文件夹中信息安全。

s102、检测所述上传文件夹的物联网设备的身份信息,获取所述物联网设备的第一公钥。

服务器在接收数据时,可以暂时不考虑物联网设备发送的数据是否为安全的数据。但由于物联网设备所处环境的复杂性,不能完全保证发送数据的物联网设备一定是可信赖的终端。所以服务器在使用上述数据之前,需要对上传数据的物联网设备的身份进行验证。

具体地,上述上传文件夹的物联网设备的身份信息包括上述物联网设备的第一公钥和上述物联网设备的标识信息。查找黑名单中是否存在上述物联网设备的标识信息;若不存在,获取上述物联网设备的第一公钥。

在一种可能的实现方式中,服务器记录上报的有损坏等问题的物联网设备的标识信息,并将这些物联网设备的标识信息存储在黑名单中。当收到的上传文件夹来自于黑名单中的物联网设备时,证明该数据的来源存疑,可能为危害通信安全的危险数据。服务器暂时不对接收到的上传文件夹进行处理。

在另一种可能的实现方式中,已经证明了此次发送的上述上传文件夹的物联网设备不是黑名单中的设备,上述服务器可以直接获取上述物联网设备的第一公钥。进一步的,为保障有第三方冒充物联网设备,将自己的第一公钥发送给服务器,用于传播危险数据。上述物联网设备和服务器都预置有ca服务器(certificateauthority,ca)的公钥,可以从ca(certificateauthority,ca)服务器颁布的数字证书,证明数据的发送方为可信赖的。上述数字证书可以包含物联网设备的第一公钥和身份信息。上述服务器采用预置的ca服务器(certificateauthority,ca)的公钥,获取到数字证书中上述物联网设备的第一公钥。

s103、根据所述物联网设备的第一公钥和所述服务器的第二私钥,生成第二协商密钥。

在上述服务器与上述物联网设备使用相同的加密规则的前提下,生成的第一协商密钥与第二协商密钥实际上是不需要传输的。使用第一协商密钥加密的内容,能够被第二协商密钥解密;使用第二协商密钥加密的内容,能够被第一协商密钥解密。上述加密规则可以为一种加密算法或多种加密算法的组合。

在一种可能的实现方式中,上述物联网设备和服务器预置相同的加密算法和密钥生成数,所以上述物联网设备与服务器生成的第一协商密钥与第二协商密钥能够互相加密与解密。进一步的,上述使用的预置的加密算法和密钥生成数以预设时间间隔进行更新。

在另一种可能的实现方式中,上述物联网设备和服务器预置相同的加密算法库和密钥生成数数据库,具体加密算法和密钥生成数与它们在数据库中序号关联存储。上述物联网设备将生成第一协商密钥的使用的加密算法和密钥生成数对应的序号都发送给服务器,服务器按照序号查找出生成第二协商密钥需要使用的加密算法和密钥生成数。

在又一种可能的实现方式中,上述第二协商密钥只作为第二会话密钥的生成基础,不对数据传输的内容进行任何加密操作。

s104、根据所述第二协商密钥和所述密钥信息中的随机生成数,生成第二会话密钥。

在上述服务器与上述物联网设备使用相同的加密规则的前提下,使用第一会话密钥加密的内容,能够被第二会话密钥解密。上述加密规则可以为一种加密算法或多种加密算法的组合。

具体的,上述第二协商密钥和上述第二会话密钥是一次会话有效的。可选的,上述密钥信息中的随机生成数可以为加密的形式,也可以为不加密的形式。进一步的,上述第二协商密钥使用的加密算法与上述第二会话密钥使用的加密算法可以为相同的算法。

在一种可能的实现方式中,上述密钥信息中的随机生成数可以为随机生成数的生成规则,上述物联网设备与上述服务器按照相同的规则生成随机生成数。例如,将设备系统时间中月份的个位数作为随机生成数的十位数,将设备系统时间中日期的个位数作为随机生成数的个位数。上述服务器按照该生成规则,得到本次使用的随机生成数。

在又一种可能的实现方式中,上述随机生成数使用加密的形式进行传输。

例如,上述物联网设备使用第一私钥对随机生成数进行加密,上述服务器使用上述物联网设备的第一公钥就能对随机生成数进行解密。

又例如,上述物联网设备使用生成的第一协商密钥对随机生成数进行加密,而使用第一会话密钥加密的内容,能够被第二会话密钥解密。上述服务器使用第二协商密钥即能对随机生成数进行解密。上述为生成密钥使用的加密算法,包括但不限于rsa加密算法(rsaalgorithm,rsa)、sm2椭圆曲线公钥密钥算法、elgamal算法、椭圆曲线加密算法(ecc)、ecdsa算法(theellipticcurvedigitalsignaturealgorithm,ecdsa)、ecdh密钥协商算法和dsa算法(digitalsignaturealgorithm,dsa)等,本申请实施例不作具体限定。

s105、采用第二会话密钥解密所述加密的第一数据,获取第一数据。

物联网设备的身份作为整个通信过程中重要的一环,当服务器使用生成的第二会话密钥成功解密上述加密的第一数据,可以确认该物联网设备传输的数据为可靠的数据,可以进一步对物联网设备传输的数据进行处理。上述第一数据可以为某个应用场景中物联网设备的运行数据,也可以为物联网设备监测的某个特定环境的数据,还可以为设定的某种警告信息。

例如,上述第一数据为车辆数据。上述车辆数据可以为以下信息的一种或者多种:车速信息、温度信息、水箱位置信息、油量信息、空调信息、时间信息、电瓶电压信息、发动机转速信息、位置信息、故障数量信息、故障码信息、排量信息、车辆设备开关信息、车辆保险信息、里程信息、平均油耗信息、行驶时间信息和车辆报警信息。可选的,根据车辆数据的隐私程度,物联网设备选择性地向服务器发送获取的车辆数据。部分隐私程度较高的车辆数据仅仅能够在用户的许可下在特定设备上进行查看操作,不能进行传输操作。

又例如,上述第一数据为园区的环境数据。上述环境数据可以为以下数据中的一种或者多种:氧气含量数据、二氧化硫含量数据、pm2.5数值、二氧化碳含量数据、环境温度和环境湿度。可选的,上述第一数据可以为超过阈值的环境数据,例如,当此时园区的温度为30摄氏度,超过26摄氏度的阈值,上述第一数据为现在的环境温度30摄氏度。

又例如,上述第一数据为危险人物面部特征数据。当物联网设备采集到的人脸面部特征数据与通缉人物数据库中的某个危险人物的面部特征数据高度相似,服务器接收到物联网设备上传的该人物的面部特征数据。

又例如,上述第一数据为危险人物指纹数据。当物联网设备采集到的人物指纹数据与通缉人物数据库中的某个危险人物的指纹数据吻合,服务器接收到物联网设备上传的该人物的指纹数据。

根据本申请实施例提供的一种基于物联网的加密传输方法,通过获取物联网设备发送的上传文件夹,生成解密需要使用的第二会话密钥,使得在一次交互过程中就能够获取物联网设备传输的第一数据。实施本申请的方案,能够保障数据传输过程中隐私数据的安全性和真实性,显著减少了通讯次数,有效提高了通信效率。

请参阅图3,图3是本申请实施例提供的一种基于物联网的加密传输方法的流程示意图。

其中:

s201、获取物联网设备发送的上传文件夹。

该步骤的具体实现可参考图1所述实施例的步骤s101,在此不再赘述。

s202、检测所述上传文件夹的物联网设备的身份信息,获取所述物联网设备的第一公钥。

该步骤的具体实现可参考图1所述实施例的步骤s102,在此不再赘述。

s203、根据所述物联网设备的第一公钥和所述服务器的第二私钥,生成第二协商密钥。

该步骤的具体实现可参考图1所述实施例的步骤s103,在此不再赘述。

s204、根据所述第二协商密钥和所述密钥信息中的随机生成数,生成第二会话密钥。

该步骤的具体实现可参考图1所述实施例的步骤s104,在此不再赘述。

s205、采用第二会话密钥解密所述加密的第一数据,获取第一数据。

该步骤的具体实现可参考图1所述实施例的步骤s105,在此不再赘述。

s206、根据所述物联网设备的标识信息,存储所述第一数据。

物联网设备提供的数据作为很多业务发展的基础,服务器应当将物联网设备上传的数据合理运用起来,进一步提炼出操作性更强的可用于指导业务的信息。

在一种可能的实现方式中,利用物联网设备的标识信息将上述第一数据进行关联存储后,能够将每个地区的物联网数据进行集中处理,进而分析出不同地区存在的地区差异对企业商业决策的影响。

例如,物联网设备上传的数据为环境数据,当将a地的环境数据进行集中处理后发现:初春时节a地的空气湿度为30%,而人们适宜的环境湿度为40%~60%。可分析出a地的人们在初春时节一定会对较为干燥的空气感到不适应。企业可以做出在初春时节对加湿器等产品进行促销的决定。

又例如,物联网设备上传的数据为汽车运行数据,当将a地与b地的汽车运行数据集中处理后发现:a地汽车的平均保养周期为2.5个月,汽车故障率为35%;b地汽车的平均保养周期为3个月,汽车故障率为20%。结合a地的砂石路段多于b地的信息,可分析出离地间隙更高的车型在a地更受欢迎,汽车生产商可加大该类型汽车在a地的投放比例。

在另一种可能的实现方式中,利用物联网设备的标识信息将上述第一数据进行关联存储后,企业可以从中获取用户的喜好,为用户提供更个性化的推荐内容。

例如,通过物联网设备上传的数据,可以分析出用户在每一个阶段的具体情况。当一定数量的用户在某个阶段都反映出相同的行为模式时,可以对产品的具体功能进行更新或者改进。

又例如,通过物联网设备上传的数据,抽象出更准确的用户画像。企业可以根据用户的活跃留存数据,为用户推荐更个性化的订阅内容。进一步的,企业可以筛选出用户可能感兴趣的广告内容,维持广告内容的曝光率。

s207、向所述物联网设备发送成功存储指令,所述成功存储指令包括时间信息。

当服务器已经对物联网设备上传的数据存储,表明物联网设备在这一段时间内已经采集的数据已经被成功运用,物联网设备不必再次上传该数据。

在一种可能的实现方式中,服务器向物联网设备发送成功存储指令后,可以对已经发送数据的物联网设备进行记录。进一步的,可以根据该记录判断是否有物联网设备没有向服务器发送数据,也可以对物联网设备发送数据的频率进行分析,了解该物联网设备是否处于正常运行的状态。

例如,如果物联网设备a由于处于旷野之中,造成了器件上的损坏。通常意义的人工检查不能确保了解每一台设备的运行情况。通过服务器生成的接收记录,可以发现物联网设备a有一段时间没有发送数据,便于后续的维修。

又例如,由于通信协议的变化,造成物联网设备b无法向服务器发送完整的数据。服务器通过接收记录,可以发现物联网设备b存在着能够发送数据,但是数据存在丢失的情况,便于设备人员对物联网设备b进行路由器的更换或者设备上的升级。

根据本申请实施例提供的一种基于物联网的加密传输方法,通过获取物联网设备发送的上传文件夹,生成解密需要使用的第二会话密钥,使得在一次交互过程中就能获得物联网设备传输的第一数据,并且向物联网设备发送成功存储指令,便于物联网设备生成相关记录。实施本申请的方案,能够保障数据传输过程中隐私数据的安全性和真实性,显著减少了通讯次数,有效提高了通信效率。

请参阅图4,图4是本申请实施例提供的一种基于物联网的加密传输方法的流程示意图。

其中:

s301、获取第一数据和密钥信息,所述密钥信息包括随机生成数和所述物联网设备的标识信息。

物联网设备持续采集服务器需要的数据,根据物联网设备的具体设定,上述第一数据可以为物联网设备一段时间周期内的所有数据,也可以是经过物联网设备自身筛选后的警报型数据,还可以是物联网设备采集的数据中具有相同特点的数据。为保障数据的安全性,物联网设备将加密所传输的第一数据,密钥信息为生成密钥所必要的信息。

在一种可能的实现方式中,上述随机生成数可以为不加密的形式,也可以为加密的形式。例如,物联网设备使用第一私钥对随机生成数进行加密,让服务器使用物联网设备对应的第一公钥对随机生成数进行解密。

s302、根据服务器的第二公钥和所述物联网设备的第一私钥,生成第一协商密钥。

在上述服务器与上述物联网设备使用相同的加密规则的前提下,生成的第一协商密钥与第二协商密钥实际上是不需要传输的。使用第一协商密钥加密的内容,能够被第二协商密钥解密;使用第二协商密钥加密的内容,能够被第一协商密钥解密。上述加密规则可以为一种加密算法或多种加密算法的组合。

在一种可能的实现方式中,上述物联网设备和服务器预置相同的加密算法和密钥生成数,所以上述物联网设备与服务器生成的第一协商密钥与第二协商密钥能够互相加密与解密。进一步的,上述使用的预置的加密算法和密钥生成数以预设时间间隔进行更新。

在另一种可能的实现方式中,上述物联网设备和服务器预置相同的加密算法库和密钥生成数数据库,具体加密算法和密钥生成数与它们在数据库中序号关联存储。上述物联网设备将生成第一协商密钥的使用的加密算法和密钥生成数对应的序号发送给服务器,服务器按照序号查找出生成第二协商密钥需要使用的加密算法和密钥生成数。

在又一种可能的实现方式中,上述第二协商密钥只作为第二会话密钥的生成基础,不对数据传输的内容进行任何加密操作。

在又一种可选的实现方式中,上述第一协商密钥可用于对上述密钥信息中的随机生成数进行加密,使得服务器生成对应的第二协商密钥后,再对上述随机生成数进行解密。

s303、根据所述第一协商密钥和所述密钥信息中的随机生成数,生成第一会话密钥。

在上述服务器与上述物联网设备使用相同的加密规则的前提下,使用第一会话密钥加密的内容,能够被第二会话密钥解密。上述加密规则可以为一种加密算法或多种加密算法的组合。具体的,上述第一协商密钥和上述第一会话密钥是一次会话有效的。可选的,上述密钥信息中的随机生成数可以为加密的形式,也可以为不加密的形式。进一步的,上述第一协商密钥使用的加密算法与上述第一会话密钥使用的加密算法可以为相同的算法。上述为生成密钥使用的加密算法,包括但不限于rsa加密算法(rsaalgorithm,rsa)、sm2椭圆曲线公钥密钥算法、elgamal算法、椭圆曲线加密算法(ecc)、ecdsa算法(theellipticcurvedigitalsignaturealgorithm,ecdsa)、ecdh密钥协商算法和dsa算法(digitalsignaturealgorithm,dsa)等,本申请实施例不作具体限定。

s304、采用所述第一会话密钥加密所述第一数据,获取加密的第一数据。

物联网设备使用上述第一会话密钥加密上述第一数据后,只有获取到相同随机生成数和相同加密规则的服务器能够生成对应的第二会话密钥,确保了数据加密后只有服务器才能进行解密操作,获取可能包含隐私的第一数据。

s305、向服务器发送上传文件夹。

为减轻沟通成本,上述物联网设备将加密后的第一数据、身份信息和密钥信息一次性通过上传文件夹的形式,发送给服务器。

在一种可能的实现方式中,上述上传文件夹为不加密的形式。即使上述上传文件夹在传输过程中被第三方获取,由于用于解密上述加密的第一数据的密钥需要服务器的第二私钥才能生成,因而第三方不能获取第一数据的内容,也能够保证上述上传文件夹中的信息安全。

在另一种可能的实现方式中,上述上传文件夹为加密的形式。例如,上述物联网设备与上述服务器都预置相同的文件夹密钥,上述物联网设备使用该文件夹密钥对上传文件夹进行加密,上述服务器使用该文件夹密钥对上传文件夹进行解密。进一步的,上述使用的文件夹密钥以一定时间间隔为周期进行更新。

根据本申请实施例提供的一种基于物联网的加密传输方法,通过将第一数据和加密使用的密钥信息一次性发送给服务器的方式,减少了通信的次数,并且通过更新数据发送记录对每一次的数据传输过程进行记录。实施本申请的方案,能够保障数据传输过程中隐私数据的安全性和真实性,有效提高了通信效率。

请参阅图5,图5是本申请实施例提供的一种基于物联网的加密传输方法的流程示意图。

其中:

s401、物联网设备获取第一数据和密钥信息,所述密钥信息包括随机生成数和所述物联网设备的标识信息。

该步骤的具体实现可参考图4所述实施例的步骤s301,在此不再赘述。

s402、物联网设备根据服务器的第二公钥和所述物联网设备的第一私钥,生成第一协商密钥。

该步骤的具体实现可参考图4所述实施例的步骤s302,在此不再赘述。

s403、物联网设备根据所述第一协商密钥和所述密钥信息中的随机生成数,生成第一会话密钥。

该步骤的具体实现可参考图4所述实施例的步骤s303,在此不再赘述。

s404、物联网设备采用所述第一会话密钥加密所述第一数据,获取加密的第一数据。

该步骤的具体实现可参考图4所述实施例的步骤s304,在此不再赘述。

s405、物联网设备向服务器发送上传文件夹。

该步骤的具体实现可参考图4所述实施例的步骤s305,在此不再赘述。

s406、服务器获取物联网设备发送的上传文件夹。

该步骤的具体实现可参考图2所述实施例的步骤s101,在此不再赘述。

s407、服务器检测所述上传文件夹的物联网设备的身份信息,获取所述物联网设备的第一公钥。

该步骤的具体实现可参考图2所述实施例的步骤s102,在此不再赘述。

s408、服务器根据所述物联网设备的第一公钥和所述服务器的第二私钥,生成第二协商密钥。

该步骤的具体实现可参考图2所述实施例的步骤s103,在此不再赘述。

s409、服务器根据所述第二协商密钥和所述密钥信息中的随机生成数,生成第二会话密钥。

该步骤的具体实现可参考图2所述实施例的步骤s104,在此不再赘述。

s410、服务器采用第二会话密钥解密所述加密的第一数据,获取第一数据。

该步骤的具体实现可参考图2所述实施例的步骤s105,在此不再赘述。

s411、服务器根据所述物联网设备的标识信息,存储所述第一数据。

该步骤的具体实现可参考图3所述实施例的步骤s206,在此不再赘述。

s412、服务器向所述物联网设备发送成功存储指令,所述成功存储指令包括时间信息。

该步骤的具体实现可参考图3所述实施例的步骤s207,在此不再赘述。

s413、物联网设备接收所述服务器发送的成功存储指令。

在物联网设备将自己的采集的数据发送给服务器后,在预设时间周期内都等待着服务器发送的反馈信息。如果在预设时间周期内,上述物联网设备接收到服务器发送的成功存储指令,物联网设备可以选择删除发送的上述上传文件夹。

在一种可能的实现方式中,上述物联网设备在预设时间周期内,接收到服务器发送的失败指令,物联网设备可以立即向服务器重新发送上述上传文件夹。

在另一种可能的实现方式中,上述物联网设备在预设时间周期内,没有接收到服务器发送的成功存储指令,物联网设备可以在等待一段时间后,向服务器重新发送上述上传文件夹。

例如,预设时间周期为1小时,当物联网设备在发送上传文件夹后1小时,都没有接收到服务器发送的成功存储指令,物联网设备可以继续等待30分钟,再向服务器发送上述上传文件夹。

s414、物联网设备根据所述成功存储指令,更新数据发送记录。

在物联网设备成功发送上述上传文件夹后,可以选择删除上述上传文件夹,在这种情况下,但当将物联网设备发送数据的情况纳入维修标准时,物联网设备不能证明自己是否发送过数据、发送频率是多少。所以生成数据发送记录,并根据服务器发送的成功存储指令,对数据发送记录进行更新,便于对物联网设备发送数据的情况进行判断。

根据本申请实施例提供的一种基于物联网的加密传输方法,服务器通过获取物联网设备发送的上传文件夹,生成解密需要使用的第二会话密钥,使得在一次交互过程中就能够获取物联网设备传输的第一数据。实施本申请的方案,能够保障数据传输过程中隐私数据的安全性和真实性,显著减少了通讯次数,有效提高了通信效率。

请参阅图6,图6是本申请实施例提供的一种服务器的结构示意图。上述服务器包括:第二获取单元501、检测单元502、第二密钥生成单元503及第二解密单元504;可选的,上述服务器包括存储单元505和第二发送单元506。其中:

第二获取单元501,用于获取物联网设备发送的上传文件夹;

检测单元502,用于检测所述上传文件夹的物联网设备的身份信息,获取所述物联网设备的第一公钥;

第二密钥生成单元503,用于根据所述物联网设备的第一公钥和所述服务器的第二私钥,生成第二协商密钥;

所述第二密钥生成单元503还用于,根据所述第二协商密钥和所述密钥信息中的随机生成数,生成第二会话密钥;

第二解密单元504,用于采用第二会话密钥解密所述加密的第一数据,获取第一数据。

在一种可能的实现方式中,上述服务器还包括:

存储单元505,用于根据所述物联网设备的标识信息,存储所述第一数据;

第二发送单元506,用于向所述物联网设备发送成功存储指令。

在另一种可能的实现方式中,上述检测单元502包括:检测子单元5021,用于查找黑名单中是否存在所述物联网设备的标识信息;

获取子单元5022,用于当黑名单中不存在所述物联网设备的标识信息时,获取所述物联网设备的第一公钥。

在又一种可能的实现方式中,上述第二密钥生成单元503包括:对比子单元5031,用于对比所述密钥信息中的所述物联网设备的标识信息与所述上传文件夹的物联网设备的身份信息中的所述物联网设备的标识信息是否一致;

所述对比子单元5031还用于,当对比结果一致时,获取所述密钥信息中的随机生成数;

第二密钥生成子单元5032,用于根据所述第二协商密钥和所述随机生成数,生成第二会话密钥。

其中,存储单元505和第二发送单元506为可选的单元。

有关上述第二获取单元501、检测单元502、第二密钥生成单元503、第二解密单元504、存储单元505和第二发送单元506更详细的描述可以直接参考上述图2和图3所示的方法实施例中基于物联网的加密传输方法的相关描述直接得到,这里不加赘述。

根据本申请实施例提供的一种服务器,通过获取物联网设备发送的上传文件夹,生成解密需要使用的第二会话密钥,使得在一次交互过程中就能够获取物联网设备传输的第一数据。实施本申请的方案,能够保障数据传输过程中隐私数据的安全性和真实性,显著减少了通讯次数,有效提高了通信效率。

请参阅图7,图7是本申请实施例提供的一种物联网设备的结构示意图。上述物联网设备包括:第一获取单元601、第一密钥生成单元602、加密单元603及第一发送单元604;可选的,上述物联网设备还包括:第一获取单元601和更新单元605。其中:

第一获取单元601,用于获取第一数据和密钥信息,所述密钥信息包括随机生成数和所述物联网设备的标识信息;

第一密钥生成单元602,用于根据服务器的第二公钥和所述物联网设备的第一私钥,生成第一协商密钥;

所述第一密钥生成单元602还用于,跟据所述第一协商密钥和所述密钥信息中的随机生成数,生成第一会话密钥;

加密单元603,用于采用所述第一会话密钥加密所述第一数据,获取加密的第一数据;

第一发送单元604,用于向服务器发送上传文件夹。

在一种实现方式中,上述物联网设备还包括:

第一获取单元601还用于,接收所述服务器发送的成功存储指令;

更新单元605,用于根据所述成功存储指令,更新数据发送记录。

其中,更新单元605为可选的单元。

有关上述第一获取单元601、第一密钥生成单元602、加密单元603及第一发送单元604和更新单元605更详细的描述可以直接参考上述图4所示的方法实施例中基于物联网的加密传输方法的相关描述直接得到,这里不加赘述。

根据本申请实施例提供的一种物联网设备,通过将第一数据和加密使用的密钥信息一次性发送给服务器的方式,减少了通信的次数,并且通过更新数据发送记录对每一次的数据传输过程进行记录。实施本申请的方案,能够保障数据传输过程中隐私数据的安全性和真实性,有效提高了通信效率。

请参阅图8,图8是本申请实施例提供的一种服务器的硬件结构示意图。如图6所示的本实施例中的服务器可以包括:处理器701、收发器702及存储器703。

存储器包括但不限于是随机存储记忆体(randomaccessmemory,ram)、只读存储器(read-onlymemory,rom)、可擦除可编程只读存储器(erasableprogrammablereadonlymemory,eprom)、或便携式只读存储器(compactdiscread-onlymemory,cd-rom),该存储器用于相关指令及数据。

处理器可以包括是一个或多个处理器,例如包括一个或多个中央处理器(centralprocessingunit,cpu),在处理器是一个cpu的情况下,该cpu可以是单核cpu,也可以是多核cpu。

存储器用于存储网络设备的程序代码和数据。

收发器用于在连接网络时接收和发送数据。

处理器用于调用该存储器中的程序代码和数据,执行如下步骤:控制上述收发器获取物联网设备发送的上传文件夹;检测上述上传文件夹的物联网设备的身份信息,获取上述物联网设备的第一公钥;根据上述物联网设备的第一公钥和上述服务器的第二私钥,生成第二协商密钥;根据上述第二协商密钥和上述密钥信息中的随机生成数,生成第二会话密钥;采用第二会话密钥解密上述加密的第一数据,获取第一数据。

在一种可能的实现方式中,上述处理器还用于执行以下步骤:控制存储器根据上述物联网设备的标识信息,存储上述第一数据;控制收发器向上述物联网设备发送成功存储指令,上述成功存储指令包括时间信息。

在另一种可能的实现方式中,上述上传文件夹的物联网设备的身份信息包括上述物联网设备的第一公钥和上述物联网设备的标识信息,上述处理器执行上述检测上述上传文件夹的物联网设备的身份信息,获取上述物联网设备的第一公钥的步骤,包括:查找黑名单中是否存在上述物联网设备的标识信息;若不存在,获取上述物联网设备的第一公钥。

在又一种可能的实现方式中,上述密钥信息包括随机生成数和上述物联网设备的标识信息,上述处理器执行上述根据上述第二协商密钥和上述密钥信息中的随机生成数,生成第二会话密钥的步骤,包括:对比上述密钥信息中的上述物联网设备的标识信息与上述上传文件夹的物联网设备的身份信息中的上述物联网设备的标识信息是否一致;当对比结果一致时,获取上述密钥信息中的随机生成数;根据上述第二协商密钥和上述随机生成数,生成第二会话密钥。

在又一种可能的实现方式中,上述第二协商密钥和上述第二会话密钥是一次会话有效的。

可以理解的是,图8仅仅示出了服务器的简化设计。在实际应用中,服务器还可以分别包含必要的其他元件,包含但不限于任意数量的网络接口、输入装置、输出装置、处理器、存储器等,而所有可以实现本申请实施例的服务器都在本申请的保护范围之内。

请参阅图9,图9是本申请实施例提供的一种物联网设备的硬件结构示意图。如图9所示的本实施例中的物联网设备可以包括:处理器801、输入装置802、输出装置803及存储器804。

存储器包括但不限于是随机存储记忆体(randomaccessmemory,ram)、只读存储器(read-onlymemory,rom)、可擦除可编程只读存储器(erasableprogrammablereadonlymemory,eprom)、或便携式只读存储器(compactdiscread-onlymemory,cd-rom),该存储器用于相关指令及数据。

处理器可以包括是一个或多个处理器,例如包括一个或多个中央处理器(centralprocessingunit,cpu),在处理器是一个cpu的情况下,该cpu可以是单核cpu,也可以是多核cpu。

存储器用于存储网络设备的程序代码和数据。

输入装置用于输入数据和/或信号,以及输出装置用于输出数据和/或信号。输出装置和输入装置可以是独立的器件,也可以是一个整体的器件。

处理器用于调用该存储器中的程序代码和数据,执行如下步骤:控制上述输入装置获取第一数据和密钥信息,上述密钥信息包括随机生成数和上述物联网设备的标识信息;根据物联网设备的第二公钥和上述物联网设备的第一私钥,生成第一协商密钥;根据上述第一协商密钥和上述密钥信息中的随机生成数,生成第一会话密钥;采用上述第一会话密钥加密上述第一数据,获取加密的第一数据;控制上述输出装置向物联网设备发送上传文件夹,上述上传文件夹包括上述物联网设备的身份信息、加密的第一数据及密钥信息。

在一种可能的实现方式中,上述处理器还执行如下步骤:控制输入装置接收上述物联网设备发送的成功存储指令,上述成功存储指令包括时间信息;根据上述成功存储指令,更新数据发送记录。

可以理解的是,图9仅仅示出了物联网设备的简化设计。在实际应用中,物联网设备还可以分别包含必要的其他元件,包含但不限于任意数量的网络接口、输入装置、输出装置、处理器、存储器等,而所有可以实现本申请实施例的物联网设备都在本申请的保护范围之内。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,该单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。所显示或讨论的相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。该计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行该计算机程序指令时,全部或部分地产生按照本申请实施例的流程或功能。该计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。该计算机指令可以存储在计算机可读存储介质中,或者通过该计算机可读存储介质进行传输。该计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(digitalsubscriberline,dsl))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。该计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。该可用介质可以是只读存储器(read-onlymemory,rom),或随机存储存储器(randomaccessmemory,ram),或磁性介质,例如,软盘、硬盘、磁带、磁碟、或光介质,例如,数字通用光盘(digitalversatiledisc,dvd)、或者半导体介质,例如,固态硬盘(solidstatedisk,ssd)等。

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