CN116094714A - 一种码流加密、解密方法、装置、设备及介质 - Google Patents
一种码流加密、解密方法、装置、设备及介质 Download PDFInfo
- Publication number
- CN116094714A CN116094714A CN202310197980.8A CN202310197980A CN116094714A CN 116094714 A CN116094714 A CN 116094714A CN 202310197980 A CN202310197980 A CN 202310197980A CN 116094714 A CN116094714 A CN 116094714A
- Authority
- CN
- China
- Prior art keywords
- algorithm
- algorithm suite
- parameter
- code stream
- suite
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0838—Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/0618—Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
- H04L9/0631—Substitution permutation network [SPN], i.e. cipher composed of a number of stages or rounds each involving linear and nonlinear transformations, e.g. AES algorithms
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/14—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Storage Device Security (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请实施例提供了一种码流加密、解密方法、装置、设备及介质,第一设备与建立连接的第二设备进行协商,得到密钥材料;密钥材料包括初始算法套件参数和算法套件参数生成规则;按照算法套件参数生成规则,根据初始算法套件参数,生成包括预设数量算法套件参数的算法套件参数列表;预设数量为至少两个,预设数量与待发送业务的数据量有关;按照预设规则,在算法套件参数列表中确定目标算法套件参数,采用目标算法套件参数对待发送业务的码流进行加密并发送。由于在处理码流加解密前,通过一次协商得到密钥材料,然后根据密钥材料预先生成预设数量的算法套件参数,无需重复协商密钥,提升了码流加解密处理的效率,可以减少码流的延迟和丢包。
Description
技术领域
本发明涉及网络安全技术领域,尤其涉及一种码流加密、解密方法、装置、设备及介质。
背景技术
目前的码流加解密操作过程中,加解密的密钥是在使用的时候才获取的,例如第一次加解密码流前,建立协商连接,协商得到密钥;或者在密钥过期前,通过协商连接,重协商或发送密钥新更新消息,得到新密钥;再或者使用密钥管理服务器(Key ManagementService,KMS)通过密钥身份标识号(Identity Document,ID)获取密钥。在这种需要密钥才去协商密钥的方式中,增加了码流处理的耗时,可能会导致码流延迟、丢包等问题。
发明内容
本申请实施例提供了一种码流加密、解密方法、装置、设备及介质,用以解决现有技术中可能会导致码流延迟、丢包的问题。
第一方面,本申请实施例提供了一种码流加密方法,应用于第一设备,所述方法包括:
第一设备与建立连接的第二设备进行协商,得到密钥材料;其中,密钥材料包括初始算法套件参数和算法套件参数生成规则;
按照算法套件参数生成规则,根据初始算法套件参数,生成包括预设数量算法套件参数的算法套件参数列表;其中,预设数量为至少两个,预设数量与待发送业务的数据量有关;
按照预设规则,在算法套件参数列表中确定目标算法套件参数,采用目标算法套件参数对待发送业务的码流进行加密并发送。
第二方面,本申请实施例还提供了一种码流解密方法,应用于第二设备,所述方法包括:
第二设备与建立连接的第一设备进行协商,得到密钥材料;其中,密钥材料包括初始算法套件参数和算法套件参数生成规则;
按照算法套件参数生成规则,根据初始算法套件参数,生成包括预设数量算法套件参数的算法套件参数列表;其中,预设数量为至少两个,预设数量与待接收业务的数据量有关;
按照与第一设备协商确定的预设规则,在算法套件参数列表中确定目标算法套件参数,采用目标算法套件参数对待接收业务的码流进行解密。
第三方面,本申请实施例还提供了一种码流加密装置,应用于第一设备,所述装置包括:
协商模块,用于第一设备与建立连接的第二设备进行协商,得到密钥材料;其中,密钥材料包括初始算法套件参数和算法套件参数生成规则;
生成模块,用于按照算法套件参数生成规则,根据初始算法套件参数,生成包括预设数量算法套件参数的算法套件参数列表;其中,预设数量为至少两个,预设数量与待发送业务的数据量有关;
加密模块,用于按照预设规则,在算法套件参数列表中确定目标算法套件参数,采用目标算法套件参数对待发送业务的码流进行加密并发送。
第四方面,本申请实施例还提供了一种码流解密装置,应用于第二设备,所述装置包括:
协商模块,用于第二设备与建立连接的第一设备进行协商,得到密钥材料;其中,密钥材料包括初始算法套件参数和算法套件参数生成规则;
生成模块,用于按照算法套件参数生成规则,根据初始算法套件参数,生成包括预设数量算法套件参数的算法套件参数列表;其中,预设数量为至少两个,预设数量与待接收业务的数据量有关;
解密模块,用于按照与第一设备协商确定的预设规则,在算法套件参数列表中确定目标算法套件参数,采用目标算法套件参数对待接收业务的码流进行解密。
第五方面,本申请实施例还提供了一种电子设备,所述电子设备至少包括处理器和存储器,所述处理器用于执行存储器中存储的计算机程序时实现如上述任一项所述码流加密方法的步骤,或者实现如上述任一项所述码流解密方法的步骤。
第六方面,本申请实施例还提供了一种计算机可读存储介质,其存储有可由电子设备执行的计算机程序,当所述程序在所述电子设备上运行时,使得所述电子设备执行如上述任一项所述码流加密方法的步骤,或者执行如上述任一项所述码流解密方法的步骤。
第七方面,本申请实施例还提供了一种码流加解密系统,所述系统包括实现如上述任一项所述的一种码流加密方法的步骤的第一设备,和实现如上述任一项所述的一种码流解密方法的步骤的第二设备。
在本申请实施例中,第一设备与建立连接的第二设备进行协商,得到密钥材料;其中,密钥材料包括初始算法套件参数和算法套件参数生成规则;按照算法套件参数生成规则,根据初始算法套件参数,生成包括预设数量算法套件参数的算法套件参数列表;其中,预设数量为至少两个,预设数量与待发送业务的数据量有关;按照预设规则,在算法套件参数列表中确定目标算法套件参数,采用目标算法套件参数对待发送业务的码流进行加密并发送。由于在处理码流加解密前,通过一次协商得到密钥材料,然后根据密钥材料预先生成预设数量的算法套件参数,无需重复协商密钥,减少了码流处理的耗时,提升了码流加解密处理的效率,因此可以减少码流的延迟和丢包。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请的一些实施例提供的一种码流加密过程示意图;
图2为本申请的一些实施例提供的一种确定算法套件参数列表过程示意图;
图3为本申请的一些实施例提供的一种码流解密过程示意图;
图4为本申请的一些实施例提供的一种码流加解密流程示意图;
图5为本申请的一些实施例提供的一种码流加密装置结构示意图;
图6为本申请的一些实施例提供的一种码流解密装置结构示意图;
图7为本申请实施例提供的一种电子设备结构示意图。
具体实施方式
为了使本申请的目的、技术方案和优点更加清楚,下面将结合附图本申请作进一步地详细描述,显然,所描述的实施例仅仅是本申请的一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请实施例提供了一种码流加密、解密方法、装置、设备及介质,该方法中第一设备与建立连接的第二设备进行协商,得到密钥材料;其中,密钥材料包括初始算法套件参数和算法套件参数生成规则;按照算法套件参数生成规则,根据初始算法套件参数,生成包括预设数量算法套件参数的算法套件参数列表;其中,预设数量为至少两个,预设数量与待发送业务的数据量有关;按照预设规则,在算法套件参数列表中确定目标算法套件参数,采用目标算法套件参数对待发送业务的码流进行加密并发送。由于在处理码流加解密前,通过一次协商得到密钥材料,然后根据密钥材料预先生成预设数量的算法套件参数,无需重复协商密钥,减少了码流处理的耗时,提升了码流加解密处理的效率,因此可以减少码流的延迟和丢包。
实施例1:
图1为本申请的一些实施例提供的一种码流加密过程示意图,该过程包括:
S101:第一设备与建立连接的第二设备进行协商,得到密钥材料。其中,密钥材料包括初始算法套件参数和算法套件参数生成规则。
本申请实施例提供的码流加密方法应用于第一设备,该第一设备可以是个人计算机(Personal Computer,PC)、终端等。
第一设备和第二设备可以直接建立连接,第一设备和第二设备之间还可以通过服务器建立连接。具体的,第一设备和第二设备在启动后建立连接,在推流开始前的空闲时间内,即在对码流进行加解密处理之前,第一设备和第二设备进行协商,通过协商得到加解密所需的密钥材料,该密钥材料用于第一设备和第二设备之间通过该密钥材料生成相同的多个算法套件参数,在后续推流过程中就无需重复协商密钥,从而减少码流处理的耗时。示例的,第一设备可以是推流端设备,第二设备可以是拉流端设备。
示例的,密钥材料可以包括初始算法套件参数和算法套件参数生成规则,除此之外,密钥材料还可以包括加解密算法列表、认证算法列表、或算法套件参数更新条件等一种或多种。其中,初始算法套件参数包括以下一个或多个:初始加解密算法、初始认证算法、初始加解密密钥信息或初始认证密钥信息等。
示例的,算法套件参数生成规则可以用于基于原始算法套件参数,按照该算法套件参数生成规则进行变换,得到一个新的算法套件参数,并将该新的算法套件参数确定为原始算法套件参数的下一个算法套件参数。
S102:按照算法套件参数生成规则,根据初始算法套件参数,生成包括预设数量算法套件参数的算法套件参数列表。其中,预设数量为至少两个,预设数量与待发送业务的数据量有关。
在一种可能的实现方式中,由于算法套件参数生成规则可以用于基于原始算法套件参数按照预设生成规则进行变换,得到新的算法套件参数,并将该新的算法套件参数确定为原始算法套件参数的下一个算法套件参数,所以可以按照算法套件参数生成规则,根据初始算法套件参数确定初始算法套件参数的下一个算法套件参数;针对该下一个算法套件参数,按照算法套件参数生成规则,确定该下一个算法套件参数的下一个算法套件参数,重复上述步骤直至得到预设数量的算法套件参数;将该预设数量的算法套件参数存入算法套件参数列表。
在另一种可能的实现方式中,可以按照算法套件参数生成规则,根据初始算法套件参数和预设数量,生成预设数量的算法套件参数,并将该预设数量的算法套件参数存入算法套件参数列表中。
其中,预设数量为至少两个,该预设数量的算法套件参数能够满足码流加密传输的需求,即在对码流加解密之前、第一设备与第二设备协商后,预先生成了足量的、能够满足码流加密需求的算法套件参数,这样在码流加密传输过程中,第一设备和第二设备之间就没有必要再次协商其它算法套件参数,从而避免码流重复协商密钥材料的操作,减少码流处理的耗时。
S103:按照预设规则,在算法套件参数列表中确定目标算法套件参数,采用目标算法套件参数对待发送业务的码流进行加密并发送。
第一设备中保存有预设规则,该预设规则可以是和第二设备协商确定的,也可以是预先设置在第一设备和第二设备中的。预设规则中可以包含在算法套件参数列表中选择新的算法套件参数的规则,从而在算法套件参数列表中确定目标算法套件参数,针对待发送业务的码流采用目标算法套件参数进行加密,从而保证码流的安全传输。具体的将加密后的码流发送至第二设备,或将加密后的码流发送至服务器,再由服务器发送给第二设备。
由于在处理码流加解密前,通过一次协商得到密钥材料,然后根据密钥材料预先生成预设数量的算法套件参数,无需重复协商密钥,减少了码流处理的耗时,提升了码流加解密处理的效率,减少码流的延迟和丢包。
实施例2:
为了提高码流传输的安全性,在上述实施例的基础上,在本申请实施例中,上述S102中按照算法套件参数生成规则,根据初始算法套件参数,生成包括预设数量算法套件参数的算法套件参数列表的过程可以参见图2,包括:
S201:将初始算法套件参数确定为第一算法套件参数,存入算法套件参数列表。
在第一设备和第二设备协商结束后,将第一设备和第二设备协商确定的密钥材料中的初始算法套件参数确定为第一算法套件参数,并将该第一算法套件参数存入算法套件参数列表中,作为算法套件参数列表中的第一个算法套件参数。初始算法套件参数即为第一次对码流进行加解密时使用的算法套件参数。
S202:按照算法套件参数生成规则,根据第一算法套件参数,生成第二算法套件参数,存入算法套件参数列表。
算法套件参数生成规则可以用于根据当前算法套件参数和该算法套件参数生成规则,生成新的算法套件参数。具体的,按照算法套件参数生成规则,根据第一算法套件参数,将第一算法套件参数变换后得到的新的算法套件参数确定为第二算法套件参数,将该第二算法套件参数存入算法套件参数列表中,并将该第二算法套件参数排列在第一算法套件参数下一个的位置。
以一个具体的例子进行说明,可以根据第一算法套件参数,按照算法套件参数生成规则,生成新的加解密算法、新的加解密密钥、新的认证算法、或新的认证密钥中的一个或多个。当算法套件参数包括上述多个时,当新的加解密算法、新的加解密密钥、新的认证算法、或新的认证密钥中的任意一个发生变化时,都可以认为算法套件参数发生了变化。
S203:判断算法套件参数列表中保存的算法套件参数的数量是否达到预设数量;如果否,执行S204;如果是,执行S205。
确定存入算法套件参数列表中的算法套件参数的数量,将该数量与预设数量进行比较;若小于预设数量,则确定为算法套件参数列表中保存的算法套件参数的数量未达到预设数量,此时就可以继续生成新的算法套件参数;若等于预设数量,则确定为算法套件参数列表中保存的算法套件参数的数量达到预设数量,此时可以停止生成新的算法套件参数。
S204:将第二算法套件参数作为第一算法套件参数,并返回S202。
当算法套件参数列表中保存的算法套件参数的数量未达到预设数量时,将按照算法套件参数生成规则确定的第二算法套件参数作为第一算法套件参数,并且重复上述S202,即重复按照算法套件参数生成规则确定该第二算法套件参数的下一个新的算法套件参数,存入算法套件参数列表中,并将该下一个新的算法套件参数排列在该第二算法套件参数下一个的位置;若算法套件参数列表中保存的算法套件参数的数量仍未达到预设数量,则继续重复上述步骤,确定新的算法套件参数,并存入算法套件参数列表中,直至算法套件参数列表中保存的算法套件参数达到预设数量。
S205:确定生成的算法套件参数列表。
当算法套件参数列表中保存的算法套件参数数量达到预设数量时,将包含设定数量算法套件参数的算法套件参数列表确定为生成的算法套件参数列表。此时算法套件参数列表中保存的算法套件参数的数量可以满足码流加密传输的需求。
由于算法套件参数列表中保存的算法套件参数是存在差异的,故在不同的阶段,选择的处理码流的算法套件参数可以是不固定的、不同的,提高了码流传输的安全性。
实施例3:
为了进一步提高码流传输的安全性,在上述各实施例的基础上,在本申请实施例中,密钥材料还包括加解密算法列表;
按照算法套件参数生成规则,根据第一算法套件参数,生成第二算法套件参数,存入算法套件参数列表,包括:
按照算法套件参数生成规则,在加解密算法列表中确定与第一算法套件参数中的第一加解密算法不同的第二加解密算法;
根据第一算法套件参数中的第一加解密密钥,按照算法套件参数生成规则和第二加解密算法对应的密钥长度,确定第二加解密密钥;
根据第二加解密算法和第二加解密密钥,确定第二算法套件参数。
第一设备和第二设备协商得到的密钥材料还包括加解密算法列表,示例的,加解密算法列表可以是第一设备和第二设备协商确定的一组加解密算法。具体的,加解密算法列表中可以包含高级加密标准-密码分组链接模式-128(Advanced Encryption Standard-Cipher Block Chaining-128,AES-CBC-128)、AES-CBC-196、AES-CBC-256等算法。其中AES-CBC属于算法模式,表示AES-CBC模式加密即密码分组链接模式;算法模式后的数字代表密钥长度,也就是说AES-CBC-128表示该算法对应的密钥长度为128比特(bit),AES-CBC-196表示该算法对应的密钥长度为196bit,AES-CBC-256表示该算法对应的密钥长度为256bit。
算法套件参数中包括加解密算法和加解密密钥。示例的,初始算法套件参数中包括初始加解密算法和初始加解密密钥。其中初始加解密算法可以为加解密算法列表中的其中一个,并且用于生成加解密算法列表中的其余加解密算法。示例的,初始加解密算法可以用于对第一次码流加解密使用的加解密算法。初始加解密密钥可以是通过第一密钥交换算法,计算得到的密钥和初始化向量(Initialization Vector,IV),在第一次码流加解密中被使用。其中,密钥和IV可以是根据随机数计算得到的,密钥的长度和IV的长度符合初始加解密算法的密钥长度的要求。其中,第一密钥交换算法是第一设备和第二设备协商得到的。例如,第一密钥交换算法可以包括密码交换模式(Diffie-Hellman both the finte fieldand ellptic curve varieties,(EC)DHE)。
算法套件参数生成规则中包含有在加解密算法列表中重新选择新的加解密算法的规则,包括但不限于:在加解密算法列表中选择当前加解密算法的下一个加解密算法作为新的加解密算法;或者,加解密算法列表中的每一个加解密算法都有特定的索引号,算法套件参数生成规则中包含有索引号的选择顺序,按照该索引号的选择顺序在加解密算法列表中确定选择的索引号对应的加解密算法,并作为新的加解密算法。按照算法套件参数生成规则,在加解密算法列表中确定与第一算法套件参数中的第一加解密算法不同的第二加解密算法。在另一种可能的实现方式中,也可以在加解密算法列表中确定与当前第一加解密算法相同的第二加解密算法,不做具体限制。
算法套件参数生成规则中包含有将第一算法套件参数中的第一加解密密钥进行变换,得到符合当前确定的第二加解密算法的新的第二加解密密钥的规则。例如,算法套件参数生成规则中确定新的加解密密钥的规则可以包括密钥导出函数(Key DerivationFunction,KDF),KDF可用于将密钥扩展到更长的密钥或获得所需格式的密钥。
示例的,按照算法套件参数生成规则,根据第一算法套件参数中的第一加解密算法,按照算法套件参数生成规则中确定新的加解密密钥的规则,生成新的加解密密钥,根据第二加解密算法对应的密钥长度,可以对生成的新的加解密密钥按照第二加解密算法对应的密钥长度进行处理,将根据处理结果得到的符合第二加解密算法对应的密钥长度的密钥确定为第二加解密密钥。其中,对生成的新的加解密密钥按照第二加解密算法对应的密钥长度进行处理可以包括:对生成的新的加解密密钥按照第二加解密算法对应的密钥长度,从该密钥的起始点进行截取,将截取到的符合第二加解密算法对应的密钥长度的密钥确定为第二加解密密钥。
由于算法套件参数包括加解密算法和加解密密钥,所以可以根据第二加解密算法和第二加解密密钥,确定第二算法套件参数。
由于每个算法套件参数中的加解密算法是存在差异的,故在不同阶段处理码流的算法套件参数可以是不固定、不同的,进一步提高了码流传输的安全性。
实施例4:
为了进一步提高码流传输的安全性,在上述各实施例的基础上,在本申请实施例中,密钥材料还包括认证算法列表;
按照算法套件参数生成规则,根据第一算法套件参数,生成第二算法套件参数,存入算法套件参数列表,包括:
按照算法套件参数生成规则,在认证算法列表中确定与第一算法套件参数中的第一认证算法不同的第二认证算法;
根据第一算法套件参数中的第一认证密钥,按照算法套件参数生成规则和第二认证算法对应的密钥长度,确定第二认证密钥;
根据第二认证算法和第二认证密钥,确定第二算法套件参数。
第一设备和第二设备协商得到的密钥材料还可以包括认证算法列表,示例的,认证算法列表可以是第一设备和第二设备协商确定的一组认证算法。具体的,认证算法列表中可以包含信息摘要算法(Message-Digest Algorithm,MD5)、安全散列算法1(SecureHash Algorithm 1,SHA1)、安全散列算法256(Secure Hash Algorithm 256,SHA256)、安全散列算法384(Secure Hash Algorithm 384,SHA384)、安全散列算法512(Secure HashAlgorithm 512,SHA512)、空(NULL)等。其中,NULL表示不使用认证方法。其中,MD5对应的认证密钥的密钥长度为128bit,SHA1对应的认证密钥的密钥长度为160bit,SHA256对应的认证密钥的密钥长度为256bit,SHA384对应的认证密钥的密钥长度为384bit,SHA512对应的认证密钥的密钥长度为512bit。当认证算法为NULL时,NULL对应的密钥长度可以确定为固定长度,例如32字节(256bit)。
算法套件参数还可以包括认证算法和认证密钥。示例的,初始算法套件参数中包括初始认证算法和初始认证密钥。其中初始认证算法可以为认证算法列表中的其中一个,并且用于生成认证算法列表中的其余认证算法。示例的,初始认证算法可以用于对第一次码流加解密使用的认证算法。初始认证密钥可以是通过第二密钥交换算法计算得到的认证密钥,在第一次认证中被使用。认证密钥可以是根据随机数计算得到的,认证密钥的密钥长度符合初始认证算法的密钥长度的要求。其中第二密钥交换算法是第一设备和第二设备协商得到的。
算法套件参数生成规则中包含有在认证算法列表中重新选择新的认证算法的规则,包括但不限于:在认证算法列表中选择当前认证算法的下一个认证算法作为新的认证算法;或者,在认证算法列表中的每一个认证算法都有特定的索引号,算法套件参数生成规则中包含有索引号的选择顺序,按照该索引号的选择顺序在认证算法列表中确定选择的索引号对应的认证算法,并作为新的认证算法。按照算法套件参数生成规则,在认证算法列表中确定与第一算法套件参数中的第一认证算法不同的第二认证算法。在另一种可能的实现方式中,也可以在认证算法列表中确定与当前第一认证算法相同的第二认证算法,不做具体限制。
算法套件参数生成规则中包含有将第一算法套件参数中的第一认证密钥进行变换,得到符合当前确定的第二认证算法的新的第二认证密钥的规则。例如,算法套件参数生成规则中确定新的认证密钥的规则可以包括KDF。
示例的,根据第一算法套件参数中的第一认证密钥,按照算法套件参数生成规则中确定新的认证密钥的规则,生成新的认证密钥,根据第二认证算法对应的密钥长度,可以对生成的新的认证密钥进行处理,将根据处理结果得到的符合第二认证算法对应的密钥长度的密钥确定为第二认证密钥。其中,对生成的新的认证密钥按照第二认证算法对应的密钥长度进行处理可以包括:对生成的新的认证密钥按照第二认证算法对应的密钥长度,从该密钥的起始点进行截取,将截取到的符合第二认证算法对应的密钥长度的密钥确定为第二认证密钥。其中,当第二认证算法为NULL时,确定的第二认证密钥的长度可以为固定长度,例如32字节(256bit),防止影响后续认证密钥的确定。
由于算法套件参数包括认证算法和认证密钥,所以可以根据第二认证算法和第二认证密钥,确定第二算法套件参数。
由于每个算法套件参数中的认证算法是存在差异的,故在不同阶段处理码流的算法套件参数可以是不固定的、不同的,进一步提高了码流传输的安全性。
实施例5:
为了进一步提升码流加解密处理的效率,减少码流延迟和丢包问题,在上述各实施例的基础上,在本申请实施例中,按照预设规则,在算法套件参数列表中确定目标算法套件参数,采用目标算法套件参数对待发送业务的码流进行加密并发送,包括:
当满足算法套件参数更新条件时,按照预设规则,在算法套件参数列表中,确定与第三算法套件参数不同的第四算法套件参数,第三算法套件参数用于为第一码流进行加密;
对第一码流后的第二码流采用第四算法套件参数进行加密;
发送加密后的第二码流。
第一设备和第二设备协商得到的密钥材料还包括算法套件参数更新条件。其中,算法套件参数更新条件可以是预设的时间、预设的时间间隔、预设的数据量等,此处不做具体限制。具体的,当达到预设的时间时,则确定为满足算法套件参数更新条件;或当前算法套件参数的使用时间达到预设的时间间隔时,则确定为满足算法套件参数更新条件,其中,预设的时间间隔可以是算法套件参数更新周期,则每当达到一次算法套件参数更新周期时,第一设备会选择并使用一次新的算法套件参数,然后采用新的算法套件参数对后续待发送的码流进行加解密,直至达到下次算法套件参数更新周期;或使用当前算法套件参数进行加密并发送的码流的数据量达到预设的数据量时,则确定为满足算法套件参数更新条件。
由于第一设备中保存的预设规则用于当满足预设条件时,在算法套件参数列表中确定用于对待发送的业务的码流进行加密的目标算法套件参数,所以当满足算法套件参数更新条件时,按照预设规则,在算法套件参数列表中确定与第三算法条件参数不同的第四算法套件参数。在另一种可能的实现方式中,也可以在算法套件参数列表中确定与当前第三算法套件参数相同的第四算法套件参数,不做具体限制。
对第一码流采用第三算法套件参数进行加密,并将加密后的第一码流进行发送。具体的,若第一码流是开始进行推流时的码流,即若第一码流是开始进行码流传输时的码流,则第三算法套件参数可以是初始算法套件参数。
对第一码流后的第二码流采用第四算法套件参数进行加密,并将加密后的第二码流进行发送。
由于满足算法套件参数更新条件时,按照预设规则确定第四算法套件参数,并自动使用第四算法套件参数对第二码流进行处理,避免了码流重复协商密钥材料的操作,进一步提升了码流加解密处理的效率,减少码流延迟和丢包问题。
实施例6:
为了进一步提升码流处理加解密处理的效率,减少码流延迟和丢包问题,在上述各实施例的基础上,在本申请实施例中,当满足算法套件参数更新条件时,方法还包括:
为加密后的第一码流添加标记信息;其中,标记信息用于指示对第二码流采用第四算法套件参数进行加密;
发送添加标记信息后的第一码流。
当满足算法套件参数更新条件时,为加密后的第一码流添加标记信息。其中,标记信息用于指示对第二码流采用第四算法套件参数进行加密。在一种可能的实现方式中,标记信息中可以携带有第四算法套件参数;在另一种可能的实现方式中,算法套件参数列表中的每个算法套件参数可以标记有索引号,标记信息中可以携带有第四算法套件参数的索引号;在另一种可能的实现方式中,第一设备和第二设备在协商时可以确定算法套件参数更新规则,该算法套件参数更新规则可以是当满足更新条件时,直接使用当前第三算法套件参数的下一个第四算法套件参数,则标记信息中可以携带有指示更新的更新条件。具体的,第一设备在I帧码流(即第一码流)添加更新算法套件参数的标记信息,并对其余I帧码流(即第二码流)使用新的算法套件参数进行加密和认证。
对加密后且添加有标记信息的第一码流进行发送。
由于满足算法套件参数更新条件后,在第一码流中携带有指示更新的标记信息,对第一码流后的第二码流自动使用算法套件参数列表中新的算法套件参数处理码流,避免了码流重复协商密钥材料的操作,进一步提升了码流加解密处理的效率,减少码流延迟和丢包问题。
实施例7:
图3为本申请的一些实施例提供的一种码流解密过程示意图,该过程包括:
S301:第二设备与建立连接的第一设备进行协商,得到密钥材料。其中,密钥材料包括初始算法套件参数和算法套件参数生成规则。
本申请实施例提供的码流解密方法应用于第二设备,该第二设备可以是PC、终端等。第二设备和第一设备可以直接建立连接,第二设备和第一设备之间还可以通过服务器建立连接。具体的,第二设备和第一设备在启动后建立连接,在拉流开始前的空闲时间内,第二设备和第一设备进行协商,通过协商得到加解密所需的密钥材料,该密钥材料用于第二设备和第一设备之间通过该密钥材料生成相同的多个算法套件参数,在后续推流过程中就无需重复协商密钥,从而减少码流处理的耗时。其中,第二设备可以是拉流端设备,第一设备可以是推流端设备,此处不做具体限制。
示例的,协商得到的密钥材料可以是与第一设备中的密钥材料相同的密钥材料,可以包括初始算法套件参数和算法套件参数生成规则,除此之外,密钥材料还可以包括加解密算法列表、认证算法列表、或算法套件参数更新条件等一种或多种。其中,初始算法套件参数包括以下一个或多个:初始加解密算法、初始认证算法、初始加解密密钥信息或初始认证密钥信息等。
示例的,与第一设备协商确定的算法套件参数生成规则可以用于基于原始算法套件参数,按照该算法套件参数生成规则进行变换,得到新的算法套件参数,并将该新的算法套件参数确定为原始算法套件参数的下一个算法套件参数。
S302:按照算法套件参数生成规则,根据初始算法套件参数,生成包括预设数量算法套件参数的算法套件参数列表。其中,预设数量为至少两个,预设数量与待接收业务的数据量有关。
由于第二设备和第一设备之间协商得到相同的算法套件参数生成规则和初始算法套件参数,故基于相同的初始算法套件参数,按照相同的算法套件参数生成规则,第二设备生成与第一设备相同的算法套件参数列表。在一种可能的实现方式中,按照算法套件参数生成规则,根据初始算法套件参数确定初始算法套件参数的下一个算法套件参数;针对该下一个算法套件参数,按照算法套件参数生成规则,确定该下一个算法套件参数的下一个算法套件参数,重复上述步骤直至得到与第一设备协商确定的预设数量的算法套件参数;将该预设数量的算法套件参数存入算法套件参数列表。在另一种可能的实现方式中,按照算法套件参数生成规则,根据初始算法套件参数和预设数量,生成预设数量的算法套件参数,并将该预设数量的算法套件参数存入算法套件参数列表中。
其中,预设数量为至少两个,该预设数量与待接收业务的数据量有关,且该预设数量的算法套件参数能够满足码流接收与解密的需求,即在对码流加解密之前、第二设备与第一设备协商后,预先生成了足量的、能够满足码流解密需求的算法套件参数,这样在码流解密过程中,第二设备和第一设备之间就没有必要再次协商其它算法套件参数,从而避免码流重复协商密钥材料的操作,减少码流处理的耗时。
S303:按照与第一设备协商确定的预设规则,在算法套件参数列表中确定目标算法套件参数,采用目标算法套件参数对待接收业务的码流进行解密。
第二设备中保存有预设规则,该预设规则可以是和第一设备协商确定的,也可以是预先设置在第二设备和第一设备中的。预设规则中可以包含在算法套件参数列表中选择新的算法套件参数的规则,从而在算法套件参数列表中确定目标算法套件参数,针对接收到的码流采用目标算法套件参数进行解密。具体的,可以对从第一设备接收到的码流进行解密,或对从服务器接收到的码流进行解密。对解密后的码流进行认证,若认证通过,则确定该码流为安全码流;若认证不通过,则确定该码流不安全,可以将该码流丢弃。
由于在处理码流加解密前,通过一次协商得到密钥材料,然后根据密钥材料预先生成预设数量的算法套件参数,无需重复协商密钥,减少码流处理的耗时,提升码流加解密处理的效率,可以减少码流的延迟和丢包。
实施例8:
为了提高码流传输的安全性,在上述实施例的基础上,在本申请实施例中,按照算法套件参数生成规则,根据初始算法套件参数,生成包括预设数量算法套件参数的算法套件参数列表,包括:
A:将初始算法套件参数确定为第一算法套件参数,存入算法套件参数列表;
B:按照算法套件参数生成规则,根据第一算法套件参数,生成第二算法套件参数,存入算法套件参数列表;
C:判断算法套件参数列表中保存的算法套件参数的数量是否达到预设数量;如果否,将第二算法套件参数作为第一算法套件参数,返回B;如果是,执行D;
D:确定生成的算法套件参数列表。
在第二设备和第一设备协商结束后,将第二设备和第一设备协商确定的密钥材料中的初始算法套件参数确定为第一算法套件参数,并将该第一算法套件参数存入算法套件参数列表中,作为算法套件参数列表中的第一个算法套件参数。
按照与第一设备协商确定的算法套件参数生成规则,根据第一算法套件参数,将第一算法套件参数变换后得到的新的算法套件参数确定为第二算法套件参数,将该第二算法套件参数存入算法套件参数列表中,并将该第二算法套件参数排列在第一算法套件参数下一个的位置。
确定存入算法套件参数列表中的算法套件参数的数量,将该数量与预设数量进行比较,判断算法套件参数列表中保存的算法套件参数的数量是否达到预设数量,若未达到预设数量,则将第二算法套件参数作为第一算法套件参数,并重复上述步骤,直至算法套件参数列表中保存的算法套件参数达到预设数量;若达到预设数量,则将包含设定数量算法套件参数的算法套件参数列表确定为生成的算法套件参数列表。
由于第二设备中的初始算法套件参数和算法套件参数生成规则是与第一设备协商确定的,所以在第二设备和第一设备协商结束后,第二设备根据初始算法套件参数按照算法、按照算法套件参数生成规则确定的算法套件参数列表与第一设备中的算法套件参数列表相同。也就是说,第二设备算法套件参数列表中包含的算法套件参数和算法套件参数之间的排列顺序与第一设备相同。
由于算法套件参数列表中保存的算法套件参数是存在差异的,故在不同的阶段,选择的处理码流的算法套件参数可以是不固定的、不同的,提高了码流传输的安全性。
实施例9:
为了进一步提高码流传输的安全性,在上述各实施例的基础上,在本申请实施例中,密钥材料还包括加解密算法列表;
按照算法套件参数生成规则,根据第一算法套件参数,生成第二算法套件参数,存入算法套件参数列表,包括:
按照算法套件参数生成规则,在加解密算法列表中确定与第一算法套件参数中的第一加解密算法不同的第二加解密算法;
根据第一算法套件参数中的第一加解密密钥,按照算法套件参数生成规则和第二加解密算法对应的密钥长度,确定第二加解密密钥;
根据第二加解密算法和第二加解密密钥,确定第二算法套件参数。
第二设备和第一设备协商得到的密钥材料还包括加解密算法列表,示例的,加解密算法列表可以是第二设备和第一设备协商确定的一组加解密算法。具体的,加解密算法列表中可以包含AES-CBC-128、AES-CBC-196、AES-CBC-256等算法。其中AES-CBC属于算法模式;算法模式后的数字代表密钥长度。
算法套件参数中包括加解密算法、加解密密钥。示例的,初始算法套件参数中包括初始加解密算法和初始加解密密钥,并且第二设备中的初始算法套件参数与第一设备中的算法套件参数是通过协商确定的、相同的初始算法套件参数,即第二设备与第一设备中的初始加解密算法和初始加解密密钥相同。具体的,初始加解密算法可以为加解密算法列表中的其中一个,并且用于生成加解密算法列表中的其余加解密算法,示例的初始加解密算法可以用于对第一次码流加解密使用的加解密算法。初始加解密密钥可以是通过和第一设备协商得到的第一密钥交换算法,计算得到的密钥和IV,在第一次码流加解密中被使用。其中密钥和IV可以是根据随机数计算得到的,密钥的长度和IV的长度符合初始加解密算法的密钥长度的要求。例如第一密钥交换算法可以包括(EC)DHE。
算法套件参数生成规则中包含有在加解密算法列表中重新选择新的加解密算法的规则,该重新选择新的加解密算法的规则与第一设备相同,此处不再进行赘述。按照算法套件参数生成规则,在加解密算法列表中确定与第一算法套件参数中的第一加解密算法不同或相同的第二加解密算法,不做具体限制。
算法套件参数生成规则中包含有将第一算法套件参数中的第一加解密密钥进行变换,得到符合当前确定的第二加解密算法的新的第二加解密密钥的规则。示例的,按照算法套件参数生成规则,根据第一算法套件参数中的第一加解密算法,按照算法套件参数生成规则中确定新的加解密密钥的规则,生成新的加解密密钥,根据第二加解密算法对应的密钥长度,可以对生成的新的加解密密钥按照第二加解密算法对应的密钥长度进行处理,将根据处理结果得到的符合第二加解密算法对应的密钥长度的密钥确定为第二加解密密钥。
针对上述第二加解密算法和第二加解密密钥,由于算法套件参数生成规则是第二设备和第一设备通过协商确定的,所以第二设备中按照算法套件参数生成规则确定的第二加解密算法、第二加解密算法与第一设备相同。
由于算法套件参数包括加解密算法和加解密密钥,所以可以根据第二加解密算法和第二加解密密钥,确定第二算法套件参数。
由于每个算法套件参数中的加解密算法是存在差异的,故在不同阶段处理码流的算法套件参数可以是不固定、不同的,进一步提高了码流传输的安全性。
实施例10:
为了进一步提高码流传输的安全性,在上述各实施例的基础上,在本申请实施例中,密钥材料还包括认证方法列表;
按照算法套件参数生成规则,根据第一算法套件参数,生成第二算法套件参数,存入算法套件参数列表,包括:
按照算法套件参数生成规则,在认证算法列表中确定与第一算法套件参数中的第一认证算法不同的第二认证算法;
根据第一算法套件参数中的第一认证密钥,按照算法套件参数生成规则和第二认证算法对应的密钥长度,确定第二认证密钥;
根据第二认证算法和第二认证密钥,确定第二算法套件参数。
第二设备和第一设备协商得到的密钥材料还可以包括认证算法列表,示例的,认证算法列表可以是第二设备和第一设备协商确定的一组认证算法。具体的,认证算法列表中可以包含MD5、SHA1、SHA256、SHA384、SHA512、NULL等。其中,NULL表示不使用认证方法,当认证算法为NULL时,NULL对应的密钥长度可以确定为固定长度,例如32字节(256bit)。
算法套件参数还可以包括认证算法、认证密钥。示例的,初始算法套件参数中包括初始认证算法和初始认证密钥,并且第二设备中的初始算法套件参数与第一设备中的算法套件参数是通过协商确定的、相同的初始算法套件参数,即第二设备与第一设备中的初始认证算法和初始认证密钥相同。具体的,初始认证算法可以为认证算法列表中的其中一个,并且用于生成认证算法列表中的其余认证算法,示例的初始认证算法可以用于对第一次码流加解密使用的认证算法。初始认证密钥可以是通过和第二设备协商得到的第二密钥交换算法,计算得到的认证密钥,在第一次认证中被使用。
算法套件参数生成规则中包含有在认证算法列表中重新选择新的认证算法的规则,该重新选择新的认证算法的规则与第一设备相同,此处不再进行赘述。按照算法套件参数生成规则,在认证算法列表中确定与第一算法套件参数中的第一认证算法不同或相同的第二认证算法,不做具体限制。
算法套件参数生成规则中包含有将第一算法套件参数中的第一认证密钥进行变换,得到符合当前确定的第二认证算法的新的第二认证密钥的规则。示例的,根据第一算法套件参数中的第一认证密钥,按照算法套件参数生成规则中确定新的认证密钥的规则,生成新的认证密钥,根据第二认证算法对应的密钥长度,可以对生成的新的认证密钥进行处理,将根据处理结果得到的符合第二认证算法对应的密钥长度的密钥确定为第二认证密钥。其中,当第二认证算法为NULL时,确定的第二认证密钥的长度可以为固定长度,例如32字节,防止影响后续认证密钥的确定。
针对上述第二认证算法和第二认证密钥,由于算法套件参数生成规则是第二设备和第一设备通过协商确定的,所以第二设备中按照算法套件参数生成规则确定的第二认证算法、第二认证密钥与第一设备相同。
具体的,第二认证算法可以通过将第二认证密钥与接收到并进行解密后的第三码流中携带的认证密钥进行对比,若第二认证密钥与第三码流中携带的认证密钥相同,则确定第三码流为安全码流;若第二认证密钥与第三码流中携带的认证密钥不同,则确定该第三码流不安全,并可以将该第三码流丢弃。
由于算法套件参数包括认证算法和认证密钥,所以可以根据第二认证算法和第二认证密钥,确定第二算法套件参数。
由于每个算法套件参数中的认证算法是存在差异的,故在不同阶段处理码流的算法套件参数可以是不固定的、不同的,进一步提高了码流传输的安全性。
实施例11:
为了进一步提升码流加解密处理的效率,减少码流延迟和丢包问题,在上述各实施例的基础上,在本申请实施例中,按照与第一设备协商确定的预设规则,在算法套件参数列表中确定目标算法套件参数,采用目标算法套件参数对待接收业务的码流进行解密,包括:
当满足算法套件参数更新条件时,按照预设规则,在算法套件参数列表中,确定与第三算法套件参数不同的第四算法套件参数,第三算法套件参数用于为接收到的第三码流进行解密;
对接收到的第四码流采用第四算法套件参数进行解密。
第二设备和第一设备协商得到的密钥材料还包括密钥算法套件参数更新条件。其中,算法套件参数更新条件可以是预设的时间、预设的时间间隔、预设的数据量等,此处不做具体限制。第二设备中的算法套件参数更新条件与第一设备相同,此处不再进行赘述。
由于第二设备中保存的预设规则用于当满足预设条件时,在算法套件参数列表中确定用于对待接收的业务的码流进行加密的目标算法套件参数,所以当满足算法套件参数更新条件时,第二设备可以主动按照预设规则,在算法套件参数列表中确定与第三算法套件参数不同或相同的第四算法套件参数,不做具体限制。其中第二设备和第一设备的预设规则相同,所以第二设备中按照预设规则确定的第四算法套件参数与第一设备中的第四算法套件参数相同。
对接收到的第三码流采用第三算法套件参数进行解密,也就是说,第二设备中采用与第一设备中相同的对称算法即第三算法套件参数,对第三码流进行解密。具体的,若第三码流是开始进行拉流时的码流,即若第一码流是开始进行码流传输时的码流,则第三算法套件参数可以是初始算法套件参数。其中,接收到的第三码流可以是加密后的第一码流。
对接收到的第三码流后的第四码流采用第四算法套件参数进行解密,也就是说,第二设备中采用与第一设备中相同的对称算法即第四算法套件参数,对第四码流进行解密。其中,接收到的第四码流可以是加密后的第二码流。
由于满足算法套件参数更新条件时,第二设备主动按照预设规则确定第四算法套件参数并自动对第二码流进行处理,避免了码流重复协商密钥材料的操作,进一步提升了码流加解密处理的效率,减少码流延迟和丢包问题。
实施例12:
为了进一步提升码流处理加解密处理的效率,减少码流延迟和丢包问题,在上述各实施例的基础上,在本申请实施例中,当满足算法套件参数更新条件时,方法还包括:
当识别到第三码流携带有标记信息时,根据标记信息,确定采用第四算法套件参数对第四码流进行解密。
在一种可能的实现方式中,当第二设备识别到第三码流中携带有标记信息时,可以根据标记信息中携带的第四算法套件参数,确定采用该第四算法套件参数对第四码流进行解密。
在另一种可能的实现方式中,当第二设备识别到第三码流中携带有标记信息时,可以根据标记信息中携带的索引号,在算法套件参数列表中确定该索引号对应的第四算法套件参数,确定采用第四算法套件参数对第四码流进行解密。
在另一种可能的实现方式中,当第二设备识别到第三码流中携带有标记信息时,且该标记信息中携带有指示更新的更新条件时,可以根据该标记信息,确定使用新的算法套件参数对码流进行解密,并且按照第二设备和第一设备协商确定的算法套件参数更新规则,直接使用当前第三算法套件参数的下一个第四算法套件参数,确定采用该第四算法套件参数对第四码流进行解密。
由于满足算法套件参数更新条件后,当第二设备识别到第三码流中携带有指示更新的标记信息,对第三码流后的第四码流自动使用算法套件参数列表中新的算法套件参数处理码流,避免了码流重复协商密钥材料的操作,进一步提升了码流加解密处理的效率,减少码流延迟和丢包问题。
下面以一个具体的实施例对上述各实施例进行说明,参见图4的码流加解密流程示意图,包括如下步骤:
S401:第一设备和第二设备建立连接。
S402:第一设备和第二设备进行协商,得到密钥材料。
S403:第一设备和第二设备根据密钥材料,预先生成足量的算法套件参数,并存入算法套件参数列表。
其中,该步骤是在协商得到密钥材料结束后进行的。
S404:第一设备开始推流,第二设备开始拉流。
S405:第一设备采用当前算法套件参数对第一码流进行加密并发送,第二设备采用当前算法套件参数对第三码流进行解密。
S406:判断是否满足算法套件参数更新条件,若否,则执行S405;若是,则执行S407。
S407:第一设备给第三码流添加标记信息,并对第一码流后的第二码流采用新的算法套件参数进行认证、加密并发送。
其中,标记信息用于指示对第二码流采用新的算法套件参数进行加密,新的算法套件参数可以是第四算法套件参数。
S408:第二设备识别到标记信息,对第四码流采用新的算法套件参数进行解密、认证,并返回S406。
实施例13:
基于相同的技术构思,在上述各实施例的基础上,本申请提供了一种码流加密装置,如图5所示,该装置包括:
协商模块501,用于与建立连接的第二设备进行协商,得到密钥材料;其中,密钥材料包括初始算法套件参数和算法套件参数生成规则;生成模块502,用于按照算法套件参数生成规则,根据初始算法套件参数,生成包括预设数量算法套件参数的算法套件参数列表;其中,预设数量为至少两个,预设数量与待发送业务的数据量有关;加密模块503,用于按照预设规则,在算法套件参数列表中确定目标算法套件参数,采用目标算法套件参数对待发送业务的码流进行加密并发送。
在一种可能的实施方式中,生成模块502,具体用于A:将初始算法套件参数确定为第一算法套件参数,存入算法套件参数列表;B:按照算法套件参数生成规则,根据第一算法套件参数,生成第二算法套件参数,存入算法套件参数列表;C:判断算法套件参数列表中保存的算法套件参数的数量是否达到预设数量;如果否,将第二算法套件参数作为第一算法套件参数,返回B;如果是,执行D;D:确定生成的算法套件参数列表。在一种可能的实施方式中,密钥材料还包括加解密算法列表,生成模块502,具体用于按照算法套件参数生成规则,在加解密算法列表中确定与第一算法套件参数中的第一加解密算法不同的第二加解密算法;根据第一算法套件参数中的第一加解密密钥,按照算法套件参数生成规则和第二加解密算法对应的密钥长度,确定第二加解密密钥;根据第二加解密算法和第二加解密密钥,确定第二算法套件参数。在一种可能的实施方式中,密钥材料还包括认证算法列表,生成模块502,具体用于按照算法套件参数生成规则,在认证算法列表中确定与第一算法套件参数中的第一认证算法不同的第二认证算法;根据第一算法套件参数中的第一认证密钥,按照算法套件参数生成规则和第二认证算法对应的密钥长度,确定第二认证密钥;根据第二认证算法和第二认证密钥,确定第二算法套件参数。在一种可能的实施方式中,加密模块503,具体用于当满足算法套件参数更新条件时,按照预设规则,在算法套件参数列表中,确定与第三算法套件参数不同的第四算法套件参数,第三算法套件参数用于为第一码流进行加密;对第一码流后的第二码流采用第四算法套件参数进行加密;发送加密后的第二码流。在一种可能的实施方式中,加密模块503,还用于为加密后的第一码流添加标记信息;其中,标记信息用于指示对第二码流采用第四算法套件参数进行加密;发送添加标记信息后的第一码流。
实施例14:
基于相同的技术构思,在上述各实施例的基础上,本申请提供了一种码流解密装置,如图6所示,该装置包括:
协商模块601,用于第二设备与建立连接的第一设备进行协商,得到密钥材料;其中,密钥材料包括初始算法套件参数和算法套件参数生成规则;生成模块602,用于按照算法套件参数生成规则,根据初始算法套件参数,生成包括预设数量算法套件参数的算法套件参数列表;其中,预设数量为至少两个,预设数量与待接收业务的数据量有关;解密模块603,用于按照与第一设备协商确定的预设规则,在算法套件参数列表中确定目标算法套件参数,采用目标算法套件参数对待接收业务的码流进行解密。
在一种可能的实施方式中,生成模块602,具体用于A:将初始算法套件参数确定为第一算法套件参数,存入算法套件参数列表;B:按照算法套件参数生成规则,根据第一算法套件参数,生成第二算法套件参数,存入算法套件参数列表;C:判断算法套件参数列表中保存的算法套件参数的数量是否达到预设数量;如果否,将第二算法套件参数作为第一算法套件参数,返回B;如果是,执行D;D:确定生成的算法套件参数列表。在一种可能的实施方式中,密钥材料还包括加解密算法列表,生成模块602,具体用于按照算法套件参数生成规则,在加解密算法列表中确定与第一算法套件参数中的第一加解密算法不同的第二加解密算法;根据第一算法套件参数中的第一加解密密钥,按照算法套件参数生成规则和第二加解密算法对应的密钥长度,确定第二加解密密钥;根据第二加解密算法和第二加解密密钥,确定第二算法套件参数。在一种可能的实施方式中,密钥材料还包括认证方法列表,生成模块602,具体用于按照算法套件参数生成规则,在认证算法列表中确定与第一算法套件参数中的第一认证算法不同的第二认证算法;根据第一算法套件参数中的第一认证密钥,按照算法套件参数生成规则和第二认证算法对应的密钥长度,确定第二认证密钥;根据第二认证算法和第二认证密钥,确定第二算法套件参数。在一种可能的实施方式中,解密模块603,具体用于当满足算法套件参数更新条件时,按照预设规则,在算法套件参数列表中,确定与第三算法套件参数不同的第四算法套件参数,第三算法套件参数用于为接收到的第三码流进行解密;对接收到的第四码流采用第四算法套件参数进行解密。在一种可能的实施方式中,解密模块603,还用于当识别到第三码流携带有标记信息时,根据标记信息,确定采用第四算法套件参数对第四码流进行解密。
实施例15:
基于相同的技术构思,本申请还提供了一种电子设备,图7为本申请实施例提供的一种电子设备结构示意图,如图7所示,包括:处理器701、通信接口702、存储器703和通信总线704,其中,处理器701,通信接口702,存储器703通过通信总线704完成相互间的通信;
在一个实施例中,电子设备为上述第一设备,存储器703中存储有计算机程序,当程序被处理器701执行时,使得处理器701执行上述任一码流加密的实施例。
在又一个实施例中,电子设备为上述第二设备,存储器703中存储有计算机程序,当程序被处理器701执行时,使得处理器701执行上述任一码流解密的实施例。
上述电子设备提到的通信总线可以是外设部件互连标准(Peripheral ComponentInterconnect,PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。通信接口702用于上述电子设备与其他设备之间的通信。存储器可以包括随机存取存储器(RandomAccess Memory,RAM),也可以包括非易失性存储器(Non-Volatile Memory,NVM),例如至少一个磁盘存储器。可选地,存储器还可以是至少一个位于远离前述处理器的存储装置。上述处理器可以是通用处理器,包括中央处理器、网络处理器(Network Processor,NP)等;还可以是数字指令处理器(Digital Signal Processing,DSP)、专用集成电路、现场可编程门陈列或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。
基于相同的技术构思,本申请实施例提供了一种计算机可读存储介质,计算机可读存储介质内存储有可由电子设备执行的计算机程序,当程序在电子设备上运行时,使得电子设备执行时实现上述任一码流加密的实施例,或者执行时实现上述任一码流解密的实施例。
基于相同的技术构思,本申请实施例提供了一种码流加解密系统,所述系统包括实现上述任一码流加密的实施例的第一设备,和实现上述任一码流解密的实施例的第二设备。
上述计算机可读存储介质可以是电子设备中的处理器能够存取的任何可用介质或数据存储设备,包括但不限于磁性存储器如软盘、硬盘、磁带、磁光盘(MO)等、光学存储器如CD、DVD、BD、HVD等、以及半导体存储器如ROM、EPROM、EEPROM、非易失性存储器(NANDFLASH)、固态硬盘(SSD)等。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。本申请是参照根据本申请的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
Claims (17)
1.一种码流加密方法,其特征在于,应用于第一设备,所述方法包括:
所述第一设备与建立连接的第二设备进行协商,得到密钥材料;其中,所述密钥材料包括初始算法套件参数和算法套件参数生成规则;
按照所述算法套件参数生成规则,根据所述初始算法套件参数,生成包括预设数量算法套件参数的算法套件参数列表;其中,所述预设数量为至少两个,所述预设数量与待发送业务的数据量有关;
按照预设规则,在所述算法套件参数列表中确定目标算法套件参数,采用所述目标算法套件参数对所述待发送业务的码流进行加密并发送。
2.根据权利要求1所述的方法,其特征在于,所述按照所述算法套件参数生成规则,根据所述初始算法套件参数,生成包括预设数量算法套件参数的算法套件参数列表,包括:
A:将所述初始算法套件参数确定为第一算法套件参数,存入所述算法套件参数列表;
B:按照所述算法套件参数生成规则,根据所述第一算法套件参数,生成第二算法套件参数,存入所述算法套件参数列表;
C:判断所述算法套件参数列表中保存的算法套件参数的数量是否达到所述预设数量;如果否,将所述第二算法套件参数作为第一算法套件参数,返回B;如果是,执行D;
D:确定生成的所述算法套件参数列表。
3.根据权利要求2所述的方法,其特征在于,所述密钥材料还包括加解密算法列表;
所述按照所述算法套件参数生成规则,根据所述第一算法套件参数,生成第二算法套件参数,存入所述算法套件参数列表,包括:
按照所述算法套件参数生成规则,在所述加解密算法列表中确定与所述第一算法套件参数中的第一加解密算法不同的第二加解密算法;
根据所述第一算法套件参数中的第一加解密密钥,按照所述算法套件参数生成规则和所述第二加解密算法对应的密钥长度,确定第二加解密密钥;
根据所述第二加解密算法和所述第二加解密密钥,确定所述第二算法套件参数。
4.根据权利要求2或3所述的方法,其特征在于,所述密钥材料还包括认证算法列表;
所述按照所述算法套件参数生成规则,根据所述第一算法套件参数,生成第二算法套件参数,存入所述算法套件参数列表,包括:
按照所述算法套件参数生成规则,在所述认证算法列表中确定与所述第一算法套件参数中的第一认证算法不同的第二认证算法;
根据所述第一算法套件参数中的第一认证密钥,按照所述算法套件参数生成规则和所述第二认证算法对应的密钥长度,确定第二认证密钥;
根据所述第二认证算法和所述第二认证密钥,确定所述第二算法套件参数。
5.根据权利要求1或2所述的方法,其特征在于,所述按照预设规则,在所述算法套件参数列表中确定目标算法套件参数,采用所述目标算法套件参数对所述待发送业务的码流进行加密并发送,包括:
当满足算法套件参数更新条件时,按照所述预设规则,在所述算法套件参数列表中,确定与第三算法套件参数不同的第四算法套件参数,所述第三算法套件参数用于为第一码流进行加密;
对所述第一码流后的第二码流采用所述第四算法套件参数进行加密;
发送加密后的所述第二码流。
6.根据权利要求5所述的方法,其特征在于,当满足所述算法套件参数更新条件时,所述方法还包括:
为加密后的所述第一码流添加标记信息;其中,所述标记信息用于指示对所述第二码流采用所述第四算法套件参数进行加密;
发送添加所述标记信息后的所述第一码流。
7.一种码流解密方法,其特征在于,应用于第二设备,所述方法包括:
所述第二设备与建立连接的第一设备进行协商,得到密钥材料;其中,所述密钥材料包括初始算法套件参数和算法套件参数生成规则;
按照所述算法套件参数生成规则,根据所述初始算法套件参数,生成包括预设数量算法套件参数的算法套件参数列表;其中,所述预设数量为至少两个,所述预设数量与待接收业务的数据量有关;
按照与所述第一设备协商确定的预设规则,在所述算法套件参数列表中确定目标算法套件参数,采用所述目标算法套件参数对所述待接收业务的码流进行解密。
8.根据权利要求7所述的方法,其特征在于,所述按照所述算法套件参数生成规则,根据所述初始算法套件参数,生成包括预设数量算法套件参数的算法套件参数列表,包括:
A:将所述初始算法套件参数确定为第一算法套件参数,存入所述算法套件参数列表;
B:按照所述算法套件参数生成规则,根据所述第一算法套件参数,生成第二算法套件参数,存入所述算法套件参数列表;
C:判断所述算法套件参数列表中保存的算法套件参数的数量是否达到所述预设数量;如果否,将所述第二算法套件参数作为第一算法套件参数,返回B;如果是,执行D;
D:确定生成的所述算法套件参数列表。
9.根据权利要求8所述的方法,其特征在于,所述密钥材料还包括加解密算法列表;
所述按照所述算法套件参数生成规则,根据所述第一算法套件参数,生成第二算法套件参数,存入所述算法套件参数列表,包括:
按照所述算法套件参数生成规则,在所述加解密算法列表中确定与所述第一算法套件参数中的第一加解密算法不同的第二加解密算法;
根据所述第一算法套件参数中的第一加解密密钥,按照所述算法套件参数生成规则和所述第二加解密算法对应的密钥长度,确定第二加解密密钥;
根据所述第二加解密算法和所述第二加解密密钥,确定所述第二算法套件参数。
10.根据权利要求8或9所述的方法,其特征在于,所述密钥材料还包括认证方法列表;
所述按照所述算法套件参数生成规则,根据所述第一算法套件参数,生成第二算法套件参数,存入所述算法套件参数列表,包括:
按照所述算法套件参数生成规则,在所述认证算法列表中确定与所述第一算法套件参数中的第一认证算法不同的第二认证算法;
根据所述第一算法套件参数中的第一认证密钥,按照所述算法套件参数生成规则和所述第二认证算法对应的密钥长度,确定第二认证密钥;
根据所述第二认证算法和所述第二认证密钥,确定所述第二算法套件参数。
11.根据权利要求7或8所述的方法,其特征在于,所述按照与所述第一设备协商确定的预设规则,在所述算法套件参数列表中确定目标算法套件参数,采用所述目标算法套件参数对所述待接收业务的码流进行解密,包括:
当满足算法套件参数更新条件时,按照所述预设规则,在所述算法套件参数列表中,确定与第三算法套件参数不同的第四算法套件参数,所述第三算法套件参数用于为接收到的第三码流进行解密;
对接收到的第四码流采用所述第四算法套件参数进行解密。
12.根据权利要求11所述的方法,其特征在于,当满足所述算法套件参数更新条件时,所述方法还包括:
当识别到所述第三码流携带有标记信息时,根据所述标记信息,确定采用所述第四算法套件参数对所述第四码流进行解密。
13.一种码流加密装置,其特征在于,应用于第一设备,所述装置包括:
协商模块,用于所述第一设备与建立连接的第二设备进行协商,得到密钥材料;其中,所述密钥材料包括初始算法套件参数和算法套件参数生成规则;
生成模块,用于按照所述算法套件参数生成规则,根据所述初始算法套件参数,生成包括预设数量算法套件参数的算法套件参数列表;其中,所述预设数量为至少两个,所述预设数量与待发送业务的数据量有关;
加密模块,用于按照预设规则,在所述算法套件参数列表中确定目标算法套件参数,采用所述目标算法套件参数对所述待发送业务的码流进行加密并发送。
14.一种码流解密装置,其特征在于,应用于第二设备,所述装置包括:
协商模块,用于所述第二设备与建立连接的第一设备进行协商,得到密钥材料;其中,所述密钥材料包括初始算法套件参数和算法套件参数生成规则;
生成模块,用于按照所述算法套件参数生成规则,根据所述初始算法套件参数,生成包括预设数量算法套件参数的算法套件参数列表;其中,所述预设数量为至少两个,所述预设数量与待接收业务的数据量有关;
解密模块,用于按照与所述第一设备协商确定的预设规则,在所述算法套件参数列表中确定目标算法套件参数,采用所述目标算法套件参数对所述待接收业务的码流进行解密。
15.一种电子设备,其特征在于,所述电子设备至少包括处理器和存储器,所述处理器用于执行存储器中存储的计算机程序时实现如权利要求1-6任一项所述的一种码流加密方法的步骤,或者实现如权利要求7-12任一项所述的一种码流解密方法的步骤。
16.一种计算机存储介质,其特征在于,其存储有可由电子设备执行的计算机程序,当所述程序在所述电子设备上运行时,使得所述电子设备执行权利要求1-6任一项所述的一种码流加密方法的步骤,或者执行权利要求7-12任一项所述的一种码流解密方法的步骤。
17.一种码流加解密系统,其特征在于,所述系统包括实现如权利要求1-6任一项所述的一种码流加密方法的步骤的第一设备,和实现如权利要求7-12任一项所述的一种码流解密方法的步骤的第二设备。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310197980.8A CN116094714B (zh) | 2023-02-24 | 2023-02-24 | 一种码流加密、解密方法、装置、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310197980.8A CN116094714B (zh) | 2023-02-24 | 2023-02-24 | 一种码流加密、解密方法、装置、设备及介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116094714A true CN116094714A (zh) | 2023-05-09 |
CN116094714B CN116094714B (zh) | 2023-06-20 |
Family
ID=86186987
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310197980.8A Active CN116094714B (zh) | 2023-02-24 | 2023-02-24 | 一种码流加密、解密方法、装置、设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116094714B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116668203A (zh) * | 2023-08-02 | 2023-08-29 | 浙江大华技术股份有限公司 | 设备认证方法、物联网设备、认证平台以及可读存储介质 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107222759A (zh) * | 2017-06-28 | 2017-09-29 | 网易(杭州)网络有限公司 | 媒体文件加解密的方法、系统、设备和介质 |
US20170366524A1 (en) * | 2016-06-16 | 2017-12-21 | International Business Machines Corporation | Synchronizing secure session keys |
CN107566335A (zh) * | 2017-07-21 | 2018-01-09 | 北京海泰方圆科技股份有限公司 | 消息的处理方法和装置 |
CN107948676A (zh) * | 2017-12-08 | 2018-04-20 | 苏州科达科技股份有限公司 | 视频数据传输方法及装置 |
CN108881801A (zh) * | 2018-06-29 | 2018-11-23 | 苏州科达科技股份有限公司 | 视频会议的码流传输方法、系统、电子设备、存储介质 |
CN111262811A (zh) * | 2018-11-30 | 2020-06-09 | 中移物联网有限公司 | 一种数据加密传输方法及装置、设备和存储介质 |
EP3934158A1 (en) * | 2019-12-27 | 2022-01-05 | Joint Stock Company "Infotecs" | System for the secure transfer of data within a digital network |
CN114205552A (zh) * | 2021-01-08 | 2022-03-18 | 浙江宇视科技有限公司 | 码流加密方法、码流解密方法、装置、电子设备和介质 |
CN115208863A (zh) * | 2022-09-14 | 2022-10-18 | 浙江大华技术股份有限公司 | 码流加密和解密方法及相关装置、设备、系统和介质 |
CN115695003A (zh) * | 2022-10-31 | 2023-02-03 | 中金金融认证中心有限公司 | 密钥交换方法、系统、电子设备及存储介质 |
-
2023
- 2023-02-24 CN CN202310197980.8A patent/CN116094714B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170366524A1 (en) * | 2016-06-16 | 2017-12-21 | International Business Machines Corporation | Synchronizing secure session keys |
CN107222759A (zh) * | 2017-06-28 | 2017-09-29 | 网易(杭州)网络有限公司 | 媒体文件加解密的方法、系统、设备和介质 |
CN107566335A (zh) * | 2017-07-21 | 2018-01-09 | 北京海泰方圆科技股份有限公司 | 消息的处理方法和装置 |
CN107948676A (zh) * | 2017-12-08 | 2018-04-20 | 苏州科达科技股份有限公司 | 视频数据传输方法及装置 |
CN108881801A (zh) * | 2018-06-29 | 2018-11-23 | 苏州科达科技股份有限公司 | 视频会议的码流传输方法、系统、电子设备、存储介质 |
CN111262811A (zh) * | 2018-11-30 | 2020-06-09 | 中移物联网有限公司 | 一种数据加密传输方法及装置、设备和存储介质 |
EP3934158A1 (en) * | 2019-12-27 | 2022-01-05 | Joint Stock Company "Infotecs" | System for the secure transfer of data within a digital network |
CN114205552A (zh) * | 2021-01-08 | 2022-03-18 | 浙江宇视科技有限公司 | 码流加密方法、码流解密方法、装置、电子设备和介质 |
CN115208863A (zh) * | 2022-09-14 | 2022-10-18 | 浙江大华技术股份有限公司 | 码流加密和解密方法及相关装置、设备、系统和介质 |
CN115695003A (zh) * | 2022-10-31 | 2023-02-03 | 中金金融认证中心有限公司 | 密钥交换方法、系统、电子设备及存储介质 |
Non-Patent Citations (1)
Title |
---|
杨庚;程宏兵;: "一种有效的无线传感器网络密钥协商方案", 电子学报, no. 07 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116668203A (zh) * | 2023-08-02 | 2023-08-29 | 浙江大华技术股份有限公司 | 设备认证方法、物联网设备、认证平台以及可读存储介质 |
CN116668203B (zh) * | 2023-08-02 | 2023-10-20 | 浙江大华技术股份有限公司 | 设备认证方法、物联网设备、认证平台以及可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN116094714B (zh) | 2023-06-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109347835B (zh) | 信息传输方法、客户端、服务器以及计算机可读存储介质 | |
JP5815294B2 (ja) | セキュアなフィールドプログラマブルゲートアレイ(fpga)アーキテクチャ | |
US8997254B2 (en) | Systems and methods for fast startup streaming of encrypted multimedia content | |
EP4258593A1 (en) | Ota update method and apparatus | |
US11146554B2 (en) | System, method, and apparatus for secure identity authentication | |
CN110868291B (zh) | 一种数据加密传输方法、装置、系统及存储介质 | |
US20210367767A1 (en) | Methods and systems for secure network communication | |
CN111132148B (zh) | 用于智能家电设备配置入网的方法及装置、存储介质 | |
CN105024807A (zh) | 数据处理方法及系统 | |
CN116094714B (zh) | 一种码流加密、解密方法、装置、设备及介质 | |
CN109005184A (zh) | 文件加密方法及装置、存储介质、终端 | |
CN111786777B (zh) | 一种流式数据加解密方法、装置、系统及存储介质 | |
KR102569893B1 (ko) | 차량 네트워크를 위한 보안 기법 및 그 장치 | |
CN115766066A (zh) | 数据传输方法、装置、安全通信系统及存储介质 | |
CN111538512A (zh) | 一种空中下载技术ota固件升级方法、装置及设备 | |
US11496292B2 (en) | Secure installation of application keys | |
CN114095277A (zh) | 配电网安全通信方法、安全接入设备及可读存储介质 | |
CN114448999A (zh) | 数据存储方法、装置、系统、电子装置和存储介质 | |
CN106549754A (zh) | 管理密钥的方法和装置 | |
CN114745114B (zh) | 基于口令派生的密钥协商方法、装置、设备及介质 | |
CN110311937B (zh) | 数据转发系统 | |
KR101595056B1 (ko) | 인터클라우드 환경에서의 데이터 공유 시스템 및 공유 방법 | |
KR20220000537A (ko) | 차량 네트워크 기반의 데이터 송수신 시스템 및 그 방법 | |
CN113961931A (zh) | adb工具使用方法、装置和电子设备 | |
CN114900292B (zh) | 一种预计算系统、预计算数据处理方法及装置 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |