[陈格]
一种基于安全芯片的VoLTE加密通话方案设计
[陈格]
以新一代移动通信4G网络发展需求为背景,为应对日趋严重的手机泄密问题,在TD-LTE蜂窝移动通信业务的基础之上,提出一种新的加密方案,采用商用密码技术对话音内容进行保护的一种电信业务。
TD-LTE VoLTE 密码卡
陈格
男,硕士研究生,重庆邮电大学通信与信息工程学院。
随着移动互联网的高速发展,移动通信运营商的传统语音业务用户收入值持续降低,移动互联网技术也随之快速提升,以SKYPE、GoogleVoICE、微信电话本等为代表的OTT业务对传统语音业务的侵蚀严重,为应对市场变化,中国移动率先推出IP数据传输的VoLTE语音业务,可实现数据与语音业务在同一网络下的统一;同时由于手机病毒样本数始终保持高速增长趋势,手机安全威胁升高,用户面临电话或短信骚扰、个人隐私信息和社交信息泄漏或被盗用等一系列安全问题。为保证用户通话安全,本文提出一种VoLTE加密语音方案。
2.1系统结构图
VoLTE加密系统架构如图1。
2.2密钥管理系统
密钥管理系统由密钥管理服务器,信息签名服务器、业务管理服务器、加密业务接入网关、加密通信网关和密码管理终端组成。密钥管理系统各设备通过局域网连接。
(1)密钥管理服务器(KMS)
密钥管理服务器KMS为加密终端提供密钥管理服务。密钥管理服务器配置的密码卡实现密码算法运算、密钥产生、随机数产生等功能。
(2)信息签名服务器(ISS)
信息签名服务器ISS提供管理员信息签名功能,为加密业务接入网关提供身份签名功能,为TF密码卡提供用户信息签名功能。信息签名服务器配置的密码卡实现密码算法运算、密钥产生、随机数产生等功能。
图1 VoLTE加密语音电话系统结构
(3)业务管理服务器(SMS)
业务管理服务器SMS提供加密电话功能开启/关闭和用户信息管理等功能,用户信息包括用户名、电话号码等。
(4)加密通信网关(ECG)
加密通信网关与Internet互联网相连,提供管理消息加解密和消息收发的功能。加密通信网关配置的密码卡实现密码算法运算、密钥产生、随机数产生等功能。与SP短信接口相连,支持短信验证码的下发。
(5)加密业务接入网关(ESAG)
加密业务接入网关ESAG是所有密码管理终端接入密钥管理系统的唯一接入点,提供管理信息加解密等功能。加密业务接入网关配置的密码卡实现密码算法运算、密钥产生、随机数产生等功能。
(6)密码管理终端(ME)
密码管理终端是密钥管理系统管理员的操作平台。管理员通过管理终端实现TF密码卡初始化、TF密码卡密钥远程销毁、加密终端加密通信功能开启/关闭、日志查看/审计等管理操作。密码管理终端通过智能密码钥匙实现管理员身份认证和管理指令加解密等功能。
2.3加密终端系统
加密终端系统由4G加密终端3.0和TF密码卡两部分组成。
(1)4G加密终端3.0
4G加密终端3.0即本方案所采用的多模VoLTE加密终端,它在标准VoLTE终端的基础上,集成了密码卡管理软件(ECM)和密码业务接口库,支持TF密码卡功能调用,实现VoLTE加密语音电话、密码管理等功能。
(2)TF密码卡
TF密码卡是集成了集成电路安全芯片的TF卡,是VoLTE加密手机的安全根,实现密码算法运算、随机数产生、密钥产生、密钥存储、证书存储等功能。
2.4接口描述
(1)4G加密终端3.0与TF密码卡的接口(M1)
4G加密终端3.0通过标准SD I/O/Memory接口与TF密码卡进行数据交互。采用定制协议实现密码算法运算、密钥产生、随机数产生、数据加解密、用户口令验证等功能。
(2)4G加密终端3.0与密钥管理系统的接口(M2)
4G加密终端3.0通过安全通道与密钥管理系统进行数据交互。采用定制协议实现密码卡绑定、状态获取、密钥更新、远程/本地密钥销毁、业务状态变更等密码管理功能。
2.5业务流程
(1)绑定流程
在初次使用未绑定过的密码卡以及用户需要将密码卡与其他手机号码重新绑定的情况下,执行绑定流程。加密终端通过加密通信网关向业务管理服务器发送绑定请求。绑定请求中携带密码卡ID、期望绑定的手机号码、密码卡公钥以及签名信息。手机号码由用户手动输入,签名是使用私钥对“密码卡ID||手机号码||公钥”的签名,用于验证公私钥对的一致性。接收到绑定请求后,业务管理服务器根据密码卡可绑定手机号码的白名单检验本次上报的手机号码是否合法。如果手机号码合法,业务管理服务器生成随机数短信验证码并以密码卡ID索引缓存,之后通过加密通信网关以短信方式向加密手机发送短信验证码。用户手动输入接收到的短信验证码,加密终端通过加密通信网关向业务管理服务器发送绑定验证请求。业务管理服务器收到用户上报的验证码后,根据密码卡ID查询并比较验证码。如果加密终端上报的和业务管理服务器本地存储的校验码一致,则表明绑定过程中用户输入的电话号码与加密终端当前使用的电话号码一致。业务管理服务器将电话号码与密码卡相关联,将它们设置为已绑定状态。
(2)加密终端主动发起的安全通道建立流程
在需要与密钥管理系统交互密码管理信息时,加密终端与加密通信网关建立安全通道。加密通信网关检查密码卡是否已销毁。如果已销毁,加密通信网关拒绝与加密终端建立安全通道,并指明密码卡已销毁。安全通道建立完成后,加密通信网关检查是否缓存有未成功下发的管理命令。如果有,加密通信网关将缓存的管理命令发送给加密终端。加密终端对管理命令处理完毕后向加密通信网关返回管理命令回复。加密通信网关将接收到的管理命令回复转发给密钥管理服务器或业务管理服务器做进一步处理。
3.1密话标识
VoLTE加密语音电话的密话标识在SIP信令层面通过INVITE请求消息和183响应消息携带。
在发起加密呼叫时,主叫VoLTE加密终端通过在INVITE请求消息Call-Info头域generic parameter中携带特定参数的方法来标识加密呼叫,辅助被叫VoLTE加密终端对来电进行明密识别。同时,主叫VoLTE加密终端还通过在INVITE请求消息SDP消息体中m行携带特定动态负载类型值的方法来标识加密呼叫。
被叫VoLTE加密终端在接收到INVITE请求消息后,通过检验Call-Info头域中是否存在特定的参数标识来完成明密识别,并转入相应的处理逻辑。在被叫VoLTE加密终端判定来电为加密呼叫的情况下,被叫向主叫返回包含有同样Call-Info头域特定参数的SIP响应消息(183 Session Progress),确认本次加密呼叫可以继续进行,并通过在183响应消息SDP消息体中m行携带特定动态负载类型值的方法来标识加密呼叫。否则,主叫VoLTE加密终端认为被叫侧不支持加密电话功能,将终止加密呼叫,回落至普通明文呼叫。
3.2密钥协商
加密电话呼叫接续成功后,媒体面通道建立。主被叫VoLTE加密终端利用媒体面通道带内进行密钥协商,包括数字证书交换和会话密钥协商。密钥协商成功后主被叫用户开始加密通话。
(1)VoLTE加密终端向VoLTE加密终端拨打加密语音电话,主叫用户发起加密呼叫时,主叫加密终端向被叫发送INVITE消息,其中的Call-Info头域中携带如下信息用于指示本次呼叫为加密呼叫。
Call-Info: 〈http://www.10086.cn〉; CMCC. enciphered.phone.call
在SDP消息m行中至少包含3个固定组合的负载类型值。此负载类型值在96~127之间,全部为连续偶数。加密终端至少支持AMR-WB、AMR、AMR2三种编码,具体如下:
m=audio〈端口〉RTP/AVP 112 114 116 〈其他负载类型值〉
a=rtpmap:112 AMR/8000
a= a=rtpmap:114 AMR-WB/16000
a=rtpmap:116 AMR2/8000
a=……
加密语音采用的固定速率编码将被分配112。
(2)被叫为VoLTE加密终端,支持加密电话功能,能够识别INVITE消息Call-Info头域enciphered phone call参数,判定来电为加密呼叫。因此,在Precondition阶段,在TF密码卡有效的情况下,被叫加密终端向主叫返回183 Session Progress响应消息,其中携带同样的Call-Info头域信息(如下)用于通知主叫加密呼叫可以继续。在TF密码卡无效的情况下,返回的183 Session Progress响应消息中不携带该Call-Info头域信息。
Call-Info: 〈http://www.10086.cn〉; CMCC. enciphered.phone.call
在SDP消息m行中包含被叫选择的编码对应的动态负载类型值。负载类型值为请求中相应负载类型值加1。具体如下:
如果被叫方选择AMR编码,则回应SDP中应携带:
m=audio〈端口〉RTP/AVP 113 〈其他负载类型值〉
a=rtpmap:113 AMR/8000
a=……
(3)接收到183 Session Progress响应消息后,主叫在确认被叫支持加密电话功能后继续进行后续加密呼叫流程,否则终止加密呼叫,回落至普通明文呼叫。
(4)主被叫终端按照普通明文呼叫流程进行呼叫接续。媒体协商及资源预留成功后,被叫加密终端返回180 Ring响应消息,向主叫送回铃音,同时向被叫用户振铃。
(5)被叫用户摘机后,被叫终端返回200 OK响应消息,主叫终端回复ACK确认,媒体通道建立。
(6)利用媒体面带内传输通道,主被叫加密终端交换数字证书及会话密钥,完成密钥协商。
(7)密钥协商成功后,主被叫用户开始进行加密语音通话。
(8)主叫或被叫用户挂机后,本次加密呼叫结束,本次通话所使用的会话密钥随即删除。
本方案是在现有的IMS网络架构基础之上新增了密钥管理系统,作为独立存在的TF密码卡,其密码模块内部集成了加密通信协议和加解密算法,通过API接口为上层通信业务提供密码服务,Codec芯片负责在加密通话过程中根据控制指示启动或关闭静音检测,并将上下行语音帧中的用户语音净荷部分取出送往终端IMS电话应用进行加解密处理。
1沈臻懿.智能手机信息的泄密与防范[J].检查风云,2014,(20):34-36
2边晔. 4G-VoLTE实现方案与系统安全性研究[J].现代电信科技, 2015,45(1):5-6
10.3969/j.issn.1006-6403.2016.07.003
2016-06-20)