签名特征捕捉系统及方法

文档序号:10655451阅读:497来源:国知局
签名特征捕捉系统及方法
【专利摘要】一种签名特征捕捉系统及方法,包括签名控制模块,签名匹配模块,签名捕捉元件块模块和子模式内存模块;签名控制模块对新签名进行解析编译,并将其更新至签名捕捉元件块模块和子模式内存模块;签名捕捉元件块模块存储每个签名部分的相关信息;子模式存储模块用于存储每个签名的子模式信息;签名匹配模块可根据生成的被检查数据的地址连续访问签名捕捉元件块模块并进行部分匹配,并根据部分匹配结果生成散列地址密钥访问子模式存储模块中的实际签名信息,并将实际签名信息与被检查数据信息进行比较得到最终的匹配结果。其优点是具有签名更新和删除处理功能,具有并行签名匹配的大量签名搜索能力。
【专利说明】
签名特征捕捉系统及方法
技术领域
[0001]本发明涉及签名搜索机制,尤其是指快速签名搜索。【背景技术】
[0002]人们已经发明出许多签名搜索方法,并在系统中使用这些方法,特别是在与互联网网络安全相关的基于深度包检测(DPI)的系统中使用。签名搜索结果的应用是多方面的。 签名搜索方法可使用软件和硬件技术的不同方式来实现。基于硬件和软件的签名搜索方法各有优缺点。随着数据和传输速度的加快,对快速签名搜索方法的需求也变得尤为迫切。由于现在人们会优先选择将许多解决方案,包括网络安全防护的应用程序应用在单个模块或系统中,经济因素也成为了实现签名搜索引擎的关键考虑因素之一。
【发明内容】

[0003]本发明是通过利用类似现场可编程门阵列(FPGA)的硬件技术来实现签名特征搜索系统及方法。签名搜索方法可用于以下目的来提高签名搜索性能。
[0004]本发明提供的技术方案是一种签名特征捕捉系统,其包括签名控制模块,签名匹配模块,签名捕捉元件块模块和子模式内存模块;所述签名控制模块对新签名进行解析编译,并将其更新至所述签名捕捉元件块模块和子模式内存模块;所述签名捕捉元件块模块为预过滤装置,存储有每个签名部分的每个相关信息,以供初步筛选匹配;所述子模式存储模块用于存储每个签名的子模式信息;所述签名匹配模块可根据生成的被检查数据的地址连续访问所述签名捕捉元件块模块并进行部分匹配,并根据所述部分匹配结果生成散列地址密钥访问所述子模式存储模块中的实际签名信息,并将实际签名信息与被检查数据信息进行比较,得到最终的匹配结果。
[0005]所述签名控制模块包括签名表模块,签名分区模块,子模式掩蔽模块,子模式指标选择模块,签名捕捉元件块选择模块,子模式存储地址分配模块,以及签名更新控制模块; 所述签名表模块接收新签名,并根据
[0006]接收到的所述签名更新控制模块的签名可更新信号,将新签名发送至所述签名分区模块划分签名子模式;签名掩蔽模块对接收到的签名子模式分配密钥,并将该密钥发送至子模式指标选择模块生成访问地址发送至签名捕捉元件块选择模块,使其通过访问地址访问签名捕捉元件块模块并获得SCB访问结果;签名捕捉元件块选择模块将该访问结果信息发送至子模式存储地址分配模块生成散列地址访问子模式内存模块获得SMM访问结果并将该SMM访问结果反馈给签名捕捉元件块选择模块;签名捕捉元件块选择模块将生成的 SCB-SMM访问结果反馈给子模式掩蔽模块,子模式掩蔽模块根据接收到SCB-SMM访问结果生成子模式更新结果,并将其分别发送至签名分区模块和签名更新控制模块;当子模式更新结果为肯定时,签名更新控制模块发送签名更新信号至签名表模块,同时发送更新控制信号至签名捕捉元件块模块和子模式内存模块进行相应的签名更新存储;当子模式更新结构为否定时,则签名更新控制模块发出不能更新控制信号,同时,签名分区模块对签名进行重新划分子模并重复执行后续动作。所述签名表模块包括签名FIFO模块,用于签名数据的按序执行。
[0007]所述签名分区模块将签名以设定字节长度划分为数个签名子模式,第一个签名子模式至倒数第二个签名子模式的长度相同,最后一个签名子模式的长度等于或小于第一个签名子模式长度;当划分的签名子模式不可更新时,需调整设定字节长度进行重新划分。
[0008]所述子模式掩蔽模块对接收到的签名子模式进行掩模生成签名子模式密钥,并将其发送至子模式指示器选择模块进行散列生成子模式指标;根据接收自签名捕捉元件块选择模块的访问结果,决定是否对签名子模式启动下一组掩模进行更新处理。
[0009]所述签名捕捉元件块选择模块包括子模式指示选择器,SCB_SMM分配处理器和签名捕捉元件块模块输出处理器;子模式指示选择器通过接收自子模式指示选择模块的子模式指标访问签名捕捉元件块模块生成SCB访问结果;签名捕捉元件块输出处理器将接收到的访问分配结果中继至子模式存储地址分配模块生成分配状态;当分配状态是肯定的,子模式存储地址分配模块生成地址,访问子模式内存模检查内存空间的可用性生成SMM访问结果,SCB_SMM分配处理器根据SMM访问结果生成SCB-SMM访问结果,并将其发送到子模式掩蔽模块。
[0010]所述签名捕捉元件块模块包括SCB写控制器,SCB更新器、SMM读取控制器及签名捕捉元件块;签名捕捉元件块选择模块通过子模式指标访问SCB写控制器生成SCB访问结果; SCB更新器根据接收到的签名更新控制模块发送的SCB更新控制信号,访问签名捕捉元件块中的签名捕捉元件的地址,并在签名捕捉元件中的存储空间要写入的关联更新值;SCB读取控制器根据来自签名匹配模块的访问请求访问指定签名捕捉元件块,并生成SCB读取结果反馈给签名匹配模块。
[0011]所述签名匹配模块包括数据输入FIFO模块,数据分区模块,数据子模式指标发生模块,签名捕捉元件块匹配模块,子模式匹配模块和签名匹配决策模块;所述数据输入FIFO 模块接收并存储输入的检索数据,并受控于所述签名匹配决策模块发送的数据读取控制信号以决定是否将存储的检索数据发送至所述数据分区模块,所述数据分区模块将接收到的检索数据划分为数个数据子模式,所述数据子模式的类别取决于签名捕捉元件块模块中使用的签名捕捉元件块的类别;所述数据子模式指标发生模块依据同所述子模式指标选择模块生成子模式指标相同的方法生成数据子模式指标;所述签名捕捉元件块匹配模块通过数据子模式指标访问签名捕捉元件块模块,当访问结果为匹配时,则访问结果与数据子模式合并作为部分匹配结果发送至所述子模式匹配模块,同时所述数据子模式窗口化;所述子模式匹配模块根据所述部分匹配结果生成散列地址访问所述子模式内存模块检索实际签名子模式;所述签名匹配决策模块将数据子模式与检索到的签名子模式进行对比得到最终匹配结果。
[0012]—种签名特征捕捉方法,其步骤如下:首先对接收到的新签名进行解析编译,将新签名划分为设定长度的数个签名子模式,并对签名子模式掩模处理生成密钥,将其更新至签名捕捉元件块模块中;对签名子模式密钥进行散列处理并将其更新存储至子模式内存模块中;其次,将接收到检索数据按照新签名的解析编译方法进行解析编译,得到数个数据子模式及访问密钥,通过访问密钥访问签名捕捉元件块模块获得初步匹配结果,初步匹配结果中包含有数据子模式;同时将数据子模式窗口化;对初步匹配结果进行与签名子模式密钥散列处理相同的方法进行散列处理访问子模式内存模块得到实际签名子模式;然后将检索数据子模式与实际签名子模式对比获得最终匹配结果。
[0013]本发明的签名捕捉元件被设计作为预过滤装置。签名捕捉元件块,即一组多个签名捕捉元件,可以筛选所有数据,以此来捕捉感兴趣的签名的相关性。表明签名部分的每个相关性的信息保存在签名捕捉元件块,并连续地通过被检查数据部分所产生的地址访问。 用和相关签名更新至签名捕捉元件块中一样的方式,从数据中获得用来访问签名捕捉元件块的地址。利用用于处理数据的计时器,每次数据移位的时候签名捕捉元件块就会被访问。 签名捕捉元件块筛选出签名的一些部分后,部分匹配的数据被标记,并存储在缓冲区进行进一步的签名修饰匹配处理。比较标记部分与签名的实际部分,它们都是签名的子模式,存储在签名子模式内存中,其中子模式内存由多个签名捕捉元件共享,这些签名捕捉元件组成了一个签名捕捉元件块。在检测多个签名子模式之后,才能做出完整的签名匹配决定。 [〇〇14]签名捕捉元件是一组小容量存储器,与子模式相关的具体信息存储在其中。签名捕捉元件的存储空间中的每个元件的使用次数是有限的,这个有限的次数可以用于控制潜在正面预过滤筛选结果的出现,这可能会降低整个签名搜索处理的性能。当更新一个签名时,相关计数将递增,当移除一个签名时,计数将递减。此功能将被有效地用于逐个更新和删除签名。
[0015]本发明的签名特征捕捉系统的优点在于:具有签名更新和删除处理功能;利用硬件设计实现快速签名搜索;具有并行签名匹配的大量签名搜索能力;同时实现最大化可用内存。【附图说明】
[0016]图1,签名特征捕捉系统的顶层结构示意图。
[0017]图2,签名特征捕捉系统的概念性框图。
[0018]图3,签名控制模块100的结构关系图。
[0019]图4,签名表模块510的示意图。
[0020]图5,是签名分区模块520示意图。[0〇21]图6,掩蔽模块子模式530不意图。[〇〇22]图7,子模式指标生成的流程图。
[0023]图8,签名捕捉元件块选择模块和签名捕捉元件块模块300之间的函数关系图。 [〇〇24]图9,三种不同类型的签名捕捉元件块的示意图。
[0025]图10,签名捕捉元件块与签名捕捉元件的关系示意图。[〇〇26]图11,展示了签名捕捉元件块模块300的结构示意图。[〇〇27]图12,子模式存储地址分配模块560和子模式存储内存模块400之间的关系示意图。[〇〇28]图13,签名匹配模块200的详细框图。[〇〇29]图14,数据输入FIFO模块210结构示意图。
[0030]图15,数据子模式92在数据分区模块生成的方法示意图。[〇〇31]图16,数据子模式指标93在数据子模式指标生成模块中生成的方法示意图。[〇〇32]图17,展示了签名捕捉元件块模块300和签名捕捉元件匹配模块240之间的关系示意图。
[0033]图18,子模式存储内存模块400,子模式修饰匹配模块250和签名匹配决策模块260 之间的关系不意图。[〇〇34]图19,子模式修饰匹配模块250和签字匹配决策模块260之间的关系示意图。【具体实施方式】
[0035]根据上述技术方案,现举例进行具体说明。参照与本发明相关的图解,用于签名特征捕捉引擎的签名搜索的系统结构及方法的详述如下。首先,对于本文中的缩写进行定义。
[0036]SCE(Signature Capturing Element)签名捕捉元件;SCB(Signature Capturing Element Block)签名捕捉元件块;SMM(Subpattern Memory Module);子模式存储模块。 [〇〇37]参看图1和图2,签名特征捕捉引擎是由签名控制模块100,签名匹配模块200,签名捕捉元件块模块300和子模式内存模块400组成。
[0038]签名特征捕捉引擎将被用于从连续的数据流中检测签名子模式。该签名被签名控制模块1〇〇接收,然后在签名控制模块中进行解析编译,以便编译签名信息可更新到签名捕捉元件块模块300和子模式内存模块400中。在签名控制模块100,签名将被划分成多个长度不同的子模式,每个子模式将被处理以产生多个密钥,即掩蔽子模式。这些密钥将被用作签名捕捉元件块模块300中签名捕捉元件的地址。该密钥由每个子模式的特定部分组合而成, 不采取其他散列处理方式。从局部子模式的字符中选择出的这部分传递子模式字符间的相关性,进一步承担原始的签名信息。密钥的数量取决于子模式的大小。[〇〇39]签名捕捉元件块模块300有一组小容量内存,即签名捕捉元件,签名捕捉元件的密钥应用的地址位和相关的存储空间用于保存在签名控制模块100中编译的子模式的具体信息。在签名控制模块100生成的多个密钥被用作签名捕捉元件的地址。密钥指向的签名捕捉元件的每个存储空间具有其最大使用限制。当达到一个特定的使用限制后,相关的密钥就不能被用于其它子模式的预过滤过程。这一功能也可用于在不影响其他被存储的签名信息的同时,逐个更新和移除签名,被储存的签名信息也可以反应一部分的其他签名的信息。
[0040]子模式内存模块400根据在签名捕捉元件块模块300中签名捕捉元件块的的数量划分成多个空间。子模式内存模块400的总内存空间,最好是非常大的,可划分为等同于在签名捕捉元件块模块300中签名捕捉元件块的的数量。散列机制可用于关联签名捕捉元件块模块300中的签名捕捉元件块和子模式内存模块400中的分离的内存空间。基于所需的操作速度,子模式内存模块400的分离的内存空间的散列地址可以在多个签名子模式中应用, 这些签名子模式中部分存储的信息与签名捕捉元件块模块300相匹配。通过应用特定碰撞处理策略,散列地址可用于多入口子模式及其相关的其它信息。存储位置分配过程的发生是基于签名捕捉元件块模块300和子模式内存模块400存储空间的可用性。[〇〇41]由签名控制模块100将签名更新至签名捕捉元件块模块300和子模式内存模块400 之后,当实际数据被应用到签名匹配模块200时,签名匹配模块200就开始通过访问签名捕捉元件块模块300和子模式内存模块400进行连续的匹配过程。这些密钥是从被搜索的原始数据中生成,以此来平行访问所有签名捕捉元件块模块300中的签名捕捉元件块。当签名捕捉元件块中的签名捕捉元件中同时发生积极的部分匹配时,该部分数据将被窗口化和被捕捉从而生成一个散列地址来访问子模式内存模块400。通过将被访问的子模式信息和被窗口化的部分信息进行对比,就会生成签名子模式匹配结果。一个签名的连续匹配结果会指向完整的匹配结果。
[0042]参考图3,签名控制模块100由签名表模块510,签名分区模块5 20,子模式掩蔽模块 530,子模式指标选择模块540,签名捕捉元件块选择模块550,子模式存储地址分配模块 560,以及签名更新控制模块570组成。,在更新签名之前,签名表模块510临时保存输入至签名控制模块100的签名。
[0043]当来自签名更新控制模块570的签名更新可用性11信号表明,可以更新签名了,签名表模块510中的签名作为一个新签名12会被传递至签名分区模块520进行签名子模式划分,每个新签名的长度大于或者等于4。
[0044]在签名分区模块520中一个长k字节的签名会被划分成N个签名子模式13。第一个子模式的子模式长度(SPL)将是M字节,最后一个(第N个)子模式的子模式长度(SPL)将等于或小于M字节。来自子模式掩蔽模块530的子模式更新结果24信号将指示,在下一个模块中的后续签名被更新处理之后,已完成的签名分区是否是可以接受的。子模式更新结果24包含了四个模块的结果:子模式掩蔽模块530,子模式指标选择模块540,签名捕捉元件选择模块550和子模式存储地址分配模块560。
[0045]来自签名分区模块520的签名子模式13被发送至子模式掩蔽模块530,子模式掩蔽模块530将掩模分配到子模式的一组相邻字节作为掩蔽子模式14,掩蔽子模式14做为每个签名子模式13的密钥字节。此掩蔽子模式14将被发送到子模式指标选择模块540 个不同掩蔽子模式14将试图找到签名捕捉元件块模块300和子模式内存模块400中的存储空间。这些内存分配试验的结果将经由SCB_SMM分配结果23信号来报道。
[0046]每个子模式更新进程的结果将通过从签名捕捉元件块选择模块550中的SCB_SMM 分配结果23信号展示。所有N个签名子模式更新的结果,即N个SCB_SMM分配结果23信号自签名捕捉元件块选择模块550发送至子模式掩蔽模块530,在子模式掩蔽模块530中被处理以生成子模式更新结果24的信号。子模式更新结果24信号将会被发送到签名分区模块520和签名更新控制模块570。[〇〇47]来自子模式掩蔽模块530的所有签名子模式13的子模式更新结果24的信号应当是肯定的,如此一来签名更新可用性11信号就会变为肯定的,这表明另一个签名更新可以开始了。在签名更新控制模块570已经完成相关的更新过程之后,新签名12从签名表模块510 就会实际转移到签名分区模块520。只有在这种情况下签名更新控制模块570才会采用SCB 更新控制信号25和SMM更新控制信号26的信息,将有关N个签名子模式的信息更新到签名捕捉元件块模块300和子模式存储内存模块400中。SCB更新控制信号25将由地址,数据,和签名捕捉元件块模块300中相关签名捕捉元件的允许写入的信号组成。SMM更新控制信号26也将由地址,数据,和更新N个签名子模式13的允许写入的信号组成。
[0048]如果至少一个签名子模式13不能被更新,签名分区模块520将加长签名子模式13 的另一个例程中的掩蔽子模式14,比如最初子模式长度为4,当其不能被更新时,则调整子模式长度为8。
[0049]在子模式掩蔽模块530中,M个字节被选为每个签名子模式13的密钥字节。即,用于掩蔽的字节数为M,可以有J种掩模,其中J为(S+1-M)。因此,如果掩模的长度M等于子模式的长度S,J等于1。
[0050]当来自签名捕捉元件块选择模块550的SCB-SMM分配结果23信号表明:子模式不能被更新,子模式掩蔽模块530会选择其他的掩模。如果SCB_SMM分配结果23表明该子模式不能被更新J次,子模式更新结果24将指示签名分区模块520将签名分配成不同长度的S。
[0051]从子模式的掩蔽密钥字节,子模式指示选择模块540生成子模式指标15。子模式指标15的长度为F比特。子模式指标15从子模式密钥字节的掩蔽区位的比特组合,可以有J种不同的子模式指标15。[〇〇52]签名捕捉元件块选择模块550使用子模式指标15作为签名捕捉元件块模块300的存储器地址,访问签名捕捉元件块模块300。此步骤是通过SCB分配请求16启动。当签名捕捉元件块模块300可以通过第J个子模式指标15指定的存储位置分配地址空间时,签名捕捉元件块模块300,使相关SCB分配请求结果17信号变为肯定。否则,SCB分配请求结果17将变成否定。当第J个SCB分配请求16的SCB分配请求结果17信号变为肯定时,签名捕捉元件块选择模块550,使SCB分配状态18为肯定,并将其馈送到子模式寄存地址分配模块560。基于散列方法,生成一个地址,向子模式内存模块400发送一个有效的子模式存储请求19。[0〇53]在子模式内存模块400,为子模式检查存储空间的可用性,以产生肯定的子模式存储结果20的信号。基于所述子模式的存储空间的可用性,将产生的SMM分配结果21信号,发送到签名捕捉元件块选择模块550。[〇〇54]根据SCB分配请求结果17和SMM分配结果21,签名捕捉元件块选择模块550将产生 SCB_SMM分配结果23,并将其发送到子模式掩蔽模块530。如果SMM分配结果21为肯定的,子模式掩蔽模块530接下来将掩蔽子模式14发送到子模式指示选择模块540,进入签名另一个子模式更新进程。如果SCB分配请求结果17是否定的,子模式掩蔽模块530分配给从签名分区模块520收到的当前签名子模式13下一个可用的掩模,接着另一子模式更新过程开始。
[0055]在一个更新签名12的所有进程中,每个进程的结果都通知给签名更新控制模块 570。当签名更新控制模块570检测到出现了N个积极的SMM分配结果21时,则会发出带有SCB 更新控制25和SMM更新控制26的信号,开始更新签名捕捉元件块模块300和子模式内存模块 400。如果签名更新控制模块570识别出新签名12不能被更新到签名捕捉元件块模块300或子模式内存模块400,它会产生无法更新27信号。[〇〇56]图4为签名表模块510结构,其有一个签名FIF0511,在签名更新过程开始之前临时存储签名。存储签名的同时也会存储其附加信息,诸如签名ID和签名长度,(签名ID: SID,签名长度:K)。当签名更新可用性11信号指示一个签名可以被编译和更新,带有签名ID(SID) 和签名长度(K)值的签名会被发送到签名分区模块520作为一个新签名12。[〇〇57]图5为签名分区模块520结构,签名分区模块520接收到一个签名,该签名会与从签名表模块510收到的SID和K值一起更新。在签名分区模块520,签名将被分为4,8和16字节的签名子模式13。在此状态下,每个更新签名12将被划分成多个签名子模式13。当一个签名被分成多个子模式时,每个子模式将被赋予数值,指明子模式的的长度和顺序,子模式签名的指示位置数。签名子模式包含以下值:
[0058]SID:签名 ID
[0059]K:签名长度 [〇〇6〇] SPL:子模式长度
[0061] N:子模式数目
[0062]签名分区模块520接收子模式更新结果24,该更新结果是子模式掩蔽模块530,子模式指示选择模块540,签名捕捉元件块选择模块550,和子模式存储地址分配模块560的复合处理的结果。[〇〇63]基于从子模式更新结果24的信息,签名被分为不同长度段。例如,如果使用SPL = 4 将一个新签名12分成多个签名子模式13,并且子模式更新结果24被确定是否定的,则可以使用新的S长度,S卩SPL = 8划分该新签名12,等等。
[0064]图6为子模式掩蔽模块530的结构及工作框图,子模式掩蔽模块530执行选择签名子模式13的连续部分,以便子模式指标15可在子模式指示选择模块540中进行选择。多个尺寸的掩模可被应用,例如4和8,这样4或8个连续的字节可以被选择以生成J个掩蔽子模式 14,如图6所示。当签名子模式13具有相关信息:310 = 2,1(=16,3?1 = 8 4 = 2和11=4时,可以有5个掩蔽子模式14。对于这个特定的签名子模式13, J值是5<J表示有多少掩蔽子模式14可以存在。一般每个签名子模式13第一掩模(J=l)将首先应用在签名控制模块100进行的其他签名更新过程。其他进程的结果是由SCB_SMM分配结果23信号通知。如果结果是否定的, 下一个掩蔽子模式14将被用于产生子模式指标15。SCB_SMM分配结果23携带子模式掩蔽模块530,子模式指示选择模块540,签名捕捉元件块选择模块550,和子模式存储地址分配模块560中的组合结果,根据从SCB_SMM分配结果23收集到的信息,生成一个子模式更新结果 24,并发送至签名分区模块520和签名更新控制模块570。
[0065]图7展示了每个16位的子模式指指标15是如何从多个给定的掩蔽子模式14中散列产生的。其中一个掩蔽子模式的参数值:SID = 1,K = 13,SPL = 4,N=1,M=4^J = 1。
[0066]另一个掩蔽子模式的参数值:SID = 3,k = 20,SPL=16,N=1,M = 8^J = 9。
[0067]图8展示了签名捕捉元件块选择模块550和签名捕捉元件块模块300之间的关系。 签名捕捉元件块选择模块550由子模式指示选择器551,SCB_SMM分配处理器552和签名捕捉元件块模块输出处理器553组成。子模式指示选择器551把子模式指示选择模块540的子模式指标15与签名捕捉元件块模块300的签名捕捉元件块连接起来。在图8中,例如,由于子模式指标为8字节掩蔽子模式14生成,9个子模式指标15用于访问相关签名捕捉元件内存空间,作为SCB分配请求16信号的一部分。当这些存储器被访问,从被寻址的存储器空间读出的数据将被用作SCB分配请求结果17的信号。SCB分配请求结果17信号将被发送到签名捕捉元件块输出处理器553。然后签名捕捉元件块模块输出处理器553将中继该信息到子模式存储地址分配模块560,作为SCB分配状态18。当SCB分配状态是肯定的,子模式存储地址分配模块560生成地址,访问子模式内存模块400,检查内存空间的可用性,保持签名子模式13。 这个过程的结果被返回到签名捕捉元件块选择模块550,作为SMM分配结果21。当SMM分配结果21是肯定的,SCB_SMM分配处理程序552将产生SCB_SMM分配结果23信号,并将其发送到子模式掩蔽模块530。之后同样的过程执行N次,SMM分配结果21表明内存可用空间N次,签名更新控制模块570开始更新签名捕捉元件块模块300和子模式内存模块400。在图8中,SCB更新控制25信号被用于初始化签名捕捉元件存储器,更新输入,包括地址(子模式指标15),输入数据,和使能信号。[〇〇68]图9为签名捕捉元件块模块300中的签名捕捉元件块的结构。在图9中,呈现了三种不同类型的签名捕捉元件块(310、320、330)。16字节的签名子模式13(使用8字节掩蔽子模式14)需要9个签名捕捉元件,S卩9个不同的子模式指标15被用作寻址输入。其他两个签名捕捉元件块是1^1 = 8,]/[ = 4,1 = 4]和[3?1 = 4,]/[ = 4,1 = 4]。图9中的签名捕捉元件块被选择为用于三组不同的子模式指器15。在实际应用中,可使用更多签名捕捉元件块。图10显示了签名捕捉元件块与签名捕捉元件之间的关系。以签名捕捉元件块310及签名捕捉元件340举例,该签名捕捉元件块是一个带有3?1=161 = 8,1 = 9等信息的签名子模式13。该签名子模式13的数据信息是通过签名更新控制模块570传输SCB更新控制25的信号至签名捕捉原件块模块300进行数据和存储地址更新。SCB更新控制25信号也将发送关于D0和D1的信息,该信息被存储在签名捕捉元件的存储空间中,如图10所示。D0的值将表明该存储器空间被用于签名子模式,具有信息SPL = 16,M = 8,和J = 9。D1的值已经被处理,并在签名更新控制模块570定义D1的值,在N个子模式更新结果[24]被报告给签名更新控制模块570之后,将指示该存储空间可用于其他签名子模式13的次数。[〇〇69]图11描绘了签名捕捉元件块模块300的结构。签名捕捉元件块模块300包括SCB写控制器301,SCB更新器302、SMM读取控制器303及签名捕捉元件块(以图9中的3中不同类型签名捕捉原件块为例),SCB写控制器301通过SCB分配请求16和SCB分配请求结果17信号,接口签名捕捉元件块选择模块550。如图8和图10中所展示和描述的,SCB分配请求16和SCB分配请求结果17的操作将通知签名更新控制模块器570:—个在签名捕捉元件块模块中的特定的签名捕捉元件块300可用于更新。在签名更新控制模块器570处理过的结果包括SPL,M, J等信息,是SCB更新控制25的信号。当SCB更新器302接收SCB更新控制器25的信号,这将把 SCB更新控制器25的信号分配到数据组,来找到特定签名捕捉元件块,访问签名捕捉元件块中的签名捕捉元件的地址,和在签名捕捉元件中的存储空间要写入的关联更新值。SCB读取控制器303连接来自签名匹配模块200的信号。当来自签名匹配模块200的SCB读取访问55被施加到签名捕捉元件块模块300时,SCB读控制器器303会将上述访问连接到指定签名捕捉元件块,访问结果将由SCB读控制器器303处理,生成SCB读取结果56反馈给签名匹配模块 200 〇[〇〇7〇]图12显示了子模式存储地址分配模块560和子模式内存模块400之间的关系。当签名捕捉元件块选择模块550表明:当子模式内存模块400通过积极的SCB分配状态器18进行存储空间可用性搜索时,子模式存储地址分配模块560将产生子模式存储请求19,该请求是在所提供的子模式指标15上的散列结果的访问地址。然后,访问结果将是子模式存储结果 20,其中子模式,SID,K,SPL,N,M和J的信息都可以找到。当返回值导致一个决定,即当前未使用内存空间时,子模式存储地址分配模块560将产生积极的SMM分配结果21,这样的结果将通知签名更新控制模块器570:签名子模式13可以存储在子模式内存模块400中。积极的 SMM分配结果21被子模式存储地址分配模块肯定N次后,签名更新控制模块器570将发出SMM 更新控制26信号发送给子模式内存模块400,更新识别存储器空间的相关信息。
[0071]用于子模式内存模块400的存储空间可以被几种不同的方式来调整签名的数量和签名的特性。在图12中,显示每个签名捕捉元件块占用特定的存储器空间。[〇〇72]图13为签名匹配模块200的结构关系图。签名匹配模块200接收连续数据流,把输入数据与存储在签名捕捉元件块模块300和子模式存储内存模块400的签名信息进行比较, 来检测签名。签名匹配模块200以与签名控制模块100把签名更新的同样方式,处理输入数据。[〇〇73]签名匹配模块200包括数据输入FIFO模块210,数据分区模块220,数据子模式指标发生模块230,签名捕捉元件块匹配模块240,子模式匹配模块250和签名匹配决策模块260。 [〇〇74]图14为数据输入FIFO模块210的结构示意图。数据输入FIFO模块210包括数据输入 FIFO模块211和FIFO读/写控制模块212。数据输入FIFO模块211将收到的需搜索的新数据进行存储,在该数据被读出前,受控于数据读取控制96。[〇〇75]数据读取控制96的信号是由签名匹配决策模块260生成的,其显示签名匹配决策模块260是否太忙,而无法启动从数据输入FIFO模块210读取新数据的工作。签名匹配决策模块260将生成的数据读取控制96的信号发送至FIFO读/写控制模块212,由FIFO读/写控制模块212根据接收到读取控制信号,决定是否从数据输入FIFO模块211中读取新数据,并将读取的新数据发送到数据分区模块220,作为检索数据91。
[0076]图15为数据分区模块220进行数据子模式划分示意图。数据分区模块220收到来自数据输入FIFO模块210的检索数据91,将检索数据91进行数据子模式划分。只要它开始接收一个新的数据流,就会生成数组不同的数据子模式92,数据子模式92的类别取决于签名捕捉元件块模块300中使用的签名捕捉元件块的类别。
[0077]如果签名控制模块 100 使用[(SPL = 4,M=4),(SPL = 8,M = 4)jP(SPL=16,M = 8)] 的组合来更新签名,数据分区模块220将根据M值产生数据子模式指标93,为数据子模式指标发生模块230生成两组不同的数据子模式92。[〇〇78]在图15中,产生了4个字节的长度和8字节长度数据子模式92。这些数据子模式92 的内容会伴随每一个时钟滴答而改变。因此,每个时钟周期将产生新的数据子模式92。 [〇〇79]图16为在数据子模式指标发生模块230中,数据子模式92生成数据子模式指标93 的过程示意图。数据子模式指标发生模块230采用与子模式指标选择模块540生成子模式指标15相同的过程,生成数据子模式指标93。数据子模式92数值为SPL = 4和8,M=4。
[0080]图17描述了签名捕捉元件块模块300和签名捕捉元件块匹配模块240之间的相互作用关系。签名捕捉元件块匹配模块240包括DHA分配器241和SCB输出处理器242。当DHA分配器241接收到一组有效的数据散列地址,即数据子模式指标93时,则生成SCB读取地址55 信号,通过SCB读取地址55信号访问不同的签名捕捉元件块(310、320、330),然后可获取三种不同的读出结果,如图17所示。在这个例子中,SCB读取结果56将由SCB16-8读取结果,SCB 8-4读取结果,和SCB4-4的读取结果构成。当SCB输出处理器接收到SCB读取结果56的信号, 并认为所有值都很高,这意味着数据子模式指标93和SCB读取结果56会产生初步的匹配,使 SCB读取结果56与数据子模式指标93的数据合并,并将合并结果发送给子模式匹配模块250 进行进一步匹配,SCB读取结果56与数据子模式指标93的数据合并结果作为SCB匹配结果94 的部分信号。同时,生成数据子模式指标93的数据子模式92也被包括在SCB匹配结果94中。 当SCB读取结果56表现为肯定,即发生了部分匹配时,数据子模式92保存在缓冲区,并将数据子模式92窗口化。[〇〇81]图18显示了子模式内存模块400和子模式匹配模块250之间的关系示意图。子模式匹配模块250包括SMM地址散列模块251和SMM子模式匹配模块252。[〇〇82] SMM地址散列模块251接收到SCB匹配结果94,将SCB匹配结果94中的数据散列地址 DHA米用子模式存储地址分配模块560同样的方式进行散列。在SMM地址散列模块251中生成散列密钥,并向子模式内存模块400发出SMM读取请求57。同时,当SMM子模式匹配模块252从子模式内存模块400接收到SMM读取结果58时,它会与收到的经历适当的时间延迟的数据子模式92进行比较。如果存在匹配,那么来自SMM读取结果58的信息,例如SID,K,SPL等,作为 SMM匹配结果95的信号将被发送到签名匹配决策模块260中。[〇〇83]图19为签名匹配决策模块260工作示意图。签名匹配决策模块260包括签名ID匹配 261和其他匹配262。当签名匹配决策模块260从子模式匹配模块250接收到SMM匹配结果95, 将该结果的内容分别发送至签名ID匹配261和其他匹配262中进行对比,检查当前报告是否与先前检测到的数据子模式相关。通过比较签名ID以及其他限制,将最终做出确定的签名匹配结果97。
【主权项】
1.一种签名特征捕捉系统,其包括签名控制模块,签名匹配模块,签名捕捉元件块模块 和子模式内存模块;所述签名控制模块对新签名进行解析编译,并将其更新至所述签名捕 捉元件块模块和子模式内存模块;所述签名捕捉元件块模块为预过滤装置,存储有每个签 名部分的每个相关信息,以供初步筛选匹配;所述子模式存储模块用于存储每个签名的子 模式信息;所述签名匹配模块可根据生成的被检查数据的地址连续访问所述签名捕捉元件 块模块并进行部分匹配,并根据所述部分匹配结果生成散列地址密钥访问所述子模式存储 模块中的实际签名信息,并将实际签名信息与被检查数据信息进行比较,得到最终的匹配 结果。2.根据权利要求1所述的签名特征捕捉系统,其特征在于所述签名控制模块包括签名 表模块,签名分区模块,子模式掩蔽模块,子模式指标选择模块,签名捕捉元件块选择模块, 子模式存储地址分配模块,以及签名更新控制模块;所述签名表模块接收新签名,并根据接 收到的所述签名更新控制模块的签名可更新信号,将新签名发送至所述签名分区模块划分 签名子模式;签名掩蔽模块对接收到的签名子模式分配密钥,并将该密钥发送至子模式指 标选择模块生成访问地址发送至签名捕捉元件块选择模块,使其通过访问地址访问签名捕 捉元件块模块并获得SCB访问结果;签名捕捉元件块选择模块将该访问结果信息发送至子 模式存储地址分配模块生成散列地址访问子模式内存模块获得SMM访问结果并将该SMM访 问结果反馈给签名捕捉元件块选择模块;签名捕捉元件块选择模块将生成的SCB-SMM访问 结果反馈给子模式掩蔽模块,子模式掩蔽模块根据接收到SCB-SMM访问结果生成子模式更 新结果,并将其分别发送至签名分区模块和签名更新控制模块;当子模式更新结果为肯定 时,签名更新控制模块发送签名更新信号至签名表模块,同时发送更新控制信号至签名捕 捉元件块模块和子模式内存模块进行相应的签名更新存储;当子模式更新结构为否定时, 则签名更新控制模块发出不能更新控制信号,同时,签名分区模块对签名进行重新划分子 模并重复执行后续动作。3.根据权利要求2所述的签名特征捕捉系统,其特征在于所述签名表模块包括签名 FIFO模块,用于签名数据的按序执行。4.根据权利要求3所述的签名特征捕捉系统,其特征在于所述签名分区模块将签名以 设定字节长度划分为数个签名子模式,第一个签名子模式至倒数第二个签名子模式的长度 相同,最后一个签名子模式的长度等于或小于第一个签名子模式长度;当划分的签名子模 式不可更新时,需调整设定字节长度进行重新划分。5.根据权利要求4所述的签名特征捕捉系统,其特征在于所述子模式掩蔽模块对接收 到的签名子模式进行掩模生成签名子模式密钥,并将其发送至子模式指示器选择模块进行 散列生成子模式指标;根据接收自签名捕捉元件块选择模块的访问结果,决定是否对签名 子模式启动下一组掩模进行更新处理。6.根据权利要求5所述的签名特征捕捉系统,其特征在于所述签名捕捉元件块选择模 块包括子模式指示选择器,SCB_SMM分配处理器和签名捕捉元件块模块输出处理器;子模式 指示选择器通过接收自子模式指示选择模块的子模式指标访问签名捕捉元件块模块生成 SCB访问结果;签名捕捉元件块输出处理器将接收到的访问分配结果中继至子模式存储地 址分配模块生成分配状态;当分配状态是肯定的,子模式存储地址分配模块生成地址,访问 子模式内存模检查内存空间的可用性生成S丽访问结果,SCB_S丽分配处理器根据SMM访问结果生成SCB-SMM访问结果,并将其发送到子模式掩蔽模块。7.根据权利要求6所述的签名特征捕捉系统,其特征在于所述签名捕捉元件块模块包 括SCB写控制器,SCB更新器、SMM读取控制器及签名捕捉元件块;签名捕捉元件块选择模块 通过子模式指标访问SCB写控制器生成SCB访问结果;SCB更新器根据接收到的签名更新控 制模块发送的SCB更新控制信号,访问签名捕捉元件块中的签名捕捉元件的地址,并在签名 捕捉元件中的存储空间要写入的关联更新值;SCB读取控制器根据来自签名匹配模块的访 问请求访问指定签名捕捉元件块,并生成SCB读取结果反馈给签名匹配模块。8.根据权利要求2所述的签名特征捕捉系统,其特征在于所述签名匹配模块包括数据 输入FIFO模块,数据分区模块,数据子模式指标发生模块,签名捕捉元件块匹配模块,子模 式匹配模块和签名匹配决策模块;所述数据输入FIFO模块接收并存储输入的检索数据,并 受控于所述签名匹配决策模块发送的数据读取控制信号以决定是否将存储的检索数据发 送至所述数据分区模块,所述数据分区模块将接收到的检索数据划分为数个数据子模式, 所述数据子模式的类别取决于签名捕捉元件块模块中使用的签名捕捉元件块的类别;所述 数据子模式指标发生模块依据同所述子模式指标选择模块生成子模式指标相同的方法生 成数据子模式指标;所述签名捕捉元件块匹配模块通过数据子模式指标访问签名捕捉元件 块模块,当访问结果为匹配时,则访问结果与数据子模式合并作为部分匹配结果发送至所 述子模式匹配模块,同时所述数据子模式窗口化;所述子模式匹配模块根据所述部分匹配 结果生成散列地址访问所述子模式内存模块检索实际签名子模式;所述签名匹配决策模块 将数据子模式与检索到的签名子模式进行对比得到最终匹配结果。9.一种签名特征捕捉方法,其步骤如下:首先对接收到的新签名进行解析编译,将新签 名划分为设定长度的数个签名子模式,并对签名子模式掩模处理生成密钥,将其更新至签 名捕捉元件块模块中;对签名子模式密钥进行散列处理并将其更新存储至子模式内存模块 中;其次,将接收到检索数据按照新签名的解析编译方法进行解析编译,得到数个数据子模 式及访问密钥,通过访问密钥访问签名捕捉元件块模块获得初步匹配结果,初步匹配结果 中包含有数据子模式;同时将数据子模式窗口化;对初步匹配结果进行与签名子模式密钥 散列处理相同的方法进行散列处理访问子模式内存模块得到实际签名子模式;然后将检索 数据子模式与实际签名子模式对比获得最终匹配结果。
【文档编号】G06F17/30GK106021616SQ201610541441
【公开日】2016年10月12日
【申请日】2016年7月12日
【发明人】裴志永
【申请人】圣普络网络科技(苏州)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1