智能手机安卓系统秘密语音通信软件

上传人:正** 文档编号:51406444 上传时间:2018-08-14 格式:PPTX 页数:28 大小:1.43MB
返回 下载 相关 举报
智能手机安卓系统秘密语音通信软件_第1页
第1页 / 共28页
智能手机安卓系统秘密语音通信软件_第2页
第2页 / 共28页
智能手机安卓系统秘密语音通信软件_第3页
第3页 / 共28页
智能手机安卓系统秘密语音通信软件_第4页
第4页 / 共28页
智能手机安卓系统秘密语音通信软件_第5页
第5页 / 共28页
点击查看更多>>
资源描述

《智能手机安卓系统秘密语音通信软件》由会员分享,可在线阅读,更多相关《智能手机安卓系统秘密语音通信软件(28页珍藏版)》请在金锄头文库上搜索。

1、智能手机安卓系统秘 密语音通信软件设计答辩人 XXX 指导老师 XXXContentsVoIP技术SIP协议Android中的SIP开源协议栈 SIPDroid加密模块的实现系统的测试不足和展望什么是VoIP网络电话 Voice over Internet Protocol具体流程声电转换:将声波转换为电信号量化采样:将模拟信号按照某种采样方法转换成数字信号封包:RTP报文、TCP/IP标准传输:IP网络中由源端传递到目的端VoIP的优势网络电话基于Internet传输分组交换64kbit/sVoIP主流协议H.323 SIPMGCP拟定组织ITU-TIETFIETF架构P2PP2P主从式设计

2、对 象ISDN及ATMInternetGateway复杂度高低中扩展性低高中编码方式二进制编码基于文本编码基于文本编码SIP协议Session Initiation Protocol 信令控制协议1996 1999 2000 2002创建、修改以及终结多个参与者参加的多媒体会话SIP 规定了以下基本的通信要求:1 用户定位服务2 会话建立3 会话参与方管理4 特点的有限确定HTTP SMTPRSVP RTP RTSP SAP SDP MEGACO等信令技术 鉴别呼叫方所要呼叫的对象 定位呼叫方在网络中的位置外部信令语音代理及语音设备遵循电话标准内部信令语音代理之间传输网络标准或语音代理本身的标

3、准内部信令提供了连接控制和呼叫处理两种功能。连接控制信令用于建立语音代理之间传输语音分组的联系或通道。 呼叫处理信令在语音代理之间发送呼叫状态,如振铃、忙音等。内部信令最初是用于避免在网络中维持用来支持所有可能呼叫的永久连接。 对无连接网络中的分组语音应用而言,永久连接并不存在,进行语音业务时 双方的语音代理只需要彼此定位。信令的作用是通过拨号规则判断目标代理 是否存在,如果存在就将分组流发送至该代理。SIP协议要素SIP协议结构SIP 事务务用户层户层事务层务层传输层传输层UDP/TCPIP链链路层层物理层层SIP消息机制 请求消息SIP请求消息以Request-Line为起始行,以此区别于

4、其他消息。INVITE: 用于邀请用户加入一个呼叫。ACK: 用于对请求消息的响应消息进行确认。OPTIONS: 用于查询代理服务器支持的方法和会话描述协议 。BYE: 用于释放已建立的呼叫。主叫方与被叫方都可以 发送,等同于普通电话通讯中的挂机操作。CANCEL: 用于释放尚未建立的呼叫。REGISTER: 用于在SIP网络服务器上登记用户的位置信息。SIP消息机制 响应消息SIP响应起始行为含有响应状态码的Status-Line,作为请求与响应的区别。编码类别类别描述1xx信息表示请求已经收到,可以继续处 理请求2xx正确表示呼叫已经被正确接受和处理3xx重定向表示该呼叫需要被重定向处理4

5、xx客户机错误表示该消息存在表达错误 ,不能被服务器处理5xx服务器错误服务器不能处理该消息6xx全局失败请求无论在哪都不能被处理SIP用户定位功能E-mail地址形式一个用户对应一个URL。SIP URL用于SIP消息中,包括请求的发起者(From)、当前目的地( Request-URI)和最终接收者(To)以及指定重定向地址(Contact)。可兼容性:用户名主机地址被叫号码PSTN网关地址普通电话的描述SIP会话过程注册/注销过程呼叫过程由主叫UAC直接向被叫UAS呼叫由代理服务器代表主叫UAC向被叫UAS发起呼叫由主叫UAC在重定向服务器的辅助下进行重定向呼叫重定向过程SIPDroid

6、工作原理注册流程当需要发送注册请求消息时,要先调用 MessageFactory.createRegisterRequest函数 构建请求消息然后建立一个线程TransactionClient用来监管本次信令流程。TransactionClient会调用SIPProvider来发送请求消息,同时会监听注册服 务器的响应消息。当收到响应消息后,将响应消息传递给上层的 SIPProvider进行处理。拨号流程拨号请求由UI通过Receiver广播信息交给SIPDroidEngine处理。在SIPDroidEngine上鉴别目标帐号以及本地帐号是否为空,然后交给 UserAgent处理。UserAg

7、ent调用call(String target_url,boolean send_anonymous)创 建一个ExtendedCall 对象,以提供给SIP协议栈使用,然后经过 ExtendedCall的call方法处理之后,由ExtendedCall调用 ExtendedInviteDialog来发送invite请求。InviteDialog调用InviteTransactionClient的request方法,并由 InviteTransactiongClient来监管本次信令流程。来电处理流程SIPDroidEngine创建并启动一个UdpProvider线程,开始监听 收到的信息,之

8、后调用onReiceivedPacket方法,把对象传出 到UdpTransport,由UdpTransport把消息封装成SIP的扩展消 息Message,再通过onReceivedPacket方法传出到 SIPProvider对象,最后将在SIPProvider的 processReceivedMessage方法中处理收到的消息。 processReceivedMessage会鉴定该消息是否为SIP消息,不 是则丢弃。最后从listenrs(map)中的OnReceivedMessage来处理具 体SIP请求。如果是INVITE请求,就启动来电提示界面,如果本 地用户选择接听,就发送请求接

9、受响应,即200(ok)响应, 若用户不愿接听,则发送4xx错误响应。SIPDroid数据传递流程SIPDroid的数据流主要有 SIP信令消息和会话音频数 据两种,分别使用不同的传 输渠道。信令数据的传输用户在UI层的操作(比如拨号、接听等),会广播给 SIPdroid Engine类,SIPdroid Engine会根据操作类 型交付给UserAgent类或者RegisterAgent类,处理 后产生的不同请求由SIPDroid Provide类解读,并将 产生的SIP消息封装成包,之后交付给Udp Transport 类,Udp transport是个接口类,SIPdroid Provi

10、der与 Udp Provider之间的接口,可以提供数据传送、监听 Udp数据包和封装或分解Udp数据包等服务。Udp Provider会调用Udp Socket,将目标地址映射至Udp Socket,最终调用Java的Datagram Socket将数据 传输出去。当收到来自网络的数据包时,数据传递顺 序则相反。RTP数据包的传输RTP数据包的简要传输流程如下:当终端把采样到的音 频数据压缩编码后需要封装成RTP包传输出去时,会先 建立一个虚拟的RTP传送器RtpStreamSender和一个 用于接收RTP数据包的虚拟RTP接收器 RtpStreamReceiver,这两个继承于线程,在

11、对话建 立后就不断运行。RTPStreamSender会把音频数据压 缩编码后交付UDPtransport(或TCPtransport)处理 ,UDPtransport之后会调用RtpSocket将其封装成 RTP包,读取目标IP地址与协商好的RTP端口号,将数 据传输出去。当收到来自网络的RTP数据包时,数据传 递顺序则相反。加密算法的选择 本文选择RC4流密码,简洁易于实现,加密速度快,安全性较高/*初始化*/for i=0 to 255 doSi=i;Ti=Ki mod keylen/*S的初始序列*/j=0for i=O to 255 doj=(j+si+Ti)mod 256swap(

12、si,sj);/*密钥流的产生*/i,j=0while(true)i=(i+1)mod 256j=(j+Si)mod 256swap(sEi,sj)t=(sEi+sj)mod 256;k=St加密模块的嵌入通过研究SIPDroid的源代码,我们发现SIPDroid在对 UDP消息进行封装时是将语音信息编码为BYTE类型处 理的,因此我们选择不改变信令协议栈和媒体传输协 议栈的任何实现代码,仅仅只是将RC4算法模块封装 成为src中的一个包,改写了系统的UDP收发函数,使 其在对语音编码信息封装前先调用RC4算法进行加密 ,再将加密后的密文打包。解密时则进行相反的过 程。系统测试 搭建测试环境语音加密测试原始语音原始语音加密后解密测试使用正确密钥解密使用错误密钥解密VoIP安全性VoIP安全威胁1.产品和协议安全漏洞2.DoS攻击3.监听与篡改4.盗取用户信息后冒用身 份解决方案1.打铁还需自身硬2.H.234 TLS IPSec3.VPN4. VLAN IP地址 MAC地 址绑定,同时配合VLAN 划分不足与展望1. Android系统的广播机制。2. Speex语音编码算法改进。3 视频会议等等也需要加密传输。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 其它办公文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号