掌桥专利:专业的专利平台
掌桥专利
首页

基于sm2算法的声纹认证保护方法及系统

文献发布时间:2023-06-19 19:35:22


基于sm2算法的声纹认证保护方法及系统

技术领域

本发明涉及智能家居设备控制技术领域,特别涉及一种基于sm2算法的声纹认证保护方法及系统。

背景技术

随着进入万物互联时代,智能家居的不断发展,既有以小米为代表的家电互联生态圈,也有各类自主品牌制造的单个家电。在带来生活中和便捷的同时,智能家居、家电的安全与隐私问题越来越引起人们的关注。部分人认为智能家居的认证控制已成为人们生活中的潜在安全威胁,其是否真的能满足防盗需求,录入的数据安全是否具有保障。传统设计中部分智能家电为了显示其反应迅速、灵敏度高的特点,通常直接跳过身份认证,用语音控制智能家居或通过对人们的某些生物特征进行签名认证,从而达到安全认证效果。

在未来人们越来越依赖智能时代,人们在日常生活中需要不断进行身份认证来保护自己的安全性,防止隐私泄露或被攻击方控制,通过人工智能方法提取可变的生物特征进行个人身份识别认证已成为有效措施,但这也带来了以下问题:1、认证所用生物特征属于个人隐私,通过人工智能提取的过程中无相应安全措施,容易发生泄漏。2、在大量认证活动中,通过硬件进行认证处理需要大量的算力。但往往较小的移动硬件都因硬件特性存在处理速度不足的情况。3、智能家具场景下对认证的空间灵活性要求高,常见的人脸与指纹认证方法需要在固定地点进行认证。因此,亟需一种动态灵活的安全认证方案来满足智能家居设备使用需求。

发明内容

为此,本发明提供一种基于sm2算法的声纹认证保护方法及系统,能够避免使用者声纹特征在传输过程中遭到泄漏的威胁,有效保护使用者的隐私,灵活、高效、便捷。

按照本发明所提供的设计方案,提供一种基于sm2算法的声纹认证保护方法,包含:

收集智能家居设备环境温度数据和环境音量数据,并利用sm3算法生成sm2算法数字签名认证运算所需的伪随机大整数;

收集用户声音数据,利用预训练的声纹特征模型提取用户声音数据对应的声纹特征向量,并利用声纹特征向量生成sm2算法数字签名认证运算所需的公私钥对,其中,公钥传输至FPGA芯片中进行存储;

针对用户语音数据,基于sm2算法并调用FPGA芯片中的并行处理运算单元来执行数字签名认证运算过程。

作为本发明基于sm2算法的声纹认证保护方法,进一步地,收集智能家居设备环境温度数据和环境音量数据,并利用sm3算法生成sm2算法数字签名认证运算所需的伪随机大整数,包含:

首先,设置环境数据采集周期;

接着,利用设置的采集周期来定期采集环境温度数据和环境音量数据;

然后,对采集到的环境温度数据和环境音量数据进行模数转换,并通过sm3算法生成sm2算法中数字签名中倍乘运算所需的伪随机大整数。

作为本发明基于sm2算法的声纹认证保护方法,进一步地,声纹特征模型预训练过程包含:

通过收集声音数据来构建样本数据库,并对样本数据库中的语音数据进行处理来获取语音特征向量;

利用语音特征向量对卷积神经网络进行训练,将训练后的卷积神经网络作为用于提取语音数据声纹特征向量的声纹特征模型。

作为本发明基于sm2算法的声纹认证保护方法,进一步地,对样本数据库中的语音数据进行处理来获取语音特征向量,包含:

首先,获取语音数据的音频帧序列,并通过傅里叶变换处理得到音频帧序列中每一帧所对应的频谱图信息,该频谱图信息包括帧的时域信息和频域信息;

接着,获取频谱图信息的时域特征和频域特征;

然后,通过对时域特征和频域特征进行特征聚合和向量嵌入来获取语音特征向量。

作为本发明基于sm2算法的声纹认证保护方法,进一步地,还包含:

在FPGA芯片中部署电路逻辑配置文件,所述电路逻辑配置文件用于使所述FPGA芯片逻辑电路实现为sm2算法并行处理运算提供可信执行环境。

作为本发明基于sm2算法的声纹认证保护方法,进一步地,在FPGA芯片中部署电路逻辑配置文件,包含:

首先,针对sm2算法业务需求设置FPGA逻辑电路设计方案和器件类型,利用开发工具获取FPGA逻辑电路,并通过仿真工具对逻辑电路进行功能仿真验证;

