认证方法及其介质和电子设备与流程

文档序号:25544172发布日期:2021-06-22 07:16阅读:103来源:国知局
认证方法及其介质和电子设备与流程
本申请涉及通信领域,特别涉及一种认证方法及其介质和电子设备。
背景技术
:随着无线交易的快速发展,越来越多的业务被综合到手机中进行,例如,移动支付、无线开锁、手机刷卡等业务。这些交易中有些是无感交易,即无需用户干预即可完成,例如,手机黑屏刷卡、后台自动扣费、手机无感开锁等。在无感交易的情况下,会出现交易被攻击者中继攻击,业务被盗的情况。例如,如图1所示,在采用手机无感开锁时,正常情况下,手机靠近车锁或者门锁建立起蓝牙连接,手机钥匙与锁进行相互校验,校验通过即开锁。而当车主不在车锁或者门锁旁边时,攻击者甲靠近用户,攻击者乙靠近车锁或者门锁,攻击者甲通过特殊设备获取手机钥匙应用的蓝牙/nfc(nearfieldcommunication,近场通信)信号,作为中继数据远程传送给攻击者乙,攻击者乙再通过特殊设备将信号传送给车锁或者门锁,即可打开车锁或者门锁。技术实现要素:本申请实施例提供了一种认证方法及其介质和电子设备,能够通过判断进行无感业务的设备之间的位置关系,认证进行无感业务的设备之间的通信是否被中继,从而提高无感业务的安全性。第一方面,本申请的实施例公开了一种认证方法,包括:第一设备在判断出与第二设备之间的距离到达第一预设距离的情况下,所述第一设备向所述第二设备发送第一认证请求,所述第一认证请求用于请求所述第二设备判断所述第一设备在执行与所述第二设备约定的业务之前,所述第一设备与所述第二设备之间的无线通信是否被中继;所述第一设备在判断出与所述第二设备之间的距离到达第二预设距离时,确认是否已接收到所述第二设备发送的第一认证成功密文,其中,所述第一认证成功密文为所述第二设备在判断出所述第一设备与所述第二设备之间的无线通信未被中继后发送的,所述第二预设距离小于所述第一预设距离;所述第一设备在确认已接收到所述第二设备发送的第一认证成功密文,并且所述第一设备校验所述第一认证成功密文的通过的情况下,所述第一设备执行与所述第二设备约定的业务。在上述方案中,第一设备通过测量与第二设备之间的距离,来控制第二设备执行各种操作,其中,第一设备在与第二设备之间的距离为第一预设距离时控制第二设备开始防中继判断,并且防中继判断需要在第一预设距离和第二预设距离之间完成,如果在两者之间的距离达到第二预设距离时防中继判断的结果为未被中继,说明可以执行约定的业务,而如果两者之间的距离达到第二预设距离时防中继判断的结果不是未被中继攻击,则说明不满足执行约定的业务的条件。例如,假如第一设备是车辆,第二设备是手机等移动终端,第一认证请求是发起无感认证命令,第一认证成功密文是无感认证成功密文,约定业务为打开车锁,则上述方案中的第一预设距离可以是无感认证距离,第二预设距离为有感认证距离。在上述第一方面的一种可能实现中,所述方法还包括:所述第一设备在判断出与所述第二设备之间的距离到达第二预设距离,并且未接收到所述第二设备发送的第一认证成功密文或者对接收到的第一认证成功密文的校验未通过的情况下,所示第一设备向所述第二设备发送第二认证请求,其中,所述第二认证请求用于请求所述第二设备对所述第二设备的用户进行生物验证;所述第一设备在接收到所述第二设备发送的第二认证成功密文并且所述第一设备校验所述第二认证成功密文通过的情况下,所述第一设备执行与所述第二设备约定的业务,其中,所述第二认证成功密文是所述第二设备在对所述用户进行的生物验证通过后发送的。其中,上述未接收到第一认证成功密文所表示的情况可以是第一设备接收到第二设备发送的第一设备和第二设备之间的无线通信被中继攻击的消息,也可以是第二设备未发送任何判断结果,第一设备无法确定第一和第二设备之间的无线通信是否被中继的情况。即在上述方案中,如果在第一预设距离和第二预设距离之间,第二设备确定第一和第二设备之间的无线通信被中继攻击,或者无法确定第一和第二设备之间的无线通信是否被中继,则第一设备可以在与第二设备之间的距离达到第二预设距离时,控制第二设备进行用户的生物特征认证,以确定第二设备的用户的合法性。例如,第一设备可以是车辆,第二设备可以是手机等移动终端,第二认证请求是发起有感认证命令,第二认证成功密文是有感认证成功密文。在上述第一方面的一种可能实现中,在所述第一设备执行与所述第二设备约定的业务之前,所述方法还包括:所述第一设备判断与所述第二设备的距离是否小于第三预设距离,所述第三预设距离小于所述第二预设距离;在所述第一设备判断出与所述第二设备的距离小于第三预设距离的情况下,所述第一设备执行与所述第二设备约定的业务。即在第二设备的防中继判断结果为第一和第二设备之间的无线通信未被中继攻击时,第一设备并不直接执行约定的业务,而是判断第一和第二设备之间的距离是否足够小(小于第三预设距离),或者说第一设备就在第二设备旁边,在确定第一和第二设备之间的距离足够小时,才执行约定的业务。例如,第一设备可以是车辆,第二设备可以是手机等移动终端,在车辆车门的门把手上可以设置触发装置,用户在接触车门的门把手时,有触发消息发送给车辆,此时车辆监测手机与车辆之间的距离是否小于第三预设距离(如1米),在小于第三预设距离时才打开车锁。此外,也可以不设置触发装置,直接测量手机与车辆之间的距离是否小于第三预设距离(如1米),在小于第三预设距离时打开车锁。在上述第一方面的一种可能实现中,所述方法还包括:所述第一设备在接收到所述第一认证成功密文或者第二认证成功密文时,对所述第一认证成功密文或者第二认证成密文进行校验。即第一设备在接收到第一或第二认证成功密文后,立即进行校验。在上述第一方面的一种可能实现中,所述方法还包括:在所述第一设备与所述第二设备之间的距离小于所述第二预设距离,所述第一设备接收到所述第一认证成功密文的情况下,所述第一设备在判断出与所述第二设备之间的距离到达第二预设距离时,对所述第一认证成功密文进行校验。即第一设备在接收到第一认证成功密文后,不立即进行校验,在到达第一预设距离时才进行校验。在上述第一方面的一种可能实现中,所述方法还包括:在所述第一设备与所述第二设备之间的距离小于所述第三预设距离,所述第一设备接收到所述第二认证成功密文的情况下,所述第一设备在判断出与所述第二设备之间的距离小于所述第三预设距离时,对所述第二认证成功密文进行校验。即第一设备在接收到第二认证成功密文后,不立即进行校验,在到达第二预设距离时才进行校验。在上述第一方面的一种可能实现中,所述约定业务为开锁业务或缴费业务。在上述第一方面的一种可能实现中,所述约定业务为开锁业务时,所述第二设备为移动终端,第一设备为车辆或锁。在上述第一方面的一种可能实现中,当所述约定业务为缴费业务时,所述第二设备为移动终端,第一设备为收费终端。在上述第一方面的一种可能实现中,所述第一设备为车辆,在所述第一设备向所述第二设备发送第一认证请求之前,所述方法还包括:所述第一设备在距离发送所述第一认证请求前的最近的一次熄火后,向所述第二设备发送定位请求,其中,所述定位请求用于请求所述第二设备通过定位服务获取所述第二设备的参考位置,所述参考位置能够被所述第二设备在接收到所述第一认证请求后用于判断所述第二设备与所述第一设备之间的无线通信是否被中继。即参考位置是第一设备在进行当前开锁业务之前,由第二设备获取的。具体地,第一设备在距离当前开锁业务最近的一次熄火后,向第二设备发送定位请求(如开始熄火定位命令),使得第二设备在第一设备附近获取自身的参考位置,而第二设备在进行当前开锁业务时,可以通过将自身的定位位置与该参考位置进行比较,来确定第二设备是否在第一设备附近。此外,在其他实施例中,也可以不是以熄火为触发熄火定位的条件,例如,可以是以关闭车门为触发条件。在上述第一方面的一种可能实现中,在所述第一设备向所述第二设备发送定位请求之后,所述方法还包括:所述第一设备在与所述第二设备的距离到达第四预设距离时,判断是否已接收到所述第二设备发送的熄火定位成功密文,所述第四预设距离小于或者等于所述第一预设距离;所述第一设备在判断出已接收到所述熄火定位成功密文并且所述第一设备校验所述熄火定位成功密文通过的情况下,确定所述第二设备成功获取参考位置;所述第一设备在判断出未接收到过熄火定位成功密文的情况下,向所述第二设备发送停止定位请求;所述第四预设距离小于或者等于所述第一预设距离。即第二设备获取参考位置是有范围的,如果超出第四预设距离,则说明第二设备与第一设备之间的距离过远,用来做防中继判断的话安全性较低,故第一设备向第二设备发送停止定位请求,以使得第二设备在第四预设距离内得到参考位置。在上述第一方面的一种可能实现中,所述定位请求包括标识所述车辆的车辆id和标识该定位请求的定位id。在上述第一方面的一种可能实现中,在所述第一设备向所述第二设备发送第一认证请求之前,所述方法还包括:所述第一设备持续发送无线通信广播;所述第一设备在所述第二设备接收到所述无线通信广播后,与所述第二设备建立无线通信连接;所述第一设备向所述手机发送获取数据请求,所述获取数据请求用于请求从所述第二设备获取认证所需的数据;所述第一设备从所述第二设备接收认证所需的数据,其中,所述认证所需的数据包括所述第一预设距离、第二预设距离、第三预设距离、以及第四预设距离。在上述第一方面的一种可能实现中,所述第一认证请求包括标识所述第一设备的设备id和标识该第一认证请求的第一认证id。在上述第一方面的一种可能实现中,所述第一认证成功密文包括被加密的所述设备id和第一认证id。在上述第一方面的一种可能实现中,所述第二认证请求包括标识所述第一设备的设备id和标识该第二认证请求的第二认证id。在上述第一方面的一种可能实现中,所述第二认证成功密文包括被加密的所述设备id和第二认证id。在上述第一方面的一种可能实现中,所述第二设备与所述第一设备之间通过低功耗蓝牙通信。第二方面,本申请的实施例公开了一种认证方法,包括:第二设备从第一设备接收第一认证请求,其中,所述第一认证请求是所述第二设备与所述第一设备之间的距离到达第一预设距离的情况下由所述第一设备发送的;所述第二设备响应于接收到的第一认证请求,判断与所述第一设备之间的无线通信是否被中继;所述第二设备在判断出与所述第一设备之间的无线通信未被中继的情况下,向所述第一设备发送第一认证成功密文。例如,假如第一设备是车辆,第二设备是手机等移动终端,第一认证请求是发起无感认证命令,第一认证成功密文是无感认证成功密文,约定业务为打开车锁,则上述方案中的第一预设距离可以是无感认证距离,在第一预设距离和第二预设距离之间,移动终端进行防中继判断,并在防中继判断结果为未被中继攻击时,手机向车辆发送第一认证成功密文。在上述第二方面的一种可能实现中,在所述第二设备从第一设备接收第一认证请求后,所述方法还包括:所述第二设备从所述第一设备接收第二认证请求,其中,所述第二认证请求为所述第一设备在判断出与所述第二设备之间的距离到达第二预设距离,并且未接收到所述第二设备发送的第一认证成功密文或者所述第一设备对接收到的第一认证成功密文的校验未通过的情况下发送的,所述第二预设距离小于所述第一预设距离;所述第二设备响应于接收到的所述第二认证请求,对所述第二设备的用户进行生物验证;所述第二设备在所述生物验证通过的情况下,向第一设备发送第二认证成功密文。其中,上述未接收到第一认证成功密文所表示的情况可以是第一设备接收到第二设备发送的第一设备和第二设备之间的无线通信被中继攻击的消息,也可以是第二设备未发送任何判断结果,第一设备无法确定第一和第二设备之间的无线通信是否被中继的情况。即在上述方案中,如果在第一预设距离和第二预设距离之间,第二设备确定第一和第二设备之间的无线通信被中继攻击,或者无法确定第一和第二设备之间的无线通信是否被中继,则第一设备可以控制第二设备进行用户的生物特征认证,以确定第二设备用户的合法性。例如,第一设备可以是车辆,第二设备可以是手机等移动终端,第二认证请求是发起有感认证命令,第二认证成功密文是有感认证成功密文。在上述第二方面的一种可能实现中,在第二设备从第一设备接收第一认证请求之前,所述方法还包括:所述第二设备接收到所述第一设备发送的无线通信广播;所述第二设备与所述第一设备建立无线通信;所述第二设备从所述第一设备接收获取数据请求;所述第二设备响应于从所述第一设备接收到的获取数据请求,向所述第一设备发送认证所需的数据,其中,所述认证所需的数据包括所述第一预设距离和第二预设距离。在上述第二方面的一种可能实现中,所述约定业务为开锁业务或缴费业务。在上述第二方面的一种可能实现中,当所述约定业务为开锁业务时,所述第二设备为移动终端,第一设备为车辆或锁。在上述第二方面的一种可能实现中,当所述约定业务为缴费业务时,所述第二设备为移动终端,第一设备为收费终端。在上述第二方面的一种可能实现中,所述第一设备为车辆,并且所述第二设备响应于接收到的第一认证请求,判断与所述第一设备之间的无线通信是否被中继包括:所述第二设备通过至少一种定位服务获取所述第二设备的多个定位位置,并将获取的多个定位位置与参考位置进行比较,以确定所述多个定位位置中是否存在至少一个定位位置与所述参考位置之间的距离差小于距离阈值,其中,所述参考位置为所述第一设备在发送所述第一认证请求前进行最近一次熄火后,所述第二设备通过所述至少一种定位服务中的一种定位服务获取到的所述第二设备的位置;所述第二设备在确定所述多个定位位置中存在至少一个定位位置与所述参考位置之间的距离差小于距离阈值的情况下,确定所述第二设备与所述第一设备之间的无线通信未被中继。即第二设备通过将当前定位所得的定位位置与之前在第一设备附近获得参考位置进行比对,来确定当前第二设备是否在第一设备附近。例如,第一设备是车辆,第二设备是移动终端,则参考我位置在进行当前开锁业务之前,第一设备在距离当前开锁业务最近的一次熄火后,向第二设备发送定位请求(如开始熄火定位命令),使得第二设备在第一设备附近获取自身的参考位置。在上述第二方面的一种可能实现中,所述第二设备通过至少一种定位服务获取所述第二设备的多个定位位置,并将获取的多个定位位置与参考位置进行比较包括:所述至少一种定位服务包括第一定位服务和第二定位服务,所述第二设备通过所述第一定位服务和/或第二定位服务获取所述第二设备的第一定位位置和/或第二定位位置;所述第二设备确定在获取所述参考位置时所采用的定位服务为第一定位服务的情况下,将所述第一定位位置和所述参考位置进行比较;所述第二设备确定在获取所述参考位置时所采用的所述定位服务为第二定位服务的情况下,将所述第二定位位置和所述参考位置进行比较。即在进行防中继判断时,仅仅将采用的定位服务相同的定位位置和参考位置进行比较,以提高位置比对的准确度。在上述第二方面的一种可能实现中,所述第二设备响应于接收到的第一认证请求,判断与所述第一设备之间的无线通信是否被中继还包括:在所述第二设备确定所述第一定位位置或者第二定位位置与所述参考位置之间的距离差不小于所述距离阈值的情况下,判断进行定位服务的时间是否超过第一时间阈值;在判断出进行定位服务的时间未超过第一时间阈值的情况下,所述第二设备重新通过所述第一定位服务和/或第二定位服务获取手机的第一定位位置和/或第二定位位置;在判断出进行定位服务的时间超过第一时间阈值的情况下,所述第二设备确定与所述第一设备之间的无线通信被中继,所述第二设备向所述第一设备发送所述第二设备被中继攻击的消息。即在进行防中继判断时,设置定位和位置比对在时间阈值内完成,如果超出时间还未确定出未被中继攻击,则可以确定第二设备并未在第一设备附近,确定两者之间的通信被中继攻击。在上述第二方面的一种可能实现中,所述第二设备响应于接收到的第一认证请求,判断与所述第一设备之间的无线通信是否被中继还包括:所述第二设备确定所述第二设备的当前高度与所述第二设备获取所述参考位置时所述第二设备的参考高度之间的高度差是否小于高度阈值;并且所述第二设备在确定所述当前高度和所述参考高度之间的高度差小于所述高度阈值,并且所述多个定位位置中存在至少一个定位位置与所述参考位置之间的距离差小于所述距离阈值的情况下,确定所述第二设备与所述第一设备之间的无线通信未被中继;所述第二设备在确定所述当前高度和所述参考高度之间的高度差不小于所述高度阈值,或者所述多个定位位置中不存在至少一个定位位置与所述参考位置之间的距离差小于所述距离阈值的情况下,所述第二设备确定与所述第一设备之间的无线通信被中继,所述第二设备向所述第一设备发送所述第二设备被中继攻击的消息。即在防中继判断中,除了比对定位出的位置,还比对第二设备的高度是否与获得参考位置时的高度差符合高度要求,如果不符合高度要求,则确定存在第二设备与第一设备之间的无线通信被中继攻击的情况。在上述第二方面的一种可能实现中,所述方法还包括:所述第二设备从所述第一设备接收定位请求,其中,所述定位请求是所述第一设备在发送所述第一认证请求前进行最近一次熄火时,向所述第二设备发送的;所述第二设备响应于接收到的所述定位请求,通过至少一种定位服务获取所述第二设备的参考位置。即第一设备在进行当前开锁业务之前,第一设备在距离当前开锁业务最近的一次熄火或者车门的关闭后,向第二设备发送定位请求(如开始熄火定位命令),使得第二设备在第一设备附近获取自身的参考位置,而第二设备在进行当前开锁业务时,可以通过将自身的定位位置与该参考位置进行比较,来确定第二设备是否在第一设备附近。在上述第二方面的一种可能实现中,所述第二设备响应于接收到的所述定位请求,通过至少一种定位服务获取所述第二设备的参考位置包括:所述第二设备通过所述第一定位服务和/或第二定位服务对所述第二设备进行定位,所述第二设备通过所述第一定位服务获取所述第二设备的第三定位位置和/或者通过所述第二定位服务获取所述第二设备的第四定位位置;所述第二设备确定通过所述第一定位服务进行定位的次数是否超过次数阈值;所述第二设备在确定通过第一定位服务进行定位的次数超过所述次数阈值的情况下,将所述第二设备获取到的第三定位位置的平均位置作为所述参考位置。第一定位服务可以是不容易被中继攻击安全性较高的定位服务,如卫星定位服务。故在安全性较高的定位服务的定位次数超过次数阈值时,可以直接将其定位出的定位位置的平均位置作为参考位置。在上述第二方面的一种可能实现中,所述第二设备确定通过所述第一定位服务进行定位的次数是否超过次数阈值,还包括:所述第二设备在确定通过所述第一定位服务进行定位的次数未超过所述次数阈值的情况下,确定通过所述第一定位服务进行定位的时间是否超过第二时间阈值;所述第二设备在确定通过所述第一定位服务进行定位的时间超过第二时间阈值的情况下,将所述第二设备获取到的第三定位位置的平均位置或者第四定位位置的平均位置作为所述参考位置;所述第二设备在确定通过所述第一定位服务进行定位的时间未超过所述第二时间阈值的情况下,继续通过所述第一定位服务和/或第二定位服务进行定位。即设置定位时间阈值,第一定位服务可以是不容易被中继攻击安全性较高的定位服务,如卫星定位服务。如果在安全性较高的定位服务的定位次数未超过次数阈值但是超过时间阈值时,可以直接第一定位服务或者第二定位服务定位出的定位位置的平均位置作为参考位置。在上述第二方面的一种可能实现中,所述将所述第二设备获取到的第三定位位置的平均位置或者第四定位位置的平均位置作为所述参考位置包括:在确定所述第二设备获取到过所述第三定位位置的情况下,将所述第三定位位置的平均位置作为所述参考位置;在确定所述第二设备未获取到过所述第三定位位置且获取到过所述第四定位位置的情况下,将所述第四定位位置的平均位置作为所述参考位置。即在第一定位服务的安全性或者稳定性高于第二定位服务时,优先将第一定位服务获得定位位置作为参考位置。例如,第一定位服务可以是卫星定位服务。在上述第二方面的一种可能实现中,所述方法还包括:所述第二设备在成功获取到参考位置的情况下,向所述第一设备发送熄火定位成功密文。在上述第二方面的一种可能实现中,所述方法还包括:所述第二设备判断是否接收到所述第一设备发送的停止定位请求,其中,所述停止定位请求是所述第二设备与所述第一设备的距离为第四预设距离时,所述第一设备在预先未接收到所述第二设备发送的表示成功获取到参考位置的熄火定位成功密文或者对预先接收到熄火定位成功密文的校验未通过的情况下发送的,其中,所述第四预设距离小于或者等于所述第一预设距离;所述第二设备在接收到所述停止定位请求时,停止对所述第二设备进行的定位,并将已经获取到的所述定位位置的平均位置作为所述参考位置。即第二设备获取参考位置是有范围的,如果超出第四预设距离,则说明第二设备与第一设备之间的距离过远,无法用来做中继判断,故第一设备向第二设备发送停止定位请求,以使得第二设备在第四预设距离内得到参考位置。在上述第二方面的一种可能实现中,所述将已经获取到的定位位置的平均位置作为所述参考位置包括:在确定所述第二设备获取到过所述第三定位位置的情况下,将所述第三定位位置的平均位置作为所述参考位置;在确定所述第二设备未获取到过所述第三定位位置且获取到过所述第四定位位置的情况下,将所述第二设备通过所述第二定位服务定位出的第四定位位置的平均位置作为所述参考位置。在上述第二方面的一种可能实现中,所述定位请求包括标识该次定位请求的定位id和标识所述第一设备的车辆id;并且,所述方法还包括:所述第二设备确定是否存储有与所述定位请求中的所述车辆id和定位id相同的车辆id和定位id;所述第二设备确定不存储有相同的车辆id和定位id的情况下,存储获取到的所述参考位置和所述定位请求中的所述车辆id和定位id;在所述第二设备确定存储有相同的车辆id和定位id的情况下,向所述第一设备发送定位失败的消息。即定位id用于表示定位请求,如果第二设备中已经存储有定位id,则说明很有可能此次定位请求是进行中继攻击的设备在截获了以往的定位请求后转发的以往的定位请求,即第一设备和第二设备之间的通信有肯能被中继攻击,故此时获取的参考位置有可能并非在第二设备附近,故将此处获取的参考位置作废。在上述第二方面的一种可能实现中,所述方法还包括:所述第二设备将获取的所述参考位置存储在所述第二设备的可信执行环境中或者安全元件中。在上述第二方面的一种可能实现中,所述方法还包括:所述第二设备响应于接收到的所述定位请求,获取多个所述第二设备的高度,并将获取的所述多个所述第二设备的高度的平均高度作为参考高度。在上述第二方面的一种可能实现中,所述第一定位服务为卫星定位,所述第二定位服务为网络定位。在上述第二方面的一种可能实现中,所述第一认证请求包括标识所述第二设备的设备id和标识该第一认证请求的第一认证id。在上述第二方面的一种可能实现中,所述第一认证成功密文包括被加密的所述设备id和第一认证id。在上述第二方面的一种可能实现中,所述第二认证请求包括标识所述第二设备的设备id和标识该第二认证请求的第二认证id。在上述第二方面的一种可能实现中,所述第二认证成功密文包括被加密的所述设备id和第二认证id。在上述第二方面的一种可能实现中,所述第二设备和所述第一设备之间通过低功耗蓝牙通信。第三方面,本申请的实施例公开了一种电子设备,该电子设备具有实现上述认证方法中的第一设备或者第二设备的行为的功能。所述功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。所述硬件或软件包括一个或多于一个与上述功能相对应的模块。第四方面,本申请的实施例公开了一种计算机可读介质,所述计算机可读介质上存储有指令,该指令在计算机上执行时使所述计算机执行上述第一方面或第二方面所述的认证方法。第五方面,本申请的实施例公开了一种电子设备,包括:一个或多个处理器;以及存储器,用于存储指令;当所述指令被所述一个或多个处理器执行时,使得所述电子设备执行上述第一方面或第二方面所述的认证方法。附图说明图1是采用无感开锁技术开车锁时中继攻击的场景图。图2根据本申请的一些实施例,示出了一种实现手机和车辆之间的开锁业务的系统架构图。图3根据本申请的一些实施例,示出了图2所示架构下车辆20向手机10进行注册和两者进行蓝牙测距校准的流程示意图。图4根据本申请的一些实施例,示出了手机10与车辆20实现无感开锁业务的一种情景图。图5根据本申请的一些实施例,示出了一种手机10与车辆20建立ble连接的流程示意图。图6根据本申请的一些实施例,示出了图2所示架构下一种手机10进行无感认证的流程示意图。图7根据本申请的一些实施例,示出了一种防中继规则的流程示意图。图8根据本申请的一些实施例,示出了以车辆熄火为触发点,手机10获取参考位置的场景图。图9a和9b根据本申请的一些实施例,分别示出了在图2所示架构下手机10在接收到停止熄火定位命令之前和之后执行熄火定位的流程示意图。图10a和图10b根据本申请的一些实施例,分别示出了在接收到停止熄火定位命令前后的熄火定位策略。图11根据本申请的一些实施例,示出了手机10与车辆20实现无感开锁业务的一种情景图。图12根据本申请的一些实施例,示出了手机10与车辆20实现有感开锁业务的一种情景图。图13根据本申请的一些实施例,示出了在图2所示架构下一种手机10进行有感认证的流程示意图。图14根据本申请的一些实施例,示出了手机10的屏幕1400的示意图。图15根据本申请的一些实施例,示出了手机10和车机210在开锁业务中的工作流程示意图。图16根据本申请的一些实施例,示出了一种实现手机和车辆之间的开锁业务的系统架构图。图17根据本申请的一些实施例,示出了在图16所示架构下一种手机10进行无感认证的流程示意图。图18a和18b根据本申请的一些实施例,分别示出了在图16所示架构下手机10在接收到停止熄火定位命令之前和之后执行熄火定位的流程示意图。图19根据本申请的一些实施例,示出了在图16所示架构下一种手机10进行有感认证的流程示意图。图20根据本申请的一些实施例,示出了一种电子设备的结构示意图。图21根据本申请的一些实施例,示出图20所示的电子设备的软件结构框图。图22根据本申请的一些实施例,示出了另一种电子设备的结构示意图。具体实施例本申请的说明性实施例包括但不限于认证方法及其介质和电子设备。可以理解,如本文所使用的,术语“模块”可以指代或者包括专用集成电路(asic)、电子电路、执行一个或多个软件或固件程序的处理器(共享、专用、或群组)和/或存储器、组合逻辑电路、和/或提供所描述的功能的其他适当硬件组件,或者可以作为这些硬件组件的一部分。下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。其中,在本申请实施例的描述中,除非另有说明,“/”表示或的意思,例如,a/b可以表示a或b;本文中的“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。另外,在本申请实施例的描述中,“多个”是指两个或多于两个。根据本申请的一些实施例,图2示出了一种实现手机和车辆之间的开锁业务的系统架构图,该系统通过本申请的认证技术实现开锁业务。如图2所示,该系统包括手机10和车辆20,手机10和车辆20之间采用ble(bluetoothlowenergy,低功耗蓝牙)进行通信。手机10包括ble代理(bleagent)101、车厂app(application,应用)102、手机钱包103、防中继应用104、定位服务105、钱包ta106、防中继ta107、车钥匙applet108以及手机ble芯片109。车辆20包括车机210,车机210包括车锁applet211、车锁命令引擎212以及车载ble模块213。具体地,手机10的bleagent101可以在车辆20和手机10初次建立连接时,注册车辆20的相关信息,并可以在手机ble芯片109接收到车辆20的ble广播后,唤醒车厂app102与车辆20建立ble连接。车厂app102可以与车机210的车载ble模块213通信,将车载ble模块发送的命令转发给手机钱包103,并将手机钱包103产生的相关信息转发给车载ble模块213。手机钱包103可以根据从车机210的车锁命令引擎212接收到的命令,调用防中继应用104进行无感认证和熄火定位,或者调用有感认证服务进行有感认证。钱包ta106可以位于手机10的tee(trustedexecutionenvironment,可信执行环境)中,用于从防中继ta107中获取防中继判断结果、熄火定位结果,或者在一些实施例中,从有感认证应用中获取有感认证结果。将钱包ta106设置在手机10的tee中,可以有效确保各认证的认证结果或者熄火定位结果的真实性,提高开锁过程的安全性。防中继应用104和防中继ta107可以响应手机钱包103的无感认证调用请求,完成无感认证,或者响应手机钱包103的熄火定位请求,完成熄火定位。其中,在熄火定位时,防中继应用104可以用于执行熄火定位的过程,而熄火定位所定位出的参考位置存储在防中继ta107中。在无感认证阶段,防中继ta107根据防中继规则进行防中继判断。定位服务105用于为防中继应用104提供定位服务。车钥匙applet108可以用于存储密钥信息和生成开锁过程中各阶段的密文,如无感认证密文、有感认证密文以及熄火定位成功密文。车锁applet211可以用于存储密钥信息,并用于校验车钥匙applet108产生的各种密文。车锁命令引擎212用于生成开锁过程中需要手机执行的各种任务的命令,例如,无感认证命令、有感认证命令、熄火定位命令等。车载ble模块213可以是车机210中的ble芯片,用于转发车锁命令引擎212生成的各种命令给手机10侧的车厂app102,并将车厂app102发送的各种密文转发给车锁命令引擎212,再由车锁命令引擎212发送给车锁applet211进行校验。可以理解,在图2所示的架构中,手机10上中与开锁相关的应用分别放置在ree(richexecutionenvironment,富执行环境)、tee和se(secureelement,安全元件)中。se的安全性能较高,用于存储整个过程中比较核心的数据或者应用,例如,放置有车钥匙applet(车钥匙应用,applet指的是se中的应用)和开锁过程中认证所用的密钥。tee的安全性高于ree,故为了提高安全性,手机钱包和防中继服务中的一部分重要的功能或者数据放在tee中,而其余功能或者数据放在ree中。例如,防中继服务中各认证阶段中的认证规则、参考位置的存储比较重要,故将这些信息放置在tee环境中的防中继ta(ta表示tee中的应用teeapplication)中。基于图2所示的架构,下面详细介绍手机10与车辆20的开锁过程。注册过程在手机10初次与车辆20的车机210建立通信连接时,需要进行注册和蓝牙测距校准。图3根据一些实施例示出了一种具体的注册和蓝牙测距校准过程,如图3所示,该过程包括:300:车机210与手机10建立ble连接后,车机210的车载ble模块213向手机10的车厂app102发送配对请求,以请求与车厂app102进行ble配对。302:车厂app102与车载ble模块213完成配对后,手机10的车厂app102向bleagent101发送扫描参数。例如,扫描参数可以包括车辆20的车辆id、uuid(universallyuniqueidentifier,通用唯一识别码)、自定义数据等。其中,uuid是指车辆20的车载ble模块213可被识别的蓝牙id,自定义数据可以理解为预留的数据位,用于放置以后可能需要的扩展数据。可以理解,车厂app102可以从车辆20获取扫描参数,也可以从服务器获取这些扫描参数,在此不做限制。304:bleagent101接收到扫描参数后基于扫描参数进行验证,以判断车辆20是否有权限进行注册,例如,bleagent101上存储有与手机钱包合作的车厂名单,在接收到扫描参数后,可以根据车辆id判断车辆20的车厂是否在名单中,如果在名单中,则表示车辆20有权限进行注册。306:在判断出车辆20有权限进行注册的情况下,bleagent101向手机ble芯片109发送扫描参数。至此,完成车辆20在手机10中的注册。可以理解,在一些实施例中,同一类车辆可以具有同一个uuid,但是每辆车都具有单独的车辆id。308:车辆20在完成手机10中的注册后,车载ble模块213向车厂app102发送请求,以请求与手机进行rssi(receivedsignalstrengthindication,接收的信号强度指示)蓝牙测距校准。车厂app102接收到该请求后,与车辆20共同完成rssi蓝牙测距校准。在手机10与车辆20进行的开锁过程中,车辆20需要对手机10进行rssi蓝牙测距,以在特定距离触发手机10执行特定的认证任务,进行rssi蓝牙测距校准能提高车辆20对手机10进行的rssi蓝牙测距的准确度。可以理解,在其他实施例中,也可以不进行车辆20和手机10之间的rssi蓝牙测距校准。车辆20与手机10只有在初次进行通信连接时需要完成注册和蓝牙测距校准,后续会基于注册信息进行开锁业务。并且车辆20在与手机10建立通信之前,会一直进行ble广播。故采用ble实现车辆20与手机10之间的通信,能够充分利用了ble的低功耗特性,降低通信功耗。此外,ble有调频、加密等安全措施,更难以被追踪和中继信号,更难以被破解。安全性显著高于市场上主流的无感keyfob(一种带有内置验证机制的小硬盘设备,采用低频rfid信号)。此外,可以理解,虽然本申请的各实施例中,车辆20与手机10之间的无线通信采用的是ble。但是,车辆20与手机10之间的通信方式可以不限于上述实施例提到的ble,还可以是其他短距离无线通信技术,例如,包括但不限于bt(bluetooth,蓝牙)、nfc(nearfieldcommunication,近场通信)、fm(frequencymodulation,频率调制)、以及ir(infrared,红外)通信等。图4示出了手机10与车辆20实现无感开锁业务的一种情景图。如图4所示,手机10要启动车辆20,需要依次经历建立蓝牙连接、无感认证、开锁测距以及通知开锁成功四个阶段。在车辆20与手机10建立蓝牙连接之前,车辆20会一直进行ble广播。当手机10与车辆20的距离在到达距离a(如100米)时,手机10可以检测到车辆20的ble广播信号,与车辆20建立ble连接,并在建立ble连接之后,车辆20对手机10进行ble测距以确定手机10是否进入到无感认证距离。在测量到手机10与车辆20的距离进入无感认证距离(如图4所示的35米)后,手机10响应车辆20发送的auth0(发起无感认证)命令,开始无感认证。如果无感认证成功,在用户开车门时,车辆20还需要对手机10与车辆20之间的距离进行测量,在确保手机10在车辆20旁边时(例如,小于1米),才打开车锁。可以理解,图4中示出的各个阶段的触发距离值仅仅是出于说明性目的的,在本申请的各实施例中,可以根据需要设置其他任意的距离值,在此不做限制。建立ble连接如前所述,车辆20在停止时,车机210会持续发送ble广播,手机10在靠近车辆20的过程中如果能够接收到车机210发送的ble广播,则会与车机210建立ble连接。图5根据一些实施例示出了一种手机10与车辆20建立ble连接的流程示意图。具体地,如图5所示,手机10与车辆20建立ble连接的过程包括:500:在车辆20没有与手机10建立ble连接时,车辆20的车载ble模块213会持续进行ble广播,以等待手机10进入到可接收车辆20的ble广播的范围。ble广播中携带有车辆20的uuid和车辆id。502:手机10在靠近车辆20的过程中,手机ble芯片109接收到车载ble模块213的ble广播,并验证接收到的ble广播中的uuid和车辆id。如果ble广播中的uuid和车辆id与手机ble芯片109在注册时存储的uuid和车辆id匹配,则表明验证通过。如果ble广播中的uuid和车辆id与手机ble芯片109在注册时存储的uuid和车辆id不匹配,则表明验证不通过,手机ble芯片109不做任何反应。504:手机ble芯片109在验证通过后,向bleagent101发送验证通过的消息。506:bleagent101接收到验证通过的消息后唤醒车厂app102。508:车厂app102被唤醒后,发起手机ble芯片109的ble广播。510:车厂app102与车载ble模块213建立ble连接。可以理解,在一些实施方式中,车厂app102与车载ble模块213建立ble连接后,车载ble模块213可以停止ble广播,以节省通信功耗。512:车载ble模块203与车厂app102建立ble连接后,发送getdata(获取数据)命令给车厂app102。可以理解,虽然此次获取约定数据的命令名称为getdata,但是,在本申请的其他实施方式中,也可以采用其他名称来命名该命令,在此不做限制。514:车厂app102响应于接收到的getdata(获取数据)命令返回约定数据,其中,约定数据用于后续的开锁业务。例如,约定数据可以包括距离配置表、密钥、车厂app的序列号、车厂app的版本号等。其中,距离配置表包含了手机10的各认证阶段与手机10和车辆20间的距离之间的关系,例如,在两者之间的距离为多大时,启动无感认证,距离在多大时启动有感认证。密钥用于对手机10和车辆20之间传输的信息进行加密。例如,在一些实施例中,getdata命令可以包含期望获取数据的标识,可以理解,在一些实施例中,期望获取数据的标识可以是车厂app102可以识别的字符,车厂app102识别出这些字符后,会将与字符对应的数据返回给车载ble模块203。getdata命令所包含的数据如下表1所示:表1其中,期望获取的数据可以包括距离配置表、密钥、车厂app的序列号、车厂app的版本号等。配置数据可以包括标识车辆20的车辆id、定位id、认证id、车钥匙aid(applicationidentifier,应用标识)、钥匙id等。其中,定位id用于标识后续要进行的熄火定位、认证id用于标识后续要进行的无感认证或者有感认证,车钥匙aid用于标识车厂app,钥匙id用于标识车厂app102所管理的车辆(假如车厂app102除了车辆20,还管理有其他同类型或者同一车厂出厂的车辆)。可以理解,在本申请的其他实施例中,距离配置表和密钥也可以存储在车机210中定期被更新,而无需每次建立ble连接都由手机10向车辆20的车机210发送。可以理解,表1所示的getdata命令所包含的信息仅仅是示例性的,并非限制性的,getdata命令还可以包含其他信息。可以理解,手机10和车辆20建立通信连接后,也可以相互传输其他信息,不限于上面提到的信息。516:车载ble模块203在接收到约定数据后,唤醒多根ble测距天线接收手机ble芯片109的ble广播,以对手机10进行rssi测距。无感认证如上所述,车载ble模块213在与车厂app建立ble连接后,开始对手机10进行rssi测距,继续参照图4,当测量到手机10与车辆20的距离到达无感认证距离(如图4所示的35米)时,车辆20的车机210的车锁命令引擎212生成auth0(发起无感认证)命令,命令手机10开始进行无感认证。此外,在一些实施例中,可以设置无感认证的距离范围,例如,小于35米大于3米时进行无感认证,小于3米无感认证未通过时采用其他方式开车锁,例如进行有感认证,通知用户采用生物识别特征(如指纹)进行开锁。在无感认证阶段,手机10将通过定位服务获得的当前位置与参考位置进行比较,其中,参考位置可以是在进行当前开锁业务之前,距离当前开锁业务最近的一次车辆熄火后,手机10响应于车辆20发送的定位请求,在车辆20附近根据熄火定位策略定位到的手机10自身的位置。如果手机10的当前位置与参考位置匹配或者手机10的当前位置在参考位置附近,则表明手机10在车辆20附近,手机10被中继攻击的可能性较低,无感认证通过。参考位置的获取在下文中会进行详细的论述。图6根据一些实施例示出了一种手机10进行无感认证的流程示意图。具体地,如图6所示,手机10进行无感认证的过程包括:600:车锁命令引擎212生成auth0(发起无感认证)命令。如下表2所示,在一些实施例中,auth0(发起无感认证)命令中可以包括命令标识1、配置数据1以及车辆随机数。其中,命令标识1用于标识该auth0命令是用于发起无感认证的命令。配置数据1可以包括车辆id、定位id、认证id、车钥匙aid(applicationidentifier,应用标识)、钥匙id。认证id用于标识该次无感认证,即每次无感认证都会生成新的认证id,车辆20在接收到无感认证成功的相关信息后,可以基于认证id进行识别,以确认接收到无感认证成功的消息是否是之前发起的无感认证,提高无感认证的安全性。车辆随机数由车机210的车锁命令引擎212随机生成,包含在auth0(发起无感认证)命令中,被发送给手机10后,手机10可以在无感认证成功后将车辆随机数包含在无感认证成功密文中发送给车机210的车锁命令引擎212,随后,车锁applet211在响应车锁命令引擎212的请求对无感认证成功密文进行校验时,会将无感认证成功密文中的车辆随机数与自身存储的车辆随机数进行比对,如果两者相同,表明手机10接收到的auth0(发起无感认证)命令或者手机10发送的无感认证成功密文没有被篡改。可以理解,配置数据2也可以包括其他数据,在此不做限制。表2auth0命令标识1配置数据1车辆随机数可以理解,表2所示的发起无感认证命令所包含的信息仅仅是示例性的,并非限制性的,发起无感认证命令还可以包含其他信息。此外,可以理解,虽然此处发起无感认证命令的名称为auth0,在其他实施例中,也可以采用其他名称来命名发起无感认证命令,起到的作用与auth0相同,在此不做限制。602:车锁命令引擎212依次通过车载ble模块213和车厂app102向手机钱包103发送auth0(发起无感认证)命令。604:手机钱包103接收到auth0(发起无感认证)命令后,通知防中继应用104开始防中继判断。606:防中继应用104接收到上述通知后调用防中继ta107开始防中继判断。为了提高开锁业务的安全性,防中继判断所遵循的防中继规则存储在防中继ta107中,并且防中继ta107只能够与防中继应用104和钱包ta106进行通信。608:防中继ta107接收到通知后,根据防中继规则进行防中继判断,以判断手机10是否被中继攻击。具体的防中继规则可以参考图7。在一些实施例中,可以理解,参考图7,手机10在判断出手机被root、手机的位置被mook、手机10进行防中继判断的时长超过时间阈值的情况下,表明手机10有被中继攻击的情况,手机10可以确定手机被中继攻击,并可以向车辆20发送表示手机被中继攻击的消息。可以理解,手机被root表明手机可能被恶意控制,手机上的数据变得不安全,因此,此时应取消熄火定位。手机的位置被mock是指手机的位置被模拟,故手机的定位位置不再是手机的真实位置,手机10很可能被中继攻击。610:防中继ta107在完成防中继判断后,通过防中继应用104向手机钱包103发送防中继判断完成的消息。612:手机钱包103接收到防中继判断完成的消息后,向钱包ta106发起无感认证。614:钱包ta106从防中继ta107获取防中继判断结果。在一些实施例中,为了提高安全性,防中继ta107可以在完成防中继判断后,仅保留防中判断结果极小的时间(例如,3秒钟),钱包ta106如果超出保留时间,则获取不到防中继判断结果。可以理解,如上所述,在一些实施例中,可以设置无感认证的距离范围,例如,设置手机10与车辆20之间的距离为小于35米大于3米。当手机10与车辆20之间的距离到达3米时,如果车辆20未收到无感认证成功密文,或者车辆20接收到无感认证成功密文但是车辆20对无感认证成功密文进行的校验未通过,则车辆20向手机10发送发起有感认证命令。手机10接收到车辆20发送的发起有感认证命令后,防中继ta107结束防中继判断,手机10进行有感认证,以使得用户通过生物识别特征认证打开车锁。616:防中继ta107向钱包ta106返回防中继判断结果。可以理解,由于手机10的tee安全性较高,通过钱包ta106获取防中继判断结果,能够防止防中继判断结果被伪造,提高防中继判断的安全性。618:钱包ta106接收到防中继判断结果后,根据防中继判断结果判断手机10是否被中继攻击。若判断未被中继攻击,则执行620;否则钱包ta106可以通过手机钱包103向车辆20或者手机10的用户发送手机被中继攻击的消息。在一些实施例中,车辆20接收到手机10被中继攻击的消息后,可以向手机10发送发起有感认证请求,以请求手机10对用户进行生物认证,用户接收到发起有感认证请求后,如果用户发现自己并不在车辆20旁边,则确定手机10与车辆20之间的无线通信被中继攻击,用户可以拒绝进行有感认证,此外,用户还可以报警或者通过手机钱包卡103或者车厂app102锁定车辆20的车锁,在解锁前车辆20不再进行无感认证。具体的,用户的手机上可以显示有一键报警或一键锁定按键。620:钱包ta106在判断出手机10未被中继攻击的情况下,请求车钥匙applet108生成无感认证成功密文。可以理解,由于手机10的tee安全性较高,通过钱包ta106获取无感认证成功密文,能够防止无感认证的结果被伪造,提高无感认证的安全性。622:车钥匙applet108接收到钱包ta106的请求后,生成无感认证成功密文。可以理解,在一些实施例中,无感认证成功密文可以是采用密钥对认证成功信息进行加密后的密文,密钥为车辆20与手机10建立ble连接时手机10向车辆20发送的约定数据中的密钥。例如,无感认证成功密文可以包括被密钥加密的车辆id、认证id和定位id。其中定位id是指在进行当前开锁业务之前,车辆20在距离当前开锁业务最近的一次熄火或者车门的关闭后,向手机10发送定位请求时,包含在定位请求中的,用于标识该次定位的参数,手机10可以在获得参考位置后将该定位id和参考位置同时存储。车辆20的车锁命令引擎212在每次发送定位请求时,都生成新的定位id。624:车钥匙applet108生成无感认证成功密文后,依次通过钱包ta106、手机钱包103、车厂app102、以及车载ble模块213将无感认证成功密文转发给车锁命令引擎212。在一些实施例中,车锁命令引擎212在接收到无感认证成功密文后,直接请求车锁applet211对无感认证成功密文进行校验,并在接收到车锁applet211返回的校验结果后存储校验结果。如此,在手机10接近车辆20的过程中,如果测量到手机10与车辆20的距离超出无感认证范围(如小于3米),则直接获取校验结果:1)若无感认证成功密文的校验结果表示校验通过,则车辆20执行开锁业务;在另一种可能的实现中,在无感认证成功密文的校验通过时,不直接执行开锁业务,而是在手机10与车辆20之间的距离进入前述提到的开锁距离时,重新从车锁命令引擎212获取无感认证成功密文的校验结果,并在获取到的校验结果表示对无感认证成功密文的校验通过时才打开车锁。2)在校验结果为校验未通过的情况下,车辆20向手机10发送发起有感认证请求,并且,在一种可能的实现中,若有感认证成功,则执行开锁业务;而在另外一种可能的实现中,在有感认证通过后,不直接开锁而存储校验结果,而是在确定手机10与车辆20之间的距离进入前述提到的开锁距离时,重新从车锁命令引擎212获取有感认证成功密文的校验结果,并在获取到的校验结果表示对有感认证成功密文的校验通过时才打开车锁,其中,对有感认证成功密文的校验可以在接收到有感认证成功密文时立即进行,也可以在到达开锁距离时进行,在此不做限制。此外,在另外一些实施例中,车锁命令引擎212在接收到无感认证成功密文后,不立即做校验,而是存储无感认证成功密文。如此,在手机10接近车辆20的过程中,如果车锁命令引擎212测量到手机10与车辆20的距离超出无感认证范围(如小于3米),则请求车锁applet211对无感认证成功密文进行校验,并从车锁applet211接收校验结果:1)若接收到的校验结果表示无感认证成功密文校验通过,则执行开锁业务;在另外一种可能的实现中,在无感认证成功密文校验通过时,不直接执行开锁业务而存储校验结果,而是在手机10与车辆20之间的距离进入前述提到的开锁距离(如1米)时,重新从车锁命令引擎212获取无感认证成功密文的校验结果,并在确定获取到的校验结果表示校验通过时才打开车锁。2)在校验结果为校验未通过的情况下,车辆20向手机10发送发起有感认证请求。在一种可能的实现中,若有感认证成功,则执行开锁业务;而在另外一种可能的实现中,在有感认证通过后,不直接开锁,而是在确定手机10与车辆20之间的距离进入前述提到的开锁距离时,重新从车锁命令引擎212获取有感认证成功密文的校验结果,并在获取到的校验结果表示对有感认证成功密文的校验通过时才打开车锁,其中,对有感认证成功密文的校验可以在接收到有感认证成功密文时立即进行,也可以在到达开锁距离时进行,在此不做限制。车锁命令引擎212请求车锁applet211校验无感认证成功密文的过程如图6所示,包括:626:请求车锁applet211校验无感认证成功密文。628:车锁applet211接收到请求后,校验无感认证成功密文。车锁applet211校验无感认证成功密文的过程可以包括:车锁applet211采用与手机10建立ble连接时接收到的密钥对无感认证成功密文进行解密,并将解密出来的车辆id、认证id、和定位id与自身存储的车辆id、认证id、和定位id进行匹配,如果匹配成功,则校验通过,否则,校验不通过,车辆20可以认为无感认证成功的结果不真实,从而不打开车锁。630:车锁applet211完成校验后返回校验结果给车锁命令引擎212。632:车锁命令引擎212从车锁applet211接收校验结果。如上所述,在一种可能的实现中,车锁命令引擎212接收到校验结果后,如果校验结果表示对无感认证成功密文的校验通过,则直接打开车锁。在另外一种可能的实现中,如果校验结果表示对无感认证成功密文的校验通过后,不会立即执行打开车锁,而是存储校验结果,并在车辆20与手机10之间的开锁距离(如小于1米)到来时,重新获取校验结果,并在确定获取到的校验结果为对无感认证密文的校验通过时,才打开车锁。而在校验结果表示对无感认证成功密文的校验未通过时,则向手机10发送发起有感认证,并基于有感认证的结果确定是否打开车锁。开锁测距继续参考图4,在进行完上述无感认证后,为了进一步提高无感开锁业务的安全性,车辆20在开锁时会在手机10与车辆20之间的距离小于开锁距离时才打开车门的车锁。具体地,可以通过两种方式确定是否打开车锁。一种方式为:在车门把手上设置感应开关,当用户触摸门把手时,车辆20会接收到触发信息,车辆20通过ble测量与手机10的距离是否小于开锁距离(例如,小于1米),如果小于开锁距离,并且车锁命令引擎212收到的无感开锁密文的验证结果为验证通过,则打开车门的车锁。另一种方式为:无需触发信号,车辆20在与手机10建立ble连接后,一直对车辆20与手机10之间的距离进行测量,如果测量到与手机10的距离小于开锁距离(小于1米)并且车锁命令引擎212收到的无感开锁密文的验证结果为验证通过,则直接打开车门的车锁。可以理解,在手机10与车辆20的距离到达开锁距离时才打开车锁,可以确保无感认证成功后,手机10与车辆20的距离不在开锁距离的情况下,其他人无法打开车门,在开锁距离的情况下,即使有人可以打开车门,车主也可以即时发现。通知开锁成功阶段在车辆20打开车门的车锁后,可以向手机发送开锁成功的通知。例如,当开锁成功,车机210通过auth4(通知开锁成功)命令通知手机10,手机10通过声音、震动、画面等形式通知用户开锁成功。如果开锁动作不是用户执行的,用户收到消息后即可采取相应措施。其中,auth4(通知开锁成功)命令可以包括命令标识2,该命令标识2用于标识该auth4命令为通知开锁成功命令。防中继规则如上所述,防中继ta107可以根据防中继规则进行防中继判断,图7根据一些实施例示出了一种防中继规则的流程示意图,具体地,如图7所示,该防中继规则包括:700:确定手机是否被root和手机位置mock开关是否被打开。如果判断结果为是,则说明手机存在被中继攻击的危险,可以结束防中继判断,并进入724。可以理解,手机被root表明手机可能被恶意控制,手机上的数据变得不安全,因此,此时应取消熄火定位。手机的位置被mock是指手机的位置被模拟,故手机的定位位置不再是手机的真实位置,在这种情况下手机10很可能被中继攻击。702:如果手机未被root,手机位置mock开关未被打开,则获取参考位置和手机10在获取参考位置时的参考高度。如上所述,参考位置和参考高度可以是在进行当前开锁业务之前,车辆20在距离当前开锁业务最近的一次熄火后向手机10发送定位请求,手机10响应于定位请求,在车辆20附近根据熄火定位策略定位到的手机10自身的位置和高度。704:确定防中继判断时间是否超过时间阈值t1。在防中继判断时间未超过t1时,继续进行防中继判断,进入步骤706,否则,说明手机10可能不在车辆20附近,手机10被中继攻击,进入724。在一些实施例中,接收到发起有感认证请求之前,不会一直进行防中继判断,而是对防中继判断进行计时,在防中继判断超过时间阈值t1(如10分钟)时,表明手机可能被中继攻击,停止防中继判断,并进入724,向车辆20发送手机被中继攻击的消息。此外,在一些实施例中,在防中继判断超过时间阈值t1(如10分钟)时,还可以向手机10的用户发送手机可能被中继攻击的提醒信息。可以理解,车辆20在检测到与手机10的距离已经进入有感认证范围(如小于3米)时,向手机10发送的发起有感认证命令。此外可以立即,此处的防中继判断超过时间阈值t1可以包括卫星定位的时间超过时间阈值t或者网络定位的时间超过时间阈值t。由于此处卫星定位和网络定位同时进行,所以两者的定位时间相同。此外,可以理解,车辆20接收到手机10被中继攻击的消息后,可以向手机10发送发起有感认证请求,通过生物识别验证手机用户10的合法性,也可以采取其他措施确保车锁被误打开。706:判断手机是否处于运动状态。如果判断出手机10处于静止状态,则返回704;如果判断出手机10处于运动状态,则进入708。例如,用户在走向车辆20的过程中,可能中间有停顿,此时手机10会被判断为时静止状态,故设置返回704重新开始判断。如果用户始终处于静止状态,则说明用户可能不在车辆20附近,手机10与车辆20之间的无线通信很可能被中继攻击,704中会在判断出定位超出时间阈值t1时,确定出手机10被中继攻击。708:同时对手机进行卫星定位和网络定位,以获取卫星定位位置和网络定位位置,并获取手机10当前的高度。可以理解,在其他实施例中,也可以采用其他定位服务对手机定位,在此不做限制。710:在获取到卫星定位位置、网络定位位置以及手机10当前的高度后,为了进一步提高安全性,在tee中判断手机10是否被root。如果手机10未被root,则进入712,否则,说明手机有可能被中继攻击,进入724。可以理解,在一些实施例中,还可以在tee中同时判断手机10是否被root和手机10的位置是否被mock。712:根据获取到的参考位置的信息,确定手机10获取参考位置时所采用的定位类型,并将与参考位置定位类型相同定位位置与参考位置进行比较,比较两者的距离差是否小于距离阈值s1(例如,0.5米)。例如,在一些实施例中,存储的参考位置的信息中包含了标识定位服务的参数,如果参数标识的是卫星定位,则表明获取参考位置时手机10采用的是卫星定位,将708中每次得到的卫星定位位置与参考位置进行比较,确定两者的距离差是否小于距离阈值s1;如果参数标识的是网络定位,则表明获取参考位置时手机10采用的是网络定位,将708中每次得到的网络定位位置与参考位置进行比较,确定两者的距离差是否小于距离阈值s1。如果确定出在708中某次定位出的卫星定位位置或者网络定位位置与参考位置之间的距离差小于s1,则表明手机10在车辆20附近,对手机10的高度进行测定,进入714,否则,如果未接收到停止定位命令,则返回704,继续进行卫星定位和网络定位,以便将新得到的卫星定位位置和网络定位位置与参考位置重新进行比对。此外,在708中由于定位时定位信号不好或者其他原因,导致没有得到与获取参考位置所采用的定位服务类型相同的定位位置的情况下,还是返回704,继续进行防中继判断。714:确定708中获取到的手机当前的高度与参考高度之间的高度差是否小于高度阈值。如果小于高度阈值,则进入716,否则,返回704。可以理解,在一些实施例中,714和716的执行顺序可以互换,或者同时执行714和716。716:判断在上述时间阈值t1内,是否同时获得了卫星定位位置和网络定位位置。如果同时获得了卫星定位位置和网络定位位置,则进入718;否则,进入720。718:判断卫星定位位置与网络定位位置之间的距离差是否小于距离阈值s2。如果卫星定位位置与网络定位位置之间的距离差小于距离阈值s2,则进入720,否则,返回704。具体地,如果在防中继的定位期间获取到的卫星定位位置和网络定位位置较多,则可以将定位时间相近的卫星定位位置和网络定位位置进行比对,判断两者的距离差是否小于s2(如100米)。两者的距离差大于s2时,说明其中一个定位服务存在定位不准确的问题,需要重新判断手机10是否在车辆20附近。720:如果卫星定位位置与网络定位位置之间的距离差小于距离阈值s2,则判断采用卫星定位服务和网络定位服务所定位出的定位位置是否发生位置突变。如果未发生位置突变,则进入722;如果发生位置突变,则表明手机10存在被中继攻击的危险,进入724。例如,某一定位服务定位出100个定位位置,如果这100个定位位置中存在若干个定位位置与其他位置相差极大,例如,相差10千米,则表明手机10的位置出现了突变,手机10存在被中继攻击的危险。722:确定防中继判断的结果为手机10未被中继攻击。724:确定防中继判断的结果为手机10被中继攻击。可以理解,在其他实施例中,也可以采用其他防中继规则进行防中继判断,以判断手机10当前的位置是否与参考位置匹配或者位于参考位置附近,从而确定手机10是否被中继攻击。此外,可以理解,在本发明的其他实施例中,也可以采用其他防中继判断规则,例如,仅通过一种定位服务判断手机10当前的位置与参考位置之间的关系。参考位置的获取如上所述,在无感认证阶段进行防中继判断时,需要手机10将当前的定位位置与参考位置进行比对。其中,在当前开锁业务之前,车辆20在距离当前开锁业务最近的一次熄火或者关车门后,向手机10发送定位请求,手机10响应于定位请求在车辆20附近定位出的手机10的位置即是参考位置。图8根据一些实施例示出了以车辆熄火为触发点,手机10获取参考位置的场景图,图9a和9b根据一些实施例分别示出了手机10在接收到auth2(停止熄火定位)命令之前和之后执行熄火定位的流程示意图。具体地,如图8所示,车辆20在熄火时,给手机10发送auth1(开始熄火定位)的命令,并监测在熄火定位距离(如图8所示的20米)内是否接收到熄火定位成功密文。如果在停止熄火定位距离到来前接收到熄火定位成功密文,并且对熄火定位成功密文进行校验,则确定熄火定位成功,保留auth1(开始熄火定位)命令中定位id,如此,手机10得到的参考位置才可以用于下一次防中继判断。如果在停止熄火定位距离到来时未接收到熄火定位成功密文,则车辆20向手机10发送停止熄火定位的命令,手机10在整个过程中会根据熄火定位策略确定参考位置。熄火定位的具体过程如图9a-9b所示:900:车锁命令引擎212生成auth1(开始熄火定位)命令。例如,在一些实施例中,auth1(开始熄火定位)命令可以包含如下表3所示的信息:表3auth1命令标识2配置数据2车辆随机数其中,命令标识2用于标识该auth0命令是用于开始熄火定位的命令。配置数据2包括车辆id、定位id、车钥匙aid(applicationidentifier,应用标识)、钥匙id。定位id用于标识本次熄火定位,即车锁命令引擎212在每次生成auth1(开始熄火定位)命令时更新定位id。车辆随机数由车机210的车锁命令引擎212随机生成,包含在auth1(开始熄火定位)命令中,被发送给手机10后,手机10可以在熄火定位成功后将车辆随机数包含在熄火定位成功密文中发送给车机210的车锁命令引擎212,随后,车锁applet211在响应车锁命令引擎212的请求对熄火定位成功密文进行校验时,会将熄火定位成功密文中的车辆随机数与自身存储的车辆随机数进行比对。如果两者相同,表明手机10接收到的auth1(开始熄火定位)命令或者手机10发送的熄火定位成功密文没有被篡改。可以理解,表3所示的开始熄火定位命令所包含的信息仅仅是示例性的,并非限制性的,开始熄火定位命令还可以包含其他信息。此外,可以理解,虽然此处开始熄火定位命令的名称为auth2,在其他实施例中,也可以采用其他名称来命名开始熄火定位命令,起到的作用与auth2相同,在此不做限制。902:依次并通过车载ble模块213和车厂app102,将生成的auth1(开始熄火定位)命令发送给手机钱包103。904:手机钱包103接收到auth1(开始熄火定位)命令后,请求防中继应用104获取参考位置。906:防中继应用104接收到防中继应用104的请求后,可以根据熄火定位策略开始熄火定位,以获取参考位置。可以理解,如上所述,车辆20在停止熄火定位距离到来时如果未接收到熄火定位成功密文,则向手机10发送停止熄火定位的命令,故在接收到auth2(停止熄火定位)命令前后,防中继应用104可以采用不同的熄火定位策略获取参考位置。例如,在接收到auth2(停止熄火定位)命令前,可以根据图10a所示的熄火定位策略获取参考位置。908:如果防中继应用104在接收到auth2(停止熄火定位)命令前熄火定位成功,则将定位出的参考位置发送给防中继ta107。如果在接收到auth2(停止熄火定位)命令时熄火定位未成功,则结束熄火定位,参考位置的获取参考图10b。910:防中继ta107在接收到参考位置后,存储接收到的参考位置。可以理解,参考位置仅存储在防中继ta107中直至下次熄火定位产生新的参考位置。此外,在其他实施例中,为了确保参考位置被盗,参考位置也可以存储在车钥匙applet108中。912:防中继ta107通过防中继应用104向手机钱包103发送熄火定位完成的消息。914:手机钱包103接收到熄火定位成功的消息后,向钱包ta106请求熄火定位成功密文。916:钱包ta106收到手机钱包103的请求后,从防中继ta107中获取熄火定位结果。在一些实施例中,为了保证熄火定位结果的安全性,防中继ta106在发送熄火定位完成的消息后,只在较短的时间(如3秒)内保留熄火定位结果,如果钱包ta106在该时间内未获取熄火定位结果,则该结果会被删除。此外,可以理解,由于手机10的tee安全性较高,通过钱包ta106获取熄火定位成功密文,能够防止熄火定位结果被伪造,提高熄火定位的安全性。918:防中继ta107向钱包ta106返回熄火定位结果。920:钱包ta106接收到熄火定位结果后,根据熄火定位结果判断熄火定位是否成功。例如,熄火定位结果中存有表示熄火定位是否成功的字符,如0表示熄火定位成功,1表示熄火定位失败。钱包ta106可以根据这些字符确定熄火定位是否成功。922:如果钱包ta106判断出熄火定位成功,则向车钥匙applet108请求获取熄火定位成功密文。924:车钥匙applet108接收到上述请求后,生成熄火定位成功密文。在一些实施例中,熄火定位成功密文可以包括从车辆20接收到的auth1(开始熄火定位)命令中的车辆id和定位id,并用密钥对其进行加密。926:车钥匙applet108生成熄火定位成功密文后,依次通过钱包ta106、手机钱包103、车厂app102、车载ble模块213向车锁命令引擎212发送熄火定位成功密文。928:车锁命令引擎212接收到熄火定位成功密文后请求车锁applet211校验熄火定位成功密文。930:车锁applet211接收到请求后,校验熄火定位成功密文。可以理解,在一些实施例中,车锁applet211校验熄火定位成功密文的过程可以包括:车锁applet211采用与手机10建立ble连接时接收到的密钥对熄火定位成功密文进行解密,并将解密出来的车辆id和定位id与自身存储的车辆id和最新的定位id进行匹配,如果匹配成功,则校验通过,否则,校验不通过。932:车锁applet211完成校验后,向车锁命令引擎212返回校验结果。934:车锁命令引擎212根据接收到的校验结果确定熄火定位是否成功。例如,如果校验结果为通过,则车锁命令引擎212可认为熄火定位成功密文可信,此次熄火定位可作为参考位置用于防中继判断,故保留当前的定位id。如果校验结果为未通过,车锁命令引擎212可以认为熄火定位成功密文不真实,将此次定位id清除。如此,无论下次进行无感认证时是否发生中继攻击,由于车锁applet108在校验无感认证成功密文时需要匹配熄火id,故校验由于此次的定位id被清除会无法通过,从而使得任何电子设备都无法进行无感认证或者说无感认证都不会被通过。如上所述,车辆20在停止熄火定位距离到来时如果未接收到熄火定位成功密文,则向手机10发送停止熄火定位的命令,具体过程如图9b所示:940:当监测到与手机10的距离超出熄火定位距离时,如果未接收到熄火定位成功密文,车机210的车锁命令引擎212生成auth2(停止熄火定位)命令。例如,在一些实施例中,auth2(停止熄火定位)命令可以包含如下表4所示的信息:表4auth2命令标识3配置数据3车辆随机数其中,命令标识3用于标识该auth2命令是用于停止熄火定位的命令。配置数据3包括车辆id、定位id、车钥匙aid(applicationidentifier,应用标识)、钥匙id。定位id用于标识本次熄火定位。车辆随机数由车机210的车锁命令引擎212随机生成,包含在auth2(停止熄火定位)命令中,被发送给手机10后,手机10可以在熄火定位成功后将车辆随机数包含在熄火定位成功密文中发送给车机210的车锁命令引擎212,随后,车锁applet211在响应车锁命令引擎212的请求对熄火定位成功密文进行校验时,会将熄火定位成功密文中的车辆随机数与自身存储的车辆随机数进行比对。如果两者相同,表明手机10接收到的auth2(停止熄火定位)命令或者手机10发送的熄火定位成功密文没有被篡改。此外,可以理解,虽然此处停止熄火定位命令的名称为auth2,在其他实施例中,也可以采用其他名称来命名停止熄火定位命令,起到的作用与auth2相同,在此不做限制。942:车锁命令引擎212通过车载ble模块213、车厂app102以及手机钱包103将生成的auth2(停止熄火定位)命令发送给防中继应用104。944:防中继应用104接收到该命令后,停止熄火定位,并根据熄火定位策略确定参考位置。例如,通过图10b所示的熄火定位策略确定参考位置。946:防中继应用104确定出参考位置后,向防中继ta107发送确定出的参考位置。此后948-964与910-926对应相同,不再赘述。966:车锁命令引擎212在发送完auth2(停止熄火定位)命令后,判断在预定时间(如1分钟)内是否接收到熄火定位成功密文。如果在预定时间内收到熄火定位成功密文,则确定获取参考位置成功,则进行步骤968请求对熄火位置成功密文进行校验。如果在预定时间内未接收到熄火定位成功密文,则确定获取参考位置失败,将定位id清除。968:如果车锁命令引擎212在预定时间内接收到熄火定位成功密文,则请求车锁applet211校验熄火定位成功密文。970:车锁applet211接收到请求后,校验熄火定位成功密文。可以理解,在一些实施例中,车锁applet211校验熄火定位成功密文的过程可以包括:车锁applet211采用与手机10建立ble连接时接收到的密钥对熄火定位成功密文进行解密,并将解密出来的车辆id和定位id与自身存储的车辆id和最新的定位id进行匹配,如果匹配成功,则校验通过,否则,校验不通过。972:车锁applet211完成校验后,向车锁命令引擎212返回校验结果。974:车锁命令引擎212根据接收到的校验结果确定熄火定位是否成功。例如,如果校验结果为通过,则车锁命令引擎212可认为熄火定位成功密文可信,此次熄火定位成功的参考位置可以用于防中继判断,故保留当前的定位id。如果校验结果为未通过,车锁命令引擎212可以认为熄火定位成功密文不真实,将此次定位id清除。如此,无论下次进行无感认证时是否发生中继攻击,由于车锁applet108在校验无感认证成功密文时需要匹配熄火id,故校验由于此次的定位id被清除会无法通过,从而使得任何电子设备都无法进行无感认证或者说无感认证都不会被通过。图10a和图10b分别示出了防中继应用104在接收到auth2(停止熄火定位)命令前后,防中继应用104可以采用的熄火定位策略。具体地,如图10a所示,在接收到auth2(停止熄火定位)命令前,熄火定位策略可以包括:1002:判断手机10是否被root和手机的位置是否被mock。如果手机10被root或者手机的位置未被mock,则表明手机10存在安全风险,进入1032;否则,进入1004。1004:获取手机10的参考高度。例如,可以通过定位服务或者手机10中的气压传感器来测量手机10的高度。参考高度可以是多个测量到的高度值的平均值,例如,5次测量到的高度值的平均值。1006:同时对手机进行卫星定位和网络定位,获取卫星定位位置和网络定位位置。1008:每次定位完,判断卫星定位次数是否超过次数阈值c(例如50次)。如果判断出超过次数阈值c,则停止卫星定位和网络定位,进入1014,否则进入1010。1010:判断卫星定位时长是否超过时间阈值t2(如5分钟)。如果判断出超过时间阈值t2,则进入1014,否则,返回1008。1012:判断是否具有通过卫星定位定位出的卫星定位位置。如果有,则进入1014,否则进入1016。1014:将卫星定位所定位出的定位位置的平均位置作为参考位置。此后,进入1020。1016:判断是否具有网络定位定位出的网络定位位置。如果有,则进入1018,如果没有,则结束熄火定位,进入1026。1018:将网络定位所定位出的定位位置的平均位置作为参考位置。此后,进入1020。1020:为了提高安全性,在存储参考位置前,重新确定手机10是否被root。如果确定手机被root,则进入1026;否则进入1022。1022:判断手机10中是否已记录有auth1(开始熄火定位)命令中包含的车辆id和定位id。如果手机中记录有auth1(开始熄火定位)命令中包含的车辆id和定位id,则进入1026;否则,进入1024。如果手机10中记录有auth1(开始熄火定位)命令中包含的车辆id和定位id,说明定位id有被伪造的危险,此次熄火定位不可靠,故确定熄火定位失败。1024:存储上述得出的参考位置和参考高度,并存储auth1(开始熄火定位)命令中包含的车辆id和定位id。例如,存储在如上所述的手机10的防中继ta或者车钥匙applet108中,以在手机10进行防中继判断时使用。1026:确定熄火定位失败。在一些实施例中,如果熄火定位失败没有获取到参考位置,钱包ta106获取到熄火定位失败的结果后,可以依次通过手机钱包103、车厂app102、车载ble模块214向车锁命令引擎212发送熄火定位失败的消息。车锁命令引擎212接收熄火定位失败的消息后,将定位id清除。如此,无论下次进行无感认证时是否发生中继攻击,由于车锁applet108在校验无感认证成功密文时需要匹配熄火id,故校验由于此次的定位id被清除会无法通过,从而使得任何电子设备都无法进行无感认证或者说无感认证都不会被通过,手机10只能通过有感认证或者实体车钥匙开锁。具体地,如图10b所示,在接收到auth2(停止熄火定位)命令后,熄火定位策略可以包括:1040:判断是否有成功的卫星定位结果。如果有成功的卫星定位结果,则进入1042,否则,进入1044。1042:将已经通过卫星定位定位出的定位位置的平均位置作为参考位置。1044:判断是否有成功的网络定位结果。如果有成功的网络定位结果,则进入1046,否则,进入1054。1046:将已经通过网络定位定位出的定位位置的平均位置作为参考位置。此后,进入1048至1054,其中,1048至1054的执行内容与上述1020至1026的完全相同,为了避免重复,在此不再赘述。此外,可以理解,防中继应用104也可以采用其他熄火定位策略获取参考位置,不限于图10a和图10b所示的策略,只要能在车辆20附近获得参考位置即可。此外,在其他实施例中,在手机10进行熄火定位的过程中,也可以在其他情况生成auth2(停止熄火定位)命令,例如,手机10的用户在离开车辆20后又返回车辆,此时停止熄火定位,由于车辆20与手机10还保持ble连接,并且之前有成功的无感认证或者有感认证结果,车辆20只需判断手机10与车辆20的距离是否满足开锁距离,即可确定是否开车锁。此外,可以理解,在本发明的其他实施例中,也可以采用其他方式获取参考位置,例如,仅通过一种定位服务获取参考位置,例如,仅通过卫星定位或者仅通过网络定位获取参考位置。有感认证如上所述,在一些实施例中,手机10具有有感认证应用,并且可以设置无感认证的距离范围,当在无感认证的距离范围内无感认证未通过时,可以进行有感认证,如图11所示。可以理解,在本申请的各实施例中,用户在手机10与车辆20建立ble通信的情况下,随时可以发起有感认证,如图12所示。在有感认证阶段,手机10响应于车辆20发送的有感认证请求,可以对用户的生物识别特征进行验证,例如,验证指纹、虹膜、声音或者进行面部识别。此外,在一些实施例中,也可以采用其他验证方法,例如密码验证、姿态验证等。有感认证通过后,手机10可以向车辆20发送表示有感认证成功的消息,以通知车辆20开锁。在一些实施例中,车辆20可以向手机10发送进行有感认证的提示信息,以使得用户通过手机10进行有感认证,可以理解,用户10也可以在无提示的情况下主动发起有感认证。例如,用户可以在负一屏、钱包app或车厂app发现无感车钥匙的图标,用户可进行“开锁”、“锁车”的主动操作。图13示出了一种有感认证流程示意图,图14示出了手机10的屏幕1400的示意图,图中手机10的屏幕上显示有手机10的负一屏,其中,在快捷菜单中具有无感车钥匙的图标1402。以点击手机10负一屏的无感车钥匙图标1402为例,如图13所示,有感认证的过程包括:1300:用户在负一屏上触发无感车钥匙的图标1402后,主动开锁指令被转接到车锁命令引擎212,车锁命令引擎212接收到主动开锁指令后,生成auth3(发起有感认证)命令。或者当测量到手机10与车辆20的距离到达有感认证距离(如3米)时,若无感认证未通过,车辆20的车机210的车锁命令引擎212生成auth3(发起有感认证)命令。例如,在一些实施例中,auth3(发起有感认证)命令可以包含如下表5所示的信息:表5auth3命令标识4配置数据4车辆随机数其中,命令标识4是用于标识该auth3命令是用于发起有感认证的命令。配置数据4包括车辆id、认证id、车钥匙aid(applicationidentifier,应用标识)、钥匙id。其中,该认证id用于标识这次有感认证。车辆随机数由车机210的车锁命令引擎212随机生成,包含在auth3(发起有感认证)命令中,被车机210的车锁命令引擎212发送给手机10后,手机10可以在有感认证成功后将车辆随机数包含在有感认证成功密文中发送给车机210的车锁命令引擎212,随后,车锁applet211在响应车锁命令引擎212的请求对有感认证成功密文进行校验时,会将有感认证成功密文中的车辆随机数与自身存储的车辆随机数进行比对,如果两者相同,表明手机10接收到的auth3(发起有感认证)命令没有被篡改,或者接收到的有感认证成功密文没有被篡改。此外,可以理解,虽然此处发起有感认证命令的名称为auth3,在其他实施例中,也可以采用其他名称来命名发起有感认证命令,起到的作用与auth3相同,在此不做限制。1302:车锁命令引擎212依次通过车载ble模块213、车厂app102将auth3(发起有感认证)命令发送给手机钱包103。1304:手机钱包103接收到auth3(发起有感认证)命令后,请求有感认证应用开始有感认证。1306:有感认证应用接收到上述请求后,进行有感认证。在一些实施例中,假如有感认证应用通过采集用户的指纹进行认证,则有感认证应用可以将手机10存储的指纹或者由服务器存储的指纹与采集到的用户指纹进行比对,比对成功则表明验证通过,否则验证不通过。在一些实施例中,并有感认证应用可以通过手机钱包103调起指纹认证界面,供用户输入指纹信息,然后获取用户输入的指纹信息进行验证。1308:有感认证应用完成有感认证后,向手机钱包103发送有感认证完成的消息。1310:手机钱包103接收到有感认证完成的消息后,向钱包ta106请求有感认证成功密文。1312:钱包ta106接收到上述请求后,从有感认证应用获取有感认证结果。1314:有感认证应用向钱包ta106返回有感认证结果。可以理解,在一些实施例中,有感认证应用向手机钱包103发送完有感认证完成的消息后,可以保留有感认证结果一小段时间(如3秒),如果钱包ta未在该时间内及时获取认证结果,则该有感认证结果会被删除。1316:钱包ta106接收到有感认证结果后,判断有感认证是否通过。1318:如果判断出有感认证通过,则向车钥匙applet108请求有感认证成功密文。可以理解,如果有感认证结果表示有感认证未通过,则不向车辆20的车机210返回认证结果,或者返回有感认证失败的消息。1320:车钥匙applet108接收到钱包ta106的请求后,生成有感认证成功密文。可以理解,在一些实施例中,有感认证成功密文可以是采用密钥对认证成功信息进行加密后的密文,密钥为车辆20与手机10建立ble连接时手机10向车辆20发送的约定数据中的密钥。例如,有感认证成功密文可以包括被密钥加密的车辆id。1322:车钥匙applet108依次通过钱包ta106、手机钱包103、车厂app102和车载ble模块213,将有感认证成功密文发送给车锁命令引擎212。1324:车锁命令引擎212接收到有感认证成功密文后,请求车锁applet211校验有感认证成功密文。1326:车锁applet211响应于接收到的上述请求,对有感认证成功密文进行校验。1328:车锁applet211完成校验后,向车锁命令引擎212返回校验结果。1330:车锁命令引擎212接收校验结果。在一些实施例中,车锁命令引擎212在接收到校验结果后,如果校验结果为有感认证成功密文校验通过,则立即开车锁,如果校验不通过,则不打开车锁,向手机10发送开锁失败的消息。而在另外一些实施例中,车锁命令引擎212在接收到校验结果后存储校验结果,仅在确定手机10与车辆20之间的距离进入前述提到的开锁距离时,重新从车锁命令引擎212获取有感认证成功密文的校验结果,并在获取到的校验结果表示对有感认证成功密文的校验通过时才打开车锁,并在校验不通过时,不打开车锁,向手机10发送开锁失败的消息。例如,在一种可能的实现中,在车门把手上设置有感应开关,当用户触摸门把手时,车辆20开始通过ble测量与手机10的距离,如果距离小于开锁距离(例如,小于1米),则获取有感认证成功密文的校验结果,在确定校验结果为通过时才打开车门的车锁,在校验不通过时,不打开车锁,向手机10发送开锁失败的消息。再例如,在另外一种可能的实现中,车辆20持续对手机10进行测距,在车辆20与手机10之间的距离小于开锁距离(例如,小于1米)时,获取有感认证成功密文的校验结果,并在确定校验结果为通过时打开车门的车锁,在校验不通过时,不打开车锁,向手机10发送开锁失败的消息。基于上面的描述,下面介绍手机10和车辆20在进行开锁业务时,手机10和车机210的主要工作流程。上述实施例中的具体细节在下面的流程中依然适用,在此不做赘述。以图11所示的场景为例,如图15所示,车机210的工作流程包括:1500:车辆20在停止时,车机210持续发送ble广播。当手机10与车辆20的距离足够近时,手机10可以接收到车机210发送的ble广播。1502:车机210与手机建立ble连接。在手机10接收到车机210发送的ble广播后,手机10与车机210之间建立ble连接。在一些实施例中,手机10与车机210之间建立ble连接后,车机210从手机10获取包含密钥和距离配置表的约定数据,并且,手机10开始发射ble广播,车机210唤醒多根ble测距天线接收手机20的ble广播,以对手机10进行rssi测距。1504:车机210在与手机10建立ble连接后,测量与手机10的距离是否达到无感认证距离(例如,如图11所示,小于35米)。若达到无感认证距离,则执行1506,否则继续执行1504。1506:如果达到无感认证距离,则向手机发送发起无感认证命令。1508:车机210在发送发起无感认证命令后,判断是否接收到手机被中继攻击的消息。如果未接收到防中继判断失败的消息,则进入1510,否则,进入1526。1510:车机210在判断是否接收到手机被中继攻击的消息时,还会持续监测与手机10的距离,并判断与手机10的距离是否达到有感认证距离(例如,如图11所示的3米)。车机210如果监测到与手机10的距离达到有感认证距离,则进入1512。否则返回执行1508。1512:当车机210与手机10的距离到达有感认证距离时,车机210判断是否接收到过无感认证成功密文。如果判断出接收到过无感认证成功密文,则进入1514,否则,进入上述1526。可以理解,虽然图中示出了无感认证成功密文是在1508前接收到的,但是,此处只是示意性的,具体的,可能在1506发送发起无感认证命令后的任意时刻接收到无感认证成功密文。1514:车机210确定获取到的无感认证成功密文的校验结果是否表示校验通过。如果表示校验通过,则进入1516,否则,进入1526。可以理解,在一些实施例中,无感认证成功密文的校验结果可以是直接获取的。例如,在车机210的车锁命令引擎212接收到无感认证成功密文后,可以直接请求车锁applet211对无感认证成功密文进行校验,并将车锁applet211返回的校验结果存储在车锁命令引擎212中。因此当测量到手机10与车辆20的距离到达有感认证距离时,直接从车锁命令引擎212获取校验结果。此外,在另外一些实施例中,也可以在车机210的车锁命令引擎212接收到无感认证成功密文后,仅存储无感认证成功密文而不对接收到的无感认证成功密文进行校验,而在1510中确定车机210与手机10的距离到达有感认证距离时,由车锁命令引擎212请求车锁applet211对无感认证成功密文进行校验,并接收校验结果。1516:车机210判断是否接收到开锁的触发消息。如前所述,在一些实施例中,持有手机10的用户在准备开车门时,会门触发车门的门把手上设置的感应开关,在用户触摸到感应开关时,感应开关可以向车机210发送开锁的触发消息。1518:如果车机210接收到开锁的触发消息,则需要判断车辆20与手机10的距离是否小于开锁距离(如1米)。如果判断出车辆20与手机10的距离小于开锁距离,则1520,否则继续执行1518。1520:判断获取到的无感认证成功密文或者有感认证成功密文的校验结果是否表示校验通过。如果无感认证成功密文或者有感认证成功密文的校验结果表示校验通过,则进入1522,否则进入1524。可以理解,1518和1520也可以同时执行,或者先执行1520再执行1518。1522:车机210向车门上的车锁发送开锁指令,以打开车门上的车锁。1524:车机210向手机发送开锁失败的消息。1526:车机210向手机10发送发起有感认证命令。1528:车机210判断是否接收到有感认证成功密文(或者判断是否接收到有感认证失败的消息)。如果判断出接收到有感认证成功密文,则进入上述1520;否则,进入1524。此外,可以理解,在另外一些实施例中,在1528中,车机210在判断出接收到有感认证成功密文后,可以不进入1520,而是进入1518,判断车辆20与手机10的距离是否小于开锁距离,即在车辆20与手机10的距离小于开锁距离的前提下才打开车锁。此外,可以理解,在另外一些实施例中,车机210在确定对接收到的无感认证成功密文的校验通过的情况下,也可以直接进入1522,打开车锁,而不进入1516。此外,可以理解,在另外一些实施例中,车机210在确定对接收到的无感认证成功密文的校验通过的情况下,也可以不进入1516判断车机210是否接收到开锁的触发消息,而是直接进入1518判断车辆20与手机10的距离是否小于开锁距离,并在判断出车辆20与手机10的距离小于开锁距离时,获取无感认证成功密文的校验结果,并在无感认证成功密文的校验结果表示校验通过时,进入1522,打开车锁。如图15所示,手机10的工作流程包括:1530:当手机10与车辆20的距离足够近时,手机10接收到车机210发送的ble广播。1532:手机10接收到车机210发送的ble广播后,手机10与车机210建立ble连接。在一些实施例中,手机10与车机210之间建立ble连接后,手机10向车机210发送包含密钥和距离配置表的约定数据,并且,手机10开始发射ble广播。1534:手机10从车机210接收到发起无感认证的命令。1536:手机10根据防中继规则判断手机是否被中继攻击。如果判断出手机10未被中继攻击,则进入1538;否则,进入1540和1542。1538:在无感认证通过的情况下,手机10向车机210发送无感认证成功密文。可以理解,虽然图示中表示车机210是在判断是否接收到手机被中继攻击的消息前接收到无感认证成功密文,但是,此处只是为了说明车机210会接收到无感认证成功密文,至于接收到的时间,可以是车机210向手机10发送发起无感认证命令后的任何时间,故在此不做限制。1540:手机10向车机210发送手机被中继攻击的消息。可以理解,如上所述,手机10在判断出手机被root、手机的位置被mook、手机10进行防中继判断的时长超过时间阈值的情况下,表明手机10有被中继攻击的情况,手机10可以向车机210发送手机被中继攻击的消息。1542:在判断出手机被中继攻击的情况下,手机10还判断是否从车机210接收到发起有感认证命令。如果有接收到有感认证命令,则进入1544;否则,返回继续执行1542。1544:手机10进行有感认证。有感认证的具体过程可以参考上文的描述。1546:手机10判断有感认证是否通过。如果有感认证通过,则进入1548;否则,进入1550。1548:手机10发送有感认证成功密文。1550:手机10发送有感认证失败的消息。可以理解,虽然上述实施例基于图2所示的架构来说明手机10与车辆20的开锁业务,但是,能够实现本申请技术方案的架构并不限于图2所示的架构,在此不做限制。例如,图16示出了另外一种可以实现手机10对车辆20的开锁业务的架构。具体地,如图16所示,可以将手机10中的手机钱包和车厂app的功能合成在同一应用中,例如合成在车厂app102中,并设置相应的车厂ta111。除了车厂app102和车厂ta111外,图16中其他模块的功能与图2所示的架构中的模块的功能均相同,具体如下:手机10包括ble代理101、车厂app102、防中继应用104、定位服务105、车厂ta111、防中继ta107、车钥匙applet108以及手机ble芯片109。车辆20包括车机210,车机210包括车锁applet211、车锁命令引擎212以及车载ble模块213。具体地,手机10的bleagent(ble代理)101可以在车辆20和手机10初次建立连接时,注册车辆20的相关信息,并可以在手机ble芯片109接收到车辆20的ble广播后,唤醒车厂app102与车辆20建立ble连接。车厂app102可以与车机210的车载ble模块213通信,接收来自车载ble模块的命令。车厂app102还可以根据从车机210的车锁命令引擎212接收到的命令,调用防中继应用104进行无感认证和熄火定位,或者调用有感认证服务进行有感认证。车厂ta111可以位于手机10的tee中,用于从防中继ta107中获取防中继判断结果、熄火定位结果,或者在一些实施例中,从有感认证应用中获取有感认证结果。将车厂ta111设置在手机10的tee中,可以有效确保各认证的认证结果或者熄火定位结果的真实性,提高开锁过程的安全性。防中继应用104和防中继ta107可以响应车厂app102的无感认证调用请求,完成无感认证,或者响应车厂app102的熄火定位请求,完成熄火定位。其中,在熄火定位时,防中继应用104可以用于执行熄火定位的过程,而熄火定位所定位出的参考位置存储在防中继ta107中。在无感认证阶段,防中继ta107根据防中继规则进行防中继判断。定位服务105用于为防中继应用104提供定位服务。车钥匙applet108可以用于存储密钥信息和生成开锁过程中各阶段的密文,如无感认证密文、有感认证密文以及熄火定位成功密文。车锁applet211可以用于存储密钥信息,并用于校验车钥匙applet108产生的各种密文。车锁命令引擎212用于生成开锁过程中需要手机执行的各种任务的命令,例如,无感认证命令、有感认证命令、熄火定位命令等。车载ble模块213可以是车机210中的ble芯片,用于转发车锁命令引擎212生成的各种命令给手机10侧的车厂app102,并将车厂app102发送的各种密文转发给车锁命令引擎212,再由车锁命令引擎212发送给车锁applet211进行校验。基于图16所示的架构,下面详细介绍手机10与车辆20的开锁过程。在手机10初次与车辆20的车机210建立通信连接时,需要进行注册和蓝牙测距校准。该注册和蓝牙测距校准的过程与图2所示的架构完全相同,由车机210的车载ble模块213和手机10的车厂app102完成,具体的实现过程如图3所示,故在此不再赘述。图4示出的手机10与车辆20实现无感开锁业务的情景图同样适用于图16所示的架构。具体地,手机10要启动车辆20,需要依次经历建立蓝牙连接、无感认证、开锁测距以及通知开锁成功四个阶段。建立ble连接如前所述,车辆20在停止时,车机210会持续发送ble广播,手机10在靠近车辆20的过程中如果能够接收到车机210发送的ble广播,则会与车机210建立ble连接。图16所示架构下手机10与车辆20建立ble连接的流程与图2所示的架构下建立ble连接的流程相同,具体可参照上述对图5的相关描述,故在此不再赘述。无感认证如上所述,车载ble模块213在与车厂app建立ble连接后,开始对手机10进行rssi测距,继续参照图4,当测量到手机10与车辆20的距离到达无感认证距离(如图4所示的35米)时,车辆20的车机210的车锁命令引擎212生成auth0(发起无感认证)命令,命令手机10开始进行无感认证。此外,在一些实施例中,可以设置无感认证的距离范围,例如,小于35米大于3米时进行无感认证,小于3米无感认证未通过时采用其他方式开车锁,例如进行有感认证,通知用户采用生物识别特征(如指纹)进行开锁。在无感认证阶段,手机10将通过定位服务获得的当前位置与参考位置进行比较,其中,参考位置可以是在进行当前开锁业务之前,手机10响应于车辆20在距离当前开锁业务最近的一次熄火后发送的定位请求,在车辆20附近根据熄火定位策略定位到的手机10自身的位置。如果手机10的当前位置与参考位置匹配或者手机10的当前位置在参考位置附近,则表明手机10在车辆20附近,手机10被中继攻击的可能性较低,无感认证通过。参考位置的获取在下文中会进行详细的论述。图17根据一些实施例示出了一种手机10进行无感认证的流程示意图。具体地,如图17所示,手机10进行无感认证的过程包括:1700:车锁命令引擎212生成auth0(发起无感认证)命令。在一些实施例中,auth0(发起无感认证)命令所包含的信息可以参考上文对表2的描述,为了避免重复,在此不再赘述。此外,可以理解,虽然此处发起无感认证命令的名称为auth0,在其他实施例中,也可以采用其他名称来命名发起无感认证命令,起到的作用与auth0相同,在此不做限制。1702:车锁命令引擎212通过车载ble模块213向车厂app102发送auth0(发起无感认证)命令。1704:车厂app102接收到auth0(发起无感认证)命令后,通知防中继应用104开始防中继判断。1706:防中继应用104接收到上述通知后调用防中继ta107开始防中继判断。为了提高开锁业务的安全性,防中继判断所遵循的防中继规则存储在防中继ta107中,并且防中继ta107只能够与防中继应用104和车厂ta111进行通信。1708:防中继ta107接收到通知后,根据防中继规则进行防中继判断,以判断手机10是否被中继攻击。具体的防中继规则可以参考上文针对图7的描述。1710:防中继ta107在完成防中继判断后,通过防中继应用104向车厂app102发送防中继判断完成的消息。1712:车厂app102接收到防中继判断完成的消息后,向车厂ta111发起无感认证。1714:车厂ta111从防中继ta107获取防中继判断结果。在一些实施例中,为了提高安全性,防中继ta107可以在完成防中继判断后,仅保留防中判断结果极小的时间(例如,3秒钟),钱包ta106如果超出保留时间,则获取不到防中继判断结果。可以理解,如上所述,在一些实施例中,可以设置无感认证的距离范围,例如,设置手机10与车辆20之间的距离为小于35米大于3米。当手机10与车辆20之间的距离到达3米时,如果车辆20未收到无感认证成功密文,或者车辆20接收到无感认证成功密文但是车辆20对无感认证成功密文进行的校验未通过,则车辆20向手机10发送发起有感认证命令。手机10接收到车辆20发送的发起有感认证命令后,防中继ta107结束防中继判断,手机10进行有感认证,以使得用户通过生物识别特征认证打开车锁。1716:防中继ta107向车厂ta111返回防中继判断结果。可以理解,由于手机10的tee安全性较高,通过车厂ta111获取防中继判断结果,能够防止防中继判断结果被伪造,提高防中继判断的安全性。1718:车厂ta111接收到防中继判断结果后,根据防中继判断结果判断手机10是否被中继攻击。若判断未被中继攻击,则执行1720;否则车厂ta111可以通过车厂app102向车辆20或者手机10的用户发送手机被中继攻击的消息。在一些实施例中,车辆20接收到手机10被中继攻击的消息后,可以向手机10发送发起有感认证请求,以请求手机10对用户进行生物认证,用户接收到发起有感认证请求后,如果用户发现自己并不在车辆20旁边,则确定手机10与车辆20之间的无线通信被中继攻击,用户可以拒绝进行有感认证,此外,用户还可以报警或者通过车厂app102锁定车辆20的车锁,在解锁前车辆20不再进行无感认证。具体的,用户的手机上可以显示有一键报警或一键锁定按键。1720:车厂ta111在判断出手机10未被中继攻击的情况下,请求车钥匙applet108生成无感认证成功密文。可以理解,由于手机10的tee安全性较高,通过车厂ta111获取无感认证成功密文,能够防止无感认证的结果被伪造,提高无感认证的安全性。1722:车钥匙applet108接收到车厂ta111的请求后,生成无感认证成功密文。可以理解,在一些实施例中,无感认证成功密文可以是采用密钥对认证成功信息进行加密后的密文,密钥为车辆20与手机10建立ble连接时手机10向车辆20发送的约定数据中的密钥。例如,无感认证成功密文可以包括被密钥加密的车辆id、认证id和定位id。其中定位id是指在进行当前开锁业务之前,车辆20在距离当前开锁业务最近的一次熄火或者车门的关闭后,向手机10发送定位请求时,包含在定位请求中的,用于标识该次定位id,手机10可以在获得参考位置后将该定位id和参考位置同时存储。车辆20的车锁命令引擎212在每次发送定位请求时,都生成新的定位id。1724:车钥匙applet108生成无感认证成功密文后,依次通过车厂ta111、车厂app102、以及车载ble模块213将无感认证成功密文转发给车锁命令引擎212。在一些实施例中,车锁命令引擎212在接收到无感认证成功密文后,直接请求车锁applet211对无感认证成功密文进行校验,并在接收到车锁applet211返回的校验结果后存储校验结果。如此,在手机10接近车辆20的过程中,如果测量到手机10与车辆20的距离超出无感认证范围(如小于3米),则直接获取校验结果:1)在一种可能的实现中,若无感认证成功密文的校验结果表示校验未通过,则车辆20执行开锁业务;在另一种可能的实现中,在无感认证成功密文的校验通过时,不直接执行开锁业务,而是在手机10与车辆20之间的距离进入前述提到的开锁距离时,重新从车锁命令引擎212获取无感认证成功密文的校验结果,并在获取到的校验结果表示对无感认证成功密文的校验通过时才打开车锁。2)在校验结果为校验未通过的情况下,车辆20向手机10发送发起有感认证请求,并且,在一种可能的实现中,若有感认证成功,则执行开锁业务;而在另外一种可能的实现中,在有感认证通过后,不直接开锁而存储校验结果,而是在确定手机10与车辆20之间的距离进入前述提到的开锁距离时,重新从车锁命令引擎212获取有感认证成功密文的校验结果,并在获取到的校验结果表示对有感认证成功密文的校验通过时才打开车锁,其中,对有感认证成功密文的校验可以在接收到有感认证成功密文时立即进行,也可以在到达开锁距离时进行,在此不做限制。此外,在另外一些实施例中,车锁命令引擎212在接收到无感认证成功密文后,不立即做校验,而是存储无感认证成功密文。如此,在手机10接近车辆20的过程中,如果车锁命令引擎212测量到手机10与车辆20的距离超出无感认证范围(如小于3米),则请求车锁applet211对无感认证成功密文进行校验,并从车锁applet211接收校验结果:1)在一种可能的实现中,若接收到的校验结果表示无感认证成功密文校验通过,则执行开锁业务;在另外一种可能的实现中,在无感认证成功密文校验通过时,不直接执行开锁业务而存储校验结果,而是在手机10与车辆20之间的距离进入前述提到的开锁距离(如1米)时,重新从车锁命令引擎212获取无感认证成功密文的校验结果,并在确定获取到的校验结果表示校验通过时才打开车锁。2)在校验结果为校验未通过的情况下,车辆20向手机10发送发起有感认证请求。在一种可能的实现中,若有感认证成功,则执行开锁业务;而在另外一种可能的实现中,在有感认证通过后,不直接开锁,而是在确定手机10与车辆20之间的距离进入前述提到的开锁距离时,重新从车锁命令引擎212获取有感认证成功密文的校验结果,并在获取到的校验结果表示对有感认证成功密文的校验通过时才打开车锁,其中,对有感认证成功密文的校验可以在接收到有感认证成功密文时立即进行,也可以在到达开锁距离时进行,在此不做限制。车锁命令引擎212请求车锁applet211校验无感认证成功密文的过程如图6所示,包括:1726:请求车锁applet211校验无感认证成功密文。1728:车锁applet211接收到请求后,校验无感认证成功密文。车锁applet211校验无感认证成功密文的过程可以包括:车锁applet211采用与手机10建立ble连接时接收到的密钥对无感认证成功密文进行解密,并将解密出来的车辆id、认证id、和定位id与自身存储的车辆id、认证id、和定位id进行匹配,如果匹配成功,则校验通过,否则,校验不通过,车辆20可以认为无感认证成功的结果不真实,从而不打开车锁。1730:车锁applet211完成校验后返回校验结果给车锁命令引擎212。1732:车锁命令引擎212从车锁applet211接收校验结果。如上所述,在一种可能的实现中,车锁命令引擎212接收到校验结果后,如果校验结果表示对无感认证成功密文的校验通过,则直接打开车锁。在另外一种可能的实现中,如果校验结果表示对无感认证成功密文的校验通过后,不会立即执行打开车锁,而是存储校验结果,并在车辆20与手机10之间的开锁距离(如小于1米)到来时,重新获取校验结果,并在确定获取到的校验结果为对无感认证密文的校验通过时,才打开车锁。而在校验结果表示对无感认证成功密文的校验未通过时,则向手机10发送发起有感认证,并基于有感认证的结果确定是否打开车锁。开锁测距开锁测距的具体过程与上述图2所对应的实施例的相同,故在此不再赘述。通知开锁成功通知开锁成功的具体过程与上述图2所对应的实施例的相同,故在此不再赘述。参考位置的获取图18a和18b分别示出了在图16所示的架构下手机10在接收到auth2(停止熄火定位)命令之前和之后执行熄火定位的流程示意图。具体地,在接收到auth2(停止熄火定位)命令之前手机10熄火定位的具体过程如图18a所示:1800:车锁命令引擎212生成auth1(开始熄火定位)命令。auth1(开始熄火定位)命令所包含的信息可以与图9a中的auth1(开始熄火定位)命令相同,具体可以参考上文对图9a中的auth1(开始熄火定位)命令的描述。此外,可以理解,虽然此处开始熄火定位命令的名称为auth1,在其他实施例中,也可以采用其他名称来命名开始熄火定位命令,起到的作用与auth1相同,在此不做限制。1802:通过车载ble模块213将生成的auth1(开始熄火定位)命令发送给车厂app102。1804:车厂app102接收到auth1(开始熄火定位)命令后,请求防中继应用104获取参考位置。1806:防中继应用104接收到防中继应用104的请求后,可以根据熄火定位策略开始熄火定位,以获取参考位置。可以理解,如上所述,车辆20在停止熄火定位距离到来时如果未接收到熄火定位成功密文,则向手机10发送停止熄火定位的命令,故在接收到auth2(停止熄火定位)命令前后,防中继应用104可以采用不同的熄火定位策略获取参考位置。例如,在接收到auth2(停止熄火定位)命令前,可以根据图10a所示的熄火定位策略获取参考位置。1808:如果防中继应用104在接收到auth2(停止熄火定位)命令之前,熄火定位成功,则将定位出的参考位置发送给防中继ta107。如果在接收到auth2(停止熄火定位)命令时如果熄火定位未成功,则结束熄火定位,参考位置的获取参考图10b。1810:防中继ta107在接收到参考位置后,存储接收到的参考位置。可以理解,参考位置仅存储在防中继ta107中直至下次熄火定位产生新的参考位置。此外,在其他实施例中,为了确保参考位置被盗,参考位置也可以存储在车钥匙applet108中。1812:防中继ta107通过防中继应用104向车厂app102发送熄火定位完成的消息。1814:车厂app102接收到熄火定位成功的消息后,向车厂ta111请求熄火定位成功密文。1816:车厂ta111收到车厂app102的请求后,从防中继ta107中获取熄火定位结果。在一些实施例中,为了保证熄火定位结果的安全性,防中继ta106在发送熄火定位完成的消息后,只在较短的时间(如3秒)内保留熄火定位结果,如果车厂ta111在该时间内未获取熄火定位结果,则该结果会被删除。此外,可以理解,由于手机10的tee安全性较高,通过车厂ta111获取熄火定位成功密文,能够防止熄火定位结果被伪造,提高熄火定位的安全性。1818:防中继ta107向车厂ta111返回熄火定位结果。1820:车厂ta111接收到熄火定位结果后,根据熄火定位结果判断熄火定位是否成功。例如,熄火定位结果中存有表示熄火定位是否成功的字符,如0表示熄火定位成功,1表示熄火定位失败。钱包ta106可以根据这些字符确定熄火定位是否成功。1822:如果车厂ta111判断出熄火定位成功,则向车钥匙applet108请求获取熄火定位成功密文。1824:车钥匙applet108接收到上述请求后,生成熄火定位成功密文。在一些实施例中,熄火定位成功密文可以包括从车辆20接收到的auth1(开始熄火定位)命令中的车辆id和定位id,并用密钥对其进行加密。1826:车钥匙applet108生成熄火定位成功密文后,依次通过车厂ta111、车厂app102、车载ble模块213向车锁命令引擎212发送熄火定位成功密文。1828:车锁命令引擎212接收到熄火定位成功密文后请求车锁applet211校验熄火定位成功密文。1830:车锁applet211接收到请求后,校验熄火定位成功密文。可以理解,在一些实施例中,车锁applet211校验熄火定位成功密文的过程可以包括:车锁applet211采用与手机10建立ble连接时接收到的密钥对熄火定位成功密文进行解密,并将解密出来的车辆id和定位id与自身存储的车辆id和最新的定位id进行匹配,如果匹配成功,则校验通过,否则,校验不通过。1832:车锁applet211完成校验后,向车锁命令引擎212返回校验结果。1834:车锁命令引擎212根据接收到的校验结果确定熄火定位是否成功。例如,如果校验结果为通过,则车锁命令引擎212可认为熄火定位成功密文可信,此次熄火定位可作为参考位置用于防中继判断,故保留当前的定位id。如果校验结果为未通过,车锁命令引擎212可以认为熄火定位成功密文不真实,将此次定位id清除。如此,无论下次进行无感认证时是否发生中继攻击,由于车锁applet108在校验无感认证成功密文时需要匹配熄火id,故校验由于此次的定位id被清除会无法通过,从而使得任何电子设备都无法进行无感认证或者说无感认证都不会被通过。如上所述,车辆20在停止熄火定位距离到来时如果未接收到熄火定位成功密文,则向手机10发送停止熄火定位的命令,具体过程如图18b所示:1840:当监测到与手机10的距离超出熄火定位距离时,如果未接收到熄火定位成功密文,车机210的车锁命令引擎212生成auth2(停止熄火定位)命令。auth2(停止熄火定位)命令所包含的信息可以与图9b中的auth2(停止熄火定位)命令相同,具体可以参考上文对图9b中的auth2(停止熄火定位)命令命令的描述。1842:车锁命令引擎212通过车载ble模块213和车厂app102将生成的auth2(停止熄火定位)命令发送给防中继应用104。1844:防中继应用104接收到该命令后,停止熄火定位,并根据熄火定位策略确定参考位置。例如,通过图10b所示的熄火定位策略确定参考位置。1846:防中继应用104确定出参考位置后,向防中继ta107发送确定出的参考位置。此后,1848-1864与1810-1826对应相同,不再赘述。1866:车锁命令引擎212在发送完auth2(停止熄火定位)命令后,判断在预定时间(如1分钟)内是否接收到熄火定位成功密文。如果在预定时间内收到熄火定位成功密文,则确定获取参考位置成功,则进行步骤1868请求对熄火位置成功密文进行校验。如果在预定时间内未接收到熄火定位成功密文,则确定获取参考位置失败,将定位id清除。1868:如果车锁命令引擎212在预定时间内接收到熄火定位成功密文,则请求车锁applet211校验熄火定位成功密文。1870:车锁applet211接收到请求后,校验熄火定位成功密文。可以理解,在一些实施例中,车锁applet211校验熄火定位成功密文的过程可以包括:车锁applet211采用与手机10建立ble连接时接收到的密钥对熄火定位成功密文进行解密,并将解密出来的车辆id和定位id与自身存储的车辆id和最新的定位id进行匹配,如果匹配成功,则校验通过,否则,校验不通过。1872:车锁applet211完成校验后,向车锁命令引擎212返回校验结果。1874:车锁命令引擎212根据接收到的校验结果确定熄火定位是否成功。例如,如果校验结果为通过,则车锁命令引擎212可认为熄火定位成功密文可信,此次熄火定位成功的参考位置可以用于防中继判断,故保留当前的定位id。如果校验结果为未通过,车锁命令引擎212可以认为熄火定位成功密文不真实,将此次定位id清除。如此,无论下次进行无感认证时是否发生中继攻击,由于车锁applet108在校验无感认证成功密文时需要匹配熄火id,故校验由于此次的定位id被清除会无法通过,从而使得任何电子设备都无法进行无感认证或者说无感认证都不会被通过。有感认证如上所述,在一些实施例中,车辆20可以向手机10发送进行有感认证的提示信息,以使得用户通过手机10进行有感认证,可以理解,用户10也可以在无提示的情况下主动发起有感认证。例如,用户可以在负一屏、或车厂app发现无感车钥匙的图标,用户可进行“开锁”、“锁车”的主动操作。图19示出了图16所示的架构的一种有感认证流程示意图,还是点击手机10负一屏的无感车钥匙图标为例,如图19所示,图16所示的架构下手机10的有感认证过程包括:1900:用户在负一屏上触发无感车钥匙的图标后,主动开锁指令被转接到车锁命令引擎212,车锁命令引擎212接收到主动开锁指令后,生成auth3(发起有感认证)命令。或者当测量到手机10与车辆20的距离到达有感认证距离(如3米)时,若无感认证未通过,车辆20的车机210的车锁命令引擎212生成auth3(发起有感认证)命令。auth3(发起有感认证)命令所包含的信息可以与图13中的auth3(发起有感认证)命令相同,具体可以参考上文对图13中的auth3(发起有感认证)命令的描述。1902:车锁命令引擎212通过车载ble模块219将auth3(发起有感认证)命令发送给车厂app102。1904:车厂app102接收到auth3(发起有感认证)命令后,请求有感认证应用开始有感认证。1906:有感认证应用接收到上述请求后,进行有感认证。在一些实施例中,假如有感认证应用通过采集用户的指纹进行认证,则有感认证应用可以将手机10存储的指纹或者由服务器存储的指纹与采集到的用户指纹进行比对,比对成功则表明验证通过,否则验证不通过。在一些实施例中,并有感认证应用可以通过车厂103调起指纹认证界面,供用户输入指纹信息,然后获取用户输入的指纹信息进行验证。1908:有感认证应用完成有感认证后,向车厂app102发送有感认证完成的消息。1910:车厂app102接收到有感认证完成的消息后,向车厂ta111请求有感认证成功密文。1912:车厂ta111接收该请求后,从有感认证应用获取有感认证结果。1914:有感认证应用向车厂ta111返回有感认证结果。可以理解,在一些实施例中,有感认证应用向车厂app102发送完有感认证完成的消息后,可以保留有感认证结果一小段时间(如3秒),如果车厂ta未在该时间内及时获取认证结果,则该有感认证结果会被删除。1916:车厂ta111接收到有感认证结果后,判断有感认证是否通过。1918:如果判断出有感认证通过,则车厂ta111向车钥匙applet108请求有感认证成功密文。可以理解,如果有感认证结果表示有感认证未通过,则不向车辆20的车机210返回认证结果,或者返回有感认证失败的消息。1920:车钥匙applet108接收到车厂ta111的请求后,生成有感认证成功密文。可以理解,在一些实施例中,有感认证成功密文可以是采用密钥对认证成功信息进行加密后的密文,密钥为车辆20与手机10建立ble连接时手机10向车辆20发送的约定数据中的密钥。例如,有感认证成功密文可以包括被密钥加密的车辆id。1922:车钥匙applet108依次通过车厂ta111、车厂app102和车载ble模块219,将有感认证成功密文发送给车锁命令引擎212。1924:车锁命令引擎212接收到有感认证成功密文后,请求车锁applet211校验有感认证成功密文。1926:车锁applet211响应于接收到的上述请求,对有感认证成功密文进行校验。1928:车锁applet211完成校验后,向车锁命令引擎212返回校验结果。1930:车锁命令引擎212接收校验结果。在一些实施例中,车锁命令引擎212在接收到校验结果后,如果校验结果为有感认证成功密文校验通过,则立即开车锁,如果校验不通过,则不打开车锁,向手机10发送开锁失败的消息。而在另外一些实施例中,车锁命令引擎212在接收到校验结果后存储校验结果,仅在确定手机10与车辆20之间的距离进入前述提到的开锁距离时,重新从车锁命令引擎212获取有感认证成功密文的校验结果,并在获取到的校验结果表示对有感认证成功密文的校验通过时才打开车锁,并在校验不通过时,不打开车锁,向手机10发送开锁失败的消息。例如,在一种可能的实现中,在车门把手上设置有感应开关,当用户触摸门把手时,车辆20开始通过ble测量与手机10的距离,如果距离小于开锁距离(例如,小于1米),则获取有感认证成功密文的校验结果,在确定校验结果为通过时才打开车门的车锁,在校验不通过时,不打开车锁,向手机10发送开锁失败的消息。再例如,在另外一种可能的实现中,车辆20持续对手机10进行测距,在车辆20与手机10之间的距离小于开锁距离(例如,小于1米)时,获取有感认证成功密文的校验结果,并在确定校验结果为通过时打开车门的车锁,在校验不通过时,不打开车锁,向手机10发送开锁失败的消息。可以理解,在本申请各实施例中,可以采用安全定位服务对手机10进行定位,安全定位服务可以是无法被中继攻击的定位服务,例如,包括但不限于gps(globalpositioningsystem,全球定位系统)卫星定位、北斗卫星定位、格洛纳斯卫星定位、伽利略卫星定位、wifi(无线上网)定位、移动蜂窝网络基站定位以及uwb(ultrawideband,超宽带)室内定位、tof(timeofflight,飞行时间测距法)安全定位等服务中的一种或多种。此外,可以理解,ble有调频、加密等安全措施,更难以被追踪和中继信号,更难以被破解。安全性显著高于市场上主流的无感keyfob(一种带有内置验证机制的小硬盘设备,采用低频rfid信号)。在上述实施例中,车辆20与手机10之间的无线通信采用的是ble。但是,车辆20与手机10之间的通信方式可以不限于上述实施例提到的ble,还可以是其他短距离无线通信技术,例如,包括但不限于bt(bluetooth,蓝牙)、nfc(nearfieldcommunication,近场通信)、fm(frequencymodulation,频率调制)、以及ir(infrared,红外)通信等。此外,可以理解,本申请各实施例中的车辆可以包括各种类型的车辆,包括轿车、赛车、专用车辆(如消防车、救护车、油罐车、防弹车、工程车等)等。此为,可以理解,上述实施例所公开的车辆的无感开锁技术,可以用于各种锁的认证,例如,建筑物上安装的门锁的控制设备、办公楼中闸机的控制设备等。认证过程与上述开锁过程中的认证相同,不同点在于获取参考位置的触发点不同。例如,在检测到用户锁门,且携带的手机远离门锁时,门锁的控制设备向手机发起对参考位置的定位请求。或者在检测到用户出办公楼时,办公楼中闸机的控制设备向手机发起对参考位置的定位请求。如上,本申请的技术方案可以用于各种无线业务中,下面以停车场的无感认证为例,阐述本申请的技术方案。具体地,假设车辆的车牌在停车场车辆管理设备的车辆管理系统中进行过注册,车辆经常出入该停车场。车辆管理系统中的车辆管理设备会持续发送无线通信广播,例如,此处还是手机和ble通信为例进行说明.当车辆管理设备检测到与车辆之间的距离到达某一距离时,车辆内部的终端设备(例如,导航仪、手机)可以与车辆管理设备建立ble连接,。车辆管理设备在检测到与车辆(即手机)的距离到达无感认证距离时,向手机发送无感认证请求,手机根据防中继规则进行认证。上述实施例所描述的防中继规则在该实施例中也适用,故在此不再赘述。参考位置可以是车辆中的手机上一次完成无感支付后,车辆管理设备向手机发送定位请求,手机通过定位服务,如卫星定位或者网络定位获取到位置。上述熄火定位策略在该实施例中也适用,在此不再赘述。例如,手机通过卫星定位开始将手机的当前位置与车辆上一次远离车辆管理设备时手机存储的参考位置进行比对,如果比对成功,则向车辆管理设备发送无感认证成功的消息。车辆管理设备在检测到与车辆(即车辆中的手机)之间的距离小于预定距离时,打开车辆管理设备上的道闸杆,允许车辆进入或者离开停车场。如果是离开停车场,还可以在打开车辆管理设备上的道闸杆的同时自动进行扣费。车辆在离开停车场或者进入停车场后,车辆管理设备可以向车辆中的手机发送地定位请求,以请求手机根据定位策略获取参考位置。此外,可以理解,虽然上述实施例均以手机和车辆说明本申请的开锁业务,但是,本申请的技术方案适用于各种终端设备,包括但不限于手机、平板电脑、膝上型计算机、车载导航仪、台式计算机、可穿戴设备、头戴式显示器、移动电子邮件设备、便携式游戏机、便携式音乐播放器、阅读器设备、个人数字助理、虚拟现实或者增强现实设备、其中嵌入或耦接有一个或多个处理器的电视机等电子设备。图20示出了电子设备100的结构示意图。上述实施例中的手机10的结构可以与该电子设备100相同。具体地:电子设备100可以包括处理器110,外部存储器接口120,内部存储器121,通用串行总线(universalserialbus,usb)接口130,充电管理模块140,电源管理模块141,电池142,天线1,天线2,移动通信模块150,无线通信模块160,音频模块170,扬声器170a,受话器170b,麦克风170c,耳机接口170d,传感器模块180,按键190,马达191,指示器192,摄像头193,显示屏194,以及用户标识模块(subscriberidentificationmodule,sim)卡接口195等。其中传感器模块180可以包括压力传感器180a,陀螺仪传感器180b,气压传感器180c,磁传感器180d,加速度传感器180e,距离传感器180f,接近光传感器180g,指纹传感器180h,温度传感器180j,触摸传感器180k,环境光传感器180l,骨传导传感器180m等。可以理解的是,本发明实施例示意的结构并不构成对电子设备100的具体限定。在本申请另一些实施例中,电子设备100可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。处理器110可以包括一个或多个处理单元,例如:处理器110可以包括应用处理器(applicationprocessor,ap),调制解调处理器,图形处理器(graphicsprocessingunit,gpu),图像信号处理器(imagesignalprocessor,isp),控制器,视频编解码器,数字信号处理器(digitalsignalprocessor,dsp),基带处理器,和/或神经网络处理器(neural-networkprocessingunit,npu)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。处理器可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。处理器110中还可以设置存储器,用于存储指令和数据。在一些实施例中,处理器110中的存储器为高速缓冲存储器。该存储器可以保存处理器110刚用过或循环使用的指令或数据。如果处理器110需要再次使用该指令或数据,可从所述存储器中直接调用。避免了重复存取,减少了处理器110的等待时间,因而提高了系统的效率。在一些实施例中,处理器110可以包括一个或多个接口。接口可以包括集成电路(inter-integratedcircuit,i2c)接口,集成电路内置音频(inter-integratedcircuitsound,i2s)接口,脉冲编码调制(pulsecodemodulation,pcm)接口,通用异步收发传输器(universalasynchronousreceiver/transmitter,uart)接口,移动产业处理器接口(mobileindustryprocessorinterface,mipi),通用输入输出(general-purposeinput/output,gpio)接口,和/或用户标识模块(subscriberidentitymodule,sim)接口。i2c接口是一种双向同步串行总线,包括一根串行数据线(serialdataline,sda)和一根串行时钟线(derailclockline,scl)。在一些实施例中,处理器110可以包含多组i2c总线。处理器110可以通过不同的i2c总线接口分别耦合触摸传感器180k,充电器,闪光灯,摄像头193等。例如:处理器110可以通过i2c接口耦合触摸传感器180k,使处理器110与触摸传感器180k通过i2c总线接口通信,实现电子设备100的触摸功能。i2s接口可以用于音频通信。在一些实施例中,处理器110可以包含多组i2s总线。处理器110可以通过i2s总线与音频模块170耦合,实现处理器110与音频模块170之间的通信。在一些实施例中,音频模块170可以通过i2s接口向无线通信模块160传递音频信号,实现通过蓝牙耳机接听电话的功能。pcm接口也可以用于音频通信,将模拟信号抽样,量化和编码。在一些实施例中,音频模块170与无线通信模块160可以通过pcm总线接口耦合。在一些实施例中,音频模块170也可以通过pcm接口向无线通信模块160传递音频信号,实现通过蓝牙耳机接听电话的功能。所述i2s接口和所述pcm接口都可以用于音频通信。uart接口是一种通用串行数据总线,用于异步通信。该总线可以为双向通信总线。它将要传输的数据在串行通信与并行通信之间转换。在一些实施例中,uart接口通常被用于连接处理器110与无线通信模块160。例如:处理器110通过uart接口与无线通信模块160中的蓝牙模块通信,实现蓝牙功能。在一些实施例中,音频模块170可以通过uart接口向无线通信模块160传递音频信号,实现通过蓝牙耳机播放音乐的功能。mipi接口可以被用于连接处理器110与显示屏194,摄像头193等外围器件。mipi接口包括摄像头串行接口(cameraserialinterface,csi),显示屏串行接口(displayserialinterface,dsi)等。在一些实施例中,处理器110和摄像头193通过csi接口通信,实现电子设备100的拍摄功能。处理器110和显示屏194通过dsi接口通信,实现电子设备100的显示功能。gpio接口可以通过软件配置。gpio接口可以被配置为控制信号,也可被配置为数据信号。在一些实施例中,gpio接口可以用于连接处理器110与摄像头193,显示屏194,无线通信模块160,音频模块170,传感器模块180等。gpio接口还可以被配置为i2c接口,i2s接口,uart接口,mipi接口等。usb接口130是符合usb标准规范的接口,具体可以是miniusb接口,microusb接口,usbtypec接口等。usb接口130可以用于连接充电器为电子设备100充电,也可以用于电子设备100与外围设备之间传输数据。也可以用于连接耳机,通过耳机播放音频。该接口还可以用于连接其他电子设备,例如ar设备等。可以理解的是,本发明实施例示意的各模块间的接口连接关系,只是示意性说明,并不构成对电子设备100的结构限定。在本申请另一些实施例中,电子设备100也可以采用上述实施例中不同的接口连接方式,或多种接口连接方式的组合。usb接口130是符合usb标准规范的接口,具体可以是miniusb接口,microusb接口,usbtypec接口等。usb接口130可以用于连接充电器为电子设备100充电,也可以用于电子设备100与外围设备之间传输数据。也可以用于连接耳机,通过耳机播放音频。该接口还可以用于连接其他电子设备,例如ar设备等。充电管理模块140用于从充电器接收充电输入。其中,充电器可以是无线充电器,也可以是有线充电器。在一些有线充电的实施例中,充电管理模块140可以通过usb接口130接收有线充电器的充电输入。在一些无线充电的实施例中,充电管理模块140可以通过电子设备100的无线充电线圈接收无线充电输入。充电管理模块140为电池142充电的同时,还可以通过电源管理模块141为电子设备供电。电源管理模块141用于连接电池142,充电管理模块140与处理器110。电源管理模块141接收电池142和/或充电管理模块140的输入,为处理器110,内部存储器121,显示屏194,摄像头193,和无线通信模块160等供电。电源管理模块141还可以用于监测电池容量,电池循环次数,电池健康状态(漏电,阻抗)等参数。在其他一些实施例中,电源管理模块141也可以设置于处理器110中。在另一些实施例中,电源管理模块141和充电管理模块140也可以设置于同一个器件中。电子设备100的无线通信功能可以通过天线1,天线2,移动通信模块150,无线通信模块160,调制解调处理器以及基带处理器等实现。天线1和天线2用于发射和接收电磁波信号。电子设备100中的每个天线可用于覆盖单个或多个通信频带。不同的天线还可以复用,以提高天线的利用率。例如:可以将天线1复用为无线局域网的分集天线。在另外一些实施例中,天线可以和调谐开关结合使用。移动通信模块150可以提供应用在电子设备100上的包括2g/3g/4g/5g等无线通信的解决方案。移动通信模块150可以包括至少一个滤波器,开关,功率放大器,低噪声放大器(lownoiseamplifier,lna)等。移动通信模块150可以由天线1接收电磁波,并对接收的电磁波进行滤波,放大等处理,传送至调制解调处理器进行解调。移动通信模块150还可以对经调制解调处理器调制后的信号放大,经天线1转为电磁波辐射出去。在一些实施例中,移动通信模块150的至少部分功能模块可以被设置于处理器110中。在一些实施例中,移动通信模块150的至少部分功能模块可以与处理器110的至少部分模块被设置在同一个器件中。调制解调处理器可以包括调制器和解调器。其中,调制器用于将待发送的低频基带信号调制成中高频信号。解调器用于将接收的电磁波信号解调为低频基带信号。随后解调器将解调得到的低频基带信号传送至基带处理器处理。低频基带信号经基带处理器处理后,被传递给应用处理器。应用处理器通过音频设备(不限于扬声器170a,受话器170b等)输出声音信号,或通过显示屏194显示图像或视频。在一些实施例中,调制解调处理器可以是独立的器件。在另一些实施例中,调制解调处理器可以独立于处理器110,与移动通信模块150或其他功能模块设置在同一个器件中。无线通信模块160可以提供应用在电子设备100上的包括无线局域网(wirelesslocalareanetworks,wlan)(如无线保真(wirelessfidelity,wi-fi)网络),蓝牙(bluetooth,bt),全球导航卫星系统(globalnavigationsatellitesystem,gnss),调频(frequencymodulation,fm),近距离无线通信技术(nearfieldcommunication,nfc),红外技术(infrared,ir)等无线通信的解决方案。无线通信模块160可以是集成至少一个通信处理模块的一个或多个器件。无线通信模块160经由天线2接收电磁波,将电磁波信号调频以及滤波处理,将处理后的信号发送到处理器110。无线通信模块160还可以从处理器110接收待发送的信号,对其进行调频,放大,经天线2转为电磁波辐射出去。在一些实施例中,电子设备100的天线1和移动通信模块150耦合,天线2和无线通信模块160耦合,使得电子设备100可以通过无线通信技术与网络以及其他设备通信。所述无线通信技术可以包括全球移动通讯系统(globalsystemformobilecommunications,gsm),通用分组无线服务(generalpacketradioservice,gprs),码分多址接入(codedivisionmultipleaccess,cdma),宽带码分多址(widebandcodedivisionmultipleaccess,wcdma),时分码分多址(time-divisioncodedivisionmultipleaccess,td-scdma),长期演进(longtermevolution,lte),bt,ble,gnss,wlan,nfc,fm,和/或ir技术等。所述gnss可以包括全球卫星定位系统(globalpositioningsystem,gps),全球导航卫星系统(globalnavigationsatellitesystem,glonass),北斗卫星导航系统(beidounavigationsatellitesystem,bds),准天顶卫星系统(quasi-zenithsatellitesystem,qzss)和/或星基增强系统(satellitebasedaugmentationsystems,sbas)。电子设备100通过gpu,显示屏194,以及应用处理器等实现显示功能。gpu为图像处理的微处理器,连接显示屏194和应用处理器。gpu用于执行数学和几何计算,用于图形渲染。处理器110可包括一个或多个gpu,其执行程序指令以生成或改变显示信息。显示屏194用于显示图像,视频等。显示屏194包括显示面板。显示面板可以采用液晶显示屏(liquidcrystaldisplay,lcd),有机发光二极管(organiclight-emittingdiode,oled),有源矩阵有机发光二极体或主动矩阵有机发光二极体(active-matrixorganiclightemittingdiode的,amoled),柔性发光二极管(flexlight-emittingdiode,fled),miniled,microled,micro-oled,量子点发光二极管(quantumdotlightemittingdiodes,qled)等。在一些实施例中,电子设备100可以包括1个或n个显示屏194,n为大于1的正整数。电子设备100可以通过isp,摄像头193,视频编解码器,gpu,显示屏194以及应用处理器等实现拍摄功能。isp用于处理摄像头193反馈的数据。例如,拍照时,打开快门,光线通过镜头被传递到摄像头感光元件上,光信号转换为电信号,摄像头感光元件将所述电信号传递给isp处理,转化为肉眼可见的图像。isp还可以对图像的噪点,亮度,肤色进行算法优化。isp还可以对拍摄场景的曝光,色温等参数优化。在一些实施例中,isp可以设置在摄像头193中。摄像头193用于捕获静态图像或视频。物体通过镜头生成光学图像投射到感光元件。感光元件可以是电荷耦合器件(chargecoupleddevice,ccd)或互补金属氧化物半导体(complementarymetal-oxide-semiconductor,cmos)光电晶体管。感光元件把光信号转换成电信号,之后将电信号传递给isp转换成数字图像信号。isp将数字图像信号输出到dsp加工处理。dsp将数字图像信号转换成标准的rgb,yuv等格式的图像信号。在一些实施例中,电子设备100可以包括1个或n个摄像头193,n为大于1的正整数。数字信号处理器用于处理数字信号,除了可以处理数字图像信号,还可以处理其他数字信号。例如,当电子设备100在频点选择时,数字信号处理器用于对频点能量进行傅里叶变换等。视频编解码器用于对数字视频压缩或解压缩。电子设备100可以支持一种或多种视频编解码器。这样,电子设备100可以播放或录制多种编码格式的视频,例如:动态图像专家组(movingpictureexpertsgroup,mpeg)1,mpeg2,mpeg3,mpeg4等。npu为神经网络(neural-network,nn)计算处理器,通过借鉴生物神经网络结构,例如借鉴人脑神经元之间传递模式,对输入信息快速处理,还可以不断的自学习。通过npu可以实现电子设备100的智能认知等应用,例如:图像识别,人脸识别,语音识别,文本理解等。外部存储器接口120可以用于连接外部存储卡,例如microsd卡,实现扩展电子设备100的存储能力。外部存储卡通过外部存储器接口120与处理器110通信,实现数据存储功能。例如将音乐,视频等文件保存在外部存储卡中。内部存储器121可以用于存储计算机可执行程序代码,所述可执行程序代码包括指令。内部存储器121可以包括存储程序区和存储数据区。其中,存储程序区可存储操作系统,至少一个功能所需的应用程序(比如声音播放功能,图像播放功能等)等。存储数据区可存储电子设备100使用过程中所创建的数据(比如音频数据,电话本等)等。此外,内部存储器121可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件,闪存器件,通用闪存存储器(universalflashstorage,ufs)等。处理器110通过运行存储在内部存储器121的指令,和/或存储在设置于处理器中的存储器的指令,执行电子设备100的各种功能应用以及数据处理。电子设备100可以通过音频模块170,扬声器170a,受话器170b,麦克风170c,耳机接口170d,以及应用处理器等实现音频功能。例如音乐播放,录音等。音频模块170用于将数字音频信息转换成模拟音频信号输出,也用于将模拟音频输入转换为数字音频信号。音频模块170还可以用于对音频信号编码和解码。在一些实施例中,音频模块170可以设置于处理器110中,或将音频模块170的部分功能模块设置于处理器110中。扬声器170a,也称“喇叭”,用于将音频电信号转换为声音信号。电子设备100可以通过扬声器170a收听音乐,或收听免提通话。受话器170b,也称“听筒”,用于将音频电信号转换成声音信号。当电子设备100接听电话或语音信息时,可以通过将受话器170b靠近人耳接听语音。麦克风170c,也称“话筒”,“传声器”,用于将声音信号转换为电信号。当拨打电话或发送语音信息时,用户可以通过人嘴靠近麦克风170c发声,将声音信号输入到麦克风170c。电子设备100可以设置至少一个麦克风170c。在另一些实施例中,电子设备100可以设置两个麦克风170c,除了采集声音信号,还可以实现降噪功能。在另一些实施例中,电子设备100还可以设置三个,四个或更多麦克风170c,实现采集声音信号,降噪,还可以识别声音来源,实现定向录音功能等。耳机接口170d用于连接有线耳机。耳机接口170d可以是usb接口130,也可以是3.5mm的开放移动电子设备平台(openmobileterminalplatform,omtp)标准接口,美国蜂窝电信工业协会(cellulartelecommunicationsindustryassociationoftheusa,ctia)标准接口。压力传感器180a用于感受压力信号,可以将压力信号转换成电信号。在一些实施例中,压力传感器180a可以设置于显示屏194。压力传感器180a的种类很多,如电阻式压力传感器,电感式压力传感器,电容式压力传感器等。电容式压力传感器可以是包括至少两个具有导电材料的平行板。当有力作用于压力传感器180a,电极之间的电容改变。电子设备100根据电容的变化确定压力的强度。当有触摸操作作用于显示屏194,电子设备100根据压力传感器180a检测所述触摸操作强度。电子设备100也可以根据压力传感器180a的检测信号计算触摸的位置。在一些实施例中,作用于相同触摸位置,但不同触摸操作强度的触摸操作,可以对应不同的操作指令。例如:当有触摸操作强度小于第一压力阈值的触摸操作作用于短消息应用图标时,执行查看短消息的指令。当有触摸操作强度大于或等于第一压力阈值的触摸操作作用于短消息应用图标时,执行新建短消息的指令。陀螺仪传感器180b可以用于确定电子设备100的运动姿态。在一些实施例中,可以通过陀螺仪传感器180b确定电子设备100围绕三个轴(即,x,y和z轴)的角速度。陀螺仪传感器180b可以用于拍摄防抖。示例性的,当按下快门,陀螺仪传感器180b检测电子设备100抖动的角度,根据角度计算出镜头模组需要补偿的距离,让镜头通过反向运动抵消电子设备100的抖动,实现防抖。陀螺仪传感器180b还可以用于导航,体感游戏场景。气压传感器180c用于测量气压。在一些实施例中,电子设备100通过气压传感器180c测得的气压值计算海拔高度,辅助定位和导航。磁传感器180d包括霍尔传感器。电子设备100可以利用磁传感器180d检测翻盖皮套的开合。在一些实施例中,当电子设备100是翻盖机时,电子设备100可以根据磁传感器180d检测翻盖的开合。进而根据检测到的皮套的开合状态或翻盖的开合状态,设置翻盖自动解锁等特性。加速度传感器180e可检测电子设备100在各个方向上(一般为三轴)加速度的大小。当电子设备100静止时可检测出重力的大小及方向。还可以用于识别电子设备姿态,应用于横竖屏切换,计步器等应用。距离传感器180f,用于测量距离。电子设备100可以通过红外或激光测量距离。在一些实施例中,拍摄场景,电子设备100可以利用距离传感器180f测距以实现快速对焦。接近光传感器180g可以包括例如发光二极管(led)和光检测器,例如光电二极管。发光二极管可以是红外发光二极管。电子设备100通过发光二极管向外发射红外光。电子设备100使用光电二极管检测来自附近物体的红外反射光。当检测到充分的反射光时,可以确定电子设备100附近有物体。当检测到不充分的反射光时,电子设备100可以确定电子设备100附近没有物体。电子设备100可以利用接近光传感器180g检测用户手持电子设备100贴近耳朵通话,以便自动熄灭屏幕达到省电的目的。接近光传感器180g也可用于皮套模式,口袋模式自动解锁与锁屏。环境光传感器180l用于感知环境光亮度。电子设备100可以根据感知的环境光亮度自适应调节显示屏194亮度。环境光传感器180l也可用于拍照时自动调节白平衡。环境光传感器180l还可以与接近光传感器180g配合,检测电子设备100是否在口袋里,以防误触。指纹传感器180h用于采集指纹。电子设备100可以利用采集的指纹特性实现指纹解锁,访问应用锁,指纹拍照,指纹接听来电等。温度传感器180j用于检测温度。在一些实施例中,电子设备100利用温度传感器180j检测的温度,执行温度处理策略。例如,当温度传感器180j上报的温度超过阈值,电子设备100执行降低位于温度传感器180j附近的处理器的性能,以便降低功耗实施热保护。在另一些实施例中,当温度低于另一阈值时,电子设备100对电池142加热,以避免低温导致电子设备100异常关机。在其他一些实施例中,当温度低于又一阈值时,电子设备100对电池142的输出电压执行升压,以避免低温导致的异常关机。触摸传感器180k,也称“触控器件”。触摸传感器180k可以设置于显示屏194,由触摸传感器180k与显示屏194组成触摸屏,也称“触控屏”。触摸传感器180k用于检测作用于其上或附近的触摸操作。触摸传感器可以将检测到的触摸操作传递给应用处理器,以确定触摸事件类型。可以通过显示屏194提供与触摸操作相关的视觉输出。在另一些实施例中,触摸传感器180k也可以设置于电子设备100的表面,与显示屏194所处的位置不同。骨传导传感器180m可以获取振动信号。在一些实施例中,骨传导传感器180m可以获取人体声部振动骨块的振动信号。骨传导传感器180m也可以接触人体脉搏,接收血压跳动信号。在一些实施例中,骨传导传感器180m也可以设置于耳机中,结合成骨传导耳机。音频模块170可以基于所述骨传导传感器180m获取的声部振动骨块的振动信号,解析出语音信号,实现语音功能。应用处理器可以基于所述骨传导传感器180m获取的血压跳动信号解析心率信息,实现心率检测功能。按键190包括开机键,音量键等。按键190可以是机械按键。也可以是触摸式按键。电子设备100可以接收按键输入,产生与电子设备100的用户设置以及功能控制有关的键信号输入。马达191可以产生振动提示。马达191可以用于来电振动提示,也可以用于触摸振动反馈。例如,作用于不同应用(例如拍照,音频播放等)的触摸操作,可以对应不同的振动反馈效果。作用于显示屏194不同区域的触摸操作,马达191也可对应不同的振动反馈效果。不同的应用场景(例如:时间提醒,接收信息,闹钟,游戏等)也可以对应不同的振动反馈效果。触摸振动反馈效果还可以支持自定义。指示器192可以是指示灯,可以用于指示充电状态,电量变化,也可以用于指示消息,未接来电,通知等。sim卡接口195用于连接sim卡。sim卡可以通过插入sim卡接口195,或从sim卡接口195拔出,实现和电子设备100的接触和分离。电子设备100可以支持1个或n个sim卡接口,n为大于1的正整数。sim卡接口195可以支持nanosim卡,microsim卡,sim卡等。同一个sim卡接口195可以同时插入多张卡。所述多张卡的类型可以相同,也可以不同。sim卡接口195也可以兼容不同类型的sim卡。sim卡接口195也可以兼容外部存储卡。电子设备100通过sim卡和网络交互,实现通话以及数据通信等功能。在一些实施例中,电子设备100采用esim,即:嵌入式sim卡。esim卡可以嵌在电子设备100中,不能和电子设备100分离。电子设备100的软件系统可以采用分层架构,事件驱动架构,微核架构,微服务架构,或云架构。本发明实施例以分层架构的android系统为例,示例性说明电子设备100的软件结构。图21是本发明实施例的电子设备100的软件结构框图。分层架构将软件分成若干个层,每一层都有清晰的角色和分工。层与层之间通过软件接口通信。在一些实施例中,将android系统分为四层,从上至下分别为应用程序层,应用程序框架层,安卓运行时(androidruntime)和系统库,以及内核层。应用程序层可以包括一系列应用程序包。如图21所示,应用程序包可以包括相机,图库,日历,通话,地图,导航,wlan,蓝牙,音乐,视频,短信息等应用程序。应用程序框架层为应用程序层的应用程序提供应用编程接口(applicationprogramminginterface,api)和编程框架。应用程序框架层包括一些预先定义的函数。如图21所示,应用程序框架层可以包括窗口管理器,内容提供器,视图系统,电话管理器,资源管理器,通知管理器等。窗口管理器用于管理窗口程序。窗口管理器可以获取显示屏大小,判断是否有状态栏,锁定屏幕,截取屏幕等。内容提供器用来存放和获取数据,并使这些数据可以被应用程序访问。所述数据可以包括视频,图像,音频,拨打和接听的电话,浏览历史和书签,电话簿等。视图系统包括可视控件,例如显示文字的控件,显示图片的控件等。视图系统可用于构建应用程序。显示界面可以由一个或多个视图组成的。例如,包括短信通知图标的显示界面,可以包括显示文字的视图以及显示图片的视图。电话管理器用于提供电子设备100的通信功能。例如通话状态的管理(包括接通,挂断等)。资源管理器为应用程序提供各种资源,比如本地化字符串,图标,图片,布局文件,视频文件等等。通知管理器使应用程序可以在状态栏中显示通知信息,可以用于传达告知类型的消息,可以短暂停留后自动消失,无需用户交互。比如通知管理器被用于告知下载完成,消息提醒等。通知管理器还可以是以图表或者滚动条文本形式出现在系统顶部状态栏的通知,例如后台运行的应用程序的通知,还可以是以对话窗口形式出现在屏幕上的通知。例如在状态栏提示文本信息,发出提示音,电子设备振动,指示灯闪烁等。androidruntime包括核心库和虚拟机。androidruntime负责安卓系统的调度和管理。核心库包含两部分:一部分是java语言需要调用的功能函数,另一部分是安卓的核心库。应用程序层和应用程序框架层运行在虚拟机中。虚拟机将应用程序层和应用程序框架层的java文件执行为二进制文件。虚拟机用于执行对象生命周期的管理,堆栈管理,线程管理,安全和异常的管理,以及垃圾回收等功能。系统库可以包括多个功能模块。例如:表面管理器(surfacemanager),媒体库(medialibraries),三维图形处理库(例如:opengles),2d图形引擎(例如:sgl)等。表面管理器用于对显示子系统进行管理,并且为多个应用程序提供了2d和3d图层的融合。媒体库支持多种常用的音频,视频格式回放和录制,以及静态图像文件等。媒体库可以支持多种音视频编码格式,例如:mpeg4,h.264,mp3,aac,amr,jpg,png等。三维图形处理库用于实现三维图形绘图,图像渲染,合成,和图层处理等。2d图形引擎是2d绘图的绘图引擎。内核层是硬件和软件之间的层。内核层至少包含显示驱动,摄像头驱动,音频驱动,传感器驱动。下面结合捕获拍照场景,示例性说明电子设备100软件以及硬件的工作流程。当触摸传感器180k接收到触摸操作,相应的硬件中断被发给内核层。内核层将触摸操作加工成原始输入事件(包括触摸坐标,触摸操作的时间戳等信息)。原始输入事件被存储在内核层。应用程序框架层从内核层获取原始输入事件,识别该输入事件所对应的控件。以该触摸操作是触摸单击操作,该单击操作所对应的控件为相机应用图标的控件为例,相机应用调用应用框架层的接口,启动相机应用,进而通过调用内核层启动摄像头驱动,通过摄像头193捕获静态图像或视频。现在参考图22,所示为根据本申请的一个实施例的电子设备2200的框图。图22示意性地示出了根据多个实施例的示例电子设备2200。在一个实施例中,电子设备2200可以包括一个或多个处理器2204,与处理器2204中的至少一个连接的系统控制逻辑2208,与系统控制逻辑2208连接的系统内存2212,与系统控制逻辑2208连接的非易失性存储器(nvm)2216,以及与系统控制逻辑2208连接的网络接口2220。在一些实施例中,处理器2204可以包括一个或多个单核或多核处理器。在一些实施例中,处理器2204可以包括通用处理器和专用处理器(例如,图形处理器,应用处理器,基带处理器等)的任意组合。在电子设备2200采用enb(evolvednodeb,增强型基站)或ran(radioaccessnetwork,无线接入网)控制器的实施例中,处理器2204可以被配置为执行各种符合的实施例,例如,上文所述的的多个实施例中的一个或多个。在一些实施例中,系统控制逻辑2208可以包括任意合适的接口控制器,以向处理器2204中的至少一个和/或与系统控制逻辑2208通信的任意合适的设备或组件提供任意合适的接口。在一些实施例中,系统控制逻辑2208可以包括一个或多个存储器控制器,以提供连接到系统内存2212的接口。系统内存2212可以用于加载以及存储数据和/或指令。在一些实施例中电子设备2200的内存2212可以包括任意合适的易失性存储器,例如合适的动态随机存取存储器(dram)。nvm/存储器2216可以包括用于存储数据和/或指令的一个或多个有形的、非暂时性的计算机可读介质。在一些实施例中,nvm/存储器2216可以包括闪存等任意合适的非易失性存储器和/或任意合适的非易失性存储设备,例如hdd(harddiskdrive,硬盘驱动器),cd(compactdisc,光盘)驱动器,dvd(digitalversatiledisc,数字通用光盘)驱动器中的至少一个。nvm/存储器2216可以包括安装在电子设备2200的装置上的一部分存储资源,或者它可以由设备访问,但不一定是设备的一部分。例如,可以经由网络接口2220通过网络访问nvm/存储2216。特别地,系统内存2212和nvm/存储器2216可以分别包括:指令2224的暂时副本和永久副本。指令2224可以包括:由处理器2204中的至少一个执行时使得电子设备2200实施如图3、图5-7、图9a-10b、图13、图15、图17-19所示的方法的指令。在一些实施例中,指令2224、硬件、固件和/或其软件组件可另外地/替代地置于系统控制逻辑2208,网络接口2220和/或处理器2204中。网络接口2220可以包括收发器,用于为电子设备2200提供无线电接口,进而通过一个或多个网络与任意其他合适的设备(如前端模块,天线等)进行通信。在一些实施例中,网络接口2220可以集成于电子设备2200的其他组件。例如,网络接口2220可以集成于处理器2204的,系统内存2212,nvm/存储器2216,和具有指令的固件设备(未示出)中的至少一种,当处理器2204中的至少一个执行所述指令时,电子设备2200实现如图3、图5-7、图9a-10b、图13、图15、图17-19所示的方法。网络接口2220可以进一步包括任意合适的硬件和/或固件,以提供多输入多输出无线电接口。例如,网络接口2220可以是网络适配器,无线网络适配器,电话调制解调器和/或无线调制解调器。在一个实施例中,处理器2204中的至少一个可以与用于系统控制逻辑2208的一个或多个控制器的逻辑封装在一起,以形成系统封装(sip)。在一个实施例中,处理器2204中的至少一个可以与用于系统控制逻辑2208的一个或多个控制器的逻辑集成在同一管芯上,以形成片上系统(soc)。电子设备2200可以进一步包括:输入/输出(i/o)设备2232。i/o设备2232可以包括用户界面,使得用户能够与电子设备2200进行交互;外围组件接口的设计使得外围组件也能够与电子设备2200交互。在一些实施例中,电子设备2200还包括传感器,用于确定与电子设备2200相关的环境条件和位置信息的至少一种。在一些实施例中,用户界面可包括但不限于显示器(例如,液晶显示器,触摸屏显示器等),扬声器,麦克风,一个或多个相机(例如,静止图像照相机和/或摄像机),手电筒(例如,发光二极管闪光灯)和键盘。在一些实施例中,外围组件接口可以包括但不限于非易失性存储器端口、音频插孔和电源接口。在一些实施例中,传感器可包括但不限于陀螺仪传感器,加速度计,近程传感器,环境光线传感器和定位单元。定位单元还可以是网络接口2220的一部分或与网络接口2220交互,以与定位网络的组件(例如,全球定位系统(gps)卫星)进行通信。本申请公开的机制的各实施例可以被实现在硬件、软件、固件或这些实现方法的组合中。本申请的实施例可实现为在可编程系统上执行的计算机程序或程序代码,该可编程系统包括至少一个处理器、存储系统(包括易失性和非易失性存储器和/或存储元件)、至少一个输入设备以及至少一个输出设备。可将程序代码应用于输入指令,以执行本申请描述的各功能并生成输出信息。可以按已知方式将输出信息应用于一个或多个输出设备。为了本申请的目的,处理系统包括具有诸如例如数字信号处理器(dsp)、微控制器、专用集成电路(asic)或微处理器之类的处理器的任何系统。程序代码可以用高级程序化语言或面向对象的编程语言来实现,以便与处理系统通信。在需要时,也可用汇编语言或机器语言来实现程序代码。事实上,本申请中描述的机制不限于任何特定编程语言的范围。在任一情形下,该语言可以是编译语言或解释语言。在一些情况下,所公开的实施例可以以硬件、固件、软件或其任何组合来实现。所公开的实施例还可以被实现为由一个或多个暂时或非暂时性机器可读(例如,计算机可读)存储介质承载或存储在其上的指令,其可以由一个或多个处理器读取和执行。例如,指令可以通过网络或通过其他计算机可读介质分发。因此,机器可读介质可以包括用于以机器(例如,计算机)可读的形式存储或传输信息的任何机制,包括但不限于,软盘、光盘、光碟、只读存储器(cd-roms)、磁光盘、只读存储器(rom)、随机存取存储器(ram)、可擦除可编程只读存储器(eprom)、电可擦除可编程只读存储器(eeprom)、磁卡或光卡、闪存、或用于利用因特网以电、光、声或其他形式的传播信号来传输信息(例如,载波、红外信号数字信号等)的有形的机器可读存储器。因此,机器可读介质包括适合于以机器(例如,计算机)可读的形式存储或传输电子指令或信息的任何类型的机器可读介质。在附图中,可以以特定布置和/或顺序示出一些结构或方法特征。然而,应该理解,可能不需要这样的特定布置和/或排序。而是,在一些实施例中,这些特征可以以不同于说明性附图中所示的方式和/或顺序来布置。另外,在特定图中包括结构或方法特征并不意味着暗示在所有实施例中都需要这样的特征,并且在一些实施例中,可以不包括这些特征或者可以与其他特征组合。需要说明的是,在本专利的示例和说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个”限定的要素,并不排除在包括要素的过程、方法、物品或者设备中还存在另外的相同要素。虽然通过参照本申请的某些优选实施例,已经对本申请进行了图示和描述,但本领域的普通技术人员应该明白,可以在形式上和细节上对其作各种改变,而不偏离本申请的精神和范围。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1