首页 > 编程知识 正文

单词翻译,iec104协议

时间:2023-05-04 15:37:13 阅读:120962 作者:809

最近在工作中需要了解srtp协议。 学习协议的最好方法是阅读RFC文档,但是英语文档读起来有点困难,在网上也找不到相应的中文翻译,所以我们决定将RFC3711翻译成中文。 也就是说,他们被迫阅读所有句子,第二,他们希望这对从事音视频开发的程序员有帮助。

实时传输协议(rtp )用于传输实时音频视频数据; 实时传输控制协议(rtcp )是rtp的支持协议,用于实时数据传输的监测和反馈,以及服务质量的保证; srtp是rtp的配置文件,在传输层(如rtp和udp )之间运行,提供rtp数据加密、消息验证和回放保护。 srtcp为rtcp提供了类似的功能。

序言1

本文论述了安全实时传输协议(SRTP )、实时传输协议(RTP )的简档,为RTP传输和RTP控制传输(RTCP )提供加密、消息认证和回放保护。

SRTP提供了RTP和RTCP流的加密、消息认证和回放保护框架。 SRTP定义了加密变体的集合,并支持未来引入新的加密变体。 它与适当的密钥管理配合使用,为单播和多播RTP APP应用程序提供安全性。

事实证明,SRTP可以实现高吞吐量和低分组膨胀,SRTP可以对异构环境(无线混合环境)提供适当的保护。 为了获得这些特征,描述默认变换,基于附加流密文实现加密,使用带key的散列函数进行消息认证,以及基于RTP序列号的隐式索引的序列号和同步以及用于SRTCP的索引

2目标和特点

srtp的安全目标是

为rtp、rtcp负载(payload )提供加密,保证机密性。

rtp,提供整个rtcp包的完整性保护。

提供rtp、rtcp的数据包播放保护。

这些安全服务是可选的,彼此独立,只需要srtcp的完整性保护。

此外,从功能上讲,协议的目标是:

一种支持新变化算法的框架

低带宽消耗,如框架支持rtp报头的有效压缩

另外,预定义的转换支持:

低计算消耗

为了支持带宽节约,限制数据包的膨胀

具有容错丢包和次序混乱,独立于RTP中使用的基本传输、网络和物理层

这些特性确保了srtp在有线/无线网络环境中都是rtp/rtcp的适当安全方案。

2.1特点

单独的主密钥为srtp流和相应的srtcp流提供了加密和完整性保护的密钥材料。 这通过一个key派生函数实现,key派生函数从master key派生会话密钥,用于各自的安全操作。

key派生可以周期性地更新session keys,以限制为每个session key生成的密文的数量,使其可用于对方的解密分析。

salting keys用于防止预期计算和时间-空间置换攻击。

3 SRTP框架

rtp存在于rtp APP应用与网络传输层之间,其中srtp侦听RTP分组,并且将其转换为srtp分组; 在接收端,srtp监听srtp分组,并将相应的rtp分组传递到RTP APP应用。

3.1安全RTP

srtp数据包格式

() (3)4)5(9)6)8)9%1----------------------v=2% p|cc|m|sequence number|-------===========================|| contributing source (CSRC ) identifiers||||------ -。

| | +>+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | | payload ... | | | | +-------------------------------+ | | | | RTP padding | RTP pad count | | +>+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+<+ | ~ SRTP MKI (OPTIONAL) ~ | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | : authentication tag (RECOMMENDED) : | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | | +- Encrypted Portion* Authenticated Portion ---+

加密部分包括payload和padding部分(如果有),加密部分的大小>=未加密之前的rtp负载大小,如果用预加密变换算法的话,那加密前后大小相等。

MKI:master key标识符,可选,长度可配置,MKI由key management定义、产生(signaled)、使用,用于和/或加密特定包的session key将从master key派生,MKI不能标识srtp加密上下文,MKI被key management用于re-keying、标识加密上下文中的特定主键。

认证标签:推荐,长度可配置,消息认证包括rtp包头+加密部分数据,如果加密和认证都被应用,则先加密,然后对rtp包头和加密后的数据,再认证,接收端则遵循相反的顺序。认证标签也通过认证序列化隐式提供重放保护。

3.2 SRTP加密上下文

每个SRTP流都需要在发送端和接收端维护加密状态信息,该信息叫加密上下文。

SRTP使用2种类型的key:session key和master key。session key直接用于加密变换,包括负载加密和消息认证。master key是一个随机字符串,由key管理协议提供,session key通过安全的方式从master key推导生成。加密上下文中的master key和其他参数由srtp以外的key管理机制提供。

加密上下文中的参数分为变换独立参数和变化相关参数。

3.2.1 变换独立参数

加密上下文中的变换独立参数跟所采用的特定加密和认证变换无关,包括:

ROC,32位无符号回绕计数,记录16位rtp顺序号回绕(到达65535后自增重置为0)的次数,顺序号(seq)从rtp包头里提取,48位的rtpasjdzdj通过公式获得:

i = 2^16 * ROC + SEQ

16位的顺序号s_l是接收端独有,可被当做接收到的rtp包的最高顺序号,因为消息认证被推荐使用,所以s_l应该被认证。

加密算法标识符,例如:密码和操作模式。

消息认证算法标识符。

重放列表,只有接收端才需要维护(当认证和重放保护被提供),包含最近接收并认证的消息索引。

MKI指示符(0或1),标识srtp、srtcp包中是否包含MKI。

如果MKI指示符为1,MKI字段的长度(以字节计),和(发送端)当前生效的MKI的实际值,MKI指示符和长度在上下文的整个生命周期应该保持固定不变。

master key,必须随机且保密。

针对每个master key,有一个用该master key处理过的srtp包的计数,本质上是为了安全考虑。

非负整数n_e(决定用于加密session key的长度)和n_a(决定用于消息认证session key的长度)。

另外,针对每个master key,srtp流可能使用以下相关值。

master salt,被用于session key的派生,当使用该值时,必须随机,但可公开,强烈建议使用master salt,空salt被当做“00...0”。

key派生率,key_derivation_rate,它是一个整数,取值{1,2,4,...,2^24}之一,如未指定,将被当做0。key派生率限定为必须是2的n次方,是为了简化key派生算法的实现。

一个MKI值。

<from, to>值,指定master key的生命周期,标明在该范围内的master key有效。<from,to>是MKI的替代方案。

srtcp默认应该跟srtp共享加密上下文,但不包括:

srtcp上下文不需要维护roc和s_l值,因为srtcp包会显式的携带rtcp索引。

srtcp需要维护独立的重放列表(如果提供重放保护的话)。

srtcp为master key维护单独的计数(哪怕master key跟srtp一样),该计数也是记录用该master key处理过了多少srtcp包。

注意,如果预定义变换(包括key派生)被采用,在特殊情况下,srtp和对应的srtcp可以共享master key,但必不可共享session key。

另外,一个rtp session中有多个srtp流,通过它们的同步源(位于rtp header中的ssrc)区分,它们共享大部分加密上下文参数。在这种情况下,普通的参数可以按以上描述的共享,但每个流还是要独立拥有重放列表和包计数,单独的srtp索引也必须独立维护。

上述参数的参数概要,预定义变换,默认值在p 5和8.2讲述。

3.2.2 变换相关参数

所有加密、认证、完整性和key派生参数在变换章节(Section 4)定义。密文(cipher)块大小、session keys、初始化向量(IV)信息的数据等是典型的此类参数。未来的srtp变换规范必须包括一段(如果有)去罗列其他用于变换等的加密上下文参数。

3.2.3 映射srtp包到加密上下文

一个rtp会话被定义为一对目的传输地址(一个网络地址+一对分别用于rtp和rtcp的端口),多媒体会话是rtp会话的集合。例如,一个特定多媒体会话可能包括一个音频rtp会话,一个视频rtp会话,和一个文本rtp会话。

一个加密上下文应该被唯一标识为三元上下文标识:

上下文ID = <SSRC, 目的网络地址,目的传输端口号>

其中目的网络地址和目的传输端口号携带在srtp包中。

