APP下载

基于特征标识及密码技术的设备指纹提取方法

2022-07-28张彦杰庞振江王晖南袁艳芳梁晓兵刘佳易

太原理工大学学报 2022年4期
关键词:互信息序列号特征选择

张彦杰,庞振江,王晖南,袁艳芳,梁晓兵,刘佳易,杨 峰

(1.北京智芯微电子科技有限公司,国家电网公司重点实验室 电力芯片设计分析实验室,北京 100192;2.国网山西省电力公司营销服务中心,太原 030032;3.中国电力科学研究院有限公司,北京 100192)

近年来,随着智能电网、智能家居、智能交通、智能物流等技术的不断发展,物联网的应用越发普及,万物互联互通,加强了人与物、物与物的信息交流,实现更高的工作效率[1]。同时,物联网的出现使得信息系统面临巨大的安全和隐私保护挑战,如物理安全、运行安全、数据安全等。因此,要加强读取控制、隐私保护、用户认证、数据保密性和可用性。

物联网通常包含感知层、传输层、应用层。借助互联网的发展成果,传输层和应用层已有相对成熟的安全防护技术,如端到端加密、PGP、SSL/TLS和IPsec等技术,提供通信加密和认证功能,保证通信双方的数据传输和业务交互安全[2]。但是物联网感知层具有节点设备种类复杂、设备能力和资源差异大等特点,而且感知层设备拥有大量原始数据,如果被不合法节点、服务器访问,将会导致数据泄露,威胁用户和行业信息安全,增加管理风险。因此,物联网感知层设备的身份识别显得尤为重要。

传统的身份识别技术,如基于口令的身份识别[3]、基于电子识别卡的身份识别[4],这些方法由于安全性缺陷、成本较高等问题,不适用于物联网业务系统。目前,基于指纹、声纹、虹膜等的生物特征识别得到了广泛应用,具有稳定性高、不易被仿制和窃取的特点[5],很多学者将这个思路拓展应用到了硬件设备中,CHEN et al[6]从无线物联网设备中声音播放和采集器件的频率响应中提取声学硬件指纹。此方法需要借助信号采集与分析工具,过程复杂,指纹提取耗时长,且在元器件老化后难以校对与更新,识别精度达不到既定的要求。方莹莹[7]利用电池生产以及用户使用的差异性提取电量消耗特征,进而识别不同的移动终端。其中电量特征涵盖时域及频域特征,信息量大,需要消耗较多的存储空间,且设备识别效率随着电量的降低而降低。另外,现有方案在设备信息隐私保护方面的机制不完善,不利于在物理环境复杂的场景下使用。因此,此类技术难以在物联网海量不同种类的设备中推广。

基于以上分析,为满足物联网设备身份识别对安全性、实时性、稳定性和不可伪造性的要求,提出基于设备软硬件特征标识和轻量级密码学技术的指纹生成方法。首先,获取设备的软硬件特征标识数据,并可选地结合其中的内嵌模块的特征信息,运用信息量理论合理选取特征子集;其次,对比不同密码算法的特点,综合考虑计算效率和占用存储空间、密钥管理等因素,使用国密轻量级算法生成设备指纹。最后,通过实验验证了本文方法的有效性和可行性。

1 感知层设备特征

设备指纹是一种特征信息,其具有唯一性或独特性,能够依据该特征识别出设备。通常由一个或多个唯一标识符组成,如:移动通信终端的IMEI编号、设备硬件序列号、网卡的MAC地址、CPU序列号、磁盘序列号、BIOS序列号、声卡ID等特征信息,巧妙地利用这些硬件信息组合,即可唯一地确定某个设备[8-9]。

物联网感知层通常需要获取的数据类型多种多样,如电气量感知、环境量感知、物理量感知、行为量感知等,因此感知设备涵盖了多种传感器、视频采集器、数据采集设备等,一个设备根据其功能的复杂程度不同,涵盖的特征标签也不尽相同,如设备编号、性能参数、运行环境参数。除此之外,某些智能设备还包含通信模块、计量模块、控制模块等,这些模块又有各自众多特征参数信息。这些特征信息的特点如下:

