智能设备的鉴权方法和装置、存储介质、电子装置与流程

文档序号:18526553发布日期:2019-08-24 10:18阅读:200来源:国知局
智能设备的鉴权方法和装置、存储介质、电子装置与流程
本发明涉及互联网领域,具体而言,涉及一种智能设备的鉴权方法和装置、存储介质、电子装置。
背景技术
:随着移动业务的越来越丰富,网络中的移动接入终端的类型也越来越多,如物联网终端、车载网终端、手机终端等,设备在建立连接或控制关系时,通常要进行鉴权以确定控制或者服务权限。在相关技术中,进行鉴权包括以下两种方式,其一是通过一方电子设备扫描对方设备的二维码来完成鉴权过程,这种方法依赖于二维码的存在,若二维码丢失,或需要进行鉴权的设备不具有二维码扫描功能,则无法进行鉴权,且通过扫描二维码鉴权的步骤较为繁琐,鉴权速度慢;另一种是通过uim(useridentifymodule,用户识别模块)卡或sim(subscriberidentitymodule,客户识别模块)卡实现,例如,鉴权方向被鉴权的电子设备发送验证码,该电子设备在接收到验证码后通过手动输入验证码来完成鉴权,操作较为繁琐,鉴权速度慢,且有些设备(如物联网、车载网的终端、手机终端等)停机或欠费后,由于用户未及时处理,设备终端的手机卡长期处于通信断开状态,就不能接收验证码,从而导致鉴权失败。针对上述的问题,目前尚未提出有效的解决方案。技术实现要素:本发明实施例提供了一种智能设备的鉴权方法和装置、存储介质、电子装置,以至少解决相关技术中对设备进行鉴权的操作较为繁琐的技术问题。根据本发明实施例的一个方面,提供了一种智能设备的鉴权方法,包括:获取第一设备的第一指纹信息,第一设备为待确认是否为合法设备的设备;比较第一指纹信息与第二设备的第二指纹信息中相同类型的信息内容,得到第一比较结果,第一比较结果中的每个元素用于表示第一指纹信息和第二指纹信息中的一个相同类型的信息内容是否相同,第二设备为已被鉴权为合法设备的智能设备;获取第一比较结果在目标特征维度中的每个特征维度上的特征信息和为每个特征维度设置的权重信息;根据第一比较结果在每个特征维度上的特征信息和为每个特征维度设置的权重信息确定第一设备是否为合法设备。根据本发明实施例的另一方面,还提供了一种智能设备的鉴权装置,包括:第一获取单元,用于获取第一设备的第一指纹信息,其中,第一设备为待确认是否为合法设备的智能设备,第一指纹信息用于标识第一设备;比较单元,用于比较第一指纹信息与第二设备的第二指纹信息中相同类型的信息内容,得到第一比较结果,其中,第一比较结果中的每个元素用于表示第一指纹信息和第二指纹信息中的一个相同类型的信息内容是否相同,第二设备为已被鉴权为合法设备的智能设备,第二指纹信息用于标识第二设备;第二获取单元,用于获取第一比较结果在目标特征维度中的每个特征维度上的特征信息和为每个特征维度设置的权重信息;确定单元,用于根据第一比较结果在每个特征维度上的特征信息和为每个特征维度设置的权重信息确定第一设备是否为合法设备。根据本发明实施例的另一方面,还提供了一种存储介质,该存储介质包括存储的程序,程序运行时执行上述的方法。根据本发明实施例的另一方面,还提供了一种电子装置,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器通过计算机程序执行上述的方法。在本发明实施例中,在对第一设备进行鉴权时,可获取第一设备的第一指纹信息,并获取第一指纹信息与第二设备的第二指纹信息之间的第一比较结果,第二设备为被鉴权为合法设备的设备,并基于第一比较结果在目标特征维度上的特征信息确定第一设备是否为合法设备,由于整个鉴权流程可以在服务器端进行,对于用户设备(如第一设备)而言是无感知的,不需要用户在第一设备执行相关流程,可以解决相关技术中对设备进行鉴权的操作较为繁琐的技术问题,进而达到降低对设备进行鉴权的操作复杂度的技术效果。附图说明此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:图1是根据本发明实施例的智能设备的鉴权方法的硬件环境的示意图;图2是根据本发明实施例的一种可选的智能设备的鉴权方法的流程图;图3是根据本发明实施例的一种可选的灰度图的示意图;图4是根据本发明实施例的一种可选的比较数据的示意图;图5是根据本发明实施例的一种可选的神经网络结构的示意图;图6是根据本发明实施例的一种可选的设备的鉴权系统的示意图;图7是根据本发明实施例的一种可选的比较数据的示意图;图8是根据本发明实施例的一种可选的扫描结果的示意图;图9是根据本发明实施例的一种可选的智能设备的鉴权方法的流程图;图10是根据本发明实施例的一种可选的智能设备的鉴权装置的示意图;以及图11是根据本发明实施例的一种终端的结构框图。具体实施方式为了使本
技术领域
的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。设备指纹技术能够准确稳定地标识一个设备,在信贷、支付、保险等产品上具有广泛的应用前景,在各种应用场景中越来越被看重,根据本发明实施例的一方面,提供了一种智能设备的鉴权方法的方法实施例。可选地,在本实施例中,上述智能设备的鉴权方法可以应用于如图1所示的由服务器101和终端103所构成的硬件环境中。如图1所示,服务器101通过网络与终端103进行连接,可用于为终端或终端上安装的客户端提供服务(如游戏服务、应用服务、地图服务、自动驾驶、鉴权服务等),可在服务器上或独立于服务器设置数据库105,用于为服务器101提供数据存储服务,上述网络包括但不限于:广域网、城域网或局域网,终端103并不限定于pc、手机、平板电脑等。对于终端(包括上述的第一设备)而言,在向服务提供者获取某些服务时,如游戏服务、地图服务、内容服务、支付服务、即时通讯服务等,往往需要对该终端的合法性进行鉴权,服务提供者会在鉴权通过后向该终端提供所请求的服务,提供服务的服务器和鉴权的服务器可以是同一服务器,也可是分开的服务器,本申请对此不做限定,后续以提供服务的服务器和鉴权的服务器是同一服务器(即服务器101)为例进行说明。根据前文可知,相关技术中的鉴权操作依赖于单一特征,鉴权的步骤较为繁琐,鉴权速度慢,为了更为快速简洁的实现鉴权,如图2所示,本申请提供了一种根据本发明实施例的一种可选的智能设备的鉴权方法的流程图,本发明实施例的智能设备的鉴权方法可以由服务器101来执行,该方法可以包括以下步骤:步骤s202,当用户在终端上安装了支付应用、即时通讯应用、炒股应用等业务应用之后,可通过这些应用在终端上发起支付业务等业务服务,此时向业务服务器发起服务请求的终端就相当于第一设备,在第一设备发起服务请求时服务器获取第一设备的第一指纹信息,第一设备为待确认是否为合法设备的智能设备,第一指纹信息用于标识第一设备。指纹信息(包括上述的第一指纹信息和下述的第二指纹信息等),或称设备指纹,是指可通过采集设备的一些硬件信息、系统信息和网络信息等,通过这些信息可以稳定地标识该设备,设备指纹是很多风控系统的基础组件之一。前述的合法设备是指所拥有的设备指纹被服务器所认可的智能设备,即已经被服务器分配有指纹标识id的设备,例如,用户曾经安装过该相同的业务应用的智能设备,会被记录下该设备的指纹信息以及分配的指纹标识id。步骤s204,服务器比较第一指纹信息与第二设备的第二指纹信息中相同类型的信息内容,得到第一比较结果,第一比较结果中的每个元素用于表示第一指纹信息和第二指纹信息中的一个相同类型的信息内容是否相同,第二设备为已被鉴权为合法设备的智能设备,第二指纹信息用于标识第二设备。在服务器端(如服务器本地或与服务器连接的数据库)保存被鉴权为合法设备的第二设备的第二指纹信息,当接收到第一设备的鉴权请求时,即可将第一指纹信息与保存的第二指纹信息逐个比较,并获取二者之间的比较结果。需要说明的是,对于每个指纹信息可以包括多个类型(不同于下述的特征维度)的信息,比较结果(包括上述的第一比较结果、下述的第二比较结果等)包括两个指纹信息(如第一指纹信息和第二指纹信息)在每个类型上的比较结果,如在每个类型上的信息内容是否相同,对每个类型上的信息内容是否相同的结果会被作为一个元素(一个元素可以是一个或者多个比特位)保存在比较结果中。步骤s206,获取第一比较结果在目标特征维度中的每个特征维度上的特征信息和为每个特征维度设置的权重信息。步骤s208,服务器根据第一比较结果在每个特征维度上的特征信息和为每个特征维度设置的权重信息确定第一设备是否为合法设备,若确定第一设备是合法设备,即第一设备是曾经被鉴权通过的合法设备,可以直接放行该服务请求,以便于为该设备提供所需的服务;若确定第一设备不是合法设备,即第一设备不是曾经被鉴权通过的合法设备,则拦截所发起的服务请求,避免产生不安全因素(如盗用即时通讯应用帐号、支付帐号等行为)的产生,在利用短信验证码、预留问题对使用第一设备的用户的身份进行验证通过后再允许其所发起的服务请求。由于指纹信息是可以稳定地标识某一设备的信息,如果能够找到与第一指纹信息匹配的第二指纹信息,则说明第一指纹信息的来源设备(即第一设备)与该第二指纹信息的来源设备(即第二设备)为同一设备,也即第一设备为合法设备。上述实施例以本发明实施例的智能设备的鉴权方法由服务器101来执行为例进行说明,本发明实施例的智能设备的鉴权方法也可以由终端103来执行,其与上述实施例的区别在于执行主体由服务器切换为了终端,本发明实施例的智能设备的鉴权方法还可以是由服务器101和终端103共同执行,由终端执行其中的一个或者两个步骤(如步骤s202),而服务器执行剩余步骤(如步骤s204至步骤s208)。其中,终端103执行本发明实施例的智能设备的鉴权方法也可以是由安装在其上的客户端来执行。通过上述步骤s202至步骤s208,在对第一设备进行鉴权时,可获取第一设备的第一指纹信息,并获取第一指纹信息与第二设备的第二指纹信息之间的第一比较结果,第二设备为被鉴权为合法设备的设备,并基于第一比较结果在目标特征维度上的特征信息确定第一设备是否为合法设备,由于整个鉴权流程可以在服务器端进行,对于用户设备(如第一设备)而言是无感知的,不需要用户在第一设备执行相关流程,可以解决相关技术中对设备进行鉴权的操作较为繁琐的技术问题,进而达到降低对设备进行鉴权的操作复杂度的技术效果。本申请的技术方案在信贷、支付、保险等产品上具有广泛的应用前景,本申请提出的技术方案通过综合考虑移动端硬件系统、系统信息和网络信息等相关特征,通过把深度学习应用在本申请的设备指纹方案中,极大的提高了指纹方案的性能。下面结合图2所示的步骤进一步详述本申请的技术方案:在步骤s202提供的技术方案中,设备指纹是指可以对某设备进行识别的唯一标识,通过收集设备的多个属性的值(如手机版本型号、操作系统版本型号、浏览器版本型号等),就能够从设备指纹库里面找出所确定的设备标识。随着互联网的发展,设备指纹在金融风控等互联网服务中起着重大的作用,通过设备指纹和用户行为的结合可以有效防止诈骗,并且还可以保证账户的安全。在互联网提供相关服务时,为了保证服务的安全,服务器可在第一设备发起即时通讯服务时(如登录微信等即时通讯应用)获取第一设备的第一指纹信息,第一设备为待确认是否为合法设备的设备,第一指纹信息用于标识第一设备。前述的第一设备即发起即时通讯的服务请求的设备,第一指纹信息可以携带于服务请求中发送给服务器,还可以在发起服务请求之后(或者之前),按照与服务器的交互将第一指纹信息返回给服务器;对于第一设备而言,可以通过将数据采集代码嵌入在设备系统层、应用层等方式来采集指纹信息(包括第一指纹信息等),以嵌入到应用层(即sdk设备指纹)为例,通过把数据采集代码sdk(全称为softwaredevelopmentkit,中文名称为软件开发工具包)嵌入到应用app中,在需要时利用嵌入的数据采集代码采集相关数据,然后根据数据采集代码中的指纹生成方案将采集到的多个类型的信息内容组合得到设备指纹。在步骤s204提供的技术方案中,服务器获取第一指纹信息与第二设备的第二指纹信息之间的第一比较结果,第二设备为被鉴权为合法设备的设备,第二指纹信息用于标识第二设备。对于服务器而言,保存有成功注册过或者成功登陆过的设备(即被鉴权为合法设备的设备)的设备指纹(即前述第二指纹信息),如保存在如图1所示的数据库中,由于设备指纹具有唯一稳定地标识某一设备的特性,因此,为了识别发起服务请求的设备是否为合法设备,服务器仅需将发起服务请求的设备(如第一设备)的指纹信息与合法设备(即第二设备)的指纹信息进行对比即可,若二者匹配,则说明该设备是合法设备,否则不是合法设备。服务器在获取第一指纹信息与第二设备的第二指纹信息之间的第一比较结果的过程中,可以通过神经网络模型中的一层神经网络(如可以将该层神经网络集成到第一模型中,也可作为一个单独的神经网络模型)实现;还可以通过存在于应用层或者系统层的软件服务来实现,在该层神经网络或者软件服务中,可以比较第一指纹信息的多种类型中的每种类型的信息内容与第二指纹信息中相同类型的信息内容内容。上述的多种类型(本申请的类型的数量级达到了10甚至更高)包括但不局限于硬件信息、系统信息和网络信息等类型,如语言、时区、系统版本、国际移动设备识别码imei(全称为internationalmobileequipmentidentity)等。在一个可选地实施例中,上述的第二设备为所有合法设备中与第一设备至少在一个类型上的信息内容相同的设备,上述的第一指纹信息包括第一设备与所有第二设备的比较结果,例如,比较结果(如第一比较结果等)可以数据表的形式存在,在该数据表中用元素“1”表示比较结果为“相同”,用元素“0”表示比较结果为“不同”,元素“1”和“0”所表示的比较结果与前述内容也可相反,本申请对此不做限定。在步骤s206提供的技术方案中,服务器在基于第一比较结果在目标特征维度上的特征信息确定第一设备是否为合法设备时,获取第一比较结果在目标特征维度中的每个特征维度上的特征信息和为每个特征维度设置的权重信息。在步骤s208提供的技术方案中,服务器根据第一比较结果在每个特征维度上的特征信息和为每个特征维度设置的权重信息确定第一设备是否为合法设备。可选地,本申请的步骤s208示出的技术方案可以通过深度神经网络模型实现,若是初次使用则可以获取预先保存的或者从另一提供者获取,后者相当于购买第一模型这一商品)预先训练好的第一模型(第一模型可以为前述服务器训练好的或者另一服务器训练好的);若不是初次使用,即已经获取有第一模型则可以直接使用。上述的实施例中,在步骤s208的基于第一比较结果在目标特征维度上的特征信息确定第一设备是否为合法设备之前,对于服务器或者模型提供者,可以按照如图9所示的步骤s901-步骤s903进行训练:步骤s901,获取同一设备(记为第三设备)的多个指纹信息和不同设备(记为第四设备)的指纹信息,多个指纹信息的任意两个指纹信息中至少一个类型的信息内容不同,这多个指纹信息可以视为一个指纹组,同一指纹组中保存一个第三设备在不同时期的指纹(第三设备随着所处时期不同,其指纹信息中的某个或者某几个信息内容会发生变化,如系统版本的更迭、所处时区的变化等),步骤1中第三设备的数量可以为多个,那么指纹组的数量也可以为一个或多个。步骤s902,根据同一设备的多个指纹信息确定第二比较结果,并根据不同设备的指纹信息确定第三比较结果,第二比较结果中的每个元素用于指示多个指纹信息的两个指纹信息中的相同类型的信息内容是否相同,第三比较结果中的每个元素用于指示两个不同设备的指纹信息中的相同类型的信息内容是否相同,如系统版本是否相同、imei是否相同等,第二比较结果和第三比较结果参见前述第一比较结果的存在形式,可以数据表的形式存在。步骤s903,将第二比较结果和第一标识信息作为第二模型的输入,并将第三比较结果和第二标识信息作为第二模型的输入,以得到完成训练的第一模型,第一标识信息用于指示第二比较结果为同一设备的指纹信息的比较结果,第二标识信息用于指示第三比较结果为不同设备的指纹信息的比较结果,第二标识信息和第一标识信息相当于标记,用于告知第二模型正确的输出结果是什么,以便于第二模型对内部的权重参数进行调整,进而可以实现正确识别的功能。可选地,在完成了上述的模型训练之后,在第一模型中,可以执行如下操作:提取出第一比较结果在目标特征维度上的特征信息,在基于第一比较结果在目标特征维度上的特征信息确定第一设备是否为合法设备可时,可根据第一比较结果在每个特征维度上的特征信息和为每个特征维度设置的权重信息确定第一设备是否为合法设备,如计算n个特征维度上的特征信息的特征值xi与相应权重ki的乘积ki*xi,然后各个乘积之和可选地,若特征值xi是进行归一化处理的,那么可以将作为目标概率,若特征值xi是未进行归一化处理的,那么还可以将作为目标概率xi是指从第一比较结果中提取到的特征信息,xj是指从若第一设备为合法设备时提取到的特征信息,kj是相应特征的权重,xi是xj中的一部分,ki是kj中的一部分,n≤m。可选地,在上述实施例中,获取第一比较结果在目标特征维度中的每个特征维度上的特征信息时,可将第一比较结果作为第一模型的输入,第一比较结果可以为一个p列q行的矩阵,q表示第二设备的个数,p表示多个类型的类型个数,此时对于第一模型而言,其相当于得到的是像素值为“0”和“1”的灰度图,从而可以将对指纹信息的处理转换为对灰度图(矩阵中的每个元素相当于一个像素)的处理,可通过第一模型确定每个特征维度上的特征信息,如纹理特征,第一模型为采用正样本数据和负样本数据对第二模型进行训练后得到的,正样本数据包括同一设备的多个指纹信息之间的第二比较结果,负样本数据包括不同设备的指纹信息之间的第三比较结果,第二模型为深度神经网络模型。需要说明的是,p列q行的矩阵相当于灰度图,第一模型的作用相当于找出该灰度图能够用于判定的特征,例如,参见图3,模型想要在灰度图中识别出毛,在训练阶段就会在灰度图中学习到的猫耳朵301、猫鼻子302、猫嘴巴303、猫尾巴304、猫身子305、猫爪306、猫眼307等特征,而这些特征在灰度图中均可以理解为纹理特征。类似地,在本申请的技术方案中,第一模型在训练阶段所学习到特征也是表示比较结果的灰度图的纹理特征,图4中每个小方块代表一个像素,为黑色表示比较结果为“1”(即相同),为白色表示比较结果为“0”(即不相同)。可选地,参见图5,在通过第一模型确定每个特征维度上的特征信息时,可以通过第一模型中的多个卷积层和多个池化层对第一比较结果中的元素进行处理,得到每个特征维度上的特征信息,第一比较结果中的每个元素用于指示第一指纹信息和第二指纹信息中的一个类型的信息内容是否相同,卷积层用于对第一比较结果中的元素执行特征提取操作,池化层用于对卷积层提取到的信息的维度执行降维处理,得到每个特征维度上的特征信息。上述多个卷积层可包括第一卷积层、第二卷积层以及第三卷积层,多个池化层可包括第一池化层、第二池化层以及第三池化层,通过第一模型中的多个卷积层和多个池化层对第一比较结果中的元素进行处理,得到每个特征维度上的特征信息可包括如下所示的步骤s904-步骤s909:步骤s904,通过第一模型的第一卷积层conv1-8对第一比较结果feature-84中的元素执行特征提取操作,得到第三信息。步骤s905,通过第一模型的第一池化层pool2-2对第三信息执行降维处理,得到第一信息,其中,第一池化层与第一卷积层连接。步骤s906,通过第一模型的第二卷积层conv3-8对第一信息执行特征提取操作,得到第四信息,其中,第二卷积层与第一池化层连接。步骤s907,通过第一模型的第二池化层pool4-2对第四信息执行降维处理,得到第二信息,其中,第二池化层与第二卷积层连接。步骤s908,通过第一模型的第三卷积层conv5-16对第二信息执行特征提取操作,得到第五信息,其中,第三卷积层与第二池化层连接。步骤s909,通过第一模型的第三池化层pool6-2对第五信息执行降维处理,得到每个特征维度上的特征信息flat,其中,第三池化层与第三卷积层连接。正如前述实施例所言,卷积层所执行的操作是特征提取,对于每个卷积层,输入可以为多维向量,其相当于是一个矩阵,每个卷积层即相当于是对该矩阵执行特征再提取,与前述灰度图的实施例类似,然后利用池化层对提取的特征进行降维处理,避免过高的维度影响后续的计算速度。可选地,在第一模型中,根据第一比较结果在每个特征维度上的特征信息和为每个特征维度设置的权重信息确定第一设备是否为合法设备可包括:步骤s910,通过第一模型的全连接层,利用每个特征维度上的特征信息和为每个特征维度设置的权重信息确定第一设备是否为合法设备,全连接层中包括在训练时学习到的每个特征维度设置的权重信息,可选地,此处的全连接层可以为多层,如包括全连接层dense7-32和全连接层dense8-2,然后通过softmax函数,输出两个设备相似的概率p_same(即目标概率)。可选地,利用每个特征维度上的特征信息和为每个特征维度设置的权重信息确定第一设备是否为合法设备包括:根据目标特征维度的多个乘积之和确定目标概率率p_same(即的运算结果),多个乘积中的每个乘积为一个特征维度上的特征信息xi与为特征维度设置的权重信息k之间的乘积;在目标概率大于目标阈值(如0.9)的情况下,确定第一设备为合法设备;在目标概率不大于目标阈值的情况下,确定第一设备不为合法设备。可选地,在存在目标概率大于目标阈值的第二设备的情况下,返回该第二设备的指纹id为第一设备的指纹id,若目标概率大于目标阈值的第一设备为多个,则返回其中目标概率最大的那个为第一设备的指纹id,以便于进一步为第一设备提供所需的服务。可选地,若服务器提供的服务是针对特定人群的服务、收费服务等,在确定第一设备不为合法设备之后,可以拦截第一设备的服务请求,并返回通知告知该设备所请求的服务对其不可用;若服务器提供的服务是开放的服务,在确定第一设备不为合法设备之后,可以为第一设备分配一个新的指纹id,其相当于将第一设备设置为了合法设备。相关技术中的设备指纹技术主要存在以下三个方面的局限性:1、稳定性不足,主要是设备某个属性发生微小变化时便生成了不同的指纹,从而会造成不能准确识别合法设备;2、差异性不足,为了确保设备指纹的稳定性,将会导致不同设备计算出相同的设备指纹;3、实时性不足,有些算法为了追求高稳定性、高差异性,使得不能实时计算设备指纹,无法满足线上生产实时性需求。在本申请的技术方案中,若应用app需要唯一并且稳定的标识一个设备,则可嵌入采用本申请的技术方案的数据采集sdk,在本申请的方案中,基于采集并上传到的特征,判定此设备是否是第一次出现,如果是第一次出现则分配一个新的唯一指纹id,否则,把此设备关联到以前出现过的设备上,并分配此设备旧的指纹id,所使用的维度较多且能够通过神经网络模型来实时运算,从而可以克服前述问题。作为一种可选的实施例,下面结合具体的实施方式详述本申请的技术方案:在一个可选的设备指纹处理方案中,可通过一些重要字段单个或者组合起来作比较,来确定该设备是否新设备,比如,对于安卓设备,可以采集国际移动设备识别码imei、系统版本androidid、设备序列号serialno等字段,当a设备第一次出现时,采集其特征字段imei_a、androidid_a、serialno_a,如果一段时候后,设备a系统更新导致androidid_a变成androidid_b,那么三个特征字段中依然有两个相同,此时可以判定为此设备为以前的设备a。上述方案中存在如下缺点:1)限制了特征的数量,容易被攻破,因为算法需要比较特征不变的比例,所以限定了所选特征必须是极少的重要的特征,比如,如果加入语言和时区这两个特征,当用户更改这两个设置时,就有androidid_a、语言和时区三个特征不一样,只有imei_a和serialno_a一样,只有40%的特征一致,可能此时就会判定此设备不是设备a,然而实际上可能仍然是设备a,造成误判;2)没有考虑特征重要性,各个特征在设备指纹识别的重要性必然不同,而该算法没有考虑特征重要性。在本申请的技术方案中,通过采集数量级达到10甚至更高的特征(如八十多维的特征),通过构建多层卷积神经网络,提取这些特征的相关性和重要性,训练得到深度学习模型,通过该模型判别设备是否是新设备。采用本申请的技术方案的总体架构图如图6所示。在深度学习模型结构(即第一模型)中,指纹算法采用了一个八层的神经网路,构成一个深度学习框架,深度学习模型结构图如图5所示,对图5的说明解释如下:feature-84是算法的输入数据,即比较结果数据,如为一个84维的特征向量,构造方法参见后文详述,可以将这个特征重组为一个10*10的矩阵,不足的元素用0进行填充,参见图7,可以将第一列、最后一列、第二列至第七列的最后一位元素作为填充对象,其余每个元素代表一个特征的比较结果。conv1-8是第一个卷积层(即第一卷积层),卷积核尺寸可为2*2(其相当于每次可以扫描的两行两列范围内的特征,扫描结果如图8中的a、b、c、d所示),卷积核的个数可为8个,如每个卷积核用于提取一类特征,其相当于可以提取至少8类特征,用0进行填充padding以保持卷积后得到数据的长宽,步长为1,后面的卷积层(即第二卷积层和第三卷积层)除了更改卷积核的个数,其他设置也可按此设置,不再赘述,第一卷积层输出的矩阵尺寸可为10*10*8,第二层为池化层pool2-2,尺寸可为2*2,步长为1,池化函数为maxpooling,在池化函数中,第一卷积层输出的矩阵被不重叠的分割成若干个同样大小的小块(poolingsize,如2*2),每个小块内可取最大的数字,再舍弃其他节点后,保持原有的平面结构得出输出,后面的池化层与此设置一样,不再赘述,此层输出的矩阵尺寸可为5*5*8。第三层为卷积层conv3-8,卷积核的个数为8,此层输出的矩阵尺寸为5*5*8,第四层为池化层pool4-2,输出此层输出的矩阵尺寸为3*3*8。第五层为卷积层conv5-16,卷积核的个数为16,此层输出的矩阵尺寸为3*3*16。第六层为池化层pool6-2,此层输出的矩阵尺寸为2*2*16。第七层为全连接层dense7-32,它的输入是1*64矩阵(由2*2*16矩阵压平而来),此层输出的矩阵尺寸为1*32,第八层为全连接层dense8-2,此层输出的矩阵尺寸为1*2。然后通过softmax函数,输出两个设备相似的概率p_same,当此值大于一个阈值(如0.9)时,判断为同一个设备,其相当于进行二分类。深度学习模型的训练样本的构建过程如下:对于同一个设备,前后采集多条数据(如两条数据),然后随机地以不同概率更改不同字段的数据值,比如系统版本更新概率>androidid更新概率>imei更新概率>分辨率更新概率。比如现在有100个设备,每个设备采集了2条数据(即指纹信息),若系统版本更新概率为3%,那么在100个设备中随机选出3个设备,对这三个设备的2条数据随机抽取一条,更新系统版本特征,其他97个设备的系统版本特征保持不变,对于其他特征,也可按照此方法进行更新,从而可以构建出正负样本用的指纹数据。然后利用上述的指纹数据构建正负样本,正样本使用的是相同设备的指纹信息,负样本使用的是不同设备的指纹信息,对于正样本,同一设备的两条记录进行比较,得到比较结果,在比较结果中若某一特征(即同一类型的数据)相同则等于1,不同则等于0。对于负样本,用不同设备的两条记录进行比较,相同则等于1,不同则等于0。例如,对于表1(表1和后续列表示意性地示出了五个维度的特征,实际特征的维度可以比这个更高)中所示的设备采集记录示例表,假设fa_2=fb_2,fa_3=fb_3,则构造的样本数据如表2所示的样本构造结果示例表,一共构造六条数据,去除重复的两条,还剩余4条样本,训练样本构造完成后,训练深度学习模型,训练完成后模型放到图6的总体结构中使用,来判别两个设备是不是同一个设备。表1表2标签特征1特征2特征3特征4特征5101111110110001100001100001100000100采用本申请的技术方案实现设备指纹识别的整体流程如下:步骤1,设备w进入了设备指纹系统,系统上传设备的采集数据,然后从采集数据中提取特征,表3示出了设备w的相关特征。表3设备特征1特征2特征3特征4特征5wfw_1fw_2fw_3fw_4fw_5步骤2,利用指纹算法遍历已有指纹库,把已有设备的最新特征数据和设备w的特征进行比较,相同则为0,不同则为1,形成模型的输入数据,一种可选的已有指纹库如表4所示,若其中的fw_1=f1,fw_2=f2,fw_3=f3,fw_5=f5,fw_3=f8,则生成的模型输入数据如表5所示,该数据表类似于图7所示的灰度图。表4设备id特征1特征2特征3特征4特征5111f1f2f3f4f5222f6f7f8f9f10表5设备id特征1特征2特征3特征4特征51111110122200100步骤3,模型判断已有指纹库中是否有设备与设备w相同(即判断是否存在相同的设备),假设模型判断设备w和设备111是同一设备,则指纹库返回设备id标识111给应用系统,当判断与多个设备都是同一设备的时候,取概率最高的那个设备id返回,假设模型判断已有设备指纹库中没有设备与设备w是同一个设备,那么把设备w存进设备指纹库并生成新的指纹id,如表6所示,然后把新设备指纹id下发给应用。表6设备id特征1特征2特征3特征4特征5111f1f2f3f4f5222f6f7f8f9f10333fw_1fw_2fw_3fw_4fw_5采用本申请的技术方案,把深度学习应用到了设备指纹算法中,把更多维度的特征引入算法当中,通过卷积层和池化层进行特征选择和降维,提高了算法的稳定性和准确率;在模型训练样本的构建中,从设备相关特征随着时间会有不同程度的变化的角度考虑,对不同特征引入不同的更新概率来构造样本,有效地模拟还原了真实场景。需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。根据本发明实施例的另一个方面,还提供了一种用于实施上述智能设备的鉴权方法的智能设备的鉴权装置。图10是根据本发明实施例的一种可选的智能设备的鉴权装置的示意图,如图10所示,该装置可以包括:第一获取单元901,用于用于获取第一设备的第一指纹信息,其中,第一设备为待确认是否为合法设备的智能设备,第一指纹信息用于标识第一设备。比较单元903,用于比较第一指纹信息与第二设备的第二指纹信息中相同类型的信息内容,得到第一比较结果,其中,第一比较结果中的每个元素用于表示第一指纹信息和第二指纹信息中的一个相同类型的信息内容是否相同,第二设备为已被鉴权为合法设备的智能设备,第二指纹信息用于标识第二设备。第二获取单元905,用于获取第一比较结果在目标特征维度中的每个特征维度上的特征信息和为每个特征维度设置的权重信息。确定单元907,用于根据第一比较结果在每个特征维度上的特征信息和为每个特征维度设置的权重信息确定第一设备是否为合法设备。需要说明的是,该实施例中的第一获取单元901可以用于执行本申请实施例中的步骤s202,该实施例中的比较单元903可以用于执行本申请实施例中的步骤s204,该实施例中的第二获取单元905可以用于执行本申请实施例中的步骤s206,该实施例中的确定单元907可以用于执行本申请实施例中的步骤s208。此处需要说明的是,上述模块与对应的步骤所实现的示例和应用场景相同,但不限于上述实施例所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在如图1所示的硬件环境中,可以通过软件实现,也可以通过硬件实现。通过上述模块,在对第一设备进行鉴权时,可获取第一设备的第一指纹信息,并获取第一指纹信息与第二设备的第二指纹信息之间的第一比较结果,第二设备为被鉴权为合法设备的设备,并基于第一比较结果在目标特征维度上的特征信息确定第一设备是否为合法设备,由于整个鉴权流程可以在服务器端进行,对于用户设备(如第一设备)而言是无感知的,不需要用户在第一设备执行相关流程,可以解决相关技术中对设备进行鉴权的操作较为繁琐的技术问题,进而达到降低对设备进行鉴权的操作复杂度的技术效果。可选地,第二获取单元还可用于:将第一比较结果作为第一模型的输入,通过所调用的第一模型确定每个特征维度上的特征信息,其中,第一模型为采用正样本数据和负样本数据对第二模型进行训练后得到的,正样本数据包括同一设备的多个指纹信息之间的第二比较结果,负样本数据包括不同设备的指纹信息之间的第三比较结果,第二模型为深度神经网络模型。可选地,第二获取单元还可用于:通过调用的第一模型从第一比较结果中识别出每个特征维度上的特征信息,其中,第一模型为采用正样本数据和负样本数据对第二模型进行训练后得到的,正样本数据包括同一设备的多个指纹信息之间的第二比较结果,负样本数据包括不同设备的指纹信息之间的第三比较结果,第二模型为深度神经网络模型。可选地,多个卷积层包括第一卷积层、第二卷积层以及第三卷积层,多个池化层包括第一池化层、第二池化层以及第三池化层,其中,第二获取单元还可用于:通过第一模型中的第一卷积层和第一池化层对第一比较结果中的元素分别执行特征提取操作和特征降维处理,得到第一信息,其中,第一池化层与第一卷积层连接;通过第一模型中的第二卷积层和第二池化层对第一信息分别执行特征提取操作和特征降维处理,得到第二信息,其中,第二卷积层与第一池化层连接,第二池化层与第二卷积层连接;通过第一模型中的第三卷积层和第三池化层对第二信息分别执行特征提取操作和特征降维处理,得到每个特征维度上的特征信息,其中,第三卷积层与第二池化层连接,第三池化层与第三卷积层连接。上述的确定单元还可用于:通过第一模型的全连接层,利用每个特征维度上的特征信息和为每个特征维度设置的权重信息确定第一设备是否为合法设备,其中,全连接层中包括在训练时学习到的每个特征维度设置的权重信息。可选地,上述的确定单元利用每个特征维度上的特征信息和为每个特征维度设置的权重信息确定第一设备是否为合法设备时,可根据目标特征维度的多个乘积之和确定目标概率,其中,多个乘积中的每个乘积为一个特征维度上的特征信息与为特征维度设置的权重信息之间的乘积;在目标概率大于目标阈值的情况下,确定第一设备为合法设备;在目标概率不大于目标阈值的情况下,确定第一设备不为合法设备。可选地,本申请的装置还可包括:指纹获取单元,用于在基于第一比较结果在目标特征维度上的特征信息确定第一设备是否为合法设备之前,获取同一设备的多个指纹信息和不同设备的指纹信息,其中,多个指纹信息的任意两个指纹信息中至少一个相同类型的信息内容不同;结果确定单元,用于根据同一设备的多个指纹信息确定第二比较结果,并根据不同设备的指纹信息确定第三比较结果,其中,第二比较结果中的每个元素用于指示多个指纹信息的两个指纹信息中的相同类型的信息内容是否相同,第三比较结果中的每个元素用于指示两个不同设备的指纹信息中的相同类型的信息内容是否相同;训练单元,用于将第二比较结果和第一标识信息作为第二模型的输入,并将第三比较结果和第二标识信息作为第二模型的输入,以得到完成训练的第一模型,其中,第一标识信息用于指示第二比较结果为同一设备的指纹信息的比较结果,第二标识信息用于指示第三比较结果为不同设备的指纹信息的比较结果。采用本申请的技术方案,把深度学习应用到了设备指纹算法中,把更多维度的特征引入算法当中,通过卷积层和池化层进行特征选择和降维,提高了算法的稳定性和准确率;在模型训练样本的构建中,从设备相关特征随着时间会有不同程度的变化的角度考虑,对不同特征引入不同的更新概率来构造样本,有效地模拟还原了真实场景。此处需要说明的是,上述模块与对应的步骤所实现的示例和应用场景相同,但不限于上述实施例所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在如图1所示的硬件环境中,可以通过软件实现,也可以通过硬件实现,其中,硬件环境包括网络环境。根据本发明实施例的另一个方面,还提供了一种用于实施上述智能设备的鉴权方法的服务器或终端。图11是根据本发明实施例的一种终端的结构框图,如图11所示,该终端可以包括:一个或多个(图11中仅示出一个)处理器1001、存储器1003、以及传输装置1005,如图11所示,该终端还可以包括输入输出设备1007。其中,存储器1003可用于存储软件程序以及模块,如本发明实施例中的智能设备的鉴权方法和装置对应的程序指令/模块,处理器1001通过运行存储在存储器1003内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的智能设备的鉴权方法。存储器1003可包括高速随机存储器,还可以包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器1003可进一步包括相对于处理器1001远程设置的存储器,这些远程存储器可以通过网络连接至终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。上述的传输装置1005用于经由一个网络接收或者发送数据,还可以用于处理器与存储器之间的数据传输。上述的网络具体实例可包括有线网络及无线网络。在一个实例中,传输装置1005包括一个网络适配器(networkinterfacecontroller,nic),其可通过网线与其他网络设备与路由器相连从而可与互联网或局域网进行通讯。在一个实例中,传输装置1005为射频(radiofrequency,rf)模块,其用于通过无线方式与互联网进行通讯。其中,具体地,存储器1003用于存储应用程序。处理器1001可以通过传输装置1005调用存储器1003存储的应用程序,以执行下述步骤:获取第一设备的第一指纹信息,其中,第一设备为待确认是否为合法设备的智能设备,第一指纹信息用于标识第一设备;比较第一指纹信息与第二设备的第二指纹信息中相同类型的信息内容,得到第一比较结果,其中,第一比较结果中的每个元素用于表示第一指纹信息和第二指纹信息中的一个相同类型的信息内容是否相同,第二设备为已被鉴权为合法设备的智能设备,第二指纹信息用于标识第二设备;获取第一比较结果在目标特征维度中的每个特征维度上的特征信息和为每个特征维度设置的权重信息;根据第一比较结果在每个特征维度上的特征信息和为每个特征维度设置的权重信息确定第一设备是否为合法设备。处理器1001还用于执行下述步骤:根据目标特征维度的多个乘积之和确定目标概率,其中,多个乘积中的每个乘积为一个特征维度上的特征信息与为特征维度设置的权重信息之间的乘积;在目标概率大于目标阈值的情况下,确定第一设备为合法设备;在目标概率不大于目标阈值的情况下,确定第一设备不为合法设备。采用本发明实施例,在对第一设备进行鉴权时,可获取第一设备的第一指纹信息,并获取第一指纹信息与第二设备的第二指纹信息之间的第一比较结果,第二设备为被鉴权为合法设备的设备,并基于第一比较结果在目标特征维度上的特征信息确定第一设备是否为合法设备,由于整个鉴权流程可以在服务器端进行,对于用户设备(如第一设备)而言是无感知的,不需要用户在第一设备执行相关流程,可以解决相关技术中对设备进行鉴权的操作较为繁琐的技术问题,进而达到降低对设备进行鉴权的操作复杂度的技术效果。可选地,本实施例中的具体示例可以参考上述实施例中所描述的示例,本实施例在此不再赘述。本领域普通技术人员可以理解,图11所示的结构仅为示意,终端可以是智能手机(如android手机、ios手机等)、平板电脑、掌上电脑以及移动互联网设备(mobileinternetdevices,mid)、pad等终端设备。图11其并不对上述电子装置的结构造成限定。例如,终端还可包括比图11中所示更多或者更少的组件(如网络接口、显示装置等),或者具有与图11所示不同的配置。本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令终端设备相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:闪存盘、只读存储器(read-onlymemory,rom)、随机存取器(randomaccessmemory,ram)、磁盘或光盘等。本发明的实施例还提供了一种存储介质。可选地,在本实施例中,上述存储介质可以用于执行智能设备的鉴权方法的程序代码。可选地,在本实施例中,上述存储介质可以位于上述实施例所示的网络中的多个网络设备中的至少一个网络设备上。可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:s12,获取第一设备的第一指纹信息,其中,第一设备为待确认是否为合法设备的智能设备,第一指纹信息用于标识第一设备;s14,比较第一指纹信息与第二设备的第二指纹信息中相同类型的信息内容,得到第一比较结果,其中,第一比较结果中的每个元素用于表示第一指纹信息和第二指纹信息中的一个相同类型的信息内容是否相同,第二设备为已被鉴权为合法设备的智能设备,第二指纹信息用于标识第二设备;s16,获取第一比较结果在目标特征维度中的每个特征维度上的特征信息和为每个特征维度设置的权重信息;s18,根据第一比较结果在每个特征维度上的特征信息和为每个特征维度设置的权重信息确定第一设备是否为合法设备。可选地,存储介质还被设置为存储用于执行以下步骤的程序代码:s22,根据目标特征维度的多个乘积之和确定目标概率,其中,多个乘积中的每个乘积为一个特征维度上的特征信息与为特征维度设置的权重信息之间的乘积;s24,在目标概率大于目标阈值的情况下,确定第一设备为合法设备;s26,在目标概率不大于目标阈值的情况下,确定第一设备不为合法设备。可选地,本实施例中的具体示例可以参考上述实施例中所描述的示例,本实施例在此不再赘述。可选地,在本实施例中,上述存储介质可以包括但不限于:u盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。上述实施例中的集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在上述计算机可读取的存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在存储介质中,包括若干指令用以使得一台或多台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。在本申请所提供的几个实施例中,应该理解到,所揭露的客户端,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。以上所述仅是本发明的优选实施方式,应当指出,对于本
技术领域
的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1