《一种低速SMP与高速密码卡的高效适配方法.pdf》由会员分享,可在线阅读,更多相关《一种低速SMP与高速密码卡的高效适配方法.pdf(7页珍藏版)》请在专利查询网上搜索。
1、(10)申请公布号 (43)申请公布日 (21)申请号 201410606401.1(22)申请日 2014.10.31H04L 12/46(2006.01)H04L 12/803(2013.01)H04L 29/06(2006.01)(71)申请人 成都卫士通信息产业股份有限公司地址 610041 四川省成都市高新区云华路333 号(72)发明人 李明明 胡川(74)专利代理机构 成都九鼎天元知识产权代理有限公司 51214代理人 邓世燕(54) 发明名称一种低速 SMP 与高速密码卡的高效适配方法(57) 摘要本发明公开了一种低速 SMP 与高速密码卡的高效适配方法,将 IPSec 加解密。
2、过程分为取报文、IPSec 加解密前处理、IPSec 加解密后处理、硬件加解密处理、发报文共五个阶段,每个阶段分别由一或两个 CPU 核心处理 ;报文被取出后根据加密或解密操作被分别送入到两个队列,由两个 CPU核心并行做 IPSec 加、解密前处理后,再统一送入密码卡中处理,处理后再根据加密或解密操作类型被分别送入到两个队列,由两个 CPU 核心并行做 IPSec 后处理。本发明采用加解密流程分段与加解密双队列共同来实现加解密部件和其他功能部件的重叠执行 ;同时由于无需处理加解密数据流的保序问题,本发明可以大幅度提高设备整机吞吐能力。(51)Int.Cl.(19)中华人民共和国国家知识产权局。
3、(12)发明专利申请权利要求书1页 说明书3页 附图2页(10)申请公布号 CN 104468309 A(43)申请公布日 2015.03.25CN 104468309 A1/1 页21.一种低速 SMP 与高速密码卡的高效适配方法,其特征在于 :包括如下步骤 :步骤一、将 IPSec VPN 的报文处理过程分为取报文、IPSec VPN 前处理、加解密、IPSec VPN 后处理、发报文五个阶段 ;步骤二、将 IPSec 前处理分为 IPSec 加密前处理与 IPSec 解密前处理 ;将 IPSec 后处理阶段分为 IPSec 加密后处理与 IPSec 解密后处理,每种处理分别由一个 CPU。
4、 核心处理 ;步骤三、报文被取出后根据加密或解密操作被分别送入到两个队列,由两个 CPU 核心并行做 IPSec 前处理后,再统一送入密码卡中处理,处理后再根据加密或解密操作被分别送入到两个队列,由两个 CPU 核心并行做 IPSec 后处理。2.根据权利要求 1 所述的一种低速 SMP 与高速密码卡的高效适配方法,其特征在于 :所述取报文阶段是接收需要进行加解密处理的报文,如果是外出报文就根据外出报文的地址信息提取出相应的处理算法和密钥,然后交给加解密部件进行加密 ;如果是进入报文就根据相应的 AH 或 ESP 头信息提取对应的算法和密钥,然后交给加解密部件进行解密。3.根据权利要求 1 所。
5、述的一种低速 SMP 与高速密码卡的高效适配方法,其特征在于 :所述IPSec VPN前处理阶段是IPSec VPN根据报文加解密的需要对报文进行预处理,包括 :为报文添加 ESP 或 AH 头部、对报文进行尾部填充。4.根据权利要求 1 所述的一种低速 SMP 与高速密码卡的高效适配方法,其特征在于 :所述 IPSec VPN 后处理阶段是对加解密后的报文进行处理,包括 :重新计算 IP、校验和。权 利 要 求 书CN 104468309 A1/3 页3一种低速 SMP 与高速密码卡的高效适配方法技术领域0001 本发明涉及一种采用硬件密码卡加密的 IPSec VPN 系统中,多核心低速 C。
6、PU 与高速硬件密码卡高效协同工作的方法。背景技术0002 虚拟专用网络(Virtual Private Network,简称VPN)指的是在公用网络上建立专用网络的技术。其之所以称为虚拟网,主要是因为整个 VPN 网络的任意两个节点之间的连接并没有传统专网所需的端到端的物理链路,而是架构在公用网络服务商所提供的网络平台,如 Internet、ATM( 异步传输模式、Frame Relay( 帧中继 ) 等之上的逻辑网络,用户数据在逻辑链路中传输。它涵盖了跨共享网络或公共网络的封装、加密和身份验证链接的专用网络的扩展。VPN 主要采用了隧道技术、加解密技术、密钥管理技术和使用者与设备身份认证技。
7、术。0003 由于保密安全产品的特殊性,国内 IPSec VPN 产品使用的密码卡采用的是经国家密码管理办公室审批专用的密码芯片,与当前计算机发展水平的 CPU 处理能力相比,其算法处理速度提升空间比较大,市场逐渐出现一些高速密码芯片,而采用高速密码芯片加密的 VPN 设备性能瓶颈往往出现在 CPU 上。因此通过单纯的提高 CPU 的工作频率已经无法有效的解决高性能 IPSec VPN 系统的速度要求。为了提高符合国密标准 IPSec VPN 的性能,我们提出了一种新的用于多核 CPU 并行处理 IPSec VPN 的加密方法,通过并行处理来达到提高 IPSec VPN 设备吞吐率的目标。发明。
8、内容0004 为了克服现有技术的上述缺点,本发明提供了一种低速 SMP 与高速密码卡的高效适配方法。0005 本发明解决其技术问题所采用的技术方案是 :一种低速 SMP 与高速密码卡的高效适配方法,包括如下步骤 :0006 步骤一、将 IPSec VPN 的报文处理过程分为取报文、IPSec VPN 前处理、加解密、IPSec VPN 后处理、发报文五个阶段 ;0007 步骤二、将 IPSec 前处理分为 IPSec 加密前处理与 IPSec 解密前处理 ;将 IPSec 后处理阶段分为 IPSec 加密后处理与 IPSec 解密后处理,每种处理分别由一个 CPU 核心处理 ;0008 步骤三。
9、、报文被取出后根据加密或解密操作被分别送入到两个队列,由两个 CPU核心并行做 IPSec 前处理后,再统一送入密码卡中处理,处理后再根据加密或解密操作被分别送入到两个队列,由两个 CPU 核心并行做 IPSec 后处理。0009 与现有技术相比,本发明的积极效果是 :针对现有国密标准 VPN 产品中存在的 CPU与密码卡负载不均匀的问题,提供一种 IPSec VPN 设备系统在多核 CPU 单密码卡环境下并行保序的加解密的方法。国密标准的 IPSec VPN 产品对数据的加解密运算主要是由密码芯片来进行。由于密码卡采用的这些密码芯片进行加解密操作与系统其他功能部件之间具有说 明 书CN 10。
10、4468309 A2/3 页4极大的独立性。因此,本发明采用加解密流程分段与加解密双队列共同来实现加解密部件和其他功能部件的重叠执行 ;同时由于无需处理加解密数据流的保序问题,本发明可以大幅度提高设备整机吞吐能力。附图说明0010 本发明将通过例子并参照附图的方式说明,其中 :0011 图 1 是 IPSec VPN 的报文处理过程的示意图 ;0012 图 2 是传统的顺序处理方式与时间关系图 ;0013 图 3 是密码卡为性能瓶颈时分段处理方式与时间关系图 ;0014 图 4 是 SMP 为性能瓶颈时分段方式的报文处理与时间关系图 ;0015 图 5 是 SMP 为性能瓶颈时分段并行处理方式。
11、的报文处理与时间关系图 ;0016 图 6 是分段并行处理方式的 IPSec VPN 的报文处理的示意图。具体实施方式0017 我们可以把IPSec VPN的报文处理过程简单分为5个阶段,IPSec VPN的报文处理过程如图 1 所示。其中取报文阶段是接收需要进行加解密处理的报文,如果是外出报文就根据外出报文的地址信息提取出相应的处理算法和密钥,然后交给加解密部件进行加密 ;如果是进入报文就根据相应的AH或ESP头信息提取对应的算法和密钥,然后交给加解密部件进行解密。0018 IPSec VPN前处理阶段是IPSec VPN根据报文加解密的需要对报文进行预处理,比如为报文添加 ESP 或 AH。
12、 头部对报文进行尾部填充等等。加解密阶段是根据报文的处理要求对报文进行加解密运算。IPSec VPN 后处理阶段是对加解密后的报文进行一些必要的处理,比如重新计算 IP 校验和等。发送报文阶段是指接收处理完毕的报文对报文进行发送处理。0019 当多个报文进行处理时,传统的处理执行方式是顺序执行。即首先取一个报文再对报文进行IPSec VPN前处理,接着进行加解密处理,然后进行IPSecVPN后处理,最后发送出去。随后再提取下一个报文进行处理。传统的顺序处理方式如图 2 所示。0020 假设 IPSec VPN 处理报文的时间可分为 T(GP) 为取报文时间,T(XP) 为发送报文时间,T(IF。
13、) 为 IPSec VPN 前处理时间,T(IL) 为 IPSec VPN 后处理时间,T(E) 为加解密处理时间。0021 由于取报文、IPSec VPN 前处理、IPSec VPN 后处理和发送报文四个阶段由 CPU 负责完成,所以一个报文的 CPU 处理时间 T(CPU) 为0022 T(CPU) T(GP)+T(XP)+T(IF)+T(IL)0023 由于加解密处理阶段由加解密部件负责完成,所以一个报文的加解密部件处理时间 T(EPT) 为 T(EPT) T(E)0024 那么采用顺序执行方式处理 n 个报文所用的时间 T(SEQ) 为0025 T(SEQ) n*(T(CPU)+T(E。
14、PT)0026 采用分段处理实现处理阶段的重叠执行。分段处理方式如图 3 所示,系统取出一个报文交给加解密部件后,直接返回处理下一个报文,而加解密部件则不断接收报文进行说 明 书CN 104468309 A3/3 页5加解密。因此当系统正在进行加解密处理时 CPU 处理报文可同时进行。那么其处理 n 个报文所用的时间 T(PIP) 为0027 T(PIP) T(CPU)+T(EPT)+(n-1)*MAX(T(CPU),T(EPT)0028 1、当加解密部件处理报文的时间大于 CPU 处理报文的时间,那么0029 T(PIP) T(CPU)+n*T(EPT)0030 我们可以看出分段方式比传统的。
15、串行处理方式节省了大量的 CPU 处理,密码卡工作可以持续做加解密处理而无需等待 CPU 处理报文,可以最大程度发挥密码卡的性能。0031 2、当加解密部件处理报文的时间小于 CPU 处理报文的时间,那么0032 T(PIP) n*T(CPU)+T(EPT)0033 从上述基于分段的执行方式来看,其系统执行效率相比传统的串行处理要好,但执行效率仍有提升余地,报文处理与时间关系图如图 4 所示。0034 在密码卡性能不变的前提下,减少 CPU 处理报文时间到小于等于密码卡加解密处理时间时,报文处理性能达到最佳。IPSec 前处理与后处理,我们可以利用 SMP 多核处理来缩短处理时间。现在将 IP。
16、Sec 前处理分为两类 :IPSec 加密前处理与 IPSec 解密前处理 ;将IPSec 后处理分为两类 :IPSec 加密后处理与 IPSec 解密后处理,每种处理分别由一个 CPU核心处理,这样可以成倍提高 CPU 双向数据流处理效率,同时又能兼顾每条数据流的序列号保序 ( 不发生数据流乱序 )。报文处理与时间关系图如图 5 所示。0035 其中等待时间与密码卡性能有关,密码卡性能越高则等待时间越短。从图中我们可以看出,当密码卡处于连续工作状态,最大的发挥了密码卡的性能。由于某数据流的加密或解密步骤中,任何步骤始终保持由单一 CPU 核心处理,所以不会产生数据流乱序。0036 总的说来,。
17、报文从被取出后即根据加密或解密操作被分别送入到两个队列,两个队列是被两个CPU核心并行做IPSec前处理的,再统一送入密码卡中处理,处理后再根据加密或解密操作被分别送入到两个队列,两个队列分别由两个CPU核心并行做IPSec后处理,整个过程如图 6 所示。0037 上述方案一定程度上利用了 CPU 多核心并行处理能力的同时,又避免了并行处理带来的乱序问题,同时也最大程度的利用的密码卡的数据处理能力,使得IPSec VPN整机吞吐性能得到很大提高,尤其适合具有高速密码卡的 IPSec VPN 产品中使用。说 明 书CN 104468309 A1/2 页6图1图2图3图4说 明 书 附 图CN 104468309 A2/2 页7图5图6说 明 书 附 图CN 104468309 A。