如上所述,srtp和srtcp共享大部分加密上下文参数。因此,获取srtcp流的加密上下文参数可能意味着绑定对应srtp的加密上下文,该绑定由实现去完成,因为rtcp端口号不能直接通过rtp端口号推导出来。或者,key管理可以通过复制公共参数(比如master key),去提供独立的srtp上下文和srtcp上下文。后一种方法也使得srtp和srtcp可以使用不同的变换,如果需要的话。

找不到对应的有效上下文的包,必须被丢弃。

3.3 srtp包处理

以下处理步骤用于srtp包。Section 3.4描述srtcp包处理流程。

假设key管理已经做了加密上下文的初始化,发送端应该按以下步骤构建srtp包:

确定要使用哪个加密上下文,按照p 3.2.3所述。

按照p 3.3.1描述的那样,通过加密上下文中的ROC、最高顺序号,和RTP包中的顺序号,去确定srtpasjdzdj。

确定master key和master salt。按照p 8.1描述,通过上一步中确定下来的asjdzdj或者加密上下文中的当前MKI,去确定master key和master salt。

确定session key和session salt(如果session salt被用于变换),按照p 4.3所述,该步需使用加密上下文中的master key、master salt、key派生率、会话key长度和asjdzdj(这些用到的信息通过步骤2和3确定)。

加密rtp包的payload产生包的密文数据部分,这一步使用加密上下文中加密算法标识符所指定的加密算法,session加密key和session salt(如果用到)和asjdzdj(步骤2确定)。

如果MKI指示符为1,把MKI添加到packet尾部。

计算认证标签,按照p 4.2所述,该步骤使用了加密上下文中的ROC、认证算法标识,和第4步骤中的session认证key,并将认证标签添加到包尾。

如有必要,按照p3.3.1所述,使用步骤2确定下来的asjdzdj,更新ROC。

接收端按以下步骤,去认证和解密srtp包。

确定要被使用的加密上下文。按照p 3.2.3。

执行p 3.3.1的算法去获得srtpasjdzdj。该算法使用加密上下文中的ROC、最高顺序号和srtp包中的顺序号,如p 3.3.1所述。

确定master key和master salt。如果加密上下文中的MKI为1,使用srtp包中的MKI,否则使用上一步骤中的srtp索引(根据p 8.1)。

确定session key和session salt(如被用于变换)。按照p 4.3所述,使用加密上下文中的master key、master salt、key派生率、session key长度和srtpasjdzdj(步骤2确定)。

对于消息认证和重放保护,首先判断该包是否重放包(通过重放列表和步骤2确定的srtpasjdzdj判断),如果是重放包,则丢弃该包,并记录该事件。下一步,验证认证标签,使用步骤2中的ROC、加密上下文中的认证算法和session认证key,如果验证失败,则丢弃包,并记录该事件。

解密包的密文数据部分(参考p 4.1的ciphers)。使用加密上下文中的解密算法和session解密key和salt(如果需要),和srtpasjdzdj(步骤2)。

更新加密上下文中的ROC和最高顺序号、s_l,该步使用步骤2确定的srtpasjdzdj。如果提供了重放保护,则需要更新重放列表。

如果包中存在MKI、认证标签字段,则移除它们。

--未完待续

3.3.1 asjdzdj确定和ROC、s_l更新

3.3.2 重放保护

3.4 安全rtcp

4 预定义加密变换

4.1 加密

4.1.1 AES-CM(计数模式)

4.1.2 AES-f8模式

4.1.2.1 f8关键流生成

4.1.2.2 f8 srtp iv 格式

4.1.2.3 f8 srtcp iv 格式

4.1.4 空加密

4.2 消息认证和完整性

4.2.1 HMAC-SHA1(基于散列的消息认证码-SHA1)

4.3 key派生

4.3.1 key派生算法

4.3.2 SRTCP key派生

4.3.4 AES-CM PRF

5 默认和强制实现变换

6 增加SRTP变换

7 逻辑依据

8 key管理考虑

9 安全考虑

10 与前向错误矫正机制的交互

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。