没有合适的资源?快使用搜索试试~ 我知道了~
通信与网络中的VoIP加密方案,BEEO加密算法原理及实现
1 下载量 125 浏览量
2020-12-09
20:36:42
上传
评论
收藏 127KB PDF 举报
温馨提示
VoIP加密方案,BEEO加密算法原理及实现 本方案力争以简单的运算,规定一种适应于加密在Internet上传输的IP电话(包括信令、媒体以及短信等)相关业务的较高强度的加密方法——BEEO。本方案适应的信令标准包括SIP、MGCP、H.323,适应的媒体传输方式为RTP,适应的网络结构包括客户服务器模式和端到端模式。一、 基本原理 本方案规定的加解密所处的网络位置在OSI网络体系结构的第五层,加密的内容是TCP/UDP的负载,VoIP信令结构也属于被加密的内容。 在发送端,把输入内容按数据位排列成矩阵,按照协商的方式和密钥形成一个列加密矩阵、行加密矩阵和加扰矩阵,用列加密矩阵对输入数
资源推荐
资源详情
资源评论
通信与网络中的通信与网络中的VoIP加密方案加密方案,BEEO加密算法原理及实现加密算法原理及实现
VoIP加密方案,BEEO加密算法原理及实现 本方案力争以简单的运算,规定一种适应于加密在Internet上传输的IP
电话(包括信令、媒体以及短信等)相关业务的较高强度的加密方法——BEEO。本方案适应的信令标准包括
SIP、MGCP、H.323,适应的媒体传输方式为RTP,适应的网络结构包括客户服务器模式和端到端模式。一、
基本原理 本方案规定的加解密所处的网络位置在OSI网络体系结构的第五层,加密的内容是TCP/UDP的
负载,VoIP信令结构也属于被加密的内容。 在发送端,把输入内容按数据位排列成矩阵,按照协商的方式
和密钥形成一个列加密矩阵、行加密矩阵和加扰矩阵,用列加密矩阵对输入数
VoIP加密方案,BEEO加密算法原理及实现
本方案力争以简单的运算,规定一种适应于加密在Internet上传输的IP电话(包括信令、媒体以及短信等)相关业务的较高强度的
加密方法——BEEO。本方案适应的信令标准包括SIP、MGCP、H.323,适应的媒体传输方式为RTP,适应的网络结构包括
客户服务器模式和端到端模式。
一、 基本原理
本方案规定的加解密所处的网络位置在OSI网络体系结构的第五层,加密的内容是TCP/UDP的负载,VoIP信令结构也属
于被加密的内容。
在发送端,把输入内容按数据位排列成矩阵,按照协商的方式和密钥形成一个列加密矩阵、行加密矩阵和加扰矩阵,用列
加密矩阵对输入数据的列进行数据位交换,用行加密矩阵对输入数据的行进行数据位交换,用加扰矩阵对数据块按字节进行异
或操作,从而达到加密的目的。在接收端,使用同样三个矩阵的逆矩阵顺序进行去扰、行恢复和列恢复,还原出原始数据。
在整个加解密过程中,我们仅仅使用数据位交换和异或操作,于是我们把这种加密方法命名位BEEO,英文字母取自单词
Bit-Exchange和Exclusive-OR。
为了计算简单而且保证输入输出的数据长度完全一样,我们建议使用8行×N列矩阵,这样,每个字节对应于矩阵的一列,
顺序排列形成矩阵。
我们使用密钥交换算法产生一个属于通讯双方共有的6个私有数值,三个作为密钥,与公共密钥一起计算一个三个HASH
数字签名;剩余三个作为矩阵生成偏移量;把数字签名根据矩阵生成偏移量进行循环移位,生成列交换矩阵、行交换矩阵和加
扰矩阵。
加密矩阵生成方式很多,一般情况下,我们建议选用8行×32列共计128位的加密矩阵;采用DH(Diffie-Hellman)算法完成密钥
交换,并选择密钥和矩阵生成偏移量的DH特征值长度分别为160位和16位;选择MD5产生HASH数字签名,数字签名长度为
128位;
二、 DH交换
DH交换的目的在于以明文的方式交换密钥特征,形成只有参与通讯的双方才知道而且通讯双方一定知道的私有数值。
确定一个模数(如p)以及底数(如g);两个通讯设备(如MA、MB)各随即选取一个加密指数(如a和b),以明文方式报告自己的
DH特征值(如A和B),然后各自进行乘幂计算以产生这个私有数值:
通讯双方选择的加密指数是不公开的,应该相对较大,而且应该通过某种随即算法保证这个加密指数是变化的。其次,通讯双
方每隔一定时间,应该申请更改私有密钥,以避免黑客获得太多的数据样本并破译通讯内容。
针对基本原理中提到的各个特征数据的长度,我们规定,用于生成密钥的加密指数至少应该达到12位,用于生成偏移量的加
密指数建议选择8位,这样,六个加密指数的选择空间总和至少达到60位。
一般情况下,在客户端登录以前,客户端向服务器端发起DH交换请求报文,报告自己的6个DH特征值,服务器端收到请求以
后,向用户发送自己的6个DH特征值,双方分别使用对方的DH特征值和自身的加密指数计算出私有密钥并生成最终的加密矩
阵。虽然这一组报文是以明文方式传输的,但即便黑客得到了这些明文,也知道整套算法的所有细节,黑客也不足以形成这个
私有密钥,这是使用DH交换的基本出发点。
对于媒体传输,通讯双方并不存在客户端和服务器的区分,这时我们要求,在通过信令完成RTP参数交换以后,双方各自在第
一时刻发起DH交换请求,而且任何一方收到DH交换请求以后,立即向用户发送自己的DH特征值,从而建立起这个加密信
道。
这里需要重点阐述一下加密指数。我们要求设备产生的加密指数是随机的、变化的,而且6个加密指数之间没有任何的联系。
事实上,某些嵌入式设备根本不能产生随机数,当程序运行到某一条指令的时候,时钟是一个固定值,随机算法的种子是一个
固定值,甚至各个寄存器也是一个固定值,用随机算法产生的下一个数据也是固定值。而对于PC环境,虽然时钟是变化的,
有可能获得一个真正随机的种子,但使用rand()等函数获得的伪随机序列其实是一个固定序列。在程序启动的时候以及运行过
程中,最好读一小段语音数据或者网路数据,以这些数据进行运算和组合,形成加密指数。
三、 程序接口
这里,我们仅仅给出基于UDP实现的相关协议(包括MGCP的全部信令、SIP的全部信令、H.323的部分信令、RTP媒体、
RTCP媒体控制)的接口,而基于TCP实现的相关协议(H.323的部分协议)的接口将在其他文档中给出。
对于UDP传输,一般情况下,我们在每个设备上建立一个加密参数索引表,根据UDP发送端口、UDP接收端口和UDP接收地
址(IP地址)进行索引。每次发送的时候,检查DH交换是否完成,如果没有完成,则主动放弃这个报文的发送,并发送DH交换
资源评论
weixin_38631599
- 粉丝: 9
- 资源: 943
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 各省-恩格尔系数、泰尔指数(2000-2022年).zip
- labview双按钮和三按钮计时对话框
- Dev-C++ 软件安装教程
- 理光Ricoh MP C4504打印机驱动下载
- 编译器KEIL5-STM32-KEIL5护眼模式(绿豆沙色)global.prop
- lenovo-SR650-BIOS 4.11-BMC 9.80
- 智慧医院综合管理解决方案(医院综合监控中心).docx
- Python编程入门指南:背景知识与环境搭建
- 毕业设计《Python基于Opencv和SVM机器学习算法和百度AI平台车牌识别系统》+项目源码+文档说明+演示视频
- 基于 Vue 和 SpringBoot 的大病保险管理系统源代码+数据库+文档,模拟了就医和医保报销的过程
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功