APP下载

用于互联网多媒体通信的SIP安全方案*

2012-03-15胡金龙张凌许勇叶昭

关键词:私钥公钥实体

胡金龙 张凌 许勇 叶昭

(1.华南理工大学广东省计算机网络重点实验室,广东广州510640; 2.华南理工大学信息网络工程研究中心,广东广州510640)

随着信息技术的发展,人们越来越多地利用互联网以声像、图文并茂的多媒体通信形式进行远程的实时交流与协作.目前,在互联网中人们使用许多应用层协议来实现多媒体通信,其中信令协议和媒体传输协议在多媒体通信系统中扮演重要的角色.会话初始协议(SIP)[1]是一种核心的信令协议,它是由互联网工程任务组(IETF)定义开发的,能够被应用于各种互联网多媒体通信(IMC),例如IP语音电话和视频会议等.

安全问题已经成为互联网中开展基于SIP协议的实时多媒体通信服务的重要瓶颈.为了解决安全问题,目前已经提出了一些方案.SIP标准[1]建议使用如HTTP摘要认证、S/MIME、IPSec、TLS等现有的互联网安全机制,来提供逐跳和端到端的SIP安全.一些扩展为基于SIP的系统提供了额外的安全特性,如Peterson等[2]提出了一种在SIP请求中能够为会话发起方提供加密可认证标识的机制;Elwell[3]扩展了SIP协议允许一个主叫用户确认最终被叫用户的标识;Arkko等[4]提出了一种在联接SIP授权中防止bid-down攻击的机制.尽管许多安全机制已被提出,但是由于SIP通信架构使用中间代理,需要多方的信任关系,同时期望在缺乏信任的SIP元素之间交互以及SIP用户端到端的操作模式,因而在开放的互联网中提供基于SIP的多媒体通信服务还充满挑战.

为了应对各种网络安全挑战,国内外研究人员非常重视从网络的源头来解决安全问题,近年来出现了一些网络接入控制技术[5],它们的主要思路是从终端着手,利用网络管理者预先确定的终端安全策略,对接入网络的终端系统进行安全性检测,只有符合安全策略的终端才能接入网络.其中可信计算集团(TCG)的可信网络连接(TNC)技术[6-7]就是最具代表性的技术之一.

目前,将可信平台模块(TPM)[6]、TNC等可信计算技术与网络应用身份认证相结合已有一些研究[8-10],它们主要是针对登录认证系统等情况,通过在身份认证过程中增加TPM芯片对终端系统完整性的测量来提高系统的安全性.但是基于可信计算的SIP多媒体通信研究并未引起更多学者的关注.结合IMC安全的新挑战和可信计算新技术,文中提出了一种使用SIP进行互联网多媒体通信的安全方案(SSIMCS).SSIMCS通过终端与用户的双层认证,在考虑用户身份合法的同时,考虑终端系统本身的安全性,同时使用数字签名、消息认证码等方法,以提高多媒体通信系统的安全性.尤其是,可信计算技术在各种SIP实体的运用使SSIMCS具有更高的安全性.

1 SSIMCS

近年来,随着互联网应用的发展,IMC的安全出现了一些新挑战.一方面,网络安全形势日趋严峻,各种针对VoIP、视频会议等IMC系统的攻击和病毒层出不穷[11];另一方面,越来越多的多媒体通信终端采用智能系统,并使得用户可以随意在终端安装和加载各种功能的软硬件,终端变得更加复杂、脆弱,成为多媒体通信系统的安全瓶颈;而且单个用户拥有越来越多的多媒体终端,同时某些多媒体终端如视频会议终端等是由多个用户共享,用户与终端的关系日趋复杂化,用户在不同设备、不同服务中不断迁移,对安全的身份认证提出了更高的要求.

同时,人们在利用互联网进行多媒体通信时常常希望系统能够提供与传统电话交换网络PSTN类似的安全.但目前SIP通信系统主要是基于软件的身份安全方案,SIP用户通常使用用户名和密码的方式向服务器注册,在复杂的互联网环境下,这种方案常常由于终端系统本身保护措施不足,而易被盗用、欺骗和入侵,导致安全的漏洞和服务的破坏,成为整个SIP通信系统的安全瓶颈[11].

