CN102752102A - 数据包分段加密传输处理方法和装置 - Google Patents

数据包分段加密传输处理方法和装置 Download PDF

Info

Publication number
CN102752102A
CN102752102A CN2012102261045A CN201210226104A CN102752102A CN 102752102 A CN102752102 A CN 102752102A CN 2012102261045 A CN2012102261045 A CN 2012102261045A CN 201210226104 A CN201210226104 A CN 201210226104A CN 102752102 A CN102752102 A CN 102752102A
Authority
CN
China
Prior art keywords
segmentation
packet
encrypted
data
control data
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.)
Granted
Application number
CN2012102261045A
Other languages
English (en)
Other versions
CN102752102B (zh
Inventor
黄露
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Allwinner Technology Co Ltd
Original Assignee
Allwinner Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Allwinner Technology Co Ltd filed Critical Allwinner Technology Co Ltd
Priority to CN201210226104.5A priority Critical patent/CN102752102B/zh
Publication of CN102752102A publication Critical patent/CN102752102A/zh
Application granted granted Critical
Publication of CN102752102B publication Critical patent/CN102752102B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明提供一种数据包分段加密传输处理方法和装置,其中方法包括用于在介质访问控制层进行数据包传输处理:首先,根据数据包配置信息及分段阈值对数据包进行分段预处理;然后,在执行第一个分段发送处理之前,为第一个分段加密配置所需控制数据;在执行预设的每个分段发送处理时,对当前分段进行加密并同时执行发送上一个分段及配置下一个分段加密所需控制数据的操作;重复执行上述步骤可以将单个分段逐个发送出去,从而完成整个数据包的分段加密传输处理操作。本发明提供的数据包分段加密传输处理方法和装置可节省存储空间和数据包传输处理时间并保障数据包分段发送的高效传输处理。

Description

数据包分段加密传输处理方法和装置
技术领域
本发明涉及网络数据传输处理领域,特别是涉及一种数据包分段加密传输处理方法和装置。
背景技术
无线局域网络(Wireless Local Area Networks;WLAN)是相当便利的数据传输系统,无线局域网络应用无线通信技术将计算机设备互联起来,构成可以互相通信和实现资源共享的网络体系。
802.11是美国电气和电子工程师协会(Institute of Electrical and ElectronicsEngineers;IEEE)最初制定的一个无线局域网标准,主要用于解决办公室局域网和校园网中,用户与用户终端的无线接入,业务主要限于数据存取。
一个802.11无线局域网建立在一个蜂窝状的结构之上,该系统被细分为单元。每个单元(802.11术语称为基本服务集或基本服务组(basic service set,BSS))都被无线基站所控制。802.11协议包括了介质访问控制层(Medium AccessControl;MAC)和物理层(physical layer,PHY)。
典型的局域网协议使用长达数百字节的数据包(最长的以太网包可以长达1518字节)。在无线局域网有几个原因可以说明使用小数据包的好处:
(1)由于无线连接的高误码率,随着数据包的增大,数据包损坏的几率也升高。
(2)在发生数据包损坏的情况下(冲突或则干扰),数据包越小,重新传送的开销也越小。
(3)在一个跳频系统中,为了跳频,介质是被周期性中断的(我们的情况是每20毫秒一次),因此,数据包越小,它在传送中被中断挂起而需要在延时后重传的几率也就越小。
尽管如此,也没有理由引入一套全新的不能处理在以太网使用的1518字节的数据包的局域网协议。因此,802.11标准采取在MAC层增加一个简单的分片和重组还原机制来解决这一问题。应用层向传输层传递大量数据。传输层必须将数据拆分成小的片段,更适合传送。这些小的片段被成为分段。
人们部署无线局域网的时候,首先考虑到的即时安全性,802.11委员会对此陆续提出了多种加密措施,最早提出的是有线等效加密(Wired EquivalentPrivacy;WEP),后期的技术临时密钥完整性协议(Temporal Key Integrity Protocol;TKIP)也用到了WEP的帧处理操作。
现有技术中,通常分段的传输会利用请求发送/清除发送协议(Request-To-Send/Clear-To-Send protocol;RTS/CTS)占用较长信道时间,以支持速率集内的最快速率进行传输。在大量分段传输的情况下,对数据包分段加密的吞吐量就有很高要求,通常的做法是对整个数据包先采取分段加密,在全部分段加密完成之后才开始对整个数据包进行分段发送,这样会占用较多的存储空间和时间。因此对于现有技术,如何保障数据包分段发送的高效的同时,减少存储空间和传输处理时间,并提供更稳定的数据传输方式是个很难解决的问题。
发明内容
本发明提供了一种数据包分段加密传输处理方法和装置,为了实现高速率完成数据包分段加密发送,同时减少对存储空间和数据传输处理时间的占用,并提供更稳定的数据传输方法。
基于上述问题,本发明提供的一种数据包分段加密传输处理方法,用于在介质访问控制层进行数据包传输处理,具体包括:
步骤Ⅰ、根据数据包配置信息及分段阈值对所述数据包进行分段预处理;
步骤Ⅱ、在执行第一个分段发送处理之前,为第一个分段加密配置所需控制数据;
步骤Ⅲ、在执行预设的每个分段发送处理时,对所述当前分段进行加密并同时执行发送上一个分段及配置下一个分段加密所需控制数据的操作;
步骤Ⅳ、接收所述上一个分段的ACK响应,并判断是否成功接收;
步骤Ⅴ、若成功接收到所述ACK响应,则执行下述步骤VI;若没有成功接收所述ACK响应,则对相应分段进行重发,直到成功接收所述ACK响应或发送次数到达重发上限值,再执行下述步骤VI;
步骤VI、在当前分段加密和上一个分段发送操作且接收ACK响应操作都完成后,判断所述数据包中所有的分段是否已全部发送结束,若判断结果为是,执行步骤VII;若判断结果为否,返回步骤Ⅲ继续对下一分段执行相关操作;
步骤VII、结束所述数据包的分段加密传输处理操作。
本发明提供的一种数据包分段加密传输处理装置,用于在介质访问控制层进行数据包传输处理,包括分段预处理模块、配置模块、处理模块、接收判断模块、重发模块、判断模块和结束模块;其中:
分段预处理模块,用于根据数据包配置信息及分段阈值对所述数据包进行分段预处理;
配置模块,用于在执行每个分段发送处理之前,为所述每个分段配置所需控制数据;
处理模块,用于在执行预设的每个分段发送处理时,对所述当前分段进行加密并同时执行发送上一个分段及协调配置模块配置下一个分段加密所需控制数据的操作;
接收判断模块,用于接收所述上一个分段的ACK响应,并判断是否成功接收;
重发模块,用于判断若成功接收到所述ACK响应,则返回判断模块继续操作;若没有成功接收所述ACK响应,则对相应分段进行重发,直到成功接收所述ACK响应或发送次数到达重发上限值,再返回判断模块继续操作;
判断模块,用于在当前分段加密和上一个分段发送操作且接收ACK响应操作都完成后,判断所述数据包中所有的分段是否已全部发送结束,若判断结果为是,直接跳转结束模块结束分段加密发送处理操作;若判断结果为否,返回处理模块继续对下一分段执行相关操作;
结束模块,用于结束所述数据包的分段加密传输处理操作。
本发明的有益效果包括:
本发明提供的一种数据包分段加密传输处理方法和装置,其中方法用于在介质访问控制层进行数据包发送处理。首先,根据数据包配置信息及分段阈值对数据包进行分段预处理;然后,在执行第一个分段发送处理之前,为第一个分段加密配置所需控制数据;在执行预设的每个分段发送处理时,对当前分段进行加密并同时执行发送上一个分段及配置下一个分段加密所需控制数据的操作;重复执行上述步骤可以将单个分段逐个发送出去,从而完成整个数据包的分段加密传输处理操作。其实质是通过反复执行单个分段连续加密、发送和配置处理,来节省buffer存储空间和数据包传输处理时间。
其中,本发明这样通过重复连续地对处理单个分段的加密、发送和配置所需控制数据的方法,合理分配buffer存储空间,在处理完单个分段后就执行单个分段的发送,这样将大大降低了对buffer存储空间的要求,同时并根据当前分段的加密控制数据,对原始分段进行加密,加密后各分段的数据覆盖源数据,将进一步减少存储空间的使用,并减少对数据交换设备的配置要求。同时采用连续加密、发送和配置也减少了数据处理的时间。与现有技术相比,本发明所提供的数据包分段加密传输处理装置可以实现对数据包高速传输,同时,减少buffer存储空间和数据包传输处理时间,并能够在很小的存储空间的条件下,调用加密单元和发送单元完成数据包的分段加密和发送,确保无线数据的高速传输。
附图说明
图1为本发明数据包分段加密传输处理方法的一个实施例的流程示意图;
图2为本发明数据包分段加密传输处理方法的一个实施例中的分段存储空间进行预分配的示意图;
图3为本发明数据包分段加密传输处理方法的一个实施例中硬件加密操作流程图;
图4为本发明数据包分段加密传输处理方法的一个实施例中发送操作流程图;
图5为本发明数据包分段加密传输处理方法的一个实施例中硬件加密和发送的时序示意图。
图6为本发明数据包分段加密传输处理装置的一个实施例中结构示意图;
图7为本发明数据包分段加密传输处理装置的一个实施例中存储控制单元的操作示意图。
具体实施方式
下面结合说明书附图,对本发明实施例中的数据包分段加密传输处理方法和装置的具体实施方式进行说明。本发明实施例以WEP加密为例阐述本发明方法和装置的实施过程。本发明方法和装置同样适用于其它加密方式,如国际数据加密算法(International Data Encryption Algorithm,IDEA)和对称算法(DataEncryption Standard,DES)等。
本发明实施例提供的一种数据包分段加密传输处理方法,用于在介质访问控制层进行数据包发送处理,本实施例提供的数据包分段加密传输处理方法由数据包分段加密传输处理装置来完成。
图1是本发明实施例的数据包分段加密传输处理方法的流程图。如图1所示,本实施例所使用的方法包括如下几个步骤:
S101、根据数据包配置信息及分段阈值对数据包进行数据包存储空间预分配,具体通过如下步骤实现:
步骤a1、确定数据包总长度L和预设的分段阈值L’,其中分段阈值为标准分段的分段长度;
步骤a2、根据数据包总长度L和预设的分段阈值L’,对数据包进行分段,将数据包分成最大正整数个与分段阈值L’长度相等的分段和最后一个剩余分段,确定分段数量N和最后一个剩余分段的分段长度L_N;L/L’=N,其中N取上限整数值;确定每个分段的分段长度依次为:L_1、L_2、L_3…、L_N-1、L_N;其中L_1=L_2…=L_N-1=L’,L_N≤L’;其中,L=L_1+L_2+…L_N-1+L_N=L’×(N-1)+L_N;
步骤a3、根据分段阈值及具体加密方式对每个分段存储空间进行预分配。
在上述步骤a2中,根据配置信息及分段阈值(Fragment Threshold)对数据包进行分段,得到分段号(Frag Number)和最后一分段的分段长度(Last FragLen)。其中,分段阈值L’大小等于Fragment Threshold值,分段数量N大小为最大Frag Number的值,最后一个分段长度L_N大小等于Last FragLen值。配置信息主要包括有数据包的长度等信息。
在上述步骤a3中,在确定数据包总长度L和预设的分段阈值L’之后,分析配置信息,可以得到MAC Header长度加Payload的长度等信息,因此可以进行数据包缓冲器(buffer)存储空间的预分配操作。为待加密数据分配数据包缓冲器的存储空间,由于加密后数据包长度将会大于加密前,且为了使得加密后数据不会覆盖未加密数据,数据包缓冲器的存储空间必须合理分配。
具体地,每个分段的存储空间大小为分段阈值和预留存储空间大小之和。预留存储空间大小由具体加密方式而确定。下面结图2对数据包缓冲器的存储空间预分配举例解释说明。
参见图2,图2是本发明实施例所提供的分段存储空间进行预分配的具体示意图,待加密数据和加密后数据共享的存储buffer分配示意图,包括未加密的时的buffer图,第一分段加密完毕为后一分段预处理时的buffer图,以及所有分段均加密完毕后的buffer图。
为了不再为加密后数据另辟buffer存储,且加密后数据将会多出一些长度,同时为了不让加密后数据覆盖源数据,在MAC Header之后,Payload之前加入一块Reserve区域,该区域长度为:
Reserve.length=DP_MAX_FRAG_NBR×IV_ICV_LEN
其中,包含有初始向量(Initialization Vector,IV)和完整性校验值(IntegrityCheck Value,ICV),上述公式中DP_MAX_FRAG_NBR为最大分段数,IV_ICV_LEN为IV长度加ICV长度。如果是其它加密标准,IV_ICV_LEN值将改变。图2中IV域由3字节长的IV和2比特(bit)的key ID组成。
至此,对数据包缓冲器的存储空间预分配操作结束。
S102、在执行第一个分段发送处理之前,为第一个分段加密配置所需控制数据;
较佳地,分段加密配置所需的控制数据应以分段为单位;控制数据包括加密控制数据和发送控制数据。
具体地,初始状态时,将第一个分段(N=1)作为第一个处理发送的分段;
关于第一分段所需控制数据:加密控制数据和发送控制数据如下表说明。
加密控制数据包括多项,如下表说明:
  名称   位宽   说明
 Ksize   8   KEY数据项的长度,外部配置
 Bsize   16   待加密数据段长度
 Saddr   32   待加密数据存储地址
 Daddr   32   加密后数据存储地址
 Maddr   32   MAC Header存储地址
 Iv   48   初始向量,外部配置
 Key   40/104   Secret Key秘钥,外部配置
上表中除外部配置的项目外,其它项配置如下:
Bsize:在第一个分段中,Bsize值同Fragment Threshold;
Saddr,Daddr,Maddr:如图2所示;
发送控制数据包括多项,如下表所示:
Figure BDA00001841943800071
Figure BDA00001841943800081
上表中除外部配置的项目外,其它项配置如下:
Txlen:在第一个分段中,Txlen值为MAC Header长度加Payloadlen及FCS长度(4字节);
Machdrptr:每个分段(包括第一分段)都对应着同一个Mac Header地址;
Payloadlen:对应于加密控制数据中的Bsize当前值加上初始向量(Initialization Vector,IV)和完整性校验值(Integrity Check Value,ICV)长度,在第一个分段中,Payloadlen值同Fragment Threshold+(IV)+(ICV);其中,(IV)和(ICV)的长度都为4字节。
Payloadptr:在第一个分段中,Payloadptr值同Machdrptr+Machdrlen。
至此第一个分段的配置所需控制数据的操作结束。
S103、在执行预设的每个分段发送处理时,对当前分段进行加密并同时执行发送上一个分段及配置下一个分段加密所需控制数据的操作;
所述步骤S103具体包括步骤b1、步骤b1如下:在执行预设的每个分段发送处理时,对当前分段加密配置加密控制数据和发送控制数据;根据当前分段的加密控制数据,对原始分段进行加密,加密后各分段的数据覆盖源数据,并同时执行发送上一个分段的数据和为下一分段加密配置加密控制数据和发送控制数据的操作。
所述步骤b1中,加密方法可以采用硬件加密和软件加密等多种方式,在本实施了中,将以硬件加密的方式为例作具体说明。
进一步地,对当前分段N(N≥2)同时执行上述三个操作;启动当前分段(N)硬件加密、启动上一个分段(N-1)发送和为下一个分段(N+1)配置控制数据。若当前分段是最后一个分段,也就不存在下一个分段,因此无需为下一个分段配置控制数据。总的来说,上述三种操作步骤中,若不存在分段号位置的分段,将默认已经执行相关操作。
对上述步骤b1,举例说明:
(1)、在某Tn时刻,启动当前分段N硬件加密。
在配置好分段N的加密控制数据后,便可启动硬件加密。硬件加密首先会根据Ksize大小读取密钥Key,加密从Saddr地址开始处理,处理的最小单位为16字节,若不够将会补零处理。每处理完一个单元便会把加密后数据写入Daddr地址。对于长度为Len的待加密数据,加密后数据本身长度不变,但会加入IV和ICV,数据排列如下:
Figure BDA00001841943800091
参见图3,图3是硬件加密的操作流程图。如图3所示,硬件加密处理具体如下步骤实现:
S301、读控制数据,读取加密控制数据的所有项,其中非地址数据直接使用,地址数据和地址长度数据将用来读取待加密数据。
S302、建立加密表,根据控制数据中的KEY,依据WEP加密标准建立加密表,这个表将用户对待加密数据的加密。由于本发明的重点不在加密算法本身,因此本发明实施例对此不再赘述。
S303、读取源数据,根据控制数据中的Saddr和Bsize读取待加密数据,读取单位为16字节。
S304、对源数据加密,在加密表中读取同等量数据(16字节),与源数据进行异或运算。同时对未加密数据进行循环冗余校验(Cyclic RedundancyCheck,CRC)计算,边读取边进行CRC计算。
其中,CRC即循环冗余校验(Cyclic Redundancy Check),是数据通信领域中最常用的一种差错校验计算,其特征是信息字段和校验字段的长度可以任意选定。其中,CRC计算属于本领域技术人员的公知常识,对此本发明实施例不再赘述。
S305、写出加密数据。同样是每笔写出16字节。
S306、判断加密是否完成,若完成继续执行下一步骤S307,若判断结果为否,返回步骤S303继续处理加密工作;
其中,上述步骤具体实施时,重复执行步骤S303-S306,直到长度为Bsize的数据全部处理完毕,此时未加密数据的CRC也已计算完毕,再继续下面步骤。
S307、对CRC加密,在加密表中读取同等量数据(4字节),与源数据进行异或运算得到ICV。
S308、写出加密数据,将ICV数据写到加密Payload之后。
至此当前分段的硬件加密操作结束。
(2)、在上述Tn时刻,同时启动上一个分段(N-1)发送操作;
对加密后数据包进行发送,对每一个分段都会加入MAC Header域。属于同一个数据包的分段,除了fragment number外,这个域的值都相同。除MAC header域外,每个加密分段结尾还有帧校验序列(Frame Check Sequence,FCS),它用来保护加密过的数据。FCS值可在发送前面数据的时候产生。发送数据格式如下表:
Figure BDA00001841943800101
对于发送控制数据,参数Txlen,Txpwr,Txrate都是交给物理层硬件PHY处理。由于发送控制数据中有两项(Machdrptr和Payloadptr)是指针数据,因此发送过程中会有两次读存储单元的操作。
参见图4,图4是对分段发送的操作流程图。如图4所示,分段发送按如下步骤进行:
S401、计时,通过计时器执行计时操作,这是为了满足通信标准中对帧间间隔的要求,间隔时长由外部配置Ti决定。等到计时器Ti到时,才能开始读控制数据。同时,在发送完数据包之后进行计时,若在时限内没收到确认字符(Acknowledgement,ACK)响应,会触发上层的重发操作。
S402、读控制数据,读取发送控制数据的所有项,其中非地址数据直接使用,地址数据和地址长度数据将用来读取Mac Header和Payload。
S403、发送Mac Header,根据控制数据中的Machdrptr和Machdrlen,读取加密后的Mac Header数据,对帧中标记分段的比特(bit)进行更新,包括MoreFrag和FragNbr,然后将数据发送给PHY,伴随数据本身的还有TXRATE,TXPWR。在发送的同时会对加密后的Mac Header数据进行CRC的计算,并将结果保存。
S404、发送Payload,根据控制数据中的Payloadptr和Payloadlen,读取加密后的Payload数据,然后将数据发送给PHY,伴随数据本身的同样还有TXRATE,TXPWR。在发送的同时在Mac Header的CRC的基础上继续对加密后的Payload数据进行CRC的计算,得到最终的FCS。
S405、发送FCS,将前面得到的FCS发送给PHY。
至此上一个分段(N-1)发送操作结束。
(3)、在上述Tn时刻,同时执行配置下一个分段(N+1)所需控制数据操作;
与上述步骤S102类似,对于加密控制数据,除外部配置的项目外,其它项配置如下:
若下一个分段不存在,将视为不进行下一分段的配制操作。自行处理下一个步骤的操作。
对于分段N+1所需加密控制数据,如下表说明:
  名称   位宽   说明
 Ksize   8   KEY数据项的长度,外部配置
 Bsize   16   待加密数据段长度
 Saddr   32   待加密数据存储地址
 Daddr   32   加密后数据存储地址
 Maddr   32   MAC Header存储地址
  Iv   48   初始向量,外部配置
  Key   40/104   Secret Key秘钥,外部配置
上表中除外部配置的项目外,其它项配置如下:
Bsize:在配置第N+1个分段所需控制数据时,若此分段是最后一个分段,则值为LastFragLen;若否,则Bsize值同Fragment Threshold;
Saddr:当前分段Saddr值为前一分段的Saddr加上Fragment Threshold;
Daddr:当前分段Daddr值为前一分段的Daddr加上Fragment Threshold再加上IV,ICV长度;
Maddr:当前分段Maddr值与第一分段Maddr值相同。
对于分段N+1所需发送控制数据,如下表说明:
Figure BDA00001841943800121
除外部配置的项目外,其它项配置如下:
Txlen:Txlen值为MAC Header长度加Payloadlen及FCS长度(4字节);
Machdrptr:每个分段都对应着同一个Mac Header地址;
Payloadlen:在最后一个分段中,Payloadlen值为LastFragLen+(IV)+(ICV);其它分段Payloadlen值同第一分段即[Fragment Threshold+(IV)+(ICV)];其中,(IV)和(ICV)的长度都为4字节。
Payloadptr:Payloadptr值为前一个分段的Payloadptr值加上前一个分段的Payloadlen值。
至此下一个分段的配置所需控制数据的操作结束。
在上述步骤S103中,硬件加密和发送有中严格的时序要求。具体如下说明:
参见图5,图5是硬件加密和发送的时序示意图。如图5所示,如下时序调用分段加密和分段发送:
对于第一个分段,分段配置所需控制数据处理结束后便可启动硬件加密操作;对于后续分段N(N=2)加密,需满足两个条件才能启动:分段1加密完成,分段2配置处理结束(即控制数据配置好),也就是图中t1时刻;对于后续分段N(N>2)加密,需满足三个条件才能启动:分段N-1加密完成,分段N-2发送完成,分段N配置处理结束。以分段3(N=3)加密为例,满足三个条件才能启动:分段2加密完成,分段1发送完成,分段3配置处理结束。
作为一种可实施方式,配置处理可以由软件实施,时间花费很短,相对于硬件加密和发送可忽略不计,因此图中只给出加密和发送的示意图。
S104、接收上一个分段的ACK响应;
上述步骤S104中、对于加密后分段的发送,在发送完成后若接收端正常接收,接收端会在时隔短帧间间隔(Short Inter Frame Space,SIFS)后发送ACK响应包。发送端接收到此ACK响应后必须在SIFS时间间隔内发送下一加密分段。这也就对实时的分段加密和发送提出了严格时序要求。
接收端相对于发送端进行接收、解码、解密和处理接收数据及反馈ACK响应等操作,其为发送端的逆处理过程,本领域技术人员根据本发明实施例关于发送端的操作,能够完全实现接收端对发送端分段加密传输处理数据的接收、解码、解密等过程的处理,因此,在本发明实施例中,关于接收端的具体处理方法本发明实施例不再赘述。
S105、判断分段的ACK响应是否成功接收;若成功接收到ACK响应,则执行下述步骤S107;
S106、若没有成功接收ACK响应,则继续对相应分段进行重发,直到成功接收ACK响应或发送次数到达重发上限值,再执行下述步骤S107;
具体地,若没有成功接收ACK响应,则继续对相应分段进行重发,直到成功接收ACK响应或发送次数到达重发上限值;这样,可以保障分段完整和连续发送。
换言之,直到所有分段发送完毕,才会释放媒介。若响应包ACK超时,发送方会对相应分段进行重发,直到到达重发上限值。
S107、在当前分段加密和上一个分段发送且接收到上一个分段的ACK响应操作都完成后,判断数据包中所有的分段是否已全部发送结束,若判断结果为是,执行步骤S108;若判断结果为否,返回步骤S103继续对下一分段执行相关操作;
在上述步骤S107中,在当前分段加密和上一个分段发送且接收到上一个分段的ACK响应操作都完成后,若判断结果为否,将返回步骤S103对下一个分段继续执行相关操作。
具体地,在本实施例中,等待同时间段运行的分段N加密和分段N-1发送全部完成。在设计中,分段N加密必须比分段N-1发送先结束操作。参见图5,可以清楚示意。例如:在t1时刻,加密分段2和发送分段1同时开始启动操作,但加密分段2比发送分段1先结束操作。这是因为分段发送必须遵守严格的时序规则,前后两个分段的时间间隙在无线标准是有规定的。因此,在分段发送之前加密必须已经完成,而发送上一个分段操作比接收到上一个分段的ACK响应操作先结束。这样,在当前分段加密和上一个分段发送及接收到上一个分段的ACK操作都完成后,才会判断数据包中所有的分段是否已全部发送结束。如果判断结果为否,将会返回步骤S103,对下一个分段继续执行相关操作。
举例说明,若某数据包分段数为7,数据分段编号依次为1、2、3…7,在某个时刻,执行步骤S103,对当前分段(分段3)进行加密,并对上一个分段(分段2)执行发送操作,同时对下一个分段(分段4)执行配置所需控制数据的操作。在正确接收分段2的ACK响应之后,判断数据包中所有的分段是否已全部发送结束,显然数据包内的7个分段并没有全部发送出去。因此,在下一时刻,将返回步骤S103,对下一个分段(分段4)执行相关操作:即对分段4进行加密,并对上一个分段(分段3)执行发送操作,同时对下一个分段(分段5)执行配置所需控制数据的操作;在下一个时刻,执行步骤S103、S104和S105后,判断结果为成功接收分段3的响应,并继续执行步骤S107判断数据包中所有的分段是否已全部发送结束,显然数据包内的7个分段还是没有全部发送出去,继续跳转步骤S103,对下一个分段(分段6)执行相关操作;重复之处不再赘述。这样通过重复执行以上相关步骤,直至数据包中的7个分段全部发送再跳转步骤S108。
S108、结束数据包的分段加密传输处理操作。
总的来说,这样通过重复连续地对不同分段号的单个分段进行加密、发送和配置所需控制数据的操作,合理分配buffer存储空间,在处理完单个分段后就执行单个分段的发送,这样将大大降低了对buffer存储空间的要求,同时并根据当前分段的加密控制数据,对原始分段进行加密,加密后各分段的数据覆盖源数据,将进一步减少存储空间的使用,并减少对数据交换设备的配置要求。同时采用连续加密、发送和配置也减少了数据处理的时间。所以,本发明实施例所提供的方法将保障数据包分段发送的高效的同时,减少了存储空间和时间的占用。本发明实施例所提供的传输方法能够在很小的存储空间的条件下,调用加密单元和发送单元完成数据包的分段加密和发送,确保无线数据的高速传输。
基于同一发明构思,本发明实施例还提供了一种数据包分段加密传输处理装置,由于此装置解决问题的原理与前述一种数据包分段加密传输处理方法相似,因此该系统的实施可以参见前述方法的实施,重复之处不再赘述。
本发明实施例提供的一种数据包分段加密传输处理装置,如图6所示,数据包分段加密传输处理装置,具体包括:分段预处理模块601、初始配置模块602、处理模块603、接收判断模块604、重发模块605、判断模块606和结束模块607;其中:
分段预处理模块601,用于根据数据包配置信息及分段阈值对数据包进行分段预处理;
配置模块602,用于在执行每个分段发送处理之前,为每个分段配置所需控制数据。
处理模块603,用于在执行预设的每个分段发送处理时,对当前分段进行加密并同时执行发送上一个分段及协调配置模块配置下一个分段加密所需控制数据的操作;
接收判断模块604,用于接收上一个分段的ACK响应,并判断是否成功接收;
重发模块605,用于判断若成功接收到ACK响应,则返回判断模块继续操作;若没有成功接收ACK响应,则对相应分段进行重发,直到成功接收ACK响应或发送次数到达重发上限值,再返回判断模块继续操作;
判断模块606,用于在当前分段加密和上一个分段发送操作且接收ACK响应操作都完成后,判断数据包中所有的分段是否已全部发送结束,若判断结果为是,直接跳转结束模块结束分段加密发送处理操作;若判断结果为否,返回处理模块继续对下一分段执行相关操作;
结束模块607,用于结束数据包的分段加密传输处理操作。
进一步地,分段预处理模块601,具体包括预设单元、分段单元和预分配单元,其中:
预设单元,用于确定数据包总长度L和预设的分段阈值L’,其中分段阈值为标准分段的分段长度;
分段单元,用于根据数据包总长度L和预设的分段阈值L’,对数据包进行分段,将数据包分成最大正整数个与分段阈值L’长度相等的分段和最后一个剩余分段,确定分段数量N和最后一个剩余分段的分段长度L_N;L/L’=N,其中N取上限整数值;确定每个分段的分段长度依次为:L_1、L_2、L_3…、L_N-1、L_N;其中L_1=L 2…=L_N-1=L’,L_N≤L’;其中,L=L_1+L_2+…L_N-1+L_N=L’×(N-1)+L_N;
预分配单元,用于根据分段阈值及具体加密方法对每个分段存储空间进行预分配。
其中,分段单元,根据数据包长和分段阈值,对数据包进行分段。同时根据配置参数最大分段长度,为存储空间预留加密后额外数据空间。对加密前数据包的存储空间进行预分配,对待加密数据包进行分段,确保加密后数据的存储正确;
较佳地,所述配置模块602,包括配置单元。
配置单元,用于对每个分段加密配置加密控制数据和发送控制数据;
进一步地,处理模块603,具体包括加密单元、发送单元和存储控制单元,其中:
加密单元,用于根据配置单元提供的加密控制数据,对原始分段进行加密,加密后各分段的数据覆盖源数据;
发送单元,用于根据配置单元提供的发送控制数据,将加密后的分段的数据发送给接收端;
存储控制单元,用于协调加密单元和发送单元对存储空间的读取,并协调控制配置单元对下一个分段执行配置控制数据的操作。
所述加密单元,还用于加密控制数据,更新Bsize,Saddr,Daddr,Maddr。更新过程如前所述。
所述发送单元,还用于发送控制数据,更新Txlen,Machdrptr,Payloadlen,Payloadptr。更新过程如前所述。
配置分段的所需控制数据结束后,加密控制数据传递给加密单元,发送控制数据传递给发送单元。
上述存储控制单元,由于存储空间为独占资源,不能同时进行多个外部读写,因此分时分配读写是必需的。
参见图7,图7是存储控制单元的工作示意图。如图7所示,存储控制单元按如下方式分配存储单元的读写控制权:
对时钟周期(cycle)以3为循环周期进行分配,第一个时钟周期A用来给加密单元读取源数据(待加密数据),第三个时钟周期C用来给加密单元写出加密后数据。这两个时钟周期的处理单位均为16字节。第二个时钟周期B用来给发送单元读取加密后数据,处理单位同为16字节。在每一个时钟周期,A,B,C不必都有读写操作,但若有操作必须按照前面所述进行。
在同一个循环周期内,加密单元所处理的分段为N,发送单元所处理的分段为N-1.若分段N为最后一个分段,则分段N长度必然小于等于分段N-1;若分段N不是最后一个分段,则分段N长度等于分段N-1。由于每个循环周期最多加密16字节,最多发送16字节,且加密是能够满负荷进行。这样就保证了加密速率一定高于发送速率,并保证了发送能够满足通信协议的时序要求。
本发明提供的一种数据包分段加密传输处理方法和装置,其中方法用于在介质访问控制层进行数据包发送处理。首先,根据数据包配置信息及分段阈值对数据包进行分段预处理;然后,在执行第一个分段发送处理之前,为第一个分段加密配置所需控制数据;在执行预设的每个分段发送处理时,对当前分段进行加密并同时执行发送上一个分段及配置下一个分段加密所需控制数据的操作;重复执行上述步骤可以将单个分段逐个发送出去,从而完成整个数据包的分段加密传输处理操作。其实质是通过反复执行单个分段连续加密、发送和配置处理,来节省buffer存储空间和数据包传输处理的时间。
其中,本发明通过重复连续地对不同分段号的单个分段进行加密、发送和配置所需控制数据的操作,合理分配buffer存储空间,在处理完单个分段后就执行单个分段的发送,这样将大大降低了对buffer存储空间的要求,同时并根据当前分段的加密控制数据,对原始分段进行加密,加密后各分段的数据覆盖源数据,将进一步减少存储空间的使用,并减少对数据交换设备的配置要求。同时采用连续加密、发送和配置也减少了数据处理的时间。与现有技术相比,本发明所提供的数据包分段加密传输处理装置可以实现对数据包高速传输,同时,减少存储空间和时间,并能够在使用很小的存储空间的条件下,调用加密单元和发送单元完成数据包的分段加密和发送,确保无线数据的高速传输。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。

Claims (10)

1.一种数据包分段加密传输处理方法,用于在介质访问控制层进行数据包传输处理,其特征在于,包括:
步骤Ⅰ、根据数据包配置信息及分段阈值对所述数据包进行分段预处理;
步骤Ⅱ、在执行第一个分段发送处理之前,为第一个分段加密配置所需控制数据;
步骤Ⅲ、在执行预设的每个分段发送处理时,对所述当前分段进行加密并同时执行发送上一个分段及配置下一个分段加密所需控制数据的操作;
步骤Ⅳ、接收所述上一个分段的ACK响应,并判断是否成功接收;
步骤Ⅴ、若成功接收到所述ACK响应,则执行下述步骤VI;若没有成功接收所述ACK响应,则对相应分段进行重发,直到成功接收所述ACK响应或发送次数到达重发上限值,再执行下述步骤VI;
步骤VI、在当前分段加密和上一个分段发送操作且接收ACK响应操作都完成后,判断所述数据包中所有的分段是否已全部发送结束,若判断结果为是,执行步骤VII;若判断结果为否,返回步骤Ⅲ继续对下一分段执行相关操作;
步骤VII、结束所述数据包的分段加密传输处理操作。
2.根据权利要求1所述的数据包分段加密传输处理方法,其特征在于,所述步骤Ⅰ具体包括:
步骤a1、确定所述数据包总长度L和预设的分段阈值L’,其中所述分段阈值L’为标准分段的分段长度;
步骤a2、根据所述数据包总长度L和预设的分段阈值L’,对所述数据包进行分段,将所述数据包分成最大正整数个与分段阈值L’长度相等的分段和最后一个剩余分段,确定分段数量N和最后一个剩余分段的分段长度L_N;L/L’=N,其中N取上限整数值;确定每个分段的分段长度依次为:L_1、L_2、L_3…、L_N-1、L_N;其中L_1=L_2…=L_N-1=L’,L_N≤L’;其中,L=L_1+L_2+…L_N-1+L_N=L’×(N-1)+L_N;
步骤a3、根据所述分段阈值及预设加密方法对每个分段存储空间进行预分配。
3.根据权利要求2所述的数据包分段加密传输处理方法,其特征在于,所述每个分段的存储空间大小为所述分段阈值和预留存储空间大小之和。
4.根据权利要求1所述的数据包分段加密传输处理方法,其特征在于,所述分段加密配置所需的控制数据以分段为单位。
5.根据权利要求4所述的数据包分段加密传输处理方法,其特征在于,所述控制数据包括加密控制数据和发送控制数据。
6.根据权利要求1或5所述的数据包分段加密传输处理方法,其特征在于,所述步骤Ⅲ具体包括如下步骤:
步骤b1、在执行预设的每个分段发送处理时,对当前分段加密配置所述加密控制数据和所述发送控制数据;根据当前分段的所述加密控制数据,对原始分段进行加密,加密后各分段的数据覆盖源数据,并同时执行发送上一个分段的数据和为下一分段加密配置加密控制数据和发送控制数据的操作。
7.一种数据包分段加密传输处理装置,其特征在于,包括:分段预处理模块、配置模块、处理模块、接收判断模块、重发模块、判断模块和结束模块;其中:
所述分段预处理模块,用于根据数据包配置信息及分段阈值对所述数据包进行分段预处理;
所述配置模块,用于在执行每个分段发送处理之前,为所述每个分段配置所需控制数据;
所述处理模块,用于在执行预设的每个分段发送处理时,对所述当前分段进行加密并同时执行发送上一个分段及协调配置模块配置下一个分段加密所需控制数据的操作;
所述接收判断模块,用于接收所述上一个分段的确认字符ACK响应,并判断是否成功接收;
所述重发模块,用于判断若成功接收到所述ACK响应,则返回判断模块继续操作;若没有成功接收所述ACK响应,则对相应分段进行重发,直到成功接收所述ACK响应或发送次数到达重发上限值,再返回判断模块继续操作;
所述判断模块,用于在当前分段加密和上一个分段发送操作且接收ACK响应操作都完成后,判断所述数据包中所有的分段是否已全部发送结束,若判断结果为是,直接跳转结束模块结束分段加密发送处理操作;若判断结果为否,返回处理模块继续对下一分段执行相关操作;
所述结束模块,用于结束所述数据包的分段加密传输处理操作。
8.根据权利要求7所述的数据包分段加密传输处理装置,其特征在于,所述分段处理模块,具体包括预设单元、分段单元和预分配单元,其中:
所述预设单元,用于确定所述数据包总长度L和预设的分段阈值L’,其中所述分段阈值L’为标准分段的分段长度;
所述分段单元,用于根据所述数据包总长度L和预设的分段阈值L’,对所述数据包进行分段,将所述数据包分成最大正整数个与分段阈值L’长度相等的分段和最后一个剩余分段,确定分段数量N和最后一个剩余分段的分段长度L_N;L/L’=N,其中N取上限整数值;确定每个分段的分段长度依次为:L_1、L_2、L_3…、L_N-1、L_N;其中L_1=L_2…=L_N-1=L’,L_N≤L’;其中,L=L_1+L_2+…L_N-1+L_N=L’×(N-1)+L_N;
所述预分配单元,用于根据所述分段阈值及具体加密方式对每个分段存储空间进行预分配。
9.根据权利要求7所述的数据包分段加密传输处理装置,其特征在于,所述配置模块,包括配置单元;
所述配置单元,用于对每个分段加密配置加密控制数据和发送控制数据。
10.根据权利要求9所述的数据包分段加密传输处理装置,其特征在于,所述处理模块,具体包括加密单元、发送单元和存储控制单元,其中:
所述加密单元,用于根据配置单元提供的加密控制数据,对原始分段进行加密,加密后各分段的数据覆盖源数据;
所述发送单元,用于根据配置单元提供的发送控制数据,将加密后的分段的数据发送给接收端;
所述存储控制单元,用于协调加密单元和发送单元对存储空间的读取,并协调控制配置单元对下一个分段执行配置控制数据的操作。
CN201210226104.5A 2012-07-02 2012-07-02 数据包分段加密传输处理方法和装置 Active CN102752102B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210226104.5A CN102752102B (zh) 2012-07-02 2012-07-02 数据包分段加密传输处理方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210226104.5A CN102752102B (zh) 2012-07-02 2012-07-02 数据包分段加密传输处理方法和装置

Publications (2)

Publication Number Publication Date
CN102752102A true CN102752102A (zh) 2012-10-24
CN102752102B CN102752102B (zh) 2015-05-13

Family

ID=47032016

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210226104.5A Active CN102752102B (zh) 2012-07-02 2012-07-02 数据包分段加密传输处理方法和装置

Country Status (1)

Country Link
CN (1) CN102752102B (zh)

Cited By (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103929302A (zh) * 2013-01-12 2014-07-16 鹤山世达光电科技有限公司 加密信息处理方法及处理系统
CN104579556A (zh) * 2014-12-05 2015-04-29 苏州沃斯麦机电科技有限公司 多节点间数据完整性传输系统
CN104579557A (zh) * 2014-12-05 2015-04-29 苏州沃斯麦机电科技有限公司 一种多节点间数据完整性传输方法
CN104579558A (zh) * 2014-12-05 2015-04-29 苏州沃斯麦机电科技有限公司 一种数据传输过程中完整性检测方法
CN105205369A (zh) * 2015-08-20 2015-12-30 青岛三链锁业有限公司 一种掌静脉图像数据处理方法
CN106570423A (zh) * 2016-10-28 2017-04-19 上海斐讯数据通信技术有限公司 一种数据防篡改方法及系统
CN107005837A (zh) * 2014-11-17 2017-08-01 三星电子株式会社 用于通信系统中的简档安装的装置和方法
CN108777715A (zh) * 2018-06-06 2018-11-09 成都邑教云信息技术有限公司 一种高效率互联网教育系统
CN108830207A (zh) * 2018-06-06 2018-11-16 成都邑教云信息技术有限公司 一种互联网教育告警系统
CN109330505A (zh) * 2018-11-19 2019-02-15 南京特沃斯清洁设备有限公司 一种洗地机物联网系统
CN109687954A (zh) * 2018-12-25 2019-04-26 贵州华芯通半导体技术有限公司 用于算法加速的方法和装置
CN109743353A (zh) * 2018-12-04 2019-05-10 河南高通物联网有限公司 一种基于物联网的数据转换方法
CN109922047A (zh) * 2019-01-31 2019-06-21 武汉天喻聚联网络有限公司 一种图像传输系统及方法
CN110035069A (zh) * 2019-03-15 2019-07-19 河南高通物联网有限公司 一种物联网信息安全保护方法
CN112188546A (zh) * 2019-07-03 2021-01-05 成都华为技术有限公司 传输数据的方法和装置
CN114553597A (zh) * 2022-04-22 2022-05-27 中国长江三峡集团有限公司 一种电力设备运维数据传输管理方法及系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030208693A1 (en) * 2002-05-02 2003-11-06 Fuji Xerox Co., Ltd. Method and system for transferring data
CN102025486A (zh) * 2009-09-21 2011-04-20 深圳市证通电子股份有限公司 安全智能芯片的密钥管理方法
CN102402488A (zh) * 2010-09-16 2012-04-04 电子科技大学 一种适用于基于磁盘的消冗存储系统的加密方案(esds)

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030208693A1 (en) * 2002-05-02 2003-11-06 Fuji Xerox Co., Ltd. Method and system for transferring data
CN102025486A (zh) * 2009-09-21 2011-04-20 深圳市证通电子股份有限公司 安全智能芯片的密钥管理方法
CN102402488A (zh) * 2010-09-16 2012-04-04 电子科技大学 一种适用于基于磁盘的消冗存储系统的加密方案(esds)

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
宋国栋,李国阳: "高速数据流安全系统的实现", 《信息安全与通信保密》 *
赵建明,姚念民: "NS-2下无线节点MAC层帧分段发送实现", 《科学技术与工程》 *

Cited By (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103929302A (zh) * 2013-01-12 2014-07-16 鹤山世达光电科技有限公司 加密信息处理方法及处理系统
CN112566073A (zh) * 2014-11-17 2021-03-26 三星电子株式会社 用于通信系统中的简档安装的装置和方法
CN107005837A (zh) * 2014-11-17 2017-08-01 三星电子株式会社 用于通信系统中的简档安装的装置和方法
US10986487B2 (en) 2014-11-17 2021-04-20 Samsung Electronics Co., Ltd. Apparatus and method for profile installation in communication system
CN104579556A (zh) * 2014-12-05 2015-04-29 苏州沃斯麦机电科技有限公司 多节点间数据完整性传输系统
CN104579557A (zh) * 2014-12-05 2015-04-29 苏州沃斯麦机电科技有限公司 一种多节点间数据完整性传输方法
CN104579558A (zh) * 2014-12-05 2015-04-29 苏州沃斯麦机电科技有限公司 一种数据传输过程中完整性检测方法
CN105205369A (zh) * 2015-08-20 2015-12-30 青岛三链锁业有限公司 一种掌静脉图像数据处理方法
CN106570423A (zh) * 2016-10-28 2017-04-19 上海斐讯数据通信技术有限公司 一种数据防篡改方法及系统
CN108777715A (zh) * 2018-06-06 2018-11-09 成都邑教云信息技术有限公司 一种高效率互联网教育系统
CN108830207A (zh) * 2018-06-06 2018-11-16 成都邑教云信息技术有限公司 一种互联网教育告警系统
CN109330505B (zh) * 2018-11-19 2021-06-29 南京特沃斯清洁设备有限公司 一种洗地机物联网系统
CN109330505A (zh) * 2018-11-19 2019-02-15 南京特沃斯清洁设备有限公司 一种洗地机物联网系统
CN109743353A (zh) * 2018-12-04 2019-05-10 河南高通物联网有限公司 一种基于物联网的数据转换方法
CN109743353B (zh) * 2018-12-04 2021-06-25 北京讯众通信技术股份有限公司 一种基于物联网的数据转换方法
CN109687954A (zh) * 2018-12-25 2019-04-26 贵州华芯通半导体技术有限公司 用于算法加速的方法和装置
CN109922047A (zh) * 2019-01-31 2019-06-21 武汉天喻聚联网络有限公司 一种图像传输系统及方法
CN109922047B (zh) * 2019-01-31 2021-11-19 武汉天喻聚联网络有限公司 一种图像传输系统及方法
CN110035069A (zh) * 2019-03-15 2019-07-19 河南高通物联网有限公司 一种物联网信息安全保护方法
CN110035069B (zh) * 2019-03-15 2021-08-27 三亚好未来投资合伙企业(有限合伙) 一种物联网信息安全保护方法
CN112188546A (zh) * 2019-07-03 2021-01-05 成都华为技术有限公司 传输数据的方法和装置
CN112188546B (zh) * 2019-07-03 2023-06-27 成都华为技术有限公司 传输数据的方法和装置
CN114553597A (zh) * 2022-04-22 2022-05-27 中国长江三峡集团有限公司 一种电力设备运维数据传输管理方法及系统
CN114553597B (zh) * 2022-04-22 2022-07-19 中国长江三峡集团有限公司 一种电力设备运维数据传输管理方法及系统

Also Published As

Publication number Publication date
CN102752102B (zh) 2015-05-13

Similar Documents

Publication Publication Date Title
CN102752102B (zh) 数据包分段加密传输处理方法和装置
US10708048B2 (en) Wireless device and method for rekeying with reduced packet loss for high-throughput wireless communications
CN102130768B (zh) 一种具有链路层加解密能力的终端设备及其数据处理方法
US20050108527A1 (en) Method and apparatus to provide secured link
US20240107313A1 (en) Control frame processing method, control frame generating method, station, access point, and storage medium
CN103096303A (zh) 传输数据包的方法及设备
US20230089319A1 (en) Address randomization schemes
US20200015164A1 (en) Key and packet number management for wakeup radio frames
Makda et al. Security implications of cooperative communications in wireless networks
CN114615657A (zh) 一种5g通信中的数据分段解密方法及装置
US20080137687A1 (en) Method and apparatus for handling reordering in a wireless communications system
US20230085657A1 (en) Address randomization schemes for multi-link devices
US20240048531A1 (en) Obfuscation in privacy beacon
KR101320781B1 (ko) 적응 패킷 암호화
EP4290902A1 (en) Association identifier change and obfuscation in wlan communication
US20240056802A1 (en) Method and apparatus for security of a wireless communication
CN116566953A (zh) 地址随机化方案
CN118118895A (zh) 介质访问控制标头混淆
CN116456333A (zh) 加密mac标头字段以用于wlan隐私增强

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