基于终端指纹的终端认证方法及系统技术方案

技术编号:39291933 阅读:13 留言:0更新日期:2023-11-07 10:59
本发明专利技术公开了一种基于终端指纹的终端认证方法,包括选定若干终端;采集终端的软硬件信息并处理得到终端软硬件指纹;合成终端指纹;采用终端指纹训练自编码器,并根据自编码器的损失值设定阈值;采集待认证终端的软硬件信息并处理得到待认证终端的软硬件指纹;合成待认证终端的终端指纹;将待认证终端的终端指纹输入到训练后的自编码器中并根据自编码器的损失值完成待认证终端的认证判定。本发明专利技术还公开了一种实现所述基于终端指纹的终端认证方法的系统。本发明专利技术能够更全面地描述终端特征,提高了认证的准确性,能够减少误认及无法认证情况的发生,而且能够有效防止指纹信息的篡改和伪造;可靠性高、准确性好且安全稳定。准确性好且安全稳定。准确性好且安全稳定。

【技术实现步骤摘要】
基于终端指纹的终端认证方法及系统


[0001]本专利技术属于信息安全
,具体涉及一种基于终端指纹的终端认证方法及系统。

技术介绍

[0002]安全认证是保证信息安全的重要技术之一。目前,认证凭据生成方案主要是传统的密码、密钥对和数字证书等方案。其中,密码是最常见的认证凭据之一,用户通过选择或设置一个用于认证的字符串作为密码;但是,密码方案往往存在弱密码、密码重用、密码管理困难等问题。密钥对认证方案,一般使用公钥和私钥对进行认证;公钥用于加密数据,私钥用于解密和签名;但是,密钥对方案的问题包括密钥管理困难、信任链问题等。而在数字证书方案中,存在数字证书颁发机构签名验证的过程;但是,数字证书也存在证书管理复杂、私钥安全性、CA信任等问题。
[0003]目前也存在提取终端静态属性生成认证凭据的方法,能够避免秘钥管理等问题。但大多为提取单一属性,存在安全性和可靠性的问题。安全性方面,由于终端硬件属性是静态的,因此容易受到攻击。例如,攻击者可以使用恶意软件来窃取这些信息,单一属性被成功窃取的可能性更大。可靠性方面,由于终端硬件属性是固定的,因此一旦有调整会导致原有认证凭据失效。例如,终端的某个硬件损坏进行更换或者配置变更等,而终端本体并未变更,影响可靠性。

技术实现思路

[0004]本专利技术的目的之一在于提供一种可靠性高、准确性好且安全稳定的基于终端指纹的终端认证方法。
[0005]本专利技术的目的之二在于提供一种实现所述基于终端指纹的终端认证方法的系统。
[0006]本专利技术提供的这种基于终端指纹的终端认证方法,包括如下步骤:
[0007]S1.选定若干终端;
[0008]S2.采集步骤S1选定的终端的软硬件信息,并处理得到终端软硬件指纹;
[0009]S3.根据步骤S2得到的终端软硬件指纹,合成终端指纹;
[0010]S4.基于步骤S3得到的终端指纹,训练自编码器,并根据自编码器的损失值设定阈值;
[0011]S5.采集待认证终端的软硬件信息,并处理得到待认证终端的软硬件指纹;
[0012]S6.将步骤S5得到的待认证终端的软硬件指纹,合成待认证终端的终端指纹;
[0013]S7.将步骤S6得到的待认证终端的终端指纹输入到训练后的自编码器中,并根据自编码器的损失值与设定的阈值之间的关系,完成待认证终端的认证判定。
[0014]步骤S2所述的采集步骤S1选定的终端的软硬件信息,并处理得到终端软硬件指纹,具体包括如下步骤:
[0015]通过编程语言中的接口,采集终端的软硬件信息;所述的接口包括platform接口、
wmi接口、psutil接口和subprocess接口;
[0016]对于选定的终端:
[0017]若终端为Window操作系统的终端,则采集CPU的CPU序列号、内存的uuid值、硬盘的序列号、主板的序列号和BIOS的uuid信息,作为终端的软硬件信息;
[0018]若终端为Andriod操作系统的终端,则采集Android ID值、Pseudo ID值和uuid值作为终端的软硬件指纹。
[0019]步骤S3所述的根据步骤S2得到的终端软硬件指纹,合成终端指纹,具体包括如下步骤:
[0020]根据步骤S2得到的终端软硬件指纹,将终端的软硬件指纹进行拼接,得到终端指纹,创建对应的ASCII字符和索引字典;具体地,创建一个空字典,用于存储每个字符对应的索引值;遍历所有可打印的ASCII字符,为每个字符分配一个唯一的索引值,并将字符和索引存储到字典中;
[0021]遍历数据库中的硬件指纹,找到最长的硬件指纹,并记录其长度作为最大长度;创建一个形状为(指纹数量,最大长度,字符集大小)的零数组,用于存储one