将可信计算技术引入SIP多媒体通信,可以充分利用TPM在终端完整性测量、身份认证等方面的优势,实现基于硬件的IMC业务安全,为解决SIP多媒体通信的安全问题提供了新的思路.

1.1 SSIMCS架构

针对IMC安全的新挑战以及多媒体用户隐私保护的需求,文中利用可信计算技术,提出一种用于IMC的双层认证结构(DAF),DAF在用户认证过程中包含对终端设备的认证和对用户身份的认证两个层次.

第一层认证提供对多媒体终端的认证,是指对终端设备及其软件进行安全评估,软件包括终端硬件上被安装的或正在运行的操作系统和应用软件等,只有符合IMC系统安全策略的终端设备才能通过终端的安全认证.这一层认证主要是通过检查终端TPM的平台配置寄存器(PCR)度量值和存储度量日志(SML)[6-7],来检测终端系统是否存在系统漏洞、错误配置的程序,以及病毒、木马等恶意程序,实现对终端系统本身安全性的评估.

第二层认证提供用户个人身份的认证,这一认证被用来识别谁在申请使用IMC服务,可以通过如用户名和密码、USB Key智能卡和用户生物特征识别等方式来识别个人身份.

为了满足用户在不同设备和服务中灵活迁移的需求,以及保护用户隐私,在DAF中,用户身份密钥不直接保存在终端的TPM芯片内部,也不将TPM与某个特定用户身份绑定,使得多媒体终端可以由不同用户共用;IMC服务提供商可只对用户的身份进行认证,不直接对终端进行认证,而是由可信任的第三方对终端进行认证,避免了各个IMC服务提供商直接对终端进行测量,进而满足了用户对其终端内部系统的隐私保护需求.

基于上述DAF,文中设计了用于互联网多媒体通信的SSIMCS,方案的架构如图1所示.

图1 SIP通信安全方案架构Fig.1 Security architecture for SIP communication

SSIMCS将TPM嵌入到用户代理(UA)和中间服务器(IS)等SIP通信实体中,并增加终端认证服务器(EAS)和安全管理服务器(SMS).其中,SMS包括用户注册管理服务器(RMS)和安全策略服务器(SPS),IS包括代理服务器(PS)、注册服务器(RS)和TPM模块,UA包括SIP用户代理客户端(UAC)、SIP用户代理服务器(UAS)和TPM.

方案利用TNC[7]思想以及TPM[12]和直接匿名证明(DAA)[13]算法,通过EAS对SIP用户代理实体进行平台完整性测量,实现对终端设备的安全性认证;并利用TPM的安全密码功能,协助各SIP通信实体实现身份认证,保证信令流和媒体流的安全;同时,方案中采用USB Key智能卡进行SIP用户个人身份认证.

下面首先介绍系统建立的准备过程,然后介绍一种新的 SIP用户注册协议,作为具体例子对SSIMCS方案进行说明.

1.2 准备过程

方案中,RMS负责向UA终端和IS服务器等SIP实体颁发DAA平台身份证书,以及向用户颁发身份认证USB Key智能卡.

1.2.1 颁发平台身份证书

DAA是一种远程的匿名身份认证机制,它被TPM规范的1.2版本所采纳.DAA的实现基础是基于离散对数的知识证明和 Camenisch-Lysyanskaya (CL)签名方案[13].文中主要说明SIP安全通信方案,这里只引述DAA算法中相应的变量和部分代表性的公式,对DAA算法的详细计算和知识证明过程,文中不再赘述.

1.2.1.1 计算DAA发布者公钥私钥对

RMS计算DAA发布者公钥私钥对(PKI,SKI).RMS首先选取RSA模数n=pq,其中p=2p'+1,q= 2q'+1,且p、q、p'和q'都是素数;选取二次剩余群QRn的一个随机生成元g',分别计算出:

g:=g'xgmod n,h:=g'xhmod n,S:=hxsmod n,Z:=hxzmod n,R0:=Sx0mod n,R1:=Sx1mod n,其中x0,x1,xz,xs,xh,xg∈[1,p'q'];再计算私钥SKI= p'q';然后选取素数ρ,计算Γ和γ;最后公布生成的公钥PKI=(n,g',g,h,S,Z,R0,R1,γ,Γ,ρ).

1.2.1.2 颁发DAA证书

RMS在验证TPM平台身份合法的前提下,为每一个带TPM平台的SIP实体颁发DAA证书.

首先,带TPM的SIP实体向RMS提交签署密钥EK证书,证明自己身份的合法性;其次,RMS验证SIP实体身份通过后,SIP实体生成DAA证书请求发给RMS,并通过零知识证明协议证明该请求在计算上的正确性;最后,RMS为SIP实体计算DAA证书及证书正确计算的证据,并发给SIP实体.

1.2.2 颁发用户智能卡身份认证证书

USB Key智能卡是一种USB接口的硬件设备,它内置安全的存储空间和硬件运算单元,存储用户的密钥.

用户提交用户标识IDU和密码PWU进行身份注册,RMS根据相应的IMC服务策略进行权限验证,验证通过后,产生一个用户编号UID和一个用户身份公钥私钥对(PKU,SKU)和IMC服务提供商身份公钥私钥对(PKB,SKB),然后计算认证字符串CU,最后将IDU、CU、UID、用户身份私钥SKU和服务商身份公钥PKB等认证信息写入USB Key.其中CU= H(H(IDU⊕SKU)⊕H(PKB⊕PWU)),H(·)是单向哈希函数.使用时用户输入PWU,USB Key通过计算CU来验证PWU是否正确.

1.3 SIP用户的注册协议

如图2所示,注册协议的实现包括3个实体:用户代理UA1、注册服务器RS1和终端认证服务器EAS1.

图2 用户注册子协议Fig.2 User register sub-protocol

用“A→B:<M>”表示通信实体A向B发送消息M,用Sign(SA,M)表示使用密钥SA对M的签名.一个基本的用户注册流程包括以下几个步骤.

步骤1 UA1→RS1:Request=<P1nonce1;其中P1为SIP Register消息,nonce1为随机数,realm为所在域的域名,bsn1为DAA算法的基名.

步骤2 RS1→UA1:Challenge=<P2SignDAAr>;其中P2为401 Unauthorized消息,nonce2为随机数,而且(PKR1,SKR1)为RS1与UA1会话的公钥私钥对,SKB为服务商身份私钥,addressE为 EAS的地址,PKEAS为EAS的公钥,bsn2为DAA的基名,

步骤3 UA1收到Challenge消息后,利用零知识证明协议证明DAA签名的合法性;将RS1的token、nonce1和nonce2输入智能卡计算,验证token是否正确.

UA1检查自己是否有地址为addressE的EAS1签发的未到期的终端认证证书,如有则执行步骤4,否则执行步骤3-1.

步骤3-1 UA1→EAS1:Request=>;其中 P3为请求终端认证信息,nonce3为随机数,bsn3为DAA的基名.

步骤3-2 EAS1→UA1:Challenge=<P4;其中P4为非授权消息,nonce4为随机数,realm为所在域的域名,SKEAS为EAS1的身份私钥,而且,

步骤3-3 UA1收到Challenge消息后,利用零知识证明协议证明DAA签名的合法性;用EAS1的身份公钥PKEAS验证tokenE是否正确,如正确则

其中SML为终端的存储度量日志,AIKpub是UA1的AIK公钥,AIKpri是UA1的AIK私钥,PCR为终端的平台配置寄存器值,而且,

步骤3-4 EAS1利用零知识证明协议证明DAA签名的合法性;并验证PCR和SML是否符合终端认证的安全策略.如符合终端认证的安全策略,则

其中,E_Cred为EAS1发给UA1的终端认证证书,包括终端标识EID1、注册服务器地址addressR、证书有效期、利用RS1公钥加密的UA1终端认证票据Ticketrs,以及EAS1对证书的签名,并且

UA1通过对接收的信息签名验证后,得到了EAS1的终端认证证书E_Cred.

步骤4 UA1→RS1:Response=<;其中 P7为 Response消息,nonce7为随机数,将 nonce2和nonce7输入USB Key智能卡计算得到U_Cert,SKU为用户身份私钥,(PKU1,SKU1)为UA1的TPM产生的与RS1会话的RSA公钥私钥对,而且,

步骤5 RS1利用零知识证明协议证明DAA签名的合法性;验证用户终端认证票据是否合法,以及用户身份是否正确.

然后,RS1→UA1:OK=<P8realm,其中,P8为OK消息,nonce8为随机数,而且,

注册完成后,UA1与RS1分别获得了对方的会话公钥PKR1和PKU1.

同理,完全加权负项集NI(Negative Itemset)关联度(all-weighted Negative Itemset Relevancy,awNIR)的计算如式(9)所示:

2 方案分析

2.1 注册协议安全性分析

文中采用可证明安全模型——通用可组合(UC)安全模型[14]对所设计的SIP注册协议进行安全性分析.UC的概念是由Canetti在扩展交互式图灵机系统(ITM)概念的基础上于2001年提出的密码协议形式化计算模型.UC安全框架主要由真实环境模型、理想过程模型和混合模型三者组成,并通过ITM来实现.相关文献[14-15]对UC模型证明过程所用的通用可组合安全、组合理论、混合模型、多项式时间不可区分性、DDH假设、签名机制有效性和选择消息安全等安全定义与假设进行了详细介绍.

注册协议在UA和EAS,UA和RS之间分别进行了平台完整性认证和用户身份认证.为简化协议证明过程,在进行协议安全性证明之前,首先给出协议的抽象描述,抽象协议只给出必要的消息,协议如下所示.

其中

协议证明思路:文中所设计的注册协议在UA、EAS和RS三者之间进行.将注册协议的抽象描述拆分成两个子协议1与2,它们分别是UA与RS以及UA与EAS之间的协议交互;首先,分别证明子协议1和2是UC安全的协议;然后,根据UC模型的组合定理,证明子协议1和2的组合协议是UC安全的协议;最后,证明子协议1和2的组合与抽象协议是等价的.这就证明了协议是一个UC安全的协议,即注册协议是一个UC安全的协议.

文献[15]详述了实现证明理想函数FCERT的协议PC的构造步骤和证明过程,它首先定义了签名理想函数 FSig、注册理想函数 FCA和证明理想函数FCERT,然后进行了相关证明,在此不再赘述.

定义1 双向认证理想函数F2MA定义如下所示.1)初始化,设置变量Finished=False;

