CN116015980A - 一种udp数据包处理方法、装置、设备及存储介质 - Google Patents
一种udp数据包处理方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN116015980A CN116015980A CN202310174554.2A CN202310174554A CN116015980A CN 116015980 A CN116015980 A CN 116015980A CN 202310174554 A CN202310174554 A CN 202310174554A CN 116015980 A CN116015980 A CN 116015980A
- Authority
- CN
- China
- Prior art keywords
- packet
- data
- udp
- data packet
- key
- 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
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/50—Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请实施例涉及数据处理技术领域,具体而言,涉及一种UDP数据包处理方法、装置、设备及存储介质,旨在保障UDP数据包传输时的安全性。所述方法包括:获取待传输的UDP数据包;根据所述UDP数据包的大小,按照对应的数据加密方式,使用密钥对所述UDP数据包进行加密,得到加密数据包;将所述加密数据包和所述密钥发送给目标设备,所述密钥用于对所述加密数据包进行解密以得到所述UDP数据包。
Description
技术领域
本申请实施例涉及数据处理技术领域,具体而言,涉及一种UDP数据包处理方法、装置、设备及存储介质。
背景技术
UDP(User Datagram Protocol,用户资料包协议)是一种互联网数据传输的协议,UDP协议为网络应用提供服务请求、数据请求、数据交换、统计投递等功能,传输速度快,是一种使用较为广泛的网络数据传输协议,基于UDP的应用层网络传输协议一般具有明显的特征,易于识别。
当未加密的UDP数据包被恶意网关识别后,可以进行中断、重放等攻击方式,干扰服务的正常运行,数据传输的安全性得不到很好地保障。
发明内容
本申请实施例提供一种UDP数据包处理方法、装置、设备及存储介质,旨在保障UDP数据包传输时的安全性。
本申请实施例第一方面提供一种UDP数据包处理方法,所述方法包括:
获取待传输的UDP数据包;
根据所述UDP数据包的大小,按照对应的数据加密方式,使用密钥对所述UDP数据包进行加密,得到加密数据包;
将所述加密数据包和所述密钥发送给目标设备,所述密钥用于对所述加密数据包进行解密以得到所述UDP数据包。
可选地,所述将所述加密数据包和所述密钥发送给目标设备,所述方法还包括:
确定当前可用的所有的数据传输端口;
从所述所有的数据传输端口中选择任意一个数据传输端口作为所述加密数据包的传输端口;
将所述加密数据包和所述密钥通过所述传输端口发送至所述目标设备。
可选地,根据所述UDP数据包的大小,按照对应的数据加密方式,使用密钥对所述UDP数据包进行加密,包括:
当所述UDP数据包的数据容量小于预设数据容量阈值时,采用异或加密的方法,使用所述密钥对所述UDP数据包进行加密;
当所述UDP数据集包的数据容量大于预设数据容量阈值时,采用对称加密的方法,使用所述密钥对所述UDP数据包进行加密。
可选地,所述采用异或加密的方法,使用所述密钥对所述UDP数据包进行加密,包括:
在所述UDP数据包的包头添加符合预设字节数的随机数,将所述随机数作为加密所使用的所述密钥;
将添加有所述随机数的UDP数据包中的数据分为多个数据组,每个所述数据组中的字节数与所述预设字节数相同;
从第二个数据组开始,将每个所述数据组中的每个字节分别与前一个数据组中的每个字节进行异或运算。
可选地,所述采用对称加密的方法,使用所述密钥对所述UDP数据包进行加密,包括:
生成符合预设字节数的随机数,将所述随机数作为加密所述UDP数据包所使用的密钥;
通过加密算法对所述密钥和所述UDP数据包中的数据进行处理。
可选地,所述方法还包括:
对所述UDP数据包的数据传输过程进行实时监测;
当检测到所述UDP数据包的数据传输量达到预设的数据传输量阈值,或,所述UDP数据包的数据传输时间达到预设的数据传输时间阈值时,重新生成新密钥;
通过所述新密钥对所述UDP数据包进行加密。
可选地,其特征在于,在将所述加密数据包和所述密钥发送给目标设备之前,所述方法还包括:
根据预设的包头生成规则,生成所述加密数据包对应的所述流媒体协议包头;
将所述流媒体协议包头添加至所述加密数据包的包头位置,得到封装加密数据包;
将所述加密数据包和所述密钥发送给目标设备,包括:
将所述封装加密数据包和所述密钥发送给所述目标设备。
本申请实施例第二方面提供一种UDP数据包处理装置,所述装置包括:
数据包获取模块,用于获取待传输的UDP数据包;
数据包加密模块,用于根据所述UDP数据包的大小,按照对应的数据加密方式,使用密钥对所述UDP数据包进行加密,得到加密数据包;
数据包发送模块,用于将所述加密数据包和所述密钥发送给目标设备,所述密钥用于对所述加密数据包进行解密以得到所述UDP数据包。
可选地,所述UDP数据包发送模块:
传输端口确认子模块,用于确定当前可用的所有的数据传输端口;
传输端口选择子模块,用于从所述所有的数据传输端口中选择任意一个数据传输端口作为所述加密数据包的传输端口;
数据发送子模块,用于将所述加密数据包和所述密钥通过所述传输端口发送至所述目标设备。
可选地,所述数据包加密模块包括:
第一数据包加密子模块,用于当所述UDP数据包的数据容量小于预设数据容量阈值时,采用异或加密的方法,使用所述密钥对所述UDP数据包进行加密;
第二数据包加密子模块,用于当所述UDP数据集包的数据容量大于预设数据容量阈值时,采用对称加密的方法,使用所述密钥对所述UDP数据包进行加密。
可选地,所述第一数据包加密子模块包括:
第一随机数生成子模块,用于在所述UDP数据包的包头添加符合预设字节数的随机数,将所述随机数作为加密所使用的所述密钥;
数据组划分子模块,用于将添加有所述随机数的UDP数据包中的数据分为多个数据组,每个所述数据组中的字节数与所述预设字节数相同;
异或运算子模块,用于从第二个数据组开始,将每个所述数据组中的每个字节分别与前一个数据组中的每个字节进行异或运算。
可选地,所述第二数据包加密子模块包括:
第二随机数生成子模块,用于生成符合预设字节数的随机数,将所述随机数作为加密所述UDP数据包所使用的密钥;
加密运算子模块,用于通过加密算法对所述密钥和所述UDP数据包中的数据进行处理。
可选地,所述装置还包括:
实时检测模块,用于对所述UDP数据包的数据传输过程进行实时监测;
密钥更模块,用于当检测到所述UDP数据包的数据传输量达到预设的数据传输量阈值,或,所述UDP数据包的数据传输时间达到预设的数据传输时间阈值时,重新生成新密钥;
新密钥加密模块,用于通过所述新密钥对所述UDP数据包进行加密。
可选地,所述装置还包括:
包头生成模块,用于根据预设的包头生成规则,生成所述加密数据包对应的所述流媒体协议包头;
封装加密数据包获得模块,用于将所述流媒体协议包头添加至所述加密数据包的包头位置,得到封装加密数据包;
所述数据包发送模块包括:
封装加密数据包发送子模块,用于将所述封装加密数据包和所述密钥发送给所述目标设备。
本申请实施例第三方面提供一种可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时,实现如本申请第一方面所述的方法中的步骤。
本申请实施例第四方面提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时,实现本申请第一方面所述的方法的步骤。
采用本申请提供的UDP数据包处理方法,获取待传输的UDP数据包;根据所述UDP数据包的大小,按照对应的数据加密方式,使用密钥对所述UDP数据包进行加密,得到加密数据包;将所述加密数据包和所述密钥发送给目标设备,所述密钥用于对所述加密数据包进行解密以得到所述UDP数据包。本申请中,根据UDP数据包的数据量大小,采用了对应的加密方式对UDP数据包进行加密处理,进而可以合理的平衡不同的UDP数据包之间的计算量,合理的分配了计算资源,保证了UDP数据包在传输时的安全性。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本申请一实施例提出的UDP数据包处理方法的流程图;
图2是本申请一实施例提出的UDP数据包处理方法的流程图;
图3是本申请一实施例提出的UDP数据包处理方法的流程图;
图4是本申请一实施例提出的UDP数据包处理方法的流程图;
图5是本申请一实施例提出的UDP数据包处理方法的流程图;
图6是本申请一实施例提出的UDP数据包处理方法的流程图;
图7是本申请一实施例提出的UDP数据包处理方法的流程图;
图8是本申请一实施例提出的RTP协议包头字段示意图;
图9是本申请一实施例提出的UDP数据包处理装置的示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
参考图1,图1是本申请一实施例提出的UDP数据包处理方法的流程图。如图1所示,该方法包括以下步骤:
S11:获取待传输的UDP数据包。
本实施例中,UDP(用户资料包协议)是一种常用的网络数据传输协议,UDP协议是一种无连接协议,可以在不建立连接的情况下将封装的IP数据包发送至目标地址。
本实施例中,当数据发送端接收到数据请求端发的数据请求时,根据该数据请求确定需要进行发送的UDP数据包,数据发送端也可以在未接收到数据请求的情况下自行决定需要发送的目标设备,并确定需要进行发送的UDP数据包,将这些数据包作为待传输的UDP数据包,在将待传输的UDP数据包发送至目标地址之前,从数据发送端的存储中调取待传输的UDP数据包。
示例地,当用户使用终端进行实时的音视频通讯时,使用UDP协议对数据进行传输,将用户的音视频文件以UDP数据包的形式实时传输至目标用户的终端。
S12:根据所述UDP数据包的大小,按照对应的数据加密方式,使用密钥对所述UDP数据包进行加密,得到加密数据包。
本实施例中,加密数据包是加密之后的UDP数据包。数据包的大小表示了数据包中的数据容量大小,数据容量就是数据包中包含数据的字节的长度,字节长度越长,数据容量越大,字节长度越短,数据容量越小。密钥是一种在对明文数据进行加密时,输入对应的加密算法中的参数。
本实施例中,在获取UDP数据包后,检测该UDP数据包中包含的数据的字节的长度,确定该UDP数据包的数据容量。在将UDP数据包发送至目标地址之前,根据该DUP数据包的数据容量,按照对应的数据加密方式,使用密钥对UDP数据包进行加密,得到加密数据包。
本实施例中,当UDP数据包的数据容量较小时,使用异或加密算法对UDP数据包进行加密,因为对整个数据包进行异或运算较为耗费计算资源,故适合在较小的数据包上使用该加密算法。当UDP数据包的数据容量较大时,使用对称加密算法对UDP数据包进行加密,对称加密对数据的加密速度快,因此适合对大容量的数据进行加密。在进行加密时,都需要通过密钥作为加密使用的参数,将密钥与UDP数据包一同输入对应的加密算法中,处理得到加密数据包。
S13:将所述加密数据包和所述密钥发送给目标设备,所述密钥用于对所述加密数据包进行解密以得到所述UDP数据包。
本实施例中,当对数据包进行加密之后,将得到的加密数据包和加密时所用的密钥一同发送至目标设备。目标设备在接收到加密数据包和加密时所用的密钥后,将加密数据包和对应的密钥输入加密算法中,得到该UDP数据包。
本实施例中,根据接收到的数据请求确定该数据请求对应的待传输的UDP数据包,根据UDP数据包的容量大小,采取对应的加密方法对UDP数据包进行加密,在不过多增加计算量的情况下,对UDP数据包进行了针对性的加密,得到了加密数据包,保证了UDP数据传输的安全性。
本实施例中,步骤S13还包括:
S21:确定当前可用的所有的数据传输端口。
本实施例中,数据传输端口是用于数据传输的网络端口。
本实施例中,在将加密数据包传输至数据请求方之前,先确定当前本地端可以使用的所有的数据传输端口。
示例地,当前可以使用的数据传输端口为端口1~端口100。
S22:从所述所有的数据传输端口中任意选择一个数据传输端口作为所述加密数据包的传输端口。
本实施例中,通过随机选取的方式,在所有可以使用的数据传输端口中选取一个数据传输端口作为加密数据包的传输端口。
示例地,在端口1~端口100中随机选取端口63作为加密数据包的数据传输端口。
S23:将所述加密数据包和所述密钥通过所述传输端口发送至所述目标设备。
本实施例中,在选取了数据的传输端口之后,通过该传输端口,将加密数据包发送至目标设备,数据请求方在数据请求中说明了自身的网络地址,通过该传输端口将加密数据包发送至对应的网络地址,完成对加密数据包的数据传输。
本实施例中,在每次发送加密数据包时,在前可以选用的所有数据传输端口中任意选取一个端口进行数据传输,这种通过随机端口发送数据的方式进一步保证了传输的数据不容易被拦截,保证了数据包传输的安全性。
在本申请的另一个实施例中,步骤S12包括:
S31:当所述UDP数据包的数据容量小于预设数据容量阈值时,采用异或加密的方法,使用所述密钥对所述UDP数据包进行加密。
本实施例中,预设数据容量阈值是预先设置的UDP数据包的容量阈值,即数据包中字段的长度阈值。该阈值可以根据设备数据计算能力的大小来设定,不做具体的要求。
本实施例中,当UDP数据包的数据容量小于预设数据容量阈值时,代表数据包中数据的字段长度小于预设的长度阈值,此时采用异或加密的方式对UDP数据包进行加密。
本实施例中,S31的具体的步骤为:
S31-1:在所述UDP数据包的包头添加符合预设字节数的随机数,将所述随机数作为加密所述UDP数据包的所述密钥。
本实施例中,预设字节数是预设的生成随机数的字节数。可以根据实际情况在合理的范围内自行设置。
本实施例中,在对UDP数据包进行异或加密时,首先生成一个符合预设字节数的随机数,该随机数添加于UDP数据包的包头,将该随机数作为加密UDP数据包所使用的密钥。
S31-2:将添加有所述随机数的UDP数据包中的数据分为多个数据组,每个所述数据组中的字节数与所述预设字节数相同。
本实施例中,为UDP数据包生成随机数包头之后,将添加有随机数包头的UDP数据包中的数据分为多个数据组,每个数据组中的字节数都与生成的随机数的字节数相同,在分组时,如果数据包中剩余的字节数少于随机数的字节数时,还是将剩余的字节作为一个数据组。
S31-3:从第二个数据组开始,将每个所述数据组中的每个字节分别与前一个数据组中的每个字节进行异或运算。
本实施例中,在将UDP数据包分为若干个数据组之后,从第二个数据组开始,将数据组中的每个字节分别与前一个数据组中的每个字节进行异或运算,与第二个数据组进行异或运算的是S32-1-1中添加在包头的随机数,这样就完成了对整个UDP数据包的异或运算,运算完毕后会将UDP数据包中所有的数据完全随机化,整个UDP数据包中不再具有固定的序列。
示例地,预设数据容量阈值为100字节,当UDP数据包的容量小于100字节时,生成4个字节的随机数作为数据包的包头,随后将UDP数据包中的原有数据也分为4个字节一组,将每一组的4个字节分别与前一组的4个字节进行异或计算,以计算的结果作为加密后的数据。对于每个数据包,采用独立的新生成的随机数。
S32:当所述UDP数据集包的数据容量大于预设数据容量阈值时,采用对称加密的方法,使用所述密钥对所述UDP数据包进行加密。
本实施例中,对称加密是加密方和解密方使用同一种密钥,加密方通过该密钥,运行加密算法对数据进行加密,解密方通过该密钥,同样运行该加密算法对数据进行解密。
本实施例中,当UDP数据包的数据容量大于预设的数据容量阈值时,代表数据包中数据的字段长度大于预设的长度阈值,此时采用对称加密的方式对UDP数据包进行加密。
本实施例中,步骤S32包括:
S32-1:生成符合预设字节数的随机数,将所述随机数作为加密所用的密钥。
本实施例中,生成符合预设字节数的随机数,将生成的随机数作为加密所用的密钥。预设字节数可以根据实际情况,在合理范围内自行设置。
S32-2:通过加密算法对所述密钥和所述UDP数据包中的数据进行处理。
本实施例中,对称加密是通过生成一个随机的密钥,数据的发送方通过该密钥对数据加密,数据的接收方通过该密钥对数据进行解密。在获取到UDP数据包并确定UDP数据包中的字节长度大于预设的数据容量阈值后,随机生成一定字节长度的密钥,通过该密钥对UDP数据包中的数据进行加密,通过运行加密算法,将该密钥的参数输入加密算法中,对UDP数据包中的数据进行加密,同时也将该密钥附加于数据包中的包头位置,供数据的接收方运行解密算法,根据该密钥对数据进行解密。
示例地,预设的数据容量阈值为100字节,当UDP数据包的容量大于100字节时,采用RC4(Rivest Cipher 4)对称加密方法,生成随机数作为RC4加密的密钥,使用加密算法对该密钥与UDP数据包进行加密运算,完成对UDP数据包中的数据进行加密,将该密钥附加在UDP数据包的包头位置,完成对UDP数据包的对称加密。
本实施例中,对于数据容量较小的UDP数据包,采用异或加密的方式对数据包进行加密,通过异或加密的方式对整个数据包中的数据进行随机化,加密效果好,并且由于数据包中的字段长度较短,也不会消耗过多的资源进行计算。对于数据容量较大的UDP数据包,采用对称加密的方式对数据包进行加密,如果对容量较大的数据包采用异或运算加密,计算量较大,会耗费较多的计算资源,加密时间也会变长,影响传输速度,而使用对应加密的方式。通过对不同数据包的针对性加密,在不增加过多的计算量的情况下,实现了对UDP数据包的加密,保证了UDP数据传输的安全性。
在本申请的另一个实施例中,在步骤S13之后,所述方法还包括:
S41:对所述UDP数据包的数据传输过程进行实时监测。
本实施例中,通过后台系统对UDP数据包的数据传输过程进行实时监测。在监测过程中,后台系统可以获取该UDP数据包对应的加密数据包的传输数量,传输速度,传输的端口信息,传输所用时间等信息。
示例地,后台系统实时监测UDP数据包的数据传输过程,得到UDP数据包对应的加密数据包已经传输了10个数据包,数据包的当前传输的总时间为2S。
S42:当检测到所述UDP数据包的数据传输量达到预设的数据传输量阈值,或,所述数UDP数据包的数据传输时间达到预设的数据传输时间阈值时,重新生成新密钥。
本实施例中,预设的数据传输量阈值是预先设置的数据传输过程中数据传输的数量的阈值。预设数据传输时间阈值是预先设置的数据传输时间的阈值。
本实施例中,当检测到UDP数据包的数据传输量,即加密数据包的传输量达到预设的数据传输量阈值,或者UDP数据包的数据传输时间达到预设的数据传输时间阈值时,重新生成用于加密UDP数据包的密钥,这是针对数据容量大于预设数据容量阈值的数据包。
示例地,预设的数据传输量阈值为10个数据包,当检测到UDP数据包的发送量到达10个数据包时,从第11个数据包开始,重新生成新密钥。预设的数据传输时间阈值为1秒,当检测到数据传输时间达到1秒时,在下1秒进行数据传输时,重新生成新密钥。
S43:通过所述新密钥对所述UDP数据包进行加密。
本实施例中,在重新生成新密钥之后,通过新密钥对该UDP数据包进行加密,将新密钥添加在加密数据包中,不在使用之前的密钥。
本实施例中,对数据包的传输过程进行了实时监测,当检测到数据传输量或者数据传输的时间达到预设阈值时,更换新的密钥对UDP数据包进行加密,进一步保证了数据传输的安全性。
在本申请的另一个实施例中,基于上述任一步骤中所述的方法,所述方法还包括:
S51:根据预设的包头生成规则,生成所述加密数据包对应的所述流媒体协议包头。
本实施例中,本实施例中,流媒体协议是传输流媒体数据时需要遵守的协议规则。协议包头是在数据包的包头位置的一定长度的字段。协议包头一般按照数据包遵循的数据传输协议生成,协议包头上一般标注有数据包的发送端口与接收端口等数据传输必要的数据,预设的包头生成规则用于生成流媒体协议包头。
本实施例中,在对UDP数据包进行加密,得到加密数据包之后,在加密数据包的包头添加流媒体协议包头,得到封装加密数据包,该协议包头是根据预设的包头生成规则生成的,添加了流媒体协议包头的加密数据包,在进行数据传输时会作为流媒体数据进行传输,并不会暴露加密数据包的原本特征,进而不易被恶意网关根据UDP数据包的特征识别出UDP数据包中的数据内容。虽然加密数据包是UDP数据包,但生成的协议包头是流媒体协议包头。
本实施例中,生成流媒体协议包头时,根据预设的包头生成规则,根据UDP数据包的数据内容,为该UDP数据包生成对应的流媒体协议包头,其中,生成的包头中的各个字段分别表明了数据包的版本号,填充位,扩展位,CSRC计数位,标示位,负载类型,序列号,时间戳,同步源标识符等。
示例地,可以为该机密数据包加上RTP(Real-time Transport Protocol,实时传送协议)包头,这样就可以将UDP数据包作为流媒体数据进行传输,进而不易被恶意网关拦截识别。
示例地,参考图8,图8是本申请一实施例提出的RTP协议包头字段示意图,如图8所示,版本号(V)=2,填充位(P)占一个字节,扩展位(X)占一个字节,CSRC计数器(CC)占4个字节,标记位(M)占一个字节,载荷类型(PT)为随机数,序列号(Sequence number)为自增量,时间戳(Timestamp)每次发包增加一定值,同步源标识符(SSRC)为随机数,未设置有特约信源标识符(CSRC),其余值为0。
本实施例中,根据RTP协议的规则,即预设的包头生成规则,生成数据包的包头,RTP协议常用于流媒体数据的传输,为加密数据包生成RTP包头,可以使得UDP数据包拥有流媒体视频传输的特征,降低被拦截识别的概率。
在本申请另一个实施例中,协议包头中还可以加入一定的字段用于消息类型的识别,例如UDP数据包中传输的数据为工作表格,则加入表征数据包中的数据为表格数据的字段。
S52:将所述协议包头添加至所述加密数据包,得到封装加密数据包。
本实施例中,封装加密数据包是将加密数据包通过协议包头封装之后的数据包。
本实施例中,生成流媒体协议包头后,将该协议包头添加至加密数据包的包头位置,得到封装加密数据包。
本实施例中,通过为加密数据包添加不同于UDP协议的协议包头,将加密数据包伪装为另一种协议的数据包,有效的消除了UDP数据包本身的特征,并为UDP数据包添加了其余协议的特征,例如添加RTP包头,即拥有了流媒体视频传输的特征,这样就不容易被恶意网关识别并拦截。
相应地,上述步骤S13具体为步骤S53:将所述封装加密数据包和所述密钥发送给所述目标设备。
本实施例中,在获取了封装加密数据包之后,将封装加密数据包和密钥发送给目标设备,目标设备在接收到封装加密数据包后,将密钥输入加密算法中,运行加密算法对封装加密数据包进行解密,即可得到原有的数据包。
本实施例中,为了进一步的增加UDP数据传输的安全性,消除UDP数据包自身的特征,在加密数据包的包头添加了流媒体协议包头,为加密后的UDP数据包添加不同于UDP协议的流媒体协议包头,将UDP数据包作为流媒体数据包进行传输,有效的消除了UDP数据包的自身特征,在保留UDP数据易于传输,传输速度快的特征的情况下,进一步的保证了数据传输的安全性。
本申请上述实施例中,对UDP数据包进行了针对性的加密,当UDP数据包的数据容量较小时,使用异或加密的方法对数据包进行加密,异或加密的加密方式在处理少量数据时的表现更好,计算也不会过于复杂;当UDP数据包的数据容量较大时,使用对称加密的方法对数据包进行加密,对称加密的加密方式适合大容量数据的加密,保证了数据的处理速度和加密的效果。对加密后的数据包封装了流媒体协议包头,使得UDP数据包在传输过程中消除了自身的特征,带有流媒体数据特征进行传输,例如使用RTP协议的包头封装加密数据包,使得UDP数据包拥有流媒体视频传输的特征,使得DUP数据包在传输中不易被识别拦截,进一步保证了UDP数据传输的安全性。最后使用了随机端口对数据包进行发送,避免了被恶意破解者发现固有的数据传输端口,对数据进行拦截,进一步增强了UDP数据传输的安全性。
基于同一发明构思,本申请一实施例提供一种UDP数据包处理装置。参考图9,图9是本申请一实施例提出的UDP数据包处理装置900的示意图。如图9所示,该装置包括:
数据包获取模块901,用于获取待传输的UDP数据包;
数据包加密模块902,用于根据所述UDP数据包的大小,按照对应的数据加密方式,使用密钥对所述UDP数据包进行加密,得到加密数据包;
数据包发送模块903,用于将所述加密数据包和所述密钥发送给目标设备,所述密钥用于对所述加密数据包进行解密以得到所述UDP数据包。
可选地,所述UDP数据包发送模块:
传输端口确认子模块,用于确定当前可用的所有的数据传输端口;
传输端口选择子模块,用于从所述所有的数据传输端口中选择任意一个数据传输端口作为所述加密数据包的传输端口;
数据发送子模块,用于将所述加密数据包和所述密钥通过所述传输端口发送至所述目标设备。
可选地,所述数据包加密模块包括:
第一数据包加密子模块,用于当所述UDP数据包的数据容量小于预设数据容量阈值时,采用异或加密的方法,使用所述密钥对所述UDP数据包进行加密;
第二数据包加密子模块,用于当所述UDP数据集包的数据容量大于预设数据容量阈值时,采用对称加密的方法,使用所述密钥对所述UDP数据包进行加密。
可选地,所述第一数据包加密子模块包括:
第一随机数生成子模块,用于在所述UDP数据包的包头添加符合预设字节数的随机数,将所述随机数作为加密所使用的所述密钥;
数据组划分子模块,用于将添加有所述随机数的UDP数据包中的数据分为多个数据组,每个所述数据组中的字节数与所述预设字节数相同;
异或运算子模块,用于从第二个数据组开始,将每个所述数据组中的每个字节分别与前一个数据组中的每个字节进行异或运算。
可选地,所述第二数据包加密子模块包括:
第二随机数生成子模块,用于生成符合预设字节数的随机数,将所述随机数作为加密所述UDP数据包所使用的密钥;
加密运算子模块,用于通过加密算法对所述密钥和所述UDP数据包中的数据进行处理。
可选地,所述装置还包括:
实时检测模块,用于对所述UDP数据包的数据传输过程进行实时监测;
密钥更模块,用于当检测到所述UDP数据包的数据传输量达到预设的数据传输量阈值,或,所述UDP数据包的数据传输时间达到预设的数据传输时间阈值时,重新生成新密钥;
新密钥加密模块,用于通过所述新密钥对所述UDP数据包进行加密。
可选地,所述装置还包括:
包头生成模块,用于根据预设的包头生成规则,生成所述加密数据包对应的所述流媒体协议包头;
封装加密数据包获得模块,用于将所述流媒体协议包头添加至所述加密数据包的包头位置,得到封装加密数据包;
所述数据包发送模块包括:
封装加密数据包发送子模块,用于将所述封装加密数据包和所述密钥发送给所述目标设备。
基于同一发明构思,本申请另一实施例提供一种可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本申请上述任一实施例所述的UDP数据包处理方法中的步骤。
基于同一发明构思,本申请另一实施例提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行时实现本申请上述任一实施例所述的UDP数据包处理方法中的步骤。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本领域内的技术人员应明白,本申请实施例可提供为方法、装置、或计算机程序产品。因此,本申请实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请实施例是参照根据本申请实施例的方法、终端设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本申请实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请实施例范围的所有变更和修改。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
以上对本申请所提供的UDP数据包处理方法、装置、设备及存储介质,进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
Claims (10)
1.一种UDP数据包处理方法,其特征在于,所述方法包括:
获取待传输的UDP数据包;
根据所述UDP数据包的大小,按照对应的数据加密方式,使用密钥对所述UDP数据包进行加密,得到加密数据包;
将所述加密数据包和所述密钥发送给目标设备,所述密钥用于对所述加密数据包进行解密以得到所述UDP数据包。
2.根据权利要求1所述的方法,其特征在于,所述将所述加密数据包和所述密钥发送给目标设备,所述方法还包括:
确定当前可用的所有的数据传输端口;
从所述所有的数据传输端口中选择任意一个数据传输端口作为所述加密数据包的传输端口;
将所述加密数据包和所述密钥通过所述传输端口发送至所述目标设备。
3.根据权利要求1所述的方法,其特征在于,所述根据所述UDP数据包的大小,按照对应的数据加密方式,使用密钥对所述UDP数据包进行加密,包括:
当所述UDP数据包的数据容量小于预设数据容量阈值时,采用异或加密的方法,使用所述密钥对所述UDP数据包进行加密;
当所述UDP数据集包的数据容量大于预设数据容量阈值时,采用对称加密的方法,使用所述密钥对所述UDP数据包进行加密。
4.根据权利要求3所述的方法,其特征在于,所述采用异或加密的方法,使用所述密钥对所述UDP数据包进行加密,包括:
在所述UDP数据包的包头添加符合预设字节数的随机数,将所述随机数作为加密所使用的所述密钥;
将添加有所述随机数的UDP数据包中的数据分为多个数据组,每个所述数据组中的字节数与所述预设字节数相同;
从第二个数据组开始,将每个所述数据组中的每个字节分别与前一个数据组中的每个字节进行异或运算。
5.根据权利要求3所述的方法,其特征在于,所述采用对称加密的方法,使用所述密钥对所述UDP数据包进行加密,包括:
生成符合预设字节数的随机数,将所述随机数作为加密所述UDP数据包所使用的密钥;
通过加密算法对所述密钥和所述UDP数据包中的数据进行处理。
6.根据权利要求5所述的方法,其特征在于,所述方法还包括:
对所述UDP数据包的数据传输过程进行实时监测;
当检测到所述UDP数据包的数据传输量达到预设的数据传输量阈值,或,所述UDP数据包的数据传输时间达到预设的数据传输时间阈值时,重新生成新密钥;
通过所述新密钥对所述UDP数据包进行加密。
7.根据权利要求1至6任一所述的方法,其特征在于,在将所述加密数据包和所述密钥发送给目标设备之前,所述方法还包括:
根据预设的包头生成规则,生成所述加密数据包对应的所述流媒体协议包头;
将所述流媒体协议包头添加至所述加密数据包的包头位置,得到封装加密数据包;
将所述加密数据包和所述密钥发送给目标设备,包括:
将所述封装加密数据包和所述密钥发送给所述目标设备。
8.一种UDP数据包处理装置,其特征在于,所述装置包括:
数据包获取模块,用于获取待传输的UDP数据包;
数据包加密模块,用于根据所述UDP数据包的大小,按照对应的数据加密方式,使用密钥对所述UDP数据包进行加密,得到加密数据包;
数据包发送模块,用于将所述加密数据包和所述密钥发送给目标设备,所述密钥用于对所述加密数据包进行解密以得到所述UDP数据包。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时,实现如权利要求1至7任一所述的方法中的步骤。
10.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理
器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时,
实现如权利要求1至7任一所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310174554.2A CN116015980A (zh) | 2023-02-24 | 2023-02-24 | 一种udp数据包处理方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310174554.2A CN116015980A (zh) | 2023-02-24 | 2023-02-24 | 一种udp数据包处理方法、装置、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116015980A true CN116015980A (zh) | 2023-04-25 |
Family
ID=86033775
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310174554.2A Pending CN116015980A (zh) | 2023-02-24 | 2023-02-24 | 一种udp数据包处理方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116015980A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117098120A (zh) * | 2023-10-19 | 2023-11-21 | 国网山西省电力公司晋城供电公司 | 一种北斗短报文数据加解密方法、设备及存储介质 |
CN117201501A (zh) * | 2023-09-15 | 2023-12-08 | 武汉鲸禾科技有限公司 | 一种智慧工程共享管理系统及运行方法 |
-
2023
- 2023-02-24 CN CN202310174554.2A patent/CN116015980A/zh active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117201501A (zh) * | 2023-09-15 | 2023-12-08 | 武汉鲸禾科技有限公司 | 一种智慧工程共享管理系统及运行方法 |
CN117201501B (zh) * | 2023-09-15 | 2024-03-26 | 武汉鲸禾科技有限公司 | 一种智慧工程共享管理系统及运行方法 |
CN117098120A (zh) * | 2023-10-19 | 2023-11-21 | 国网山西省电力公司晋城供电公司 | 一种北斗短报文数据加解密方法、设备及存储介质 |
CN117098120B (zh) * | 2023-10-19 | 2024-01-02 | 国网山西省电力公司晋城供电公司 | 一种北斗短报文数据加解密方法、设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7693278B2 (en) | Data distribution apparatus and data communications system | |
CN112398651B (zh) | 一种量子保密通信方法、装置、电子设备以及存储介质 | |
KR100838556B1 (ko) | 보안 실시간 프로토콜에서 암호정보의 효율적 전송 | |
US8948377B2 (en) | Encryption device, encryption system, encryption method, and encryption program | |
JP4836493B2 (ja) | リアルタイム転送プロトコル(rtp)パケット認証のための方法 | |
CN116015980A (zh) | 一种udp数据包处理方法、装置、设备及存储介质 | |
US20150333907A1 (en) | Method and system for encryption of blocks of data | |
US20150229621A1 (en) | One-time-pad data encryption in communication channels | |
Boakye-Boateng et al. | Encryption protocol for resource-constrained devices in fog-based IoT using one-time pads | |
JP2017085559A (ja) | 制限帯域幅を有するチャネルにおける効率的かつ強秘匿性の対称暗号化のためのシステムおよび方法 | |
US11405407B2 (en) | Data packet sending method, network device, control device, and network system | |
Bali et al. | Lightweight authentication for MQTT to improve the security of IoT communication | |
CN115766119A (zh) | 通信方法、装置、通信系统及存储介质 | |
CN115567207A (zh) | 采用量子密钥分发实现组播数据加解密方法及系统 | |
CN114938312A (zh) | 一种数据传输方法和装置 | |
CN115296841B (zh) | 一种数据加密传输方法、装置、设备及存储介质 | |
CN113542309B (zh) | 一种数据处理系统及方法 | |
CN111431846B (zh) | 数据传输的方法、装置和系统 | |
US8121141B2 (en) | Confidential transmission of data by change of frequency in a telecommunications network | |
CN115150076A (zh) | 一种基于量子随机数的加密系统及方法 | |
CN110535834B (zh) | 一种网络安全IPsec的加速处理方法及系统 | |
Konoplev et al. | Steganographic methods of communications in distributed computing networks | |
CN114978699B (zh) | 一种数据加密和数据解密方法、装置、设备以及存储介质 | |
Li | Exploring the Application of Data Encryption Technology in Computer Network Security | |
KR101503009B1 (ko) | 데이터 크기 정보를 이용한 애플리케이션 식별 방법 및 장치 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |