本发明涉及信息安全技术领域,尤其是涉及一种物联网终端数据安全接收、发送的系统。
背景技术:
随着网络技术的广泛应用,小到一家企业、一栋大楼,大到一座城市,都部署了大量的网络终端,包括视频监控摄像机、视频会议系统、物联网数据采集系统等。这些系统在数据传输时,大都采用明文传输,传输数据很容易被窃取;并且一般缺少安全有效的防护手段,缺少对弱口令、系统漏洞、web漏攻等攻击手段的有效防范措施。特别在视频监控系统中,存在摄像机、监控视频被非法替换或篡改等的风险。
技术实现要素:
本发明的目的在于提供一种物联网终端数据安全接收、发送的系统,以解决现有的物联网数据传输安全性差、抗攻击能力弱的问题。
本发明解决上述技术问题采用的技术方案为:
一种物联网终端数据安全接收、发送的系统,包括网络协议处理模块、访问控制模块和数据加解密模块,所述的网络协议处理模块,负责对网络协议的解析和重构;所述访问控制模块实现对通过安全终端的流量进行控制,系统自身流量和已经允许的业务流量,可以通过物联网终端,未经允许的非法流量、未知流量,无法通过安全终端;所述的数据加解密模块,负责对通过终端的业务数据进行加解密并作完整性鉴别,如果完整性鉴别未通过,则丢弃该数据包;
所述的访问控制模块的工作方式为:物联网终端联入网络中首先登录服务端的安全网关,登录双向验证后进行密钥协商;
所述协议处理模块完成协议的解析和重构功能;所述加解密模块完成业务数据的加解密和完整性鉴别功能,业务数据加密封装格式采用esp协议格式,并采用esp的隧道模式。
进一步地,所述的访问控制模块控制物联网终端登录服务端的安全网关,其身份认证过程为:
tokenab=ra||rb||ssa(ra||rb)
tokenba=rb||ra||ssb(rb||ra)
(1)发起方b产生随机数rb,将rb发送给应答方a;
(2)应答方a产生随机数ra,并对ra||rb进行签名,组成tokenab,将tokenab发送给发起方b;
(3)发起方b从信任列表白名单中获得应答方a的签名公钥;
(4)发起方b验证tokenab中的签名信息,组成tokenba,将tokenba发送给应答方a;
(5)应答方a从信任列表白名单中获得发起方b的签名公钥;
(6)应答方a验证tokenba中的签名信息。
进一步地,所述的访问控制模块控制物联网终端进行密钥协商的流程为:
(1)发起方b生成随机数r作为会话密钥;
(2)发起方b从信任列表白名单中获得应答方a的加密公钥;
(3)发起方b使用应答方a的加密公钥加密随机数r,并将密文值发送给应答方a;
(4)应答方使用加密私钥进行解密获得随机数r。
进一步地,所述的esp头部格式:
(1)安全参数索引spi(32位):它与目的ip地址和安全协议共同标识了这个数据报文的安全联盟,用来标识发送方在处理ip数据包时使用了哪些安全策略,当接收方解析这个字段后就知道如何处理收到的包;
(2)序列号(32位):一个单调递增的计数器,为每个包赋予一个序号,当通信双方建立安全联盟(sa)时,初始化为0,sa是单向的,每发送/接收一个包,外出/进入sa的计数器增1,该字段可用于抗重放攻击;
(3)载荷数据:是变长的字段,他包含初始化向量iv和下一个头字段所描述的数据,其长度单位为字节,iv位于载荷数据的首部;
(4)填充数据:如果载荷数据的长度不是加密算法的分组长度的整数倍,则需要对不足的部分进行填充,填充以字节为单位;
(5)填充长度:以字节为单位指示填充项长度,范围为[0,255],保证加密数据的长度适应分组加密算法的长度,其中0表示没有填充字节;
(6)下一个头:表示紧跟在esp头部后面的协议,该字段是处于保护中的传输层协议的值;
(7)鉴别数据:是变长字段,它是一个完整性校验值icv,是对esp报文去掉icv外的其余部分进行完整性校验计算所得的值,只有选择了验证服务时才需要有该字段,其长度由选择的完整性校验算法决定。
进一步地,所述的esp头的位置:
使用esp的隧道模式,esp保护包括原内部ip头在内的整个原ip报文;
(1)出站报文处理
出站报文的处理包括查找sa、封装、加密报文、产生序列号、计算完整性校验值和分片等过程,并按照以下顺序进行处理:
(1.1)查找sa:根据本地策略查找sa,只有当一个ipsec实现确定了报文与该sa相关联后,esp才应用于一个出站报文,否则应开始新的密钥交换过程,建立sa;
(1.2)封装:在隧道模式中,将整个原值ip数据报文封装到esp载荷字段中;
(1.3)加密报文:首先对报文添加所有需要的填充,然后使用由sa指定的密钥、加密算法、算法模式和iv进行加密,加密范围包括载荷数据、填充、填充长度和下一个头;
(1.4)产生序列号:当建立一个sa时,发送方的徐磊好计数器初始化为0,没发送一个报文之前,该计数器加1,并且把这计数器插入到序列号字段中,当该计数器达到最大值前,应生成新的sa,;
(1.5)计算完整性校验值:发送方在除去鉴别数据字段的esp报文上计算icv,将计算后得到的值赋予鉴别数据字段,;
(1.6)分片:一个ipsec实现在esp处理之后,如果发现ip数据报文长度超过输出接口的mtu值,则对处理后的数据报文进行分片;
(2)入站报文处理
入站报文的处理包括重组、查找sa、验证序列号、验证完整性校验值、解密报文和重构等过程,并按照以下顺序进行处理:
(1)重组:如果需要,在esp处理之前要进行ip数据报文重组,esp不处理分片报文,如果提供给esp处理的一个报文是分片的ip数据报文,接收方应丢弃该报文;
(2)查找sa:当接收到一个包含esp头的报文时,接收方应根据目的ip地址、esp和spi来查找sa,查找失败则丢弃该报文;
(3)验证序列号:对于每个接收到的报文,接收方应确认报文包含一个序列号,并且该序列号在这个sa生命周期中不重复任何已接收的其他报文的序列号,否则应丢弃该报文;
(4)验证完整性校验值:接收方采用指定的完整性校验算法对报文计算icv,计算的结果与报文中的icv值进行比较,如果一致,则接受到的数据报文是有效的,否则接收方应将接收到的数据报文丢弃;
(5)解密报文:使用sa指定的密钥、加密算法、算法模式和iv,对接收报文的加密部分进行解密,根据解密后的报文中的填充长度和填充数据进行判断是否解密成功,如解密失败则丢弃该报文;
(6)重构:对解密成功的报文,重构原始ip数据报文。
进一步地,所述的物联网终端数据安全接收、发送的系统还包括密钥管理模块,所述的密钥管理模块保证密钥的安全:
1)物联网终端的签名私钥和加密私钥存储在安全芯片中,只在安全芯片中参与运算,不能导出;
2)物联网终端的工作密钥由加密密钥与通信方的加密密钥协商生成,不以明文形式出现在通信链路中。
进一步地,所述的物联网终端数据安全接收、发送的系统还包括日志管理模块,所述的日志管理模块记录物联网终端的日常操作,用于安全审计:
1)安全终端同步输出详细的操作管理日志信息,提供完整的审计信息;
2)支持系统管理员操作日志记录的审计,以及用户访问存取日志记录的审计。
与现有技术相比,本发明具备的有益效果为:
本发明中提供的数据安全传输终端,能够忽略网络数据应用层的千变万化,在数据传输层对数据进行加解密,并保证数据的完整性、不可抵赖性;同时具备访问控制功能,提高终端设备的抗攻击能力,保证数据和设备的安全。
附图说明
图1为物联网终端数据安全接收、发送的系统硬件结构示意图;
图2为物联网终端数据安全接收、发送的系统软件功能框图;
图3为物联网终端数据安全接收、发送的系统典型应用网络拓扑图;
图4为物联网终端数据安全接收、发送的系统的身份认证示意图;
图5为物联网终端数据安全接收、发送的系统的esp头部格式图;
图6为物联网终端数据安全接收、发送的系统的esp隧道模式图。
具体实施方式
以下结合附图和具体实施例对本发明作进一步详细说明。根据下面说明和权利要求书,本发明的优点和特征将更清楚。需说明的是,附图均采用非常简化的形式且均使用非精准的比例,仅用以方便、明晰地辅助说明本发明实施例的目的。
本发明提供了一种物联网终端数据安全接收、发送的系统,其硬件结构示意图如图1所示,软件功能框图如图2所示,典型应用网络拓扑如图3所示。
所述物联网终端即安全终端硬件结构按功能分为三大部分:处理器系统架构部分,安全功能部分,网络接口部分。处理器系统架构部分由arm处理器、ddr内存、flash组成,实现本装置的各种基本功能和调度,所述arm处理器优选为i.mx6处理器,所述的ddr内存优选ddr3颗粒512mb,flash优选nandflash256mb。安全功能部分包括2片wng4,1片ssx1702安全芯片,1个tf卡,所述wng4实现密码运算所需随机数的生成,ssx1702安全芯片实现系统对国密算法sm2/sm3/sm4的调用,tf卡选用国密局认证的tf卡形态的智能密码钥匙,完成系统管理员的身份认证,所述ssx1702安全芯片为宏思ssx1702安全芯片;网络接口部分主要为2路网络接口的具体物理实现结构。
所述安全终端包括网络协议处理模块、访问控制模块和数据加解密模块,所述的网络协议处理模块,负责对网络协议的解析和重构;所述访问控制模块实现对通过安全终端的流量进行控制,系统自身流量和已经允许的业务流量,可以通过安全终端;未经允许的非法流量、未知流量,无法通过安全终端;所述数据加解密模块,负责对通过终端的业务数据进行加解密并作完整性鉴别,如果完整性鉴别未通过,则丢弃该数据包。
具体的见图3,物联网终端即物联网安全终端,串接在临近终端设备的网络中,能够对终端设备的传输数据进行加密,并保护终端设备不受非法攻击的侵害,亦能防止终端设备被非法替换。
物联网安全终端工作方式:
安全终端联入网络中首先登录服务端的安全网关,按国密局制订的设备间身份认证流程遵循国标gbt15843.3-2016《信息技术安全技术实体鉴别第3部分:采用数字签名技术的机制》中5.3.3章节所定义的方法。详细过程如下:(见图4)
tokenab=ra||rb||ssa(ra||rb)
tokenba=rb||ra||ssb(rb||ra)
1)发起方b产生随机数rb,将rb发送给应答方a;
2)应答方a产生随机数ra,并对ra||rb进行签名,组成tokenab,将tokenab发送给发起方b;
3)发起方b从信任列表白名单中获得应答方a的签名公钥;
4)发起方b验证tokenab中的签名信息,组成tokenba,将tokenba发送给应答方a;
5)应答方a从信任列表白名单中获得发起方b的签名公钥;
6)应答方a验证tokenba中的签名信息。
登录双向验证后进行密钥协商,密钥协商遵循gmt0018《密码设备应用接口规范》中相关函数进行会话密钥的生成与传递。其流程如下:
1)发起方b生成随机数r作为会话密钥;
2)发起方b从信任列表白名单中获得应答方a的加密公钥;
3)发起方b使用应答方a的加密公钥加密随机数r,并将密文值发送给应答方a;
4)应答方使用加密私钥进行解密获得随机数r。
以上功能都由访问控制模块完成。
网络协议处理模块完成协议的解析和重构功能;加解密模块完成业务数据的加解密和完整性鉴别等功能,业务数据加密封装格式采用esp(封装安全载荷)协议格式,并采用esp的隧道模式,esp提供了机密性、数据源鉴别、数据的完整性、抗重放攻击服务等保护功能,其密码分组模式采用cbc模式。
1.esp头部格式见图5
(1)安全参数索引spi(32位):它与目的ip地址和安全协议共同标识了这个数据报文的安全联盟。用来标识发送方在处理ip数据包时使用了哪些安全策略,当接收方看到这个字段后就知道如何处理收到的包;
(2)序列号(32位):一个单调递增的计数器,为每个包赋予一个序号。当通信双方建立安全联盟(sa)时,初始化为0。sa是单向的,每发送/接收一个包,外出/进入sa的计数器增1。该字段可用于抗重放攻击;
(3)载荷数据:是变长的字段,他包含初始化向量iv和下一个头字段所描述的数据,其长度单位为字节。iv位于载荷数据的首部;
(4)填充数据:如果载荷数据的长度不是加密算法的分组长度的整数倍,则需要对不足的部分进行填充,填充以字节为单位;
(5)填充长度:以字节为单位指示填充项长度,范围为[0,255]。保证加密数据的长度适应分组加密算法的长度。其中0表示没有填充字节;
(6)下一个头:表示紧跟在esp头部后面的协议,该字段是处于保护中的传输层协议的值,如6(tcp),17(udp)或50(esp);
(7)鉴别数据:是变长字段,它是一个完整性校验值icv,是对esp报文去掉icv外的其余部分进行完整性校验计算所得的值。只有选择了验证服务时才需要有该字段。其长度由选择的完整性校验算法决定。
2.esp头的位置
esp隧道模式见图6
使用esp的隧道模式,esp保护包括原内部ip头在内的整个原ip报文,图6所示,图中,“数据”包含“载荷数据”和“填充”;“esp尾”包含“填充长度”和“下一个头”字段。
1)出站报文处理
出站报文的处理包括查找sa、封装、加密报文、产生序列号、计算完整性校验值和分片等过程,并按照以下顺序进行处理;
(1)查找sa:根据本地策略查找sa,只有当一个ipsec实现确定了报文与该sa相关联后,esp才应用于一个出站报文。否则应开始新的密钥交换过程,建立sa;
(2)封装:在隧道模式中,将整个原值ip数据报文封装到esp载荷字段中;
(3)加密报文:首先对报文添加所有需要的填充,然后使用由sa指定的密钥、加密算法、算法模式和iv进行加密,加密范围包括载荷数据、填充、填充长度和下一个头;
(4)产生序列号:当建立一个sa时,发送方的徐磊好计数器初始化为0,没发送一个报文之前,该计数器加1,并且把这计数器插入到序列号字段中。当该计数器达到最大值前,应生成新的sa;
(5)计算完整性校验值:发送方在除去鉴别数据字段的esp报文上计算icv。将计算后得到的值赋予鉴别数据字段;
(6)分片:一个ipsec实现在esp处理之后,如果发现ip数据报文长度超过输出接口的mtu值,则对处理后的数据报文进行分片。
2)入站报文处理
入站报文的处理包括重组、查找sa、验证序列号、验证完整性校验值、解密报文和重构等过程,并按照以下顺序进行处理。
(1)重组:如果需要,在esp处理之前要进行ip数据报文重组。esp不处理分片报文,如果提供给esp处理的一个报文是分片的ip数据报文,接收方应丢弃该报文;
(2)查找sa:当接收到一个包含esp头的报文时,接收方应根据目的ip地址、esp和spi来查找sa,查找失败则丢弃该报文;
(3)验证序列号:对于每个接收到的报文,接收方应确认报文包含一个序列号,并且该序列号在这个sa生命周期中不重复任何已接收的其他报文的序列号,否则应丢弃该报文;
(4)验证完整性校验值:接收方采用指定的完整性校验算法对报文计算icv,计算的结果与报文中的icv值进行比较。如果一致,则接受到的数据报文是有效的,否则接收方应将接收到的数据报文丢弃;
(5)解密报文:使用sa指定的密钥、加密算法、算法模式和iv,对接收报文的加密部分进行解密。根据解密后的报文中的填充长度和填充数据进行判断是否解密成功。如解密失败则丢弃该报文;
(6)重构:对解密成功的报文,重构原始ip数据报文。
所述的物联网终端数据安全接收、发送的系统还包括密钥管理模块,所述的密钥管理模块保证密钥的安全:
1)物联网终端的签名私钥和加密私钥存储在安全芯片中,只在安全芯片中参与运算,不能导出;
2)物联网终端的工作密钥由加密密钥与通信方的加密密钥协商生成,不以明文形式出现在通信链路中。
所述得到物联网终端数据安全接收、发送的系统还包括日志管理模块,所述日志管理模块记录安全终端的日常操作,主要用于安全审计:
1)安全终端同步输出详细的操作管理日志信息,提供完整的审计信息;
2)支持系统管理员操作日志记录的审计,以及用户访问存取日志记录的审计。
上述描述仅是对本发明较佳实施例的描述,并非对本发明范围的任何限定,本发明领域的普通技术人员根据上述揭示内容做的任何变更、修饰,均属于权利要求书的保护范围。
1.一种物联网终端数据安全接收、发送的系统,其特征在于:包括网络协议处理模块、访问控制模块和数据加解密模块,所述的网络协议处理模块,负责对网络协议的解析和重构;所述访问控制模块实现对通过安全终端的流量进行控制,系统自身流量和已经允许的业务流量,可以通过物联网终端,未经允许的非法流量、未知流量,无法通过安全终端;所述的数据加解密模块,负责对通过终端的业务数据进行加解密并作完整性鉴别,如果完整性鉴别未通过,则丢弃该数据包。
2.据权利要求1所述的一种物联网终端数据安全接收、发送的系统,其特征在于:所述的访问控制模块的工作方式为:物联网终端联入网络中首先登录服务端的安全网关,登录双向验证后进行密钥协商;
所述协议处理模块完成协议的解析和重构功能;所述加解密模块完成业务数据的加解密和完整性鉴别功能,业务数据加密封装格式采用esp协议格式,并采用esp的隧道模式。
3.据权利要求1或2所述的一种物联网终端数据安全接收、发送的系统,其特征在于:所述的访问控制模块控制物联网终端登录服务端的安全网关,其身份认证过程为:
tokenab=ra||rb||ssa(ra||rb)
tokenba=rb||ra||ssb(rb||ra)
(1)发起方b产生随机数rb,将rb发送给应答方a;
(2)应答方a产生随机数ra,并对ra||rb进行签名,组成tokenab,将tokenab发送给发起方b;
(3)发起方b从信任列表白名单中获得应答方a的签名公钥;
(4)发起方b验证tokenab中的签名信息,组成tokenba,将tokenba发送给应答方a;
(5)应答方a从信任列表白名单中获得发起方b的签名公钥;
(6)应答方a验证tokenba中的签名信息;
所述的访问控制模块控制物联网终端进行密钥协商的流程为:
(1)发起方b生成随机数r作为会话密钥;
(2)发起方b从信任列表白名单中获得应答方a的加密公钥;
(3)发起方b使用应答方a的加密公钥加密随机数r,并将密文值发送给应答方a;
(4)应答方使用加密私钥进行解密获得随机数r。
4.根据权利要求3所述的一种物联网终端数据安全接收、发送的系统,其特征在于:所述的esp头部格式:
(1)安全参数索引spi(32位):它与目的ip地址和安全协议共同标识了这个数据报文的安全联盟,用来标识发送方在处理ip数据包时使用了哪些安全策略,当接收方解析这个字段后就知道如何处理收到的包;
(2)序列号(32位):一个单调递增的计数器,为每个包赋予一个序号,当通信双方建立安全联盟(sa)时,初始化为0,sa是单向的,每发送/接收一个包,外出/进入sa的计数器增1,该字段可用于抗重放攻击;
(3)载荷数据:是变长的字段,他包含初始化向量iv和下一个头字段所描述的数据,其长度单位为字节,iv位于载荷数据的首部;
(4)填充数据:如果载荷数据的长度不是加密算法的分组长度的整数倍,则需要对不足的部分进行填充,填充以字节为单位;
(5)填充长度:以字节为单位指示填充项长度,范围为[0,255],保证加密数据的长度适应分组加密算法的长度,其中0表示没有填充字节;
(6)下一个头:表示紧跟在esp头部后面的协议,该字段是处于保护中的传输层协议的值;
(7)鉴别数据:是变长字段,它是一个完整性校验值icv,是对esp报文去掉icv外的其余部分进行完整性校验计算所得的值,只有选择了验证服务时才需要有该字段,其长度由选择的完整性校验算法决定。
5.根据权利要求3所述的一种物联网终端数据安全接收、发送的系统,其特征在于:所述的esp头的位置:
使用esp的隧道模式,esp保护包括原内部ip头在内的整个原ip报文;
(1)出站报文处理
出站报文的处理包括查找sa、封装、加密报文、产生序列号、计算完整性校验值和分片等过程,并按照以下顺序进行处理:
(1.1)查找sa:根据本地策略查找sa,只有当一个ipsec实现确定了报文与该sa相关联后,esp才应用于一个出站报文,否则应开始新的密钥交换过程,建立sa;
(1.2)封装:在隧道模式中,将整个原值ip数据报文封装到esp载荷字段中;
(1.3)加密报文:首先对报文添加所有需要的填充,然后使用由sa指定的密钥、加密算法、算法模式和iv进行加密,加密范围包括载荷数据、填充、填充长度和下一个头;
(1.4)产生序列号:当建立一个sa时,发送方的徐磊好计数器初始化为0,没发送一个报文之前,该计数器加1,并且把这计数器插入到序列号字段中,当该计数器达到最大值前,应生成新的sa,;
(1.5)计算完整性校验值:发送方在除去鉴别数据字段的esp报文上计算icv,将计算后得到的值赋予鉴别数据字段,;
(1.6)分片:一个ipsec实现在esp处理之后,如果发现ip数据报文长度超过输出接口的mtu值,则对处理后的数据报文进行分片;
(2)入站报文处理
入站报文的处理包括重组、查找sa、验证序列号、验证完整性校验值、解密报文和重构等过程,并按照以下顺序进行处理:
(1)重组:如果需要,在esp处理之前要进行ip数据报文重组,esp不处理分片报文,如果提供给esp处理的一个报文是分片的ip数据报文,接收方应丢弃该报文;
(2)查找sa:当接收到一个包含esp头的报文时,接收方应根据目的ip地址、esp和spi来查找sa,查找失败则丢弃该报文;
(3)验证序列号:对于每个接收到的报文,接收方应确认报文包含一个序列号,并且该序列号在这个sa生命周期中不重复任何已接收的其他报文的序列号,否则应丢弃该报文;
(4)验证完整性校验值:接收方采用指定的完整性校验算法对报文计算icv,计算的结果与报文中的icv值进行比较,如果一致,则接受到的数据报文是有效的,否则接收方应将接收到的数据报文丢弃;
(5)解密报文:使用sa指定的密钥、加密算法、算法模式和iv,对接收报文的加密部分进行解密,根据解密后的报文中的填充长度和填充数据进行判断是否解密成功,如解密失败则丢弃该报文;
(6)重构:对解密成功的报文,重构原始ip数据报文。
6.根据权利要求1所述的一种物联网终端数据安全接收、发送的系统,其特征在于:所述的物联网终端数据安全接收、发送的系统还包括密钥管理模块,所述的密钥管理模块保证密钥的安全:
1)物联网终端的签名私钥和加密私钥存储在安全芯片中,只在安全芯片中参与运算,不能导出;
2)物联网终端的工作密钥由加密密钥与通信方的加密密钥协商生成,不以明文形式出现在通信链路中。
7.根据权利要求1所述的一种物联网终端数据安全接收、发送的系统,其特征在于:所述的物联网终端数据安全接收、发送的系统还包括日志管理模块,所述的日志管理模块记录物联网终端的日常操作,用于安全审计:
1)安全终端同步输出详细的操作管理日志信息,提供完整的审计信息;
2)支持系统管理员操作日志记录的审计,以及用户访问存取日志记录的审计。
技术总结