2)当从某一参与方P得到一个输入(Sid,Tid,A,B)时,其中Tid∈{Initiator,Responder},Sid为会话ID,那么,

(1)如果这是第一次输入,则记录(A,B);

(2)否则,如果(B,A)已经被记录,则设置Finished=True;

(3)上述情况都发送(A,B,Tid)给敌手.

3)当从仿真器/敌手收到一个请求(Output,Sid,P')时,如果P'等于A或B,且Finished=True,则发送Finished信息给P'.

证明 首先构造在混合模型FCERT-hybrid下基于双向认证理想函数F2MA的协议'1,如下所示.

1)当A方接收到(Send,Sid,B,m)时,A设置Sid'=(A,Sid),m'=(m,B),发送(Sign,Sid',m')给FCERT,得到响应(Signed,Sid',m',s),并发送(Sid,A,m,s)给B.

2)当B方接收到 (Sid,A,m,s)时,B设置Sid'=(A,Sid),生成信息m,设置m'=(m,B),发送(Verify,Sid',m',s) 给FCERT,并得到响应值(Verified,Sid',m',s,f),那么:

如果f=1,则B方设置Sid'=(B,Sid),y'=(y,A),发送(Sign,Sid',y')给 FCERT,得到了响应值(Signed,Sid',y',r),并发送(Sid,B,y,r)给A;否则B无输出,并挂起.

