CN110784493B - 一种基于NB-IoT通信的综合气象数据采集系统 - Google Patents

一种基于NB-IoT通信的综合气象数据采集系统 Download PDF

Info

Publication number
CN110784493B
CN110784493B CN201911212243.0A CN201911212243A CN110784493B CN 110784493 B CN110784493 B CN 110784493B CN 201911212243 A CN201911212243 A CN 201911212243A CN 110784493 B CN110784493 B CN 110784493B
Authority
CN
China
Prior art keywords
data
user
updating
module
ciphertext
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201911212243.0A
Other languages
English (en)
Other versions
CN110784493A (zh
Inventor
王宜怀
施连敏
王进
钱涵佳
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Suzhou University
Original Assignee
Suzhou University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Suzhou University filed Critical Suzhou University
Publication of CN110784493A publication Critical patent/CN110784493A/zh
Application granted granted Critical
Publication of CN110784493B publication Critical patent/CN110784493B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/658Incremental updates; Differential updates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0807Network architectures or network communication protocols for network security for authentication of entities using tickets, e.g. Kerberos
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0876Network architectures or network communication protocols for network security for authentication of entities based on the identity of the terminal or configuration, e.g. MAC address, hardware or software configuration or device fingerprint
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/20Network architectures or network communication protocols for network security for managing network security; network security policies in general
    • H04L63/205Network architectures or network communication protocols for network security for managing network security; network security policies in general involving negotiation or determination of the one or more network security mechanisms to be used, e.g. by negotiation between the client and the server or between peers or by selection according to the capabilities of the entities involved
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • H04L67/025Protocols based on web technology, e.g. hypertext transfer protocol [HTTP] for remote control or remote monitoring of applications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/30Services specially adapted for particular environments, situations or purposes
    • H04W4/38Services specially adapted for particular environments, situations or purposes for collecting sensor information
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/50Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/70Reducing energy consumption in communication networks in wireless communication networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Power Engineering (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Storage Device Security (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明公开了一种综合气象数据采集系统,包括人机交互系统、终端和密钥获取模块,密钥获取模块用于生成系统公钥和第一用户私钥,信息接收模块用于接收终端发来的基于访问结构以及明文生成的密文和验证令牌,以及接收用户访问端发来的基于系统公开参数、第一用户私钥以及相应的用户属性生成的转换密钥和第二用户私钥,分解密文生成模块用于基于系统公开参数、用户访问端的用户唯一标识、转换密钥以及密文生成部分分解密文,信息发送模块用于将部分分解密文发送至用户访问端,以使用户访问端利用系统公开参数以及第二用户私钥对部分分解密文进行解密,得到明文。该系统减轻了用户的计算和存储负荷。

Description

一种基于NB-IoT通信的综合气象数据采集系统
技术领域
本发明涉及气象数据传输技术领域,特别涉及一种基于NB-IoT通信的综合气象数据采集系统。
背景技术
自动气象站作为智能化、无人化的地面气象要素观测设备,已是采集气象数据信息的重要载体。它的出现使气象观测逐渐摆脱了以往由于依赖人工观测而存在的采集频率低、数据误差不确定、时空分辨率差等问题,使气象数据信息精确度以及实效性得到很大程度的增强。
气象数据采集系统是集成传感器技术、嵌入式技术、物联网无线通信技术的新一代气象监测智能设备。高精度嵌入式传感器的开发提高了气象环境信息测量的精度,并持续推动精准气象业务的发展。为了实现气象数据采集与处理系统的智能化、网络化、提高气象数据采集传输的可靠性、实时性以及高效性,物联网技术理念已被引入到气象采集观测过程中。
物联网因其具备高度互操作性,可扩展性,普遍性和开放性而与智能气象采集系统完美匹配。窄带物联网(Narrowband-loT,NB-IoT)通信技术作为物联网体系中的核心支撑技术,对气象观测业务的发展起到至关重要的推动作用。
然而,物联网方案还带来了许多挑战。在NB-IoT IMDAS(IntegratedMeteorological Data Acquisition System,IMDAS)应用推广中,其必须建立开放产业平台,依托云计算这个拥有强大计算存储能力的大数据处理支撑平台,提供NB-IoT应用系统的各项数据服务以及实现信息智能化。
但是,云计算环境下数据存储安全存在问题。由于数据异地的存储,导致用户失去对自身数据的一些基本访问控制。云环境的开放性对用户而言不可完全信赖,用户数据将会暴露在不安全的云环境之下,容易受到恶意外部攻击者、内部员工隐瞒窃探和云服务器共谋攻击等威胁,数据机密性和用户隐私难以得到保证。
此外,由于IMDAS由海量智能化程度受限的气象数据采集终端节点组成,不具备自我保护措施,并且由于窄带物联网是开放性网络,资源提供方容易受到节点冒充、数据篡改、信息窃取等攻击。在数据处理共享需求越来越多的分布式环境中,如何在灵活可扩展的访问控制策略,控制数据共享范围的同时,也保障用户在通信过程中数据的机密性、隐私性是一个严峻的挑战。
同时,智能气象数据采集节点投入运行的应用环境复杂多变,开发人员对部署环境无法考虑详尽,面对多样化的需求变动以及可能存在的软件缺陷,需要设备开发人员后期不断地更新产品固件。传统的嵌入式软件升级方式,需要开发人员携带专用烧写工具到现场对设备进行升级。这种在线升级的方式不仅耗费大量的人力物力维护成本,而且对现场工作人员有着较高的专业要求。尤其是,一些高空作业的智能气象设备的固件升级难度更大。因此,气象数据采集系统需要具备远程更新代码的能力,对节点进行灵活地配置和升级以适应环境变化。
然而,现有远程更新方法普遍存在着节点通信产生的传输开销和存储代码引起的重组开销过高的问题。传统的嵌入式软件升级方案通常使用整包升级的方式,该方案结构简单易于实现。然而整包传输占用大量网络带宽且存在一定的安全隐患。
发明内容
(一)发明目的
基于此,为了解决基于云平台的气象数据存储、共享访问的安全问题,终端气象节点极易受到攻击、资源不足、功耗受限等问题,以及解决远程更新气象数据采集终端软件时节点通信产生的传输开销和存储代码引起的重组开销过高的问题,本发明公开了以下技术方案。
(二)技术方案
本发明公开了一种基于NB-IoT通信的综合气象数据采集系统,包括:
人机交互系统,其包括云服务器;
通过NB-IoT物联网与所述人机交互系统通信连接的至少一个气象数据采集终端;
第一密钥获取模块,用于将安全系数和属性全集输入授权机构得到系统公开参数;以及
第二密钥获取模块,用于将所述系统公开参数输入授权机构得到与各属性对应的系统公钥以及与用户访问端的属性对应的第一用户私钥;
其中,所述云服务器包括:
信息接收模块,用于接收气象数据采集终端发来的基于访问结构以及明文生成的密文和验证令牌,以及接收用户访问端发来的基于所述系统公开参数、所述第一用户私钥以及相应的用户属性生成的转换密钥和第二用户私钥;
分解密文生成模块,用于基于所述系统公开参数、用户访问端的用户唯一标识、所述转换密钥以及所述密文生成部分分解密文;
信息发送模块,用于将所述部分分解密文发送至用户访问端,以使用户访问端利用所述系统公开参数以及所述第二用户私钥对所述部分分解密文进行解密,得到所述明文。
在一种可能的实施方式中,接收所述第一密钥获取模块输入并输出所述系统公开参数的授权机构为中央授权机构,接收所述第二密钥获取模块输入并输出所述第一用户私钥的授权机构为多个属性授权机构,每个所述属性授权机构管理相应的一组属性集合。
在一种可能的实施方式中,所述气象数据采集终端包括:
第一密文生成模块,用于在离线状态下基于所述系统公共参数得到临时密文;
第二密文生成模块,用于在在线状态下基于所述系统公共参数、所述系统公钥、所述临时密文、访问结构以及明文生成完整密文和验证令牌;并且,
所述信息接收模块接收所述气象数据采集终端发来的密文为所述完整密文。
在一种可能的实施方式中,所述中央授权机构为用户访问端分配所述用户唯一标识。
在一种可能的实施方式中,所述云服务器包括:
云存储服务器,用于存储所述信息接收模块接收的密文和验证令牌;
云代理服务器,用于接收用户访问端的请求,以使所述分解密文生成模块生成所述部分分解密文并发送给用户访问端。
在一种可能的实施方式中,所述人机交互系统还包括:
预警模型建立模块,用于依据所述气象数据采集终端采集的过去一段设定时间的数据建立应用于农作物的气象预警模型;
发病等级预测模块,用于依据所述气象预警模型的运算结果预测农作物的发病预警等级;
其中,所述气象预警模型包括温度预警模型和湿度预警模型,所述温度预警模型依据所述设定时间的平均温度和病菌生存特性算出农作物受温度变化影响而产生病症的第一中间结果,所述湿度预警模型依据所述设定时间的平均相对湿度和病菌生存特性算出农作物受湿度变化影响产生病症的第二中间结果,所述发病等级预测模块依据所述第一中间结果和所述第二中间结果的乘积算出发病预警等级。
在一种可能的实施方式中,该系统还包括用于采集农作物图像的图像采集设备;并且,
所述人机交互系统还包括:
图像预处理模块,用于依据所述气象数据采集终端采集的气象数据判断气象状况,并依据气象状况对图像采集的影响对所述图像采集设备采集到的图像进行相应预处理;
图像分割模块,用于基于RGB颜色空间对所述农作物图像进行图像分割,得到农作物显症部位的图像;
特征提取模块,用于基于像素点灰度值从所述显症部位的图像中提取出显症区域的形状特征,基于RGB颜色空间从所述显症部位的图像中提取出显症区域的颜色特征,以及基于灰度共生矩阵从所述显症部位的图像中提取出显症区域的纹理特征;
病害识别模块,用于将所述提取出的特征输入支持向量机,利用预先训练好的病害模型对输入的特征进行分类预测。
在一种可能的实施方式中,所述气象数据采集终端包括:
Flash存储器,其包括存储用户中断向量表和用户程序的用户程序存储区,以及存储所述人机交互系统发来的程序更新数据的更新存储区;
程序更新模块,用于依据接收的所述人机交互系统发来的程序更新数据,对所述用户程序存储区内的程序进行更新;
其中,所述程序更新模块包括:
整体更新子模块,用于在所述人机交互系统发来整体程序更新数据的情况下,对所述用户程序存储区内的程序进行替换更新;和/或,
增量更新子模块,用于在所述人机交互系统发来差分程序更新数据的情况下,对所述用户程序存储区内的程序进行组合更新。
在一种可能的实施方式中,所述整体更新子模块包括:
整体替换更新单元,用于在预知所述整体程序更新数据的数据量大于所述更新存储区容量的情况下,在接收所述整体程序更新数据时将所述整体程序更新数据直接写入所述用户程序存储区;和/或,
整体保留更新单元,用于在预知所述整体程序更新数据的数据量不大于所述更新存储区容量的情况下,在接收所述整体程序更新数据时将所述整体程序更新数据写入所述更新存储区,在全部写入所述更新存储区之后将所述整体程序更新数据写入所述用户程序存储区。
在一种可能的实施方式中,所述增量更新子模块包括:
复制单元,用于将当前用户程序数据中的与所述整体程序更新数据之间相同的数据复制到所述更新存储区的设定位置;
插入单元,用于将所述差分程序更新数据插入到所述更新存储区的指定位置,形成所述整体程序更新数据;
覆盖单元,用于将所述更新存储区内的所述整体程序更新数据覆盖到所述用户程序存储区,完成对所述用户程序存储区内程序的更新。
(三)有益效果
本实施例公开的基于NB-IoT的综合气象数据采集系统,在多个属性授权机构的背景下,采用更灵活的访问控制策略,大大减轻了授权中心的负担和风险;同时,融入在线/离线加密和外包解密技术,将大量昂贵的计算外包给云服务器,最小化气象数据采集终端用户的计算开销和存储负担,很好地解决计算能力较弱且资源受限的NB-IoT云存储数据安全问题,提高了资源访问控制效率;并且,密钥存储在云端,降低访问过程中数据通信量;另外,通过验证外包解密正确性的算法,保证了本实施例方案的可靠性和安全性。
通过气象数据对农作物未来几天对于某种或某几种病症的发病概率作出预测,或者对某种或某几种虫害概率做出预测,因此对于物联网气象数据采集系统来说,其采集到的气象数据能够被用于预测农作物的发病概率,实现农作物的发病预警,从而使种植人员有针对性地进行病症预防,保证农作物的产出率。
扩大了气象数据采集系统的功能,将利用该系统提供的物联网平台对农作物病害进行图像识别,实现农作物病害自动化监测,同时通过将气象数据融入到以物联网为平台的图像识别农作物病害中,提高病害识别率。
针对大规模的气象数据采集节点的维护更新问题,提出了一种存储优化的远程更新方案,能够使人机交互系统通过窄带物联网对气象数据采集终端进行程序的远程自动更新,无需维护人员进行现场程序更新,也无需对气象数据采集终端设备进行更换,利于对数量庞大的气象数据采集终端设备以及地处偏远的气象数据采集终端设备进行快速地程序更新,节省了时间成本、人力成本和设备回收成本。
附图说明
以下参考附图描述的实施例是示例性的,旨在用于解释和说明本发明,而不能理解为对本发明的保护范围的限制。
图1是本发明公开的综合气象数据采集系统实施例的结构框图。
图2是增量更新过程的数据操作示意图。
图3是最长公共子序列的矩阵及反向回溯过程的示意图。
图4是温度真实值与线性回归测量值20~39℃区间数据对比表。
具体实施方式
为使本发明实施的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行更加详细的描述。
下面参考图1-图4详细描述本发明公开的基于NB-IoT通信的综合气象数据采集系统实施例。如图1所示,本实施例主要包括有人机交互系统,至少一个气象数据采集终端,第一密钥获取模块和第二密钥获取模块。
NB-IoT人机交互系统(Human-computer interaction,HCI)是实现信息交互、信息处理和信息服务的软硬件系统,能够完成数据的接收与分类处理,可以包括部署在服务器上的服务端、安装在电脑上的客户端、安装在安卓手机上的App、微信小程序以及WEB网页等。用户能够凭借通用计算机(PC)、笔记本电脑、平板电脑、手机等设备智能设备获取NB-IoT终端UE的数据,进而实时监测天气状况,并通过微信或者短信等方式接收警示异常信息,以便及时处理气象数据,以及对气象数据采集终端UE进行控制等。
终端负责采集气象数据,并通过NB-IoT物联网与人机交互系统进行数据通信,以将气象数据上传给人机交互系统。终端(Ultimate-Equipment,UE)是一种以微控制器(Microcontroller Unit,MCU)为核心,具有数据采集、控制、运算等功能,带有NB-IoT通信功能,甚至包含机械结构,用于特定功能的软硬件实体。终端一般以MCU为核心,辅以通信模组及其他输入输出电路构成,MCU负责数据采集、处理、分析,干预执行机构,以及与通信模组的板内通信连接,通信模组将MCU的板内连接转为NB-IoT通信,以便借助基站与人机交互系统的云服务器通信。终端UE甚至可以包含短距离无线通信机构,与其他物联网节点实现通信。终端内含用户识别卡,也就是用户识别卡(Subscriber Identity Model,SIM),含有唯一的国际移动用户识别码(International Mobile Subscriber IdentificationNumber,IMSI),也就是卡号。
人机交互系统HCI通过NB-IoT信息邮局(Mssage Post Office,MPO)与终端UE通信连接。信息邮局是一种基于NB-IoT协议的信息传送系统,由NB-IoT基站eNodeB(eNB)与NB-IoT云服务器组成。在终端UE与人机交互系统HCI之间起信息传送的桥梁作用,并由移动网络运行商负责建立与维护。
第一密钥获取模块用于将安全系数和属性全集输入授权机构得到系统公开参数。第二密钥获取模块用于将系统公开参数输入授权机构得到与各属性对应的系统公钥以及与用户访问端的属性对应的第一用户私钥。在一种实施方式中,接收第一密钥获取模块输入并输出系统公开参数的授权机构为中央授权机构,接收第二密钥获取模块输入并输出第一用户私钥的授权机构为多个属性授权机构,每个属性授权机构管理相应的一组属性集合。
中央授权机构(Central Attribute Authorities,CA)为完全可信的权威认证机构。由中央授权机构CA建立系统并负责属性授权机构AA注册和用户注册,为属性授权机构AA及系统中每一个合法用户分配一个全局唯一的身份标识,同时定义系统全局参数(也就是系统公共参数),但不参与任何用户属性管理和属性私钥分发。用户提交的属性由中央授权机构认证,每一个授权的属性由系统公共参数中的一个随机数来进行表示。
属性授权机构(Attribute Authorities,AA)同样是独立可信的权威机构。在其范围内,负责用户属性的管理分发、撤销和更新任务,多个属性授权机构独立的管理着每类属性,并根据用户相关属性生成相应的公开密钥和解密密钥,根据属性为用户授予不同的访问权限。
多个属性授权中心来分别管理自己所属的属性集,相互独立,降低了单一属性授权中心的负担,并且提高了系统的安全性。
人机交互系统包括云服务器,云服务器包括信息接收模块、分解密文生成模块和信息发送模块。
信息接收模块用于接收气象数据采集终端UE发来的基于访问结构以及明文生成的密文和验证令牌。由于终端UE负责气象数据的采集工作,因此本实施例中,终端UE为数据属主。终端UE的硬件实物为智能气象数据采集终端。数据属主(Data Owner,DO)决定访问结构,并利用访问结构加密数据文件,同时为每个密文生成相应的验证令牌,然后上传至云服务器进行存储分享。数据属主通过自己定义数据的访问结构并在密文上指定访问结构,使得只有属性满足访问结构的用户才能获得明文数据。
访问结构又称访问策略,是秘密共享和属性加密中的核心概念。在秘密共享中,访问结构是一组成员的集合,访问结构和属性是能够实现对数据细粒度访问控制的关键所在。在属性加密中,只要满足属性和访问结构相匹配,则某一个密钥能够解密多个密文,某一个密文也可以不止被一个密钥解密。
信息接收模块还用于接收用户访问端发来的基于系统公开参数、第一用户私钥以及相应的用户属性生成的转换密钥和第二用户私钥。
用户访问端代表了数据访问用户(Data User,DU),本实施例选取64位操作系统Windows10的PC作为NB-IoT人机交互客户端HCI,将其作为数据访问用户。用户与云存储服务器交互,属性授权机构AA会根据其一组属性值为其分配一组解密密钥。每一个数据共享用户都有唯一的身份标识GID(Global Identity),通过云代理服务器帮助解密密文。只有满足访问策略的数据共享用户才能完成解密,获得明文并验证解密结果。数据访问用户将凭借其全局身份标识GID获取一组属性值以及符合其属性值的解密密钥。另外,单个属性授权机构不能够提取用户的私钥和用户身份信息。多个授权机构共同为合法的用户生成私钥。
数据访问用户通过移动终端(此终端并非指的终端UE)与云存储服务器通信,并外包自己的转换密钥给云存储服务器用于获取转换后的密文。同时,数据使用者使用验证令牌和自己的私钥验证云存储服务器的解密是否正确。
分解密文生成模块用于基于系统公开参数、用户访问端的用户唯一标识、转换密钥以及密文生成部分分解密文。
信息发送模块用于将部分分解密文发送至用户访问端,以使用户访问端利用系统公开参数以及第二用户私钥对部分分解密文进行解密,得到明文。
云服务器还可以分为云存储服务器和云代理服务器。
云存储服务器将会提供终端UE发来的密文及验证令牌的存储和密钥管理的功能,以及数据访问控制服务。但是云服务器由云服务提供商(Cloud Service Provicer,CSP)维护,是不完全可信的第三方机构,它会诚实地执行系统中合法实体分配的任务,也会对存储的加密文件产生兴趣。信息接收模块可以是从属于云存储服务器的模块。
云代理服务器(Proxy Server,PS)接收用户请求,使用转换密钥完成对密文的部分解密后发给用户。在不向云代理服务器泄露任何加密信息的前提下很好地降低了终端用户设备解密的负担。云代理服务器是半可信的,它会尝试解密文件,但不会影响数据的正确性。分解密文生成模块和信息发送模块可以是从属于云代理服务器的模块。
在一种实施方式中,气象数据采集终端包括第一密文生成模块和第二密文生成模块。第一密文生成模块用于在离线状态下基于系统公共参数得到临时密文。第二密文生成模块用于在在线状态下基于系统公共参数、系统公钥、临时密文、访问结构以及明文生成完整密文和验证令牌。并且,信息接收模块接收气象数据采集终端发来的密文为完整密文。
具体的,本实施例的数据加解密方案实施方式如下:
1)CA_Setup(λ,U)→GP
输入安全系数λ和属性全集U,中央授权机构基于安全系数和用户属性全集得到系统公开参数,输出系统公开参数GP(Global Public Parameter)。GP是整个系统方案的全局参数,作为每个运算的输入参数。假设方案中存在k个属性机构{A1,A2,…,Ak},每个属性授权机构Ak管理相应的一组属性集合Uk,每个用户拥有全局唯一标识符GID,以及一组属性集合S。
利用λ生成阶为大素数p的群G和GT,将G的生成元g和p作为全局公共参数GP。定义一个双线性映射e:G×G→GT。选取2个强抗碰撞的Hash函数H:{0,1}→Zp,和
Figure GDA0003129563740000122
通过随机语言将全局身份表示GID映射到G中的元素中。
2)AA_Setup(GP)→(PKk,SKk)
每个属性授权机构管理相应的一组属性集合,属性授权机构依据用户访问端的申请,基于系统公开参数生成与各属性对应的系统公钥(主公钥)和系统私钥。属性授权机构初始化时,将GP作为输入参数,每个属性授权机构Ak生成相应的公私钥对PKk,SKk作为该运算的输出。属性授权机构会针对每个授权机构Ak管理的每个属性i,选择2个指数xi,yi∈Zp,每个Ak
Figure GDA0003129563740000121
作为其私钥。
3)KeyGen(SKk,GP,S,GID)→SKU
多个属性授权机构共同基于系统公开参数、系统私钥、用户属性以及用户唯一标识生成相应的第一用户私钥,将系统公钥发送给终端,并将第一用户私钥发送给用户访问端。用户密钥生成运算,由多个授权机构Ak合作生成密钥,输入全局参数GP、授权机构主私钥SKk,和一组用户属性集S,输出每个用户的私钥SKU。用户访问系统时向属性授权机构Ak申请私钥,每个授权机构Ak都会执行AA_Setup运算。根据每个用户的唯一身份标识符GID以及每个属性i∈S生成相对应的密钥,计算
Figure GDA0003129563740000135
将私钥结果SKU发送给用户。
4)Offline.Enc(GP)→IT
终端在离线状态下基于系统公开参数得到临时密文。离线加密运算,输入全局参数GP,输出临时密文IT。这一阶段在数据属主终端设备上执行。但设备重新启动时,可以在离线阶段,事先处理一些复杂计算,将结果即临时密文存储在移动终端设备上。具体运算如下:假设本方案中最大属性集为U。对于每个j∈[1,U],随机选一组λj',yj',αj',
Figure GDA0003129563740000131
rj'∈Zp,计算
Figure GDA0003129563740000132
Figure GDA0003129563740000133
Figure GDA0003129563740000134
5)Online.Enc(IT,m,GP,PKk,(M,ρ))→(CT,Token)
终端在在线状态下基于临时密文、系统公钥、系统公开参数、明文以及访问结构生成完整密文和验证令牌,并将完整密文和验证令牌发送至云服务器。在线加密运算:输入GP,属性授权机构主公钥PKk、临时密文IT访问结构(M,ρ)和明文m(Message),输出密文CT和验证令牌Token(Verification Token)。数据属主外派数据到服务器之前,需运行运算加密消息m成密文之后发送给云服务器。
①数据属主随机选择ck∈GT,计算对称密钥sk=H'(ck),使用对称密钥sk加密数据m,生成数据密文DC(data ciphertext),另外计算验证令牌Token=H1(H0(DC)||CT')。
②数据属主加密对称密钥ck。
(i)输入LSSS访问结构(M,ρ),其中函数ρ与M的行和属性相关。
(ii)随机选择s∈Zp作为加密指数。首先选择随机向量v=(s,y2,y3,...,yn)∈Zp,向量W∈Zp n,其第1个元素为0。首先计算
Figure GDA0003129563740000141
(Mj为访问矩阵M的第j行向量)和
Figure GDA0003129563740000147
而后计算密文C0=e(g,g)sck,C4,j=λjj',C5,j=(αjj')rj,C6,j=(yj-yj')rj
Figure GDA0003129563740000148
最终密文为CT={(M,ρ),DC,C0,
Figure GDA0003129563740000142
6)GenToken(SKU,GP,S)→(TKU,Key)
用户访问端基于系统公开参数、第一用户私钥以及相应的用户属性生成转换密钥和第二用户私钥,并将转换密钥发送至云服务器。转换密钥运算,输入GP,SKU和用户属性集合S,输出转换密钥TKU,和用户秘钥Key。用户在重启移动设备时,选择随机数Z∈Zp生成一个相关的转换密钥TKU=(SKU 1/Z,H(GID)1/Z)。
7)Out.Decrypt(GID,GP,CT,TKU)→CT'
云服务器基于系统公开参数、用户访问端的用户唯一标识、转换密钥以及完整密文生成部分分解密文,并将部分分解密文发送至相应的用户访问端。外包部分解密运算由云代理服务器执行。输入用户GID,GP,转换密钥TKU和密文CT,输出部分分解密文CT'。用户将基于访问策略(M,ρ)的密文CT和转换密钥交给云代理服务器进行部分密文解密。进行如下计算:
Figure GDA0003129563740000143
Figure GDA0003129563740000144
Figure GDA0003129563740000145
若用户属性满足访问策略(M,ρ),则找出1组随机值C1,C2,...,Cn∈Zp满足
Figure GDA0003129563740000146
并计算
Figure GDA0003129563740000151
将结果CT'={CT1,CT2}作为部分解密CT'返回给终端用户。
8)Decrypt(CT',GP,Key)→m
用户访问端基于系统公开参数以及第二用户私钥对部分分解密文进行解密,得到明文。用户解密运算:输入用户私钥Key和外包密文CT',全局公开参数GP,输出明文消息m。用户收到云代理服务器发送的部分解密密文CT'后,执行该运算进行解密数据。计算对称密钥
Figure GDA0003129563740000152
最后,通过进一步计算,验证等式Token=H1(H0(DC)||CT')是否成立。若等式成立,则云解密正确,而后使用ck解密密文CT',最终获得明文m;若等式不成立则返回⊥。
本实施例的数据加解密方案的性能分析:
终端UE将采集到的数据加密后发送到云服务器,而后人机交互客户端HCI从云服务器上获取相应密文,并解密获得数据信息,完成一次数据的通信传输。
在ARM架构下的NB-IoT终端UE上执行的加解密方案耗时大约120ms,而在HCI端执行加密只需8ms左右,解密数据耗时1.8ms左右。一次完整的数据传输完成需要15s左右(极限情况下需要30s左右)。需要指出的是,所有对比实验的结果都是取运行30次后所得的平均值。
在验证过程中,假设属性个数由2变化到20,本实施例的方案在在线加密阶段计算开销与属性数目无关,几乎保持恒定,可以应用于计算能力弱且资源受限的移动终端用户。虽然本方案耗时略高于某些现有的方案,但用户解密阶段耗时远远低于现有的方案,因此本实施例的数据加解密方案整体更优。
同时,本实施例的方案在用户解密阶段计算开销与属性数目无关,几乎保持恒定,并通过将大量复杂的运算外包给云服务器,使得解密时间远远少于现有的方案,同时在线加密阶段耗时也远远低于某些现有方案,因此本实施例的方案整体更优,更适合于计算能力弱且资源受限的移动终端用户。
本实施例的数据加解密方案的正确性验证:
在方案构造中定义用户属性集合S,以及与用户属性集合S相关的转换密钥TKU。与此同时,定义一个访问策略(M,ρ),以及和访问策略(M,ρ)相关的密文CT。将在方案构造中计算获得以下公式值:
Figure GDA0003129563740000161
Figure GDA0003129563740000162
Figure GDA0003129563740000163
若转换密钥TKU中拥有GID的用户属性集合S满足密文CT中的访问策略(M,ρ)要求,则可说明本方案的正确性。也就是说,
Figure GDA0003129563740000164
即可通过恢复密钥{Z∈Zp},转换密钥TKU和密文CT构建以下的公式验证本文方案的正确性。具体验证步骤如下:
由前文可知,
Figure GDA0003129563740000165
Figure GDA0003129563740000166
Figure GDA0003129563740000171
Figure GDA0003129563740000172
因此,可以进一步获得:
Figure GDA0003129563740000173
又因为C0=me(g,g)s,所以解密用户可以通过计算
Figure GDA0003129563740000174
来恢复明文消息m。至此,可以得出本文方案是正确的。最终正确获得明文消息。
本实施例的数据加解密方案的安全性分析:
假设本实施例的方案,存在被一个PPT敌手A以不可忽略的优势攻破的可能。即构造模拟者D,证明其可通过A以ε/2的概率判定出2个l-BDHI随机元组
Figure GDA0003129563740000175
Figure GDA0003129563740000176
(α∈Zp,T∈GT)。
执行CA_Setup运算,产生公共参数GP,然后将GP交给敌手。挑战者C会通过执行AA_Setup运算生成相应的主公私钥对(PKk,SKk)并发送给D。C选择1个随机值n∈{0,1},该值隐瞒A,D。n=0,将
Figure GDA0003129563740000177
设为元组,否则
Figure GDA0003129563740000178
为元组。模拟以下游戏:
Initialization:敌手A指定将要被挑战的访问结构(M,ρ)*给S。
Setup:定义Hash函数H:{0,1}→Zp。I代表本文模型中的所有属性授权机构集合。D生成相关公共参数GP,并生成属性授权机构公钥集PKk一起发送给A。敌手A将密文提交给预言机解密,如果成功则返回明文m给敌手。
QueryPhase1:敌手A选择一组用户GID和用户属性集合S。基于I-I'中的非假冒授权机构,向模拟者D多次提交(S,GID)进行密钥询问。注意,S中的每一个属性都不满足访问结构(M,ρ)*,并且来自于可靠的属性授权机构。执行KeyGen运算,产生用户私钥SKU发送给敌手A。
Challenge:敌手A制定2个等长明文消息M0,M1给挑战者C;D选择1个随机值b∈{0,1},执行加密运算产生挑战密文CT,最后将CT发送给A。如果
Figure GDA0003129563740000181
则D模拟成功。
QueryPhase2:重复QueryPhase1的操作。
Guess:敌手A输出b的猜测值b'∈{0,1}。
Figure GDA0003129563740000185
b=b'则A获胜。这里定义敌手A的优势为Adv(D)=Pr[b=b']-1/2,其成功概率为Pr[b=b']。当n=0,D猜对
Figure GDA0003129563740000182
为元组成功的概率为1/2;当n=1,D猜对
Figure GDA0003129563740000183
为元组成功的概率为1/2+ε;
所以综上所述:D模拟游戏成功的概率为
Figure GDA0003129563740000184
该结果是可以忽略不计的,即是l-BDHI困难的。因此任意敌手A在上述攻击游戏中,在多项式时间内能获胜的概率是可忽略的,本方案是选择明文攻击(CPA)安全的。
本实施例基于离散对数困难问题下利用GID解决了抵抗多个属性授权机构的合谋攻击和不同用户直接攻击。在l-BDHI困难问题假设成立的情况下,任何多项式时间内敌手A不具备攻破本实施例方案的优势。
本实施例在多个属性授权机构的背景下,采用更灵活的访问控制策略,大大减轻了授权中心的负担和风险;同时,融入在线/离线加密和外包解密技术,将大量昂贵的计算外包给云服务器,最小化终端用户的计算开销和存储负担,很好地解决计算能力较弱且资源受限的NB-IoT云存储数据安全问题,提高了资源访问控制效率;并且,密钥存储在云端,降低访问过程中数据通信量;另外,通过验证外包解密正确性的算法,保证了本实施例方案的可靠性和安全性。
气象数据除了能够用于追踪、记录和预测天气之外,还能够用于为种植业和畜牧业等农业的种植、养殖过程提供参考和依据。目前对于农作物的观测仍主要通过目测的方式观察农作物的外观来判断和预测病害,例如作物被蚜虫蛀食或者被病菌侵染,这样导致误判率较高,实时性较差,效率也较低。因此在一种实施方式中,人机交互系统还包括预警模型建立模块和发病等级预测模块。
预警模型建立模块用于依据气象数据采集终端采集的过去一段设定时间的数据建立应用于农作物的气象预警模型。其中,气象预警模型包括温度预警模型和湿度预警模型。
温度预警模型依据设定时间的平均温度和病菌生存特性算出农作物受温度变化影响而产生病症的第一中间结果。例如,某谷类作物的温度预警模型为:
Figure GDA0003129563740000191
其中,MT为温度预警模型算出的第一中间结果,其范围区间为[0,1],T为过去一定天数内的平均气温。
湿度预警模型依据设定时间的平均相对湿度和病菌生存特性算出农作物受湿度变化影响产生病症的第二中间结果。例如,某谷类作物的湿度预警模型为:
Figure GDA0003129563740000192
其中,MH为湿度预警模型算出的第二中间结果,其范围区间为[0,4],H为过去一定天数内的平均相对湿度百分值。
发病等级预测模块依据第一中间结果和第二中间结果的乘积算出发病预警等级。
具体的,发病预警等级M=MT*MH,M的范围区间为[0,4],该区间分别对应了四个跨度为1的子区间,每个子区间对应一个等级,共四个等级。M值越小,对应的等级越低,预警结果指示出的发病概率也就越低。
通过气象数据对农作物未来几天对于某种或某几种病症的发病概率作出预测,或者对某种或某几种虫害概率做出预测,因此对于物联网气象数据采集系统来说,其采集到的气象数据能够被用于预测农作物的发病概率,实现农作物的发病预警,从而使种植人员有针对性地进行病症预防,保证农作物的产出率。
上述方式是用于预测病害的,而对于已经发生的病害的识别,目前同样是以人工观测的方式进行,这同样会导致实时性差、效率低的问题。因此为了扩大气象数据采集系统的功能,将利用该系统提供的物联网平台对农作物病害进行图像识别,实现农作物病害自动化监测,同时通过将气象数据融入到以物联网为平台的图像识别农作物病害中,提高病害识别率,在一种实施方式中,该系统还包括用于采集农作物图像的图像采集设备。图像采集设备作为系统的另一种终端,监控农作物并获取农作物图像,并发送至人机交互系统。
并且,人机交互系统还包括:图像预处理模块、图像分割模块、特征提取模块和病害识别模块。
图像预处理模块用于依据气象数据采集终端采集的气象数据判断气象状况,并依据气象状况对图像采集的影响对图像采集设备采集到的图像进行相应预处理。
在对图像进行处理之前,可以先通过气象数据采集终端中的光照度传感器等在图像采集时刻测得的光照数据判断当时的亮度,并据此对图像进行图像增强,以提高图像亮度和清晰度,为之后的显症区域识别提供有利条件。
图像分割模块用于基于RGB颜色空间对农作物图像进行图像分割,得到农作物显症部位的图像。
例如对于发生于农作物叶片上的病害,图像分割模块通过变换色彩空间将农作物的叶片绿色部分分割出来,然后运用灰度二值化、形态学膨胀、腐蚀、开运算、闭运算、小面积孔洞填充和边缘平滑等算法将叶片部分分割出来,得到显症部位(也就是叶片)的图像。
特征提取模块用于基于像素点灰度值从显症部位的图像中提取出显症区域的形状特征,基于RGB颜色空间从显症部位的图像中提取出显症区域的颜色特征,以及基于灰度共生矩阵从显症部位的图像中提取出显症区域的纹理特征。
形状信息具有位移、旋转、尺度变换的不变性,因此特征提取模块利用病斑提取后图像的形状差异,提取面积特征信息,能够直观反映不同病虫害的发生特点。形状特征的提取公式为:
Figure GDA0003129563740000211
其中,N为图像中的病斑部位的像素个数,i,j分别为像素点的行、列位置,h,W分别为图像高度和宽度,N(i,j)为病斑提取后图像中灰度值不为0的像素点。
特征提取模块运用RGB色彩空间分析病斑颜色,提取疑似病灶部位RGB颜色分量均值R、G、B,并对颜色特征进行标准化,共获得5个颜色特征向量。颜色特征的提取公式为:
Figure GDA0003129563740000212
其中,Ri、Gi、Bi分别为病斑部位彩色图像红色、绿色、蓝色通道分量第i像素的灰度值,N为图像中的病斑部位的像素个数。
特征提取模块还利用灰度共生矩阵算法分析病害图像纹理分布,提取熵、能量、惯性等3个纹理特征信息。
能量可反映图像纹理粗细和灰度分布的均匀程度,纹理越粗,能量越大。其提取公式为:
Figure GDA0003129563740000221
其中,f1为能量,d为距离;m、n分别为灰度,L为灰度级,Pd(m,n)为从灰度级为m的点经距离d达到灰度为n点的概率。
惯性可反映图像的清晰度和纹理沟纹深浅的程度,纹理的沟纹深,其惯性大,图像清晰;反之,沟纹浅,惯性小,图像模糊。其提取公式为:
Figure GDA0003129563740000222
其中,f2为惯性。
熵可反映图像中纹理的非均匀程度或复杂程度,是图像具有信息量的度量,纹理越复杂,熵值越大。其提取公式为:
Figure GDA0003129563740000223
其中,f3为熵。
病害识别模块用于将提取出的特征输入支持向量机,利用预先训练好的病害模型对输入的特征进行分类预测。
支持向量机通过非线性映射将输入空间变换到一个高维空间,在该新的空间中获得样本分类间隔最大的最优分类面。其判别函数为:
Figure GDA0003129563740000224
其中,{(xi,yi),i=1,2,3,···,N}为可分样本集,N为样本数量,x为输入特征向量,y为所属类别,ai *为最优系数向量,K(x,xi)为核函数,b*为实常数,表示最优分类平面的位移。由于不同病害间的特征差异较大,区分度较为明显,因此通过支持向量机的分类,能够基于纹理和面积特征来区分是否健康,并基于形状和颜色特征来区分病害类型。
在一种实施方式中,气象数据采集终端包括:Flash存储器和程序更新模块。
Flash存储器包括用户程序存储区和更新存储区。用户程序存储区用于存储用户中断向量表和用户程序的用户程序存储区,用户程序(也称为用户程序)负责微控制器的具体功能实现,例如定期采集传感数据,定期通过通信模组向人机交互系统上传采集到的传感数据等。更新存储区用于存储人机交互系统发来的程序更新数据。在一些情况下,终端接收的人机交互系统发来的程序更新数据先存储在更新存储区,待程序更新数据全部接受完成后,终端在本地进行更新。详细实施方式见后文描述。
中断向量表指的是存放所有中断向量的一段地址空间。向量的内容是:相应的中断服务程序起始地址和处理机状态字(主要是指令地址)。在中断响应时,由中断部件提供中断向量的地址,就可取出该向量。
程序更新模块用于依据通信模组接收的人机交互系统发来的程序更新数据,对用户程序存储区内的程序进行更新。通信模组接收到数据后,微控制器通过程序更新模块分析接收到的命令与数据内容,对Flash存储器中的存储区进行擦除、写入等操作,实现终端的远程自动更新。
其中,程序更新模块包括:整体更新子模块和增量更新子模块。
整体更新子模块用于在人机交互系统发来整体程序更新数据的情况下,对用户程序存储区内的程序进行替换更新;和/或,
增量更新子模块用于在人机交互系统发来差分程序更新数据的情况下,对用户程序存储区内的程序进行组合更新。
本实施例公开的终端远程自动更新系统,能够使人机交互系统通过窄带物联网对终端进行程序的远程自动更新,无需维护人员进行现场程序更新,也无需对终端设备进行更换,利于对数量庞大的终端设备以及地处偏远的终端设备进行快速地程序更新,节省了时间成本、人力成本和设备回收成本。
程序更新模块包括整体更新子模块和/或增量更新子模块。整体更新子模块用于在人机交互系统发来的程序更新数据是整体程序更新数据的情况下,对用户程序存储区内的程序进行替换更新。整体更新子模块采用整体更新的更新方式,将更新数据中所有有效数据作为存储和传输形式的更新方式,也就是说,人机交互系统会将新版程序的所有数据内容分为若干数据包依次发送至终端,终端接收后对用户程序存储区内的旧版程序进行替换。此方法简单方便,程序复杂度低,但网络开销相对较大。
增量更新子模块用于在人机交互系统发来差分程序更新数据的情况下,对用户程序存储区内的程序进行组合更新。增量更新子模块采用增量更新的更新方式,以新旧两版更新文件之间的差分数据作为存储和传输形式的更新方式。当需要更新终端软件时,人机交互系统端先进行新旧版本代码文件的文本比较处理,得到新旧版本的差分数据,然后将新版程序的与旧版程序不同的数据内容分为若干数据包依次发送至终端。终端UE收到差分数据后,将结合Flash存储器中的旧版程序代码去恢复出新版的程序代码,从而实现嵌入式设备程序更新。增量更新可以有效的节省网络传输开销,缩短更新时间,但服务器端的系统运算开销较大。
在一种实施方式中,整体更新子模块包括整体替换更新单元和/或整体保留更新单元。整体替换更新单元用于在预知整体程序更新数据的数据量大于更新存储区容量的情况下,在接收整体程序更新数据时将整体程序更新数据直接写入用户程序存储区。
整体更新又分为整体替换更新和整体保留更新两种更新方式,而整体替换更新单元采用整体替换更新的更新方式。当待更新的用户程序大小超出更新存储区的容量大小时,只能进行整体替换更新操作。此时的更新代码区需包含更新存储区和用户程序区,在Flash资源受限情况下只能将用户区和更新区合二为一用于存放更新代码数据,并直接用新用户程序代码覆盖原用户程序所在区域。而整体替换更新单元如何预知整体程序更新数据的数据量与更新存储区容量之间的大小关系,详见后文中对更新握手帧等更新帧格式的介绍。
整体替换更新流程如下:当芯片接收到更新提示时,立刻从用户程序跳转至BIOS程序。在BIOS程序中将原有的用户程序擦除,等待接收新版用户程序代码并将新版程序代码写入。当新版用户程序的所有代码接收并写入成功后,跳转执行新版用户程序。
整体替换更新适合于Flash较小的芯片,但缺点是在更新过程中要将用户程序擦除,影响终端UE运行的实时性。若更新失败,原有用户程序也不能恢复,影响终端UE的安全性。
整体保留更新单元用于在预知整体程序更新数据的数据量不大于更新存储区容量的情况下,在接收整体程序更新数据时将整体程序更新数据写入更新存储区,在全部写入更新存储区之后将整体程序更新数据写入用户程序存储区。
整体保留更新单元采用整体保留更新的更新方式。当待更新的用户程序大小不超出更新存储区的容量大小时,可进行整体保留更新操作。此时的更新代码区需只包含更新存储区,并能够在用户程序正常运行的同时接收更新代码并将其存入更新代码区,当更新代码接收完毕后跳转BIOS程序进行更新代码的Flash替换,最后跳转执行新的用户程序。
整体保留更新流程如下:当芯片正常运行时接收到更新数据后,从当前用户程序的下一个扇区开始存放更新程序代码。待更新程序代码全部接收并校验完毕后,跳转BIOS程序进行新版用户程序代码的覆盖,最后转向执行新版用户程序。
整体替换更新避免了整体替换更新的实时性和安全性的缺失,但其对Flash存储器的容量大小有一定要求。
在一种实施方式中,增量更新子模块包括复制单元、插入单元和覆盖单元。如图2所示,增量更新过程中,终端UE接收到由文本比较算法得到的差分数据后,需进行新版用户程序的恢复操作。恢复过程主要执行三种操作:
第一是复制操作,复制单元将当前用户程序数据(旧版程序)中的与整体程序更新数据(新版程序)之间相同的数据块复制到更新存储区的设定位置。
第二是插入操作,插入单元将气象数据采集终端接收到的差分更新数据插入到更新存储区的指定位置,例如插入到上述数据块之间空出的位置,形成整体程序更新数据。
第三是覆盖操作,覆盖单元将更新存储区内的整体程序更新数据覆盖到用户程序存储区,完成对用户程序存储区内程序的更新。
增量更新是保留更新的一种,与整体保留更新一样,在更新过程中不直接擦除旧版用户程序。同时增量更新储存和传输的是新旧两个用户程序之间的差分数据,可减少更新过程中所需的网络开销,在传输过程中不会传输完整的更新程序,可增强网络安全性。但相对应的,增量更新会增加终端UE和服务器端更新软件的的操作复杂度。
在一种实施方式中,人机交互系统包括数据比较模块、差分获取模块和位置获取模块。数据比较模块用于比对整体程序更新数据和气象数据采集终端的当前程序数据,得到两者的最长公共子序列。增量更新的核心就是新旧版本文件的差分数据获取,可通过文本比较来获得,而文本比较的本质是最长公共子序列问题。最长公共子序列(LCS)是指两个序列的相同的最长顺序子串,该子串不要求在原序列中连续,但必须按原顺序依次排列。差分获取模块用于依据数据比较模块得到的最长公共子序列从整体程序更新数据中分离出差分程序更新数据,得到新旧版本的不同部分的数据块。位置获取模块用于得到最长公共子序列中包含的数据块在气象数据采集终端的当前程序数据中的位置,作为气象数据采集终端进行程序更新时最长公共子序列中包含数据块的设定位置,另外,人机交互系统还将最长公共子序列中包含的数据的设定位置发送至气象数据采集终端。在终端的复制单元进行复制操作时,需要知道将已有的旧版程序中的最长公共子序列数据块复制到新版程序中的哪个位置,此时就需要位置获取模块获取到各数据块的位置并发送给终端,以使终端实现本地旧版程序与差分程序更新数据的结合,得到完整的新版程序。
在一种实施方式中,数据比较模块包括末位判断单元、序列形成单元、第一差位比较单元、第二差位比较单元和序列比较单元。
设有序列X={x1,x2,x3...xm},Y={y1,y2,y3...yn}。Xi={x1,x2,x3...xi}为序列X的前i个字符集合(1≤i≤m),Yj={y1,y2,y3...yj}为序列Y的前j个字符集合(1≤j≤n),LCS(Xi,Yj)为前缀Xi和前缀Yj的最长公共子序列的集合,C[i,j]为前缀Xi和前缀Yj的最长公共子序列长度。末位判断单元用于判断整体程序更新数据的末位数据块和气象数据采集终端的当前程序数据的末位数据块是否相同,也就是xm与yn是否相等。
序列形成单元用于在末位判断单元判定两末位数据块相同的情况下,将末位数据块记录为相应判断路径下的公共子序列中的末位数据块,并将整体程序更新数据和气象数据采集终端的当前程序数据的次末位数据块作为新的末位数据块。也就是说,如果xm=yn,即序列X和Y的最后一个元素相同,则LCS(Xm,Yn)可由序列Xm-1和Yn-1的最长公共子序列与xm或yn得到,公式如下:
LCS(Xm,Yn)=LCS(Xm-1,Yn-1)∧xm (公式6)
C[m,n]=C[m-1,n-1]+1 (公式7)
第一差位比较单元用于在判定两末位数据块不同的情况下,以整体程序更新数据的次末位数据块作为新的末位数据块,并使末位判断单元继续进行末位数据块是否相同的判断。
第二差位比较单元用于在判定两末位数据块不同的情况下,以气象数据采集终端的当前程序数据的次末位数据块作为新的末位数据块,并使末位判断单元继续进行末位数据块是否相同的判断。
也就是说,如果xm≠yn,即序列X和Y的最后一个元素不同,则LCS(Xm,Yn)可由序列Xm-1和Yn或序列Xm和Yn-1中较多的公共子序列得到,公式如下:
LCS(Xm,Yn)=max{LCS(Xm,Yn-1),LCS(Xm-1,Yn)} (公式8)
C[m,n]=max{C[m,n-1],C[m-1,n]} (公式9)
序列比较单元用于在完成所有判断路径之后,将序列形成单元记录的所有公共子序列中包含数据块最多的公共子序列作为最长公共子序列。
从以上情况可以分析,LCS问题具有最优子结构特征,可用动态规划实现求解。LCS问题的递推关系如下所示。
Figure GDA0003129563740000281
Figure GDA0003129563740000282
以序列X={A,B,C,D,B,C,A},Y={B,A,C,B,D,A}为例,构造序列X,Y的最长公共子序列。由公式11可求得二维数组C,并可通过反向回溯获得最长公共子序列,LCS(X,Y)={A,B,D,A}。如图3所示,序号④代表了第一个相同的元素A,但两个序列的次末位不同,分别为C和D,因此开始分为多种情况继续推算,最终得到①②③④四个元素(沿图中加粗黑框所示的路线)。
本实施例提供的数据比较模块适用于Hex文本的文本比较,将Hex文件的一行记录作为文本比较的基本单位,其中数据区信息作为待比较的元素,其他字段数据作为辅助信息。如此进行新旧Hex文件的文本比较,可以得到两个文件行记录中有效数据相同的行号,和数据区有效数据不相同的行号。从而可在旧版程序代码中获得的复制代码块,以及需要网络传输至终端UE的插入代码块,再将这些信息告知终端,即可实现增量更新功能。增量更新所需网络开销较少,且无需传输完整的更新程序,有较强的网络安全性。
在待测环境区域中,需要借助性能稳定的气象传感器来完成气象信息的感知与采集,因此必须选择合适的传感器,以最大限度的减少外界环境对气象数据采集系统的影响。本实施例中的各类传感器选用品型如下。
温湿度传感器选用DHC1型温湿度传感器,测风传感器选用江苏无线电科学研究所的ZQZ-TFH型测风传感器,光照度传感器用于检测环境的光照度,通常选用光敏电阻来实现检测功能。雨量传感器选用SL3-1型翻斗式雨量传感器,气压传感器选用Vaisala公司生产的PTB220型气压传感器。本实施例还选用MKW01Z128(以下简称KW01)型芯片作为微控制器MCU主控芯片。
从IMDAS架构可知终端UE包含NB-IoT网关终端和气象传感器采集终端,两者均为终端软件远程更新对象。当气象数据采集终端接收到更新脚本数据时可进行FLASH数据的存储和覆盖操作,而当NB-IoT网关终端接收到更新脚本数据时需判断当前更新操作的对象,若更新对象为自己,则进行更新操作,若更新对象是某个气象数据采集终端,则依据通信帧中硬件地址转发更新脚本数据至指定气象传感器终端。
系统稳定性测试:
在整个系统供电正常、SIM卡不欠费和NB-IoT基站信号良好的前提下,对NB-IoT网关终端与气象数据采集终端之间的通信稳定性进行测试。对部署在苏大试验站的10000网关下的10001温湿度采集节点、10002风速风向采集节点、10003光照度采集节点、10004雨量采集节点和10005气压采集节点这四个节点进行稳定性测试。以8小时为一观测周期,每日查看3次所有节点的数据记录,观测是否存在数据缺失。经测试,发现系统采集的历史风速数据没有出现丢失情况,数据采集传输成功率可达100%。
数据准确性测试:
以温度为例,数据准确性测试过程中,把传感器温度探头放入GHP-9080恒温箱中,借助恒温箱来进行数据准确性比较。将恒温箱的设定值作为温度检测真实值,待温度采集节点稳定运行一段时间后,将被检测节点观测到的温度实际测量值从芯片串口输出,测量值为采用公式法线性回归方法进行物理量回归获得的数据。多次重复试验后,在多组实验记录下,比较温度的测量值与真实值的数值差异。温度以20℃为长度进行分段,图4中给出了20~39℃区间一次的测量值与真实值数据对比情况。从测试对比数据中可以看出,样本最大误差为0.4℃,平均误差为0.2℃。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。

Claims (9)

1.一种基于NB-IoT通信的综合气象数据采集系统,其特征在于,包括:
人机交互系统,其包括云服务器;
通过NB-IoT物联网与所述人机交互系统通信连接的至少一个气象数据采集终端;
第一密钥获取模块,用于将安全系数和属性全集输入中央授权机构得到系统公开参数;以及
第二密钥获取模块,用于将所述系统公开参数输入属性授权机构得到与各属性对应的系统公钥以及与用户访问端的属性对应的第一用户私钥;
其中,所述云服务器包括:
信息接收模块,用于接收气象数据采集终端发来的基于访问结构以及明文生成的密文和验证令牌,以及接收用户访问端发来的基于所述系统公开参数、所述第一用户私钥以及相应的用户属性生成的转换密钥和第二用户私钥;
分解密文生成模块,用于基于所述系统公开参数、用户访问端的用户唯一标识、所述转换密钥以及所述密文生成部分分解密文;
信息发送模块,用于将所述部分分解密文发送至用户访问端,以使用户访问端利用所述系统公开参数以及所述第二用户私钥对所述部分分解密文进行解密,得到所述明文;其中,
所述人机交互系统还包括:
预警模型建立模块,用于依据所述气象数据采集终端采集的过去一段设定时间的数据建立应用于农作物的气象预警模型;
发病等级预测模块,用于依据所述气象预警模型的运算结果预测农作物的发病预警等级;
其中,所述气象预警模型包括温度预警模型和湿度预警模型,所述温度预警模型依据所述设定时间的平均温度和病菌生存特性算出农作物受温度变化影响而产生病症的第一中间结果,温度预警模型为:
Figure FDA0003129563730000021
其中,MT为温度预警模型算出的第一中间结果,T为过去一定天数内的平均气温;
所述湿度预警模型依据所述设定时间的平均相对湿度和病菌生存特性算出农作物受湿度变化影响产生病症的第二中间结果,湿度预警模型为:
Figure FDA0003129563730000022
其中,MH为湿度预警模型算出的第二中间结果,H为过去一定天数内的平均相对湿度百分值;
所述发病等级预测模块依据所述第一中间结果和所述第二中间结果的乘积算出发病预警等级。
2.如权利要求1所述的系统,其特征在于,接收所述第一密钥获取模块输入并输出所述系统公开参数的授权机构为中央授权机构,接收所述第二密钥获取模块输入并输出所述第一用户私钥的授权机构为多个属性授权机构,每个所述属性授权机构管理相应的一组属性集合。
3.如权利要求1所述的系统,其特征在于,所述气象数据采集终端包括:
第一密文生成模块,用于在离线状态下基于所述系统公共参数得到临时密文;
第二密文生成模块,用于在在线状态下基于所述系统公共参数、所述系统公钥、所述临时密文、访问结构以及明文生成完整密文和验证令牌;并且,
所述信息接收模块接收所述气象数据采集终端发来的密文为所述完整密文。
4.如权利要求3所述的系统,其特征在于,所述中央授权机构为用户访问端分配所述用户唯一标识。
5.如权利要求1所述的系统,其特征在于,所述云服务器包括:
云存储服务器,用于存储所述信息接收模块接收的密文和验证令牌;
云代理服务器,用于接收用户访问端的请求,以使所述分解密文生成模块生成所述部分分解密文并发送给用户访问端。
6.如权利要求1所述的系统,其特征在于,该系统还包括用于采集农作物图像的图像采集设备;并且,
所述人机交互系统还包括:
图像预处理模块,用于依据所述气象数据采集终端采集的气象数据判断气象状况,并依据气象状况对图像采集的影响对所述图像采集设备采集到的图像进行相应预处理;
图像分割模块,用于基于RGB颜色空间对所述农作物图像进行图像分割,得到农作物显症部位的图像;
特征提取模块,用于基于像素点灰度值从所述显症部位的图像中提取出显症区域的形状特征,基于RGB颜色空间从所述显症部位的图像中提取出显症区域的颜色特征,以及基于灰度共生矩阵从所述显症部位的图像中提取出显症区域的纹理特征;
病害识别模块,用于将所述提取出的特征输入支持向量机,利用预先训练好的病害模型对输入的特征进行分类预测。
7.如权利要求1所述的系统,其特征在于,所述气象数据采集终端包括:
Flash存储器,其包括存储用户中断向量表和用户程序的用户程序存储区,以及存储所述人机交互系统发来的程序更新数据的更新存储区;
程序更新模块,用于依据接收的所述人机交互系统发来的程序更新数据,对所述用户程序存储区内的程序进行更新;
其中,所述程序更新模块包括:
整体更新子模块,用于在所述人机交互系统发来整体程序更新数据的情况下,对所述用户程序存储区内的程序进行替换更新;和/或,
增量更新子模块,用于在所述人机交互系统发来差分程序更新数据的情况下,对所述用户程序存储区内的程序进行组合更新。
8.如权利要求7所述的系统,其特征在于,所述整体更新子模块包括:
整体替换更新单元,用于在预知所述整体程序更新数据的数据量大于所述更新存储区容量的情况下,在接收所述整体程序更新数据时将所述整体程序更新数据直接写入所述用户程序存储区;和/或,
整体保留更新单元,用于在预知所述整体程序更新数据的数据量不大于所述更新存储区容量的情况下,在接收所述整体程序更新数据时将所述整体程序更新数据写入所述更新存储区,在全部写入所述更新存储区之后将所述整体程序更新数据写入所述用户程序存储区。
9.如权利要求7所述的系统,其特征在于,所述增量更新子模块包括:
复制单元,用于将当前用户程序数据中的与所述整体程序更新数据之间相同的数据复制到所述更新存储区的设定位置;
插入单元,用于将所述差分程序更新数据插入到所述更新存储区的指定位置,形成所述整体程序更新数据;
覆盖单元,用于将所述更新存储区内的所述整体程序更新数据覆盖到所述用户程序存储区,完成对所述用户程序存储区内程序的更新。
CN201911212243.0A 2019-07-04 2019-12-02 一种基于NB-IoT通信的综合气象数据采集系统 Active CN110784493B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN2019105982112 2019-07-04
CN201910598211.2A CN110300114A (zh) 2019-07-04 2019-07-04 一种基于NB-IoT通信的综合气象数据采集系统

Publications (2)

Publication Number Publication Date
CN110784493A CN110784493A (zh) 2020-02-11
CN110784493B true CN110784493B (zh) 2021-08-27

Family

ID=68030210

Family Applications (2)

Application Number Title Priority Date Filing Date
CN201910598211.2A Pending CN110300114A (zh) 2019-07-04 2019-07-04 一种基于NB-IoT通信的综合气象数据采集系统
CN201911212243.0A Active CN110784493B (zh) 2019-07-04 2019-12-02 一种基于NB-IoT通信的综合气象数据采集系统

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CN201910598211.2A Pending CN110300114A (zh) 2019-07-04 2019-07-04 一种基于NB-IoT通信的综合气象数据采集系统

Country Status (1)

Country Link
CN (2) CN110300114A (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111274268B (zh) * 2020-01-15 2023-09-05 平安科技(深圳)有限公司 物联网数据传输方法、装置、介质及电子设备
CN111770142A (zh) * 2020-06-16 2020-10-13 南通大学 一种花卉种植监控系统及其使用方法
CN112738219B (zh) * 2020-12-28 2022-06-10 中国第一汽车股份有限公司 程序运行方法、装置、车辆及存储介质
CN112600944B (zh) * 2021-03-02 2021-05-25 杭州字节信息技术有限公司 一种适用于物联网时序数据的差分云存储方法和系统
US11821542B1 (en) 2022-06-10 2023-11-21 Soochow University Remote fault monitoring system for electric valve
CN114879579A (zh) * 2022-06-10 2022-08-09 苏州大学 一种电动阀门远程故障监测系统

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104089647B (zh) * 2014-07-01 2016-07-06 北京农业信息技术研究中心 一种作物病害发生范围监测方法及系统
CN104361412A (zh) * 2014-11-14 2015-02-18 黑龙江省农业科学院植物脱毒苗木研究所 一种决策马铃薯晚疫病防治系统及方法
CN109034450B (zh) * 2018-06-05 2022-02-18 广西师范学院 基于气象条件我国北方马铃薯晚疫病预报模型的建立方法
CN109164510A (zh) * 2018-10-17 2019-01-08 中邮科通信技术股份有限公司 一种基于NB-IoT传输模式的气象数据采集系统及其工作方法
CN109768858B (zh) * 2018-12-26 2022-03-08 西安电子科技大学 云环境下基于多授权的属性加密访问控制系统及设计方法

Also Published As

Publication number Publication date
CN110784493A (zh) 2020-02-11
CN110300114A (zh) 2019-10-01

Similar Documents

Publication Publication Date Title
CN110784493B (zh) 一种基于NB-IoT通信的综合气象数据采集系统
CN110601853B (zh) 一种区块链私钥生成方法以及设备
Jiang et al. Energy big data: A survey
CN111612168B (zh) 一种机器学习任务的管理方法以及相关装置
Dua et al. Towards trustworthy participatory sensing
US9294489B2 (en) Method and apparatus for detecting an intrusion on a cloud computing service
Saxena et al. General study of intrusion detection system and survey of agent based intrusion detection system
CN108718334B (zh) 一种基于车联网群体感知的网络感知数据安全上传方法
Hsiao et al. Employing blockchain technology to strengthen security of wireless sensor networks
IL295578B1 (en) Secure methods and systems for providing environmental rating
CN113672938B (zh) 一种区块链节点可信状态确定方法
CN102685093A (zh) 一种基于移动终端的身份认证系统及方法
CN116405187B (zh) 基于区块链的分布式节点入侵态势感知方法
CN111815842A (zh) 健康信息的上链方法和装置、存储介质、电子装置
CN116680704B (zh) 一种用于客户端的数据安全防护方法及系统
CN116703304B (zh) 一种基于物联网的货物资产监管方法及系统
CN117557270A (zh) 移动终端安全支付管理方法及系统
CN114584359A (zh) 安全诱捕方法、装置和计算机设备
CN113239401A (zh) 一种基于电力物联网的大数据分析系统、方法及计算机存储介质
CN113783685A (zh) 一种使用区块链保护车联网数据的系统
Feng et al. Autonomous Vehicles' Forensics in Smart Cities
CN115712906A (zh) 一种基于区块链和同态加密的可信数据交易评估方法
CN113849805A (zh) 移动用户可信认证方法及装置、电子设备、存储介质
CN110059630B (zh) 隐私保护的可验证外包监控视频行人再识别方法
CN113836564A (zh) 一种基于区块链的网联汽车信息安全系统

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant