- 易迪拓培训,专注于微波、射频、天线设计工程师的培养
嵌入式网络接入的安全通信机制研究
CC和EID的通信过程为:
①CC向EID发送控制命令;
②EID收到控制命令后,执行相应的操作;
③EID执行完毕后,向CC发送确认信息;
④CC接到确认信息后,结束通信过程,否则重新发送控制命令。
在以上所描述的通信过程中,从数据的保密性和完整性来考虑,EID和CC将面临着以下几种安全威胁:
①窃听者Eve可以窃听EID和CC之间的通信,获得通信内容;
②恶意的主动攻击者Attacker截获EID发送给CC的数据,并且篡改信息后发送给CC;
③Attacker截获CC发给EID的控制信息,进行重放攻击;
④Attacker不断地窃听并保留CC和EID之间的通信内容,同时记录EID的相应动作,得到"通信信息"与EID动作的对应关系,然后就可以在任何时刻冒充CC或EID进行非法活动。
为了使EID和CC之间的通信过程能抵抗Eve的窃听,根据通信对保密性服务的需求,这里使用对称密钥的加密机制对报文进行加密,从而实现连接保密性、无 连接保密性、选择字段保密性服务。但在一般的嵌入式Internet通信系统中,CC和EID之间的通信信息可能只有简单的几条,例如对于一个家电的控制 命令,可能只有开关和上下调节的控制,这样使用加密机制产生的密文集合也较小。Eve可以得到所有的可能明文的密文 C,因为Eve-没有密钥K,所以Eve不能知道密文C对应的确切明文P,但是可以通过观察和记录的方法来判断某个密文C对应CC的相应动作。Eve记录 CC发给EID的密文,观察EID的动作,同时记录EID发给CC的密文,从而确定密文C对应明文P的含义(例如控制命令等),这就是业务流分析。可以看 出,加密机制不能保证数据的业务流保密性来防止Eve通过业务流分析猜测明文含义。可以采用业务流填充机制来抵抗Eve从密文中得知其含义。业务流填充主 要有两种具体方法:使用伪造的数据包填充通信流和用伪造的随机数据填充明文数据报。第一种方法会带来过大的带宽消耗,占用过多嵌入式系统的系统资源。此处 采用第二种方法在明文中引入随机数R,从而增加了密文C的集合空间。
实现了加密机制和业务流完整性机制的通信协议,还可能受到主动攻击者Attacker的篡改和重放攻击。为了抵抗Attacker对数据的攻击,引入单向 散列函数,它可以把任意长度的消息M映射成一固定长度为m的哈希值h,即h=H(M)。从哈希函数的性质可以看出,如果用它对CC和EID之间的通信内容 进行运算,则可以通过验证消息的哈希值来确定消息是否被更改。目前常用的抵
抗重放攻击(replay attack)的机制有三种:序列号机制(sequence number)、时间戳机制(time stamp)、挑战应答机制(challenge/response)。一般而言,对于一个资源有限的嵌入式设备,要求密码协议应该尽量减少其资源消耗, 并且应该对网络环境有良好的适应性,所以选择序列号机制更适合嵌入式系统的要求。因此改进后的会话协议具体描述如下:
①CC用密钥K加密发送信息P及随机数R和Xi(X;为序列号,初始值Xo为R)得到密文Gi,Gi=Ek(P,R,Xi,);
②CC用Hash函数计算明文信息P和随机数R、xi的哈希值h,h=H(P,R,xi);
③CC计算Xi+l=Y(xi)(序列号更新函数Y(*)计算返回消息应该带有的序列号Xi+1);
④CC把明文P的密文Ci和哈希值h传给EID);
⑤ElD用同样的算法和密钥K解密Ci得到P和R、Xi,(P,R,X。)=Ek(Ci);
⑥EID用相同的哈希函数计算P和R、Xi的哈希值并与收到的哈希值h进行比较,如果正确将继续执行协议;
⑦EID计算x′i+l=Y(Xi);
⑧EID根据P执行相应的动作,并准备好CC需要的数据和确认信息P′;
⑨EID用密钥K加密信息P′、随机数R′和X′i+1得到密文C′i,C′i=Ek(P′,R′,X′i+1);
⑩EID用哈希函数计算明文P′和R′、X′+l的哈希值h′,h′=H(P′,R′,X′i+1);
⑾E1D把C′i和h′发送给CC;
⑿EID计算X′+2=Y(Xi+1),为下一次通信的防重放做好准备;
⒀CC用同样的算法得到P′、R′、X′i+1,(P′,R′,Xi+1)=Ek(Ek(Ek(P′,R′,Xi+1));
⒁CC用相同的哈希函数计算P′、R′、X′i+1的哈希值,与收到的h′比较,如果相同则继续,否则放弃;
⒂比较Xi+1和X′i+1的值是否相等,如果是则从P′中得到需要的信息,继续执行;
⒃CC计算X′i+2=Y(Xi+1),通信完成并为下一次通信做好准备。
如果执行正确,就会有Xi=X′i,Xi+1=x′i+l,Xi+2=X′i+2……
协议的通信流程如图1所示。
在保证系统安全性的前提下,嵌入式系统中算法和模式的选择必须从处理速度和占用内存空间两方面来考虑。此处系统选择的是MD5和RC5算法。
结语
由于各种嵌入式Internet设备的组成和功能干差万别,其网络接入所采用的技术和方案也各不相同,对其安全通信的解决方案的灵活性和适应性要求较高。 因此,本文通过对嵌入式Internet提供安全服务的安全机制的需求分析,以目前广泛采用的32位处理器加TCP/IP协议栈接入Internet的方 案为实现平台,通过选择基于密码学的安全机制EISCM,对嵌入式Internet的安全问题进行了探讨。但还存在着一些可以进一步完善的问题,主要包括:
①本机制没有提供访问控制服务和抗抵赖服务,可以建立一个数据库,通过认证等服务实现;
②本机制没有提供对攻击的监测功能,可以通过建立一个攻击日志,通过一定的监测方法来记录非法用户对系统的攻击。
上一篇:多媒体视频会议延伸运用
下一篇:锂离子电池
的短路保护电路设计