8

【优质信源】计划07--射频指纹识别

 3 years ago
source link: https://zhuanlan.zhihu.com/p/142424486
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

【优质信源】计划07--射频指纹识别

Reviewed by : @甜草莓  @刘大;
前置知识:通信原理、GNSS、机器学习。

本文涉及部分专业词语,出于读者进一步学习的方便性考虑,部分专业术语给出英文形式,对阅读造成困难还请见谅。

摘要

随着信息大爆炸时代的到来,通信器材的总数量也在惊人增长着。与此同时,信息安全的问题开始凸显,各种复杂的加密方法和破解方法仿佛矛与盾的二元体,此消彼长绵延不绝。射频指纹概念的提出,试图从器件固有的特征来对通信设备进行识别,据此来实现对恶意信息的发送端规避。本文初步介绍射频指纹的概念,集中主要篇幅介绍射频指纹在全球卫星导航系统中的应用,并探讨射频指纹在发射端的产生和在接收端的提取。

1. 介绍

由于器件的工艺,材料等原因,通信发送端会在产生的信号里内嵌入独有的信号失真,信号在发送端天线产生电磁波;电磁波经过信道,信道包含对流层效应 (Tropospheric effects) 和电离层效应 (Ionospheric effects) [1];在接收端天线进入接收端,接收端的器件在该信号上又“叠加”一些接收端独有的信号失真。这个包含在电磁波中具有发送端,信道和接收端特征的信号失真就是广义上的射频指纹,简言之,射频指纹就是信号失真。在实际应用场景用,也存在一种侠义上的射频指纹——发送端由硬件的特征 (文献中常见术语:hardware signature/imperfection/impairment)导致的独有的信号失真。在没有特殊声明的情况下,本文所有的射频指纹均指该侠义上的定义。

在当前,射频指纹的研究涵盖了许多方面。[2]研究了在WiFi和蓝牙的场景下,基于器件瞬态(transient) 的指纹识别,由于GNSS的不间断广播的特性,该方法并不适用于GNSS。[3]研究了各类匹配滤波器对于以太网设备的识别能力,它使用了混淆矩阵作为判断依据,该研究中的方法有一定的可能延伸到GNSS的识别中来。[4]也是基于器件的瞬态来进行传感器的识别,该研究中使用了离散小波变换来提取指纹,是一种较为常见也效果不错的方法,不幸的是,基于瞬态的指纹识别并不适合GNSS。[5]是在WiFi环境下,使用器件的瞬态作为指纹,得出结论Support Vector Machine (SVM) 比 K-Nearest Neighbours (KNN) 效果好,此结果对GNSS中的指纹识别较有启发意义,在使用分类器时,可以重点关注SVM,尤其是径向基函数核 (radial basis function kernel, rbf)。[6]研究了基于调制的指纹识别,该方法准确率较好,但借鉴到GNSS中来劣势就较为突出——GNSS的指纹识别主要是为了anti-spoofer,而任何稍微经过设计的spoofer都应该具有模仿GNSS信号的调制模式。[7]使用了Allan variance (艾伦方差)的方法,主要对GNSS中的时钟偏移,多普勒偏移进行讨论,Allan variance是一个较为常见的用于判断GNSS时钟质量的测量量,可以借鉴到本工作中。[8]较为完备的讨论了基于手机的蜂窝地面网络情境下的射频指纹识别方式,其中提到了很多特征提取及识别的方式,虽然该工作不是面向GNSS,但其中特征提取的方式可以借鉴。[9]提到了使用permutation entropy (PE)和dispersion entropy (DE)来进行射频指纹的提取,PE和DE源于混沌系统,具有一定的借鉴意义,理论研究较为完备,可以从理论上对射频指纹进行研究。[10]讨论了各类GNSS射频指纹识别可用的测量量 (metrics),该文章指出基于时钟的特征比非基于时钟的特征更有利于指纹识别。

本文将从通信模型入手,分黑盒模型和伽利略有效载荷两个角度介绍发送端模型;粗略介绍一下信道中可能对狭义上射频指纹的影响;在接收端着重强调对指纹提取的方法;最后作为一个开放话题探讨未来可能的研究方向。

2. 系统模型

本章将分别从黑盒模型和伽利略有效载荷两个角度切入,介绍射频指纹的产生、传递和识别。为了减少公式给读者带来的阅读障碍,本章将尽量减少公式的使用。

2.1 一般通信系统的黑盒模型

2.1.1 通信模型

一个最小化的通信系统黑盒模型如Fig.1所示,发送端TX、信道channel和接收端RX。在介绍章节里,我们已经提到狭义上的射频指纹是指发送端的信号失真,Fig.1中我们使用了hardware impairments的术语来指代这个失真。TX中主要包含的信号失真为I/Q imbalance, phase noise和non-linearity;channel中主要包含由于天线导致的polarization (天线极化,在【优质信源】计划06中对天线的极化有较为详尽的介绍),多径效应,电离层和对流层效应以及永远存在的interference (干扰)和noise (噪声);RX中主要包含由于quantization (量化)导致的额外失真,ADC (analog-to-digital converter)内的sampling rate (采样频率)和功率放大器的non-linearity。

Fig.1 通信系统黑盒模型

2.1.2 发送端黑盒模型

一个最小化的发送端模型如Fig. 2所示,其中包含基带 (base band)的信号生成、带通滤波器、混频器及I/Q信号生成、功率放大器和DAC (digital-to-analog converter)。在Fig.2中,base band里产生经调制的IF (中频, intermediate frequency)信号,经band-pass filter (带通滤波器)滤波,使用LO (local oscillator)进行升频进入到RF (radio frequency),相位错[公式]来进行进行I/Q调制并混合 (mix),进入PA (power amplifier)进行放大,最后经DAC进行数模转换。一般可以假设base band产生的信号为无损的,在LO处进行升频和I/Q调制时会产生I/Q imbalance和phase noise,PA由于往往操作于saturation zone (饱和区)其non-linearity会始终存在。另外,据[11]PA操作于saturation zone其中一方面也是为了减少卫星的电量消耗。

Fig.2 发送端黑盒模型

A. Non-linearity (非线性)

PA的非线性一般有两种建模方式:memory polynomial和memoryless polynomial。此外,对PA的非线性特性的表示也有两种常见的方式:AM-AM和AM-PM。本文主要使用AM-AM的方式表示。

memoryless polynomial

假设输入信号为 [公式] ,输出信号为 [公式] ,那么它们之间存在如下的关系,

[公式]

其中, [公式][公式] 阶幂的系数。

memory polynomial

[12]在宽带信号中,信号的带宽和PA固有的带宽已经可比,因此频选特性就凸显出来。我们在此介绍一种linear memory的two-box模型,其主要由memoryless nonlinear model和FIR滤波器组成。Fig.3 所示是Wiener模型,信号先进入线性FIR滤波器,再进入一个polynomial。

Fig.3 Wiener model

Wiener model可以表达为,

[公式]

B. phase noise和I/Q imbalance

受篇幅限制,这两个特征仅仅介绍Matlab中使用哪些函数以及参数的意义。

phase noise可以使用comm工具箱下的PhaseNoise函数,具体方法如下 (举例),

pn=comm.PhaseNoise('Level',[-100 -110], 'FrequencyOffset',[20 200])
% 较为常用的两个参数:level (dBc/Hz)和FrequencyOffset (Hz)。对于GNSS来讲,
% level在-100到-110区间,FrequencyOffset不定,但200绝对是较为大的数值,
% 进行模拟时要注意该参数设置。
tx=qammod(randi([0 15], 1000, 1),16)%来个QAM调制的发送信号。
rx=pn(tx)%接收信号是发送信号加相位噪声。

I/Q imbalance可以使用iqimbal函数,具体方法如下 (举例),

tx=qammod(randi([0 15], 1000, 1),16) %来个QAM调制的发送信号。
rx=iqimbal(tx,3,10) 
% 3这个是幅值的imbalance参数,单位是dB,
% 10这个是相位的imbalance参数,单位是degree (0-360那种)。

2.1.3 接收端黑盒模型

一个简化的接收端前端的模型 (抽象模型,非特指手机接收端或GNSS接收端)如Fig. 4所示,PA和ADC。此时,PA会在天线接收到信号里的射频指纹的基础上额外添加非线性,ADC则由于量化误差必然影响接收到信号里的射频指纹。ADC之后出来的信号可以称之为射频信号,I/Q样本就在此处采集然后进入到特征提取/预处理 (pre-processing)处,继而进行分类。

Fig.4 接收端黑盒模型

2.2 伽利略卫星有效载荷

黑盒模型有其优点:模型简单,建模迅速,组装方便;但也有其缺点:无法确定硬件特征的源头,无法分析地讨论射频指纹问题,仅能使用数值模拟的方式对射频指纹进行讨论,前置经验更加重要。基于以上思考,我们这一节来详细剖析伽利略有效载荷。一个简化的伽利略有效载荷如Fig. 5所示,它主要由三部分组成:时钟、信号生成和输出。

Fig.5 伽利略卫星有效载荷

2.2.1 时钟

时钟部分使用了两种时钟,铷原子频标和被动型氢钟。[13]提到在铷原子频标中,每一百万年有三秒的漂移;在被动型氢钟中,每三百万年有一秒的漂移。两个铷原子频标和两个被动型氢钟分别提供10 MHz的频率给时钟部分内的下一个单元:时钟管理和控制单元 (clock management and control unit, CMCU)。时钟控制单元是由选择器、频率合成器、相位比较器和输出选择器组成。时钟管理与控制单元的主要任务就是稳定的输出10.23 MHz的频率。

在时钟部分里,主要可能产生信号失真的部分为时钟管理与控制单元内的频率合成器。该频率合成器是一个基于锁相环 (phase lock loop, PLL)且使用了直接数字频率合成器 (direct digital synthesizer, DDS)的器件,DDS内部使用了DAC。因此,CMCU会同时存在相位噪声 (phase noise)和非线性 (non-linearity),phase noise由PLL产生,non-linearity由DAC产生。

2.2.2 信号生成

信号生成部分主要有两个单元组成:导航信号生成单元和频率生成单元。信号生成部分为伽利略有效载荷的核心,它负责广播信号的基带生成、中频调制和射频升频。

A. 导航信号生成单元

导航信号生成单元使用1.023 MHz频率作为标准应用到该单元的不同地方。Fig.6 展示了基带信号是如何产生的,导航信息 (navigation message)使用50Hz的速率,PRN码 (CDMA系统中的扩频码)使用 [公式] 的速率,子载波是 [公式] 的速率。

Fig.6 基带信号的产生

在伽利略系统中,信号的频段使用如Fig.7 [14]所示。其中E6频段为伽利略的商用频段,因为我们集中讨论E1和E5频段。

Fig.7 伽利略系统的信号频段使用

E1频段包含了三种信号:E1-OS-data, E1-OS-pilot和E1-PRS。OS为open service的缩写,PRS为public regulated service的缩写。显而易见,作为非授权用户,我们普通的Galileo接收器仅仅能识别E1-OS-data和E1-OS-pilot信号。Fig.8 [15]给出了E1频段的频谱,使用了I/Q正交的面来展示。

Fig. 8 伽利略E1频段的频谱

CBOC调制

伽利略E1-OS信号使用了CBOC (composite binary offset carrier)调制,接下来就简单介绍一下CBOC的调制。

CBOC[16][17]可以看作是 [公式][公式] 加权后的和,

[公式]

其中 [公式] , [公式] .

[公式]

其中 [公式] .

[公式]是调制阶数,其定义为,

[公式]

于是,我们可以定义 [公式] 为,

[公式]

其中 [公式] 时, [公式] 为data信号, [公式] 时, [公式] 为pilot信号。

E5频段包含了四种信号:E5a-data,E5a-pilot,E5b-data和E5b-pilot。Fig.9 [18]给出了E5频段的频谱,quadrature调制的均为pilot信号。

Fig. 9 伽利略E5频段的频谱

AltBOC调制

伽利略E5频段使用AltBOC (alternative binary offset carrier)调制,接下来也简单介绍一下AltBOC调制。

AltBOC调制不同于普通BOC调制的地方在于AltBOC调制使用了复子载波调制,

[公式]

其中, [公式] 的定义与CBOC中相同。

B. 频率生成单元

在频率生成单元中,将导航信号生成单元输出的在中频上的信号进行升频。举例说明,E1-OS信号在经过调制后,其中心频率是 [公式] (6.1380 MHz),然而E1-OS信号在空中的载波中心频率为1575.42 MHz,频率生成单元在这里的意义也就在于将E1-OS信号从6.138 MHz升到1575.42 MHz。

该单元首先将所有进入的信号进行数模转换,接下来将信号和频率合成器生成的高频率sine wave进行混频,之后经高通滤波器输出给下一个部分——输出。

值得注意的是,由于在该单元存在大量的频率合成、混频和大型数模转换,该单元也就同时具有phase noise, I/Q imbalance和non-linearity所有信号失真。

2.2.3 输出

输出部分的信号失真主要存在于HPA (high power amplifier),此单元由于操作在saturation point (已在前文讲过在saturation point放大的原因),非线性失真将尤其明显。

2.2.4 小节

在伽利略有效载荷的模型中,non-linearity主要集中在输出部分,phase noise和I/Q imbalance主要集中在信号生成部分,而时钟的特征则在时钟部分。

3. 射频指纹在信道中

正如前文黑盒模型中描述的一样,信道中会对射频指纹造成一定失真。这一章主要介绍信道对射频指纹的极化特征的破坏。

在所有GNSS中,卫星的天线都是RHCP (right-hand circularly polarized),如Fig.10[19] 所示,信号在经过天线变成电磁波传向空中时成该种旋转方式前进。

v2-4ef685a6188b8201a3adc0e6c1905bc2_b.jpg
Fig. 10 RHCP

然而,由于多径效应,在地球上的接收端RHCP并不能完全保持不变,会有一部分经过反射折射等效应的信号变成LHCP (left-hand Circularly Polarized)。换言之,从地球上观测到达的GNSS信号,极化会呈现heterogeneity (异质性)而非homogeneity (同质性)。

4. 射频指纹在接收端

以spoofer做参考,GNSS下的射频指纹存在以下问题:1)信号调制方式无区别,spoofer能轻松的实现和GNSS一样的调制方式;2)PRN码,尤其是open service下的码,也没有区别;3)射频指纹经过长距离的星地传播被扭曲了不少,甚至是极其难以扑捉的;4)对于任何一个拥有GNSS的国家,GNSS的有效载荷的具体细节以及器件的参数是不可能公开的,这是国家安全问题。

本章节重点介绍指纹的提取,指纹的识别由于普遍使用detection theory和machine learning,在他处较易找到充足的文献,本文不再赘述。

4.1 指纹的提取

指纹提取的意义在于——接收端直接采集的RF样本基本上不可能区分GNSS和spoofer,而提取这个步骤可以对样本内隐藏的某些量给与提取,进而提高指纹识别的能力。

较为常见的CWT (continuous wavelet transform),DWT (discrete wavelet transform),STFT (short-time Fourier transfrom),WVD (Wigner-Ville distribution),TKEO (Teager-Kaiser energy operator)和HHT (Hilbert Huang transform)本文将不再详细介绍。此小节重点介绍两个来自混沌系统中的方法PE (permutation entropy)和LLE (largest Lyapunov exponent)。

以GNSS为参考,spoofer具有时钟品质不够高,非线性系统和高随机扰动 (非噪声)的特点,我们可以借用混沌系统的PE和LLE对GNSS和spoofer的射频指纹随机扰动的程度进行判断,以此来提取有效的特征。

4.1.1 permutation entropy

C. Bandt et al.[20]第一次介绍了permutation entropy来研究系统的混沌程度,据作者本身介绍,我引用在此,PE的方法是

simplicity, extremely fast calculation, robustness, and invariance with respect to nonlinear monotonous transformations

这一点和接下来要介绍的Lyapunov exponent对比,就能知道PE的简洁优美。

考虑一个时间序列 [公式] ,那么这个序列混沌吗?程度如何呢?

我们设置两个参数 [公式] (delay)和 [公式] (embedding dimension),

  • [公式]

该时间序列变为 [公式]

我们随机选择某一列,比如第一列[公式] ,当第一行的数字大于第二行的数字我们记为事件 [公式] ,当第一行数字小于等于第二行的数字我们记为事件 [公式] 。于是我们可以得出

[公式]

据此,我们给出normalized permutation entropy,

[公式]

那么该时间序列 [公式]

为了对比,我们把上文的时间序列 [公式] 里的10换成16得到 [公式]

此时可以得到,

[公式]

于是 [公式]

当PE归一化后的值越接近1则表明该时间序列越随机,相反的,值越小则时间序列越确定。

4.1.2 largest Lyapunov exponent

在这一小节里,我们介绍令人头疼的LLE (largest Lyapunov exponent)。Lyapunov exponent最早由Ляпунов在[21]提出。具体的背景介绍Wiki上很多,此处不再占用篇幅。我们将集中力量介绍最为感兴趣的largest Lyapunov exponent。在时间序列里,如果lyapunov exponent是正数,则表明该时间序列是混沌的,因此在所有lyapunov exponent中,LLE的正负最能反映出时间序列混沌程度。

基于[22]考虑一个时间序列 [公式],同样考虑两个参数[公式] (delay)和 [公式] (embedding dimension)并构造一个phase space,

[公式]

首先,找出reference [公式] 的nearest neighbour,

[公式]

其次,定义一个所谓的mean period使得,

[公式]

接下来,计算 [公式]

[公式]

最后,LLE [公式] 就被估计出来了,

[公式]

此处 [公式] 可以理解为取期望值。

由于LLE计算过于繁杂,此处为了降低阅读难度,不再举例说明LLE值的分析了。LLE基本上可以使用PE进行代替,LLE的值为正数,表明时间序列是混沌的,且正数值越大则随机性越强。

