一种SPD访问方法技术

技术编号:8980788 阅读:265 留言:0更新日期:2013-07-31 22:52
本发明专利技术实施例提供一种SPD访问方法,包括:通过预先确定的规则匹配FSA布置当前的规则匹配FSA查找引擎;获取IP数据流的选择符信息,将IP数据流的选择符的各段比特段,依序与各比较器存储的比特段进行匹配;若匹配结束后,比较器组合中存在任一末端比较器的匹配结果为,IP数据流的选择符的比特段与比较器存储的比特段相匹配,则将该末端比较器的端口输出作为状态编码器的输入;通过状态编码器将所述端口输出编码成地址信号指向SPD存储器;通过多字节比较器将指向的SPD存储器中存储的SPD条目与IP数据流进行比较,若匹配,则将SPD中指向SA的地址信号输出,完成SPD访问。本发明专利技术实施例提升了SPD的查找访问速度。

【技术实现步骤摘要】

本专利技术属于因特网安全
,尤其涉及一种SPD (Security PolicyDatabase,安全策略数据库)访问方法。
技术介绍
IPSec (Internet协议安全性)是由ffiTF (Internet工程任务组)提出的基于密码学的安全的开放网络安全协议。它工作在IP层,提供访问控制、无连接的完整性、数据源认证、机密性保护、有限的数据流机密性保护以及抗重放攻击等安全服务,其在网络安全领域得到了广泛的应用。IPSec为了给需要受保护的数据流提供安全服务需要协商SA (SecurityAssociation,安全关联),而SA通过维护安全策略数据库(SF1D)和安全关联数据库(SAD)来实现对数据流的保护。其中sro指定了应用在到达或者来自某特定主机或者网络的数据流的策略。SAD包含每一个SA的参数消息。对于外出包,SPD决定对一个特定的数据包使用什么SA ;对于进入包,SAD决定怎样对特定的数据包做处理。SH)负责维护IPSec策略,区分通信流,确定哪些需要应用IPSec保护,哪些允许绕过IPSec,哪些是需要丢弃的。“保护”(protect)表示对外出或进入的包应用安全服务,同时要求进入的包已应用了安全服务;“绕过(bypass)”表示不对这个包应用安全服务;“丢弃”代表不让这个包进入或离开。sro中包含了一个策略条目的有序列表,对那些定义了“protect”行为的SH)条目,均会指向一个SA或SA集束。IPSec协议要求进入或离开IPSec协议栈的每个包都必须查询SPD。因此,在IPSec处理过程中需要进行大量的SH)查找工作,那么查找速度的快慢将成为IPSec处理数据流效率的瓶颈。目前IPSec安 全策略库的查找技术主要采用软件的方法实现,例如,在Linux2.6内核中,IPSec的sro采用了动态Hash (哈希)表的结构来实现,该算法将选择符作为Hash函数的关键字进行地址映射,采用链式方法解决冲突,该方法性能的优劣很大程度上取决与Hash函数的选取。实际上,这种Hash表的数据结构已经是软件方法所能实现的较高效率的SH)访问了,但是,其对SPD的处理速度也只能达到微妙级的水平,采用软件方法改进数据结构来提高Sro查找速度已经很难了。因此提供一种全新的sro访问方式,以提高查找SPD的速度成为本领域人员亟需解决的问题。
技术实现思路
有鉴于此,本专利技术实施例提供一种sro访问方法,以提高查找SPD的速度。为实现上述目的,本专利技术实施例提供如下技术方案:一种sro访问方法,包括:通过预先确定的规则匹配有限状态机FSA布置当前的规则匹配FSA查找引擎;所述规则匹配FSA为存储有若干段比特段的树形结构数据,一个树形结构数据的节点存储一段比特段;所述规则匹配FSA查找引擎包括比较器组合,状态编码器,缓存设备,sro存储器和多字节比较器,所述比较器组合的比较器组合结构与所述树形结构数据的树形结构对应,各比较器存储有一段比特段,比较器存储的比特段与对应树形结构数据的节点存储的比特段对应;获取IP数据流的选择符信息,所述IP数据流的选择符信息包括若干段的η位比特段,将IP数据流的选择符的各段比特段,依序与各比较器存储的比特段进行匹配,所比较的IP数据流的比特段和比较器存储的比特段的序数相同;若匹配结束后,比较器组合中存在任一末端比较器的匹配结果为,IP数据流的选择符的比特段与比较器存储的比特段相匹配,则将该末端比较器的端口输出作为状态编码器的输入;通过状态编码器将所述端口输出编码成地址信号指向安全策略数据库sro存储器;通过多字节比较器将指向的sro存储器中存储的sro条目与ip数据流进行比较,该IP数据流由缓存设备缓存后输入多字节比较器,若匹配,则将SPD中指向安全关联SA的地址信号输出,完成sro访问。其中,所述预先确定规则匹配FSA的过程包括:选取sro的选 择符的前m位,组成多组选择符字段,每组选择符字段包含有至少一段由η位比特组成的比特段;计算各选择符字段的唯一前缀,根据Ahojorasick算法利用各选择符字段的唯一前缀构建规则匹配FSA,所述唯一前缀为各选择符字段中由第一个比特段开始,至在相同的比特段序数上区别于其他选择符字段的比特段止的区间内所包含的比特段。其中,所述sro的选择符包括源地址和目的地址。其中,所述根据Ahojorasick算法利用各选择符字段的唯一前缀构建规则匹配FSA的过程包括:规则匹配FSA包括根节点和子节点,节点层数与sro的选择符字段的组数对应,在根节点承载各选择符字段的唯一前缀的第一个比特段,各选择符字段的唯一前缀的相同的第一个比特段承载在同一根节点上,各选择符字段的唯一前缀的不同的第一个比特段承载在不同的根节点上;依据各选择符字段的唯一前缀的比特段的递进关系,在各选择符字段的唯一前缀对应的根节点下的子节点上递进的承载各选择符字段的唯一前缀中的其他比特段,一个子节点承载一个序数的比特段,同属于一个根节点的各选择符字段的唯一前缀中的序数相同且内容相同的其他比特段承载在同一子节点上;其中,其他比特段为选择符字段的唯一前缀中除第一个比特段外的比特段,各层节点的最后一个节点称为叶节点,叶节点承载各选择符字段的唯一前缀中区别于其他选择符字段的唯一前缀的比特段。其中,所述比较器组合的比较器组合结构与所述树形结构数据的树形结构对应包括:比较器组合包括根比较器和子比较器,根比较器与子比较器的关系与规则匹配FSA中根节点与子节点的关系一致,子比较器中存在叶比较器,叶比较器与叶节点对应,且各比较器存储有对应规则匹配FSA节点上存入的比特段。其中,所述比较器包括:控制比较器是否可用的使能端ENABLE ;时钟CLK ;复位键RESET ;输入口 INPUT ;输出口 OUT。其中,所述比较器为星号比较器,所述星号比较器包括:控制比较器是否可用的使能端ENABLE ;时钟CLK ;复位键RESET ;输入口 INPUT ;输出口 OUT ;所述使能端ENABLE与输出口 OUT端作或运算。其中,所述将IP数据流的选择符的各段比特段,依序与各比较器存储的比特段进行匹配的过程包括:输入比较器的IP数据流的比特段的序数与比较器所存储的唯一前缀的比特段的序数对应,比较器所存储的比特段与输入的IP数据流的比特段进行匹配;若上级比较器匹配成功,则激活下级匹配路径,在下级比较器中进行比较器所存储的比特段与输入的IP数据流的比特段进行匹配,直至比较器组合中任一末端的比较器的匹配结果为,输入的IP数据流的比特段与比较器所存储的比特段匹配,或直至无法激活下一匹配路径时止。其中,所述输入比较器的IP数据流的比特段的序数与比较器所存储的唯一前缀的比特段的序数对应,比较器所存储的比特段与输入的IP数据流的比特段进行匹配的过程包括:将IP数据流的选择符的第一个比特段,输入存储有唯一前缀的第一个比特段的根比较器中,将IP数据流的选择符的第一个比特段与比较器中存储的唯一前缀的第一个比特段进行匹配; 若匹配成功,激活根比较器下的子比较器,将IP数据流的选择符的第二个比特段,输入存储有唯一前缀的第二个比特段的各子比较器,将IP数据流的选择符的第二个比特段与比较器中存储的唯一前缀的第二个比特段进行匹配;若匹本文档来自技高网
...

【技术保护点】
一种SPD访问方法,其特征在于,包括:通过预先确定的规则匹配有限状态机FSA布置当前的规则匹配FSA查找引擎;所述规则匹配FSA为存储有若干段比特段的树形结构数据,一个树形结构数据的节点存储一段比特段;所述规则匹配FSA查找引擎包括比较器组合,状态编码器,缓存设备,SPD存储器和多字节比较器,所述比较器组合的比较器组合结构与所述树形结构数据的树形结构对应,各比较器存储有一段比特段,比较器存储的比特段与对应树形结构数据的节点存储的比特段对应;获取IP数据流的选择符信息,所述IP数据流的选择符信息包括若干段的n位比特段,将IP数据流的选择符的各段比特段,依序与各比较器存储的比特段进行匹配,所比较的IP数据流的比特段和比较器存储的比特段的序数相同;若匹配结束后,比较器组合中存在任一末端比较器的匹配结果为,IP数据流的选择符的比特段与比较器存储的比特段相匹配,则将该末端比较器的端口输出作为状态编码器的输入;通过状态编码器将所述端口输出编码成地址信号指向安全策略数据库SPD存储器;通过多字节比较器将指向的SPD存储器中存储的SPD条目与IP数据流进行比较,该IP数据流由缓存设备缓存后输入多字节比较器,若匹配,则将SPD中指向安全关联SA的地址信号输出,完成SPD访问。...