3)当A方接收到(Sid,B,y,r)时,A设置Sid'= (B,Sid),y'=(y,B),发送(Verify,Sid',y',r)给FCERT,并得到响应值(Verified,Sid',y',r,f),那么:

如果f=1,则A方输出(Sent,Sid,A,B,m),并挂起;否则,A无输出,并挂起.

令I为FCERT-hybrid混合模型下与真实协议'1协议交互的攻击者.然后构造一个理想过程的攻击者S (仿真器),经过分析可得,任何环境机Z都无法区分是与I和协议'1的交互,还是与攻击者S和理想处理函数 F2MA的交互,即对任何环境机 Z,等式REAL'1,I,Z≈IDEALF2MA,S,Z均成立.

证明 根据DDH假设即可证明引理3成立.

证明 由于DAA协议是安全的,同时将混合模型FCERT-hybrid下协议'1对所有理想函数FCERT的访问均替换为对协议PC的访问,可以得出协议'1PC与协议1等价.

2.2 方案的特点

2.2.1 SIP实体安全性

方案采用DAF,当SIP实体接入SIP系统时进行基于TPM的系统安全性认证.认证以TPM芯片和安全BIOS为信任的起点,建立了一个从BIOS加载、操作系统加载和SIP应用程序加载到SIP通信系统的信任链传递模型,对SIP实体进行可靠的完整性测量和报告,确保SIP实体接入通信系统之前未受木马或病毒攻击;同时,由于终端认证与用户身份认证的分离,终端设备可以由多个用户间共享,而且使得终端设备系统的具体细节不会暴露给每一个IMC服务提供商,保护了用户的隐私.这些都提高了系统的安全性.

同时,对于SIP实体系统运行时的本地攻击,一方面SIP实体可利用TPM芯片的安全存储功能,通过TPM内部的专门硬件存储块来存储会话密钥等秘密信息,防止秘密信息被窃取;另一方面,利用TPM对SIP实体系统的定期完整性测量和报告,也可增强系统的安全性.

2.2.2 基于硬件的认证安全性

RMS在利用TPM芯片的签署密钥EK验证平台身份的基础上,给带TPM芯片的SIP实体颁布DAA证书.通过TPM的DAA认证协议,认证双方利用DAA证书和会话密钥对信息的签名,保证了消息来源只能是带合法TPM和DAA证书的SIP实体,有效阻止了攻击者从SSIMCS系统外部实施SIP注册劫持、注册删除和注册增加等攻击.

同时,由于用户身份密钥存储在受保护的USB Key智能卡硬件内部,使用过程中在USB Key硬件内部进行签名计算,减少了用户身份密钥泄漏的风险;而且由于用户身份与SIP注册服务器的双向认证,使得SSIMCS系统内部的SIP实体假冒SIP注册服务器或其他合法SIP实体难以实现.

2.2.3 方案的效率

SSIMCS以TPM芯片为可信的硬件基础,进行平台的完整性度量和报告,以及DAA的签名、公钥私钥对的生成、随机数的生成、密钥签名等,提高了TPM芯片的利用率.

而且,由于采用DAA算法,使得TPM平台只需向DAA发布者请求一次平台证书,克服了使用privacy CA方案[6]时每次认证都需要与privacy CA交互的性能瓶颈,提升了SSIMCS系统的效率.

4 结语

传统基于软件的SIP认证方案容易被盗用、欺骗和入侵,导致安全的漏洞和服务的破坏.文中将可信计算技术引入互联网多媒体通信中,设计面向IMC的双层认证结构,提出了一种用于互联网多媒体通信的SIP安全新方案.该方案利用可信平台模块和USB Key智能卡,以及数字签名、消息认证等方法,设计了新的SIP注册协议,实现了一种基于硬件的安全方案,大大提高了多媒体通信系统的安全性.同时通过UC安全模型的分析表明,注册协议达到UC安全的要求.

