一种用于网络安全芯片的内外网访问控制方法与该网络安全芯片

文档序号:24812225发布日期:2021-04-27 13:12阅读:118来源:国知局
一种用于网络安全芯片的内外网访问控制方法与该网络安全芯片

1.本发明属于网络安全技术领域,涉及利用压缩存储算法实现安全芯片设备对访问用户的控制,为一种用于网络安全芯片的内外网访问控制方法与该网络安全芯片。


背景技术:

2.网络信息技术的发展正在孕育新的工业和技术革命,同时也带来了巨大的安全风险,在信息时代,网络安全的重要性不言而喻。要从根本上解决网络安全问题,必须从网络信息技术的芯片底层设计入手,一方面保护数据资源免于非授权访问、篡改,另一方面,建立芯片级安全通信专用通道,实现数据和通道芯片级策略化安全隔离。传统的网络安全芯片防护如图1所示,这样的工作模式虽然能够实现对网络传输的加密,在硬件层面保护敏感数据通信安全,但系统本身容易受到网络攻击,很难保障自身安全。一种更为可靠的网络安全系统防护安全芯片架构如图2所示,该芯片主要包含两个部分,数据安全单元与网络安全管控单元。使用该芯片的网络安全系统架构如图3所示,其中,加密算法引擎用于网络数据加密,网络白名单用于网络安全管控。本发明重点关注该架构中的网络安全管控单元,通过设置白名单机制,检测异常入侵,控制用户访问。
3.白名单是一种允许部分用户通过的限制访问机制。与黑名单机制相比,白名单对于允许访问用户的信息掌握更为准确,能够实现名单内用户快速访问;同时对于防范外来攻击也更为有效,使用合理的白名单设置规则可以大大降低系统被侵入的风险。白名单机制具有较高的安全性和快捷性,目前广泛应用于网络防火墙、操作系统、硬件系统等各个领域。
4.考虑到现行网络协议,使用ip地址及其对应的端口或mac地址作为白名单过滤的依据较为合理,但由于ip地址或mac地址本身需要一定空间进行存储(例如存储一个ipv4地址至少需要4个字节,对应ipv6地址需要的16个字节,端口需要2个字节),对于细粒度的目的ip的端口的访问控制,常常导致白名单列表非常大,比如达到数百万甚至数千万可访问目的ip和端口的组合。直接在芯片上存储如此大规模的白名单将会占用大量片上存储空间。


技术实现要素:

5.为了克服上述现有技术的缺点,本发明的目的在于提供一种用于网络安全芯片的内外网访问控制方法与该网络安全芯片,使用该网络安全芯片的设备(例如移动终端)既可以自由的访问外网也可以安全的访问内网数据,同时保证内网数据不会通过设备泄露到外网。
6.为了实现上述目的,本发明采用的技术方案是:
7.一种用于网络安全芯片的内外网访问控制方法,使用n个独立的数据梗概分别对完整的白名单进行压缩存储,在连接时仅使用一个数据梗概进行验证,同时利用攻击计数
器c进行辅助判断,初始化c

0;在给定使用该芯片的设备对外连接目的ip或者连接目的ip及其对应的端口时,白名单验证过程如下:
8.(1)首先使用一个数据梗概对目的ip进行验证,若目的ip通过验证,则认为该目的ip存在于ip地址白名单中,并允许建立连接,传输数据;
9.(2)若目的ip未通过验证,则认为该目的ip不存在于ip地址白名单中,更新攻击计数器c

c+1;
10.(3)若攻击计数器c的值大于阈值,则随机切换到另一个数据梗概进行验证,或停止芯片的工作。
11.优选地,本发明使用传统布隆过滤器或后续改进的布隆过滤器作为数据梗概,一个布隆过滤器b由一个长度为m的比特位向量和k个独立的哈希函数h
i
组成,i=1,

,k,比特位向量中每个位b
j
∈{0,1},j=1,

,m,初始化b
j