本文初步介绍了在GNSS中的射频指纹的产生,传递和接收。简单介绍了特征提取的方式,该文介绍的PE和LLE主要灵感来源于chaotic communications。

感谢各位通信专业的志士同人,大家的彼此鼓励与支持使我完成此篇介绍文章。士不可以不弘毅,任重而道远。

  1. ^ITU P681-11. Propagation data required for the design systems in the land mobile-satellite service https://www.itu.int/rec/R-REC-P.681/en
  2. ^J. Hall, B. Michel and K. Evangelos. "Detection of transient in radio frequency fingerprinting using signal phase." Wireless and Optical Communications (2003): 13-18.
  3. ^R. M. Gerdes, T. E. Daniels, M. Mina and S. Russell "Device Identification via Analog Signal Fingerprinting: A Matched Filter Approach." NDSS. 2006.
  4. ^K. B. Rasmussen and S. Capkun. "Implications of radio fingerprinting on the security of sensor networks." 2007 Third International Conference on Security and Privacy in Communications Networks and the Workshops-SecureComm 2007. IEEE, 2007.
  5. ^V. Brik, S. Banerjee, M. Gruteser and S. Oh. "Wireless device identification with radiometric signatures." Proceedings of the 14th ACM international conference on Mobile computing and networking. 2008.
  6. ^A. Candore, O. Kocabas and F. Koushanfar. "Robust stable radiometric fingerprinting for wireless devices." 2009 IEEE International Workshop on Hardware-Oriented Security and Trust. IEEE, 2009.
  7. ^D. Borio, C. Gioia, G. Baldini and J. Fortuny. "GNSS Receiver Fingerprinting for Security-Enhanced Applications." Proceedings of the 29th International Technical Meeting of The Satellite Division of the Institute of Navigation (ION GNSS+), Portland, OR, USA. 2016.
  8. ^G. Baldini and G. Steri. "A survey of techniques for the identification of mobile phones using the physical fingerprints of the built-in components." IEEE Communications Surveys & Tutorials 19.3 (2017): 1761-1789.
  9. ^G. Baldini, R. Giuliani, G. Steri and R. Neisse. "Physical layer authentication of Internet of Things wireless devices through permutation and dispersion entropy." 2017 Global Internet of Things Summit (GIoTS). IEEE, 2017.
  10. ^D. Borio, C. Gioia, E. Canopons and G. Baldini "GNSS receiver identification using clock-derived metrics." InsideGNSS, Jul/Aug 2017 https://insidegnss.com/feature-selection-for-gnss-receiver-fingerprinting/
  11. ^J. A. A. Rodriguez. On generalized signal waveforms for satellite navigation. Doctoral dissertation. Universitätsbibliothek der Universität der Bundeswehr München, 2008.
  12. ^D. Schreurs, M. O'Droma, A. A. Goacher and M. Gadringer. RF power amplifier behavioral modeling. New York, NY, USA: Cambridge university press, 2008.
  13. ^E. Rebeyrol, C. Macabiau, L. Ries, J. L. Issler, M. Bousquet and M. L. Boucheret. "Phase noise in GNSS transmission/reception system." 2006.
  14. ^Galileo signal plan https://gssc.esa.int/navipedia/index.php/Galileo_Signal_Plan
  15. ^Galileo E1 band https://gssc.esa.int/navipedia/index.php/Galileo_Signal_Plan
  16. ^F. Dovis, L. Lo Presti, M. Fantino, P. Mulassano and J. Godet. "Comparison between Galileo CBOC candidates and BOC (1, 1) in terms of detection performance." International Journal of Navigation and Observation 2008 (2008).
  17. ^E. S. Lohan. "Analytical performance of CBOC-modulated Galileo E1 signal using sine BOC (1, 1) receiver for mass-market applications." IEEE/ION Position, Location and Navigation Symposium. IEEE, 2010.
  18. ^Galileo E5 band https://gssc.esa.int/navipedia/index.php/Galileo_Signal_Plan
  19. ^Galileo signal polarization https://galileognss.eu/galileo-signal-polarization/
  20. ^C. Bandt and B. Pompe. "Permutation entropy: a natural complexity measure for time series." Physical review letters 88.17 (2002): 174102.
  21. ^A. Lyapunov. "Problème général de la stabilité du mouvement." Annales de la Faculté des sciences de Toulouse: Mathématiques. Vol. 9. 1907.
  22. ^M.T. Rosenstein, J.J. Collins, and C.J. De Luca "A practical method for calculating largest Lyapunov exponents from small data sets." Physica D: Nonlinear Phenomena 65.1-2 (1993): 117-134.

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK