一种物联网系统感知层网关安全加固方法及装置与流程

文档序号:33325182发布日期:2023-03-03 22:47阅读:41来源:国知局
一种物联网系统感知层网关安全加固方法及装置与流程

1.本发明属于物联网安全技术领域,具体涉及一种物联网系统感知层网关安全加固方法及装置。


背景技术:

2.面对增长迅速、应用碎片化的物联网系统,安全已成为物联网产品必备特性。现有的安全物联网架构分为感知终端、感知层网关、感知信息传输网络和通讯网接入系统。构建安全物联网架构是为了应对多种形式的攻击,而这样的系统架构则需要在单个系统中实现多种类型的安全机制。
3.感知层网关,处于整套物联网系统的边缘端,负责接入多种类型的作为感知终端的传感器,将其按照统一的物化模型对接各种物联网平台。由于感知层网关的部署地点不是机房等封闭安全的环境,无法确保物理隔离,因此还需要应对来自网络攻击之外的对实体进行的入侵攻击。物联网感知层网关现阶段以业务实现为主,忽视了端侧安全的重要性,仅通过简单的软件机制或密码口令来加以防护,未有成体系的加固方法。
4.此为现有技术的不足,因此,针对现有技术中的上述缺陷,提供一种物联网系统感知层网关安全加固方法及装置,是非常有必要的。


技术实现要素:

5.针对现有技术的上述物联网感知层网关现阶段以业务实现为主,忽视了端侧安全的重要性,仅通过简单的软件机制或密码口令来加以防护,未有成体系的加固方法的缺陷,本发明提供一种物联网系统感知层网关安全加固方法及装置,以解决上述技术问题。
6.第一方面,本发明提供一种物联网系统感知层网关安全加固方法,包括如下步骤:s1.在感知层网关设置操作系统安全引导模块,并在操作系统启动后设置业务应用安全启动模块和管理端口安全防护模块;s2.操作系统安全引导模块对感知层网关的操作系统进行第一级可信验证,并在第一级可信验证通过时,允许启动操作系统,而在第一级可信验证不通过时,禁止启动操作系统;s3.感知层网关的操作系统启动后,业务应用安全启动模块对业务软件进行第二级可信验证,并在第二级可信验证通过时,允许启动业务软件,而在第二级可信验证不通过时,禁止启动业务软件;s4.业务软件启动后,管理端口安全防护模块通过业务软件对管理端口的访问身份进行第三级可信验证,并在第三级可信验证通过时,允许控制口通过管理端口访问感知层网关,而在第三级可信验证不通过时,禁止控制口通过管理端口访问感知层网关。
7.进一步地,步骤s1具体步骤如下:s11.为感知层网关操作系统生成一对系统公钥和系统私钥,将系统公钥以可信根的方式一次性烧写到efuse硬件内部,而使用系统私钥对操作系统镜像进行签名,并设置操
作系统启动时使用系统公钥对操作系统镜像进行验签,生成操作系统安全引导模块;s12.为业务软件生成一对业务软件公钥和业务软件私钥,将业务软件公钥固化在操作系统内,对业务软件程序包计算摘要,再使用业务软件私钥签名后存储在业务软件程序包中,生成业务应用安全启动模块;s13.在业务软件中为管理口设置usb端口检测单元、访问身份验证单元和控制口连接单元,生成管理口安全防护模块。
8.进一步地,步骤s11具体步骤如下:s111.感知层网关的操作系统启动;s112.利用操作系统镜像签名工具生成一对系统公钥和系统私钥;s113.将系统公钥以可信根的方式烧写到感知层网关的片上芯片的efuse硬件内部;s114.使用系统私钥对操作系统镜像的摘要进行签名,并将签名的操作系统摘要以及操作系统镜像按照预定的数据格式打包成系统固件,再将系统固件烧录到感知层网关的处理器中;s115.设置感知层网关的操作系统启动时连接efuse硬件内部的可信根,对系统固件进行验证,生成操作系统安全启动模块。
9.进一步地,步骤s114中,首先对操作系统计算摘要,再使用系统私钥对计算的操作系统摘要进行签名。
10.进一步地,步骤s12具体步骤如下:s121.利用业务软件签名工具生成一对业务软件公钥和业务软件私钥;s122.对业务软件程序包进行hmac摘要运算,并将hmac密钥存储固化在操作系统内部;s123.使用业务软件私钥对hmac摘要运算后业务软件程序包进行签名,并将业务软件公钥下载到操作系统内置存储空间;s124.将签名的业务软件程序包hmac摘要加入到业务软件程序包中并进行打包,生成业务应用安全启动模块。
11.进一步地,步骤s2具体步骤如下:s21.感知层网关的操作系统重启;s22.从打包的系统固件中获取操作系统镜像,对该操作系统镜像进行摘要运算,得到待启动操作系统镜像摘要;s23.从打包的系统固件中获取操作系统镜像签名值;s24.对待启动操作系统镜像签名值和镜像摘要进行验签;若验签不通过,进入步骤s25;若验签通过,则允许启动操作系统,进入步骤s3;s25.禁止启动操作系统,启动失败,结束。
12.进一步地,步骤s3具体步骤如下:s31.操作系统启动后,业务应用安全启动模块获取业务软件程序包、下载hmac密钥以及业务软件公钥;s32.业务应用安全启动模块从业务软件程序包获取到业务软件,并使用hmac密钥
对业务软件进行hmac摘要运算,得到待启动业务软件摘要;s33.从业务软件程序包获取业务软件签名值;s34.对业务软件程序包hmac摘要和签名值进行验签;s35.若验签不通过,禁止业务软件启动,结束;若验签通过,允许业务软件启动,进入步骤s4。
13.进一步地,步骤s4具体步骤如下:s41.业务软件检测到控制口向管理口发送连接请求时,通过usb端口检测单元检测是否有usb密码钥匙插入;若否,进入步骤s43;若是,进入步骤s42;s42.业务软件中的访问身份验证单元通过usb密钥钥匙对访问身份进行验证;若验证不通过,进入步骤s43;若验证通过,进入步骤s44;s43.当前管理端口访问身份验证不通过,禁止控制口连接管理端口,结束;s44.业务软件的控制口连接单元通知操作系统加载控制口驱动程序;s45.通过访问身份验证的客户端通过控制口连接到作为感知层网关的管理口的http服务端;s46.客户端在管理界面打开ssl服务和远程登录服务,实现控制台登录,可进行文件操作。
14.第二方面,本发明提供一种物联网系统感知层网关安全加固装置,包括:安全设置模块,用于在感知层网关设置操作系统安全引导模块,并在操作系统启动后设置业务应用安全启动模块和管理端口安全防护模块;操作系统可信验证模块,用于操作系统安全引导模块对感知层网关的操作系统进行第一级可信验证,并在第一级可信验证通过时,允许启动操作系统,而在第一级可信验证不通过时,禁止启动操作系统;业务软件可信验证模块,用于感知层网关的操作系统启动后,业务应用安全启动模块对业务软件进行第二级可信验证,并在第二级可信验证通过时,允许启动业务软件,而在第二级可信验证不通过时,禁止启动业务软件;管理端口访问身份验证模块,用于业务软件启动后,管理端口安全防护模块通过业务软件对管理端口的访问身份进行第三级可信验证,并在第三级可信验证通过时,允许控制口通过管理端口访问感知层网关,而在第三级可信验证不通过时,禁止控制口通过管理端口访问感知层网关。
15.进一步地,安全设置模块包括:操作系统安全引导模块生成单元,用于为感知层网关操作系统生成一对系统公钥和系统私钥,将系统公钥以可信根的方式一次性烧写到efuse硬件内部,而使用系统私钥对操作系统镜像进行签名,并设置操作系统启动时使用系统公钥对操作系统镜像进行验签,生成操作系统安全引导模块;业务应用安全启动模块生成单元,用于为业务软件生成一对业务软件公钥和业务软件私钥,将业务软件公钥固化在操作系统内,对业务软件程序包计算摘要,再使用业务软
件私钥签名后存储在业务软件程序包中,生成业务应用安全启动模块;管理口安全防护模块生成单元,用于在业务软件中为管理口设置usb端口检测单元、访问身份验证单元和控制口连接单元,生成管理口安全防护模块;操作系统可信验证模块包括:操作系统重启单元,用于感知层网关的操作系统重启;待启动操作系统镜像摘要计算单元,用于从打包的系统固件中获取操作系统镜像,对该操作系统镜像进行摘要运算,得到待启动操作系统镜像摘要;待比较操作系统镜像摘要计算单元,用于从打包的系统固件中获取操作系统镜像签名值;操作系统验证单元,用于对待启动操作系统镜像签名值和镜像摘要进行验签;操作系统启动运行单元,用于待启动操作系统镜像摘要和待比较操作系统镜像摘要一致时,允许启动操作系统;操作系统启动禁止单元,用于待启动操作系统镜像摘要和待比较操作系统镜像摘要不一致时,禁止启动操作系统,启动失败;业务软件可信验证模块:业务软件程序包获取单元,用于操作系统启动后,业务应用安全启动模块获取业务软件程序包、下载hmac密钥以及业务软件公钥;待启动业务软件摘要计算单元,用于业务应用安全启动模块从业务软件程序包获取到业务软件,并使用hmac密钥对业务软件进行hmac摘要运算,得到待启动业务软件摘要;软件程序包摘要签名获取单元,用于从业务软件程序包获取业务软件签名值;业务软件验证单元,用于对业务软件程序包hmac摘要和签名值进行验签;业务软件启动禁止单元,用于对业务软件程序包hmac摘要和签名值验签不通过时,禁止业务软件启动;业务软件启动允许单元,用于对业务软件程序包hmac摘要和签名值验签通过时,允许业务软件启动;管理端口访问身份验证模块包括:usb密钥钥匙插入检测单元,用于业务软件检测到控制口向管理口发送连接请求时,通过usb端口检测单元检测是否有usb密码钥匙插入;管理口访问身份验证单元,用于有usb密码钥匙插入时,业务软件中的访问身份验证单元通过usb密钥钥匙对访问身份进行验证;管理端口连接禁止单元,当前管理端口访问身份验证不通过,禁止控制口连接管理端口;控制口驱动加载单元,用于访问身份验证通过时,业务软件的控制口连接单元通知操作系统加载控制口驱动程序;管理口连接单元,用于通过访问身份验证的客户端通过控制口连接到作为感知层网关的管理口的http服务端;控制台登录单元,用于客户端在管理界面打开ssl服务和远程登录服务,实现控制台登录,可进行文件操作。
16.本发明的有益效果在于:
本发明提供的物联网系统感知层网关安全加固方法及装置,形成操作系统、业务软件及管理端口的信任链机制,由efuse硬件内可信根验证操作系统可信,由可信的操作系统验证业务软件可信,由可信的业务软件验证管理端口访问身份可信,减小甚至杜绝对感知层网关进行攻击的风险。
17.此外,本发明设计原理可靠,结构简单,具有非常广泛的应用前景。
18.由此可见,本发明与现有技术相比,具有突出的实质性特点和显著的进步,其实施的有益效果也是显而易见的。
附图说明
19.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
20.图1是本发明物联网系统感知层网关安全加固方法实施例1的方法流程示意图。
21.图2是本发明物联网系统感知层网关安全加固方法实施例2的方法流程示意图。
22.图3是本发明物联网系统感知层网关安全加固方法实施例2的方法流程示意图。
具体实施方式
23.为了使本技术领域的人员更好地理解本发明中的技术方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
24.实施例1:如图1所示,本发明提供一种物联网系统感知层网关安全加固方法,包括如下步骤:s1.在感知层网关的操作系统内设置操作系统安全引导模块、业务应用安全启动模块和管理端口安全防护模块;s2.操作系统安全引导模块对感知层网关的操作系统进行第一级可信验证,并在第一级可信验证通过时,允许启动操作系统,而在第一级可信验证不通过时,禁止启动操作系统;s3.感知层网关的操作系统启动后,业务应用安全启动模块对业务软件进行第二级可信验证,并在第二级可信验证通过时,允许启动业务软件,而在第二级可信验证不通过时,禁止启动业务软件;s4.业务软件启动后,管理端口安全防护模块通过业务软件对管理端口的访问身份进行第三级可信验证,并在第三级可信验证通过时,允许控制口通过管理端口访问感知层网关,而在第三级可信验证不通过时,禁止控制口通过管理端口访问感知层网关。
25.实施例2:如图2和图3所示,本发明提供一种物联网系统感知层网关安全加固方法,包括如下步骤:
s1.在感知层网关的操作系统内设置操作系统安全引导模块、业务应用安全启动模块和管理端口安全防护模块;步骤s1具体步骤如下:s11.为感知层网关操作系统生成一对系统公钥和系统私钥,将系统公钥以可信根的方式一次性烧写到efuse硬件内部,而使用系统私钥对操作系统镜像进行签名,并设置操作系统启动时使用系统公钥对操作系统镜像进行验签,生成操作系统安全引导模块;步骤s11具体步骤如下:s111.感知层网关的操作系统启动;s112.利用操作系统镜像签名工具生成一对系统公钥和系统私钥;s113.将系统公钥以可信根的方式烧写到感知层网关的片上芯片的efuse硬件内部;可信根是基于soc芯片内部efuse硬件一次可编程性,只要烧录一次,不可更改;系统公钥烧录后,只有经过对应系统私钥签名的操作系统镜像才能启动;s114.使用系统私钥对操作系统镜像的摘要进行签名,并将签名的操作系统摘要以及操作系统镜像按照预定的数据格式打包成系统固件,再将系统固件烧录到感知层网关的处理器中;首先对操作系统计算摘要,再使用系统私钥对计算的操作系统摘要进行签名;例如使用sha256算法计算摘要,也可sha1、及sm3摘要算法,还可使用对称加密、非对称加密算法;s115.设置感知层网关的操作系统启动时连接efuse硬件内部的可信根,对系统固件进行验证,生成操作系统安全启动模块;s12.为业务软件生成一对业务软件公钥和业务软件私钥,将业务软件公钥固化在操作系统内,对业务软件程序包计算摘要,再使用业务软件私钥签名后存储在业务软件程序包中,生成业务应用安全启动模块;步骤s12具体步骤如下:s121.利用业务软件签名工具生成一对业务软件公钥和业务软件私钥;s122.对业务软件程序包进行hmac摘要运算,并将hmac密钥存储固化在操作系统内部;s123.使用业务软件私钥对hmac摘要运算后业务软件程序包进行签名,并将业务软件公钥下载到操作系统内置存储空间;s124.将签名的业务软件程序包hmac摘要加入到业务软件程序包中并进行打包,生成业务应用安全启动模块;由于操作系统和业务软件的可信认证均涉及密码运算,如果采用非对称算法对操作系统和业务软件的二进制程序进行运算,显然会增加系统启动时间,本技术首先对操作系统和业务软件的二进制程序进行摘要运算,摘要运算的效率要明显高于非对称算法,sha256摘要算法为例,对任意长度数据进行sha256摘要运算,得到的数据长度固定为256比特位。然后用非对称算法对摘要数据进行验签,可最大限度减少可信认证环节消耗的时间,进而降低感知层网关设备的启动时间;s13.在业务软件中为管理口设置usb端口检测单元、访问身份验证单元和控制口连接单元,生成管理口安全防护模块;s2.操作系统安全引导模块对感知层网关的操作系统进行第一级可信验证,并在第一级可信验证通过时,允许启动操作系统,而在第一级可信验证不通过时,禁止启动操作系统;步骤s2具体步骤如下:
s21.感知层网关的操作系统重启;s22.从打包的系统固件中获取操作系统镜像,对该操作系统镜像进行摘要运算,得到待启动操作系统镜像摘要;s23.从打包的系统固件中获取操作系统镜像签名值;s24.对待启动操作系统镜像签名值和镜像摘要进行验签;若验签不通过,进入步骤s25;若验签通过,则允许启动操作系统,进入步骤s3;s25.禁止启动操作系统,启动失败,结束;s3.感知层网关的操作系统启动后,业务应用安全启动模块对业务软件进行第二级可信验证,并在第二级可信验证通过时,允许启动业务软件,而在第二级可信验证不通过时,禁止启动业务软件;步骤s3具体步骤如下:s31.操作系统启动后,业务应用安全启动模块获取业务软件程序包、下载hmac密钥以及业务软件公钥;s32.业务应用安全启动模块从业务软件程序包获取到业务软件,并使用hmac密钥对业务软件进行hmac摘要运算,得到待启动业务软件摘要;s33.从业务软件程序包获取业务软件签名值;s34.对业务软件程序包hmac摘要和签名值进行验签;s35.若验签不通过,禁止业务软件启动,结束;若验签通过,允许业务软件启动,进入步骤s4;s4.业务软件启动后,管理端口安全防护模块通过业务软件对管理端口的访问身份进行第三级可信验证,并在第三级可信验证通过时,允许控制口通过管理端口访问感知层网关,而在第三级可信验证不通过时,禁止控制口通过管理端口访问感知层网关;步骤s4具体步骤如下:s41.业务软件检测到控制口向管理口发送连接请求时,通过usb端口检测单元检测是否有usb密码钥匙插入;若否,进入步骤s43;若是,进入步骤s42;s42.业务软件中的访问身份验证单元通过usb密钥钥匙对访问身份进行验证;若验证不通过,进入步骤s43;若验证通过,进入步骤s44;s43.当前管理端口访问身份验证不通过,禁止控制口连接管理端口,结束;s44.业务软件的控制口连接单元通知操作系统加载控制口驱动程序;s45.通过访问身份验证的客户端通过控制口连接到作为感知层网关的管理口的http服务端;s46.客户端在管理界面打开ssl服务和远程登录服务,实现控制台登录,可进行文件操作。
26.实施例3:本发明提供一种物联网系统感知层网关安全加固装置,包括:安全设置模块,用于在感知层网关设置操作系统安全引导模块,并在操作系统启
动后设置业务应用安全启动模块和管理端口安全防护模块;安全设置模块包括:操作系统安全引导模块生成单元,用于为感知层网关操作系统生成一对系统公钥和系统私钥,将系统公钥以可信根的方式一次性烧写到efuse硬件内部,而使用系统私钥对操作系统镜像进行签名,并设置操作系统启动时使用系统公钥对操作系统镜像进行验签,生成操作系统安全引导模块;业务应用安全启动模块生成单元,用于为业务软件生成一对业务软件公钥和业务软件私钥,将业务软件公钥固化在操作系统内,对业务软件程序包计算摘要,再使用业务软件私钥签名后存储在业务软件程序包中,生成业务应用安全启动模块;管理口安全防护模块生成单元,用于在业务软件中为管理口设置usb端口检测单元、访问身份验证单元和控制口连接单元,生成管理口安全防护模块;操作系统可信验证模块,用于操作系统安全引导模块对感知层网关的操作系统进行第一级可信验证,并在第一级可信验证通过时,允许启动操作系统,而在第一级可信验证不通过时,禁止启动操作系统;操作系统可信验证模块包括:操作系统重启单元,用于感知层网关的操作系统重启;待启动操作系统镜像摘要计算单元,用于从打包的系统固件中获取操作系统镜像,对该操作系统镜像进行摘要运算,得到待启动操作系统镜像摘要;待比较操作系统镜像摘要计算单元,用于从打包的系统固件中获取操作系统镜像签名值;操作系统验证单元,用于对待启动操作系统镜像签名值和镜像摘要进行验签;操作系统启动运行单元,用于待启动操作系统镜像摘要和待比较操作系统镜像摘要一致时,允许启动操作系统;操作系统启动禁止单元,用于待启动操作系统镜像摘要和待比较操作系统镜像摘要不一致时,禁止启动操作系统,启动失败;业务软件可信验证模块,用于感知层网关的操作系统启动后,业务应用安全启动模块对业务软件进行第二级可信验证,并在第二级可信验证通过时,允许启动业务软件,而在第二级可信验证不通过时,禁止启动业务软件;业务软件可信验证模块:业务软件程序包获取单元,用于操作系统启动后,业务应用安全启动模块获取业务软件程序包、下载hmac密钥以及业务软件公钥;待启动业务软件摘要计算单元,用于业务应用安全启动模块从业务软件程序包获取到业务软件,并使用hmac密钥对业务软件进行hmac摘要运算,得到待启动业务软件摘要;软件程序包摘要签名获取单元,用于从业务软件程序包获取业务软件签名值;业务软件验证单元,用于对业务软件程序包hmac摘要和签名值进行验签;业务软件启动禁止单元,用于对业务软件程序包hmac摘要和签名值验签不通过时,禁止业务软件启动;业务软件启动允许单元,用于对业务软件程序包hmac摘要和签名值验签通过时,允许业务软件启动;管理端口访问身份验证模块,用于业务软件启动后,管理端口安全防护模块通过业务软件对管理端口的访问身份进行第三级可信验证,并在第三级可信验证通过时,允许控制口通过管理端口访问感知层网关,而在第三级可信验证不通过时,禁止控制口通过管
理端口访问感知层网关;管理端口访问身份验证模块包括:usb密钥钥匙插入检测单元,用于业务软件检测到控制口向管理口发送连接请求时,通过usb端口检测单元检测是否有usb密码钥匙插入;管理口访问身份验证单元,用于有usb密码钥匙插入时,业务软件中的访问身份验证单元通过usb密钥钥匙对访问身份进行验证;管理端口连接禁止单元,当前管理端口访问身份验证不通过,禁止控制口连接管理端口;控制口驱动加载单元,用于访问身份验证通过时,业务软件的控制口连接单元通知操作系统加载控制口驱动程序;管理口连接单元,用于通过访问身份验证的客户端通过控制口连接到作为感知层网关的管理口的http服务端;控制台登录单元,用于客户端在管理界面打开ssl服务和远程登录服务,实现控制台登录,可进行文件操作。
27.本专利中使用的摘要算法及非对称算法均支持国密相关算法。
28.尽管通过参考附图并结合优选实施例的方式对本发明进行了详细描述,但本发明并不限于此。在不脱离本发明的精神和实质的前提下,本领域普通技术人员可以对本发明的实施例进行各种等效的修改或替换,而这些修改或替换都应在本发明的涵盖范围内/任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1