0,每个独立的哈希函数h
i
能将连接地址x均匀地映射到集合{1,

,m}中的一个数;
12.对ip地址白名单中的每一个连接地址x,布隆过滤器b使用k个哈希函数h1,

,h
k
将x映射到比特位向量的k个位置h1(x),

,h
k
(x),并将对应位置的比特值置为1,对同一个位置,布隆过滤器b能够多次将其比特值置为1;其中x∈s,s是ip地址白名单列表,ip地址白名单列表中的一个元素即设备可以访问的一个连接地址,即目的ip或者目的ip及其对应的端口;
13.对待查询连接地址q,即当前设备想要访问的连接地址,布隆过滤器b使用k个哈希函数h1,

,h
k
将q映射到比特位向量的k个位置h1(q),

,h
k
(q),并检查该k个位置的比特值,若h1(q),

,h
k
(q)的比特值均为1,则认为元素q∈s;反之
14.所述布隆过滤器包括:多路选择器(mux)、哈希函数硬件(hash pe)、比特向量(bit vector),其中多路选择器用于切换两种功能,即向比特向量中写入一个地址或检验一个地址是否在比特向量中,向比特向量中写入地址时,输入地址(address)经过哈希函数运算得到多个序号(index),每个序号对应一个哈希函数,然后将比特向量中各序号对应位置为1,完成对地址的保存;检验一个地址是否在比特向量中时,经过与前述相同的哈希计算过程得到多个序号,然后将比特向量各序号对应位的值输出到决策模块,由决策模块判断该元素是否位于比特向量中,即地址是否位于白名单中,每次判断地址未通过时,攻击计数器c加1;当判断通过时,计数器清零。
15.本发明同时提供了一种使用所述内外网访问控制方法的网络安全芯片,在硬件层面保护敏感数据通信安全,其包括:
16.数据安全单元,提供安全的加解密算法以及交互协议;
17.网络安全管控单元,实现敏感数据的隔离、网络访问控制、安全模式热切换、身份的认证校验;
18.网络数据处理单元,与加解密算法控制引擎进行通信,利用加解密算法控制引擎对当前数据包中的载荷进行加解密,并完成网络协议中的校验。
19.具体地,所述数据安全单元包括:
20.(1)加解密算法控制引擎:包含私钥安全存储,支持私钥ecdh操作,ecdsa签名认证;并提供主流的国密以及商用密码加解密算法控制引擎,能够对数据流进行高速加密与
还原;
21.(2)授权计数器:对访问加解密算法控制引擎的授权进行不可更改计数,用于辅助判断是否曾经遭受攻击,每次得到授权后进行计数,如果计数器的计数出现了异常,则说明出现了被攻击;
22.(3)噪声源生成器:通过硬件物理方法生成真随机数,提供给加解密算法控制引擎,保障随机数不会泄露;
23.(4)唯一识别号:在芯片出厂后一次烧写不可更改;
24.(5)安全eeprom:用于存储用户私钥,黑白名单,安全服务器证书在内的高度敏感信息,加密保存,可远程擦除,不可读出片外,使用时需要授权;
25.所述网络安全管控单元包括:
26.(1)敏感数据隔离擦写模块,在安全模式下,将用户敏感数据转存至安全eeprom或单独开辟的一块地址固定的内存区域即隔离区域中;在常规模式下,敏感数据隔离擦写模块仅将用户敏感数据转存至eerpom,而不再单独开辟隔离区域;
27.(2)网络访问控制模块,设置有黑白名单检测机制,能够过滤网络数据包的ip信息,在安全模式下,仅允许目的ip和目的端口为白名单中ip和端口的数据包进入广域网,如果监测到有来自非白名单ip的数据包,则禁止网络通信,并发出入侵行为预警;在常规模式下,发往/来自属于白名单ip地址的数据包将会被丢弃,其他ip的数据包被放行;
28.(3)安全模式热切换模块,使安全芯片在安全模式和常规模式下动态切换。
29.(4)身份认证校验模块,进行合法用户的身份认证;
30.所述网络数据处理单元,当安全模式打开的情况下,如果主机需要发送网络数据,网络数据处理单元配置并调用加解密算法控制引擎中的硬件加速功能对数据包载荷进行加密,并对处理后的数据重新计算校验填入包头并发送;当服务器端返回信息时,同样通过调用加解密算法控制引擎,对数据进行解密并校验,最后发送回主机cpu,常规模式下,网络数据处理单元透明,对数据包不进行任何操作。
31.所述噪声源生成器包括将物理现象的某些方面转换为电信号的转换器以及放大器和模数转换器,以将随机波动的幅度增加到可测量的水平,并将输出转换为二进制数字0或1,通过重复采样随机变化的信号,获得一系列真随机数;
32.所述敏感数据隔离擦写模块具备远程擦除功能,若出现设备及芯片丢失情况,能够对用户敏感数据和系统关键数据进行自动擦除,杜绝失泄密情况发生;
33.所述身份认证校验模块中,用户使用个人输入pin,打开安全芯片并接受安全芯片校验,安全校验采用公钥密钥算法对个人pin做公钥加密,发送至安全芯片端进行解密,然后将个人的输入的pin与存储器记录的合法pin进行比较,只有合法用户才能够启动芯片的安全模式,使用芯片的加密解密功能。
34.所述网络安全芯片置于主机cpu与网络硬件模块之间,采用自定义总线连接网络安全芯片中的各个模块,不再采用总线传输对加密模块进行控制,以避免网络安全芯片被旁路窃取信息,实现物理接口的隔离。
35.本发明还可包括异常入侵检测预警模块,所述异常入侵检测预警模块包括:
36.控制模块,用于发出控制信号来改变各部分的工作状态;
37.存储模块,主要包含两部分,一部分用于存放事先设置好的比特向量,另一部分用
于临时存放从总线传递来的待过滤数据;
38.哈希函数组,通过多个哈希函数将接收到的地址映射为对应比特向量的顺序号,即比特数组的下标值,将多个字节压缩为几个比特;
39.决策模块,根据哈希函数组运算结果所得到的顺序号,判断硬件中事先存储好的比特向量的对应位是否为1,根据判断结果作出决策,并将决策通过控制模块输出给控制模块。
40.所述哈希函数组由k个哈希函数组成,当输入端收到待处理的地址时,hash选择信号控制多路选择器依次选择第1到第k个哈希函数,分别计算得到对应的序号,然后输出到存储模块中存放比特向量的部分中,正常工作时只有一个哈希函数组处理单元被使用,其余单元用作备用,当攻击计数器c达到一定阈值时,视为正在受到外部攻击,此时控制信号会发生改变,随机选择备用的哈希函数组处理单元用于验证,或停止工作;
41.所述决策模块中,首先对得到的k个比特值进行求和,求和后判断结果是否为k,如果是,则对应地址在白名单中;否则表示该地址不在白名单中,攻击计数器c加1,计数器达到阈值后向控制模块发出信号表示受到攻击,进而更换另一组哈希函数。
42.与现有技术相比,本发明的有益效果是:
43.1、以较小的内存和计算代价在芯片上设计实现了对设备可访问网络地址的准确控制
44.2、针对上述访问控制技术,攻击者可能会发起碰撞攻击等恶意行为,本发明提出了一系列有效的防护方案。
附图说明
45.图1为基于数据梗概的白名单验证流程。
46.图2为布隆过滤器。(a)布隆过滤器数据结构。(b)布隆过滤器元素插入过程。(c)布隆过滤器元素查询过程。
47.图3为传统网络安全防护系统架构。
48.图4为安全芯片架构。
49.图5为网络安全防护系统架构。
50.图6为硬件总体结构图。
51.图7为隆过滤器算法硬件结构图。
52.图8为单个哈希函数组硬件结构图。
53.图9为多个哈希函数组硬件结构关系图。
54.图10为决策模块的硬件结构图。
55.图11为状态转移图。
具体实施方式
56.下面结合附图和实施例详细说明本发明的实施方式。
57.以下以ip地址的白名单为例,介绍本发明用于网络安全芯片的内外网访问控制方法,ip地址+端口等其他类型的白名单实现方式类似。
58.对于ip地址白名单,使用数据梗概(例如布隆过滤器,基于机器学习的布隆过滤器
等)对其进行压缩存储。与传统方法相比,使用数据梗概的优势在于:
59.(1)数据梗概能够实现对ip地址的压缩存储,节省空间;
60.(2)数据梗概对ip地址的压缩是不可逆的,因此可以实现对白名单的保密;
61.(3)数据梗概能够以很小的存储空间实现很高的查询准确率。
62.基于数据梗概的白名单验证,首先使用数据梗概对ip地址白名单进行压缩存储。考虑到攻击者可能通过哈希碰撞使其ip地址通过白名单验证,本发明使用n个独立的数据梗概对分别对完整的白名单进行压缩存储。在ip连接时,仅使用一个数据梗概进行验证,同时设计攻击计数器c进行辅助判断。初始化c

0。
63.参考图1,在给定使用该芯片的设备对外连接目的ip或者连接目的ip及其对应的端口时,白名单验证过程如下:
64.(1)首先使用一个数据梗概对目的ip进行验证,若目的ip通过验证,则认为该目的ip存在于ip地址白名单中,并允许建立连接,传输数据;
65.(2)若目的ip未通过验证,则认为该目的ip不存在于ip地址白名单中,更新攻击计数器c

c+1;
66.(3)若攻击计数器c的值大于阈值,则随机切换到另一个数据梗概进行验证,或停止芯片的工作。
67.在实际中,本发明使用传统布隆过滤器或后续改进的布隆过滤器作为数据梗概,传统布隆过滤器介绍如下:
68.数据结构:如图2中(a)所示,一个布隆过滤器b由一个长度为m的比特位向量和k个独立的哈希函数h
i
组成,i=1,

,k,比特位向量中每个位b
j
∈{0,1},j=1,

,m,初始化b
j

0,每个独立的哈希函数h
i
能将连接地址x均匀地映射到集合{1,

,m}中的一个数。
69.元素插入:对ip地址白名单中的每一个连接地址x,布隆过滤器b使用k个哈希函数h1,

,h
k
将x映射到比特位向量的k个位置h1(x),

,h
k
(x),并将对应位置的比特值置为1,对同一个位置,布隆过滤器b能够多次将其比特值置为1。布隆过滤器元素插入过程如图2中(b)所示。其中x∈s,s是ip地址白名单列表,ip地址白名单列表中的一个元素即设备可以访问的一个连接地址(目的ip或目的ip及其对应的端口)。
70.元素查询:对待查询连接地址(当前设备想要访问的连接地址)q,布隆过滤器b使用k个哈希函数h1,

