CN102932141B - 多加解密芯片并行处理报文加解密的保序方法及系统 - Google Patents
多加解密芯片并行处理报文加解密的保序方法及系统 Download PDFInfo
- Publication number
- CN102932141B CN102932141B CN201210366561.4A CN201210366561A CN102932141B CN 102932141 B CN102932141 B CN 102932141B CN 201210366561 A CN201210366561 A CN 201210366561A CN 102932141 B CN102932141 B CN 102932141B
- Authority
- CN
- China
- Prior art keywords
- message
- encryption
- decryption
- node
- deciphering chip
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Landscapes
- Storage Device Security (AREA)
Abstract
本发明公开了一种多加解密芯片并行处理报文加解密的保序方法,包括以下步骤:S1:设置报文处理循环链表,任一个CPU接收到报文后获得所述报文对应的加解密密钥,并将所述报文及对应的加解密密钥按序放入所述报文处理循环链表相应的节点上;S2:所述CPU获取空闲的加解密芯片,并将对应报文交给所述加解密芯片;S3:加解密芯片读取报文对应节点的节点数据,根据报文需要进行的加解密类型对报文进行加解密处理后,将报文放回到所述报文处理循环链表相应的节点上。本发明还公开了一种实现上述保序方法的保序系统。本发明在多个加解密芯片同时进行报文加解密处理时也能保证报文的顺序,防止出现报文发送时的乱序现象。
Description
技术领域
本发明涉及网络通信技术领域,尤其涉及一种多加解密芯片并行处理报文加解密的保序方法及系统。
背景技术
带网络协议安全性(InternetProtocolSecurit,IPSEC)功能的高端网络设备,大多采用n(n大于等于1)个通用CPU(例如intel的atom通用CPU)加m(m大于等于2)个加解密专用CPU(例如CaviumNetworks公司的cavium加解密芯片)来对发送或接收的报文进行加解密。但是现有技术中,多个加解密芯片同时进行报文加解密处理时无法对报文进行保序,在报文处理完成后,会产生报文发送时的乱序现象(测试中有千分之三的乱序几率),进而导致丢包或者视频马赛克,使得网络通信受到较为严重的阻滞。
发明内容
(一)要解决的技术问题
本发明要解决的技术问题是:提供一种多加解密芯片并行处理报文加解密的保序方法及系统,以解决多个加解密芯片同时进行报文加解密处理时无法对报文进行保序的问题。
(二)技术方案
为解决上述问题,一方面,本发明提供了一种多加解密芯片并行处理报文加解密的保序方法,包括以下步骤:
S1:设置报文处理循环链表,任一个CPU接收到报文后获得所述报文对应的加解密密钥,并将所述报文及对应的加解密密钥按序放入所述报文处理循环链表相应的节点上;
S2:所述CPU获取空闲的加解密芯片,并将对应报文交给所述加解密芯片;
S3:加解密芯片读取报文对应节点的节点数据,根据报文需要进行的加解密类型对报文进行加解密处理后,将报文放回到所述报文处理循环链表相应的节点上。
其中,在所述步骤S3之后,还包括步骤S4:
任意空闲CPU在报文处理循环链表上获取需要处理的报文,判断报文是否已经被加解密芯片处理完毕:如果没有,则不做任何操作;否则获取加解密后的报文并处理。
其中,所述报文处理链表上的每个节点包括以下节点数据:需要加解密处理的报文地址指针;加解密处理后的报文地址指针;需要对报文进行的加解密类型信息;加解密使用的加解密密钥;以及所述报文处理循环链表中下一个节点的位置。
其中,所述任一个CPU接收到所述报文后获得报文对应的加解密密钥的步骤具体为:对于需要加密的报文:任一个CPU通过配置的安全联盟隧道数据匹配规则对报文进行匹配,在匹配成功后获得匹配成功的安全联盟隧道;
对于需要解密的报文:任一个CPU根据报文的三元组信息找到相应的安全联盟,并取出所述安全联盟中对应的解密密钥。
其中,所述CPU将所述报文及对应的加解密密钥按序放入所述报文处理循环链表相应的节点上的步骤具体为:所述CPU获取当前节点的下一个节点,并根据报文的地址、加解密密钥、以及需要进行的加解密类型完善获取的节点对应的节点数据。
其中,所述步骤S2中所述CPU获取空闲的加解密芯片的步骤具体为:所述CPU获取当前处理加解密数据的加解密芯片的序号+1后除以加解密芯片的总数再取余,得到空闲的加解密芯片的序号。
其中,所述步骤S3具体为:
加解密芯片获取节点对应的节点数据中需要加解密处理的报文地址指针、加解密密钥以及需要进行的加解密类型,根据这些节点数据对报文进行加解密处理后,将处理后的报文放入节点数据中加解密处理后的报文地址指针所指的地址中。
另一方面,本发明还提供了一种多加解密芯片并行处理报文加解密的保序系统,包括:
报文处理循环链表设置模块,用于设置报文处理循环链表;
多核CPU,用于在接收到报文后获得所述报文对应的加解密密钥,并将所述报文及对应的加解密密钥按序放入所述报文处理循环链表相应的节点上;获取空闲的加解密芯片,并将对应报文交给所述加解密芯片;
加解密芯片,用于读取报文对应节点的节点数据,根据报文需要进行的加解密类型对报文进行加解密处理后,将报文放回到所述报文处理循环链表相应的节点上。
(三)有益效果
本发明通过使用循环链表,让多个加解密芯片获取当前链表上当前位置的节点报文,处理完此报文后再放回到原来的链表节点上的方法,使多个加解密芯片协同处理的同时得到报文的保序目的,防止出现报文发送时的乱序现象。
附图说明
图1为根据本发明实施例保序方法的流程示意图;
图2为根据本发明实施例保序系统的结构示意图。
具体实施方式
下面结合附图及实施例对本发明进行详细说明如下。
实施例一:
如图1所示,本实施例记载了一种多加解密芯片并行处理报文加解密的保序方法,包括以下步骤:
S1:设置报文处理循环链表,任一个CPU接收到报文后获得所述报文对应的加解密密钥,并将所述报文及对应的加解密密钥按序放入所述报文处理循环链表相应的节点上;
S2:所述CPU获取空闲的加解密芯片,并将对应报文交给所述加解密芯片;
S3:加解密芯片读取报文对应节点的节点数据,根据报文需要进行的加解密类型对报文进行加解密处理后,将报文放回到所述报文处理循环链表相应的节点上。
本实施例中,在所述步骤S3之后,还包括步骤S4:
任意空闲CPU在报文处理循环链表上获取需要处理的报文,判断报文是否已经被加解密芯片处理完毕:如果没有,则不做任何操作;否则获取加解密后的报文并处理。
下面以一个具体的实施例来说明本发明:
本实施例以当前有2个通用CPU(CPU0和CPU1)加3个加解密芯片(cavium0,cavium1,cavium2)的架构为例。
设置链表长为500个节点的报文处理循环链表,每个节点的结构体中的节点数据包括:需要加解密处理的报文地址指针;加解密处理后的报文地址指针;需要对报文进行的加解密类型信息(即加密还是解密);加解密使用的加解密密钥;以及所述报文处理循环链表中下一个节点的位置(此数据在设备初始化的时候已经设置好,不需要修改)。
设置当前可使用的节点位置指针全局变量、最后一个处理完的节点位置指针全局变量、当前处理加解密数据的加解密芯片的序号。其中,设备初始化的时候当前可使用的节点位置指针全局变量和最后一个处理完的节点位置指针全局变量会与链表第一个节点的值相同。
对于需要加密的ip数据报文:CPU0通过配置的安全联盟隧道数据匹配规则对报文进行匹配,在匹配成功后获得匹配成功的安全联盟隧道,用于对报文进行加密;对于需要解密的esp/ah报文:CPU0根据报文的三元组信息(spi、协议号、原ip地址)找到相应的安全联盟(ipsecsa),并取出所述安全联盟中对应的解密密钥,CPU0根据当前节点的节点数据中下一个节点的位置获取当前节点的下一个节点,并根据报文的地址、加解密密钥、以及需要进行的加解密类型完善获取的节点对应的节点数据。然后将当前可使用的节点位置指针全局变量赋值为所述下一个节点。
CPU0获取当前处理加解密数据的加解密芯片的序号+1后除以加解密芯片的总数再取余,得到空闲的加解密芯片的序号;然后将空闲加解密芯片全局变量加1。即:
空闲的加解密芯片的序号=|(当前处理加解密数据的加解密芯片的序号+1)/n|,其中n为加解密芯片的总数。
如本实施例中,加解密芯片的总数为3,若当前处理加解密数据的加解密芯片为cavium0,其序号为0,则|(0+1)/3|=1,即获取空闲的加解密芯片cavium1。
加解密芯片获取节点对应的节点数据中需要加解密处理的报文地址指针、加解密密钥以及需要进行的加解密类型,根据这些节点数据对报文进行加解密处理后,将处理后的报文放入节点数据中加解密处理后的报文地址指针所指的地址中。
本实施例中,所述步骤S4具体为:
任意空闲CPU读取当前可使用的节点位置指针全局变量和最后一个处理完的节点位置指针全局变量的值,判断是否相同,如果相同,说明没有报文需要处理,如果不相同,则读取最后一个处理完的节点位置指针全局变量的值,并判断节点的节点数据中的加解密处理后的报文地址指针是否为空,如果为空,说明加解密芯片还没有处理完,则不做任何操作,如果不为空,则首先获取加解密处理后的报文地址指针(加解密后的报文)并将最后一个处理完的节点位置指针全局变量的值赋值为最后一个处理完的节点位置指针全局变量的下一个节点的位置值,然后处理之前获取的加解密后的报文。
本发明通过使用循环链表,让多个加解密芯片获取当前链表当前位置的节点报文,处理完此报文后再放回到原来的链表节点上的方法,使多个加解密cpu协同处理的同时得到报文的保序目的,防止出现报文发送时的乱序现象。
实施例二:
如图2所示,本实施例记载了一种多加解密芯片并行处理报文加解密的保序系统,包括:
报文处理循环链表设置模块201,用于设置报文处理循环链表;
多核CPU202,用于在接收到报文后获得所述报文对应的加解密密钥,并将所述报文及对应的加解密密钥按序放入所述报文处理循环链表相应的节点上;获取空闲的加解密芯片,并将对应报文交给所述加解密芯片;
加解密芯片203,用于读取报文对应节点的节点数据,根据报文需要进行的加解密类型对报文进行加解密处理后,将报文放回到所述报文处理循环链表相应的节点上。
以上实施方式仅用于说明本发明,而并非对本发明的限制,有关技术领域的普通技术人员,在不脱离本发明的精神和范围的情况下,还可以做出各种变化和变型,因此所有等同的技术方案也属于本发明的范畴,本发明的专利保护范围应由权利要求限定。
Claims (7)
1.一种多加解密芯片并行处理报文加解密的保序方法,其特征在于,包括以下步骤:
S1:设置报文处理循环链表,任一个CPU接收到报文后获得所述报文对应的加解密密钥,并将所述报文及对应的加解密密钥按序放入所述报文处理循环链表相应的节点上;
S2:所述CPU获取空闲的加解密芯片,并将对应报文交给所述加解密芯片;
S3:加解密芯片读取报文对应节点的节点数据,根据报文需要进行的加解密类型对报文进行加解密处理后,将报文放回到所述报文处理循环链表相应的节点上;
其中,所述报文处理循环链表上的每个节点包括以下节点数据:需要加解密处理的报文地址指针;加解密处理后的报文地址指针;需要对报文进行的加解密类型信息;加解密使用的加解密密钥;以及所述报文处理循环链表中下一个节点的位置。
2.如权利要求1所述的方法,其特征在于,在所述步骤S3之后,还包括步骤S4:
任意空闲CPU在报文处理循环链表上获取需要处理的报文,判断报文是否已经被加解密芯片处理完毕:如果没有,则不做任何操作;否则获取加解密后的报文并处理。
3.如权利要求1所述的方法,其特征在于,所述步骤S1中,所述任一个CPU接收到所述报文后获得报文对应的加解密密钥的步骤具体为:
对于需要加密的报文:任一个CPU通过配置的安全联盟隧道数据匹配规则对报文进行匹配,在匹配成功后获得匹配成功的安全联盟隧道;
对于需要解密的报文:任一个CPU根据报文的三元组信息找到相应的安全联盟,并取出所述安全联盟中对应的解密密钥。
4.如权利要求1所述的方法,其特征在于,所述步骤S1中,所述CPU将所述报文及对应的加解密密钥按序放入所述报文处理循环链表相应的节点上的步骤具体为:所述CPU获取当前节点的下一个节点,并根据报文的地址、加解密密钥、以及需要进行的加解密类型完善获取的节点对应的节点数据。
5.如权利要求1所述的方法,其特征在于,所述步骤S2中所述CPU获取空闲的加解密芯片的步骤具体为:所述CPU获取当前处理加解密数据的加解密芯片的序号+1后除以加解密芯片的总数再取余,得到空闲的加解密芯片的序号。
6.如权利要求1所述的方法,其特征在于,所述步骤S3具体为:
加解密芯片获取节点对应的节点数据中需要加解密处理的报文地址指针、加解密密钥以及需要进行的加解密类型,根据这些节点数据对报文进行加解密处理后,将处理后的报文放入节点数据中加解密处理后的报文地址指针所指的地址中。
7.一种多加解密芯片并行处理报文加解密的保序系统,其特征在于,包括:
报文处理循环链表设置模块,用于设置报文处理循环链表;
多核CPU,用于在接收到报文后获得所述报文对应的加解密密钥,并将所述报文及对应的加解密密钥按序放入所述报文处理循环链表相应的节点上;获取空闲的加解密芯片,并将对应报文交给所述加解密芯片;
加解密芯片,用于读取报文对应节点的节点数据,根据报文需要进行的加解密类型对报文进行加解密处理后,将报文放回到所述报文处理循环链表相应的节点上;
其中,所述报文处理循环链表上的每个节点包括以下节点数据:需要加解密处理的报文地址指针;加解密处理后的报文地址指针;需要对报文进行的加解密类型信息;加解密使用的加解密密钥;以及所述报文处理循环链表中下一个节点的位置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210366561.4A CN102932141B (zh) | 2012-09-27 | 2012-09-27 | 多加解密芯片并行处理报文加解密的保序方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210366561.4A CN102932141B (zh) | 2012-09-27 | 2012-09-27 | 多加解密芯片并行处理报文加解密的保序方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102932141A CN102932141A (zh) | 2013-02-13 |
CN102932141B true CN102932141B (zh) | 2016-01-06 |
Family
ID=47646848
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210366561.4A Expired - Fee Related CN102932141B (zh) | 2012-09-27 | 2012-09-27 | 多加解密芯片并行处理报文加解密的保序方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102932141B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110086751A (zh) * | 2018-01-26 | 2019-08-02 | 北京数盾信息科技有限公司 | 一种高速、低时延的千百兆网络密码机加解密方法 |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106471766B (zh) * | 2014-03-31 | 2019-08-06 | 爱迪德技术有限公司 | 密码芯片和相关方法 |
CN104468309B (zh) * | 2014-10-31 | 2018-06-19 | 成都卫士通信息产业股份有限公司 | 一种低速smp与高速密码卡的高效适配方法 |
CN106302699B (zh) * | 2016-08-11 | 2019-12-27 | 广州慧睿思通信息科技有限公司 | 一种处理多解密机pc端解密任务的方法 |
CN106788975B (zh) * | 2016-12-28 | 2019-12-13 | 北京天融信网络安全技术有限公司 | 基于sm4密码算法的加解密装置 |
CN107577951A (zh) * | 2017-09-12 | 2018-01-12 | 郑州云海信息技术有限公司 | 一种加解密服务器和实现数据加解密的方法及装置 |
CN107454116A (zh) * | 2017-10-10 | 2017-12-08 | 郑州云海信息技术有限公司 | 单隧道模式下IPsec ESP协议的优化方法及装置 |
CN109872154A (zh) * | 2019-01-31 | 2019-06-11 | 中国—东盟信息港股份有限公司 | 一种基于区块链交易数据的身份实名认证系统 |
CN110381034B (zh) * | 2019-06-25 | 2022-02-22 | 苏州浪潮智能科技有限公司 | 一种报文处理方法、装置、设备及可读存储介质 |
CN110519042A (zh) * | 2019-08-29 | 2019-11-29 | 上海航天测控通信研究所 | 数据处理方法 |
CN111669374B (zh) * | 2020-05-25 | 2022-05-27 | 成都安恒信息技术有限公司 | 一种IPsec VPN单条隧道软件加解密性能扩展方法 |
CN112235111B (zh) * | 2020-12-17 | 2021-03-09 | 腾讯科技(深圳)有限公司 | 密钥生成方法、装置、设备及计算机可读存储介质 |
CN112731897B (zh) * | 2021-04-06 | 2021-06-22 | 浙江中控技术股份有限公司 | 一种基于隧道加解密的工业控制系统通信方法及系统 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101795236A (zh) * | 2010-03-31 | 2010-08-04 | 成都市华为赛门铁克科技有限公司 | 报文保序方法及装置 |
CN102204183A (zh) * | 2011-05-09 | 2011-09-28 | 华为技术有限公司 | 报文保序处理方法、保序协处理器和网络设备 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101621478A (zh) * | 2009-08-07 | 2010-01-06 | 中兴通讯股份有限公司 | 队列调度的方法及装置 |
-
2012
- 2012-09-27 CN CN201210366561.4A patent/CN102932141B/zh not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101795236A (zh) * | 2010-03-31 | 2010-08-04 | 成都市华为赛门铁克科技有限公司 | 报文保序方法及装置 |
CN102204183A (zh) * | 2011-05-09 | 2011-09-28 | 华为技术有限公司 | 报文保序处理方法、保序协处理器和网络设备 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110086751A (zh) * | 2018-01-26 | 2019-08-02 | 北京数盾信息科技有限公司 | 一种高速、低时延的千百兆网络密码机加解密方法 |
Also Published As
Publication number | Publication date |
---|---|
CN102932141A (zh) | 2013-02-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102932141B (zh) | 多加解密芯片并行处理报文加解密的保序方法及系统 | |
CN110661620B (zh) | 一种基于虚拟量子链路的共享密钥协商方法 | |
CN105049425B (zh) | 一种基于二维码的物理隔离传输方法 | |
CN101738516B (zh) | 一种电子式电能表数据安全传输的方法及电能表装置 | |
CN104038505A (zh) | 一种IPSec防重放的方法和装置 | |
CN110995759A (zh) | 物联网的接入方法以及装置 | |
US9635053B2 (en) | Computing system with protocol protection mechanism and method of operation thereof | |
CN102546424B (zh) | 报文保序方法及装置 | |
CN106301793B (zh) | 一种plc认证和安全通信的方法 | |
CN102970228B (zh) | 一种基于IPsec的报文传输方法和设备 | |
CN106096424A (zh) | 一种对本地数据进行加密方法和终端 | |
CN113742709B (zh) | 信息的处理方法、装置、可读介质和电子设备 | |
CN112235193B (zh) | 基于跨网络多级路由的数据传输方法、装置、设备和介质 | |
CN105848145A (zh) | 一种wifi智能配置方法和装置 | |
EP3306855A1 (en) | Authentication device, authentication system, authentication method, and program | |
CN104065486A (zh) | 一种加密策略匹配算法模块验证平台及其实现方法 | |
CN114095277A (zh) | 配电网安全通信方法、安全接入设备及可读存储介质 | |
CN101515853B (zh) | 信息终端及其信息安全装置 | |
CN104243153A (zh) | 一种用于发现设备的用户的方法和用户设备 | |
CN112966303A (zh) | 数据的加解密方法及装置、电子设备、计算机存储介质 | |
CN102970134B (zh) | 将硬件密码设备的算法用于pkcs#7数据封装的方法及系统 | |
CN106341384A (zh) | 用于促进安全通信的方法 | |
CN114611129A (zh) | 一种数据隐私保护方法和系统 | |
CN114912105A (zh) | 数据存储方法、装置、系统、设备、介质及产品 | |
US9178855B1 (en) | Systems and methods for multi-function and multi-purpose cryptography |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
PP01 | Preservation of patent right | ||
PP01 | Preservation of patent right |
Effective date of registration: 20180823 Granted publication date: 20160106 |
|
PD01 | Discharge of preservation of patent | ||
PD01 | Discharge of preservation of patent |
Date of cancellation: 20210823 Granted publication date: 20160106 |
|
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20160106 Termination date: 20180927 |