广播认证协议(共7篇)
广播认证协议 篇1
1 BA协议
在移动计算研究领域,无线传感器网络(Wireless Sensor Network,WSN)[1]作为一种新的研究方向在通信、电力监控、设备诊断和环境监控等方面快速发展[2,3]。WSN由大量资源有限传感器节点和可变数量控制节点(基站)组成,具有能源有限、低带宽、内存小和能源利用率低的特点[4]。由于无线信道的开放性,简单的无线电收发机很容易被窃听或更改数据包。为了以一种更加安全方法广播消息给大量节点,广播认证(Broadcast Authentication,BA)协议必不可少[5]。
现存BA协议一般可以分为基于对称密钥的密码学(Symmetric Key Cryptography,SKC)机制[6,7]、基于公钥密码学(Public Key Cryptography,PKC)机制[8,9]和基于配对密码学(Pairing Based Cryptography,PBC)机制[10,11],现存的大多BA协议通常基于SKC,然而,PBC具有更多的优势,预计未来将更多地利用PBC机制。
基于SKC的BA协议目前应用比较多,如文献[6]提出了u TESLA协议,利用单向哈希链保证身份认证和数据完整性,利用松弛时间使发送方和接收方同步。然而,由于该协议是基于单播的参数分布方法增加新的接收节点,因此限制了该协议的性能。文献[7]提出了多层u TESLA协议用于提高协议性能,该协议明显减少了不必要的计算量和缓冲内存。但由于消息的延迟认证,容易导致严重的能耗和DOS攻击。
基于PKC的BA协议在能耗方面更有优势,基于PKC的BA协议[8,9]能解决密钥分配问题。其中,WSN中一种最合适的PKC基元为椭圆曲线密码(ECC),该密码能有效平衡速度、内存需求和安全等级。ECC主要特点是其密钥大小(与带有80 bit安全等级的RSA相比只需要160 bit,而RSA需要1 024 bit)和速度。考虑到软件和硬件特点,ECC能提高8 bit mote平台的性能。但是PKC的BA协议的发送方和接收方之间的密钥分布是一个问题。
基于PBC机制的BA协议在安全、能耗等方面具有更多优势。如文献[10]使用TinyPBC充分利用PBC解决水下WSN密钥分配问题,在ATmega128L,MSP430和PXA27x平台上使用TinyPBC计算ηt配对需要时间分别为1.90 s、1.27 s和0.46 s。以上的实验数据表明传感器节点计算匹配所需要的时间在过去三年已经提高了至少5倍。文献[11]提出一种更有效的基于ID的多用户BA协议,IMBAS,该协议基于匹配自由的身份签名(Identity-Based Signature,IBS)协议,认证效率大大提高,然而,通过去除用户公钥证书能降低广播消息增加了约30%,计算负载较高,每个传感器需要计算两个匹配和一个MapToPoint操作,其中MapToPoint功能用于映射身份信息到椭圆曲线上的一个点上。
2 构建模块
本节介绍WSN中用于创建一种有效的基于ID的BA协议所需的构建模块。
2.1 椭圆曲线和双线性配对
设Ε/Fp为有限域Fp上的一种椭圆曲线y2=x3+ax+b,该曲线对素数阶p满足4a3+27b2≠0。设Ε(Fp)为该曲线上点组成的点集合,额外点Ο为无穷远处的点,即。
使用+表示椭圆曲线组的加法运算:对P,Q∈E(Fp),有P+Q∈E(Fp)。公式kP=P+P+…+P称为整数k的点乘。椭圆曲线Ε(Fp)点的数量,表示为#Ε(Fp),称为曲线在域Fp上的序列。设q为q2#Ε(Fp)的素数。G1表示椭圆曲线Ε(Fp)的q阶形式,对某些k,通过G2表示有限域F*pk乘法群的q阶子群。包含e映射的配对如下:G1×G2→G2,该映射包含以下属性:
2)非退化性:如果P为G1生成器,则e(P,P)也是G2的一种生成器。
3)可计算性:对所有P,Q∈G1,存在一种有效算法计算e(P,Q)。
该配对也存在对称性,即e(P,Q)=e(Q,P),可以通过Tate配对[11]计算e(P,Q)=e(Q,P)。具体细节请参考文献[12]。
2.2 包含消息恢复机制的ID的签名协议
初始化:针对安全参数k∈Z,将输出的随机数s∈Zq*作为主密钥,设PPub=sP为主公钥。公钥系统参数为Params={G1,G2,e,q,P,Ppub,μ,H,H1,F1,F2,l1,l2},其中,G1和G2表示素数q的2种循环群,q=l1+l2,e:G1×G2→G2为双线性配对,μ=e(P,P)和H:{0,1}*→Zq*,H1:G2→{0,1}|q|,F1:{0,1}l1→{0,1}l2,F2:{0,1}l2→{0,1}l1为哈希函数。
提取:对给定身份ID∈{0,1}*,计算用户密钥
签名:给定密钥SID和消息m∈{0,1}l1。
1)选择r1∈Zq*,计算μr1和α=H1(μr1)∈{0,1}q。
传输的数据由签名σ=(h,V),身份ID和消息m组成,它们对应的长度分别为88 byte,20 byte和2 byte。在文献[13]提出的协议中,传输数据的总长度为68 byte,因为没有传输原始消息m。
3 提出的广播认证协议
本文构建了一种有效基于ID的BA协议(PBCMR-BAS),充分利用了文献[13]中消息恢复机制。
3.1 系统模型和设计目标
网络由固定数量基站、网络用户和大量资源有限的传感器节点组成。在WSN中存在一种基站,假设该基站总是可信的,作为私钥生成器,主要用于生成用户密钥,有强大的存储能力。WSN主要目的是给访问该网络的用户提供服务,网络用户包括车辆,使用移动终端的人。根据计算和通信能力,移动终端拥有的能源量高于传感器节点。用户能实时连接到WSN,且用户也可能因为认证失败取消访问权限。每个网络用户装备有防干扰设备,该设备能防止别人窃听设备数据,包括私钥、数据和代码[11]。用户也在设备上存储与身份对应的私钥,用于签署发送消息命令。
本文目的是设计一种满足以下安全和性能要求的协议:1)用户认证和消息数据完整性:WSN网络用户的所有广播消息必须先经过认证使得非法用户或泄露节点插入的虚假信息能被有效过滤或拒绝。2)最小化负载:主要是最小化通信负载,保证能耗最小。
3.2 本文认证协议
本文协议由4个阶段组成:系统初始化,提取密钥,生成签名和消息广播,广播认证(签名验证)。
系统初始化:部署WSN之前,基站产生的系统参数如下:
1)给定安全参数k∈Z+,产生素数q,q的两种群组G1,G2。生成器q∈G1和双线性映射e:G1×G2→G2。
2)选择随机数s∈Zq*,设设PPub=sP为主公钥,s为主密钥。计算e(P,P)-1,且设μ=e(P,P)-1。
3)选择4种哈希函数H:{0,1}**→Z*q,H1:{0,1}→{0,1}l1+l2,F1:{0,1}l1→{0,1}l2,F:{0,1}l2→{0,1}l12,其中。实验设置,l1=160 bit,l2=92 bit。
4)系统参数为Params={G1,G2,e,q,P,Ppub,μ,H,H1,F1,F2,l1,l2}。
公钥系统参数Params预先装载于WSN中每个传感器节点中。
提取私钥:如果带有身份IDi∈{0,1}*的用户想要访问WSN,首先必须从基站获取自己的密钥。当用户需要它的密钥时,基站计算与用户IDi对应的密钥。认证过程产生的IDi公钥为PPub+H(I-Di)P。基站节点通过安全信道发送给用户私钥SKi且用户将私钥存储在防干扰设备中。
生成签名和消息广播:当用户需要广播消息给WSN时,用户使用包含消息恢复机制的IBS协议写下签名消息。为了签名一种消息M∈{0,1}l1,带有与IDi对应私钥SKi的网络用户完成以下步骤:
1)选择当前时间戳tti。
2)选择s∈Zq*,计算μr1和
3)计算以及U=(r1+r2)·SKi。然后,对IDi,在M上的签名输出为σi=(r2,U)。用户然后在WSN中广播〈IDi,tti,σ〉,其中IDi和tti需要2 byte。
广播认证(签名认证):根据收到的消息[IDi,tti,σ],每个传感器节点认证接收到的信息。传感器节点首先检查时间戳tti是否可用。假设σ是在有限传播时间中预定义的消息,将满足。然后,对发送端的身份IDi,传感器节点在它的局部寄存器中查找撤销列表确定对应条目。如果存在,传感器节点丢弃广播消息。如果tti为最新的且IDi不在撤销列表中,触感器节点执行下面的认证过程:
如果认证过程失败,传感器节点丢弃消息。否则,认证接收消息可信。在该阶段的签名认证仅需要计算一种匹配,G1中一种标量乘法,G2中一种求幂运算。
3.3 安全分析
1)源认证和消息数据完整性:本文使用带有消息恢复机制[13]的IBS协议认证广播消息。在自适应选择消息攻击和自适应选择身份攻击下,底层签名协议具有不可伪造性。因此,攻击者不能更改或篡改合法用户的可信广播消息。
2)DOS攻击:DOS攻击是一种降低网络负载的攻击。不同于TESLA-like协议,TESLA-like协议必须以基站与节点间的固定传输延迟为前提,才能实现正确的广播认证,一旦传输延迟发生改变,周期交界处发送的数据包就容易发生“认证漂移”。本文协议不需要广播消息的延迟认证,因此每个传感器节点不需要缓冲包。即当攻击者肆意攻击整个网络时,攻击者能向目标节点传输虚假信息,从而强制节点执行高代价的签名认证,最终耗尽节点能源。然而,本文协议通过有限时间能有效缓解该问题。
3)撤销用户:在本文协议中,若用户IDi被撤销,撤销IDi必须立刻广播给所有网络节点,这些节点仅存储撤销的ID。在基于PKC的协议中,传感器节点必须存储包含撤销用户身份的证书撤销列表。因此,随着时间的增加,撤销用户的数量将不断增加,增加了存储负载,而本文协议却明显减少存储负载。
4 实验性能分析
根据MICA2元件上通信负载和能耗评价本文协议,给出了定量分析。
通过WSN的大小(用W表示)函数研究能耗。根据签名和认证过程中签名大小和计算量大小比较IDBAS[7],IM-BAS[11]和本文的PBCMR-BAS的性能,如表1所示。假设每个传感器节点存储所有当前用户的身份和它们对应的公钥,〈IDi,PPub+H(IDi)P〉,在系统初始化阶段将这些信息载入到每个传感器节点中。表1中,P、SM、E、M、H、MH和SR分别表示配对计算、G1中标量乘法、G2中求幂运算、G2中乘法运算、哈希计算、MapToPoint函数计算和均方根。p和q分别表示子群组中元素大小和超奇异曲线子群组的元素大小。
IDBAS和PBCMR-BAS协议需要最优配对曲线,该曲线是带有小嵌入度的椭圆曲线。使用ηT配对定义4嵌入度超奇异曲线y2+y=x3+x在域F2271的252素数阶的子群组。在MICA2元件上该子群组匹配速度最快,当80 bit安全等级时,曲线不存在素数阶接近160 bit的子群组。在该曲线中,均方根的计算与开方计算过程相似。因此,当发送方发送椭圆曲线的一个点Q=(x,y)时,为了减少通信负载,发送方仅发送Q的x坐标,接收方通过计算x的开方获取y坐标值。实际上,为了减少签名大小,更适合使用嵌入度为6的MNT曲线或超奇异曲线。然而,这些曲线的匹配计算时间高于超奇异曲线,因此,根据能耗,超奇异曲线更适合匹配计算。假设IDBAS,IMBAS和PBCMR-BAS中消息大小(M),身份(ID)和当前时间戳(tt)分别为20 byte,2 byte和2 byte。在IMBAS中,产生的签名大小为83 byte,因为该签名包括一个FP域椭圆曲线点和来自ZP的两个整数,其中p和q分别为168和166比特位。为了比较实验结果,本文在以下曲线完成标量乘法,求幂运算和ηT配对:
1)IMBAS协议:ECC secp160r1,ECC secp224r1[13]。
2)IDBAS和PBCMR-BAS协议:在域F2271的超奇异曲线y2+y=x3+x。
由于本文使用252 bit素数阶的子群组的超奇异曲线完成本文协议,考虑到IDBAS和PBCMR-BAS协议在域F2271上带有252 bit素数阶子群组G1的超奇异曲线,广播消息的总长分别为90 byte(包括M,ID,tt)和70 byte(包括ID,tt),具体如下:
在IDBAS和PBCMR-BAS协议中,比特位安全等级和112比特位安全等级的广播消息总长度为80。与IMBAS和IDBAS相比,本协议的广播消息大小分别减少了30%和22.3%。
表2显示了通信和计算过程中的能耗,遵循如下数据包格式:数据包大小为128 byte,跳跃式能耗。发送和接收1 byte的代价分别为52.2μJ和19.3μJ。当使用本文PBC-MR-BAS协议传输和接收数据时,能耗分别为101×52.2μJ=5.3 m J和101×19.3μJ=1.9 m J,传输73+31=101 byte数据。本文也假设MICA2的功率电平为3.0 V,主动模式下电流消耗为8 m A。在本文数据集中,每个传感器节点从它的N个邻居节点接收广播消息[IDi,tti,σ],若认证成功,则将消息传输给其他节点,即每个传感器节点同时是接受方和发送方。
由于传输的电流消耗(27 m A)高于接收消息的电流消耗(10 m A),因此,较长消息对节点产生更严重影响,即广播消息总长度越大,传输消息的能耗将越大。然而,本文协议PB-CMR-BAS数据包较小,因此传输数据能耗较小。表2显示了实验比较结果,在广播认证过程中标量乘法、取幂和匹配运算需要时间最长,在MICA2元件上,椭圆曲线上的点乘需要0.81 s[13]且ηt匹配计算需要1.9 s。
此外,使用SHA-1哈希函数h在PBCMR-BAS签名上计算U=[r1+h(r2)]·SKi,使用μh(r2)认证消息。因此,在80比特位安全等级上,在G2取幂运算过程中,本文假设r2的大小为160比特位。然而,本文假设没有使用哈希函数时在112比特位安全等级上r2的大小为252比特位。因为在G2的取幂运算包含平均G2-开方和G2/2-点乘,因此,在扩展域评价取幂运算的代价为G2(S+M/2)=G2(M/10+M/2)=160×(0.6M)=160×(0.6×6MB)。其中,S,M和MB分别为开方消耗时间、扩展域乘法消耗时间和基域乘法消耗时间。
因为MB需要11 727次循环且匹配计算需要14×106次循环(1.9 s)[14],所以本文评估扩展域F24·271上的取幂运算大约需要0.9 s。因此,本文忽略其他运算消耗的时间,与上面几种运算相比,本文认证协议消耗时间很小。PBCMR-BAS协议需要一个匹配一种取幂认证签名,因此导致能耗为3.0×8.0×(1.9+0.9)=67.2 m J。为了将广播消息传输给整个WSN网络。每个传感器节点至少传输一次和接收N次相同类型消息。表2分别显示了通信消耗的能源、时间和总体能耗。图1和图2表明大小为W的网络函数的总体广播能耗,假设N=20。从图1~2可以看出,在80比特位安全等级,与IDBAS和IMBAS协议相比,本文协议PBCMR-BAS的总体能耗分别降低了大约32.8%和15.8%。在112比特位安全等级,与IDBAS和IMBAS协议相比PBCMR-BAS的总体能耗分别降低了大约30.2%和46.5%。
5 总结
本文提出了一种有效的基于ID的广播认证协议,PBC-MR-BAS,该协议满足WSN的安全等级要求。为了最小化通信和计算负载,使用带有消息恢复机制的基于PKC的ID签名协议,在该协议中,不需要同时传输原始签名信息和新生成的签名信息,因为认证/消息恢复机制能恢复原始消息。在所有基于ID的BA协议中,本文协议需要更短的广播消息,且明显降低了能耗。
改进的Kerberos认证协议 篇2
Kerberos系统是目前分布式网络计算环境中应用最广泛的认证协议, 它将认证从不安全的工作站移到了集中的认证服务器上, 为开放网络中的两个主体提供身份认证, 并通过会话密钥对通信进行加密。该协议除了提供身份认证以外, 还能用于保证数据的完整性和保密性, 但其本身却存在固有的安全缺陷。从攻击的角度来看, Kerberos协议主要有以下几个方面的安全隐患:
1. 时钟同步问题
为了防止重放攻击, 在票据和认证符中都加入了时间戳。只有时间戳的差异在一个比较小的范围内, 才认为数据是有效的。这就要求客户、AS、TGS和应用服务器的机器时间要大致保持一致, 而在分布式网络环境中其实是很难达到的。由于变化的和不可预见的网络延迟, 不能期望分布式时钟保持精确的同步。
2. 重放攻击
虽然时间戳降低了重放攻击的可能性, 但它同时也带来了重放攻击的隐患。时间戳要求网内时钟同步, 且限定时间戳验证时差在5分钟以内为合法, 不会被视为重发。而事实上, 攻击者可以事先把伪造的消息准备好, 一旦得到许可证就马上发出, 这在5分钟之内是难以检查出来的。
3. 口令猜测问题
在Kerberos中, AS发往客户C的报文是由从客户口令产生的密钥KC来加密的, 而用户密钥KC是采用单向Hash函数对用户口令进行加密后得到的。因此, 攻击者可以收集大量的访问TGS的票据, 通过计算和密钥分析进行口令猜测。当用户选择的口令不够强时, 就不能有效的防止口令猜测攻击。当攻击者获取了合法用户的口令以后, 就能够轻松的冒充合法用户欺骗KDC获取合法票证来请求应用服务器进行非法服务, 这将给用户带来严重的损失。
4. 密钥存储问题
Kerberos使用对称密码算法, 这样在客户机和KDC之间, 应用服务器和KDC之间, KDC和远程KDC之间都必须建立和维护共享密钥。在日益膨胀的Internet网络中使用Kerberos协议, 就要求在KDC与应用服务器、用户之间、KDC之间建立大量的共享密钥, 这样密钥的管理和维护就成了最难解决的问题。
5. 恶意软件攻击问题
Kerberos认证协议依赖于对Kerberos软件的绝对信任, 而攻击者可以用执行Kerberos协议和记录用户口令软件来代替所有用户的Kerberos软件, 达到攻击目的。一般而言, 装在不安全计算机内的密码软件都会面临这一问题。
针对Kerberos协议存在的种种安全隐患, 文中对Kerberos协议的认证过程进行了改进, 方法就是将动态口令和指纹识别引入到Kerberos的认证过程中来。
(二) Kerberos协议的认证过程
Kerberos认证的过程:
用户以明文的方式向AS发出请求, 要求获得访问TGS的票证。
AS以信任状作为响应, 信任状包括访问TGS的票证和用户与TGS的会话密钥, 会话密钥以用户的密钥 (用户的公钥) 加密后传输。
用户以自己的密钥 (用户的私钥) 对得到的响应进行解密, 然后利用TGS的票证向TGS申请应用服务器S的票证, 该申请包括TGS的票证和一个带有时间戳的认证符 (就是个时间戳) 。认证符以用户与TGS间的会话密钥加密。
TGS从票证中取出会话密钥, 解密认证符, 验证符中时间戳的有效性, 从而确定用户的请求是否合法有效。TGS确认用户的合法身份后, 产生所要求的应用服务器的票证, 票证中含有新产生的用户与应用服务器之间的会话密钥。TGS将应用服务器的票证和会话密钥传回给用户。
用户向应用服务器提交应用服务器的票证和用户新产生的带时间戳的认证符, 认证符以用户与服务器之间的会话密钥加密。
应用服务器从票证中取出会话密钥, 解密认证符, 取出时间戳并检验用户身份的有效性, 然后向用户返回一个带时间戳的认证符, 该认证符以用户与应用服务器之间的会话密钥进行加密。据此, 用户也可以验证服务器的合法性。
(三) 改进后的Kerberos认证过程
1. 动态口令的生成原理
动态口令的主要设计思想是基于某种密码算法 (本文中将用到的算法是Diffie-Hellman算法, 该算法的内容将在下一节中进行介绍) , 将用户的身份代码和某种不确定因素作为密码算法的输入参数, 经过算法变换得到一个变化的结果, 即动态口令, 将其作为用户的登录口令, 认证服务器端使用相应的算法进行计算, 并将计算结果与用户的登录口令进行匹配, 若合法则接受登录。由此得到变化的、不重复的动态口令, 且无需用户记忆, 一个口令只能使用一次, 重复使用将被拒绝接受。例如, 登录口令=MD5 (用户名+密码+登录时间) , 系统接收到登录口令后做一次验算即可验证用户的合法性。它还可能采用一种叫动态令牌的专用硬件, 内置电源、密码生成芯片和显示屏, 密码生产芯片运行专门的密码算法, 根据当时的时间或使用次数生成当前密码并显示在显示屏上。认证服务器采用相同的算法计算当前的有效密码。用户使用时只需将动态令牌上显示的当前密码输入客户端计算机, 即可实现身份认证。由于每次使用的密码必须由动态令牌来产生, 只有合法用户才持有该硬件, 所以只要通过密码验证就可以认为该用户是可靠的。而用户每次使用的密码都不相同, 即使黑客截获了一次密码, 也无法利用这个密码来假冒合法用户的身份。
2. Diffie-Hellman算法介绍
Diffie-Hellman算法一种确保共享KEY安全穿越不安全网络的方法, 它是第一个公开密钥算法, 早在1976年就发明了, 其安全性源于在有限域上计算离散对数比计算指数更为困难。Diffie-hellman算法能够用作密钥分配 (认证双方A和B能用它产生秘密密钥) , 但是它不能用于加密或解密信息。
首先, A和B协商一个大的素数n和g, g是模n的本原元。这两个证书不必是秘密的, 故A和B可以通过即使是不安全的途径协商它们。它们可在一组用户中公用。协议如下:
A选取一个随机整数x, 并且发送给B:X=gxmodn。
B选取一个随机整数y, 并且发送给A:Y=gymodn。
A计算d=Yxmodn。
B计算d'=Xymodn。
d和d’都等于gxymodn。即使线路上的窃听者也不可能计算出这个值:他们只知道n、g、X和Y。除非他们计算离散对数, 恢复x、y, 否则无济于事。因此, d是A和B独立计算的秘密密钥。
3. 改进的Kerberos认证过程
(1) 认证符号的定义
为了方便后面的讲解, 文中将认证过程中用到的符号定义如下:
password:用户口令, 简称p;
Fc:用户指纹的特征值;
x, n, g:均是随机整数;
X:计算得到, X=gx mod n;
d, d’:计算得到, 其中:d=gxp mod n, d’=Xp mod n;
Kc, tgs:用户与TGS服务器通信的密钥;
Tc, tgs:用户访问TGS服务器的票证;
Nc, tgs:客户端与TGS服务器之间通信时生成的随机数;
Tc, s:用户访问应用服务器S的票证;
Kc, s:用户应用服务器S之间通信的密钥;
Nc, s:客户端与应用服务器S之间通信时生成的随机数;
M1:加密的数据包, 内容为d;
M2:加密的数据包, 内容为用户访问TGS服务器的票证Tc, tgs、用户与TGS通信的密钥Kc, tgs以及用TGS服务器的公钥加密的Mtgs, 其中, Mtgs中存放的是用户与TGS通信的密钥信息Kc, tgs;
M3:加密的数据包, 内容为随机数Nc, tgs、用户向TGS服务器的请求信息以及用户访问TGS服务器的票证Tc, tgs;
M4:随机数Nc, tgs、用户要求访问的服务器S的票证Tc, s、用户与服务器S之间通信的专用密钥Kc, s以及用服务器S的公钥加密的数据包Ms, Ms中存放的是Kc, s的信息;
M5:包括Ms、随机数Nc, s、用户访问服务器S的票证Tc, s以及用户的请求信息;
Kcpv:用户的私钥;
Kcpb:用户的公钥;
(2) 改进后的认证过程
该文章所改进的Kerberos协议的认证过程如图所示, 该认证过程共分为7个步骤, 每个步骤的具体内容如下:
第一步:用户在客户端输入用户ID值、口令p, 同时实时录入自己的活体指纹, 客户端对得到的指纹图像进行特征提取, 得到用户指纹的特征值信息;然后, 生成随机数x, n和g, 其中x是一个随机整数, n是一个大素数, g是模n的本原元。之后, 客户端计算得到X=gx mod n, d=gxp mod n。准备工作就绪。
第二步:用户向AS服务器发出请求, 要求获得访问TGS的票证Tc, tgs, 请求的内容包括:用户ID值、要访问的TGS的名称、用户的指纹特征值Fc、X、n以及一个加密数据包M1。该请求是以密文的形式出现的, 是用AS的公钥进行加密的。请求中加密的数据包M1是采用用户的私钥Kcpv进行加密的, 数据包中的内容为动态口令d有散列值。
发送完毕后, 客户端会将X和d暂时保存, 并启动计时器, 如果在时间T内没有收到AS发回的应答数据包, 则丢弃当前保存的X和d的值;如果在T时间内收到了AS发回的应答数据包, 则在验证以后丢弃当前保存的X和d的值。
第三步:AS服务器在收到用户发送的密文以后, 先利用自己的私钥对密文进行解密, 得到用户想要访问的TGS的名称、用户的指纹特征值Fc、X、n和M1。AS服务器首先利用Fc检索数据库中的用户信息, 如果找不到匹配的用户信息, 则拒绝用户的请求;如果找到了匹配的用户信息, 则提取出用户的口令值p和用户的公钥Kcpb, 利用用户的公钥Kcpb对M1进行解密, 得到d;同时, 计算d’=Xp mod n。然后, 比较d和d’, 如果两者不同, 则拒绝用户的请求;否则, 认证成功, 进行下一步操作。
AS向用户发送应答数据包, 数据包以用户的公钥Kcpb进行加密。密文中的内容有:客户端之前发送过来的X以及加密的数据包M2, M2中又包括:用户访问TGS的票证Tc, tgs、用户与TGS通信的密钥Kc, tgs以及用TGS服务器的公钥加密的Mtgs, 其中, Mtgs中存放的是用户与TGS通信的密钥信息Kc, tgs。而M2则是以d的散列值进行加密的。
第四步:用户在T时间内收到AS服务器发送回来的应答数据包后, 先用自己的私钥Kcpv对密文进行解密, 得到X和加密数据包M2。客户端取出之前暂存的X值与AS服务器传回的X值进行比较, 如果相同则取出暂存的d值, 用其对M2进行解密, 得到用户与TGS服务器通信的密钥Kc, tgs、用户访问TGS服务器的票证Tc, tgs和加密的数据包Mtgs。
接下来, 客户端向TGS服务器发送信息。首先, 客户端生成随机数Nc, tgs, 并且将该值进行备份, 同时启动本地计数器, 如果在T时间内收到TGS发回的应答数据包, 则验证数据包中Nc, tgs的值;否则, 丢弃该值。然后, 客户端将随机数Nc, tgs、用户向TGS服务器的请求信息以及用户访问TGS服务器的票证Tc, tgs打包成M3, 并利用之前得到的用户与TGS服务器之间通信专用的密钥Kc, tgs进行加密。最后, 客户端将Mtgs和M3组成密文并发送给TGS服务器。
第五步:TGS服务器在收到密文以后, 先利用自己的私钥对密文进行解密Mtgs, 得到用户与TGS服务器之间通信专用的密钥信息Kc, tgs, 然后, 利用该密钥对加密数据包M3进行解密, 得到随机数Nc, tgs、用户访问TGS的票证Tc, tgs以及用户的请求信息。TGS服务器验证票证的有效性以后, 向客户端发送应答数据包。
HTGS服务器向客户端发送的应答数据包M4也是以密文的形式发送的, 它是采用用户与TGS服务器之间通信专用的密钥Kc, tgs进行加密的。该应答数据包M4中的内容包括:随机数Nc, tgs、用户要求访问的服务器S的票证Tc, s、用户与服务器S之间通信的专用密钥Kc, s以及用服务器S的公钥加密的数据包Ms, Ms中存放的是用户与服务器S之间通信的专用密钥Kc, s的信息。
第六步:客户端在收到TGS服务器发送的密文之后, 利用之前得到的用户与TGS服务器之间通信的密钥Kc, tgs进行解密, 得到随机数Nc, tgs、用户要求访问的服务器S的票证Tc, s、用户与服务器S之间通信的专用密钥Kc, s以及用服务器S的公钥加密的数据包Ms。然后, 客户端需要对该密文进行有效性验证, 方法就是比较随机数Nc, tgs的值。
客户端向服务器S发送数据包M5, 该数据包的内容包括Ms、随机数Nc, s、用户访问服务器S的票证Tc, s以及用户的请求信息。同时, 客户端启动计时器, 如果在T时间内用户能够收到服务器S发回的应答数据包, 则客户端取出本地暂存的Nc, s验证有效性;否则, 丢弃本地暂存的Nc, s。
第七步:服务器S在收到客户端发送来的密文之后, 先利用自己的私钥对Ms进行解密, 得到用户与服务器S之间通信专用的密钥Kc, s, 然后, 利用Kc, s解密Ms, 得到用户访问服务器的票证Tc, s、用户的请求、随机数Nc, s等信息。之后, 服务器与客户端进行信息传递的过程中, 都会实时地产生新的随机数Nc, s, 这样, 用户也可以实现对服务器的验证。
至此, 用户与服务器之间的认证过程完毕。
(四) 性能分析
改进后的Kerberos认证系统具有更高的安全性:
1. 在用户与服务器通信的过程中, 不存在用户口令的传输, 传输的是经过动态口令体制计算得出的值, 即使被黑客截获到了, 也不会造成口令的丢失, 安全性得到了提高。
2. 对时间戳的要求降低了, 在每次通信时, 用户端都会产生随机数来代替时间戳, 这样就不用去考虑同步的问题, 而是通过异地认证的方式, 同时结合系统的生存期控制, 将有效地保证一定时间内只能存在唯一的合法消息, 从而消除了重放的可能。
3. 在用户、KDC和应用服务器三者之间的通信, 都是通过公钥体制进行加密的:Kerberos在关联数据库仅保存了用户名的注册口令, 以及用户、TGS和服务的公钥, 即使Kerberos服务器被攻击, 攻击者只能得到用户名和所有公钥, 不能获得用户认证信息或者系统服务。
(五) 结束语
Kerberos是目前应用最广泛的网络身份认证协议, 以上改进方法是在Kerberos的基础上结合了指纹识别技术和Diffie-Hellman算法原理产生一次性身份验证口令的思想, 联网时不会存在用户口令的传输, 提高了安全性;在认证过程中, 通过验证客户端生成的随机数, 可以有效防止重放性攻击。
摘要:文章研究了Kerberos认证协议, 对Kerberos协议认证的原理、认证过程、安全性进行了详细的分析, 针对其存在的两个主要的安全性缺陷进行改进。针对其在认证第一阶段容易受到口令猜测攻击的问题, 运用指纹特征空间的无穷性, 采用指纹认证和动态口令认证相结合的方法进行改进。针对其在认证第二阶段容易受到重放攻击的问题采用序列号循环机制, 即由用户自己产生的一次性随机数代替时间戳的方法进行改进;研究了指纹识别技术的关键算法, 对指纹识别的预处理、特征提取、特征匹配的算法进行分析与比较, 并给出各阶段实验结果。在此基础上提出了一种基于指纹特征的Kerberos协议改进方案, 有效地提高了Kerberos系统的安全性。
关键词:动态口令,指纹识别,网络认证,Kerberos认证
参考文献
[1]C.Neuman, T.Yu, S.Hartman, K.Raeburn, the Kerberos Network Authentication System (RFC4120) , July2005.
[2]张红旗, 车天伟, 李娜.Kerberos身份认证协议分析及改进[J].计算机应用, 2002 (12) :25-27.
[3]王晓刚, 卢强华.Kerberos认证系统的分析和改进[J].武汉科技学院学报, 2002 (10) :95-98.
广播认证协议 篇3
移动多媒体广播业务是指通过卫星和地面无线广播方式,在手机、PDA、MP3、MP4、数码相机、笔记本电脑等7 in以下的小屏幕、移动便携手持终端上,实现随时随地接收广播电视节目收视与信息服务。根据权威机构的预测,到2008年全球的手持移动娱乐和多媒体业务的收入将达到820亿美元,如此巨大的市场刺激了移动多媒体广播技术的快速发展。
2006年10月24日,国家广电总局正式颁布了中国移动多媒体广播系统(CMMB)广播信道行业标准《GY/T220.1-2006移动多媒体广播第1部分:广播信道帧结构、信道编码和调制》,确定了采用我国自主研发的移动多媒体广播传输技术(即STiMi)。目前国际上还没有形成统一的移动多媒体广播标准,正处于大规模应用的前期,因此该标准的及时出台,对我国移动多媒体广播和民族工业的发展具有重要意义[1]。
在2008年北京奥运前开启移动多媒体应用是移动多媒体发展的重要里程碑。除地面试验和商用示范网络的建设外,直播卫星的发射和系统的启用是关系到产业链全面展开的至关重要的环节。两颗同轨道S波段卫星覆盖全国,形成对节目广播的有力支持,通过地面增补转发站同频同时同内容的转发增强,使得移动多媒体终端可以无障碍地体验移动带来的奥运全程实时转播等高端多媒体体验。
2 移动多媒体广播中认证授权的特殊性
移动多媒体从内容和服务等方面拓展了广电行业的竞争优势,提升了内容价值,吸引价值链各环节更多的投入,提供多媒体的高端应用,构建国家的基础信息平台。其中如何为移动多媒体高端数字内容与服务提供安全高效的内容保护和传输控制,维护价值链各环节的利益,为支持多用户、多模式、多业务的交互提供基础支撑是一个急需解决的问题。其中针对我国移动多媒体特殊性建立认证授权机制是重要一环[2]。
首先,我国的移动多媒体标准CMMB是以单向卫星广播为基础的,配合增补站实现对全国范围的覆盖,以较低的成本,为用户终端提供自由移动能力。但是单向卫星广播不提供回传路径,无法采用传统DRM的方式进行认证授权。CMMB中采用了移动网络为回传路径,从而为建立对移动终端的认证授权机制提供了可能。
第二,移动多媒体的认证授权机制必须考虑大用户量的认证授权带宽问题。移动多媒体结合单向卫星广播和移动网络双向互动的能力,为全国范围内的上亿用户提供移动多媒体内容服务,用户量巨大。传统的数字电视等应用中采用的单向认证授权技术由于其复杂的安全机制和与用户相关的授权信息将产生巨大的带宽消耗,严重影响系统的运营,无法发挥其真正的内容优势。
第三,因为移动多媒体大用户量和单向卫星广播而衍生出的大用户量集中并发认证授权是移动多媒体认证授权机制需要考虑的另一重要问题。若千万异地用户同一时刻向认证授权中心提出认证请求,单一的认证授权机构将始终超负荷运行,无法满足实时要求,成为系统运行瓶颈,阻碍移动多媒体业务的开展和产业发展。
第四,移动多媒体网络中的终端种类千差万别,从交互能力上主要分为单向终端和双向终端两种。单向终端没有交互能力,被动接收广播节目,实现认证比较复杂。如何使认证授权机制能够同时适应两种终端的需要,是关系到移动多媒体扩展其用户群和最大化社会经济效益的重要保障之一。
上述问题在移动多媒体认证授权机制的研究设计过程中须综合考虑,在安全与效率之间权衡,以卫星广播和全国范围内的移动多媒体为基础,结合低成本、自主创新等要求,建立简单、安全、高效的认证授权系统。
3 传统认证授权方案在移动多媒体广播中存在的问题
3.1 单向条件接收(CA)
基于DVB-CA的单向条件接收系统在有线数字电视领域得到了大量的应用,适合于有线数字电视应用场景下的单向认证授权。单向有条件接收的基本结构如图1所示。
DVB-CA采用基于控制字加扰和复杂的3层加密体制来完成对单向网络中用户的认证授权,在传输的节目流中需要复用ECM,EMM,PSI等授权控制、管理信息和复用控制信息。除了用户购买时提供有效身份证明和机顶盒MAC地址外,在节目加扰传输过程中没有对用户的身份认证,需要复杂的加密策略以及智能卡支持来保证节目内容的授权访问。
DVB-CA在有线数字电视的实际使用中,往往采用分级策略,对用户进行分组,且各CA前端也只面向于辖区内的少量用户,对带宽的占用量较少,对大用户量集中并发认证比面向全国的卫星广播情况下的要求要低。而在移动多媒体应用中,如何对用户身份进行有效认证和满足网络带宽的限制是认证授权策略必须解决的问题。表1给出了单向DVB-CA对网络带宽的占用情况,从中可看出当面对卫星广播全国范围内10亿用户量时,系统对网络带宽的占用已达到38~5 500 Mbit/s,远远超过了CMMB中给出的可用带宽,无法在实际中应用。
3.2 数字版权管理(DRM)
DRM作为保护知识产权、保障社会经济健康持续发展的重要基础已经被高度重视和广泛研究、应用。在数字出版、广播影视资料共享、内容认证、盗版追踪方面具有很高的实际价值和应用前景。从内容封装的角度,数字版权管理可分为狭义和广义两种,狭义是指对内容的离线封装,广义包括离线封装和即时封装,而条件接收技术可包含在广义的数字版权管理范畴内。图2给出了DRM的基本框架。
DRM针对节目内容本身的可用性和作者的权益提供可控的、可运营的有效机制,强调的是内容安全,对内容从制作、集成、分发、使用、验证等角度和内容的全生存期加以保护。一方面保护节目内容提供者的版权利益,另一方面通过封装、权限描述等措施来实施对用户的授权,只有授权用户才能使用内容。DRM除了可以实现权限控制功能外,还可实现版权认证、内容认证、操作跟踪、盗版追踪等功能,技术上不仅使用加密技术,而且通过引入数字水印技术提供多层次的安全性,并保证DRM各项功能的实现。
DRM自诞生之日起就是以双向交互为基础的,对于移动多媒体的卫星广播需要构建专门的回传路径,为移动多媒体终端提供与认证授权中心的联系通路,提交对内容的访问申请,进行认证和授权。
但是DRM一般对内容分发过程透明,为内容提供商提供产品封装保护能力,一般是离线进行封装,然后存储转发。而且为了达到较高的安全性,数字版权管理采用的安全技术往往强度很大,对系统的处理能力要求很高,达到实时性的封装比较困难。
DRM涉及数字内容的整个生存期,涉及内容与权限间的互操作问题,完整的解决方案往往比较复杂,需要投入的成本较高,牵涉的价值链环节比较多,需要内容提供商、网络运营商等各部门协调一致,利益均衡,共同构建完善的DRM体系。这一点可能会与我国移动多媒体适应国情、降低成本的要求相矛盾,而且容易导致价值链各环节的积极性不高。
目前ChinaDRM等数字版权管理技术的研发应用以内容提供商为主,这就更体现了狭义的DRM所包含的内容。而网络运营商,尤其是广电行业的网络运营商关心的更多是传输中的安全控制和收费,以及网络带宽的利用率,因此往往采用专门针对传输安全的条件接收技术。
4 移动多媒体广播中的认证授权策略
4.1 移动多媒体广播认证授权基本框架
CMMB是国内目前移动多媒体应用中的唯一建议标准。CMMB采用大功率S波段卫星信号覆盖全国范围,利用地面增补转发器同频同时同内容转发卫星信号,补点覆盖卫星信号盲区、利用无线移动通信网络构建回传通道,组成单向广播和双向交互相结合的移动多媒体广播网络。
在综合移动多媒体中各项特殊性要求和认证授权的基本功能后,移动多媒体认证授权系统结构如图3所示。
与CMMB系统结构相比,CMMB认证授权系统增加了认证授权中心,该子系统与节目集成平台、信号上传系统、电信移动网络均具有联系。基于重叠网和面向对象的节目内容和授权信息管理,建立分布式的认证授权体制,降低系统建设成本,同时支持对点播、广播节目全国范围内的认证、授权和计费。认证授权中心提供对DRM和CA的双重支持,采用基于节目内容的DRM封装保护和双层CA加扰传输来实现对移动多媒体内容的控制,并通过电信移动网与移动终端用户形成交互,基于PKI和X.509数字证书实现对用户的认证授权。
认证授权中心可分为两类:一类是现有各内容提供商自主拥有的DRM封装平台和认证授权服务器,如O-MADRM,此时移动多媒体终端用户可以采用已有的电信移动网络DRM功能与相应的认证授权中心联系,进行认证和获取权限;另一类是在卫星移动多媒体广播下,为节目内容集成分发和上行传输子系统存储或提供内容保护与加扰控制用到的密钥等授权信息,用户可以通过。
认证授权子系统对移动多媒体卫星广播全国范围内大用户量认证授权的支持分为两部分:
1)节目集成平台在完成已有内容集成分发工作的同时,也可以进行DRM封装,形成受保护的内容后再进行分发。在进行DRM封装时,产生的授权信息将通过与认证授权中心的接口安全发送给认证授权中心并存储。
2)节目上行在对节目进行加扰保护时,从授权认证中心获得不断更新的节目密钥,采用双层安全策略,对节目进行实时加扰,复用传输仅与节目相关的授权信息,上传至卫星。移动多媒体终端在通过移动网络进行入网认证后,收到卫星广播的节目内容,从节目中获取与节目相关的授权信息,并通过移动网络回传,通过最近的认证授权中心进行用户身份和信用认证,获得与用户相关的授权信息。
4.2 移动多媒体广播认证授权解决方法
重叠网模型如图4所示。
1)重叠网模型:
解决全国范围内大用户量的集中并发认证授权,分级认证授权机制。DRM系统主要包括节目封装、权限管理、用户管理等内容,基于数字媒体内容集成平台及其分发网络,提出建立DRM的重叠网,实现对媒体权限的分发、控制以及对用户的灵活管理。在重叠网中DRM的各节点构成管理网,完成对权限的定义、分发、维护,以及对网络用户身份信息、信用信息的管理、授权等任务;原有的数字媒体集成与分发网络构成内容网,完成对数字媒体内容的封装、存储、分发等任务。同时为了优化用户权限获取性能和便于集中管理,在管理网内部也需要建立分层次的数字版权管理机制,通过认证授权代理技术实现对数字媒体内容权限的分布式管理,支持跨地域、大规模的数字媒体内容分发。
2)DRM与CA的结合
解决单向和双向终端问题。DRM与CA各自的优缺点使得他们的结合成为必然。通过二者结合既可保证数字节目内容的离线封装得以实现,同时也为实时的加扰传输控制提供基础。为DRM和CA建立统一的认证授权中心,既支持移动多媒体终端通过双向网络进行的交互点播,也支持终端接收卫星广播节目;既支持对内容提供商的内容分发和用户授权,也支持网络运营商的内容传输控制和用户授权。这样,双向终端可通过上述的统一认证授权中心获得各种移动多媒体服务。单向终端也可在CA系统下获得卫星广播服务。
3)双层CA
双层CA结构如图5所示,可解决认证授权带宽占用问题。传统单向DVB-CA无法满足移动多媒体卫星广播的应用需求。双层CA技术将授权信息分为两部分,一部分是与用户相关的授权信息,另一部分是与节目相关的授权信息。这两部分通过对象关联机制建立联系。借助于CMMB中的移动回传通路,在卫星广播信道中可以通过双层CA技术完成与节目相关的授权信息,简化系统方案设计开发和实施成本。用户终端可以通过移动回传路径交互获取与用户相关的授权信息,从而最终实现对用户的认证授权。
双层CA技术在保证安全性的同时,由于在卫星广播信道中不存在与用户相关的授权信息,因此非常适合于面向全国范围的移动多媒体广播。
4.3 移动多媒体广播认证授权方案的带宽预测
CMMB中的信道传输技术STiMi可良好应用于30~3 000 MHz的频率范围,根据频谱资源的情况,选择了2.6 GHz,带宽25 MHz,支持25套电视节目、30套广播节目以及数据业务。表2给出了建议方案与传统DVB-CA在STiMi信道情况下对带宽占用情况的对比。
从表2可以看出在移动多媒体环境下,建议方案对带宽的需求只有ECM部分,约7 Kbit/s,带宽占用率0.028%,非常适合应用。同时通过全国范围内分布式并行认证授权系统和代理技术,完全可以支持大用户量的并发认证。
5 小结
针对移动多媒体广播中的认证授权特殊性,提出了基于重叠网模型、CA与DRM结合、双层CA等技术的移动多媒体广播中的认证授权策略。基于重叠网的双模双层认证授权系统,是在已经提出的CMMB标准和现有网络运营系统基础上,通过最小化标准和系统改造,实现了全国范围内卫星广播移动多媒体的认证授权功能。只需要在集成分发子系统和卫星上行子系统增加与授权中心的接口模块即可达到目标。同时考虑到用户认证延迟,授权中心的建设也可以与转发站、移动基站等共同搭建,形成多种方式的灵活配置。完全基于双向网络的认证授权技术已经比较成熟,而且已经在国内外移动、Internet等行业中被普遍应用,为策略的具体实施提供了重要基础。此外,与认证授权相关的其他技术,如分布式对象管理、移动数字证书等都已经被深入研究和应用,得到广泛的认可,从技术上为移动多媒体认证授权系统的建立提供了良好的支撑环境。此外,针对中国移动多媒体现状和发展趋势,移动多媒体广播中认证授权的建议策略方法必须能够适合中国国情,为中国移动多媒体的建设提供参考思路。
参考文献
[1]马华兴.解惑3G业务:概念、实现和规划[M].北京:北京邮电大学出版社,2006.
论3G认证和密钥协商协议 篇4
1 3G的认证与密钥分发协议
在用户接入网络时, 需要验证用户标识的正确性, 这就是对用户进行认证。并同时完成上下文的分配、设置加密和加密算法、用户对网络的认证等功能。
在GSM中, 身份认证是单向的, 基站能够验证用户的身份是否合法, 而用户无法确认他连接的服务网络是否可靠。3G AKA协议借鉴了GSM身份认证的询问——应答机制, 结合ISO/IEC 9798-4基于“知识证明”和使用顺序号的一次性密钥建立协议, 实现了双向认证, 并确保通信双方的认证信息和密钥是非重用的。
1.1 协议过程
有三个实体参与3G认证与密钥分配协议过程:MS (移动台) 、VLR/SGSN (访问位置寄存器/支持GPRS服务节点和HE/HLR (归属环境/归属位置寄存器) , AV是认证向量, IMSI是用户永久身份标识。具体步骤如下:
(1) 当MS第一次入网或由于某种原因VLR/SGSN需要MS的永久身份认证时, MS向VLR/SGSN发送用户永久身份标识 (IMSI) , 请求注册。在平时的认证中这一步骤并不存在。
(2) VLR/SGSN把IMSI转发到HE/HLR, 申请认证向量 (AV) 以对MS进行认证。
(3) HE/HLR生成n组AV发送给VLR/SGSN。
其中, AV=n (RAND||XRES||CK||IK||AUTN) , 这5个参数分别为随机数 (RAND) 、期望响应值 (XRES) 、加密密钥 (CK) 、完整性密钥 (Ⅸ) 和认证令牌 (AUTN) 。它们由如下的方法产生:
RAND由f0产生
XRES=f2k (RAND)
CK=f3k (RAND)
IK=f4k (RAND)
AUTN=SQN+ (AAK||AMF||MAC
其中, SQN是序列号;AK是匿名密钥, 用于隐藏SQN;AMF是认证管理域;MAC是消息认证码。
AK=f5k (RAND)
MAC=flk (SQN||RAND||AMF)
f0~f5是3G安全结构定义的密码算法。f0算法只用在认证中产生随机数, f1算法用于产生消息认证码, f2算法用于在消息认证中计算期望响应值, f3算法用于产生加密密钥, f4算法用于产生完整性密钥, f5算法用于产生匿名密钥。K是MS和HE/HLR之间共享的密钥。
(4) VLR/SGSN接收到认证向量后, 将其中的RAND和AUTN发送给MS进行认证。
(5) MS收到RAND和AUTN后, 计算期望消息认证码 (XMAC) 的值 (XMAC=f1K (SQN||RAND||AMF) ) , 并把计算结果和AUTN中的MAC比较, 如不等, 则发送拒绝认证消息, 放弃该过程。如果二者相等, MS验证SQN是否在正确的范围内, 若不在正确的范围内, 则MS向VLR/SGSN发送同步失败消息, 并放弃该过程。若上面的两项验证都通过, 则MS分别计算响应值 (RES, RES=f2k (RAND) ) 以及CK、IK的值, 并将RES发送给VLR/SGSN。
最后, VLR/SGSN收到应答信息后, 比较RES和XRES, 相等则认证成功, 否则认证失败。
1.2 安全性分析
该协议通过MS和HE/HLR共享的密钥K, 实现了以下目标。
(1) MS和HE/HLR之间的相互认证。
VLR/SGSN接收到来自HE/HLR的认证向量中包括了期望MS产生应答的XRES (XRES=f2k (RAND) ) , 如果MS是合法用户, 则RES=XRES。而MS对HE/HLR的认证是通过MAC实现的。MS接收到VLR/SGSN发过来的MAC, 计算XMAC=f1k (SQN, RAND, AMF) , 如果MAC=XMAC, 则认证成功。
(2) MS和VLR/SGSN之间的密钥分配。
VLR/SGSN接收到来自HE/HLR的认证向量中包含的CK1和IK1, 合法用户接收到正确的RAND之后, 在MS中计算得到CK2=f3k (RAND) 和IK2=f4k (RAND) , 并且CK1=CK2, IK1=IK2。由于通信中的密钥并没有在空中传输, 确保了密钥的安全。
1.3 可能的攻击
通过上面的分析可以发现, 3G安全机制完全建立在MS和HE/HLR之间共享密钥K的基础之上, 若该密钥K泄漏, 那么通信中的安全将无从谈起, 攻击者可以轻而易举地在空中截获RAND, 并用相关算法取得相互认证且计算出CK和IK, 从而通信中的所有数据都可以被攻击者截获。由于这个密钥K是长期不变的, 所以一旦泄漏, 将对用户和网络运营商造成不可估量的损失。
2 3G认证协议的一种改进
对上面3G认证和密钥分配协议提出一个改进办法。认证和密钥分配过程如下:
其中, {……}K表示单钥精密计运算, RI为一个由MS产生的随机数。
在上述改进方案中, VLR/SGSN收到移动用户的注册请求中包括了MS对随机数RI用与HE/HLR共享的密钥加密后的信息。VLR/SGSN向用户的HE/HLR发送该用户的永久用户身份标识以及收到的加密消息, 请求该用户进行认证。
HE/HLR收到VLR/SGSN的认证请求后, 出计算认证向量AV外, 还将{RI}K解密, 再用与VLR/SGSN共享的密钥KHV重新加密, 与认证向量一同发送给VLR/SGSN。
VLR/SGSN接收到{AV, RI}KHV后, 对加密消息解密恢复出RI, 并将RI连同RAND||AUTN发送给MS, 请求用户产生认证数据。
MS接到认证请求后, 首先验证随机数RI的正确性, 正确则产生应答消息RES, 否则放弃该过程。
VLR/SGSN接收到来自MS的RES后, 将RES与认证向量AV中的XRES进行比较, 相同则认证成功, 否则认证失败。
3 结语
3G认证和密钥协商在整个3G安全体系结构中有着重要的地位, 相信在未来的不久, 随着我国3G的全面应用, 3G的规范会更加完善, 必将出现近乎完美的安全解决方案。
参考文献
[1]Bruce Schneier.应用密码学[M].北京:机械工业出版社, 2000.15-47.
[2]张鹏.第三代移动通信接入认证研究[D].重庆:西南交通大学硕士学位论文, 2004.
广播认证协议 篇5
数据的安全性问题始终是数据传输系统中受到重点关注的问题,在空间数据系统与航天器测控系统设计和任务实施过程,数据安全更是占有举足轻重的地位。在航天技术发展的初期,保障数据安全依靠的是纯粹的机要手段。空间数据系统与航天器测控系统中所使用的频率、调制体制、指令码表等被列入绝密级,由专人负责保管。空间数据系统产品的研制、测试、试验和使用要严格遵守有关的保密规定和程序。这些措施在当时条件下是非常有效的。然而,现代电子侦察和电子对抗技术使空间数据系统具有本质上的开放性,这种开放性对依靠机要手段保障空间数据系统安全的传统方法形成了严重的威胁。敌方可以通过技术手段通过开放的空间链路截获所发送的遥测遥控信号,分析和窃取信息内容,并通过伪造遥控信息对正常工作中的航天器进行攻击和破坏。因此,必须也只可能依靠数学及其物理实现来保证空间数据系统的安全性。
空间数据系统咨询委员会(CCSDS)是空间数据系统技术权威的国际组织,采用CCSDS标准是空间通信领域技术发展的必然方向。
CCSDS的Security Working Groups一直致力于针对空间任务的安全需求研究。2006年,CCSDS制定了Security Threats Against Space Missions[1]和The Application of CCSDS to Secure Systems[2]建议书,描述了空间任务所面临的安全威胁并提出了基于CCSDS标准的各类航天任务安全框架。虽然不同性质的航天任务有不同级别的安全需求,但CCSDS建议对遥控信息进行认证保护是最基本的要求;而且,针对军用通信等安全需求较高的航天任务,对遥控信息进行加密和认证的双重保护是必要的。将不同密码学算法应用到CCSDS分包遥控系统中成为CCSDS近两年的研究重点之一[3]。其中,意大利的S.Susanna等人在文献[4]中首先提出了在ESA分包遥控系统的分段层中采用EAX认证加密算法(Authenticated Encryption with Associated Data,AEAD),对遥控信息进行加密和认证的联合数据保护;文献[5]中,ZHANG L等人提出在CCSDS分包遥控系统中采用GCM认证加密算法进行数据保护的具体方法,并针对空间链路的特点对消息认证码的长度进行了分析,提出了一种根据传输帧数据域长度计算消息鉴别码最佳长度的算法;德国的Daniel Fischer等人在文献[6,7]分析了数据保护机制在分包遥控系统中的实现位置,并提出了在传统的分段层实现数据保护的局限性和在数据链路层实现数据保护机制可能产生认证循环与分包遥控系统中的COP-1闭环之间的冲突。
本文通过分析CCSDS分包遥控系统的数据操作流程,基于不同级别的安全需求,以及认证算法能够保证传输信息的认证性和完整性的特点,总结了在CCSDS分包遥控协议中应用认证算法的各种方法,并结合CCSDS Security Working Group的最新研究进展,对分包遥控协议数据中的保护机制研究进行了展望。
2 CCSDS分包遥控系统及其安全需求
分包遥控是由空间数据系统咨询委员会(CCSDS)的建议书所规定的空间数据系统数据传输体制。在分包遥控系统中,不同信源、不同速率的数据通过动态管理形成统一的数据流,通过上行信道传输,包括航天器平台和有效载荷在内的各种应用过程通过这种方式获得灵活、透明和高效的数据传输业务。由于分包遥控标准已被各主要空间国家(地区)采用,因而可以实现各国家(地区)地球站之间的交互支持[8]。
2.1 分包遥控系统
分包遥控采用分层体制,可以将复杂的航天器控制过程简化为由各层一系列简单的标准操作同等实现,层与层之间按照一定的协议由标准的数据格式接口,其层次模型如图1所示。分包遥控传输帧结构如图2所示,“控制命令标志”字段将遥控帧分为装载遥控数据的“D模式”帧和装载控制命令的“C模式”帧。传统的分包遥控安全保护机制只对“D模式”帧进行加密和认证操作,而“C模式”帧则保持明文状态,以保证正常的星地操作。由于“C模式”帧装载了遥控系统的控制命令,如果受到攻击,对遥控系统所造成的影响会更加严重,因此,在安全级别较高的航天任务中,例如军用卫星通信等特殊环境下,对“C模式”帧进行保护也是必要的。
为了保证星地操作中上行数据链路的可靠性,分包遥控在传送层定义了命令操作步骤(COP-1),他负责数据在对等层之间进行无差错、按序、无遗漏及无重复的闭环操作,是CCSDS分包遥控中的重要组成部分[9]。
COP-1是CCSDS建议书中实现遥控闭环控制的关键。在传送层内由一对同步操作步骤构成:发送端的帧操作步骤(FOP-1)和接收端的帧接收和汇报机制(FARM-1)。发送端的FOP将遥控帧发送给接收端的FARM,FARM通过遥测下行信道返回命令链路控制字(CLCW)给FOP-1,完成对遥控帧接收状态的闭环报告。COP-1保证遥控数据在有噪信道中正确、完整、顺序的传输。
COP-1基于GO-BACK-N ARQ策略的滑动窗口流控制机制使用帧序列计数的接收和重传,FOP-1组织遥控帧时同时启动一个向上的序列计数器,FARM-1只接收到达帧序列计数与星上的帧序列计数相符合的传输帧,如果计数不匹配,FARM-1将拒收后续到达的一系列帧,并通过下行链路返回CLCW要求FOP-1重传。FOP-1检测CLCW是否有帧被拒收,如果有,则从FARM-1所期待的帧序列号开始重新发送。
2.2 CCSDS体制分包遥控系统安全需求
CCSDS分包遥控系统的安全需求主要包括遥控数据信息的机密性、完整性和认证性。
机密性 保证入侵者不能获得协议执行过程中的协议数据内容。
数据完整性 在协议执行过程中,消息的接收者应该能够验证协议数据没有被修改;入侵者不能伪造消息代替合法协议数据。
认证性 在协议的执行过程中,消息的接收者应该能够确认协议数据的来源;入侵者也不可能伪装成他人。认证性不仅适用于协议通信双方,也适用于协议数据本身。通信双方应该能够互相证明自己身份的合法性,经过信道传送到接收方的数据应该可以被验证与消息来源所发送的数据是完全一致的。
在空间任务中,为了保证入侵者不能对遥控系统数据进行恶意修改或破坏,遥控系统的数据完整性和认证性非常重要。在民用任务中,一般不需要保证上行控制链路的机密性,但是在军用任务或者其他关键任务中,保证上行控制链路的机密性则是必须的。
3 认证算法的实施
3.1 概述
由于空间通信环境具有链路带宽窄、时延大和上下行信道非对称的特点,在分包遥控系统中广泛采用对称密码学算法来进行数据保护操作,与非对称密码学算法相比,对称密码学算法执行过程更为简单、速度更快,引起的系统开销也远小于非对称密码学算法。
为了保证信息的完整性和来源合法性,通常在原有的消息上附加一个数字签名的数据单元来进行身份认证,数字签名用于保证所接受到的信息确实是签名者所发送的。
由于空间通信不同于地面网络的一些特点,必须设计高效的数字签名算法来满足空间通信的要求,另外必须建立公钥基础设施PKI、密钥管理基础设施KMI、授权管理基础设施PMI以提供身份认证服务、授权服务和密钥管理服务。
通过调研发现,大多数采用CCSDS标准的各国遥控、遥测系统中,协议身份认证机制均采用基于对称加密的报文鉴别码(MAC)进行认证或采用基于散列函数的报文鉴别码进行认证。
为了进行认证操作,也需要在原有的数据结构中添加一些数据域。其中最重要的部分是数字签名域,数字签名域中包含了用于协议认证的数字签名,该数字签名是由MAC算法计算得出。为了保证加密消息的新鲜性以及抵抗重放攻击,需要另外的数据域来存放新鲜性信息。常见的一种做法是增加时间戳或重放计数器。图3描述了协议数据认证机制数据结构。协议数据认证机制也会产生大量的数据负载。通常的数字签名长度是16 B以上,这对于本身长度较短的控制命令数据来说,安全机制所带来的负载是相当大的。因此采用不同的压缩算法对数字签名进行压缩和修正,从而尽可能在保证协议数据认证机制可靠的前提下,减小数字签名所带来的数据负载。
3.2 分包遥控数据认证保护的实现
传统研究认为,TC协议栈传送层是遥控系统中最适合进行数据认证保护的位置[2]。分包遥控系统的传送层向上提供最多64个虚拟信道(VC),而分段层向上提供相对于每个虚拟信道64个多工器入口点(MAP),他们都是相互独立的。为了保持这种独立性,在传送层实现数据保护是对64个虚拟信道分别进行,而在分段层以上的各层要对64×64个MAP分别进行,这对数据保护过程中的密钥管理、使用等环节带来了更大的困难。然而,在分包遥控系统传送层中,数据保护机制不能保护命令操作步骤中的COP标志(“通过标志”与“控制命令标志”),这就给入侵者提供了发起拒绝服务攻击的可能。
而在分包遥控系统的数据链路层实现数据保护机制主要是针对整个传输帧进行数据保护,而且由于数据链路层位于传送层与信道编码层之间,在数据链路层进行数据保护同样具有操作简单的优点,但是在数据链路层的帧汇报和接收检查机制操作前(FARM)进行认证操作时会引起分包遥控系统中COP-1循环与认证循环的冲突,有可能造成通信进程的死锁[7]。
并且,由于遥控帧结构中的帧序列信息过于短小(B类遥控帧中完全没有帧序列信息,A类遥控帧中帧序列信息长度仅为一字节),单单进行认证操作时,消息认证码抵抗重放攻击的能力非常有限[10]。
在认证算法的具体应用时,认证操作应位于虚拟信道多路复用与COP命令操作步骤之间进行。如图4所示,这样就避免了认证循环机制与COP的检错重发循环之间存在的冲突。因此,在数据链路层采用认证算法不但能够充分保证遥控帧数据的完整性和数据来源的认证及抵抗重放攻击,而且由于导头部分未进行加密,能够保证星地间通信不受数据保护操作的影响。同时,由于将认证位置提前到帧检查之后进行,对接收到的数据、命令等进行认证,并通过CLCW向地面控制端汇报帧接收反馈数据,不必在COP中另外增加安全汇报控制操作。对于普通的安全等级的命令、数据等在该处进行认证后即可进入后续操作。
3.3 CCSDS推荐的认证算法
目前国际商业运用中普遍使用的签名算法是安全散列算法-1(SHA-1)。他的安全强度自2004年王晓云教授成功改进了其攻击方法后,从2的80次方减少到2的63次方,这就使攻击成功率提高了2 000倍。对于拥有强大资源的攻击者来说,攻击SHA-1已经变成现实。美国国家标准与技术研究院(NIST)鼓励迅速采用SHA-2算法,同时建议美国联邦机构必须在2010年底前停止使用SHA-1的数字签名。2007年1月,在美国科罗多那州召开的CCSDS安全工作会议对认证运算法进行了讨论[3]。工作组指出在SHA-1的基础上鼓励使用SHA-256、SHA-384和SHA-512等算法以保护遥控数据的完整性及信息来源的合法性。
任何长度增加和签名运算循环轮次增加,都会增加空间处理器的负担,使他对信息处理周期加长。空间系统遥控指令一般是长度较短,重复使用的消息。签名分组长度长,就会使填充字节增加。摘要长会使遥控指令长度增加。SHA-1的安全强度受到严重挑战,SHA-256的分组长度和摘要长度都远小于SHA-384,SHA-512,而其分组长度和SHA-1相等。对已经使用SHA-1的CCSDS体制的分包遥控系统来说,SHA-256的分组长度所增加的运算复杂度最小,在现有硬件基础上采用SHA-256算法对系统所造成的影响也最小。综合多方面,运用SHA-256在分包遥控的数据链路层进行认证算法的实施是理想的。
4 结 语
卫星遥控系统安全级别的高低与保护措施的强度是由航天任务的性质所决定的,在实际应用时需要综合考虑各种相关问题,以最小的开销满足安全需求。由于空间链路资源的匮乏及星上处理能力的限制,要尽可能在不影响有效数据吞吐量的前提下对遥控数据实施安全保护。
与在传送层进行认证操作相比,在数据链路层的帧接收与检查机制后应用认证加密算法避免了与COP-1之间的冲突。并且能够通过虚拟信道的多路复用机制降低签名或消息认证码所带来的性能消耗。由于SHA-1面临新的攻击方法已不再具备无条件安全性,按照CCSDS Security Working Group的建议,在CCSDS分包遥控协议中采用SHA-256算法对遥控数据信息进行认证保护能够以最小的代价获得安全性能的提高。
由于分包遥控系统的数据处理过程较为复杂,空间传输链路性质较为特殊,通过理论分析很难给出具体的解决方法,在今后的研究中需要通过仿真工具搭建仿真平台进行测试,以获得认证算法在分包遥控系统中的最佳应用方案。
参考文献
[1]CCSDS 350.1-G-1,Security Threats Against Space Missions[S].
[2]CCSDS 350.0-G-2,The Application of CCSDS to SecureSystems[S].
[3]Recommended Practice for Authentication.Draft Recom-mended Practice,2007(available at:http://cwe.ccsds.org/sea/docs/).
[4]Spinsante S,Chiaraluce F,Gambi E.New Perspectives inTelecommand Security:The Application of EAX to TC Seg-ments[C].Proc.Data Systems in Aerospace DASIA,Na-ples,Italy,2007.
[5]Zhang Lei,Tang Chaojing,Zhang Quan.A New Method ofEnhancing Telecommand Security:The Application of GCMin TC Protocol[C].Proc.Second International Conferenceon Space Information Technology,Wuhan,China,2007.
[6]Daniel Fischer,Mario Merri,Thomas Engel.Introducing aGeneric Security Extension for The Packet TM/TC ProtocolStack[C].4th ESA International Workshop on Tracking,Telemetry and Command Systems for Space Applications,2007.
[7]Fischer D,Engle T,Merri M.Application of the Integrationof Data Security in the CCSDS Packet TM/TC Standards[C].Ninth International Conference on Space Operations(Spaceops 2006),Rome,Italy,2006.
[8]CCSDS 232.0-B-1,TC Space Data Link Protocol[S].
[9]CCSDS 232.1-B-1,Command Operation Procedures-1[S].
[10]陈宜元.卫星无线电测控技术(上册)[M].北京:宇航出版社,2007.
[11]谭维炽,顾莹琦.空间数据系统[M].北京:中国科学技术出版社,2004.
广播认证协议 篇6
关键词:密钥交换,身份认证,BAN逻辑,无线网络
0 引言
由于无线局域网WLAN具有良好的移动性、灵活性、具有迅速部署、管理方便、网络造价低、可扩展性强等优势,WLAN正逐步广泛应用起来。WLAN的数据传送方式是利用无线电波在空中辐射传播,易产生信息窃听、资源盗用等安全问题。因此,认证及密钥分配协议对WLAN安全性至关重要。IEEE802 LAN/WAN委员会为此提出了802.1x协议,通过对端口的控制实现用户级控制,为接入提供认证服务[1]。
然而,由于802.1x的EAP协议[2]缺乏相互认证机制,易遭受中间人和会话劫持[3,4]。因此通常采用EAP-TLS协议,通过X.509证书进行认证和密钥协商[5]。但“EAP-Success”消息采用明文传送,同时未提供对AP的验证,易遭到拒绝服务和中间人攻击[6]。EAP-TTLS[7]协议客户端首先通过对TTLS服务器认证建立隧道,服务器通过隧道认证客户端,支持双向认证,能有效避免中间人攻击。但协议复杂,要求认证主体有较高的计算能力。本文提出了一种基于对称密钥机制实现双向认证和密钥分配的WLAN认证协议,通过验证AP提供认证和会话安全,并且应用BAN逻辑分析了该协议的正确性和安全性。
1 对AP提供认证的WLAN双向认证协议
该认证协议目的是在MN和AP之间提供双向认证并分配会话密钥。协议主体有移动节点(MN)、访问点(AP)和密钥分配中心(KDC)。KDC负责对MN和AP的身份认证和产生并分配随机会话密钥,易于实现一次一钥。消息加密时采用对称密钥体制,可减小密钥分配时无线设备的计算负担,提高协议性能。该协议可通过KDC实现MN与AP的双向认证。
假定MN与KDC、AP与KDC之间都预先分配了用于验证其身份的对称密钥kMN、kAP,KDC通过MN和AP的身份认证后,随机地为其分配会话密钥k。为避免时钟同步问题,采用nonce方式防止重放攻击,协议如图一所示。
说明:时间戳TAP不需要时钟同步,因为它只是AP产生并用于自身检查的时间戳;NMN、NAP、NMN1为nonce值。
第(1)步:MN将其身份和随机数发送给AP,发起认证;第(2)步:AP将MN发送的信息连同自己的时间戳一同加密与自己的身份和随机数一起发送给KDC;第(3)步:KDC解密消息验证AP和MN后分配会话密钥,再用各自的共享密钥加密发回AP;第(4)步:AP解密{IDMN,NAP}k AP,根据随机值NAP防止重放攻击,根据IDMN将KDC要求转发给MN的消息发往MN;第(5)步:MN解密消息得到会话密钥,将KDC要求转发给AP的消息发往AP;第(6)步:AP解压消息得到会话密钥。其中第(5)、(6)步实现MN与AP间的相互认证。
此外,该协议可以实现在MN与AP之间会话的快速恢复[8]。在建立会话时,AP将IDMN、k和时间戳TAP记录在一张会话状态表中,在TAP后的一段时间内AP和MN都认为会话密钥k有效。MN记录下{IDMN,k,TAP}k AP,在会话有效时限之内作为连接快速恢复的凭证。若结束会话后,在有效时限内MN与AP重新建立连接。下面协议可实现身份鉴别,保证其安全性,而不必再通过KDC进行身份认证和会话密钥分配,如图二所示。
第(1')步:MN将凭证和临时值一同发往AP;第(2')步:AP解密凭证根据IDMN和TAP检查时间戳是否过期,得到会话密钥k,将MN产生的临时值用k加密后与自身的一个临时值一同发回MN;第(3')步:MN解密{N’MN}k验证AP,然后将AP产生的临时值用k加密后发回AP;最后AP解密消息验证MN,完成连接快速恢复。
2 安全性及性能分析
2.1 安全性分析
BAN逻辑[9]是形式化逻辑方法的代表之一,由M.Burrows,M.Abadi和R.Needham于1989年提出。BAN逻辑以信仰为基础,假定协议中的参与主体都诚实,从接收的信息中得出主体各自的信仰关系,通过推理规则对认证协议的运行进行形式化分析,来研究认证双方通过相互接收和发送消息从最初信仰逐渐发展到协议运行,最终达到认证双方的最终信仰。
2.1.1 应用BAN逻辑分析该认证协议
建立初始假设集合如下:
以上大部分初始假设都是自然的,其中P1~P4涉及主体拥有的初始密钥;P5、P6说明MN和AP相信KDC能为其生成会话密钥;P7~P10指出主体相信随机数是新鲜的。
建立理想化协议模型,并对该协议解释如下:
由于消息(1)~(3)与其安全性分析无关,理想化模型中将其去掉。
MN收到消息(4),则有:
由消息(4)和假设P1运用消息含义规则R1:
由假设P7运用消息新鲜性规则R11:
由式(1)、(2)运用临时值验证规则R4:
由式(3)运用信念规则R14:
将管辖规则R5运用于式(4)和假设P5:
AP收到消息(5)后,则有:
运用接收消息规则R6:
由假设P3运用消息含义规则R1:
由假设P9运用消息新鲜性规则R11:
由式(7)、(8)运用临时值验证规则R4:
由式(9)运用信念规则R14:
将管辖规则R5应用于式(10)和假设P6:
成功地证明在上述假设前提下,通过该认证协议可使MN和AP都相信会话密钥k是他们之间的共享密钥,且相信对方也相信这点,从而提供了MN和AP之间的双向认证和密钥分配。
2.1.2 应用BAN逻辑分析其快速恢复协议
建立初始假设集合如下:
以上大部分初始假设都是自然的,其中P’1、P’3、P’4是主体拥有的初始密钥;P’5、P’6说明主体相信随机数是新鲜的;P’2、P’7指出在会话有效时限之内AP认为TAP是新鲜的,并且AP相信会话密钥仍有效。
建立理想化协议模型:
综合上述分析得到目标集合:
成功地证明在假设前提(会话有效时限内AP认为TAP是新鲜的,并且AP相信会话密钥仍有效)下,通过该认证协议可快速恢复MN与AP间的连接,MN和AP都相信会话密钥k是他们之间的共享密钥,且相信对方也相信这点。
2.2 性能分析
根据RFC2246的定义,EAP-TLS协议采用RSA密钥交换或DH密钥交换等非对称密钥机制[4],认证时采用公钥体制,算法复杂,计算量大。本文介绍的认证协议采用对称密钥机制,加解密速度更高。对称加密算法相对非对称加密算法简单且多为矩阵运算,易于硬件高速实现,运行时不需要终端有非常高的处理能力和大量的内存资源,从而可减轻无线设备的计算负担。该认证协建立仅有6条消息,在MN端仅需要2次对称密钥的加解密操作,同时提供快速重认证机制,节省网络带宽。
3 结束语
由于WLAN的特殊性,身份认证和密钥分配是WLAN安全的一个至关重要的方面。本文提出了一种基于对称密钥机制实现双向认证和密钥分配的WLAN认证协议。通过对MN和AP的双向认证和密钥分配,有效抵制重放和中间人攻击等网络攻击,提供会话安全性。采用BAN逻辑形式化分析表明,该认证协议是完整的、没有漏洞的。
参考文献
[1]IEEE Std 802.lx.IEEE Standard for Local and metropoli-tan area networks-Port-Based Network Access Control[S],2001.
[2]B.Aboba,L.Blunk.RFC3748-Extensible AuthentieationProtocol(EAP)[EB/OL].http://www.ietf.org/rfc/rfc3748.txt,2004,06.
[3]李雄伟,赵彦然.无线局域网的安全性及其攻击方法研究[J].无线电通信技术,2005,31(1).
[4]马建峰,朱建明.无线局域网安全-方法与技术[M].北京:机械工业出版社,2005.
[5]B.Aboba,D.Simon.RFC2716-PPP EAP TLS Authentica-tionProtocol[EB/OL].http://www.ietf.org/rfc/rfc2716.txt,1999,10.
[6]张红.基于802.1x与AES相结合的WLAN安全系统的研究[D].广州:广东工业大学,2007.
[7]P.Funk,S.Blake-Wilson.EAP Tunneled TLS Authenti-cation Protocol(EAP-TTLS)[EB/OL].http://tools.ietf.org/html/draft-ietf-pppext-eap-ttls-01.txt,2002,02.
[8]金纯,郑武,陈林星.无线网络安全-技术与策略[M].北京:电子工业出版社,2004.
[9]Burrows M,Abadi M,Needham R.A logic of authenti-cation[J].ACM Trans on Computer Systems,1990,8(1).
[10]卿斯汉.安全协议[M].北京:清华大学出版社,2005.
[11]王鹏卓,张尧弼.802.11 WLAN的安全缺陷及其对策[J].计算机工程,2004,(03).
一种新的单点登录认证协议 篇7
随着计算机、网络以及信息技术的迅猛发展, 网络的开放性使得人们注册的个人身份资料等信息受到来自网络的各种威胁。因此, 身份信息的管理就成为信息安全领域的研究热点。不少组织和企业开始对身份管理 (Identity Management, IdM) 进行了研究。如ITU-T于2006年提出的全球兼容的身份管理模型;自由联盟 (Liberty Alliance, LA) 提出的身份联合 (Identity Federation) 方案, 还有诸如3GPP、OASIS等国际组织也纷纷提出了自己的身份管理方案或解决办法。但是, 关于身份管理的统一架构和统一模型还未达成统一认识。
单点登录 (Single Sign-on, SSO) 是实现身份管理的一种方式, 其实质是在分布式网络环境下, 为不同应用系统提供统一认证, 并集中管理身份信息的一种技术。在实现SSO的系统中, 用户只需进行一次登录操作, 即可获得所需访问应用系统和资源的认证和授权, 即“一次登录, 多方认证”。目前, 单点登录系统比较成熟的方案有微软公司的Windows Passport和SUN公司领导的Liberty。
Windows Passport属于一种基于访问票据的集中式单点登录模式, 所有用户信息都存放在Passport.com中, 由它负责统一的身份验证。其访问票据以Cookie的形式存放在用户的浏览器里。此种方案的最大缺点是单点失效, 即一旦Passport.com中心站点被黑客攻破, 那将会给整个系统造成巨大损失。另外, Windows Passport是一种付费服务, 而非开放性规范。
相对于Windows Passport, Liberty的SSO并不集中于某个点上, 它是一种基于SAML标准的面向Web服务的开放协议, 其核心思想是身份联合。但Liberty的极端情况与Windows Passport极为类似, 即网络中仅存在一个身份提供者 (Identity Provider, IDP) , 而所有的应用服务器 (Service Provider, SP) 都依赖于同一个IDP进行身份验证。此外, Liberty协议的缺点是管理复杂、缺乏灵活性, 且缺乏相应的授权。
单点登录系统的一个主要环节是其身份认证协议的设计。传统的认证协议一般只涉及两个通信方的相互认证, 且多以客户机/服务器的形式实现。认证协议的形式可能包括:简单的基于用户名/口令的认证方式, 基于挑战/响应的认证方式, 基于公开密钥的认证方式, 以及最著名的Kerberos认证系统等。一个单点登录认证协议应实现用户、认证服务器 (身份提供者) 和应用服务器三方的安全认证机制。即用户与认证服务器、用户与应用服务器、认证服务器与应用服务器在两两通信时都要完成相互认证, 才能最大程度地保证用户的身份信息和传输内容的安全性。我们可以借鉴已有的认证协议来研究SSO的认证协议。即使是三方的相互认证, 每次认证也只能由两方完成。
文献[7]在分析了Kerberos协议局限性的基础上, 给出了一种基于Kerberos协议的改进协议, 该协议安全问题, 考虑了授权机制, 既增强了安全性扩展性。然而, 协议的第二部分 (应用服务鉴别、授权协议) 采用基于共享秘密的认证方式, 一旦攻击者截取了共享密钥, 则可完全解密传输数据。文献[8]给出了一种支持双认证方式的单点登录协议, 该协议也实现了用户与认证服务器的双向认证, 同时基于公钥设计了协议, 消除了对称密钥在实现认证时复杂的密钥管理。但协议在票据验证过程中只是给出了单向的认证协议, 没有实现用户对应用服务器的认证。
本文通过对单点登录系统身份认证协议的分析, 给出一种混合方式的双向认证协议, 综合了密钥协商协议、基于挑战/响应的认证和基于公钥的认证, 实现了各参与方的相互认证, 并结合授权模式, 提高了现有协议的安全性和可扩展性。
1 单点登录认证协议的设计
本文给出了一种新的单点登录的身份认证协议, 结合了基于挑战/响应的认证、基于公钥的认证及密钥协商协议, 实现了用户、认证服务器和应用服务器三方中任意两方的相互认证, 而且能有效抵御常见的攻击手段 (重放攻击、中间人攻击等) 。
1.1 初始化阶段
初始化阶段由认证服务器产生一对公用数值 (g, p) , 其中p是一个素数, g是任一个实数。事实上, 若 (p-1) /2也是一个素数, 将是最理想的。满足这一条件的素数称为安全素数, 或称为Sophie Germain素数。如果满足除了x=0 mod p-1以外, 对于其它x都有gx≠1 mod p, 则更为理想。
1.2 注册阶段
协议的注册过程如下:
(1) 用户端注册。每个用户需要在认证服务器中注册, 完成注册后, 认证服务器发给用户一个公钥证书作为用户的身份标识IDu, 包括用户名、用户的公钥、版本号、序列号、证书有效时间及认证服务器对整个信息的签名。
(2) 应用服务注册。每个应用服务需要在认证服务器中注册相应的应用标识IDaps。此标识实际上是一个公钥证书, 包括应用服务名、公钥、版本号、序列号、证书有效时间及认证服务对此信息的签名。
1.3 协议流程
协议中用到的标识说明详见表1。
第一部分:登录认证协议
在协议中, Ru表示U产生的挑战因子, Ras表示AS产生的挑战因子, K表示协商的会话密钥, 实际上K=gabmod p。
协议执行过程如下: (1) 用户选择随机数a, 并计算K=ga mod p, 然后连同自己的身份标识IDu一起用AS的公钥加密后, 发送给认证服务器; (2) AS用Kas-1解密出gamod p, 并计算gabmod p, 将结果暂时保存。然后选择随机数b, 计算gb mod p, 连同挑战因子Ras一起用U的公钥加密, 而后发送给用户; (3) U用Ku-1解密M2, 并计算K=gabmod p, 然后选择挑战Ru, 并用K加密{Ras, Ru}, 发送给认证服务器; (4) AS接收M3后用K解密, 如果看到Ras, 则确认对方是U, 同时将Ru用K加密并返回给U;否则, 拒绝对方的登录认证请求。
U接收到M4后, 用K解密, 如果看到Ru, 则确认对方是认证服务器;否则拒绝协议的继续执行。
第二部分:票据验证协议
用户登录成功后, 认证服务器为用户产生一个临时认证票据, 格式为:
tiket=user_name ST ET ipaddr[hashvalue]k
其中user_name表示用户名, ST表示票据有效起始时间, 也即登录时间, ET表示票据有效终止时间。ipaddr表示登录的地址。[hashvalue]Kas表示用AS的公钥对票据信息散列值的签名。
用户访问应用服务时, 票据验证协议为:
在协议中, RS1和RS2都是随机挑战, flag表示授权信息位, 即表示认证服务对用户的票据验证后, 返回给应用服务的结果。
协议的执行过程如下: (5) 当U访问APS时, APS向U发送数据包M5。即用U的公钥加密应用服务标识IDaps和一个随机挑战RS1, 然后将结果发给U; (6) U收到M5后, 先用私钥解密得到随机挑战RS1, 然后用应用服务的公钥加密用户服务标识、RS1和随机挑战RS2, 以及用认证协议得到的会话密钥K加密票据, 形成数据包M6, 并发送给应用服务; (7) 应用服务收到M6后, 解密得到RS1和RS2, 在此, 应用服务收到RS1就能确认用户的身份。之后, 应用服务使用认证服务的公钥Kas加密应用服务标识IDaps和RS1、RS2, 联合Ek[ticket]形成数据包M7, 并发送给认证服务; (8) 认证服务收到M7后, 用会话密钥解密票据, 并对其进行验证。验证通过, 则用私钥Kas-1解密得到随机挑战RS1和RS2, 之后再用应用服务的公钥加密授权信息flag和随机挑战RS1, 用会话密钥加密随机挑战RS2, 形成数据包M8, 发送给应用服务;若验证失败, 则返回失败信息; (9) 应用服务收到M8后, 解密得到授权信息, 根据授权信息决定是否向用户提供服务。同时将会话密钥K加密的随机挑战RS2返回给用户。
用户收到M9后, 解密得到RS2, 由此可以确认此过程确实有认证服务参加 (只有认证服务知道会话密钥) , 同时验证了应用服务的身份。
2 安全性分析
首先, 协议是双向认证协议, 不论是登录认证还是授权认证都完成了通信双方身份的相互认证, 比起传统的单向认证, 其安全性有所增强。
协议的第一部分采用基于公钥的双向认证, 并结合DiffieHellman密钥协商协议修改而来。该协议保证了攻击者同时入侵用户和认证服务器, 也不能解密所得到的通信内容, 无法计算出a或b (这是由离散对数问题的复杂度保证的) , 从而无法得到其会话密钥K。
此外, 在协议执行过程的步骤 (1) 中用户使用认证服务的公钥Kas加密[gamod p, IDu], 这就使得协议可以抵抗中间人攻击。即使攻击者向服务器冒充自己为用户且完成了步骤 (1) 和 (2) , 但在步骤 (3) 中攻击者却无法解密M2, 因为M2使用真实用户的公钥加密, 攻击者不知道用户的私钥, 也就无法解密, 从而无法完成协议。避免了中间人攻击。
其次, 协议中使用随机数, 是一种挑战/响应的认证模式, 该模式比使用时间戳的认证协议更方便, 它不需要时间同步来维护时间一致性, 且每次认证的不同随机数保证攻击者不能实施重放攻击。
在协议的第二部分执行过程的步骤 (5) 、 (6) 中的这两个随机挑战都是为了防止对各自的数据包进行重放攻击。在步骤 (7) 中, 当应用服务解密得到随机数RS1时, 就能确认用户的合法身份。而在步骤 (9) 中, 应用服务将会话密钥K加密的随机挑战RS2返回给用户, 使得用户相信该过程确实有认证服务参与, 且应用服务是真实的。通过步骤 (4) 到步骤 (9) 的过程也使应用服务确信用户是真实的, 只有通过认证服务验证用户的票据正确后, 才会发送步骤 (8) 中数据包给应用服务, 否则将发送失败信息。
综上, 协议过程实现了用户、认证服务和应用服务三方的双向认证, 理论上增强了协议的安全性。该协议中票据的校验工作由认证服务完成, 应用服务起到过渡作用, 同时在过渡中应用服务不但获得用户端的认证, 获得对认证服务的认证, 并取得相应的授权信息, 在访问控制及授权需要细化时更易于扩展。
3 结束语
本文对现有的单点登录协议进行了研究和改进, 提出一种基于挑战/响应认证、公钥认证和密钥协商协议的认证协议, 增强了身份认证协议的安全性和扩展性。同时, 由于实现双向认证均采用基于公钥的认证协议, 协议的实现效率会受影响。需要在实际中对安全性和效率做出权衡。当然, 该协议仅完成了域内的单点登录认证协议, 至于跨域的认证协议还需进一步研究。
参考文献
[1]Focus Group, SG-17, ITU-T.Report on Identity Management Frame-work for Global Interoperability.2007.
[2]Focus Group, SG-17, ITU-T.Report on Requirements for Global In-teroperable Identity Management.2007.
[3]Focus Group, SG-17, ITU-T.Report on Identity Management Use Cases and Gap Analysis.2007.
[4]3GPP.3GPP TS32.140, Subscription Management (SuM) require-ments.2007.
[5]3GPP.3GPP TS32.141, Subscription Management (SuM) architec-ture.2007.
[6]OASIS, Security Assertion Markup Language (SAML v2.0) , http://www.oasis-open.org/specs/index.php#samlv2.0.2005.
[7]李继勇, 陶然.一种单点登录协议的设计[J].计算机工程, 2008 (14) .
[8]杨智, 陈性元, 张斌.支持双认证的单点登录方案[J].计算机应用, 2007 (3) .
[9]MICROSOFT PASSPORT REVIEW GUIDE.http://www.microsoft.com/net/serv-ices/passport/review guide.asp, March13, 2003.
[10]LIBERTY ALLIANCE PROJECT.Liberty Architecture Overview.2003.
[11]CHARLIE KAUFMAN, RADIA PERLMAN.网络安全—公众世界中的秘密通信 (第二版) [M].许剑卓, 左英男, 译.北京:电子工业出版社, 2004.
【广播认证协议】推荐阅读:
身份认证协议06-30
大使馆认证协议10-20
安全玻璃强制认证协议书10-09
微信公众平台认证服务协议10-25
中电联认证中心-管理体系认证申请表09-21
水印认证07-15
认证产品07-20
终端认证10-21
可信认证05-23
食品认证05-26