1) 设备序列号/ID,是生产厂商为设备分配的唯一标识符,但是目前对于序列号的定义尚没有统一的规范和标准,随着物联网设备种类和数量不断增多,存在重复的可能性。

2) 设备通用参数,如类型、名称、型号、功能等,属于公开属性,容易获取,存在被复制的风险[10]。

3) 设备通信参数。如MAC、IP地址、位置、通信协议等,不同的应用环境,使用通信协议有差异,如红外、蓝牙、RS-485、WIFI等,参数不容易统一;位置则受定位精度影响;MAC等容易被伪装和篡改[11]。

4) 设备硬件参数,如能耗、频率、启动时间等,这些信息一般是在出厂时检测,随着使用环境的变化,如温度、湿度、电磁干扰等,存在波动的情况,而且采集过程复杂。

5) 设备的软件版本号。随着软件的升级而变化,唯一性较差。

6) 内嵌模块识别号。通常由制造厂根据规则为每一个模块分配识别码,或者采用模块的物理特性和生产工艺差异产生识别码,具有唯一性和不可复制性。

7) 内嵌模块运行状态,如安全状态、存储状态等,由于模块的软硬件设计具有高安全等特点,因此此类特征安全性高,且这些状态不容易被复制,唯一性较好。

8) 内嵌模块其他参数,如存储空间、复位时间等,此类特性根据电子元件的制造容差和漂移,表现出一定的差异性,易随着使用环境的不同而变化。

如果这些特征信息全部参与指纹计算,能够全面反映一个设备的特性,且能够唯一标识某设备。但是另一方面,这种指纹计算方式需要较大的存储空间,且会给设备算力及能耗等带来较大的压力。因此,如何在多维特征信息中选择一部分合理的数据,是本文将要解决的问题。

2 特征选择

特征选择是解决数据空间复杂度的一个方法,根据某些准则在原始特征空间中删除冗余或不相关特征,选取一组特征子集,以达到缩短算法运行时间,提高分类准确率的目的。例如LEE et al[12]提出了基于多变量互信息的多标记特征选择算法,该算法利用信息熵度量特征对标记空间的重要程度。林梦雷等[13]提出的基于标记权重的多标记特征选择算法。

互信息理论作为不确定性的一种有效度量方式,被广泛用于特征选择。假设特征集合为F,且F={f1,f2,…,fm},其中m表示特征个数。设标签集合为C,且C={c1,c2,…,cs},其中s表示此数据集的标签值的个数。

定义1惊异值[14]。惊异值是指一个具体事件发生所带来的信息。

设fi为F中的任意特征,p(fi)是离散概率密度函数,则某个特征fi的惊异值为:

I(fi)=-log2p(fi) .

(1)

定义2信息熵[14]。信息熵是对不确定现象的数学化度量,其值越大,表明不确定性就越大,想要确定一件事情的发生需要的信息就越多。

设fi为F中的任意特征,其中l表示特征fi的特征值的个数,则fi的信息熵定义为:

(2)

其中,p(fij)表示fij在数据集中发生的概率。

定义3互信息[15]。是一个随机变量中包含的关于另一个随机变量的信息量。互信息越大表明该特征越重要,反之则重要性越弱。

设fi为F中的任意特征,则特征fi和标签集合C的互信息定义为:

(3)

基于以上理论,将前一章节所述的八类信息作为特征集合F,以唯一性(Uniqueness)、安全性(Security)、不可伪造性(Unforgeability)、稳定性(Stability)作为标签集合C,结合文献[16]和文献[17]提出了基于专家信息加权机制的特征选择方法。

1) 对互信息I(fi,C)进行降序排列,挑选出互信息值大的特征作为专家特征F1,这些特征对标签的影响至关重要。

2) 将专家特征集作为条件与剩余特征F2相联合,计算这两个特征集的互信息I(f1i,f2j),进行升序排列,挑选出互信息值小的特征,降低特征的冗余性,作为辅助特征集,以避免重复计算,提高特征选择速度。