接着,将满足FPGA逻辑电路设计方案预期的逻辑电路映射到器件类型结构资源中并生成用于配置到FPGA芯片上的逻辑网表;

然后,依据逻辑网表对FPGA芯片进行布局布线,将sm2算法数字签名认证运算进行芯片编程并生成并行处理运算程序。

作为本发明基于sm2算法的声纹认证保护方法,进一步地,基于sm2算法并调用FPGA芯片中的并行处理运算单元来执行数字签名认证运算过程中,利用FPGA芯片中的并行处理运算单元中的运算程序来分别执行sm2算法数字签名认证中的点乘运算、密码杂凑运算、点加运算、倍乘运算、坐标转换运算、模逆运算和模乘运算。

进一步地,本发明还提供一种基于sm2算法的声纹认证保护系统,包含:控制端,与控制端连接的处理终端,和分别与处理终端连接的第一采集端及第二采集端,其中,

第一采集端,用于实时采集环境温度数据和环境声音数据,并将环境温度数据和环境声音数据进行模数转换后传输至处理终端;

第二采集端,用于采集用户声音数据,并将声音数据传输至处理终端;

处理终端,用于利用环境温度数据和环境声音数据并通过伪随机数生成器生成sm2算法数字签名认证运算所需的伪随机大整数;将用户声音数据输入至已训练的声音特征模型来提取用户声音数据的声纹特征向量,利用声纹特征向量生成sm2算法数字签名认证运算所需的公私钥对;并依据伪随机大整数和公钥利用FPGA芯片来执行sm2算法数字签名认证运算并输出签名认证结果;

控制端,依据签名认证结果来对智能家居设备进行控制。

本发明的有益效果:

本发明通过人工智能模型对使用者的声纹特征进行提取,在设备端生成私钥,再结合国产自主可控的sm2算法,不进行声纹特征的传输,避免使用者声纹特征在传输过程中遭到泄漏的威胁,有效保护了使用者的隐私;采用FPGA硬件来执行sm2算法大规模标量乘运算,具有较好的灵活性和高性能特点,通过与SM2算法结合进行并行处理架构,认证速度快,能够满足大量认证活动的需要。对比常用的人脸,指纹等认证方式,本案中声纹认证能够具有更高的空间灵活性,认证者可在任何能够接收到其声音的地方进行认证,不需要专门到指定设备前进行认证,赋予认证者极高的便捷性,通用性、可扩展性强,便于在智能家居等领域中的实际应用。

附图说明:

图1为实施例中基于sm2算法的声纹认证保护流程示意图;

图2为实施例中FPGA结构设计流程示意;

图3为实施例中声纹认证保护系统原理框架示意;

图4为实施例中SM2算法流程示意。

具体实施方式:

为使本发明的目的、技术方案和优点更加清楚、明白,下面结合附图和技术方案对本发明作进一步详细的说明。

本发明实施例,参见图1所示,提供一种基于sm2算法的声纹认证保护方法,包含:

S101、收集智能家居设备环境温度数据和环境音量数据,并利用sm3算法生成sm2算法数字签名认证运算所需的伪随机大整数;

S102、收集用户声音数据,利用预训练的声纹特征模型提取用户声音数据对应的声纹特征向量,并利用声纹特征向量生成sm2算法数字签名认证运算所需的公私钥对,其中,公钥传输至FPGA芯片中进行存储;

S103、针对用户语音数据,基于sm2算法并调用FPGA芯片中的并行处理运算单元来执行数字签名认证运算过程。

认证者可在任何能够接收到其声音的地方进行认证,不需要专门到指定设备前进行认证,赋予认证者极高的便捷性,通用性、可扩展性强,通过环境数据和用户声音数据来生成sm2算法相关参数,并在FPGA芯片中并行执行相关数字签名验证运算,认证速度快,可满足大量认证活动的需要。

作为优选实施例,进一步地,收集智能家居设备环境温度数据和环境音量数据,并利用sm3算法生成sm2算法数字签名认证运算所需的伪随机大整数,包含:

首先,设置环境数据采集周期;

接着,利用设置的采集周期来定期采集环境温度数据和环境音量数据;

然后,对采集到的环境温度数据和环境音量数据进行模数转换,并通过sm3算法生成sm2算法中数字签名中倍乘运算所需的伪随机大整数。

需要注意说明的是,环境数据采集周期可根据应用场合和使用者需求进行设置,例如可设置为每间隔1s进行采集,也可通过延长采集间隔来节约能源等。设置方式也可为多种,例如在智能家居设备APP交互界面或者智能家居设备交互面板等。

本案实施例中,进一步地,声纹特征模型预训练过程包含:

