本发明属于信息安全技术领域,涉及移动设备的行为认证,具体为一种基于用户坐标系与门控循环单元gru(gaterecurrentunit)网络的步态认证方法,可用于在计算资源有限的移动设备上实现高准确率的用户身份认证。
背景技术:
随着智能手机各方面性能的增强,其所实现的功能愈加强大,社交、购物、出行、娱乐等各类应用软件均可部署于手机上。为提供精准与个性化的服务,手机应用收集了大量用户的个人信息,包括地理位置、照片、支付明细这类敏感数据,因此手机隐私保护问题日益凸显。智能手机对当前用户身份合法性的认证,可以在一定程度上为用户隐私信息的私密性保驾护航。为此,手机上的身份认证系统相关研究被广泛关注。
认证系统通常分为三种:基于知识的、基于生理特征的和基于行为的身份识别。其中基于行为的生物特征认证通过用户如何进行活动来识别,而不是通过静态信息或生理特征这些,从而具有安全、连续、透明和低成本的特点。与基于知识的和基于生理特征的认证方式不同,行为生物特征数据的性质确保了它们不会被遗忘、交换和窃取。
伴随智能手机中用于捕捉行为特征信息的传感器的集成,基于行为特征的智能手机用户认证受到人们的广泛关注,如走路步态、击键和触屏动力学等。步态特征作为最常见的行为特征之一,可以用于实时和连续的身份认证,成为身份认证的研究热点。目前,存在两种主流的步态认证系统:基于视觉的系统和基于运动传感器的系统。传统的基于视觉的步态认证存在许多挑战,例如容易受到照明变化的影响;当人体形状和外观发生重大变化时,基于视觉的认证性能严重下降;在个人空间安装摄像头涉及隐私问题等。因此,基于运动传感器的系统更适合部署于步态认证系统中。
运动传感器收集到的数据相对不敏感,不像gps等数据直接暴露了位置和隐私信息,但又反映了我们的日常活动和生活习惯。每个传感器都捕获了一些关于运动的特定信息,例如,加速度计用来检测手机受到的加速度的大小和方向;陀螺仪测量的物理量是设备自身偏转、倾斜时的转动角速度;磁力计用于定位设备的方位。
在文献“modelinginteractivesensor-behaviorwithsmartphonesforimplicitandactiveuserauthentication”(2017ieeeinternationalconferenceonidentity,securityandbehavioranalysis(isba).ieee,2017:1-6.)中利用智能手机的内置传感器数据进行步态认证,为了去除设备方向对于传感器数据的干扰,使用运动传感器矢量的大小来表示数据,该方案的不足是:虽然这种方式在某些情况下是有效的,但有可能带来偏差,失去传感器三轴的重要信息,这种偏差会干扰后期的步态认证。此外,文献“基于步态特征的移动平台持续认证方案”(通信学报,2019,40(07):126-134.)中提出采用移动平均滤波、基于阈值的有效值判断等操作降低噪声干扰,使用模板截取实现信息的最大化利用,并提出了最佳时域与频域特征组合,通过支持向量机实现身份认证功能。该方案的不足是:采用传统的机器学习方法,即支持向量机,此方法需要在前期人工进行复杂的特征提取过程,针对特定简单任务时此方法会有效,但并不具有通用性。
技术实现要素:
针对上述现有身份认证技术存在的缺陷,本发明提出了一种基于用户坐标系与gru网络的步态认证方法,着眼于动作传感器,包括智能设备内置的加速度计、陀螺仪和磁力计等,在不干扰用户活动的前提下于后台运行,对内存和时间的消耗小;该方法对传感器数据进行了用户坐标系转换处理,使得用于训练认证模型的数据更具鲁棒性;同时,采用循环神经网络rnn(recurrentneuralnetwork)的变体gru,用于智能手机的步态认证,易于计算且训练效率更高,更适合于计算资源有限的移动设备。
为了实现上述目的,本发明采用以下技术方案来实现,包括如下步骤:
(1)当新用户注册系统时,通过数据采集模块获取用户在移动过程中的步态数据,包括加速度计数据、陀螺仪数据和磁力计数据;
(2)判断步态数据是否达到系统预先设定的样本数量,若是,则执行步骤(3);否则,返回步骤(1)继续采集;
(3)对步态数据进行预处理:
(3.1)采用小波变换去除步态数据中的高频噪声,且在去噪同时保留数据的高频成分,得到去噪后的步态数据;
(3.2)根据加速度计数据,将去噪后的步态数据进行周期分割,具体如下:
(3.2.1)按照下式计算局部最大m值:
其中ax、ay、az分别为加速度计x、y、z轴的值;
(3.2.2)将相邻的两个局部最大m值之间的步态数据作为一个步态周期,完成分割操作;
(3.3)将分割好的步态数据由设备坐标系转换为用户坐标系,得到用户坐标系下的步态数据,用以消除在采集时设备方向带来的偏差;
(4)构建训练数据集:
将当前注册用户的步态数据设为正样本,将其他用户的步态数据设为负样本,利用正负样本共同构成训练数据集;
(5)使用训练数据集对双向门控循环单元gru网络模型进行训练,得到训练好的模型,即gru用户模型,并将其存储在数据库中;
(6)当某用户的步态数据被用于认证时,从数据库中取出gru用户模型,并将预处理后的用户步态数据传入gru用户模型中,计算概率值p;
(7)根据预先设定的阈值,对概率值p进行阈值判断:
若p大于阈值则判定为合法用户,继续执行步骤(8);反之,判定为非法用户,直接执行步骤(9);
(8)决策模块不干扰用户正常使用智能手机,同时将此合法用户的步态数据添加到训练数据集中,更新训练数据集并增大认证阈值,完成对gru用户模型的更新,然后直接进入步骤(10);
(9)决策模块锁定手机,并要求用户进行显示认证;
(10)认证完成。
本发明与现有技术相比具有以下优点:
第一、本发明采用深度学习提供的端到端认证方法,可从原始数据中自适应地提取特征,从而有效避免了人工提取特征的局限性,提高了认证准确率;
第二、由于本发明通过智能设备内置的加速度计、陀螺仪和磁力计传感器进行步态数据采集,从而可于后台运行,不干扰用户活动且对内存和时间的消耗小;
第三、本发明为了消除原始传感器数据的偏差,将数据转换到一个与设备无关的坐标系,即用户坐标系,从而使得用于训练认证模型的数据更具鲁棒性;
第四、本发明在权衡智能手机的计算能力和时间成本后,选择采用rnn的变体gru用于智能手机的步态认证,易于计算且训练效率高,更适合于计算资源有限的移动设备。
附图说明
图1是本发明方法的实现流程图;
图2是本发明适用的系统结构示意图。
具体实施方式
下面结合附图对本发明做进一步的描述。
参照附图1和图2,本发明原理为:当新用户注册系统时,数据采集模块1先通过智能手机采集用户在移动过程中的各项数据,包括加速度计数据、磁力计数据和陀螺仪数据,并将这三个传感器记录的各项数据输入数据预处理模块2,在该模块中通过小波变换去除可能重复、不相关的步态数据,在去除高频噪声同时保留信号高频成分,接着将步态数据基于加速度计的取值进行周期分割,然后将三个传感器数据的x、y、z分别做变换,使得步态数据从设备坐标系转换到用户坐标系,若数据达到训练模型所需的样本量,则通过基于gru模型的训练模块3进行训练,利用交叉熵作为损失函数,反向传播对模型进行整体训练,并采用adam优化算法对损失函数进行优化,采用dropout技术防止过拟合,将训练好的用户模型存储在数据库中,通过基于gru模型的认证模块4将采集到的已注册用户步态数据进行数据预处理操作,然后传入存储在数据库的用户模型中进行认证,得到一个概率值p,将此概率值p与阈值进行比较,若p大于阈值判定为合法用户,若小于等于阈值判定为非法用户;若为合法用户,决策模块5则不干扰用户正常使用智能手机,同时将此合法用户的数据集添加到训练集中,并提高判定阈值,以实现用户模型的自适应更新;若为非法用户,决策模块将锁定手机,并要求用户进行显示认证。
实施例一:
参照图1,本发明提出的一种基于用户坐标系与gru网络的步态认证方法,具体包括如下步骤:
步骤1,当新用户注册系统时,通过数据采集模块获取用户在移动过程中的步态数据,包括加速度计数据、陀螺仪数据和磁力计数据;这里的数据采集模块具体为手机内置传感器api,其至少包括加速度计、陀螺仪和磁力计,用于获取相应的传感器数据。
步骤2,判断步态数据是否达到系统预先设定的样本数量,若是,则执行步骤3否则,返回步骤1继续采集;
步骤3,对步态数据进行预处理:
(3.1)采用小波变换去除步态数据中的高频噪声,该高频噪声是指重复、不相关的步态数据;本步骤在去噪同时保留数据的高频成分,得到去噪后的步态数据;
(3.2)根据加速度计数据,将去噪后的步态数据进行周期分割,具体如下:
(3.2.1)按照下式计算局部最大m值:
其中ax、ay、az分别为加速度计x、y、z轴的值;
(3.2.2)将相邻的两个局部最大m值之间的步态数据作为一个步态周期,完成分割操作;
(3.3)将分割好的步态数据由设备坐标系转换为用户坐标系,得到用户坐标系下的步态数据,用以消除在采集时设备方向带来的偏差;
将分割好的步态数据由设备坐标系转换为用户坐标系,具体实现如下:
(3.3.1)设备坐标系x轴到用户坐标系
(1a)根据下式计算步态周期t内的重力分量
其中
(1b)用户坐标系
(1c)计算加速度计向量a=[ax,ay,az]、陀螺仪向量g=[gx,gy,gz]以及磁力计向量m=[mx,my,mz]在用户坐标系
(3.3.2)设备坐标系y轴到用户坐标系
(2a)求设备坐标系下,x、y、z三轴数据的平均值
(2b)将三轴数据的平均值去中心化,即用每一坐标的值减去相应的平均值得到a′,并计算a′的协方差矩阵:
其中n代表一个步态周期内的样本个数;
(2c)求解协方差矩阵的特征值和特征向量,其中最大特征值对应的特征向量记为
(2d)计算加速度计向量a=[ax,ay,az]、陀螺仪向量g=[gx,gy,gz]以及磁力计向量m=[mx,my,mz]在用户坐标系
(3.3.3)设备坐标系z轴到用户坐标系
(3a)对用户坐标系
(3b)计算加速度计向量a=[ax,ay,az]、陀螺仪向量g=[gx,gy,gz]以及磁力计向量m=[mx,my,mz]在用户坐标系
(3.3.4)将设备坐标系的加速度计向量a=[ax,az,az]、陀螺仪向量g=[gx,gy,gz]和磁力计向量m=[mx,my,mz]转换为用户坐标系的加速度计向量
步骤4,构建训练数据集:
将当前注册用户的步态数据设为正样本,将其他用户的步态数据设为负样本,利用正负样本共同构成训练数据集;
步骤5,使用训练数据集对双向门控循环单元gru网络模型进行训练,得到训练好的模型,即gru用户模型,并将其存储在数据库中;其中双向门控循环单元gru网络的输入序列一致,但信息传递方向相反;双向门控循环单元gru包括更新门和重置门,其中更新门用于决定哪些步态数据要被遗忘以及哪些步态数据需要被添加,重置门用于决定对之前步态数据的遗忘程度。
对双向门控循环单元gru网络模型进行训练具体为一个优化过程,用于找到一组符合当前用户的gru用户模型参数,具体实现如下:
(5.1)随机初始化参数;
(5.2)以对数交叉熵最小化为目标,采用有监督的方式对参数进行调整;其中对数交叉熵作为损失函数,定义如下:
其中
(5.3)利用反向转播对gru网络模型进行整体训练,具体是使用adam优化算法优化模型的损失函数、采用dropout技术提高模型泛化能力以及采用mini-batch小批量训练法完成训练。
本实施例在使用adam优化算法优化模型的损失函数时,将学习率设为0.0001;为了防止过拟合,采用了dropout技术提高模型的泛化能力,将dropout大小设为0.2,即在训练时随机从网络中丢弃20%的神经网络单元;为了提高训练效率,采用mini-batch小批量训练法,设mini-batch大小为128。
步骤6,当某用户的步态数据被用于认证时,从数据库中取出gru用户模型,并将预处理后的用户步态数据传入gru用户模型中,计算概率值p;
步骤7,根据预先设定的阈值,对概率值p进行阈值判断:
若p大于阈值则判定为合法用户,继续执行步骤8;反之,判定为非法用户,直接执行步骤9;
步骤8,决策模块不干扰用户正常使用智能手机,同时将此合法用户的步态数据添加到训练数据集中,更新训练数据集并增大认证阈值,完成对gru用户模型的更新,然后直接进入步骤10;
其中,决策模块包括设备响应模块与模型更新模块两部分;模型更新模块用于针对合法用户步态习惯随时间推移发生的变化,使模型自适应变化,其具体是采用将新的合法用户样本添加到训练数据集中,同时增大判定为合法用户的阈值来实现。
步骤9,决策模块锁定手机,并要求用户进行显示认证,本实施例在这里采用口令认证,此处亦可以采用指纹认证等其它常规的认证方式;
步骤10,认证完成。
实施例二:
参照附图2,在本实施例中给出本发明方法适用的系统结构组成,具体包括:数据采集模块1、数据预处理模块2、基于gru模型的训练模块3、基于gru模型的认证模块4、决策模块5。
数据采集模块1通过手机内置传感器api采集用户在移动过程中的步态数据,这里的内置传感器包括加速度计、陀螺仪、磁力计等,通过这些仪器获取设备的各项数据,对用户隐私侵犯较小,同时对于设备的能耗也较小。
数据预处理模块2包括小波变换去噪模块201、步态周期分割模块202与用户坐标系转换模块203;其中小波变换去噪模块201用于过滤可能重复、不相关甚至是敏感的数据,去除高频噪声的同时保留信号高频成分;步态周期分割模块202将步态数据相邻的两个局部最大值之间的样本作为一个步态周期,进行分割;用户坐标系转换模块203将数据采集的原始坐标系即设备坐标系转换为用户坐标系,以消除在采集步态数据时设备方向带来的偏差;
基于gru模型的训练模块3采用基于双向gru的深度学习模型进行用户步态模型的训练,所述双向gru包括两层gru网络,这两层网络的输入序列一致,但信息传递方向相反,gru网络结构包括更新门和重置门,更新门决定要忘记哪些信息以及哪些信息需要被添加,重置门用户决定遗忘之前信息的程度;所述训练过程包括训练样本集设置、损失函数优化算法设置、梯度下降法设置。
基于gru模型认证模块4将采集的步态数据传入训练好的步态模型中,得到概率值p,将此概率值与预先设定好的阈值进行比较,若p大于阈值则判断为合法用户,否则为非法用户;
决策模块5包括设备响应模块501与模型更新模块502;所述设备响应模块501若认证判定为非法用户,则将设备锁定,要求用户进行显示认证,若判定为合法用户,则可以正常使用设备;所述模型更新模块502若认证模型判定当前用户为合法用户,则将此用户的步态数据添加到训练集中,更新模型的训练集,同时增大判定为合法用户的阈值。所述模型更新模块502可以应对合法用户步态习惯随时间推移发生的变化,将新的合法用户样本添加到训练集中,同时增大判定为合法用户的阈值可以使模型自适应的变化,以避免频繁的模型重置。
本发明未详细说明部分属于本领域技术人员公知常识。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,显然对于本领域的专业人员来说,在了解了本发明内容和原理后,都可能在不背离本发明原理、结构的情况下,进行形式和细节上的各种修正和改变,但是这些基于本发明思想的修正和改变仍在本发明的权利要求保护范围之内。
1.一种基于用户坐标系与gru网络的步态认证方法,其特征在于,包括如下步骤:
(1)当新用户注册系统时,通过数据采集模块获取用户在移动过程中的步态数据,包括加速度计数据、陀螺仪数据和磁力计数据;
(2)判断步态数据是否达到系统预先设定的样本数量,若是,则执行步骤(3);否则,返回步骤(1)继续采集;
(3)对步态数据进行预处理:
(3.1)采用小波变换去除步态数据中的高频噪声,且在去噪同时保留数据的高频成分,得到去噪后的步态数据;
(3.2)根据加速度计数据,将去噪后的步态数据进行周期分割,具体如下:
(3.2.1)按照下式计算局部最大m值:
其中ax、ay、az分别为加速度计x、y、z轴的值;
(3.2.2)将相邻的两个局部最大m值之间的步态数据作为一个步态周期,完成分割操作;
(3.3)将分割好的步态数据由设备坐标系转换为用户坐标系,得到用户坐标系下的步态数据,用以消除在采集时设备方向带来的偏差;
(4)构建训练数据集:
将当前注册用户的步态数据设为正样本,将其他用户的步态数据设为负样本,利用正负样本共同构成训练数据集;
(5)使用训练数据集对双向门控循环单元gru网络模型进行训练,得到训练好的模型,即gru用户模型,并将其存储在数据库中;
(6)当某用户的步态数据被用于认证时,从数据库中取出gru用户模型,并将预处理后的用户步态数据传入gru用户模型中,计算概率值p;
(7)根据预先设定的阈值,对概率值p进行阈值判断:
若p大于阈值则判定为合法用户,继续执行步骤(8);反之,判定为非法用户,直接执行步骤(9);
(8)决策模块不干扰用户正常使用智能手机,同时将此合法用户的步态数据添加到训练数据集中,更新训练数据集并增大认证阈值,完成对gru用户模型的更新,然后直接进入步骤(10);
(9)决策模块锁定手机,并要求用户进行显示认证;
(10)认证完成。
2.根据权利要求书1所述的方法,其特征在于:步骤(1)中的数据采集模块具体为手机内置传感器api,其至少包括加速度计、陀螺仪和磁力计。
3.根据权利要求书1所述的方法,其特征在于:步骤(3.1)中所述高频噪声是指重复、不相关的步态数据。
4.根据权利要求书1所述的方法,其特征在于:步骤(3.3)将分割好的步态数据由设备坐标系转换为用户坐标系,具体实现如下:
(3.3.1)设备坐标系x轴到用户坐标系
(1a)根据下式计算步态周期t内的重力分量
其中
(1b)用户坐标系
(1c)计算加速度计向量a=[ax,ay,az]、陀螺仪向量g=[gx,gy,gz]以及磁力计向量m=[mx,my,mz]在用户坐标系
(3.3.2)设备坐标系y轴到用户坐标系
(2a)求设备坐标系下,x、y、z三轴数据的平均值
(2b)将三轴数据的平均值去中心化,即用每一坐标的值减去相应的平均值得到a′,并计算a′的协方差矩阵:
其中n代表一个步态周期内的样本个数;
(2c)求解协方差矩阵的特征值和特征向量,其中最大特征值对应的特征向量记为
(2d)计算加速度计向量a=[ax,ay,az]、陀螺仪向量g=[gx,gy,gz]以及磁力计向量m=[mx,my,mz]在用户坐标系
(3.3.3)设备坐标系z轴到用户坐标系
(3a)对用户坐标系
(3b)计算加速度计向量a=[ax,ay,az]、陀螺仪向量g=[gx,gy,gz]以及磁力计向量m=[mx,my,mz]在用户坐标系
(3.3.4)将设备坐标系的加速度计向量a=[ax,az,az]、陀螺仪向量g=[gx,gy,gz]和磁力计向量m=[mx,my,mz]转换为用户坐标系的加速度计向量
5.根据权利要求书1所述的方法,其特征在于:步骤(5)中所述双向门控循环单元gru网络的输入序列一致,但信息传递方向相反。
6.根据权利要求书5所述的方法,其特征在于:双向门控循环单元gru包括更新门和重置门,其中更新门用于决定哪些步态数据要被遗忘以及哪些步态数据需要被添加,重置门用于决定对之前步态数据的遗忘程度。
7.根据权利要求书1所述的方法,其特征在于:步骤(5)中对双向门控循环单元gru网络模型进行训练具体为一个优化过程,用于找到一组符合当前用户的gru用户模型参数,具体如下:
(5.1)随机初始化参数;
(5.2)以对数交叉熵最小化为目标,采用有监督的方式对参数进行调整;其中对数交叉熵作为损失函数,定义如下:
其中
(5.3)利用反向转播对gru网络模型进行整体训练。
8.根据权利要求书7所述的方法,其特征在于:步骤(5.3)中利用反向转播对gru网络模型进行整体训练,具体是使用adam优化算法优化模型的损失函数、采用dropout技术提高模型泛化能力以及采用mini-batch小批量训练法完成训练。
9.根据权利要求书1所述的方法,其特征在于:步骤(8)和(9)中的决策模块包括设备响应模块与模型更新模块两部分;其中模型更新模块用于针对合法用户步态习惯随时间推移发生的变化,使模型实现自适应变化。
10.根据权利要求书1所述的方法,其特征在于:步骤(9)中的显示认证采用口令认证或指纹认证方式。
技术总结