经过该方法筛选得到的特征子集为:设备/模块唯一序列号、通用参数、产品检测序列号、内嵌模块运行状态。该子集涵盖了尽可能多的类别信息,同时冗余性较小。

3 指纹生成算法

目前指纹生成常用的算法有MD5和SHA-1等,张智等[18]使用两次SHA256算法,保证加密强度;罗军舟等[19]直接使用了基于瞬态特征、基于调制信号和基于内部传感器特征作为指纹。设备指纹的生成算法通常需要考虑设备的数据处理性能、隐私保护、指纹的可识别性等因素,本文对国际国内摘要算法、非对称算法和对称算法在安全性和轻量化等方面进行了对比,具体情况如下。

3.1 信息摘要算法

以杂凑函数为基础,是一种单向密码体制,只有加密过程,不能解密,而且加密过程不需要密钥参与。国际上最流行的是MD4,在后续使用过程中,有的学者发现了MD4潜在的缺陷,陆续出现了MD5、SHA家族、PIPEMD等[20]新算法。国产SM3商用密码算法在抗碰撞攻击、原像攻击等方面,与国际上常见的摘要算法相比,整体上具有较高的安全性;在实现效率方面,与SHA-256相当,但增加了如P置换函数等改进技术,既节省了硬件开销,又提升了算法的运算效率和适用性[21]。

3.2 非对称算法

目前流行的非对称加密算法主要有 RSA、DSA、Elgamal等,国产商用密码算法有SM2和SM9,其安全性建立在椭圆曲线离散对数问题上。这类算法加密强度更高,在数据通信领域应用十分广泛。有研究表明[20],在相同安全性水平下,SM2算法使用较短的操作数就能提供与RSA同等的安全等级(大致为160~256位比1 024~3 072位),且得到的密文也相对较短。

3.3 对称算法

该算法加解密速度非常快,适合于大数据量的加解密,缺点是密钥的分发和管理复杂,容易造成密钥泄漏。目前常用的对称加密算法包括DES、AES和RC4算法。国产商用密码算法SM4已发布为国家标准,其安全性比国际上大多数分组算法都具有优势,能够抵抗常见的多种攻击[21]。

由以上分析可知,非对称密码算法安全性高,但算法过于复杂,数据加密效率远不及对称密码算法高。摘要算法的单向性和输出长度固定的特征,可用于生成消息的“数字指纹”。因此,本文选择国密算法SM3和SM4,前者不需要存储密钥,可减轻设备的存储压力;后者适用于已经布局了密钥管理体系的应用场景,可分配专用密钥用于指纹计算。

4 实现方案及实验结果分析

4.1 指纹生成方案及算法

本文设计的设备指纹生成流程包含4个组成部分,分别是:智能终端特征采集模块、安全单元特征采集模块、特征选择模块、指纹生成模块。执行流程如图1所示。

图1 指纹生成流程Fig.1 Fingerprint generation process

工作流程及计算过程如下所述:

1) 获取终端特征信息

a.获取硬件序列号FT1=get hardware ID

b.获取通用参数FT2=get general paras

c.获取产品检测序号FT3=get detection ID

2) 获取安全单元特征信息

a.获取标识符FSM1=get module ID

b.获取通用参数FSM2=get general paras

c.获取安全状态FSM3=get secure status

3) 加权的特征合成

加权计算:

TF=α×FT1‖β×FT2‖γ×FT3.

(4)

加权计算:

FSM=α×FSM1‖β×FSM2‖γ×FSM3.

(5)

其中,α,β,γ为特征权重,取值为{0.4,0.2,0.4}.

4) 生成设备指纹信息

将设备特征与安全单元特征进行组合:

M=FT‖FSM.

(6)

设备指纹安全计算

EF=enc_xor(SM4key,M,m_len) .

(7)

或者

EF=hash_SM3(M,m_len) .

(8)