hot编码。
[0022]对于每个硬件指纹id,将其转化为一个字符列表;遍历字符列表中的每个字符;使用字符和索引的字典查找字符对应的索引值;将零数组中相应的位置设置为1,表示该字符的one

hot编码。
[0023]将零数组转化为张量,以便作为自编码器的输入。使用这些编码张量来训练自编码器模型。
[0024]步骤S4所述的基于步骤S3得到的终端指纹,训练自编码器,并根据自编码器的损失值设定阈值,具体包括如下步骤:
[0025]所述的自编码器包括编码器和解码器;
[0026]所述的编码器用于将输入数据映射到低维度空间;编码器第一全连接层用于将输入数据进行线性变换,将输入大小由101降维度至64的中间表示空间;第一全连接层的参数包括权重和偏置,通过学习进行调整,以最大程度地捕捉输入数据的重要特征;编码器ReLU层用于引入非线性激活函数,以增加模型的表达能力;ReLU函数将负输入值设为零,并保留正输入值不变,从而使得编码器能够学习更复杂的特征表示,并提高模型的非线性拟合能力;编码器第二全连接层将中间表示空间的64维映射到编码空间12维,第二全连接层接收来自ReLU层的输出,并压缩为更低维度的编码表示;第二全连接层的参数通过学习进行调整,以最好地保留输入数据的特征;
[0027]所述的解码器用于将编码器输出的低维度空间数据恢复到原始的高维度;解码器第一全连接层用于将编码器输出的低维度编码数据进行线性变换,映射回原始的高维度空间;第一全连接层的参数与编码器第二全连接层的参数相反,第一全连接层的参数通过学习进行调整,以尽可能准确地重构输入数据;解码器ReLU层引入非线性激活函数,以增加模型的表达能力;解码器ReLU层接收来自解码器第一全连接层的输出,并将负输入值设为零,保留正输入值不变;解码器第二全连接层将ReLU层的输出映射回原始的高维度空间;解码器第二全连接层接收来自解码器ReLU层的输出,并转换为与输入数据具有相同维度的重构数据;解码器第二全连接层的参数通过学习进行调整,以最大限度地减小重构数据与原始输入数据之间的差异;
[0028]在训练时,设定对应的学习率、权重衰减率和迭代轮数;采用均方误差损失函数作为整体损失函数;采用Adam优化算法对自编码器的模型参数进行优化;
[0029]根据最终得到的自编码器所对应的整体损失函数的值,设定对应的阈值。
[0030]步骤S5所述的采集待认证终端的软硬件信息,并处理得到待认证终端的软硬件指纹,具体包括如下步骤:
[0031]通过编程语言中的接口,采集待认证终端的软硬件信息;所述的接口包括platform接口、wmi接口、psutil接口和subprocess接口;
[0032]对于待认证终端:
[0033]若待认证终端为Window操作系统的终端,则采集CPU的CPU序列号、内存的uuid值、硬盘的序列号、主板的序列号和BIOS的uuid信息,作为待认证终端的软硬件信息;
[0034]若待认证终端为Andriod操作系统的终端,则采集Android ID值、Pseudo ID值和uuid值作为待认证终端的软硬件指本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于终端指纹的终端认证方法,包括如下步骤:S1.选定若干终端;S2.采集步骤S1选定的终端的软硬件信息,并处理得到终端软硬件指纹;S3.根据步骤S2得到的终端软硬件指纹,合成终端指纹;S4.基于步骤S3得到的终端指纹,训练自编码器,并根据自编码器的损失值设定阈值;S5.采集待认证终端的软硬件信息,并处理得到待认证终端的软硬件指纹;S6.将步骤S5得到的待认证终端的软硬件指纹,合成待认证终端的终端指纹;S7.将步骤S6得到的待认证终端的终端指纹输入到训练后的自编码器中,并根据自编码器的损失值与设定的阈值之间的关系,完成待认证终端的认证判定。2.根据权利要求1所述的基于终端指纹的终端认证方法,其特征在于步骤S2所述的采集步骤S1选定的终端的软硬件信息,并处理得到终端软硬件指纹,具体包括如下步骤:通过编程语言中的接口,采集终端的软硬件信息;所述的接口包括platform接口、wmi接口、psutil接口和subprocess接口;对于选定的终端:若终端为Window操作系统的终端,则采集CPU的CPU序列号、内存的uuid值、硬盘的序列号、主板的序列号和BIOS的uuid信息,作为终端的软硬件信息;若终端为Andriod操作系统的终端,则采集Android ID值、Pseudo ID值和uuid值作为终端的软硬件指纹。3.根据权利要求2所述的基于终端指纹的终端认证方法,其特征在于步骤S3所述的根据步骤S2得到的终端软硬件指纹,合成终端指纹,具体包括如下步骤:根据步骤S2得到的终端软硬件指纹,将终端的软硬件指纹进行拼接,得到终端指纹,创建对应的ASCII字符和索引字典;具体地,创建一个空字典,用于存储每个字符对应的索引值;遍历所有可打印的ASCII字符,为每个字符分配一个唯一的索引值,并将字符和索引存储到字典中;遍历数据库中的硬件指纹,找到最长的硬件指纹,并记录其长度作为最大长度;创建一个形状为(指纹数量,最大长度,字符集大小)的零数组,用于存储one

