西安医院排名科室:高分十万火急寻求关于认证码或3G码的论文一篇!
还有没有更好的?
基于消息认证码的组播源认证研究
赵安军,郭雷,姚俊
(酉一化下业人学自动化学院,陕酉酉交7l0072>
摘要:在组播安全技术中.源认证技术一直是其主要的问题。文中就基J几消急认证码的源认证技
术(TFS1.A)进行了详细的分析和研究.对其存在的问题进行了改进.7{给出了在此认证技术中关
键参数—公开延迟时间间隔—的计算方法最后给出了实验结果。
关键词:组播源认证(TFS1.A).消急认证码.公开延迟.安全
中图分类号:T P 309文献标识码:A文章编号:1000 2758( 2004) 01-0045-05
随着网络技术的飞速发展及商业化的不断普
及.组播通信模式得到了很大的发展和应用。在组播
孟信中.安全问题己经成为多l从传输重要问题。特别
n对」几数据源的认证问题}’}。
现有的l从对l从通信模式中的数据源认证技术己
不能满足组播传输的要求。因为在组播通信中.如果
及送方和所有接收方共享一个密钥.那么.每一个接
受方都可以使用共享密钥去欺骗其它接收者。使用
纹字签名的方案也可以达到对数据源认证的日的.
i1- N.提供数据源的非否认性。然Ifn,数字签名在运算
及网络通信流量方而的巨大开销阻碍了这种方案的
实施i Z.3}。
最近1FT F提出了一种新型的组播源认证技术
l'ES1.A}}。它是基」几消h,认证码的认证技术.主要
思想是:首先发送方和接收方进行时间同步.发送方
使用一个自己知道的密钥k对其所发送的每一个数
居包计算消急认证码(MAC), 7{将MAC值附加在
肖h,上发送给接收方。接收方缓存没有被认证的数
居包.一定的时间间隔后.发送方在其所发送的数据
包中公开其用来加密的密钥k使得接收方能够认证
沂缓存的未经认证数据包。这种方法无论在认证计
蒙量和网络通信流量方而都是数字签名所不能比拟
狗。但是这种方法存在着缺陷与不足:①山J几接收方
不得不缓存没有被认证的收据.所以.接受方必须提
共缓存.这可能引起接收方的存储问题步{为拒绝服
务攻击(DoS)留卜了后门。②在这种方法中.没有给
出其关键参数公开延迟时间间隔 d的计算方法。
木文分析和研究了源认证技术.7{给出了认证
技术中关键参数的计算方法。
1 TESLA工作原理
TFS1.A的安全性保证.如果消急不是被发送
者所发送.那么接收者永远不会接收它。在TFS1.A
模型中.发送方的消急流是山消急簇组成一般情况
卜.发送者在每一个网络层数据包尸,中发送每一个
消h,簇'Vl ;。这就使得接收者能够独立地认证每一个
消急.从Ifn解决了大多数组播分发协议不能够忍受
数据包丢失的问题}5}。为了实现上述功能.发送者首
先将根据网络情况得到整个所需发送时间.J{将它
们分成等间隔。第i个间隔用I,表示.用T ;,表示间
隔的时间长度.To表示发送开始时间。如果间隔I
的开始时间用T,表示.那么T;= To+ i T;,。接着.
发送者必须确定含有那个密钥的密钥链。这个密钥
链是山一个中一向函数产生。发送者随机选取密钥链
最后一个密钥K,.山一个伪随机函数F预先计算出
整个密钥链。密钥链的每一项定义为:K=
FMK十y.则每一个密钥可通过K推导得出:K=
F"-}(K), F'(k) = F'-}(F(k)), F}(k) = k。为了
避免在不同操作中使用同样的密钥.TFS1.A用另外
一个伪随机函数F‘得到用来计算发送消h,认证码
(MAC)的密钥K ;'.因此.
向密钥链之间的关系降} o
}}.}c;;}: ,.}c长+.)
K‘=F
。图1是中
产c;}:汁,
}};r;; }.,;!
刻还不能对其进行认证.它必须缓存当前数据包
P; : {M;} i} Cv}c(K';, M川k}- u}直到当其密钥K
被公开后对其进行认证。
阿蛛
n';V }:
OK;)
IT'}}LS},'.;_杯
x'' O'}},卜厂
杯“ }r: }}<-r'F},}c}, .r,=.:_、.防一犷.,}t}:,,,
}二‘一’‘}】’了下曰{’一r‘’‘}‘’“,{
2 TESLA的改进和补充
}; v. , I'}i1},9 '}}; }}!'}'}
图1
刀一}w314}f! ,},F,'dfli}3
T}SLA密钥链
在引导新的接收者进入组播通信组时.发送方
和接收方首先进行时间同步。然后.TFS1.A必须用
一个经过数字签名的数据包对其进行引导。这个签
名的数据包主要包含了以卜关」几时间间隔和密钥链
信h,。
(1)一个特定的时间间隔T,开始时间以及时
间间}福的标记l,。
(2)时间间隔的持续时间T..,. o
( 3)密钥的公开延迟时间间led(一位时间间
1n。
(4)一个密钥链中密钥K的提交(i< j一d, j
表示当前的时间间1n索引)。
在时间间1e 1中发送方发送的数据包尸,构成
为
P;:{M; } i} Cv、。(K ;'. ;'Vl川K卜,}
图1表示了密钥链以及MAC密钥链的生成.图中
的公开延迟时间为两个时间间隔.那么在时间间隔
l十z发送的数据包只十:公开了密钥K.从K能够推
导出K,一1.从Ifn得到K 'r- i和K'.山此可以验证数据
包尸,以及尸了十、的MAC值。
在TFS1.A模型中.它的安全性是依靠少密钥
的公开延迟时间.所以接收者必须确认.每一个用来
计算MAC值得密钥.在其数据包被接收时还没有
公开。在接收方.安全条件定义为:如果接收者能够
确信.发送者还没有公开与其接收的数据包相一致
的密钥.那么.这个数据包则是安全的。
当接收方在当地t时刻接收到在发送方在时间
间1e 1所发送的数据包尸,.根据先前时间同步所得
到的结果计算发送方时钟的一个上限r;。为了评估
是否满足安全条件.接收者计算发送方所能在的最
大的时间间}}P,7 x为
x=l(l,一T o} }T;]
通过验证x<l;+d是否成立.接收者能够判定所
接收的数据包是否满足安全条件。当然接收者在此
2. 1立即源认证
如前所述.TFS1.A组播源认证方法山」几要在
接收方开辟缓存来存放还没有被认证的数据包。这
就带来了一些问题。比如.接收方的硬件条件不能提
供更多的存储空间。这样.就很容易引起数据包的丢
失.JI为拒绝服务攻击留卜了后门}6i。作者将对其认
证方式进行改进.提出了一种新的立即源认证方法.
接收者能够在接收到数据包的同时对其进行认证。
立即源认证的基木思想是在发送方开辟缓存.
Ifn非在接收方开辟缓存以实现立即认证.这对」几大
多数的发送方Ifn言.是没有任何问题的。为实现立即
源认证.发送方需要缓存一个公开延迟时间间隔 d
内待发的所有数据包.Ifu N_还必须重新构造发送方
所发送的数据包只.尸,的构造为
F';:{甘了卜}H(甘片,)}Cv、。(K }', D, )}K卜,}(1)
式中.H(M;}u)表示消急'Vl人,的散列值.D,=
H(M;}小发送方当前发送的数据包中包含在一个
公开延迟时间间1e h的缓存数据包只十,:{M}} a}
H(甘片za )卜+1l Cv}ac(K}', D,十,}I K}中消h,甘片,
的散列值.这样.当数据包只十,到达接收方时.山」几
只十,公开了数据包尸,的密钥K;.所以尸,中的
P}M}}a)被认证.同时山P }M}} z)可对甘片,进行
认证.从Ifn达到立即认证的日的。
如果每个数据包仅携带一个数据包的散列值.
非常明显发送速度必须恒定.如果一个数据包丢失.
相应的数据包将不能够被立即认证。为了克服以上
的问题.发送方能够增加多个将来要发送的数据包
的散列值到一个数据包中.这样就为通信流量和计
算带来复杂性.但同时提高系统的灵活性和在立即
认证过程中支持数据包丢失。
2. 2时间同步
时间同步在TFS1.A方案中起着重要的作用.
所有操作都是建立在时间同步之上.当然这种同步
要求不是绝对的。将它们之间时钟的绝对差表示为
占。在时间同步中.仅需要将时间差限制在一定的范
围内。因此.需要一个时间差的上限八。
在直接同步方法中接收方发送一个包含
Nonce的时I'}J I司步清求向发送方(Nonce代表接收
方所在的时刻),J{记录卜发送的当地时刻lre。发送
方接收到时间同步清求后.发送方记录卜它的木地
时间ts, )I目一对t、和Nonce进行签名J{发送回接收
方。如卜所示:R-'S: Nonce, S-'R: { sender time
加.Nonce, } K,- }t ., , o图2出示了一个在接收方与发送
方之间的直接时间同步.接收方接收到相应数据包
后.验证签名的有效性少{计算得到:4= t、一lre.很容
易证明八全cS o
时间为t ,''。因此安全条件为
t }} +八-T一
,I’.n
乙<d
(2)
在上式中.To是第一个时间间隔开始的时间.假设
数据包尸在发送方当地时间ti被发送.则l;} < T} +
Ti.ll=l,’Ti.ll+T0+T一如果表示从发送方到接
收方的网络延迟时间为}sre.从接收方到发送方的
网络延迟为OKs.则T it'r'i=}sre + }KS o在直接同步
情况卜4=8+ (t3一tx}=占+Do.re8 + 1}K,, t,+占一ti
=DsK.将上而各式代入(2)式得到d的h限:d=
t}}收一,A时伸}
发送盆方日科俐,
[ T lt'f'f / T一」+
}。。}+}。、}
to在间接同步中.八=八、+八。+
=八、。+八。、+〔设DSR=厂一广+
OSG' + L1CR.将其代入(2)式得d的h限:d= }(r},K+
E)/T}},}}+1·
们
一,F|
3实验结果
图2接时间}司步
在间接时间同步中.发送方和接收方能够通过
一个参考时钟进行同步。即它们都是以参考时钟为
基准进行同步的。用八、+}。日来表示发送方的时
钟与参考时钟之间的差别的上限o E.,。表示最大的误
差;用八。+}。、}来表示接收方的时钟与参考时钟
之间的差别的上限o Ec、表示最大的误差;这样接收
方和发送方就能达到时间同步。
在TFS1.A协议的实现中.时间间隔参数d的选
取对」几整个通信系统来说是至关重要的。短的延迟
时间很容易引起安全条件的不满足.使得数据包容
易丢失;长的延迟时间则增加了对信急的认证过程.
给系统带来沉重的负担。文中提出了一种算法选取
参数d。这种算法能够定量地分析在一个通信系统
中所需要的延迟间隔, 7{能根据实时的网络环境来
进行优化。用T ii-ri来表示从接收方发出清求数据包
到接收方收到发送方的响应数据包所经历的一个来
回时I}}} ( Round T rip T ime)的合理上限。在直接时
间同步情况卜.能够选择d= [T}、二「/T}},}}+1;在间
接时间同步中.d = ( Dsre + E) /T }},} + 1;。表示发送
方和接收方时间同步的误差. }s、是从发送方到接
收方网络延迟的一个合理上限。卜而将对其进行证
明。
考虑一个数据包尸.它在时间间1e 1,中被用来
计算NA C.值的密钥凡‘所构造.K,将延迟d个时间
间隔后被公开。当尸,到达接收方时接收方的木地
对TFS1.A进行了基」几Java的实现。在伪随机
函数和消h,认证码函数中.使用了与HMAC}'}结构
兼容的SHA-1散列函数.它的输出是160位.完全
能够满足组播源认证的安全性。初始的同步数据包
经过一个1 024位的RSA}R数字签名进行发送。所
有的TFS1.A函数被放置在应用层.这样能够避免
减少对内核的改动。在接受方的实现中.接收方接收
到数据后.将其提交给应用。当其被认证或否决之后
通知应用。在传输层.使用了UDP数据包协议来传
输组播数据包。
正如前而提到.密钥链可以提前计算.它的计算
量是非常小的。在实验中.取O.ls作为一个时间间
隔长度.为了支持1h的数据包认证量.预先计算密
钥链仅花费0. 8 s。表1表示SHA一在PentiumIII
500M H7.的1.inux工作站上的运算速度。不同的分
组大小对应不同的运算速度。第一行是SHA-1在普
通散列运算时的运算速度;第一行出示了在做
MAC运算时的运算速度.MAC采用了128比特的
密钥。对」几发送方.每发送一个数据包.仅仅做一次
HMAC运算。通过检测发送方每秒所能产生的发送
数据包来分析TFS1.A的性能。在实验中.每个发送
的数据包用J几认证的数据为44个字节。公开延迟密
钥占用20个字节.MAC值占用20个字节.另外4
个字节被间隔索引,片用。当数据包是256个字节时.
每秒产生的数据包为21 765个;当数据包是1 024
个字节时.每秒产生的数据包为6 974个。为了提高
数据发送的效率可以减少密钥的位数以及减少
HMAC的输出这样则降低了安全性。在接收方
表1 SHA一在两种情况下每秒的运算速度
4结论
分组长)X
l4 25l
1 024
STTA-1
235 412 148 234 65 873 21
SIIA-1
(IIMAC)
60 124 52 310 28 457 14
024
R79
山」几密钥链的计算量是非常小的.因此它的计算量
与发送方比较几乎是相同的。从实验数据可以得出.
不论在接收方还是发送方.计算量是非常小的。在实
际的应用当中.山」几网络环境的不同.可能需要多个
不同的密钥链来适应不同的网络传输延迟。在这种
情况卜.发送方必须根据实际情况创建不同的实例.
每个实例应用不同的密钥链.以适应不同的网络计
算环境。
木文详细研究步{分析了TFS1.A协议的工作原
理.针对其山J几在接收端开辟缓冲区所引发的问题
进行了详细的分析JI提出了改进方法。在时间同步
方而.分析了直接同步和间接同步.步{就对其在协议
实现中所遇到的具体参数—公开延迟间隔 t}给
出了具体的选择算法。
山实验和分析可以看出.该方法无论是在运算
量和网络流量方而.都比其它方法优越。JI目_在抵抗
数据包丢失问题上.它有着更好的解决方案。然Ifn,
山」几网络环境的不同使得在实际的组播源认证中必
须使用更多的密钥链.降低了发送方的性能。如何解
决这个问题还需进一步的研究。