,h
k
将q映射到比特位向量的k个位置h1(q),

,h
k
(q),并检查该k个位置的比特值,若h1(q),

,h
k
(q)的比特值均为1,则认为元素q∈s;反之布隆过滤器元素查询过程如图2中(c)所示,对元素q1和q2的查询结果为q1∈s,
71.在此基础上,本发明提供了一种使用所述内外网访问控制方法的网络安全芯片,以求在硬件层面保护敏感数据通信安全。
72.网络安全芯片是实现上述算法的平台,有两种工作模式:安全模式和常规模式,工作模式的选择由物理开关控制。传统网络安全防护系统架构如图3所示,与之对比,本发明网络安全芯片是在硬件层面保护敏感数据通信安全的安全芯片,其设计框架如图4所示,主要包含三个部分:
73.数据安全单元,提供安全的加解密算法以及交互协议。
74.网络安全管控单元,实现敏感数据的隔离、网络访问控制、安全模式热切换、身份
的认证校验。
75.网络数据处理单元,与加解密算法控制引擎进行通信,利用加解密算法控制引擎对当前数据包中的载荷进行加解密,并完成网络协议中的校验。
76.其中,数据安全单元主要包含下列模块:
77.(1)加解密算法控制引擎:包含私钥安全存储,支持私钥ecdh操作,ecdsa签名认证;并提供主流的国密以及商用密码加解密算法控制引擎,包括sm1/sm2/sm3/sm4、rsa、aes等,能够对数据流进行高速加密与还原,适用于不同场景安全需要;
78.(2)授权计数器:对访问加解密算法控制引擎的授权进行不可更改计数,用于辅助判断是否曾经遭受攻击,每次得到授权后进行计数,如果计数器的计数出现了异常,则说明出现了被攻击;
79.(3)噪声源生成器:通过硬件物理方法生成真随机数,提供给加解密算法控制引擎,保障随机数不会泄露;其通常包括将物理现象的某些方面转换为电信号的转换器,放大器和其他电子电路,以将随机波动的幅度增加到可测量的水平,以及某种类型的模数转换器将输出转换为数字,数字通常是简单的二进制数字0或1,通过重复采样随机变化的信号,可以获得一系列随机数。
80.(4)唯一识别号:在芯片出厂后一次烧写不可更改,使得芯片无法复制。在外部破解芯片,读取芯片中加密后的存储内容后,无法复制芯片,从而达到保护授权安全的目的;
81.(5)安全eeprom:用于存储用户私钥,黑白名单,安全服务器证书等高度敏感信息,加密保存,可远程擦除,不可读出片外,使用时需要授权。
82.网络安全管控单元包括四个主要模块:
83.(1)敏感数据隔离擦写模块,在安全模式下,对于用户敏感数据可以转存至安全eeprom或专门开辟的一块地址固定的内存区域(隔离区)中;若出现设备及芯片丢失情况,可以启动远程擦除功能,对用户敏感数据和系统关键数据进行自动擦除,杜绝失泄密情况发生。在常规模式下,敏感数据隔离擦写模块仅将用户敏感数据转存至eerpom,而不再单独开辟隔离区域;
84.(2)网络访问控制模块,设置有黑白名单检测机制,能够过滤网络数据包的ip信息,在安全模式下,仅允许目的ip和目的端口为白名单中ip和端口的数据包进入广域网,如果监测到有来自非白名单ip的数据包,则禁止网络通信,并以红色指示灯和报警器的形式发出入侵行为预警;在常规模式下,发往/来自属于白名单ip地址的数据包将会被丢弃,其他ip的数据包被放行;
85.(3)安全模式热切换模块,可以使安全芯片在安全模式和常规模式下动态切换。本地cpu与加密引擎、eeprom、噪声源发生器及网络安全管控模块之间采用自定义总线连接。
86.(4)身份认证校验模块,进行合法用户的身份认证,用户使用个人输入pin,打开安全芯片并接受安全芯片校验,安全校验可以采用公钥密钥算法来对个人pin做公钥加密,发送至安全芯片端进行解密,然后将个人的输入的pin与存储器记录的合法pin进行比较,只有合法用户才能够启动芯片的安全模式,使用芯片的加密解密功能。
87.网络数据处理单元与加解密算法控制引擎进行通信,利用加解密算法控制引擎对当前数据包中的载荷进行加解密,并完成网络协议中的校验等功能。当安全模式打开的情况下,如果主机需要发送网络数据,网络数据处理单元配置并调用加解密算法控制引擎中
的硬件加速功能对数据包载荷进行加密,并对处理后的数据重新计算校验填入包头并发送;当服务器端返回信息时,同样通过调用加解密算法控制引擎,对数据进行解密并校验,最后发送回主机cpu,常规模式下,网络数据处理单元透明,对数据包不进行任何操作。
88.为了实现网络数据传输的安全防护,针对传统网络安全防护存在的问题,该芯片使用的安全网络架构如图5所示:将网络安全芯片模块置于主机cpu与网络硬件模块之间,采用自定义总线连接网络安全芯片中的各个模块,不再采用总线传输对加密模块进行控制,其优点是避免了网络安全芯片被旁路窃取信息,实现了物理接口的隔离。通过配置对网络流量进行白名单过滤,并且根据模式对流量进行加密与过滤处理。
89.利用网络访问控制模块,可实现异常入侵检测预警,其硬件总体结构如图6所示,包括
90.控制模块(control module),用于发出控制信号来改变各部分的工作状态,例如控制数据读取和写入、函数计算、计时器状态、结果输出等;
91.存储模块(storage module),主要有两部分,一部分用于存放事先设置好的比特向量(bit vector),另一部分用于临时存放从总线传递来的待过滤数据(接收到的地址);
92.哈希函数组(hash function group),是整个硬件的核心部分,其通过多个哈希函数将接收到的地址映射为对应比特向量的顺序号,即比特数组的下标值,将多个字节压缩为几个比特,从而起到节约存储空间的作用;由于哈希函数中主要用到了整数基本运算和整数取余运算,因而硬件部分需要支持相应的运算实现;
93.决策模块(decision module),是产生结果的部分,其主要功能是根据哈希函数组运算结果所得到的顺序号,判断硬件中事先存储好的比特向量的对应位是否为1,根据判断结果作出决策,并将决策通过控制模块输出给控制模块。
94.本发明布隆过滤器的硬件结构图如图7所示,其包括:多路选择器(mux)、哈希函数硬件(hash pe)、比特向量(bit vector),其中多路选择器用于切换两种功能,即向比特向量中写入一个地址或检验一个地址是否在比特向量中,向比特向量中写入地址时,输入地址(address)经过哈希函数运算得到多个序号(index),每个序号对应一个哈希函数,然后将比特向量中各序号对应位置为1,完成对地址的保存;检验一个地址是否在比特向量中时,经过与前述相同的哈希计算过程得到多个序号,然后将比特向量各序号对应位的值输出到决策模块,由决策模块判断该元素是否位于比特向量中,即地址是否位于白名单中,每次判断地址未通过时,攻击计数器c加1;当判断通过时,计数器清零。
95.哈希函数组的硬件结构图如图8所示,该部分表示由k个不同的哈希函数组成的哈希函数组的硬件实现。设x为函数输入,常见整数哈希函数的数学表达式由下式给出:
96.h1=x mod a(a为一个较大的素数)
97.(n为整数,b为介于0到1之间的小数)
98.当输入端收到待处理的地址时,hash选择信号控制多路选择器依次选择第1到第k个哈希函数,分别计算得到对应的序号,然后输出到存储模块中存放比特向量的部分中。当有多个哈希函数组时,不同函数组硬件结构关系如图9所示。其中,每个hash函数组都对应一个图8中的结构。硬件正常工作时只有一个hash函数组处理单元被使用,其余单元用作备用,由控制信号group select选择启用。攻击计数器c较小的时候不会改变当前使用的哈希函数组;而当攻击计数器c达到一定阈值时,可以视为正在受到外部攻击,这时控制信号会
发生改变,随机选择备用的hash函数组处理单元用于验证,或停止工作,从而起到保护的作用。
99.决策模块的硬件结构图如图10所示。这部分主要用于判断地址是否通过,并利用攻击计数器c来识别外来攻击。首先对得到的k个比特值进行求和,求和后判断结果是否为k。由于比特向量中存放的值只能为0或1,当比特向量中所有序号对应位的值都为1时,k个值的和刚好位k,此时该地址在白名单中;当k个值的和不等于k(小于k)时,表示该地址不在白名单中,此时攻击计数器c加1,计数器达到阈值后会向控制部分发出信号表示受到攻击,进而更换另一组哈希函数。无论是地址验证通过或是碰撞计数器达到设定的阈值,计数器都将清零。该部分的状态转移图如图11所示,系统主要包括四个工作状态,即:
100.(1)接收总线传递的待过滤地址信息,并保存在相应的存贮空间;
101.(2)将地址送至哈希函数模块进行多次hash计算,保存结果;
102.(3)利用(2)所得结果和已有名单信息进行校验;
103.(4)返回校验结果并初始化,准备下一次校验。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1