通过收集声音数据来构建样本数据库,并对样本数据库中的语音数据进行处理来获取语音特征向量;

利用语音特征向量对卷积神经网络进行训练,将训练后的卷积神经网络作为用于提取语音数据声纹特征向量的声纹特征模型。

通过构建CNN卷积神经网络,并利用样本数据对CNN卷积神经网络进行训练优化,将训练优化后的网络模型作为提取声纹特征向量的声纹特征模型,可将模型嵌入智能终端中来满足智能控制的使用需求,将人工智能与智能控制相结合,提高语音识别效率和准确度,提升智能控制设备使用的便捷性。

进一步地,本案实施例中,通过对样本数据库中的语音数据进行处理来获取语音特征向量的步骤,可设计为包含:

首先,获取语音数据的音频帧序列,并通过傅里叶变换处理得到音频帧序列中每一帧所对应的频谱图信息,该频谱图信息包括帧的时域信息和频域信息;

接着,获取频谱图信息的时域特征和频域特征;

然后,通过对时域特征和频域特征进行特征聚合和向量嵌入来获取语音特征向量。

原始语音是不定长的时序信号,不适合直接作为机器学习算法的输入,本案申请中,对采集到的语音时域信号进行预处理,将其转换为语音特征向量,降低模型训练的难度,提升模型训练效率。

作为优选实施例,进一步地,本案方案还包含:在FPGA芯片中部署电路逻辑配置文件,所述电路逻辑配置文件用于使所述FPGA芯片逻辑电路实现为sm2算法并行处理运算提供可信执行环境。

针对sm2算法业务需求设置FPGA逻辑电路设计方案和器件类型,利用开发工具获取FPGA逻辑电路,并通过仿真工具对逻辑电路进行功能仿真验证;将满足FPGA逻辑电路设计方案预期的逻辑电路映射到器件类型结构资源中并生成用于配置到FPGA芯片上的逻辑网表;依据逻辑网表对FPGA芯片进行布局布线,将sm2算法数字签名认证运算进行芯片编程并生成并行处理运算程序。

参见图2所示,将FPGA作为sm2算法的硬件载体,通过对工作速度和器件本身的资源、成本、以及连线的可布性进行评估,从而选择合适的设计方案和器件类型。利用自顶向下的设计方法层层划分直到可以直接使用EDA元件库。电路设计完成后,使用专用的仿真工具对设计进行功能仿真,验证电路功能是否符合设计要求。进行综合优化时,将高级层次的描述转化为低级层次的描述。将综合生成的标准延时文件反标注到综合仿真模型中,估计门延时带来的影响。利用实现工具把逻辑映射到FPGA的资源中,决定逻辑的最佳布局,选择逻辑与输入输出功能链接的布线通道进行连线,并产生相应文件。布局布线之后进行时序仿真,在时序仿真中将布局布线的时延文件反标到设计中。产生使用的数据文件(位数据流文件),然后将编程数据下载至FPGA中,以利用FPGA芯片中的并行处理运算单元中的运算程序来分别执行sm2算法数字签名认证中的点乘运算、密码杂凑运算、点加运算、倍乘运算、坐标转换运算、模逆运算和模乘运算。

进一步地,基于上述的方法,本发明实施例还提供一种基于sm2算法的声纹认证保护系统,包含:控制端,与控制端连接的处理终端,和分别与处理终端连接的第一采集端及第二采集端,其中,

第一采集端,用于实时采集环境温度数据和环境声音数据,并将环境温度数据和环境声音数据进行模数转换后传输至处理终端;

第二采集端,用于采集用户声音数据,并将声音数据传输至处理终端;

处理终端,用于利用环境温度数据和环境声音数据并通过伪随机数生成器生成sm2算法数字签名认证运算所需的伪随机大整数;将用户声音数据输入至已训练的声音特征模型来提取用户声音数据的声纹特征向量,利用声纹特征向量生成sm2算法数字签名认证运算所需的公私钥对;并依据伪随机大整数和公钥利用FPGA芯片来执行sm2算法数字签名认证运算并输出签名认证结果;

控制端,依据签名认证结果来对智能家居设备进行控制。

需要注意说明的是,点乘运算模块作为整个sm2算法的核心,能够影响着整个算法的实现速率。将SM2算法中大规模运算过程配置为FPGA结构中的并列处理运算,例如,杂凑算法、点乘运算、点加运算、倍乘运算、模逆运算、模乘运算等均有FPGA逻辑电路来实现,通过FPGA结构中并列处理运算来获取声纹认证结果,提高运算效率,及减少运算时间。

