近年来,随着智能电网、智能家居、智能交通、智能物流等技术的不断发展,物联网的应用越发普及,万物互联互通,加强了人与物、物与物的信息交流,实现更高的工作效率[1]。同时,物联网的出现使得信息系统面临巨大的安全和隐私保护挑战,如物理安全、运行安全、数据安全等。因此,要加强读取控制、隐私保护、用户认证、数据保密性和可用性。
物联网通常包含感知层、传输层、应用层。借助互联网的发展成果,传输层和应用层已有相对成熟的安全防护技术,如端到端加密、PGP、SSL/TLS和IPsec等技术,提供通信加密和认证功能,保证通信双方的数据传输和业务交互安全[2]。但是物联网感知层具有节点设备种类复杂、设备能力和资源差异大等特点,而且感知层设备拥有大量原始数据,如果被不合法节点、服务器访问,将会导致数据泄露,威胁用户和行业信息安全,增加管理风险。因此,物联网感知层设备的身份识别显得尤为重要。
传统的身份识别技术,如基于口令的身份识别[3]、基于电子识别卡的身份识别[4],这些方法由于安全性缺陷、成本较高等问题,不适用于物联网业务系统。目前,基于指纹、声纹、虹膜等的生物特征识别得到了广泛应用,具有稳定性高、不易被仿制和窃取的特点[5],很多学者将这个思路拓展应用到了硬件设备中,CHEN et al[6]从无线物联网设备中声音播放和采集器件的频率响应中提取声学硬件指纹。此方法需要借助信号采集与分析工具,过程复杂,指纹提取耗时长,且在元器件老化后难以校对与更新,识别精度达不到既定的要求。方莹莹[7]利用电池生产以及用户使用的差异性提取电量消耗特征,进而识别不同的移动终端。其中电量特征涵盖时域及频域特征,信息量大,需要消耗较多的存储空间,且设备识别效率随着电量的降低而降低。另外,现有方案在设备信息隐私保护方面的机制不完善,不利于在物理环境复杂的场景下使用。因此,此类技术难以在物联网海量不同种类的设备中推广。
基于以上分析,为满足物联网设备身份识别对安全性、实时性、稳定性和不可伪造性的要求,提出基于设备软硬件特征标识和轻量级密码学技术的指纹生成方法。首先,获取设备的软硬件特征标识数据,并可选地结合其中的内嵌模块的特征信息,运用信息量理论合理选取特征子集;其次,对比不同密码算法的特点,综合考虑计算效率和占用存储空间、密钥管理等因素,使用国密轻量级算法生成设备指纹。最后,通过实验验证了本文方法的有效性和可行性。
设备指纹是一种特征信息,其具有唯一性或独特性,能够依据该特征识别出设备。通常由一个或多个唯一标识符组成,如:移动通信终端的IMEI编号、设备硬件序列号、网卡的MAC地址、CPU序列号、磁盘序列号、BIOS序列号、声卡ID等特征信息,巧妙地利用这些硬件信息组合,即可唯一地确定某个设备[8-9]。
物联网感知层通常需要获取的数据类型多种多样,如电气量感知、环境量感知、物理量感知、行为量感知等,因此感知设备涵盖了多种传感器、视频采集器、数据采集设备等,一个设备根据其功能的复杂程度不同,涵盖的特征标签也不尽相同,如设备编号、性能参数、运行环境参数。除此之外,某些智能设备还包含通信模块、计量模块、控制模块等,这些模块又有各自众多特征参数信息。这些特征信息的特点如下:
1) 设备序列号/ID,是生产厂商为设备分配的唯一标识符,但是目前对于序列号的定义尚没有统一的规范和标准,随着物联网设备种类和数量不断增多,存在重复的可能性。
2) 设备通用参数,如类型、名称、型号、功能等,属于公开属性,容易获取,存在被复制的风险[10]。
3) 设备通信参数。如MAC、IP地址、位置、通信协议等,不同的应用环境,使用通信协议有差异,如红外、蓝牙、RS-485、WIFI等,参数不容易统一;位置则受定位精度影响;MAC等容易被伪装和篡改[11]。
4) 设备硬件参数,如能耗、频率、启动时间等,这些信息一般是在出厂时检测,随着使用环境的变化,如温度、湿度、电磁干扰等,存在波动的情况,而且采集过程复杂。
5) 设备的软件版本号。随着软件的升级而变化,唯一性较差。
6) 内嵌模块识别号。通常由制造厂根据规则为每一个模块分配识别码,或者采用模块的物理特性和生产工艺差异产生识别码,具有唯一性和不可复制性。
7) 内嵌模块运行状态,如安全状态、存储状态等,由于模块的软硬件设计具有高安全等特点,因此此类特征安全性高,且这些状态不容易被复制,唯一性较好。
8) 内嵌模块其他参数,如存储空间、复位时间等,此类特性根据电子元件的制造容差和漂移,表现出一定的差异性,易随着使用环境的不同而变化。
如果这些特征信息全部参与指纹计算,能够全面反映一个设备的特性,且能够唯一标识某设备。但是另一方面,这种指纹计算方式需要较大的存储空间,且会给设备算力及能耗等带来较大的压力。因此,如何在多维特征信息中选择一部分合理的数据,是本文将要解决的问题。
特征选择是解决数据空间复杂度的一个方法,根据某些准则在原始特征空间中删除冗余或不相关特征,选取一组特征子集,以达到缩短算法运行时间,提高分类准确率的目的。例如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),进行升序排列,挑选出互信息值小的特征,降低特征的冗余性,作为辅助特征集,以避免重复计算,提高特征选择速度。
经过该方法筛选得到的特征子集为:设备/模块唯一序列号、通用参数、产品检测序列号、内嵌模块运行状态。该子集涵盖了尽可能多的类别信息,同时冗余性较小。
目前指纹生成常用的算法有MD5和SHA-1等,张智等[18]使用两次SHA256算法,保证加密强度;罗军舟等[19]直接使用了基于瞬态特征、基于调制信号和基于内部传感器特征作为指纹。设备指纹的生成算法通常需要考虑设备的数据处理性能、隐私保护、指纹的可识别性等因素,本文对国际国内摘要算法、非对称算法和对称算法在安全性和轻量化等方面进行了对比,具体情况如下。
以杂凑函数为基础,是一种单向密码体制,只有加密过程,不能解密,而且加密过程不需要密钥参与。国际上最流行的是MD4,在后续使用过程中,有的学者发现了MD4潜在的缺陷,陆续出现了MD5、SHA家族、PIPEMD等[20]新算法。国产SM3商用密码算法在抗碰撞攻击、原像攻击等方面,与国际上常见的摘要算法相比,整体上具有较高的安全性;在实现效率方面,与SHA-256相当,但增加了如P置换函数等改进技术,既节省了硬件开销,又提升了算法的运算效率和适用性[21]。
目前流行的非对称加密算法主要有 RSA、DSA、Elgamal等,国产商用密码算法有SM2和SM9,其安全性建立在椭圆曲线离散对数问题上。这类算法加密强度更高,在数据通信领域应用十分广泛。有研究表明[20],在相同安全性水平下,SM2算法使用较短的操作数就能提供与RSA同等的安全等级(大致为160~256位比1 024~3 072位),且得到的密文也相对较短。
该算法加解密速度非常快,适合于大数据量的加解密,缺点是密钥的分发和管理复杂,容易造成密钥泄漏。目前常用的对称加密算法包括DES、AES和RC4算法。国产商用密码算法SM4已发布为国家标准,其安全性比国际上大多数分组算法都具有优势,能够抵抗常见的多种攻击[21]。
由以上分析可知,非对称密码算法安全性高,但算法过于复杂,数据加密效率远不及对称密码算法高。摘要算法的单向性和输出长度固定的特征,可用于生成消息的“数字指纹”。因此,本文选择国密算法SM3和SM4,前者不需要存储密钥,可减轻设备的存储压力;后者适用于已经布局了密钥管理体系的应用场景,可分配专用密钥用于指纹计算。
本文设计的设备指纹生成流程包含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)
本文基于智能电能表数据采集设备(集成了安全单元)搭建测试环境,由于安全单元支持SM3、SM4算法,且可以与设备进行数据交互,因此在其上开发了设备指纹生成的软件代码。在本次实验过程中,对不同厂家的500台设备进行了指纹提取,并使用逻辑分析仪对计算过程进行监测及时长采集,结果如表1所示。
表1 设备指纹计算用时情况
Table 1 Device fingerprint calculation time
设备型号SM4计算时长/msSM3计算时长/ms指纹值长度/ByteDDZY71C-Z4.675 73.818 632DDZY71C4.680 73.821 132DDZY714.681 23.821 632DTZY71-Z4.680 43.821 432DTAD341-SF64.698 13.840 532DTSD341-SF14.705 13.839 632DTSD341-SF34.704 83.838 432DSZ331-SF24.663 23.820 932
实时性分析:根据表1可知,指纹提取计算耗时在3~5 ms之间。在设备生产阶段,指纹采集可以放在出厂检测之后,对生产流水线几乎没有影响;对于已经在现场运行的设备,指纹采集过程耗时也能够满足大多数应用场境的要求。
安全性分析:SM3算法的弱抗冲突性和强抗冲突性保证了指纹数据的安全;SM4算法优化了非线性变换,保证了较高的安全强度。
稳定性分析:由于采用互信息进行特征选择,容易发生变化的特征信息未参与运算,即使设备的软件版本、物理位置、通信方式等发生变化,不会影响设备指纹值。
不可伪造性分析:首先,特征子集中包含的隐性特征很难获取到。其次,SM3算法的单向性和对输入数据的高度敏感性保证了指纹难以伪造;SM4算法由于使用了专有密钥,做好密钥保护即可防止伪造的可能。
依据GM/T0005-2012对输出32字节指纹数据进行随机性测评,结果如表2所示。
表2 设备指纹随机性检测结果
Table 2 Random detection results of device fingerprint
P-VALUE检测项目0.735 908单比特频数检测0.005 204块内频数检测0.664 1680.020 831扑克检测0.769 5270.832 5610.960 198重叠子序列检测游程总数0.132 640游程分布0.490 483离散傅里叶检测0.264 901P-VALUE检测项目0.083 526块内最大1游程检测0.058 243二元推导检测0.830 808自相关检测0.971 699矩阵秩检测0.999 872累加和检测0.701 3660.723 804近似熵检测0.858 002线性复杂度检测0.264 901通用统计检测
唯一性分析:根据表2测评结果可知,使用该方案生成的指纹数据通过了频数、自相关、统计、线性复杂度等检测,满足随机性和唯一性要求。
同时,将本文提出的方法与部分文献进行对比,如表3所示,包括:涵盖特征类别、耗时、安全性、是否借助外部工具等方面。分析可知,本文所提出的方法在实时性、保密性等方面有一定优势。
表3 几种指纹提取方案的比较
Table 3 Comparison of several fingerprint
extraction schemes
对比项目文献[7]文献[9]文献[17]本文是否借助其他工具是是否否原始特征类别12264指纹提取用时//<8 ms<5 ms指纹保密性未加密未加密加密加密稳定性随环境变化高较高高
针对目前物联网感知层智能设备的身份识别问题,本文提出了一种基于设备特征标识及国密轻量级算法的设备指纹生成方法。首先,在设备本身特征基础上引入了安全单元的特征数据,对设备的软硬件特征信息进行分析;接着,利用基于专家信息加权机制对特征进行选择,保证了特征范围的合理性。再次,分析了信息安全领域常用的国际、国内相关算法,选择计算性能和安全性较高的SM3、SM4算法。通过实验验证,依据本文方案生成的指纹信息具有唯一性和不可伪造等特点,能够满足物联网感知设备对安全性及计算轻量级的要求,有利于数据隐私保护,为身份识别提供了数据基础。下一步将研究设备指纹在物联网中的具体应用,例如在标识公钥体系中的使用、安全接入、设备管理等。
[1] 胡向东,魏琴芳,胡蓉.应用密码学[M](4版).北京:电子工业出版社,2019:378-379.
[2] 张凯.物联网安全教程[M].北京:清华大学出版社,2014:315-320.
[3] 王增光,陈立云,卢昱.基于动态口令的WIFI身份认证方案研究[J].微电子学与计算机,2016,33(6):78-81.
WANG Z G,CHEN L Y,LU Y.Research on WiFi identity authentication scheme based on dynamic password[J].Microelectronics & Computer,2016,33(6):78-81.
[4] 宋光杰,张明慧,李晶皎.基于硬件加密的嵌人式网络通信的研究[J].电子技术应用,2010,36(1):148-150.
SONG G J,ZHANG M H,LI J J.Research of embedded network communications based on hardware encryption[J].Application of Electronic Technique,2010,36(1):148-150.
[5] 冯龙.基于生物特征和PKI技术的远程身份鉴别系统研究与设计[D].济南:山东大学,2019.
[6] CHEN D J,ZHANG N,QIN Z,et al.S2M:a lightweight acoustic fingerprints-based wireless device authentication protocol[J].IEEE Internet of Things Journal,2016,4(1):88-100.
[7] 方莹莹.基于手机电池的设备指纹技术的研究与实现[D].武汉:武汉大学,2018.
[8] 廖郭波.基于机器指纹的身份认证与许可证授权系统的设计和实现[D].成都:电子科技大学,2011.
[9] 李志伟,杨茂兴,铁跃焕.基于硬件设备内部指纹的软件锁功能的实现[J].微电子学与计算机,2013,30(4):123-126.
LI Z W,YANG M X,TIE Y H.Implementation of the software lock function based on Fingerprint within hardware[J].Microelectronics & Computer,2013,30(4):123-126.
[10] 李强,贾煜璇,宋金珂,等.网络空间物联网信息搜索[J].信息安全学报,2018,3(5):38-53.
LI Q,JIA Y X,SONG J K.et al.Search of internet of thing information in the cybersapce[J].Journal of Cyber Security,2018,3(5):38-53.
[11] 杜俊雄.基于物联网设备指纹的情境认证技术[D].南京:南京邮电大学,2019.
[12] LEE J,KIM D W.Feature selection for multi-label classification using multivariate mutual information[J].Pattern Recognition Letters,2013,34(3):349-357.
[13] 林梦雷,刘景华,王晨曦,等.基于标记权重的多标记特征选择算法[J].计算机科学,2017,44(10):289-295.
LIN M L,LIU J H,WANG C X,et al.Multi-label feature selection algorithm based on label weighting[J].Computer Science,2017,44(10):289-295.
[14] 卢文迪,李晓辉,汪涵.基于设备指纹的物联网设备安全接入方法研究与实现[J].电子设计工程,2019,27(3):136-141.
LU W D,LI X H,WANG H.Research and implementation of secure access method for IoT devices based on device fingerprint[J].Electronic Design Engineering,2019,27(3):136-141.
[15] LIN Y,HU Q,LIU J,et al.Multi-label feature selection based on max-dependency and min-redundancy[J].Neurocomputing,2015(168):92-103.
[16] 雍菊亚,周忠眉.基于互信息的多级特征选择算法[J].计算机应用,2020,40(12):3478-3484.
YONG J Y,ZHOU Z M.Multi-level feature selection algorithm based on mutual information[J].Journal of Computer Applications,2020,40(12):3478-3484.
[17] 程玉胜,宋帆,王一宾,等.基于专家特征的条件互信息多标记特征选择算法[J].计算机应用,2020,40(2),503-509.
CHENG Y S,SONG F,WANG Y B,et al.Multi-label feature selection algorithm based on conditional mutual information of expert feature[J].Journal of Computer Applications,2020,40(2):503-509.
[18] 张智,戴立伟.一种基于硬件特征的设备指纹生成方法:201811617977.2[P].2019-05-21.
[19] 罗军舟,杨明,凌振,等.网络空间安全体系与关键技术[J].中国科学:信息科学,2016,46(8):939.
LUO J Z,YANG M,LING Z,et al.Architecture and key technologies of cyberspace security[J].Science in China:Information Sciences,2016,46(8):939.
[20] CHRISTOR PAAR,JAN PELZL.深入浅出密码学-常用加密技术原理与应用[M].马小婷,译.北京:清华大学出版社,2012:238-241.
[21] 姚健.国产商用密码算法研究及性能分析[J].计算机应用与软件,2019,36(6):327-333.
YAO J.Domestic commercial cryptographic algorithm and its performance analysis[J].Computer Applications and Software,2019,36(6):327-333.
ZHANG Yanjie,PANG Zhenjiang,WANG Huinan,et al.Device fingerprint extraction method based on feature identification and cryptography[J].Journal of Taiyuan University of Technology,2022,53(4):707-712.