【技术特征摘要】
1.一种SF1D访问方法,其特征在于,包括: 通过预先确定的规则匹配有限状态机FSA布置当前的规则匹配FSA查找引擎;所述规则匹配FSA为存储有若干段比特段的树形结构数据,一个树形结构数据的节点存储一段比特段;所述规则匹配FSA查找引擎包括比较器组合,状态编码器,缓存设备,SPD存储器和多字节比较器,所述比较器组合的比较器组合结构与所述树形结构数据的树形结构对应,各比较器存储有一段比特段,比较器存储的比特段与对应树形结构数据的节点存储的比特段对应; 获取IP数据流的选择符信息,所述IP数据流的选择符信息包括若干段的η位比特段,将IP数据流的选择符的各段比特段,依序与各比较器存储的比特段进行匹配,所比较的IP数据流的比特段和比较器存储的比特段的序数相同; 若匹配结束后,比较器组合中存在任一末端比较器的匹配结果为,IP数据流的选择符的比特段与比较器存储的比特段相匹配,则将该末端比较器的端口输出作为状态编码器的输入; 通过状态编码器将所述端口输出编码成地址信号指向安全策略数据库sro存储器; 通过多字节比较器将指向的sro存储器中存储的sro条目与ip数据流进行比较,该ip数据流由缓存设备缓存后输入多字节比较器,若匹配,则将SPD中指向安全关联SA的地址信号输出,完成sro访问。2.根据权利要求1所述的方法,其特征在于,所述预先确定规则匹配FSA的过程包括: 选取sro的选择符的前m位,组成多组选择符字段,每组选择符字段包含有至少一段由 η位比特组成的比特段; 计算各选择符字段的唯一前缀,根据Aho_CoraSick算法利用各选择符字段的唯一前缀构建规则匹配FSA,所述唯一前缀为各选择符字段中由第一个比特段开始,至在相同的比特段序数上区别于其他选择符字段的比特段止的区间内所包含的比特段。3.根据权利要求2所述的方法,其特征在于,所述SPD的选择符包括源地址和目的地址。4.根据权利要求2所述的方法,其特征在于,所述根据Aho_CoraSick算法利用各选择符字段的唯一前缀构建规则匹配FSA的过程包括: 规则匹配FSA包括根节点和子节点,节点层数与sro的选择符字段的组数对应,在根节点承载各选择符字段的唯一前缀的第一个比特段,各选择符字段的唯一前缀的相同的第一个比特段承载在同一根节点上,各选择符字段的唯一前缀的不同的第一个比特段承载在不同的根节点上; 依据各选择符字段的唯一前缀的比特段的递进关系,在各选择符字段的唯一前缀对应的根节点下的子节点上递进的承载各选择符字段的唯一前缀中的其他比特段,一个子节点承载一个序数的比特段,同属于一个根节点的各选择符字段的唯一前缀中的序数相同且内容相同的其他比特段承载在同一子节...

【专利技术属性】
技术研发人员:陈性元杜学绘包义保肖玮曹利峰孙奕
申请(专利权)人:中国人民解放军信息工程大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1