坐标转换运算可为从仿射坐标到Jacobian坐标。模逆运算可为采用蒙哥马利算法联合费尔马定理的方式进行模逆操作。点乘运算可为采用Jacobi加重射影坐标系下进行,最后将计算的结果转化到仿射坐标系下。杂凑算法可采用SM3密码杂凑算法对SM2签名和验证过程中的消息进行压缩。

参见图3和4所示,本案实施例中,处理终端可采用树莓派4B来协调各设备协作工作,协作工作的各设备可包括温度传感器,声音传感器,模数转换器以及麦克风,通过树莓派4B中的人工智能模型将麦克风收集到声音数据转化为声纹特征。

FPGA设计中,将所编写的程序可加入elinx工程文件,并编写该程序的测试文件;可通过调用ModelSim仿真软件,对算法进行仿真测试。通过ModelSim仿真结果后,将已编译好的代码烧录进EQ6HL130FPGA板中。将烧录好的FPGA板与树莓派连接完成通过对多组数据进行仿真实现。

先期采集大量声音数据,建立样本数据库;在树莓派4B中搭建卷积神经网络,通过样本数据库进行训练,得到声纹特征模型;可设置温度传感器每隔1秒收集一次环境温度数据,声音传感器每隔1秒收集一次环境音量数据;模数转换器对温度和音量数据进行处理,并交由树莓派4B中的sm3算法进行计算生成伪随机大整数。

麦克风采集人的声音数据,交由树莓派4B中训练好的声纹特征模型提取对应人的声纹特征向量并生成SM2的公私钥对;将私钥删除,公钥传输给FPGA进行存储;当用户语音数据传来时,通过其生成的私钥和存储在FPGA中的公钥对加解密前后的数据进行对比,若一致,则认证通过,反之认证失败。

树莓派实际工作时各部件如:CPU、GPU、内存之间共同产生热量,导致温度的不断变化,可通过DS18B20温度传感器对实际温度进行收集,从而得到实际温度值;当认证者进行实际认证时,根据实际情况认证者每次认证声音的大小是随机且难以控制的,通过声音传感器收集并处理认证声音将声音大小数字化后输出;可通过读取相应的字典值,将三者进行组合,在树莓派中通过国密sm3算法生成后续认证算法中所需要的倍乘运算的伪随机大整数。

由于树莓派仅有音频输出口,而无音频输入口,无法录入声音信号,故采用USB外置声卡提供音频输入口。安装相应的录音程序以及相应的UI界面以方便对音量进行调节。程序安装完成后,将USB外置声卡插入树莓派的USB3.0接口,然后将麦克风的3.5mm插头插入USB外置声卡的3.5mm接口,即可开始录音。自动将收集到的用户语音生成wav文件,暂存在后端。

利用Python的PyTorch库,搭建卷积神经网络模型,样本数据库建立,在树莓派4B中的卷积神经网络模型利用样本数据库中语音特征向量进行训练,得到声纹特征模型;将麦克风采集到的待识别语音数据进行预处理,得到语音特征向量;将预处理后的语音特征向量输入声纹特征模型得到声纹特征向量。

将声纹特征向量和伪随机大整数作为sm2算法中的私钥,参与数字签名。将用户输入的语音口令进行签名后,通过在FPGA中存储的公钥进行认证,如若认证成功,则作为控制端的ESP8266芯片将使用户通过WIFI连接,从而控制智能设备。对比常用的人脸,指纹等认证方式,具有更高的空间灵活性,认证者可在任何能够接收到其声音的地方进行认证,不需要专门到指定设备前进行认证,赋予认证者极高的便捷性

除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对步骤、数字表达式和数值并不限制本发明的范围。

本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的系统而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。

结合本文中所公开的实施例描述的各实例的单元及方法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已按照功能一般性地描述了各示例的组成及步骤。这些功能是以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。本领域普通技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不认为超出本发明的范围。

本领域普通技术人员可以理解上述方法中的全部或部分步骤可通过程序来指令相关硬件完成,所述程序可以存储于计算机可读存储介质中,如:只读存储器、磁盘或光盘等。可选地,上述实施例的全部或部分步骤也可以使用一个或多个集成电路来实现,相应地,上述实施例中的各模块/单元可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。本发明不限制于任何特定形式的硬件和软件的结合。

最后应说明的是:以上所述实施例,仅为本发明的具体实施方式,用以说明本发明的技术方案,而非对其限制,本发明的保护范围并不局限于此,尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的精神和范围,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。

相关技术
  • 一种基于SM2算法的PMU系统认证方法
  • 一种基于国密SM2和SM3算法的RFID双向认证方法及系统
技术分类

06120115962872