随着卫星通信系统的广泛应用,卫星通信的安全问题变得日益突出。卫星网络的安全通信,离不开加密及认证技术的支撑,其安全性很大程度上依赖于现有的加密算法及认证技术。然而,现有的多数加密算法正面临着主动攻击及被动攻击的威胁。任何加密算法攻击的实现,都离不开具体的加密环境。研究加密算法在卫星网络中的安全性,对评估加密算法在实际卫星网络应用环境中的安全性具有现实意义。

一、加密算法在卫星网络中的典型应用

1、数据文件加密和解密

加密技术是实现网络信息安全的核心技术,是数据文件保护的重要工具之一。通过加密变换,将可读的文件变换成不可理解的编码,从而起到保护信息和数据的作用。加密算法则是上述机制的具体承担者。图1为形式化的数据文件加密、解密过程。

这里定义加密函数E(m,ke)和解密函数D(c,kd),其中ke和kd分别为加密密钥和解密密钥。若ke=kd,则该加密算法为在加密和解密过程中使用相同密钥的对称加密算法;若ke≠kd,则该加密算法为在数据文件加密和解密过程中使用不同密钥的非对称加密算法。

卫星网络加密算法

卫星通信采用广播方式,面临主动攻击及被动攻击的威胁。在上下行链路以及星间链路上存在被动窃听的威胁,这种威胁不会对网络中的信息进行任何修改,更不会影响网络的操作与状态,一般不易察觉,但可能造成严重的信息泄密。针对卫星通信链路上的被动窃听威胁,最有效的方式是对卫星链路通信数据文件进行加密,即使攻击者获得了加密密文也无法获得原始通信数据文件。加密算法的安全性,将直接影响到卫星网络通信数据的安全。

2、认证实现

卫星通信采用广播方式,面临主动攻击及被动攻击的威胁。在卫星网络主动攻击方式中,攻击者将试图截获卫星网络通信链路数据,并破坏数据的完整性,最典型的方式是篡改数据。主动攻击有重放攻击、拒绝服务攻击等方式。

卫星网络的开放性特点,使其面临着严重的主动攻击威胁,有效防御手段是引入认证机制,认证同样建立在加密学基础上。因此,卫星网络实体间认证的实现,同样离不开加密学的支撑。本节介绍了加密算法在卫星网络通信中抵御被动攻击及主动攻击的重要作用。加密算法在卫星网络中的安全,直接关系到卫星网络通信的安全。下面将分析加密算法安全性,并对卫星网络环境下的加密算法安全性进行分析研究。

二、卫星网络加密算法面临的安全威胁

卫星网络加密算法攻击技术已成为密码学的研究热点,根据对计算过程的控制能力来分,可以将其分为两大类:主动攻击和被动攻击。

主动攻击主要通过物理手段主动修改密码设备加密和解密实现中的内部状态,得到一些额外的输出信息,故障攻击最为常见。被动攻击主要采集加密设备加密和解密实现中内部状态泄露的物理效应信息,如:时间、功耗、电磁、频率、声音,并进行密钥分析,通常称为旁路攻击(Side Channel Attack:SGA)。下面将分别对加密算法的主动攻击和被动攻击进行阐述。

1、主动攻击

故障攻击是最为常见的主动攻击方式,攻击者可通过辐射、X光、微探测或切断线路等方法在防篡改芯片中引入故障,从而导致一些密钥信息从芯片中泄露。差分故障攻击方法结合了故障注入与差分分析方法可实现对分组密码及流密码的攻击。本节将介绍针对采用S盒的分组密码差分故障攻击思想及原理。

大多数分组加密算法为增强其抗线性和差分分析能力,在实现过程中采用了S盒。采用S盒的分组加密算法面临着差分故障攻击的严重威胁。对于攻击者而言,在加密过程中某轮导入随机故障。一般,攻击者可以获得正确密文和出错密文,从而获得密文差分f’,且满足:

卫星网络加密算法

通过分析,攻击者可获得S盒输入索引a,而该值与扩展密钥紧密相关,此时攻击者结合密文信息可恢复相应的轮密钥。获得足够数量的轮密钥后,结合密钥扩展算法,即可恢复初始密钥值。针对S盒的分组密码差分故障攻击可概括为:故障导人、轮密钥推导、初始密钥推导。

2、被动攻击

(1) Cache攻击

高速缓存Cache主要用于解决CPU与主存之间速度不匹配的问题。由Cache访问命中和失效会带来时间和能量消耗差异,而分组密码在加密过程中由于使用了S盒进行查表操作访问Cache,其Cache访问特征信息可通过时间或能量消耗特征信息泄露出来,可以说,Cache为密码加密提供了Cacbe访问信息泄露源。为提高加密算法非线性度和软件执行效率,现代分组
加密算法大都使用S盒查表访问Cache。但是通过Cache攻击可采集到分组密码加密解密过程中泄露的访问信息,而这些访问信息同查找S盒的索引、明文、密文、加密密钥有紧密关系。随着高精度和复杂精密测试计量仪器及技术的发展,通过Cache泄鼹的时间和能量消耗差异信息的精确采集已经具备实际可行性。加密设备中Cache的引入,为攻击者获得加密过程中的相关信息提供了隐通道,Cache攻击的威胁性越来越受到重视。

(2)功耗分析攻击

功耗分析攻击主要利用密码设备在进行密码运算时产生的功耗信息,推导出运算中的秘密参量。根据功耗分析方法的不同,可以将其分为简单功耗分析(SPA)、差分功耗分析(DPA)和相关功耗分析(CPA)。功耗分析攻击其信息来源于设备在加密解密过程中寄存器中0和1的翻转所产生的电流功耗变化。攻击者利用功耗信息采集设备,在加密设备运行过程中,采集相关功耗信息,利用SPA、DPA及CPA方法,恢复完整密钥。

(3)电磁分析攻击

电磁辐射泄漏可能是最早被关注的旁路攻击形式。在美国安全局最近解密的TEMPEST文档中,调查研究了不同辐射的威胁,其中电磁辐射是很重要的一类。电磁分析攻击主要通过测量密码芯片在运算期间发射的电磁信号,研究电磁场与内部处理数据之间的相关性而获取内部秘密参量。电磁泄漏攻击有简单电磁分析(SEM”和差分电磁分析(DEMA)以及应用多旁路以提高攻击的效率。

综上所述,对加密算法的主动攻击成功与否很大程度上取决于能否通过物理手段主动修改加密设备加密和解密过程中的内部状态,得到攻击者期待的一些额外输出信息。对于被动攻击而盲,在不影响加密算法执行的基础上,采集到加密设备运行过程中泄露的有用旁路信息,并结合相关统计分析方法,是实现被动攻击的前提。

三、卫星网络加密算法的安全性分析

卫星网络及其设备同传统的地面网络存在较大的差异。因此,加密算法在地丽网络与卫星网络所面临的安全问题也存在很大差异。研究加密算法在卫星网络中的安全性之前,本节先对卫星网络的结构进行阐述。图2为空地一体的卫星网络组成图。所有的地面设备均可表示为地面端系统,空中卫星表示为卫星节点。

卫星网络加密算法

由图2可知,卫星网络中加密算法执行设备主要集中于卫星节点及地面端系统。

1、卫星节点的加密算法安全性分析

(1)主动攻击有效性分析

现有针对加密算法的主动攻击主要以差分故障攻击为主,其攻击有效性在于满足:

(1-1)攻击者需近距离接触加密设备。

(1-2)在特定时刻向加密设备注入故障。

(1-3)在加密设备特定位置注入故障。

(1-4)故障注入宽度在可控范围内。

卫星节点的空间分布特性及动态性,使得差分故障攻击故障注入面临的问题有:

a、卫星轨道高度较高,攻击者无法近距离接触卫星节点上的加密设备。

b、星地链路长传输时延特性,使攻击者无法正确把握故障注入时刻。

c、卫星节点的动态特性,使攻击者无法在卫星节点加密设备的特定位置实现故障的精确注入。

以上分析了地面攻击者对卫星节点加密设备实现成功故障注入所面临的问题。卫星节点的空间分布特性,为卫星节点上的加密算法抵抗来自于地面的差分故障攻击提供了天然的保护屏障。因此,在现有故障注入技术条件下,攻击者要实现针对卫星节点上的加密算法差分故障攻击是困难的。

(2)被动攻击有效性分析

a、 Cache攻击有效性分析

前面我们对Cache攻击原理进行了介绍,其攻击有效性关键在于满足:以时间或以能量为单位的信息的精确采集。然而,对未使用Cache的卫星节点,该方法将失效。即便卫星节点加密设备使用了Cache,对于攻击者而言很难做到在卫星节点对采集刘的信息进行分析,星地链路数据传输的高误码率,也对Cache攻击精确信息的采集提出了挑战。因此,在现有技术条件下,实现针对卫星节点加密算法的Cache攻击是困难的。

b、功耗分析攻击有效性分析

攻击者在对加密算法实施功耗分析攻击过程中,需要监测加密设备在运行过程中的功耗变化情况,一般通过监测加密设备运行过程中的电流变化,并通过相应的相关性分析方法,获得加密算法密钥。由于卫星节点的空间分布特性,攻击者很难实现对卫星节点加密设备功耗信息的获取。因此,卫星节点的空间分布特性,同样为卫星节点上的加密算法抵御功耗分析攻击提供了天然的保护屏障。

c、电磁分析攻击有效性分析

攻击者在对加密算法实施电磁分析攻击过程中,需采集加密软件在运行过程中的电磁泄漏信息。通常通过采用高灵敏度探头,实现对有限电磁信息的采集。电磁分析攻击的成功率,与电磁信息采集的精度密切相关。同样,卫星运行轨道较高,其星上加密设备运行释放的电磁强度有限,同时结合空间电磁环境的复杂性,要实现精确采集星上加密设备泄漏的电磁信息,其难度可想而知。

2、地面端系统的加密算法安全性分析

(1)主动攻击有效性分析

地面端系统与卫星节点相比,其地理位置相对固定,攻击者可实现近距离接触地面端系统加密设备;利用现有的故障注入设备,攻击者能够实现在其加密软件运行的特定时刻、特定位置注入故障,并控制故障注入宽度。地面端系统与卫星节点的差异性,使得攻击者对地面端系统的加密算法进行差分故障攻击成为可能。

(2)被动攻击有效性分析

对于被动攻击而言,多数情况下,一旦攻击者能够在有效的距离内接触加密设备,攻击者便能通过相应设备及技术获取加密设备运行过程中泄漏出的功耗、电磁等信息。在获得相关旁路信息基础上,通过统计分析方法,获取加密算法密钥。地面端系统,很大程度上为加密算法攻击者提供了便利的攻击条件。

小知识之卫星通信系统

卫星通信系统实际上也是一种微波通信,它以卫星作为中继站转发微波信号,在多个地面站之间通信,卫星通信的主要目的是实现对地面的“无缝隙”覆盖,由于卫星工作于几百、几千、甚至上万公里的轨道上,因此覆盖范围远大于一般的移动通信系统。但卫星通信要求地面设备具有较大的发射功率,因此不易普及使用。