hot编码。对于每个硬件指纹id,将其转化为一个字符列表;遍历字符列表中的每个字符;使用字符和索引的字典查找字符对应的索引值;将零数组中相应的位置设置为1,表示该字符的one

hot编码。将零数组转化为张量,以便作为自编码器的输入。使用这些编码张量来训练自编码器模型。4.根据权利要求3所述的基于终端指纹的终端认证方法,其特征在于步骤S4所述的基于步骤S3得到的终端指纹,训练自编码器,并根据自编码器的损失值设定阈值,具体包括如下步骤:所述的自编码器包括编码器和解码器;所述的编码器用于将输入数据映射到低维度空间;编码器第一全连接层用于将输入数据进行线性变换,将输入大小由101降维度至64的中间表示空间;第一全连接层的参数包括权重和偏置,通过学习进行调整,以最大程度地捕捉输入数据的重要特征;编码器ReLU层用于引入非线性激活函数,以增加模型的表达能力;ReLU函数将负输入值设为零,并保留正输
入值不变,从而使得编码器能够学习更复杂的特征表示,并提高模型的非线性拟合能力;编码器第二全连接层将中间表示空间的64维映射到编码空间12维,第二全连接层接收来自ReLU层的输出,并压缩为更低维度的编码表示;第二全连接层的参数通过学习进行调整,以最好地保留输入数据的特征;所述的解码器用于将编码器输出的低维度空间数据恢复到原始的高维度;解码器第一全连接层用于将编码器输出的低维度编码数据进行线性变换,映射回原始的高维度空间;第一全连接层的参数与编码器第二全连接层的参数相反,第一全连接层的参数通过学习进行调整,以尽可能准确地重构输入数据;解码器ReLU层引入非线性激活函数,以增加模型的表达能力;解码器ReLU层接收来自解码器第一全连接层的输出,并将负输入值设为零,保留正输入值不变;解码器第二全连接层将ReLU层的输出映射回原始的高维度空间;解码器第二全连接层接收来自解码器ReLU层的输出,并转换为与输入数据具有相同维度的重构数据;解码器第二全连接层的参数通过学习进行调整,以最大限度地减小重构数据与原始输入数据之间的差异;在训练时,设定对应的学习率、权重衰减率和迭代轮数;采用均方误差损失函数作为整体损失函数;采用Adam优化算法对自编码器的模型参数进行优化;根据最终得到的自编码器所对应的整体损失函数的值,设定对应的阈值。5.根据权利要求4所述的基于终端指纹的终端认证方法,其特征在于步骤S5所述的采集待认证终...

【专利技术属性】
技术研发人员:孙毅臻余琦田建伟张士庚田峥朱宏宇杨芳僚祝视肖凯方彬薛静远蒋广周子健
申请(专利权)人:国网湖南省电力有限公司信息通信分公司国家电网有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1