将可信计算思想和技术与IMC相结合,增强了IMC系统的安全性,有利于互联网远程多媒体协作等新业务的开展,但在安全通信系统建模、隐私保护、专用多媒体可信平台模块等方面还需要进一步的研究.

[1] Rosenberg J,Schulzrinne H,Camarillo G,et al.SIP:session initiation protocol,RFC 3261[EB/OL].(2002-06)[2011-07-08].http:∥www.ietf.org/rfc/rfc3261.txt.

[2] Peterson J,Jennings C.Enhancements for authenticated identity management in the session initiation protocol (SIP),RFC 4474[EB/OL].(2006-08)[2011-07-08].http:∥www.ietf.org/rfc/rfc4474.txt.

[3] Elwell J.Connected identity in the session initiation protocol(SIP),RFC 4916[EB/OL].(2007-06)[2011-07-08].http:∥www.ietf.org/rfc/rfc4916.txt.

[4] Arkko J,Torvinen V,Camarillo G,et al.Security mechanism agreement for the session initiation protocol(SIP),RFC 3329[EB/OL].(2003-01)[2011-07-08].http:∥www.ietf.org/rfc/rfc3329.txt.

[5] Sangster P,Khosravi H,Mani M,et al.Network endpoint assessment(NEA):overview and requirements,RFC 5209[EB/OL].(2008-06)[2011-07-08].http:∥www.ietf.org/rfc/rfc5209.txt.

[6] Trusted Computing Group.TCG specification architecture overview specification,Revision 1.4[EB/OL].(2007-08-02)[2011-07-08].http:∥www.trustedcomputinggroup.org/resources/tcg_architecture_overview_version_14.

[7] Trusted Computing Group.TCG TNC IF-TNCCS:TLV binding,specification vision 2.0[EB/OL].(2008-01-22)[2011-07-08].http:∥www.trustedcomputinggroup.org.

[8] Gallery E,Mitchell C J.Trusted computing:security and applications[J].Cryptologia,2009,33(3):217-245.

[9] Song Z,Molina J,Lee S,et al.Trustcube:an infrastructure that builds trust in client[C]∥Proceedings of the First International Conference Future of Trust in Computing.Berlin-Heidelberg:Springer-Verlag,2009:68-79.

[10] Song Zhexuan,Kotani Seigo,Masuoka Ryusuke.Building an independent integrated authentication service[C]∥The 9th International Conference for Young Computer Scientists.New York:IEEE Computer Society,2008: 2254-2259.

[11] Dan York.Seven deadliest unified communications attacks[M].Burlington:Syngress Media Inc,2010:17-136.

[12] Trusted Computing Group.Trusted platform module main specification(Part 1):design principles,version 1.2,level 2 revision 116[EB/OL].(2011-03-01)[2011-07-08].http:∥www.trustedcomputinggroup.org/resources/tpm_main_specification.

[13] Ernie Briekell,Jan Camenisch,Liqun Chen.Direct anonymous attestation[C]∥In CCS’04 Proceedings of the 11th ACM conference on Computer and communications security.New York:ACM,2004:132-145.

[14] Ran Canetti.Universal composable security:a new paradigm for cryptographic protocols[C]∥In 42nd Annual Symposium on Foundations of Computer Science(FOCS 2001).New York:IEEE Computer Society,2001:136-145.

[15] Ran Canetti.Universally composable signature,certification,and authentication[C]∥In Proceedings of the 17th IEEE Computer Security Foundations Workshop (CSFW 16).New York:IEEE Computer Society,2004: 219-233.

猜你喜欢

私钥公钥实体
清扫机器人避障系统区块链私钥分片存储方法
比特币的安全性到底有多高
基于改进ECC 算法的网络信息私钥变换优化方法
前海自贸区:金融服务实体
一种基于混沌的公钥加密方案
一种基于虚拟私钥的OpenSSL与CSP交互方案
实体的可感部分与实体——兼论亚里士多德分析实体的两种模式
两会进行时:紧扣实体经济“钉钉子”
振兴实体经济地方如何“钉钉子”
HES:一种更小公钥的同态加密算法