公式(7)是对称算法的计算过程。为保证对称密码算法输出的指纹值长度与摘要算法一致,对加密结果按照32字节进行分组,最后对这些分组数据进行异或,得到最终结果。计算过程如图2所示。

图2 指纹计算过程(SM4)Fig.2 Fingerprint calculation process(SM4)

公式(8)是摘要算法的计算过程。该算法对合成的特征M进行填充和迭代压缩,生成长度为32字节的指纹值。计算过程如图3所示。

图3 指纹计算过程(SM3)Fig.3 Fingerprint calculation process(SM3)

4.2 实验环境及结果分析

本文基于智能电能表数据采集设备(集成了安全单元)搭建测试环境,由于安全单元支持SM3、SM4算法,且可以与设备进行数据交互,因此在其上开发了设备指纹生成的软件代码。在本次实验过程中,对不同厂家的500台设备进行了指纹提取,并使用逻辑分析仪对计算过程进行监测及时长采集,结果如表1所示。

表1 设备指纹计算用时情况Table 1 Device fingerprint calculation time

实时性分析:根据表1可知,指纹提取计算耗时在3~5 ms之间。在设备生产阶段,指纹采集可以放在出厂检测之后,对生产流水线几乎没有影响;对于已经在现场运行的设备,指纹采集过程耗时也能够满足大多数应用场境的要求。

安全性分析:SM3算法的弱抗冲突性和强抗冲突性保证了指纹数据的安全;SM4算法优化了非线性变换,保证了较高的安全强度。

稳定性分析:由于采用互信息进行特征选择,容易发生变化的特征信息未参与运算,即使设备的软件版本、物理位置、通信方式等发生变化,不会影响设备指纹值。

不可伪造性分析:首先,特征子集中包含的隐性特征很难获取到。其次,SM3算法的单向性和对输入数据的高度敏感性保证了指纹难以伪造;SM4算法由于使用了专有密钥,做好密钥保护即可防止伪造的可能。

依据GM/T0005-2012对输出32字节指纹数据进行随机性测评,结果如表2所示。

表2 设备指纹随机性检测结果Table 2 Random detection results of device fingerprint

唯一性分析:根据表2测评结果可知,使用该方案生成的指纹数据通过了频数、自相关、统计、线性复杂度等检测,满足随机性和唯一性要求。

同时,将本文提出的方法与部分文献进行对比,如表3所示,包括:涵盖特征类别、耗时、安全性、是否借助外部工具等方面。分析可知,本文所提出的方法在实时性、保密性等方面有一定优势。

表3 几种指纹提取方案的比较Table 3 Comparison of several fingerprint extraction schemes

5 结论

针对目前物联网感知层智能设备的身份识别问题,本文提出了一种基于设备特征标识及国密轻量级算法的设备指纹生成方法。首先,在设备本身特征基础上引入了安全单元的特征数据,对设备的软硬件特征信息进行分析;接着,利用基于专家信息加权机制对特征进行选择,保证了特征范围的合理性。再次,分析了信息安全领域常用的国际、国内相关算法,选择计算性能和安全性较高的SM3、SM4算法。通过实验验证,依据本文方案生成的指纹信息具有唯一性和不可伪造等特点,能够满足物联网感知设备对安全性及计算轻量级的要求,有利于数据隐私保护,为身份识别提供了数据基础。下一步将研究设备指纹在物联网中的具体应用,例如在标识公钥体系中的使用、安全接入、设备管理等。

猜你喜欢

互信息序列号特征选择
基于机器视觉技术的军用集成电路测试序列号读取装置
一种离线电子钱包交易的双向容错控制方法
关于《国家税务总局 工业和信息化部关于加强车辆配置序列号管理有关事项的公告》的解读
基于改进互信息和邻接熵的微博新词发现方法
基于智能优化算法选择特征的网络入侵检测
故障诊断中的数据建模与特征选择
基于互信息和小波变换的图像配准的研究
reliefF算法在数据发布隐私保护中的应用研究
一种多特征融合的中文微博评价对象提取方法
基于互信息的图像分割算法研究与设计