CN102843235A - 一种报文加/解密方法 - Google Patents
一种报文加/解密方法 Download PDFInfo
- Publication number
- CN102843235A CN102843235A CN2012103274358A CN201210327435A CN102843235A CN 102843235 A CN102843235 A CN 102843235A CN 2012103274358 A CN2012103274358 A CN 2012103274358A CN 201210327435 A CN201210327435 A CN 201210327435A CN 102843235 A CN102843235 A CN 102843235A
- Authority
- CN
- China
- Prior art keywords
- message
- sequence number
- order
- encryption
- decrypted
- 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.)
- Pending
Links
Images
Landscapes
- Storage Device Security (AREA)
Abstract
本发明公开了一种报文加/解密方法。本发明按照协处理器处理加解密报文的能力设定一个上限阈值,只有在不超过阈值的情况下才使用协处理器进行硬加解密,而在超过该阈值的情况下,使用主处理器进行软加解密,从而可以缓解协处理器的处理压力,提高整机处理报文加解密的速度,这样就通过主处理器与协处理器的协同工作避免了报文丢失的情况,从而实现了在不提高硬件成本(不增加协处理器)的前提下解决由于报文加/解密速度跟不上报文转发速度而出现的报文丢失问题。进一步,由于增加了保序处理,使得报文能够按照先入先出的顺序被转发,保证了处理之后报文的顺序正确。
Description
技术领域
本发明涉及数据加解密技术领域,特别是涉及一种报文加/解密方法。
背景技术
当前网络设备大多采用多核架构,例如多个通用CPU加一个专用加/解密CPU(例如cavium芯片)的处理器架构,其中,通用CPU用于进行报文转发,而专用加/解密CPU专门用于对需要加密或解密的报文进行加密或解密。而由于对一个报文进行转发处理的速度要远远大于对一个报文进行加密或解密处理的速度,因此,当多个普通CPU同时向一个专用加/解密CPU发送需要加解密处理的报文时,经常会出现专用加/解密CPU的处理速度跟不上通用CPU处理速度的问题,这就会导致报文的丢失,而如果增加专用加/解密CPU的话则会大大提高成本,因此,如何克服这个技术瓶颈成为了当前亟待解决的技术问题。
发明内容
(一)要解决的技术问题
本发明要解决的技术问题是:如何在不提高硬件成本的前提下解决由于报文加/解密速度跟不上报文转发速度而出现的报文丢失问题。
(二)技术方案
为了解决上述技术问题,本发明提供一种报文加密方法,包括以下步骤:
S1、接收待加密报文,将所述待加密报文加上序号后放入待加密报文队列,每接收到一个待加密报文,序号加1;
S2、判断待加密报文队列中的报文数是否超过预设阈值,若是,则对所述待加密报文进行软加密,否则对所述待加密报文进行硬加密;
S3、将加密后的报文按照步骤S1中接收的顺序进行转发。
优选地,在步骤S1中接收待加密报文的同时,将报文的序号与一个链表的节点按照从小到大的顺序一一对应,在步骤S3中对加密后的报文进行转发时,按照链表中节点逐一递增的顺序转发报文。
优选地,所述软加密的操作由主处理器执行,所述硬加密的操作由协处理器执行。
优选地,所述主处理器为通用CPU,所述协处理器为cavium芯片。
对应地,本发明还提供了一种报文解密方法,包括以下步骤:
S1’、接收待解密报文,将所述待解密报文加上序号后放入待解密报文队列,每接收到一个待解密报文,序号加1;
S2’、判断待解密报文队列中的报文数是否超过预设阈值,若是,则对所述待解密报文进行软解密,否则对所述待解密报文进行硬解密;
S3’、将解密后的报文按照接收的顺序进行转发。
优选地,步骤S3’具体为:将解密后的报文放入保序队列,若保序队列中出现解密后的报文的序号不连续的情况,则等待下一个解密后的报文到来,直到保序队列中所有解密后的报文的序号都连续,然后按照序号由小到大的顺序对解密后的报文进行转发。
优选地,所述软解密的操作由主处理器执行,所述硬解密的操作由协处理器执行。
优选地,所述主处理器为通用CPU,所述协处理器为cavium芯片。
优选地,所述报文为ESP报文或AH报文。
(三)有益效果
上述技术方案具有如下优点:本发明按照协处理器处理加解密报文的能力设定一个上限阈值,只有在不超过阈值的情况下才使用协处理器进行硬加解密,而在超过该阈值的情况下,使用主处理器进行软加解密,从而可以缓解协处理器的处理压力,提高整机处理报文加解密的速度,这样就通过主处理器与协处理器的协同工作避免报文丢失的情况,从而实现了在不提高硬件成本(不增加协处理器)的前提下解决由于报文加/解密速度跟不上报文转发速度而出现的报文丢失问题。进一步,由于增加了保序处理,使得报文能够按照先入先出的顺序被转发,保证了处理之后报文的顺序正确。
附图说明
图1是本发明的加密方法流程图;
图2是本发明的解密方法流程图。
具体实施方式
下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。以下实施例用于说明本发明,但不用来限制本发明的范围。
实施例一
如图1所示,本发明实施例一提供一种报文加密方法,包括以下步骤:
S1、接收待加密ESP报文或AH报文,将所述待加密ESP报文或AH报文加上序号(为整数)后放入待加密ESP报文或AH报文队列,每接收到一个待加密ESP报文或AH报文,序号加1;
S2、判断待加密ESP报文或AH报文队列中的报文数是否超过预设阈值(例如10个报文),若是,则对所述待加密ESP报文或AH报文进行软加密,否则对所述待加密ESP报文或AH报文进行硬加密;软加密的速度比硬加密的速度慢;
S3、将加密后的ESP报文或AH报文按照接收的顺序进行转发。在步骤S1中接收待加密报文的同时,将报文的序号与一个链表的节点按照从小到大的顺序一一对应(例如,序号为1的报文对应链表的节点1,序号为2的报文对应链表的节点2,依次类推),在步骤S3中对加密后的报文进行转发时,按照链表中节点逐一递增的顺序转发报文,也就是说,首先转发与节点1对应的序号为1的报文,若序号为3的报文比序号为2的报文先加密完成,则等待序号为2的报文加密完成并被转发之后,再转发序号为3的报文。
其中,所述软加密的操作由主处理器执行,所述硬加密的操作由协处理器执行。所述主处理器为通用CPU(专门用于转发报文),所述协处理器为cavium芯片(也可以称为专用加/解密CPU,专门用于报文加/解密)。
实施例二
如图2所示,本发明实施例二还提供了一种报文解密方法,包括以下步骤:
S1’、接收待解密ESP报文或AH报文,将所述待解密ESP报文或AH报文加上序号(为整数)后放入待解密ESP报文或AH报文队列,每接收到一个待解密ESP报文或AH报文,序号加1;
S2’、判断待解密ESP报文或AH报文队列中的报文数是否超过预设阈值(例如10个报文),若是,则对所述待解密ESP报文或AH报文进行软解密,否则对所述待解密ESP报文或AH报文进行硬解密;软解密的速度比硬解密的速度慢;
S3’、将解密后的ESP报文或AH报文按照接收的顺序进行转发。在步骤S1’中接收待加密报文的同时,将报文的序号与一个链表的节点按照从小到大的顺序一一对应(例如,序号为1的报文对应链表的节点1,序号为2的报文对应链表的节点2,依次类推),在步骤S3’中对加密后的报文进行转发时,按照链表中节点逐一递增的顺序转发报文,也就是说,首先转发与节点1对应的序号为1的报文,若序号为3的报文比序号为2的报文先加密完成,则等待序号为2的报文加密完成并被转发之后,再转发序号为3的报文。
其中,所述软解密的操作由主处理器执行,所述硬解密的操作由协处理器执行。其中,所述软加密的操作由主处理器执行,所述硬加密的操作由协处理器执行。所述主处理器为通用CPU(专门用于转发报文),所述协处理器为cavium芯片(也可以称为专用加/解密CPU,专门用于报文加/解密)。
由以上实施例可以看出,本发明按照协处理器处理加解密报文的能力设定一个上限阈值,只有在不超过阈值的情况下才使用协处理器进行硬加解密,而在超过该阈值的情况下,使用主处理器进行软加解密,从而可以缓解协处理器的处理压力,提高整机处理报文加解密的速度,这样就通过主处理器与协处理器的协同工作避免了报文丢失的情况下,从而实现了在不提高硬件成本(不增加协处理器)的前提下解决由于报文加/解密速度跟不上报文转发速度而出现的报文丢失问题。进一步,由于增加了保序处理,使得报文能够按照先入先出的顺序被转发,保证了处理之后报文的顺序正确。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和替换,这些改进和替换也应视为本发明的保护范围。
Claims (10)
1.一种报文加密方法,其特征在于,包括以下步骤:
S1、接收待加密报文,将所述待加密报文加上序号后放入待加密报文队列,每接收到一个待加密报文,序号加1;
S2、判断待加密报文队列中的报文数是否超过预设阈值,若是,则对所述待加密报文进行软加密,否则对所述待加密报文进行硬加密;
S3、将加密后的报文按照步骤S1中接收的顺序进行转发。
2.如权利要求1所述的方法,其特征在于,在步骤S1中接收待加密报文的同时,将报文的序号与一个链表的节点按照从小到大的顺序一一对应,在步骤S3中对加密后的报文进行转发时,按照链表中节点逐一递增的顺序转发报文。
3.如权利要求1所述的方法,其特征在于,所述软加密的操作由主处理器执行,所述硬加密的操作由协处理器执行。
4.如权利要求3所述的方法,其特征在于,所述主处理器为通用CPU,所述协处理器为cavium芯片。
5.如权利要求1~4中任一项所述的方法,其特征在于,所述报文为ESP报文或AH报文。
6.一种报文解密方法,其特征在于,包括以下步骤:
S1’、接收待解密报文,将所述待解密报文加上序号后放入待解密报文队列,每接收到一个待解密报文,序号加1;
S2’、判断待解密报文队列中的报文数是否超过预设阈值,若是,则对所述待解密报文进行软解密,否则对所述待解密报文进行硬解密;
S3’、将解密后的报文按照接收的顺序进行转发。
7.如权利要求6所述的方法,其特征在于,步骤S3’具体为:将解密后的报文放入保序队列,若保序队列中出现解密后的报文的序号不连续的情况,则等待下一个解密后的报文到来,直到保序队列中所有解密后的报文的序号都连续,然后按照序号由小到大的顺序对解密后的报文进行转发。
8.如权利要求6所述的方法,其特征在于,所述软解密的操作由主处理器执行,所述硬解密的操作由协处理器执行。
9.如权利要求8所述的方法,其特征在于,所述主处理器为通用CPU,所述协处理器为cavium芯片。
10.如权利要求6~9中任一项所述的方法,其特征在于,所述报文为ESP报文或AH报文。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2012103274358A CN102843235A (zh) | 2012-09-06 | 2012-09-06 | 一种报文加/解密方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2012103274358A CN102843235A (zh) | 2012-09-06 | 2012-09-06 | 一种报文加/解密方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN102843235A true CN102843235A (zh) | 2012-12-26 |
Family
ID=47370314
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2012103274358A Pending CN102843235A (zh) | 2012-09-06 | 2012-09-06 | 一种报文加/解密方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102843235A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018107448A1 (en) * | 2016-12-16 | 2018-06-21 | Intel Corporation | Executing an application with multiple processors |
WO2018130079A1 (zh) * | 2017-01-11 | 2018-07-19 | 京信通信系统(中国)有限公司 | 一种英特网协议安全IPSec协议加密方法和网络设备 |
CN109428867A (zh) * | 2017-08-30 | 2019-03-05 | 华为技术有限公司 | 一种报文加解密方法、网路设备及系统 |
CN111343386A (zh) * | 2018-12-19 | 2020-06-26 | 北京小米移动软件有限公司 | 图像信号处理方法及装置、电子设备、存储介质 |
CN113722103A (zh) * | 2021-09-10 | 2021-11-30 | 奇安信科技集团股份有限公司 | 加密卡的调用控制方法及通信设备 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101222512A (zh) * | 2008-01-25 | 2008-07-16 | 华为技术有限公司 | 加解密卡及加密方法和解密方法 |
US20090147947A1 (en) * | 2007-11-05 | 2009-06-11 | Texas Instruments Deutschland Gmbh | Digital-encryption hardware accelerator |
CN102204183A (zh) * | 2011-05-09 | 2011-09-28 | 华为技术有限公司 | 报文保序处理方法、保序协处理器和网络设备 |
-
2012
- 2012-09-06 CN CN2012103274358A patent/CN102843235A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090147947A1 (en) * | 2007-11-05 | 2009-06-11 | Texas Instruments Deutschland Gmbh | Digital-encryption hardware accelerator |
CN101222512A (zh) * | 2008-01-25 | 2008-07-16 | 华为技术有限公司 | 加解密卡及加密方法和解密方法 |
CN102204183A (zh) * | 2011-05-09 | 2011-09-28 | 华为技术有限公司 | 报文保序处理方法、保序协处理器和网络设备 |
Non-Patent Citations (1)
Title |
---|
吴锋: "《基于软硬加密的IPSec VPN系统结构的设计与实现》", 《中国优秀硕士学位论文全文数据库》 * |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018107448A1 (en) * | 2016-12-16 | 2018-06-21 | Intel Corporation | Executing an application with multiple processors |
US11099879B2 (en) | 2016-12-16 | 2021-08-24 | Intel Corporation | Executing an application with multiple processors |
WO2018130079A1 (zh) * | 2017-01-11 | 2018-07-19 | 京信通信系统(中国)有限公司 | 一种英特网协议安全IPSec协议加密方法和网络设备 |
CN109428867A (zh) * | 2017-08-30 | 2019-03-05 | 华为技术有限公司 | 一种报文加解密方法、网路设备及系统 |
CN109428867B (zh) * | 2017-08-30 | 2020-08-25 | 华为技术有限公司 | 一种报文加解密方法、网路设备及系统 |
CN111343386A (zh) * | 2018-12-19 | 2020-06-26 | 北京小米移动软件有限公司 | 图像信号处理方法及装置、电子设备、存储介质 |
CN111343386B (zh) * | 2018-12-19 | 2022-03-25 | 北京小米移动软件有限公司 | 图像信号处理方法及装置、电子设备、存储介质 |
CN113722103A (zh) * | 2021-09-10 | 2021-11-30 | 奇安信科技集团股份有限公司 | 加密卡的调用控制方法及通信设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102843235A (zh) | 一种报文加/解密方法 | |
CN102932141B (zh) | 多加解密芯片并行处理报文加解密的保序方法及系统 | |
CN103401678A (zh) | 一种保障物联网数据传输安全的方法 | |
CN103905187B (zh) | 一种基于内容的网络通信加密方法 | |
CN101290569A (zh) | 一种采用多密码芯片并行数据处理的方法 | |
WO2009118268A3 (en) | Secure communications in computer cluster systems | |
RU2007144827A (ru) | Избирательное управление правами на потоковый контент | |
CN105610789B (zh) | 一种适用于多人群聊即时通信的数据加密方法 | |
CN103905183B (zh) | 一种提高嵌入式加密芯片通讯传输安全性的方法 | |
CN102075427A (zh) | 基于安全联盟的IPSec报文处理方法及装置 | |
CN102111263A (zh) | 一种数据流加密的方法 | |
CN102664729A (zh) | 一种基于fpga的aes加解密网络通讯装置及其实现方法 | |
CN103580851A (zh) | 信息加密及解密方法 | |
CN102857338A (zh) | 一种云存储系统中数据安全传输的方法 | |
CN108111308A (zh) | 一种基于动态随机加密的工业互联网通讯加密方法 | |
CN105515762A (zh) | 一种基于rsa和aes加密算法的加密系统及加密方法 | |
CN105207816A (zh) | 一种多缓冲并行加密的软件调度方法 | |
CN105515757B (zh) | 基于可信执行环境的安全性信息交互设备 | |
CN101515853B (zh) | 信息终端及其信息安全装置 | |
CN106658490B (zh) | 一种无线传感器网络同态加密隐私保护方法 | |
CN104954136A (zh) | 一种云计算环境下网络安全加密装置 | |
CN102170434A (zh) | 一种基于多核处理器实现ipsec的方法及其装置 | |
CN110213292A (zh) | 数据发送方法及装置、数据接收方法及装置 | |
CN105471849A (zh) | 一种数据交换服务与传输过程的安全控制方法 | |
CN106487761A (zh) | 一种消息传输方法和网络设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C12 | Rejection of a patent application after its publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20121226 |