数字钥匙的身份认证方法、终端设备及介质转让专利

申请号 : CN201910324313.5

文献号 : CN111835689B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 王思善

申请人 : 华为技术有限公司

摘要 :

本发明实施例公开一种数字钥匙的身份认证方法、终端及介质。在第二终端机从非预设运行状态进入到预设运行状态之前,首先利用第二终端中的身份认证系统对用户进行身份认证,将得到的身份认证信息存储到第二终端的安全单元中。然后,当需要使用第二终端中的数字钥匙时,再将存储在第二终端的安全单元中的身份认证信息发送给第一终端,第一终端就可以根据身份认证信息来验证,从而判断使用第二终端中的数字钥匙的用户是否为第二终端的合法持有者。通过这样的方法,即便第二终端处于预设运行状态(例如关机或者低电量模式)下,用户使用第二终端中的数字钥匙时也可以对用户身份进行认证,从而提高了数字钥匙的安全性。

权利要求 :

1.一种数字钥匙的身份认证方法,其特征在于,包括:第一终端向第二终端发送业务指令;

所述第一终端接收所述第二终端发送的业务响应消息;

所述第一终端采用第一密钥对所述业务响应消息验证通过后,得到用户身份认证信息,其中,所述第一密钥为所述第二终端与所述第一终端预先约定的密钥;所述用户身份认证信息存储于第二终端的安全单元中,所述用户身份认证信息包括用户身份认证结果,所述用户身份认证结果由所述第二终端的身份认证系统在所述第二终端进入预设运行状态之前生成,所述预设运行状态是指所述第二终端的身份认证系统无法生成身份认证结果的状态;

所述第一终端验证所述用户身份认证信息。

2.根据权利要求1所述的方法,其特征在于,所述第一终端验证所述用户身份认证信息的步骤,包括:

如果所述用户身份认证结果与预设的认证结果匹配,则所述第一终端对所述业务指令对应的业务操作授权。

3.根据权利要求1所述的方法,其特征在于,所述第一终端验证所述用户身份认证信息的步骤,包括:

如果所述用户身份认证结果与预设的认证结果匹配,并且在所述第二终端处于所述预设运行状态时对业务操作授权的累计次数处于预设的次数阈值之内,则所述第一终端对所述业务指令对应的业务操作授权;或者,如果所述用户身份认证结果与预设的认证结果匹配,并且在所述第二终端处于所述预设运行状态时对业务操作授权的频度处于预设的频度阈值之内,则所述第一终端对所述业务指令对应的业务操作授权。

4.根据权利要求1所述的方法,其特征在于,所述用户身份认证信息还包括第一时间戳,所述第一时间戳用于指示所述身份认证结果生成的时间;

所述第一终端验证所述用户身份认证信息的步骤,包括:如果所述用户身份认证结果与预设的认证结果匹配,并且当前时间距离所述第一时间戳的间隔时长处于预设的时长阈值之内,则所述第一终端对所述业务指令对应的业务操作授权。

5.根据权利要求4所述的方法,其特征在于,还包括:如果所述第二终端在所述第一时间戳指示的时间之后从所述预设运行状态切换至非预设运行状态,则所述第一终端冻结所述数字钥匙,或者指示所述第二终端冻结所述数字钥匙,或者指示用户重新进行身份认证。

6.根据权利要求1所述的方法,其特征在于,所述用户身份认证信息还包括第一时间戳,所述第一时间戳用于指示所述身份认证结果生成的时间;

所述第一终端验证所述用户身份认证信息的步骤,包括:如果所述用户身份认证结果与预设的认证结果匹配,并且,所述第二终端在所述第一时间戳指示的时间之后没有从所述预设运行状态切换至非预设运行状态,则所述第一终端对所述业务指令对应的业务操作授权。

7.根据权利要求1所述的方法,其特征在于,所述业务指令包含第一指令和第二指令,所述业务操作包括与所述第一指令对应的第一操作,以及与所述第二指令对应的第二操作,所述用户身份认证信息还包括第一时间戳,所述第一时间戳用于指示所述身份认证结果生成的时间;

所述第一终端验证所述用户身份认证信息的步骤,包括:如果所述用户身份认证结果与预设的认证结果匹配,则所述第一终端对所述第一指令对应的第一操作授权;

在对所述第一操作授权之后,如果在所述第二终端处于所述预设运行状态时对业务操作授权的累计次数处于预设的次数阈值之内,或者,在所述第二终端处于所述预设运行状态时对业务操作授权的频度处于预设的频度阈值之内,或者,当前时间距离所述第一时间戳的间隔时长处于预设时长阈值之内,或者,所述第二终端在所述第一时间戳指示的时间之后没有从所述预设运行状态切换至非预设运行状态,则所述第一终端对所述第二指令对应的第二操作授权。

8.根据权利要求1所述的方法,其特征在于,所述业务指令包含第一指令和第二指令,所述业务操作包括与所述第一指令对应的第一操作,以及与所述第二指令对应的第二操作,所述用户身份认证信息还包括第一时间戳,所述第一时间戳用于指示所述身份认证结果生成的时间;

所述第一终端验证所述用户身份认证信息的步骤,包括:如果所述用户身份认证结果与预设的认证结果匹配,则所述第一终端对所述第一指令对应的第一操作授权;

如果当前时间距离所述第一时间戳的间隔时长处于预设的时长阈值之外,则所述第一终端判断所述第二终端在所述第一时间戳指示的时间之后是否从所述预设运行状态切换至非预设运行状态;

如果没有切换至所述非预设运行状态,则所述第一终端对所述第二指令对应的第二操作授权。

9.根据权利要求1所述的方法,其特征在于,所述业务指令包含第一指令和第二指令,所述业务操作包括与所述第一指令对应的第一操作,以及与所述第二指令对应的第二操作,所述用户身份认证信息还包括第一时间戳,所述第一时间戳用于指示所述身份认证结果生成的时间;

所述第一终端验证所述用户身份认证信息的步骤,包括:如果所述用户身份认证结果与预设的认证结果匹配,并且当前时间距离所述第一时间戳的间隔时长处于预设的时长阈值之内,则所述第一终端对所述第一指令对应的第一操作授权;

在对所述第一操作授权之后,如果所述第二终端在所述第一时间戳指示的时间之后没有从所述预设运行状态切换至非预设运行状态,则所述第一终端对所述第二指令对应的第二操作授权。

10.根据权利要求6‑9任一项所述的方法,其特征在于,所述第一终端验证所述用户身份认证信息的步骤,还包括:

如果所述第二终端在所述第一时间戳指示的时间之后从所述预设运行状态切换至所述非预设运行状态,则所述第一终端冻结所述数字钥匙,或者,指示所述第二终端冻结所述数字钥匙,或者,指示用户重新进行身份认证。

11.根据权利要求10所述的方法,其特征在于,确定所述第二终端在所述第一时间戳指示的时间之后是否从所述预设运行状态切换至所述非预设运行状态,包括:接收服务器发送的第二时间戳,所述第二时间戳用于指示所述第二终端从所述预设运行状态切换至所述非预设运行状态的时间中,距离所述第二终端发送所述业务响应消息的时间最近的时间;

如果所述第二时间戳早于所述第一时间戳,则所述第一终端确定所述第二终端在所述第一时间戳指示的时间之后没有从所述预设运行状态切换至所述非预设运行状态;

如果所述第二时间戳晚于所述第一时间戳,则所述第一终端确定所述第二终端在所述第一时间戳指示的时间之后从所述预设运行状态切换至所述非预设运行状态。

12.根据权利要求10所述的方法,其特征在于,确定所述第二终端在所述第一时间戳指示的时间之后是否从所述预设运行状态切换至非预设运行状态,包括:所述第一终端向服务器发送所述第一时间戳;

所述第一终端获取所述服务器发送的联机验证结果,所述联机验证结果由所述服务器根据所述第二终端在所述第一时间戳指示的时间之后是否从所述预设运行状态切换至所述非预设运行状态而确定;

如果所述联机验证结果为成功,则所述第一终端确定所述第二终端在所述第一时间戳指示的时间之后没有从所述预设运行状态切换至所述非预设运行状态;

如果所述联机验证结果为失败,则所述第一终端确定所述第二终端在所述第一时间戳指示的时间之后从所述预设运行状态切换至所述非预设运行状态。

13.根据权利要求1所述的方法,其特征在于,所述业务指令包含第一指令和第二指令,所述业务操作包括与所述第一指令对应的第一操作,以及与所述第二指令对应的第二操作;

所述第一终端验证所述用户身份认证信息的步骤,包括:如果所述用户身份认证结果与预设的认证结果不匹配,则所述第一终端对所述第一指令对应的第一操作授权;

如果所述用户身份认证结果与预设的认证结果不匹配,则所述第一终端拒绝对所述第二指令对应的第二操作授权;

所述方法还包括:

第一终端向第二终端发送新的业务指令,所述新的业务指令包括第二指令。

14.根据权利要求1所述的方法,其特征在于,所述业务响应消息中还包括第二验证数据,所述第二验证数据由所述用户身份认证信息经过第二密钥处理生成;

所述第一终端验证所述用户身份认证信息的步骤,包括:如果利用第二密钥和所述第二验证数据,验证所述用户身份认证信息为有效,并且,所述用户身份认证信息符合预设的安全策略,则所述第一终端对所述业务指令对应的业务操作授权;其中,所述第二密钥为所述第二终端与所述第一终端预先约定的密钥,所述第二密钥与所述第一密钥不相同。

15.一种数字钥匙的身份认证方法,其特征在于,包括:第二终端接收来自第一终端的业务指令;

所述第二终端在预设运行状态下,响应于所述业务指令,将采用第一密钥处理过的业务响应消息发送给所述第一终端;其中,所述业务响应消息中包括用户身份认证信息,所述用户身份认证信息存储于第二终端的安全单元中,所述用户身份认证信息包括用户身份认证结果,所述用户身份认证结果由所述第二终端的身份认证系统在所述第二终端进入所述预设运行状态之前生成,所述预设运行状态是指所述第二终端的身份认证系统无法生成身份认证结果的状态,所述第一密钥为所述第二终端与所述第一终端预先约定的密钥。

16.根据权利要求15所述的方法,其特征在于,所述用户身份认证信息还包括第一时间戳,所述第一时间戳用于指示所述用户身份认证结果生成的时间。

17.根据权利要求15或16所述的方法,其特征在于,所述业务响应消息中还包括第二验证数据,所述第二验证数据由所述用户身份认证信息经过第二密钥处理生成,所述第二密钥为所述第二终端与所述第一终端预先约定的密钥,所述第二密钥与所述第一密钥不相同。

18.根据权利要求17所述的方法,其特征在于,在所述第二终端接收来自所述第一终端的业务指令的步骤之前,还包括:

所述第二终端在进入所述预设运行状态之前,如果存在配置有强制身份认证的数字钥匙,则生成用户身份认证结果;其中,配置有强制身份认证的数字钥匙要求所述第二终端在进入所述预设运行状态之前进行用户身份认证;

所述第二终端将用户身份认证信息存储到所述第二终端的安全单元中,所述用户身份认证信息包括所述用户身份认证结果。

19.一种终端设备,其特征在于,包括:第一收发器,用于向第二终端发送业务指令;以及,接收所述第二终端发送的业务响应消息;

处理器,用于采用第一密钥对所述业务响应消息验证通过后,得到用户身份认证信息;

以及,验证所述用户身份认证信息;其中,所述第一密钥为所述第二终端与所述终端设备预先约定的密钥;所述用户身份认证信息存储于第二终端的安全单元中,所述用户身份认证信息包括用户身份认证结果,所述用户身份认证结果由所述第二终端的身份认证系统在所述第二终端进入预设运行状态之前生成,所述预设运行状态是指所述第二终端的身份认证系统无法生成身份认证结果的状态。

20.根据权利要求19所述的终端设备,其特征在于,所述处理器还用于在所述用户身份认证结果与预设的认证结果匹配的情况下,对所述业务指令对应的业务操作授权;或者,所述处理器还用于在所述用户身份认证结果与预设的认证结果匹配,并且在所述第二终端处于所述预设运行状态时对业务操作授权的累计次数处于预设的次数阈值之内的情况下,对所述业务指令对应的业务操作授权;或者,所述处理器还用于在所述用户身份认证结果与预设的认证结果匹配,并且在所述第二终端处于所述预设运行状态时对业务操作授权的频度处于预设的频度阈值之内的情况下,对所述业务指令对应的业务操作授权;或者,所述处理器还用于在所述用户身份认证结果与预设的认证结果匹配,并且当前时间距离第一时间戳的间隔时长处于预设的时长阈值之内的情况下,对所述业务指令对应的业务操作授权;所述第一时间戳用于指示所述用户身份认证结果生成的时间,或者,所述处理器还用于在所述用户身份认证结果与预设的认证结果匹配,并且,所述第二终端在所述第一时间戳指示的时间之后没有从所述预设运行状态切换至非预设运行状态的情况下,则对所述业务指令对应的业务操作授权。

21.一种终端设备,其特征在于,包括:第二收发器,用于接收来自第一终端的业务指令;以及,在预设运行状态下,响应于所述业务指令,将采用第一密钥处理过的业务响应消息发送给所述第一终端;其中,所述业务响应消息中包括用户身份认证信息,所述用户身份认证信息包括用户身份认证结果,所述第一密钥为所述终端设备与所述第一终端预先约定的密钥;

安全单元,用于存储所述用户身份认证信息以及所述第一密钥;

用户身份认证系统,用于在所述终端设备进入所述预设运行状态之前生成用户身份认证结果,其中,所述预设运行状态是指所述终端设备的身份认证系统无法生成身份认证结果的状态。

22.根据权利要求21所述的终端设备,其特征在于,所述用户身份认证信息还包括第一时间戳,所述第一时间戳用于指示所述用户身份认证结果生成的时间。

23.一种计算机可读存储介质,其特征在于,包括指令,当所述指令在计算机上运行时,使得所述计算机执行权利要求1至14中任一项所述的方法。

24.一种计算机可读存储介质,其特征在于,包括指令,当所述指令在计算机上运行时,使得所述计算机执行权利要求15至18中任一项所述的方法。

说明书 :

数字钥匙的身份认证方法、终端设备及介质

技术领域

[0001] 本申请涉及数字钥匙技术领域,具体涉及一种数字钥匙的身份认证方法、终端设备以及计算机可读存储介质。

背景技术

[0002] 数字钥匙(Digital Key,DK)与物理钥匙(即实体钥匙)/遥控钥匙(key fob)相对,其可以利用通信技术,以终端设备,例如手机或可穿戴智能设备等,作为密钥载体,使用户
可以通过终端设备来进行开锁、锁止以及启动车辆等业务操作。
[0003] 请参见图1,图1为数字钥匙应用于车辆开锁时所涉及的系统架构图。在汽车内存在认证单元810、电子控制单元(Electronic Control Unit,ECU)830和通信单元820。在认
证单元810中保存有认证密钥。在手机中存在安全单元(Secure Element,SE)910和通信单
元920。安全单元910是具备防物理攻击、防篡改能力的硬件单元。安全单元910具备独立的
处理器,能够为在其中运行的数字钥匙小程序(Digital Key Applet,DK Applet)911提供
安全的运行环境,并且能够保证存储在其中的资产(例如认证密钥)的安全性和机密性。在
开锁时,手机中的数字钥匙小程序911响应于汽车发送的业务指令,并通过通信单元920发
送包括密文的业务响应消息给汽车中的通信单元820,其中,业务响应消息中的密文使用认
证密钥生成。汽车中的通信单元820接收到包含密文的业务响应消息之后,由认证单元810
利用认证密钥对密文进行验证。电子控制单元830根据验证结果来判断是否授权开锁。通过
这样的方式,就可以实现利用数字钥匙进行开锁的操作。
[0004] 近场通信(Near Field Communication,NFC)是一种短距离的无线通信技术。由于终端设备中的NFC模块和安全单元均可以单独供电,故而即便不给终端设备的主芯片供电,
也可以单独利用NFC模块和安全单元来完成与汽车的信息交互。也就是说,即便在终端设备
处于关机的情况下,也可以用终端设备来完成开锁、锁止、启动车辆等业务操作。
[0005] 很多终端设备中都具有身份认证系统,可以利用密码、指纹、人脸等来完成用户的身份认证。为了增强数字钥匙的安全性,可以在使用数字钥匙时增加身份认证。例如,用户
可以设置使用数字钥匙始终需要进行身份认证,防止数字钥匙被冒用。此时,在用户使用数
字钥匙执行开锁、启动车辆等业务操作时,用户在终端设备上进行一次身份认证才能够使
用该数字钥匙。又例如,车辆在开锁、启动之前,也可以主动发起请求,要求用户在终端设备
上进行一次身份认证。但是,终端设备中的身份认证系统都在一个可信执行环境(Trusted 
Execution Environment,TEE)中执行。运行在终端设备上的应用,只能通过系统服务接口
发起身份认证并获得身份认证结果。也就是说,身份认证系统必须在终端设备的主芯片处
于工作状态下才能运行。
[0006] 因此,当终端设备在关机状态下,用户就无法完成身份认证。为了使终端设备处于关机时也可以实现数字钥匙的功能,故而当终端设备在关机状态下,往往在使用数字钥匙
时不进行身份认证。这就使得攻击者能够在获取合法用户的终端设备后,通过关机来强行
绕过合法用户设置的身份认证限制,即数字钥匙存在安全漏洞。

发明内容

[0007] 本申请提供一种数字钥匙的身份认证方法,以解决在终端设备处于关机状态下使用数字钥匙,无法完成身份认证,存在安全漏洞的问题。
[0008] 第一方面,本申请提供一种数字钥匙的身份认证方法,包括:
[0009] 第一终端向第二终端发送业务指令;
[0010] 所述第一终端接收所述第二终端发送的业务响应消息;
[0011] 所述第一终端采用第一密钥对所述业务响应消息验证通过后,得到用户身份认证信息,其中,所述第一密钥为所述第二终端与所述第一终端预先约定的密钥;所述用户身份
认证信息存储于第二终端的安全单元中,所述用户身份认证信息包括用户身份认证结果,
所述用户身份认证结果由所述第二终端的身份认证系统在所述第二终端进入预设运行状
态之前生成,所述预设运行状态是指所述第二终端的身份认证系统无法生成身份认证结果
的状态;
[0012] 所述第一终端验证所述用户身份认证信息。
[0013] 采用本实现方式,即便第二终端处于预设运行状态(例如关机或者低电量模式)下,用户在使用第二终端中的数字钥匙时,第一终端也可以利用第二终端在进入预设运行
状态之前保存在第二终端的安全单元中的用户身份认证信息,来对用户的身份进行验证。
因此,采用本实现方式,即便第二终端处于关机或者低电量模式下,也可以验证使用第二终
端中的数字钥匙的用户是否为第二终端的合法用户,从而提高了数字钥匙使用的安全性。
[0014] 结合第一方面,在第一方面第一种可能的实现方式中,所述第一终端验证所述用户身份认证信息的步骤,包括:
[0015] 如果所述用户身份认证结果与预设的认证结果匹配,则所述第一终端对所述业务指令对应的业务操作授权。
[0016] 采用本实现方式,即便第二终端处于预设运行状态(例如关机或者低电量模式)下,用户在使用第二终端中的数字钥匙时,第一终端也可以利用用户身份认证结果以及预
设的认证结果来验证,从而决定是否对业务操作授权,进而提高了数字钥匙使用的安全性,
也降低了第一终端被非法用户使用的风险。
[0017] 结合第一方面,在第一方面第二种可能的实现方式中,所述第一终端验证所述用户身份认证信息的步骤,包括:
[0018] 如果所述用户身份认证结果与预设的认证结果匹配,并且在所述第二终端处于所述预设运行状态时对业务操作授权的累计次数处于预设的次数阈值之内,则所述第一终端
对所述业务指令对应的业务操作授权;或者,
[0019] 如果所述用户身份认证结果与预设的认证结果匹配,并且在所述第二终端处于所述预设运行状态时对业务操作授权的频度处于预设的频度阈值之内,则所述第一终端对所
述业务指令对应的业务操作授权。
[0020] 采用本实现方式,第一终端可以利用用户身份认证结果,以及第二终端处于预设运行状态时对业务操作授权的累计次数或者频度来进行双重验证,进而进一步提高数字钥
匙使用的安全性。其中,通过对在预设运行状态下使用数字钥匙的情况进行一定的限制,可
以减少恶意使用处于预设运行状态下的、缺少实时保护的第二终端上的数字钥匙的风险。
[0021] 结合第一方面,在第一方面第三种可能的实现方式中,所述用户身份认证信息还包括第一时间戳,所述第一时间戳用于指示所述身份认证结果生成的时间;
[0022] 所述第一终端验证所述用户身份认证信息的步骤,包括:
[0023] 如果所述用户身份认证结果与预设的认证结果匹配,并且当前时间距离所述第一时间戳的间隔时长处于预设的时长阈值之内,则所述第一终端对所述业务指令对应的业务
操作授权。
[0024] 采用本实现方式,第一终端可以利用用户身份认证结果,以及第一时间戳来进行双重验证,进而进一步提高数字钥匙使用的安全性,降低风险。其中,通过对在预设运行状
态下使用数字钥匙的时间点与第一时间戳的间隔时长进行一定的限制,可以减少处于预设
运行状态下的、缺少实时保护的第二终端上的数字钥匙的使用风险。
[0025] 结合第一方面及第一方面的第一种至第二种实现方式,在第一方面第四种可能的实现方式中,该方法还包括:
[0026] 如果所述第二终端在所述第一时间戳指示的时间之后从所述预设运行状态切换至非预设运行状态,则所述第一终端冻结所述数字钥匙,或者指示所述第二终端冻结所述
数字钥匙,或者指示用户重新进行身份认证。
[0027] 采用本实现方式,通过判断第二终端在第一时间戳指示的时间之后是否从预设运行状态切换至非预设运行状态,可以判断本次提供的身份认证信息是否是最新的用户身份
认证信息,从而确定本次业务中第二终端是否存在异常行为。如果存在异常行为,则可以采
取一定的保护措施,例如冻结数字要是,或者指示用户重新进行身份认证。因此,通过在前
述单次或者双重验证的基础上,增加该验证可以进一步降低数字钥匙的使用风险。
[0028] 结合第一方面,在第一方面第五种可能的实现方式中,所述用户身份认证信息还包括第一时间戳,所述第一时间戳用于指示所述身份认证结果生成的时间;
[0029] 所述第一终端验证所述用户身份认证信息的步骤,包括:
[0030] 如果所述用户身份认证结果与预设的认证结果匹配,并且,所述第二终端在所述第一时间戳指示的时间之后没有从所述预设运行状态切换至非预设运行状态,则所述第一
终端对所述业务指令对应的业务操作授权。
[0031] 采用本实现方式,第一终端可以利用用户身份认证结果,以及第一时间戳来进行双重验证,进而进一步提高数字钥匙使用的安全性。其中,通过判断第二终端在第一时间戳
指示的时间之后是否从预设运行状态切换至非预设运行状态,可以判断本次提供的身份认
证信息是否是最新的用户身份认证信息,从而确定本次业务中第二终端是否存在异常行
为。因此,通过增加该验证可以进一步降低数字钥匙的使用风险。
[0032] 结合第一方面,在第一方面第六种可能的实现方式中,所述业务指令包含第一指令和第二指令,所述业务操作包括与所述第一指令对应的第一操作,以及与所述第二指令
对应的第二操作,所述用户身份认证信息还包括第一时间戳,所述第一时间戳用于指示所
述身份认证结果生成的时间;
[0033] 所述第一终端验证所述用户身份认证信息的步骤,包括:
[0034] 如果所述用户身份认证结果与预设的认证结果匹配,则所述第一终端对所述第一指令对应的第一操作授权;
[0035] 在对所述第一操作授权之后,如果在所述第二终端处于所述预设运行状态时对业务操作授权的累计次数处于预设的次数阈值之内,或者,在所述第二终端处于所述预设运
行状态时对业务操作授权的频度处于预设的频度阈值之内,或者,当前时间距离所述第一
时间戳的间隔时长处于预设时长阈值之内,或者,所述第二终端在所述第一时间戳指示的
时间之后没有从所述预设运行状态切换至非预设运行状态,则所述第一终端对所述第二指
令对应的第二操作授权。
[0036] 采用本实现方式,当业务指令包括多个指令的时候,第一终端可以利用用户身份认证结果、第二终端处于预设运行状态时对业务操作授权的累计次数或频度,以及第一时
间戳,采用不同的验证条件来对不同的业务指令做验证,从而进一步提高数字钥匙使用的
安全性。
[0037] 结合第一方面,在第一方面第七种可能的实现方式中,所述业务指令包含第一指令和第二指令,所述业务操作包括与所述第一指令对应的第一操作,以及与所述第二指令
对应的第二操作,所述用户身份认证信息还包括第一时间戳,所述第一时间戳用于指示所
述身份认证结果生成的时间;
[0038] 所述第一终端验证所述用户身份认证信息的步骤,包括:
[0039] 如果所述用户身份认证结果与预设的认证结果匹配,则所述第一终端对所述第一指令对应的第一操作授权;
[0040] 如果当前时间距离所述第一时间戳的间隔时长处于预设的时长阈值之外,则所述第一终端判断所述第二终端在所述第一时间戳指示的时间之后是否从所述预设运行状态
切换至非预设运行状态;
[0041] 如果没有切换至所述非预设运行状态,则所述第一终端对所述第二指令对应的第二操作授权。
[0042] 采用本实现方式,当业务指令包括多个指令的时候,第一终端可以利用用户身份认证结果以及第一时间戳,采用不同的验证条件来对不同的业务指令做验证,从而进一步
提高数字钥匙使用的安全性。
[0043] 结合第一方面,在第一方面第八种可能的实现方式中,所述业务指令包含第一指令和第二指令,所述业务操作包括与所述第一指令对应的第一操作,以及与所述第二指令
对应的第二操作,所述用户身份认证信息还包括第一时间戳,所述第一时间戳用于指示所
述身份认证结果生成的时间;
[0044] 所述第一终端验证所述用户身份认证信息的步骤,包括:
[0045] 如果所述用户身份认证结果与预设的认证结果匹配,并且当前时间距离所述第一时间戳的间隔时长处于预设的时长阈值之内,则所述第一终端对所述第一指令对应的第一
操作授权;
[0046] 在对所述第一操作授权之后,如果所述第二终端在所述第一时间戳指示的时间之后没有从所述预设运行状态切换至非预设运行状态,则所述第一终端对所述第二指令对应
的第二操作授权。
[0047] 采用本实现方式,当业务指令包括多个指令的时候,第一终端可以利用用户身份认证结果以及第一时间戳,采用不同的验证条件来对不同的业务指令做验证,从而进一步
提高数字钥匙使用的安全性。
[0048] 结合第一方面及第一方面的第五种至第八种实现方式,在第一方面第九种可能的实现方式中,所述第一终端验证所述用户身份认证信息的步骤,还包括:
[0049] 如果所述第二终端在所述第一时间戳指示的时间之后从所述预设运行状态切换至所述非预设运行状态,则所述第一终端冻结所述数字钥匙,或者,指示所述第二终端冻结
所述数字钥匙,或者,指示用户重新进行身份认证。
[0050] 采用本实现方式,通过判断第二终端在第一时间戳指示的时间之后是否从预设运行状态切换至非预设运行状态,可以判断本次提供的身份认证信息是否是最新的用户身份
认证信息,从而确定本次业务中第二终端是否存在异常行为。如果存在异常行为,则可以采
取一定的保护措施,例如冻结数字要是,或者指示用户重新进行身份认证。因此,通过在前
述验证的基础上,增加该验证可以进一步降低数字钥匙的使用风险。
[0051] 结合第一方面及第一方面的第五种至第九种实现方式,在第一方面第十种可能的实现方式中,确定所述第二终端在所述第一时间戳指示的时间之后是否从所述预设运行状
态切换至所述非预设运行状态,包括:
[0052] 接收服务器发送的第二时间戳,所述第二时间戳用于指示所述第二终端从所述预设运行状态切换至所述非预设运行状态的时间中,距离所述第二终端发送所述业务响应消
息的时间最近的时间;
[0053] 如果所述第二时间戳早于所述第一时间戳,则所述第一终端确定所述第二终端在所述第一时间戳指示的时间之后没有从所述预设运行状态切换至所述非预设运行状态;
[0054] 如果所述第二时间戳晚于所述第一时间戳,则所述第一终端确定所述第二终端在所述第一时间戳指示的时间之后从所述预设运行状态切换至所述非预设运行状态。
[0055] 采用本实现方式,可以在第一终端本地判断第二终端在第一时间戳指示的时间之后是否从预设运行状态切换至非预设运行状态。
[0056] 结合第一方面及第一方面的第五种至第九种实现方式,在第一方面第十一种可能的实现方式中,确定所述第二终端在所述第一时间戳指示的时间之后是否从所述预设运行
状态切换至非预设运行状态,包括:
[0057] 所述第一终端向服务器发送所述第一时间戳;
[0058] 所述第一终端获取所述服务器发送的联机验证结果,所述联机验证结果由所述服务器根据所述第二终端在所述第一时间戳指示的时间之后是否从所述预设运行状态切换
至所述非预设运行状态而确定;
[0059] 如果所述联机验证结果为成功,则所述第一终端确定所述第二终端在所述第一时间戳指示的时间之后没有从所述预设运行状态切换至所述非预设运行状态;
[0060] 如果所述联机验证结果为失败,则所述第一终端确定所述第二终端在所述第一时间戳指示的时间之后从所述预设运行状态切换至所述非预设运行状态。
[0061] 采用本实现方式,可以在远程服务器上进行联机验证,由服务器来判断第二终端在第一时间戳指示的时间之后是否从预设运行状态切换至非预设运行状态。
[0062] 结合第一方面,在第一方面第十二种可能的实现方式中,所述业务指令包含第一指令和第二指令,所述业务操作包括与所述第一指令对应的第一操作,以及与所述第二指
令对应的第二操作;
[0063] 所述第一终端验证所述用户身份认证信息的步骤,包括:
[0064] 如果所述用户身份认证结果与预设的认证结果不匹配,则所述第一终端对所述第一指令对应的第一操作授权;
[0065] 如果所述用户身份认证结果与预设的认证结果不匹配,则所述第一终端拒绝对所述第二指令对应的第二操作授权;
[0066] 所述方法还包括:
[0067] 第一终端向第二终端发送新的业务指令,所述新的业务指令包括第二指令。
[0068] 采用本实现方式,当业务指令包括多个指令的时候,第一终端可以利用用户身份认证结果等来对不同的业务指令做验证。无论用户身份认证结果的验证是否通过,为了提
高用户体验,都可以对一部分风险相对较低的业务操作授权,对另一部分风险相对较高的
业务操作拒绝授权。然后再发起新的业务指令,针对是否对尚未获得授权的业务操作进行
授权进行验证。
[0069] 结合第一方面,在第一方面第十三种可能的实现方式中,所述业务响应消息中还包括第二验证数据,所述第二验证数据由所述用户身份认证信息经过第二密钥处理生成;
[0070] 所述第一终端验证所述用户身份认证信息的步骤,包括:
[0071] 如果利用第二密钥和所述第二验证数据,验证所述用户身份认证信息为有效,并且,所述用户身份认证信息符合预设的安全策略,则所述第一终端对所述业务指令对应的
业务操作授权;其中,所述第二密钥为所述第二终端与所述第一终端预先约定的密钥,所述
第二密钥与所述第一密钥不相同。
[0072] 采用本实现方式,在利用用户身份认证信息来验证是否可以对业务操作授权之前,先利用第二密钥和第二验证数据对用户身份认证信息本身进行验证,一方面,可以保证
用户身份认证信息在传输过程中没有被篡改,即确保用户身份认证信息的完整性;另一方
面,可以保证用户身份认证信息的发送来源合法,即确保第二终端上的密钥的合法持有者。
[0073] 第二方面,本申请提供一种数字钥匙的身份认证方法,包括:
[0074] 第二终端接收来自第一终端的业务指令;
[0075] 所述第二终端在预设运行状态下,响应于所述业务指令,将采用第一密钥处理过的业务响应消息发送给所述第一终端;其中,所述业务响应消息中包括用户身份认证信息,
所述用户身份认证信息存储于第二终端的安全单元中,所述用户身份认证信息包括用户身
份认证结果,所述用户身份认证结果由所述第二终端的身份认证系统在所述第二终端进入
所述预设运行状态之前生成,所述预设运行状态是指所述第二终端的身份认证系统无法生
成身份认证结果的状态,所述第一密钥为所述第二终端与所述第一终端预先约定的密钥。
[0076] 采用本实现方式,第二终端进入预设运行状态之前,第二终端需要对用户进行一次身份认证,将用户身份认证信息保存在第二终端的安全单元中。当第二终端处于预设运
行状态(例如关机或者低电量模式)时,用户使用第二终端中的数字钥匙,第二终端就可以
将安全单元中的用户身份认证信息发送给第一终端,使第一终端可以利用这些信息来进行
验证。因此,采用本实现方式可以确保是第二终端的合法用户在使用第二终端中的数字钥
匙,提高了在第二终端处于预设运行状态下使用数字钥匙的安全性。
[0077] 结合第二方面,在第二方面第一种可能的实现方式中,所述用户身份认证信息还包括第一时间戳,所述第一时间戳用于指示所述用户身份认证结果生成的时间。
[0078] 采用本实现方式,第一终端可以利用用户身份认证结果,以及第一时间戳进行双重甚至三重验证,也可以利用用户身份认证结果和第一时间戳来对不同的业务指令分别进
行验证,从而可以进一步提高数字钥匙使用的安全性。
[0079] 结合第二方面及第二方面的第一种实现方式,在第二方面第二种可能的实现方式中,所述业务响应消息中还包括第二验证数据,所述第二验证数据由所述用户身份认证信
息经过所述第二密钥处理生成,所述第二密钥为所述第二终端与所述第一终端预先约定的
密钥,所述第二密钥与所述第一密钥不相同。
[0080] 采用本实现方式,第一终端在利用用户身份认证信息来验证是否可以对业务操作授权之前,可以先利用第二密钥和第二验证数据对用户身份认证信息本身进行验证,一方
面,可以保证用户身份认证信息在传输过程中没有被篡改,即确保用户身份认证信息的完
整性;另一方面,可以保证用户身份认证信息的发送来源是合法的,即确保第二终端上的密
钥的合法持有者。
[0081] 结合第二方面及第二方面的第一种至第二种实现方式,在第二方面第三种可能的实现方式中,在所述第二终端接收来自所述第一终端的业务指令的步骤之前,还包括:
[0082] 所述第二终端在进入所述预设运行状态之前,如果存在配置有强制身份认证的数字钥匙,则生成用户身份认证结果;其中,配置有强制身份认证的数字钥匙要求所述第二终
端在进入所述预设运行状态之前进行用户身份认证;
[0083] 所述第二终端将用户身份认证信息存储到第二终端的安全单元中,所述用户身份认证信息包括所述用户身份认证结果。
[0084] 采用本实现方式,第二终端进入预设运行状态之前,第二终端需要对配置有强制身份认证的数字钥匙进行一次用户身份认证,将用户身份认证信息保存在第二终端的安全
单元中。这样,即便第二终端处于预设运行状态(例如关机或者低电量模式)时需要使用该
数字钥匙,第二终端也可以将安全单元中的用户身份认证信息发送给第一终端,进而使第
一终端可以利用这些信息来进行验证,提高了在第二终端处于预设运行状态下使用数字钥
匙的安全性。
[0085] 第三方面,本申请提供一种终端设备,包括:
[0086] 第一收发器,用于向第二终端发送业务指令;以及,接收所述第二终端发送的业务响应消息;
[0087] 处理器,用于采用第一密钥对所述业务响应消息验证通过后,得到用户身份认证信息;以及,验证所述用户身份认证信息;其中,所述第一密钥为所述第二终端与所述终端
设备预先约定的密钥;所述用户身份认证信息存储于第二终端的安全单元中,所述用户身
份认证信息包括用户身份认证结果,所述用户身份认证结果由所述第二终端的身份认证系
统在所述第二终端进入预设运行状态之前生成,所述预设运行状态是指所述第二终端的身
份认证系统无法生成身份认证结果的状态。
[0088] 结合第三方面,在第三方面第一种可能的实现方式中,所述处理器还用于在所述用户身份认证结果与预设的认证结果匹配的情况下,所述业务指令对应的业务操作授权。
[0089] 结合第三方面,在第三方面第二种可能的实现方式中,所述处理器还用于在所述用户身份认证结果与预设的认证结果匹配,并且在所述第二终端处于所述预设运行状态时
对业务操作授权的累计次数处于预设的次数阈值之内的情况下,对所述业务指令对应的业
务操作授权;或者,所述处理器还用于在所述用户身份认证结果与预设的认证结果匹配,并
且在所述第二终端处于所述预设运行状态时对业务操作授权的频度处于预设的频度阈值
之内的情况下,对所述业务指令对应的业务操作授权。
[0090] 结合第三方面,在第三方面第三种可能的实现方式中,所述处理器还用于在所述用户身份认证结果与预设的认证结果匹配,并且当前时间距离所述第一时间戳的间隔时长
处于预设的时长阈值之内的情况下,对所述业务指令对应的业务操作授权。
[0091] 结合第三方面及第三方面的第一种至第二种实现方式,在第三方面第四种可能的实现方式中,所述处理器还用于在所述第二终端在所述第一时间戳指示的时间之后从所述
预设运行状态切换至非预设运行状态的情况下,冻结所述数字钥匙,或者指示所述第二终
端冻结所述数字钥匙,或者指示用户重新进行身份认证。
[0092] 结合第三方面,在第三方面第五种可能的实现方式中,所述处理器还用于在所述用户身份认证结果与预设的认证结果匹配,并且,所述第二终端在所述第一时间戳指示的
时间之后没有从所述预设运行状态切换至非预设运行状态的情况下,则对所述业务指令对
应的业务操作授权;其中,所述用户身份认证信息还包括第一时间戳,所述第一时间戳用于
指示所述身份认证结果生成的时间。
[0093] 结合第三方面,在第三方面第六种可能的实现方式中,所述处理器还用于在所述用户身份认证结果与预设的认证结果匹配的情况下,对所述第一指令对应的第一操作授
权;以及,在对所述第一操作授权之后,在所述第二终端处于所述预设运行状态时对业务操
作授权的累计次数处于预设的次数阈值之内的情况下,对所述第二指令对应的第二操作授
权;或者,在所述第二终端处于所述预设运行状态时对业务操作授权的频度处于预设的频
度阈值之内的情况下,对所述第二指令对应的第二操作授权;或者,在当前时间距离所述第
一时间戳的间隔时长处于预设时长阈值之内的情况下,对所述第二指令对应的第二操作授
权;或者,所述第二终端在所述第一时间戳指示的时间之后没有从所述预设运行状态切换
至非预设运行状态的情况下,对所述第二指令对应的第二操作授权。其中,所述业务指令包
含第一指令和第二指令,所述业务操作包括与所述第一指令对应的第一操作,以及与所述
第二指令对应的第二操作,所述用户身份认证信息还包括第一时间戳,所述第一时间戳用
于指示所述身份认证结果生成的时间。
[0094] 结合第三方面,在第三方面第七种可能的实现方式中,所述处理器还用于在所述用户身份认证结果与预设的认证结果匹配的情况下,对所述第一指令对应的第一操作授
权;在当前时间距离所述第一时间戳的间隔时长处于预设的时长阈值之外的情况下,判断
所述第二终端在所述第一时间戳指示的时间之后是否从所述预设运行状态切换至非预设
运行状态;以及,在所述第二终端没有切换至所述非预设运行状态的情况下,对所述第二指
令对应的第二操作授权。其中,所述业务指令包含第一指令和第二指令,所述业务操作包括
与所述第一指令对应的第一操作,以及与所述第二指令对应的第二操作,所述用户身份认
证信息还包括第一时间戳,所述第一时间戳用于指示所述身份认证结果生成的时间。
[0095] 结合第三方面,在第三方面第八种可能的实现方式中,所述处理器还用于在所述用户身份认证结果与预设的认证结果匹配,并且当前时间距离所述第一时间戳的间隔时长
处于预设的时长阈值之内的情况下,对所述第一指令对应的第一操作授权;以及,在对所述
第一操作授权之后,处于所述第二终端在所述第一时间戳指示的时间之后没有从所述预设
运行状态切换至非预设运行状态的情况下,对所述第二指令对应的第二操作授权。其中,所
述业务指令包含第一指令和第二指令,所述业务操作包括与所述第一指令对应的第一操
作,以及与所述第二指令对应的第二操作,所述用户身份认证信息还包括第一时间戳,所述
第一时间戳用于指示所述身份认证结果生成的时间。
[0096] 结合第三方面及第三方面的第五种至第八种实现方式,在第三方面第九种可能的实现方式中,当所述第二终端在所述第一时间戳指示的时间之后从所述预设运行状态切换
至所述非预设运行状态时,所述处理器还用于冻结所述数字钥匙,或者,指示所述第二终端
冻结所述数字钥匙,或者,指示用户重新进行身份认证。
[0097] 结合第三方面及第三方面的第五种至第九种实现方式,在第三方面第十种可能的实现方式中,所述终端设备还包括:
[0098] 第三收发器,用于接收服务器发送的第二时间戳,其中,所述第二时间戳用于指示所述第二终端从所述预设运行状态切换至所述非预设运行状态的时间中,距离所述第二终
端发送所述业务响应消息的时间最近的时间;
[0099] 所述处理器还用于在所述第二时间戳早于所述第一时间戳的情况下,确定所述第二终端在所述第一时间戳指示的时间之后没有从所述预设运行状态切换至所述非预设运
行状态;以及,在所述第二时间戳晚于所述第一时间戳的情况下,确定所述第二终端在所述
第一时间戳指示的时间之后从所述预设运行状态切换至所述非预设运行状态。
[0100] 结合第三方面及第三方面的第五种至第九种实现方式,在第三方面第十一种可能的实现方式中,所述终端设备还包括:
[0101] 第三收发器,用于向服务器发送所述第一时间戳;以及,接收所述服务器发送的联机验证结果,其中,所述联机验证结果由所述服务器根据所述第二终端在所述第一时间戳
指示的时间之后是否从所述预设运行状态切换至所述非预设运行状态而确定;
[0102] 所述处理器还用于在所述联机验证结果为成功的情况下,确定所述第二终端在所述第一时间戳指示的时间之后没有从所述预设运行状态切换至所述非预设运行状态;以
及,在所述联机验证结果为失败的情况下,确定所述第二终端在所述第一时间戳指示的时
间之后从所述预设运行状态切换至所述非预设运行状态。
[0103] 结合第三方面,在第三方面第十二种可能的实现方式中,所述处理器还用于在所述用户身份认证结果与预设的认证结果不匹配的情况下,对所述第一指令对应的第一操作
授权,以及,拒绝对所述第二指令对应的第二操作授权;其中,所述业务指令包含第一指令
和第二指令,所述业务操作包括与所述第一指令对应的第一操作,以及与所述第二指令对
应的第二操作;
[0104] 所述第一收发器还用于向第二终端发送新的业务指令,所述新的业务指令包括第二指令。
[0105] 结合第三方面,在第三方面第十三种可能的实现方式中,所述处理器还用于在利用第二密钥和所述第二验证数据,验证所述用户身份认证信息为有效,并且,所述用户身份
认证信息符合预设的安全策略的情况下,对所述业务指令对应的业务操作授权;其中,所述
业务响应消息中还包括第二验证数据,所述第二验证数据由所述用户身份认证信息经过第
二密钥处理生成,所述第二密钥为所述第二终端与所述第一终端预先约定的密钥,所述第
二密钥与所述第一密钥不相同。
[0106] 第四方面,本申请提供一种终端设备,包括:
[0107] 第二收发器,用于接收来自第一终端的业务指令;以及,在预设运行状态下,响应于所述业务指令,将采用第一密钥处理过的业务响应消息发送给所述第一终端;其中,所述
业务响应消息中包括用户身份认证信息,所述用户身份认证信息包括用户身份认证结果,
所述第一密钥为所述第二终端与所述第一终端预先约定的密钥;
[0108] 安全单元,用于存储所述用户身份认证信息以及所述第一密钥;
[0109] 用户身份认证系统,用于在所述终端设备进入所述预设运行状态之前生成用户身份认证结果,其中,所述预设运行状态是指所述终端设备的身份认证系统无法生成身份认
证结果的状态。
[0110] 结合第四方面,在第四方面第一种可能的实现方式中,所述用户身份认证信息还包括第一时间戳,所述第一时间戳用于指示所述用户身份认证结果生成的时间。
[0111] 结合第四方面及第四方面的第一种实现方式,在第四方面第二种可能的实现方式中,所述业务响应消息中还包括第二验证数据,所述第二验证数据由所述用户身份认证信
息经过所述第二密钥处理生成,所述第二密钥为所述终端设备与所述第一终端预先约定的
密钥,所述第二密钥与所述第一密钥不相同。
[0112] 结合第四方面及第四方面的第一种至第二种实现方式,在第四方面第三种可能的实现方式中,在所述终端设备进入所述预设运行状态之前,当所述终端设备中存在配置有
强制身份认证的数字钥匙时,用户身份认证系统还用于生成用户身份认证结果;其中,配置
有强制身份认证的数字钥匙要求所述第二终端在进入所述预设运行状态之前进行用户身
份认证;
[0113] 所述第二终端还包括:
[0114] 数字钥匙服务,用于将用户身份认证信息存储到所述终端设备的安全单元中,所述用户身份认证信息包括所述用户身份认证结果。
[0115] 第五方面,本申请提供一种计算机可读存储介质,包括指令,当所述指令在计算机上运行时,使得所述计算机执行第一方面的任一种方法。
[0116] 第六方面,本申请提供一种计算机可读存储介质,包括指令,当所述指令在计算机上运行时,使得所述计算机执行第二方面的任一种方法。
[0117] 第七方面,本申请提供一种包含指令的计算机程序产品,当其在计算机上运行时,使得所述计算机执行第一方面的任一种方法。
[0118] 第八方面,本申请提供一种包含指令的计算机程序产品,当其在计算机上运行时,使得所述计算机执行第二方面的任一种方法。
[0119] 采用上述的终端设备和计算机可读存储介质,其有益效果与第一方面和第二方面的数字钥匙身份认证方法的有益效果相同,此处不再赘述。

附图说明

[0120] 为了更清楚地说明本申请的技术方案,下面将对实施例中的附图作简单地介绍。
[0121] 图1为数字钥匙应用于车辆开锁时所涉及的系统架构图;
[0122] 图2为本申请的实施例中数字钥匙的身份认证方法的应用场景的一个示意图;
[0123] 图3为本申请的数字钥匙的身份认证方法的一个实施例的流程示意图;
[0124] 图4为数字钥匙作为车钥匙的应用场景的一个例子中,进行身份认证时的用户界面示意图;
[0125] 图5为数字钥匙作为车钥匙的应用场景的一个例子中,用户取消授权时的一个用户界面示意图;
[0126] 图6为数字钥匙作为车钥匙的应用场景的一个例子中,用户取消授权时的另一个用户界面示意图;
[0127] 图7为本申请的实施例中数字钥匙的身份认证方法的应用场景的另一个示意图;
[0128] 图8为本申请的终端设备的一种实现方式的结构示意图;
[0129] 图9为本申请的另一种终端设备的一种实现方式的结构示意图。

具体实施方式

[0130] 图2是本申请的实施例中数字钥匙的身份认证方法的应用场景的一个示意图。
[0131] 在图2中,第二终端为具有数字钥匙的终端。第二终端包括了安全单元210,数字钥匙小程序211中存储有至少一把数字钥匙。由于安全单元210与第二终端的主芯片(图中未
示出)能够独立供电,因此,无论主芯片处于哪一种状态,安全单元210均可以上电工作。数
字钥匙小程序211可以在安全单元210中运行,以实现数字钥匙的功能。第二终端可以包括
移动电话(cellphone),智能手机(smartphone),计算机(computer),平板电脑(tablet 
computer),个人数码助理(personal digital assistant,PDA),移动互联网设备(mobile 
Internet device,MID),可穿戴设备等。
[0132] 第二终端和第一终端中各有一个通信单元220和120,两个终端利用这两个通信单元来进行交互。上述的通信单元220和120可以采用中距离通信技术,例如蓝牙、超带宽
(Ultra Wide Band,UWB)技术等,也可以采用短距离无线通信技术,例如近场通信(Near 
Field Communication,NFC)等。此外,通信单元可以同时采用前述的多种通信技术,以便应
对多样的应用场景。在本申请的实施例中,第一终端和第二终端的通信单元能够独立于主
芯片上电工作,在主芯片不上电时通过内部/外部供电来单独工作,例如NFC模块等。前述的
外部供电是指从电磁场中获取能量来给通信模块供电的供电方式。前述的内部供电是指第
二终端电源没完全消耗光,保留有少量电量,用于给通信模块供电的供电方式。需要说明的
是,对于采用蓝牙、UWB等技术的通信单元而言,如果其能够独立于主芯片而单独上电工作,
采用这些技术的通信模块也可以单独或者与其他通信模块一起,被应用在本申请的第一终
端中。
[0133] 第一终端为验证第二终端中的数字钥匙的合法性的终端。第一终端中的处理单元110在获取到通信单元120接收到的信息之后,利用接收到的信息来验证数字钥匙的合法
性。当处理单元110验证某一数字钥匙为合法时,就向第一终端中的执行单元(图中未示出)
发出信号,使执行单元去执行预设的或者用户指定的操作。
[0134] 本申请中的数字钥匙可以应用在多种场景中。例如,在数字钥匙作为车钥匙的应用场景中,上述的第二终端可以是手机、平板电脑、智能穿戴设备等,第一终端可以是车辆。
又例如,在数字钥匙用于支付的场景中,上述的第二终端可以是手机、平板电脑、智能穿戴
设备等,第一终端可以是销售终端(point of sale,POS)、交通刷卡机等。还例如,在数字钥
匙作为门钥匙的应用场景中,上述的第二终端可以是手机、平板电脑、智能穿戴设备等,第
一终端可以是门禁系统。
[0135] 除了终端设备处于关机状态的情况以外,当终端设备处于其中的身份认证系统无法工作的模式(下文叫低电量模式)时,尽管终端设备并没有关机,但是其仍然无法满足在
使用数字钥匙时进行身份认证的需求。
[0136] 为此,在本申请的第一个实施例中,提供一种数字钥匙的身份认证方法。在第二终端从非预设运行状态(例如正常电量模式)进入到预设运行状态(例如关机或者低电量模
式)之前,首先利用第二终端中的身份认证系统对用户进行身份认证,将得到的用户身份认
证信息存储到第二终端的安全单元中。然后,当要使用第二终端中的数字钥匙时,再将存储
在安全单元中的用户身份认证信息发送给第一终端,第一终端就可以根据用户身份认证信
息来确定用户是否为第二终端的合法持有者。这样,即便第二终端处于预设运行状态(例如
关机或者低电量模式),用户使用第二终端中的数字钥匙时也可以在原本数字钥匙的基础
上,增加对用户身份的验证,从而确保使用第二终端中的数字钥匙的用户是第二终端的合
法用户,提高了数字钥匙使用的安全性。另外,这也避免了第二终端的非法用户通过关机或
者使第二终端进入低电量模式的方法,来绕过身份认证的步骤,给第二终端的合法用户造
成损失。
[0137] 针对第二终端从非预设运行状态进入到预设运行状态之前,以及用户在第二终端处于预设运行状态下使用数字钥匙这两个阶段,以下将分别说明这两个阶段中第一终端和
第二终端所执行的步骤。
[0138] 阶段一:第二终端从非预设运行状态进入到预设运行状态之前
[0139] 请参见图3,图3为本申请的数字钥匙的身份认证方法的一个实施例的流程示意图。其中,在阶段一中,第二终端可以执行S101至S102的步骤。
[0140] S101:在进入预设运行状态之前,如果存在配置有强制身份认证的数字钥匙,则生成用户身份认证结果。
[0141] 上述的预设运行状态可以是指第二终端的身份认证系统无法生成身份认证结果的状态,例如关机或者低电量模式等。例如,当第二终端的电源电量小于预设阈值,比如5%
时,第二终端进入到低电量模式,此时,第二终端中仅少量的组件正常工作,大部分组件,例
如身份认证系统、显示屏等,都进入不工作的状态。而非预设运行状态可以是指除预设运行
状态以外的状态,例如第二终端处于正常电量模式。
[0142] 配置有强制身份认证的数字钥匙要求第二终端在进入预设运行状态之前进行用户身份认证。可选地,在一种实现方式中,第二终端可以包括数字钥匙服务。数字钥匙服务
提供了数字钥匙的管理功能。通过数字钥匙服务的管理界面,用户可以查看数字钥匙小程
序中所保存的一把或者多把数字钥匙,并对这些数字钥匙进行强制身份认证配置。如果用
户对某一把数字钥匙配置了强制身份认证,那么每一次使用该把数字钥匙时都要求用户进
行一次身份认证。
[0143] 可选地,在用户对数字钥匙进行强制身份认证配置后,第二终端可以通过无线网络通知第一终端,使第一终端在授权业务操作时进行相关的检查。
[0144] 在第二终端从非预设运行状态切换到预设运行状态时,需要进入到状态切换流程,执行一系列的预设操作。例如,当第二终端从正常电量模式切换直接切换至关机状态
时,第二终端进入关机流程,执行关机流程中预设的操作,比如显示确认关机的对话框、向
各个应用程序发出提示存储数据的广播等。又例如,当第二终端从正常电量模式切换直接
切换至低电量模式时,第二终端进入低电量处理流程,执行低电量处理流程中预设的操作,
比如声音提示、对话框提示、显示屏亮度调整、关闭或暂停后台正在运行的程序等。数字钥
匙服务能够在用户配置了至少一个强制身份认证的数字钥匙时,在状态切换流程中增加一
次身份认证操作。即,当第二终端进入从非预设运行状态切换到预设运行状态的状态切换
流程时,启动第二终端中的身份认证系统,对用户进行身份认证,生成用户身份认证结果。
可选地,前述的身份认证流程可以由数字钥匙服务来触发。
[0145] 需要说明的是,身份认证系统可以采用现有的一种或者多种身份认证手段来对用户进行身份认证,例如个人通用身份标识码(Personal Identification Number,PIN)、指
纹、人脸、虹膜、骨传导,以及基于行为的认证等。这其中可以包括主动的身份认证手段,例
如PIN码、指纹、人脸、虹膜等,这些都需要用户根据第二终端的用户界面的引导来执行。此
外,也可以包括被动(即用户无感知)的身份认证手段,例如基于行为的身份认证、基于可穿
戴设备进行的身份认证等。其中,基于可穿戴设备进行的身份认证可以是可穿戴在场检测、
可穿戴骨传导身份认证、可穿戴脉搏身份认证等。这些被动的身份认证手段可以通过第二
终端本身具有的组件(例如传感器等)来实现,可以通过能与第二终端进行交互的第三终端
(例如可穿戴设备等)来实现,本申请对此不作限定。在实际应用中采用哪一种或者几种身
份认证手段,这主要依赖于第二终端身份认证系统所具有或所支持的身份认证能力。身份
认证系统采集到用户输入的密码、生物特征或者其他认证数据,然后与预先存储的密码、生
物特征或者其他认证数据进行比较,从而可以生成用户身份认证结果。
[0146] 可选地,在进行身份认证的过程中,数字钥匙服务可以生成用户界面,以告知其本次执行的身份认证的用途,例如本次身份认证是用于对至少一把数字钥匙在预设运行状态
下使用进行授权。同时,用户界面还可以显示引导信息,以引导用户完成身份认证。例如,图
4为数字钥匙作为车钥匙的应用场景的一个例子中,进行身份认证时的用户界面示意图。在
图4的用户界面中,中间区域中的提示文字用于告知用户,本次身份认证是用于对数字钥匙
A在关机状态下的使用进行授权。下方区域中的图像和文字,用于指示用户可以采用指纹或
者人脸来进行身份认证,或者取消授权。
[0147] 可选地,在一种实现方式中,如果用户取消授权,则还可以生成另一用户界面,告知用户取消授权的后果,请用户确认。例如,图5为数字钥匙作为车钥匙的应用场景的一个
例子中,用户取消授权时的一个用户界面示意图。在图5的用户界面中,上方区域中的提示
文字用于告知用户取消授权的后果,即无法在关机状态下使用数字车钥匙。下方区域中的
文字,用于指示用户进行确认操作,或者重新授权。
[0148] 可选地,在另一种实现方式中,如果用户取消授权,则还可以跳转至强制身份认证的配置界面,使用户可以重新进行强制身份认证的配置,更改原本的配置。例如,图6为数字
钥匙作为车钥匙的应用场景的一个例子中,用户取消授权时的另一个用户界面示意图。在
图6的用户界面中,上方区域中的提示文字用于告知用户已经取消授权,以及告知用户如果
希望在关机状态下使用车钥匙所能够采取的其他操作。下方区域中的文字和图像,用于指
示用户重新进行数字车钥匙的强制身份认证的配置。
[0149] 需要说明的是,当采用前述的被动的身份认证手段来对用户进行身份认证时,第二终端可以不显示上述的用户界面,而将整个身份认证流程放在后台执行。
[0150] S102:将包括用户身份认证结果的用户身份认证信息存储到安全单元中。
[0151] 在生成身份认证结果之后,可以将包括用户身份认证结果的用户身份认证信息存储到安全单元中,以便后续使用数字钥匙的时候调用。本申请实施例中可以采用现有的安
全单元,例如嵌入式安全单元(embedded SE,eSE)、集成到手机主芯片(System on Chip,
SoC)之中的inSE安全模块,通用集成电路卡安全单元(Universal Integrated Circuit 
Cards Secure Element,UICC SE)等。
[0152] 可选地,在第一种实现方式中,数字钥匙服务可以获取用户身份认证结果,将其作为用户身份认证信息,直接存储到安全单元中。
[0153] 可选地,在第二种实现方式中,数字钥匙服务可以获取用户身份认证结果,然后将用户身份认证结果用预先与第一终端约定好的第二密钥处理,生成第二验证数据,用于保
证用户身份认证信息具有可验证、不可抵赖的特性。这样,第一终端在接收到用户身份认证
信息之后,就可以利用预先约定的第二密钥对该用户身份认证信息进行验证,从而确保用
户身份认证信息在传输过程中没有被篡改,以及用户身份认证信息的发送来源是合法的。
最后,将第二验证数据和用户身份认证结果一起作为用户身份认证信息,共同存储到安全
单元中。此时的用户身份认证信息,有时也被称为身份认证证明(Attestation)。
[0154] 需要说明的是,在实际应用时,第二验证数据可以是数字签名、消息认证码(Message Authentication Code,MAC)、散列消息身份验证码(Hashed Message 
Authentication Code,HMAC)等。在用第二密钥处理用户身份认证结果时,可以直接用第二
密钥处理用户身份认证结果,得到第二验证数据,也可以将用户身份认证结果先压缩成消
息摘要,然后用第二密钥处理消息摘要,得到第二验证数据。
[0155] 可选地,在第三种实现方式中,数字钥匙服务可以获取用户身份认证结果和第一时间戳,然后将用户身份认证结果和第一时间戳一起作为用户身份认证信息,共同存储到
安全单元中。
[0156] 本申请实施例中的第一时间戳用于指示所述用户身份认证结果生成的时间。在实际应用时,可以采用用户身份认证系统生成用户身份认证结果的时间点作为第一时间戳,
也可以采用数字钥匙服务获取到用户身份认证结果的时间点作为第一时间戳,还可以采用
其他近似的时间点作为第一时间戳。这些时间点处于第二终端进入到预设运行状态之前的
一个很短的时间段内,也可以理解为处于从切换流程开始,至将用户身份认证信息存储到
安全单元中这一较短的时间段内。因此,无论以哪一个时间点作为第一时间戳,都可以指示
出用户身份认证结果生成的时间。第一时间戳可以是数字钥匙服务从外部获取,比如由身
份认证系统生成,也可以由数字钥匙服务自己生成,本申请对此不作限定。在一个实现方式
中,数字钥匙服务可以从手机可信执行环境TEE中的身份认证系统或可信时间服务获取第
一时间戳,也可以从一个可信时间服务器获取第一时间戳,从而确保第一时间戳来源的可
信度。此外该第一时间戳可能携带防篡改属性(如数字签名),本申请对此不作限定。
[0157] 可选地,在第四种实现方式中,数字钥匙服务可以获取用户身份认证结果和第一时间戳,然后将用户身份认证结果和第一时间戳用预先与第一终端约定好的第二密钥处
理,生成第二验证数据,用于保证用户身份认证信息具有可验证、不可抵赖的特性。最后,将
第二验证数据、用户身份认证结果和第一时间戳一起作为用户身份认证信息,共同存储到
安全单元中。此时的用户身份认证信息,也可以被称为身份认证证明。
[0158] 本实现方式中的第二验证数据可以参考第二种实现方式中的相关描述,第一时间戳可以参考第三种实现方式中的相关描述,此处不再赘述。
[0159] 可选地,在将用户身份认证信息存储到安全单元的一种实现方式中,可以将用户身份认证信息写到安全单元中的数字钥匙小程序中。
[0160] 例如,数字钥匙服务可以对数字钥匙小程序中的某一个特定的指示字段进行设置,以该指示字段的不同取值,来表示关于用户身份认证结果的三种状态,从而将用户身份
认证结果写入数字钥匙小程序中。例如,数字钥匙小程序可以在以传统的标签‑长度‑值
(Type‑Lenght‑Value,TLV)格式编码时,在标签(Tag)中指示身份认证结果,值可以以“1”表
示用户身份认证结果为通过,以“2”表示用户身份认证结果为未通过,以“3”表示用户身份
认证结果为未完成。这样的信息,在本申请中称之为第一信息,即第一信息是数字钥匙小程
序将用户身份认证结果对外展现的一种表示形式。因此,前述的用户身份认证信息包括用
户身份认证结果,也可以认为是用户身份认证信息包括第一信息,其中,第一信息用于指示
身份认证结果是通过还是未通过,或者指示身份认证系统在第二终端进入预设运行状态之
前未完成身份认证。
[0161] 又例如,数字钥匙服务可以对数字钥匙小程序中的另一个特定的指示字段进行设置,以该指示字段的特定取值,来表示第二终端在将用户身份认证信息写入安全单元中时
是否即将要进入预设运行状态。也就是说,该指示字段用于指示第二终端在响应第一终端
的业务指令时,是否处于预设运行状态。比如,在对外展现时,可以以“1”表示第二终端在发
送业务响应消息给第一终端时处于预设运行状态,以“0”来表示第二终端在响应第一终端
的业务指令时处于其他运行状态,例如非预设运行状态。这样的信息,在本申请中称之为第
二信息。因此,用户身份认证信息除了包括第一信息以外,还可以包括第二信息,其中,第二
信息用于指示第二终端在发送业务响应消息给第一终端时是否处于预设运行状态。
[0162] 可选地,前述的第二信息还可以是NFC控制器(NFC Controller)提供给数字钥匙小程序的。
[0163] 需要说明的是,前述的第一信息和第二信息可以各自由两个指示字段来独立表示,也可以融合在一起,以同一个指示字段来表示,本申请对此不作限定。例如,当采用同一
个特定的指示字段来表示时,可以将第一信息所指示的三种状态,以及第二信息能够指示
的两种状态组合,从而以特定的指示字段的六个不同的取值,来分别表示六种情况。还例
如,当写入到安全单元中的用户身份认证信息还包括第一时间戳、第二验证数据等时,数字
钥匙服务可以对某一特定指示字段进行设置,以表示数据存在。然后,将第一时间戳、第二
验证数据等存储到预设存储地址,从而使除了第一信息、第二信息以外的其他信息也能够
被存储到安全单元中。
[0164] 通过第一信息、第二信息和其他信息,就可以将第二终端在进入预设运行状态之前是否完成身份认证的状态、第二终端在发送业务响应消息给第一终端时所处的运行状
态、第一时间戳、验证信息等保存在数字钥匙小程序中,并在使用数字钥匙时传递给第一终
端。这样,第一终端就可以通过这些信息知晓第二终端的情况,进而根据预设的安全策略来
进行风险控制。具体如何进行风险控制,将在后续第一终端所执行的步骤中详细说明。
[0165] 可选地,在将用户身份认证信息存储到安全单元的另一种实现方式中,可以将用户身份认证信息写到安全单元中的代理小程序(Broker Applet)中。
[0166] 本申请实施例中所采用的安全单元支持国际平台组织(Global Platform,GP)的Broker Interface(Amendment J)规范。请参见图7,图7为本实施例中数字钥匙的身份认证
方法的应用场景的另一个示意图。在第二终端的安全单元210中存在一个代理小程序212,
该代理小程序212能够统一为安全单元210内的所有小程序(包括数字钥匙小程序211以及
其他可能存在的小程序)提供用户身份认证信息。因此,数字钥匙服务230可以将前述的任
一种用户身份认证信息传送给该代理小程序212保存。其中,用户身份认证信息中的用户身
份认证结果由身份认证系统240生成。当第二终端中的数字钥匙小程序211在与第一终端进
行交互时,如果需要提供用户身份认证信息,则数字钥匙小程序211通过标准接口向代理小
程序212获取存储其中的用户身份认证信息。
[0167] 需要说明的是,在进行用户身份认证时,如果前一次或者几次认证不通过,可以对用户再进行一次或者多次身份认证,以避免用户输错密码,或者没有采集到有效的生物特
征等情况。在这种情况下,只要将最后一次身份认证的结果存储到安全单元中即可。例如,
第二终端从正常电量模式切换到关机状态时,触发身份认证系统对用户进行身份认证。首
先在第二终端的显示屏上显示如图4所示的用户界面,引导用户输入指纹。用户在捺印区域
捺印,录入指纹。由于用户的手指上有水,第一次捺印时身份认证系统采集到的指纹图像与
第二终端中预存的指纹图像的相似度低于预设阈值,故而身份认证系统判断第一次录入的
指纹图像不匹配,即身份认证不通过。此时,第二终端并不将“不通过”这一结果存储到安全
单元中,而是提示用户身份认证不通过,要求用户重新录入指纹图像。用户擦拭掉手指上的
水之后重新捺印。如果录入的指纹图像与预存的指纹图像的相似度高于预设阈值,此时身
份认证通过,则第二终端将最近一次得到的“通过”这一结果存储到安全单元中。如果用户
反复录入指纹图像的次数超过预设的次数,结果均为不通过,则第二终端再将最近一次得
到的“不通过”这一结果存储到安全单元中。
[0168] 在对用户进行身份认证和存储用户身份认证信息时,可以暂停第二终端中原本的切换流程。等到身份认证信息存储完毕,再继续执行切换流程。切换流程执行完毕之后,第
二终端正式进入到预设运行状态。
[0169] 阶段二:用户在第二终端处于预设运行状态下使用数字钥匙
[0170] 请参见图3,在阶段二中,第二终端可以执行S103至S104的步骤。
[0171] S103:第二终端接收来自第一终端的业务指令。
[0172] 第一终端和第二终端之间通过通信单元交互信息,并且,通信单元需要包括能够被单独供电的通信模块,例如NFC模块等。这样,当第二终端处于预设运行状态下,例如关机
或者低电量模式下,单独供电的通信模块不会受到第二终端的主芯片的运行状态的影响,
仍然可以与第一终端进行信息交互。
[0173] S104:第二终端在预设运行状态下,响应于所述业务指令,将采用第一密钥处理过的业务响应消息发送给第一终端。
[0174] 本申请中的预设运行状态可以是指第二终端的身份认证系统无法生成身份认证结果的状态。在预设运行状态下,第二终端将阶段一中存储在安全单元中的用户身份认证
信息添加到业务响应消息中,并采用第一密钥进行处理。其中,第一密钥为第二终端与第一
终端预先约定的密钥,并且,第一密钥与前述的用于生成第二验证数据的第二密钥不相同。
第二终端中的第一密钥可以存储在安全单元中的数字钥匙小程序中。然后,第二终端将处
理过的业务响应消息发送给第一终端。
[0175] 本实施例中的业务响应消息包括了用户身份认证信息,用户身份认证信息可以仅包括用户身份认证结果,也可以包括用户身份认证结果和第二验证数据,也可以包括用户
身份认证结果和第一时间戳,还可以包括用户身份认证结果、第一时间戳和第二验证数据。
关于用户身份认证信息、用户身份认证结果、第一时间戳、第二验证数据,可以参考前述阶
段一中的相关描述,此处不再赘述。此外,业务响应消息中还可以包括其他信息,例如前述
的第二信息、协议信息、交易/业务标识信息、第一终端的标识信息、第一终端/第二终端生
成的随机信息值等,本申请对此不作限定。
[0176] 可选地,业务响应消息中还可以包括第一验证数据。本申请中的第一验证数据,指的是使用第一密钥,对业务响应消息中的用户身份认证信息进行处理,或者对业务响应消
息中的用户身份认证信息和其他信息进行处理,所生成的验证数据。当业务响应消息中包
括第一验证数据时,就可以认为该业务响应消息为采用第一密钥处理过的业务响应消息。
与第二验证数据类似地,在用第一密钥处理用户身份认证信息,或者用户身份认证信息和
其他信息时,可以直接用第一密钥处理这些信息,得到第一验证数据,也可以将这些信息先
压缩成消息摘要,然后用第一密钥处理消息摘要,得到第一验证数据。
[0177] 需要说明的是,本申请中的第一密钥的加密机制可以使用现有的对称或非对称加密,或是基于非对称加密进行密钥协商后生成会话密钥,此处不再赘述。
[0178] 还需要说明的是,当业务指令不同时,其对应的业务操作也相应的不同,而第一终端判断是否对该业务操作授权所需要的信息也不同。因此,在一种实现方式中,根据业务指
令的不同,业务响应消息中所包含的信息也可以不一样。
[0179] 可选地,在第二终端响应于业务指令之前,可以先判断第一终端所发送的业务指令是否要求第二终端提供用户身份认证信息,即判断是否该业务指令对应的业务操作授权
时,是否需要用户身份认证信息。如果需要用户身份认证信息,则将安全单元中的用户身份
认证信息添加到业务响应消息中;如果不需要,则无需将用户身份认证信息提供给第一终
端。
[0180] 与前述S103相对应地,第一终端向第二终端发送业务指令;与前述S104相对应地,第一终端接收第二终端响应于业务指令发送的业务响应消息。
[0181] 请参见图3,在阶段二中,第一终端可以执行S105至S106的步骤。
[0182] S105:第一终端采用第一密钥对业务响应消息验证通过后,得到用户身份认证信息。
[0183] 其中,第一密钥为第二终端与第一终端预先约定的密钥。如果第一终端采用第一密钥对业务响应消息验证失败,则说明第二终端没有持有一把第一终端认可的数字钥匙。
如果第一终端采用第一密钥成功验证业务响应消息,则说明第二终端成功证明其持有了一
把第一终端认可的数字钥匙,也就是说,第二终端中的数字钥匙是合法的。此时,第一终端
可以对业务响应消息中包含的用户身份认证信息进行进一步验证。
[0184] 以下以业务响应消息中包括用户身份认证信息、其他信息和第一验证数据的情况为例,来进一步说明验证的一种实现方式。第一终端利用第一密钥对用户身份认证信息和
其他信息进行处理,计算得到第一校验数据。然后将第一校验数据与第一验证数据比对,如
果二者相同,则验证通过;如果二者不同,则验证失败。
[0185] 当业务响应消息不包括第二验证数据时,第一终端可以直接利用用户身份认证信息中的内容和预设的安全策略,来判断是否对业务指令对应的业务操作授权。当业务响应
消息包括第二验证数据时,第一终端需要利用与第二终端预先约定的第二密钥,来验证用
户身份认证信息是否有效,保证用户身份认证信息是由第二终端的数字钥匙服务或身份认
证系统生成的。此外,第一终端还需要判断用户身份认证信息中的内容是否符合预设的安
全策略。只有这两个条件满足,才能够对业务指令对应的业务操作授权。
[0186] 以下以用户身份认证信息中包括用户身份认证结果、第一时间戳,以及业务响应消息包括第二验证数据的情况为例,来进一步说明验证用户身份认证信息是否有效的过
程。第一终端利用第二密钥对用户身份认证信息,即用户身份认证结果和第一时间戳进行
处理,计算得到一个第二校验数据。然后将第二校验数据与第二验证数据比对,如果二者相
同,则确定用户身份认证信息有效;如果二者不同,则确定用户身份认证信息无效。通过这
样的方法,一方面,可以保证用户身份认证信息在传输过程中没有被篡改,即确保用户身份
认证信息的完整性;另一方面,可以保证用户身份认证信息的发送来源是合法的,即确保第
二终端上的密钥的合法持有者,从而保证用户身份认证信息具有可验证、不可抵赖的特性。
[0187] 需要说明的是,业务响应消息中原本就包括有用户身份认证信息,即便不采用第一密钥来验证,第一终端也可以从中获取到用户身份认证信息。但是,如前所述,如果采用
第一密钥验证失败,说明第二终端没有持有一把第一终端认可的数字钥匙,此时可以不必
再使用用户身份认证信息来执行后续的步骤,直接拒绝对业务操作授权。而如果采用第一
密钥验证成功,则说明第二终端中的数字钥匙是合法的。此时,再利用业务响应消息中的用
户身份认证信息来执行后续的步骤,增加对用户身份的验证,从而提高了数字钥匙的安全
性。
[0188] 还需要说明的是,如果第一终端所发送的业务指令不要求进行用户身份认证信息的验证,即,如果在判断是否对该业务指令对应的业务操作授权时不需要用户身份认证信
息,则可以不必再使用用户身份认证信息来执行后续的步骤。在一种实现方式中,此时可以
直接根据第一密钥的验证结果来判断是否对该业务指令对应的业务操作授权。
[0189] S106:验证所述用户身份认证信息。
[0190] 第一终端中存储有预先设定的安全策略,该安全策略中包括了一个或者多个与用户身份认证信息相关的规则。在验证用户身份认证信息的一种实现方式中,第一终端可以
将用户身份认证信息与安全策略中的规则做比对,根据用户身份认证信息是否满足安全策
略中的规则,来判断是否可以对业务指令对应的业务操作授权。
[0191] 需要说明的是,不同的第一终端中的安全策略可以不同,在不同的应用场景中第一终端的安全策略也可以不同,第一终端的制造商,例如车厂等,可以根据自身的风险承受
能力,来预设安全策略。
[0192] 还需要说明的是,此处的用户身份认证信息是从第二终端中的安全单元中获取到的,获取时第二终端处于预设运行状态下。用户身份认证信息包括用户身份认证结果,用户
身份认证结果由第二终端的身份认证系统在第二终端进入预设运行状态之前生成。
[0193] 可选地,用户身份认证信息中可以包括前述的第二信息。通过第二信息,可以使第一终端清楚地了解在第二终端给第一终端发送业务响应消息时第二终端是否处于预设运
行状态。在一种实现方式中,第二信息用于指示第二终端在发送业务响应消息时是否处于
预设运行状态。那么,如果用户身份认证信息中包括第二信息,第一终端就可以通过第二信
息来确定在第二终端发送业务响应消息时所处的状态。当第二终端处于预设运行状态时,
第二终端的身份认证系统无法正常使用。此时获取到用户身份认证结果是第二终端进入预
设运行状态之前生成并存储的,并不是实时生成的,这表明当前用户使用数字密钥时的风
险较大。在这种情况下,第一终端就可以根据预设的安全策略,根据用户身份认证信息来进
行风险控制,判断是否对业务操作授权,从而降低风险。
[0194] 可选地,用户身份认证信息中可以包括前述的第一信息。通过第一信息,可以使第一终端清楚地了解在第二终端在进入预设运行状态之前,是否通过身份认证,或者未完成
身份认证。在一种实现方式中,第一信息用于指示身份认证结果为“通过”、“不通过”或者
“未完成”。安全策略中包括第一规则,在第一规则中预设认证结果为“通过”。如果业务响应
消息中的身份认证结果也为“通过”,则其与预设的认证结果匹配;如果业务响应消息中的
身份认证结果也为“不通过”或者“未完成”,则其与预设的认证结果不匹配。
[0195] 业务指令可以包括一个或者多个不同的指令。当业务指令包括多个不同的指令时,这多个不同的指令可以各自独立发送给第二终端,也可以一起发送给第二终端,本申请
对此不作限定。当多个不同的指令各自独立发送给第二终端时,第二终端可以分别响应,分
别发送对应的业务响应消息给第一终端,也可以响应一次,发送一个业务响应消息给第一
终端。需要说明的是,在第一终端分别发送多个不同的指令给第二终端,第二终端又分别响
应的情况下,第二终端可以先响应先发送的指令,再接收后发送的指令,也可以先接收后发
送的指令,再逐个响应接收到的多个指令。即,本申请对于第二终端接收多个指令和响应多
个指令的步骤之间的先后顺序不作限定。当多个不同的指令一起发送给第二终端时,第二
终端可以响应一次,发送一个业务响应消息给第一终端,也可以分别响应,本申请对此也不
作限定。
[0196] 业务指令对应的业务操作,可以包括一项操作,也可以包括多项操作,本申请对此不作限定。第一终端和第二终端之间可以协议多种不同场景的业务指令,每一种不同场景
的业务指令,可以包括一个或者多个业务操作的请求。第一终端当前发送给第二终端的业
务指令场景包含哪一种或者几种业务操作的请求,第一终端就针对这些业务操作来判断是
否对其授权。
[0197] 例如,在数字钥匙作为车钥匙的应用场景中,第一终端可以为车辆,第二终端可以为手机。车辆内的通信单元包括了多个通信单元,可以通过不同的通信单元来区分不同的
业务指令,以及对应的业务操作。当位于车门关联的通信模块发送业务指令时,对应的业务
操作可以是解锁单侧或全部车门。当位于车辆后备箱关联的通信模块发送业务指令时,对
应的业务操作可以是解锁后备箱。当位于车辆内部的启动模块关联的通信模块发送业务指
令时,对应的业务操作可以是启动发动机。这样,当车辆接收到手机发送来的业务响应消息
时,就可以根据业务指令的不同,利用不同的安全策略来判断是否对相应的业务操作授权。
[0198] 以下将以12种不同的安全策略为例,来进一步介绍,当采用不同的安全策略时,如何根据用户身份认证信息,来判断是否对业务指令对应的业务操作授权的过程。
[0199] (1)安全策略1
[0200] 安全策略1包括了第一规则。
[0201] 第一规则为关于用户身份认证结果的规则,包括两条子规则。在第一规则中预设认证结果为“通过”。子规则a:如果业务响应消息中的用户身份认证结果也为“通过”,则其
与预设的认证结果匹配。子规则b:如果业务响应消息中的身份认证结果为“不通过”或者
“未完成”,则其与预设的认证结果不匹配。
[0202] 当采用安全策略1时,第一终端需要判断用户身份认证结果是否符合第一规则中的子规则a,如果符合,则第一终端直接对业务指令对应的业务操作授权。如果不符合,则第
一终端拒绝对业务指令对应的业务操作授权。
[0203] 举例来说,在数字钥匙作为车钥匙的应用场景中,第一终端为车辆,第二终端为手机,业务指令对应的业务操作包括“开锁”或“启动发动机”。当前手机处于关机状态。在车辆
验证手机发送过来的业务响应消息成功之后,如果用户身份认证信息中的用户身份认证结
果为“通过”,符合子规则a,那么对“开锁”或“启动发动机”这个业务操作授权。
[0204] (2)安全策略2
[0205] 安全策略2包括第一规则和第二规则。第一规则与前述安全策略1中的相同,此处不再赘述。
[0206] 第二规则为关于第一终端在第二终端处于预设运行状态时对业务操作授权的累计次数的规则。在第一终端中记录有以往在第二终端处于预设运行状态时对业务操作授权
的授权累计次数。在第二规则中预设一个次数阈值,要求授权累计次数处于次数阈值之内。
[0207] 当采用安全策略2时,第一终端需要判断用户身份认证结果是否符合第一规则中的子规则a,以及,授权累计次数是否符合第二规则。如果同时符合这两个规则,则第一终端
对业务指令对应的业务操作授权。如果不符合其中任一项规则,则第一终端拒绝对业务指
令对应的业务操作授权。
[0208] 此外,无论是否对业务操作授权,第一终端或者第二终端都可以给用户显示提示信息,以告知用户当前的授权累计次数、未来即将面临的后果、用户可以采取的措施等。
[0209] 举例来说,在数字钥匙作为车钥匙的应用场景中,第一终端为车辆,第二终端为手机,业务指令对应的业务操作“启动发动机”。第二规则中设定的次数阈值为4。在车辆验证
手机发送过来的业务响应消息成功之后,如果用户身份认证信息中的用户身份认证结果为
“通过”,则其符合子规则a。如果以往在手机处于关机或者低电量模式下使用数字钥匙,车
辆已经授权过4次,本次为第5次,则不符合第二规则。因此,车辆拒绝对“启动发动机”这个
业务操作授权。
[0210] 此外,在第二规则中还可以预设一个时间段,要求在一个时间段内的授权累计次数处于阈值之内。例如,第二规则可以要求在距离当前时间24小时内授权累计次数处于次
数阈值之内。
[0211] 通过这种方式,第一终端可以对在预设运行状态下使用数字钥匙的情况进行一定的限制,从而进一步减少恶意使用处于预设运行状态下的、缺少实时保护的第二终端上的
数字钥匙的风险。
[0212] (3)安全策略3
[0213] 安全策略3包括第一规则和第三规则。第一规则与前述安全策略1中的相同,此处不再赘述。
[0214] 第三规则为关于第一终端在第二终端处于预设运行状态时对业务操作授权的频度的规则。授权的频度可以通过一定时间段内授权的次数来确定。在第一终端中记录有以
往在第二终端处于预设运行状态时对业务操作授权的次数,以及每一次授权对应的时间。
在第三规则中预设一个频度阈值,预设一个时间段,要求授权的频度(即在一个时间段内授
权的次数)处于频度阈值之内。
[0215] 当采用安全策略3时,第一终端需要判断用户身份认证结果是否符合第一规则中的子规则a,以及,授权的频度是否符合第三规则。如果同时符合这两个规则,则第一终端对
业务指令对应的业务操作授权。如果不符合其中任一项规则,则第一终端拒绝对业务指令
对应的业务操作授权。
[0216] 举例来说,在数字钥匙作为车钥匙的应用场景中,第一终端为车辆,第二终端为手机,业务指令对应的业务操作包括“启动发动机”。第三规则中设定授权的频度阈值为10次/
月。在车辆验证手机发送过来的业务响应消息成功之后,如果用户身份认证信息中的用户
身份认证结果为“通过”,则其符合子规则a。如果以往一个月内在手机处于关机或者低电量
模式下使用数字钥匙,车辆已经授权过5次,本次为第6次,则符合第三规则。因此,车辆对
“启动发动机”这个业务操作授权。
[0217] 通过这种方式,第一终端可以对在预设运行状态下使用数字钥匙的情况进行一定的限制,从而进一步减少恶意使用处于预设运行状态下的、缺少实时保护的第二终端上的
数字钥匙的风险。
[0218] (4)安全策略4
[0219] 安全策略4包括第一规则和第四规则。第一规则与前述安全策略1中的相同,此处不再赘述。
[0220] 第四规则为关于使用数字钥匙的时间点与生成用户身份认证结果的时间点之间的间隔时长的规则。第一终端得到的用户身份认证信息中还包括第一时间戳,第一时间戳
用于指示身份认证结果在第二终端中生成的时间。在第四规则中预设一个时长阈值,要求
当前时间距离第一时间戳的间隔时长处于预设的时长阈值之内。
[0221] 当采用安全策略4时,第一终端需要判断用户身份认证结果是否符合第一规则中的子规则a,以及,第一时间戳是否符合第四规则。如果同时符合这两个规则,则第一终端对
业务指令对应的业务操作授权。如果不符合其中任一项规则,则第一终端拒绝对业务指令
对应的业务操作授权。
[0222] 需要说明的是,第四规则中的当前时间,可以是第一终端判断第一时间戳是否符合第四规则的实时时间,也可以是第一终端接收到业务响应消息的时间,或者第一终端得
到用户身份认证信息的时间等。由于这些时间点的距离较近,无论采用哪一个时间点作为
当前时间,均能够指示出用户使用数字钥匙的时间点与生成用户身份认证结果的时间点之
间的间隔时长,因此本申请对于当前时间具体采用哪一个时间点不作限定。
[0223] 举例来说,在数字钥匙作为车钥匙的应用场景中,第一终端为车辆,第二终端为手机,业务指令对应的业务操作包括“启动发动机”。第四规则中设定间隔时长为24小时。在车
辆验证手机发送过来的业务响应消息成功之后,如果用户身份认证信息中的用户身份认证
结果为“通过”,则其符合子规则a。如果第一时间戳为3月5号20:00,当前时间是3月6号12:
00,二者的间隔时长为16小时,小于时长阈值24小时,符合第四规则。因此,车辆对“启动发
动机”这个业务操作授权。
[0224] (5)安全策略5
[0225] 安全策略5包括第一规则和第五规则。其中,第一规则与前述安全策略1中的相同,此处不再赘述。
[0226] 第五规则为关于第二终端在进入预设运行状态之后是否又重新切换到非预设运行状态的规则。在第五规则的一种实现方式中,需要将第一时间戳与第二时间戳进行比较,
要求第二时间戳早于第一时间戳,也就是说,要求在第一时间戳指示的时间之后第二终端
没有从预设运行状态重新切换至非预设运行状态。其中,用户身份认证信息中还包括第一
时间戳,第一时间戳用于指示身份认证结果在第二终端中生成的时间。第二时间戳用于指
示第二终端最近一次从预设运行状态切换至非预设运行状态的时间。即,第二时间戳用于
指示第二终端从预设运行状态切换至非预设运行状态的时间中,距离第二终端发送业务响
应消息的时间最近的时间。
[0227] 在第五规则的另一种实现方式中,需要将第一时间戳与第三时间戳进行比较,要求第三时间戳与第一时间戳之间的间隔小于一个预设阈值。其中,第一时间戳用于指示身
份认证结果在第二终端中生成的时间,此时第二终端即将要进入预设运行状态,第三时间
戳用于指示第二终端最近一次从非预设运行状态切换至预设运行状态的时间。也就是说,
在本实现方式中,第五规则要求第三时间戳与第一时间戳很接近,而不能是第三时间戳远
远晚于第一时间戳。
[0228] 如果第一时间戳不符合第五规则,说明在第一时间戳之后,第二终端进入过非预设运行状态,当前时刻第二终端的身份认证系统能够正常工作,或是第二终端能够提供更
新的身份认证信息,本次提供的身份认证信息无法代表最新的用户认证状态。无论是哪一
种情况,都证明本次业务中第二终端做出了异常行为,即提供了在正常情况下不应提供的
信息,说明当前数字钥匙的使用可能存在一定的安全风险。例如,第二终端在重放已经过时
的身份认证信息以企图对当前业务操作进行授权。而如果第二终端在关机的时间点之后没
有重新开机过,则说明在对身份认证信息重放滥用的风险较低。因此,可以将第五规则与前
述的第一规则结合起来,从而进一步降低数字钥匙使用时的安全风险。
[0229] 需要说明的是,在使用第五规则时,判断的步骤可以在第一终端本地进行,也可以由第一终端发送给服务器,由服务器进行联机验证。
[0230] 在一种实现方式中,第二时间戳可以由第一终端从服务器中获取。第一终端首先接收服务器发送的第二时间戳,然后根据第二时间戳是否晚于第一时间戳,来判断第二终
端在第一时间戳指示的时间之后是否从预设运行状态切换至非预设运行状态。
[0231] 在另一种实现方式中,第一终端可以将包括第一时间戳的联机验证请求发送给服务器。然后由服务器基于存储在服务器中的第五规则,根据第一时间戳和第二时间戳,来判
断第二终端在第一时间戳指示的时间之后是否从预设运行状态切换至非预设运行状态,得
到联机验证结果。服务器再将联机验证结果发送给第一终端。如果联机验证结果为成功,则
第一终端可以确定第二终端在第一时间戳指示的时间之后没有从预设运行状态切换至非
预设运行状态;如果联机验证结果为失败,则第一终端可以确定第二终端在所述第一时间
戳指示的时间之后从预设运行状态切换至非预设运行状态。
[0232] 上述的服务器可以是直接或者间接与第二终端通信连接的服务器。例如,在数字钥匙作为车钥匙的应用场景中,第二终端为手机,上述的服务器可以是车辆厂商的服务器,
其与手机账号服务器通信连接,而手机账号服务器与手机通信连接。在这种情况下,手机间
接与车辆厂商的服务器连接。由于手机一开机就会自动连接到手机账号服务器上,故而车
辆厂商的服务器可以通过手机账号服务器,来获取手机的开机时间。
[0233] 当采用安全策略5时,第一终端需要判断用户身份认证结果是否符合第一规则中的子规则a,以及,第一时间戳是否符合第五规则。如果同时符合这两个规则,则第一终端对
业务指令对应的业务操作授权。如果不符合其中任一项规则,则第一终端拒绝对业务指令
对应的业务操作授权。此外,如果第一时间戳不符合第五规则,第一终端还可以冻结数字钥
匙,或者,指示第二终端冻结数字钥匙,或者,指示用户重新进行身份认证,从而提高数字钥
匙的使用安全性。
[0234] 举例来说,在数字钥匙作为车钥匙的应用场景中,第一终端为车辆,第二终端为手机,业务指令对应的业务操作包括“启动发动机”。安全策略采用前述安全策略5。
[0235] 在车辆验证手机发送过来的业务响应消息成功之后,可以判断用户身份认证结果是否符合第一规则中的子规则a。假设用户身份认证信息中的用户身份认证结果为“通过”,
则符合子规则a。车辆获取第二时间戳,判断第一时间戳和第二时间戳是否符合第五规则。
假设第一时间戳为3月5号20:00,第二时间戳为3月5号10:00(最近一次开机时间)。第二时
间戳早于第一时间戳,这说明手机在3月5号20:00关机之后,没有重新开机,符合第五规则。
因此,车辆对以及“启动发动机”这一业务操作授权。
[0236] 应理解,上述的第五规则,也可以应用到前述的安全策略1‑4以及后续的安全策略6‑8的任一项中。即,安全策略1‑4、安全策略6‑8均可以与上述的第五规则结合,在对业务操
作授权之后,还可以判断第二终端在第一时间戳指示的时间之后是否从预设运行状态重新
进入到非预设运行状态。如果重新进入非预设运行状态,不符合第五规则,说明第二终端虽
然提供了符合要求的用户身份验证结果,但是第一终端后续根据第五规则判断出该用户身
份认证结果不是最新的,因此当前存在一定的安全风险。此时,第一终端可以冻结数字钥
匙,或者,指示第二终端冻结数字钥匙,或者,指示用户重新进行身份认证。通过增加关于第
五规则的判断,从而进一步降低数字钥匙的风险,提高使用安全性。
[0237] 需要说明的是,前述安全策略1‑5还可以相互结合,采用不同的安全策略来对应不同的业务操作。为便于理解,以下再以数字钥匙作为车钥匙的应用场景为例,作进一步说
明。在一个使用流程中,汽车的开门操作使用安全策略1,启动发动机使用安全策略2‑5中的
任一项。当使用NFC作为通信技术时,用户首先将手机靠近汽车把手的NFC读卡器。汽车NFC
读卡器发送一个业务指令,在接收到手机发送的业务响应后基于安全策略1的条件进行判
断,如果验证通过就解锁车门中的门锁。随后,用户进入汽车,将手机放入车内的读卡区域
内。汽车发送另一个业务指令,在接收到手机发送的业务响应后基于安全策略2‑5中的任一
项进行验证,如果验证通过就允许用户启动发动机。
[0238] (6)安全策略6‑8
[0239] 安全策略6包括第一规则和第二规则。安全策略7包括第一规则和第三规则。安全策略8包括第一规则和第四规则。其中,第一规则与前述安全策略1中的相同,第二规则与前
述安全策略2中的相同,第三规则与前述安全策略3中的相同,第四规则与前述安全策略4中
的相同,此处不再赘述。
[0240] 如前所述,第一终端发送给第二终端的业务指令可以包括多个指令,各个指令分别对应多个不同的业务操作。例如,业务指令可以包含第一指令和第二指令,对应地,业务
操作包括与第一指令对应的第一操作,以及与第二指令对应的第二操作。为了提高用户体
验,在不同的应用场景中,可以根据不同操作的风险的不同,将其与不同的规则对应起来。
当用户身份认证信息满足安全策略中的不同规则时,第一终端对不同的业务操作进行授
权。
[0241] 当采用安全策略6时,第一终端需要依次判断用户身份认证结果是否符合第一规则中的子规则a,以及,授权累计次数是否符合第二规则。如果用户身份认证结果符合第一
规则中的子规则a,则第一终端对第一操作授权;如果不符合,则第一终端拒绝对第一操作
授权。在对第一操作授权之后,如果授权累计次数符合第二规则,则第一终端对第二操作授
权;如果不符合,则第一终端拒绝对第二操作授权。
[0242] 与采用安全策略7的情况类似地,当采用安全策略7时,第一终端需要依次判断用户身份认证结果是否符合第一规则中的子规则a,以及,授权的频度是否符合第三规则。如
果用户身份认证结果符合第一规则中的子规则a,则第一终端对第一操作授权;如果不符
合,则第一终端拒绝对第一操作授权。在对第一操作授权之后,如果授权的频度符合第三规
则,则第一终端对第二操作授权;如果不符合,则第一终端拒绝对第二操作授权。
[0243] 与采用安全策略6或7的情况类似地,当采用安全策略7时,第一终端需要依次判断用户身份认证结果是否符合第一规则中的子规则a,以及,授第一时间戳是否符合第四规
则。如果用户身份认证结果符合第一规则中的子规则a,则第一终端对第一操作授权;如果
不符合,则第一终端拒绝对第一操作授权。在对第一操作授权之后,如果第一时间戳符合第
四规则,则第一终端对第二操作授权;如果不符合,则第一终端拒绝对第二操作授权。
[0244] 需要说明的是,在前述的安全策略6‑8中,如果第一终端拒绝对第一操作授权,则第一终端可以不做后续的判断,直接拒绝对第二操作授权。
[0245] 举例来说,在数字钥匙作为车钥匙的应用场景中,第一终端为车辆,第二终端为手机,业务指令包括第一指令和第二指令,二者被一起发送给手机。第一指令对应的业务操作
为第一操作“开锁”,第二指令对应的业务操作为第二操作“启动发动机”。安全策略采用前
述安全策略8。其中,第四规则中设定间隔时长为24小时。
[0246] 手机在接收到第一指令和第二指令之后,发送一个业务响应消息给车辆,其中包含了户身份认证结果和第一时间戳。在车辆验证手机发送过来的业务响应消息成功之后,
首先判断用户身份认证结果是否符合第一规则中的子规则a。假设用户身份认证信息中的
用户身份认证结果为“通过”,符合子规则a,因此车辆对“开锁”这一业务操作授权。此时车
锁打开,使用户可以先行进入车内。再判断第一时间戳是否符合第四规则。假设第一时间戳
为3月5号20:00,当前时间是3月6号12:00,二者的间隔时长为16小时,小于时长阈值24小
时,符合第四规则。因此,车辆对“启动发动机”这一业务操作授权。此时车辆发动机启动,用
户可以驾驶车辆。
[0247] 需要说明的是,上述的第一指令和第二指令,也可以各自单独被发送给手机。例如,当使用蓝牙作为通信技术时,汽车上的认证模块在不同阶段向手机发送不同的业务指
令。在这种情况下,首先,用户靠近汽车时,利用手机与位于车门关联的通信模块交互。汽车
给手机发送关于开锁的业务指令,即第一指令。手机在接收到第一指令之后,发送一个业务
响应消息给车辆,其中包含了户身份认证结果。在车辆验证手机发送过来的业务响应消息
成功之后,判断用户身份认证结果是否符合第一规则中的子规则a。假设用户身份认证信息
中的用户身份认证结果为“通过”,符合子规则a,因此车辆对“开锁”这一业务操作授权。此
时车锁打开,使用户可以先行进入车内。在利用定位技术(如UWB定位)检测到用户进入汽车
后,汽车给手机发送关于启动发动机的业务指令,即第二指令。手机在接收到第二指令之
后,发送另一个业务响应消息给车辆,其中包含了户身份认证结果和第一时间戳。在车辆验
证手机发送过来的业务响应消息成功,并判断用户身份认证结果符合第一规则中的子规则
a之后,再判断第一时间戳是否符合第四规则。假设如前所述第一时间戳符合第四规则,那
么车辆对“启动发动机”这一业务操作授权。此时车辆发动机启动,用户可以驾驶车辆。
[0248] 可见,当多个指令被单独发送给手机时,手机可能发送多次业务响应消息,并且多次业务响应消息中可能均包括了相同的用户身份认证信息。此外,关于是否符合第一规则
的判断过程也可能重复一次或者多次。
[0249] (7)安全策略9
[0250] 安全策略9包括第一规则和第五规则。其中,第一规则与前述安全策略1中的相同,第五规则与前述安全策略5中的相同,此处不再赘述。
[0251] 如前所述,业务指令可以包含第一指令和第二指令,对应地,业务操作包括与第一指令对应的第一操作,以及与第二指令对应的第二操作。当用户身份认证信息满足安全策
略中的不同规则时,第一终端对不同的业务操作进行授权。
[0252] 当采用安全策略9时,第一终端需要依次判断用户身份认证结果是否符合第一规则中的子规则a,以及,第一时间戳是否符合第五规则。如果用户身份认证结果符合第一规
则中的子规则a,则第一终端对第一操作授权;如果不符合,则第一终端拒绝对第一操作授
权。在对第一操作授权之后,如果第一时间戳符合第五规则,则第一终端对第二操作授权;
如果不符合,则第一终端拒绝对第二操作授权。此外,如果第一时间戳不符合第五规则,第
一终端还可以冻结数字钥匙,或者,指示第二终端冻结数字钥匙,或者,指示用户重新进行
身份认证,从而提高数字钥匙的使用安全性。
[0253] 需要说明的是,如果第一终端拒绝对第一操作授权,则第一终端可以无需判断第一时间戳是否符合第五规则,直接拒绝对第二操作授权。
[0254] 举例来说,在数字钥匙作为车钥匙的应用场景中,第一终端为车辆,第二终端为手机,业务指令包括第一指令和第二指令。第一指令对应的业务操作为第一操作“开锁”,第二
指令对应的业务操作为第二操作“启动发动机”。安全策略采用前述安全策略9。
[0255] 在车辆验证手机发送过来的业务响应消息成功之后,首先判断用户身份认证结果是否符合第一规则中的子规则a。假设用户身份认证信息中的用户身份认证结果为“通过”,
符合子规则a,因此车辆对“开锁”这一业务操作授权。此时车锁打开,使用户可以先行进入
车内。然后,再获取第二时间戳,判断第一时间戳和第二时间戳是否符合第五规则。假设第
一时间戳为3月5号20:00,第二时间戳为3月5号10:00,第二时间戳早于第一时间戳,说明手
机在3月5号20:00关机之后,没有重新开机,符合第五规则。因此,车辆对以及“启动发动机”
这一业务操作授权。此时车辆发动机启动,用户可以驾驶车辆。
[0256] (8)安全策略10
[0257] 安全策略10包括第一规则、第四规则和第五规则。其中,第一规则与前述安全策略1中的相同,第四规则与前述安全策略4中的相同,第五规则与前述安全策略5中的相同,此
处不再赘述。
[0258] 如前所述,业务指令可以包含第一指令和第二指令,对应地,业务操作包括与第一指令对应的第一操作,以及与第二指令对应的第二操作。当用户身份认证信息满足安全策
略中的不同规则时,第一终端对不同的业务操作进行授权。
[0259] 当采用安全策略10时,第一终端需要判断用户身份认证结果是否符合第一规则中的子规则a,以及,第一时间戳是否符合第四规则和第五规则。如果用户身份认证结果符合
第一规则中的子规则a,则第一终端对第一操作授权;如果不符合,则第一终端拒绝对第一
操作授权。在第一终端对第一操作授权之后,如果第一时间戳符合第四规则,则第一终端对
第二操作授权;如果不符合,则判断第一时间戳是否符合第五规则。如果第一时间戳符合第
五规则,则第一终端对第二操作授权;如果不符合,则第一终端拒绝对第二操作授权。
[0260] 与安全策略5中类似地,如果第一时间戳不符合第五规则,第一终端还可以冻结数字钥匙,或者,指示第二终端冻结数字钥匙,或者,指示用户重新进行身份认证,从而提高数
字钥匙的使用安全性。如果第一终端拒绝对第一操作授权,则第一终端可以无需判断第一
时间戳是否符合第五规则,直接拒绝对第二操作授权。
[0261] 举例来说,在数字钥匙作为车钥匙的应用场景中,第一终端为车辆,第二终端为手机,业务指令包括第一指令和第二指令。第一指令对应的业务操作为第一操作“开锁”,第二
指令对应的业务操作为第二操作“启动发动机”。安全策略采用前述安全策略10。
[0262] 在车辆验证手机发送过来的业务响应消息成功之后,首先判断用户身份认证结果是否符合第一规则中的子规则a。假设用户身份认证信息中的用户身份认证结果为“通过”,
符合子规则a。因此车辆对“开锁”这一业务操作授权。此时车锁打开,使用户可以先行进入
车内。然后,判断第一时间戳是否符合第四规则。假设第一时间戳为3月5号20:00,当前时间
是3月7号12:00,二者的间隔时长为40小时,大于时长阈值24小时,不符合第四规则。那么,
再获取第二时间戳,判断第一时间戳和第二时间戳是否符合第五规则。假设第二时间戳为3
月5号10:00,第二时间戳早于第一时间戳,说明手机在3月5号20:00关机之后,没有重新开
机,符合第五规则。此时,车辆对“启动发动机”这一业务操作授权。此时车辆发动机启动,用
户可以驾驶车辆。
[0263] (9)安全策略11
[0264] 安全策略11也包括第一规则、第四规则和第五规则。其中,第一规则与前述安全策略1中的相同,第四规则与前述安全策略4中的相同,第五规则与前述安全策略8中的相同,
此处不再赘述。
[0265] 如前所述,业务指令可以包含第一指令和第二指令,对应地,业务操作包括与第一指令对应的第一操作,以及与第二指令对应的第二操作。当用户身份认证信息满足安全策
略中的不同规则时,第一终端对不同的业务操作进行授权。
[0266] 当采用安全策略11时,第一终端需要判断用户身份认证结果是否符合第一规则中的子规则a,以及,第一时间戳是否符合第四规则和第五规则。如果用户身份认证结果符合
第一规则中的子规则a,并且,第一时间戳是否符合第四规则,则第一终端对第一操作授权;
如果二者中任一项不符合,则第一终端拒绝对第一操作授权。在第一终端对第一操作授权
之后,如果第一时间戳符合第五规则,则第一终端对第二操作授权;如果不符合,则第一终
端拒绝对第二操作授权。
[0267] 与安全策略5中类似地,如果第一时间戳不符合第五规则,第一终端还可以冻结数字钥匙,或者,指示第二终端冻结数字钥匙,或者,指示用户重新进行身份认证,从而提高数
字钥匙的使用安全性。如果第一终端拒绝对第一操作授权,则第一终端可以无需判断第一
时间戳是否符合第五规则,直接拒绝对第二操作授权。
[0268] 举例来说,在数字钥匙作为车钥匙的应用场景中,第一终端为车辆,第二终端为手机,业务指令包括第一指令和第二指令。第一指令对应的业务操作为第一操作“开锁”,第二
指令对应的业务操作为第二操作“启动发动机”。安全策略采用前述安全策略11。
[0269] 在车辆验证手机发送过来的业务响应消息成功之后,首先判断用户身份认证结果是否符合第一规则中的子规则a,以及判断第一时间戳是否符合第四规则。假设用户身份认
证信息中的用户身份认证结果为“通过”,符合子规则a。假设第一时间戳为3月5号20:00,当
前时间是3月6号12:00,二者的间隔时长为16小时,小于时长阈值24小时,符合第四规则。因
此车辆对“开锁”这一业务操作授权。此时车锁打开,使用户可以先行进入车内。然后,获取
第二时间戳,判断第一时间戳和第二时间戳是否符合第五规则。假设第二时间戳为3月5号
10:00,第二时间戳早于第一时间戳,说明手机在3月5号20:00关机之后,没有重新开机,符
合第五规则。因此,车辆对“启动发动机”这一业务操作授权。此时车辆发动机启动,用户可
以驾驶车辆。
[0270] (10)安全策略12
[0271] 在某些应用场景中,即便用户身份认证结果不符合第一规则a,也可以对部分业务操作进行授权,并拒绝对另外一些业务操作授权,然后再重新发起一轮数字钥匙的业务指
令。在接收到新的一轮数字钥匙的业务响应消息后,再来判断是否对另外一些业务操作授
权。
[0272] 基于此,本申请还提供安全策略12。安全策略12包括第一规则,以及第二规则、第三规则、第四规则和第五规则中的任意一项或者几项。其中,第一规则与前述安全策略1中
的相同,第二规则与前述安全策略2中的相同,第三规则与前述安全策略3中的相同,第四规
则与前述安全策略4中的相同,第五规则与前述安全策略5中的相同,此处不再赘述。
[0273] 如前所述,业务指令可以包含第一指令和第二指令,对应地,业务操作包括与第一指令对应的第一操作,以及与第二指令对应的第二操作。当用户身份认证信息满足安全策
略中的不同规则时,第一终端对不同的业务操作进行授权。
[0274] 当采用安全策略12时,第一终端需要判断用户身份认证结果是否符合第一规则中的子规则b。如果用户身份认证结果符合第一规则中的子规则b,则第一终端对第一指令对
应的第一操作授权,并且,第一终端也可以直接拒绝对所述第二指令对应的第二操作授权,
无需再对判断是否符合其他规则。
[0275] 此后,上述的数字钥匙的身份认证方法,还可以包括以下步骤:第一终端向第二终端发送新的业务指令,其中,新的业务指令包括第二指令。
[0276] 需要说明的是,第一终端向第二终端发送新的业务指令时,可以循环发送一次或者多次,本申请对此不作限定。
[0277] 举例来说,在数字钥匙作为车钥匙的应用场景中,第一终端为车辆,第二终端为手机,当前手机处于关机状态。业务指令包括第一指令和第二指令。第一指令对应的业务操作
为第一操作“开锁”,第二指令对应的业务操作为第二操作“启动发动机”。安全策略采用前
述安全策略12。
[0278] 在车辆验证手机发送过来的业务响应消息成功之后,首先判断用户身份认证结果是否符合第一规则中的子规则b。假设用户身份认证信息中的用户身份认证结果为“未完
成”,符合子规则b,因此车辆对“开锁”这一业务操作授权,并拒绝对“启动发动机”这一业务
操作授权。实际上,此处是否对“开锁”这一业务操作授权,不依赖于用户身份认证结果。无
论用户身份认证结果是“通过”、“不通过”还是“未完成”,均可以对“开锁”这一业务操作授
权。但在用户身份认证结果为“不通过”或者“未完成”时,可以直接拒绝对“启动发动机”这
一业务操作授权,无需再考虑“启动发动机”这一业务操作原本对应的安全策略。然后,车辆
向手机发送一个新的业务指令,新的业务指令中不再包括关于“开锁”的指令,即第一指令,
仅包括关于“启动发动机”指令,即第二指令。由于车锁已经打开,用户可以先行进入车内,
为手机充电。待用户重新开启手机进入到正常电量模式,此时用户就可以在开机状态下实
时完成用户身份认证。车辆向手机发送一次新的业务指令,在得到满足授权第二操作预设
安全策略的业务响应消息后,车辆对“启动发动机”这一业务操作授权之后,车辆发动机启
动,用户可以驾驶车辆。
[0279] 应理解,上述的安全策略1‑12仅为本申请中数字钥匙的身份认证方法中能够适用的几个例子,本领域技术人员还可以根据应用场景的不同,对前述的五种规则进行其他组
合,或者将这五种规则与其他规则一起组合,形成其他的安全策略。甚至,只要几种安全策
略之间不冲突,还可以将几种安全策略进行组合。
[0280] 应理解,在上述安全策略中,业务指令包括多个指令的情况,为便于理解,仅以包括第一指令和第二指令的情况来说明。在实际应用过程中,业务指令中还可以包括更多的
指令。是否对其中某一个业务指令对应的业务操作授权,可以由一个或多个规则来决定。
[0281] 还应理解,当本申请的第二终端处于非预设运行状态时,如果接收到第一终端发送的业务指令,第二终端也可以响应于该业务指令,生成业务响应消息。此时,业务响应消
息中也可以包括前述的用户身份认证结果、第一时间戳等内容。此时的用户身份认证结果,
可以是第二终端实时对用户进行身份认证而生成的,也可以是此前存储在安全单元中的。
第一终端在接收到业务响应消息之后,可以采用第一密钥对业务响应消息进行验证,并采
用前述可能的安全策略,例如安全策略1、安全策略4等,进一步进行风险判断,从而提高数
字钥匙的使用安全性。
[0282] 可选地,在上述的身份认证方法中,第二终端还可以执行以下步骤:
[0283] S107:在第二终端从预设运行状态切换至非预设运行状态之后,第二终端对用户身份认证信息做失效处理。
[0284] 或者,第二终端还可以执行以下步骤:
[0285] S108:在将用户身份认证信息存储到安全单元之前,第二终端对存储在安全单元中的原用户身份认证信息做失效处理。
[0286] 每一次第二终端从非预设运行状态进入到预设运行状态时,都被要求进行一次身份认证。因此,每一次用户使用数字钥匙,无论身份认证结果如何,在安全单元中都会存储
一个用户身份认证信息。为了避免以往的旧的用户身份认证信息对后续写入到安全单元中
的最新的用户身份认证信息造成干扰,故而可以在下一次第二终端从预设运行状态切换至
非预设运行状态时,对存储在安全单元中的这些用户身份认证信息做失效处理。或者,在下
一次第二终端从非预设运行状态切换至预设运行状态的过程中,在将最新的用户身份认证
信息存储到安全单元之前,将存储在安全单元中的这些旧的用户身份认证信息做失效处
理。
[0287] 在做失效处理的一种实现方式中,可以将存储在安全单元中的数字钥匙小程序或者代理小程序中的用户身份认证信息删除。在做失效处理的另一种实现方式中,可以将此
前存储在安全单元中的用户身份认证信息标记为失效。通过做失效处理,可以确保每一次
第二终端从非预设运行状态切换至预设运行状态之后,安全单元中都均保存有一个最新的
有效的用户身份认证信息。
[0288] 此外,服务器也可以对原用户身份认证信息做失效处理。服务器还可以向第一终端发送告知信息,例如“手机已重新上线”、“用户身份认证信息失效”等,以告知用户原用户
身份认证信息已失效。
[0289] 在本申请的第二个实施例中,提供一种终端设备,该终端设备可以应用在多种不同的场景中,例如可以应用于车辆、POS机、交通刷卡机、门禁系统等。请参见图8,图8为该终
端设备的一种实现方式的结构示意图。该终端设备300包括:第一收发器320以及一个或多
个处理器310。
[0290] 第一收发器320,用于向第二终端发送业务指令;以及,接收所述第二终端发送的业务响应消息。在实际应用时,第一收发器320可以是NFC通信模块,也可以是蓝牙模块、UWB
模块等。
[0291] 处理器310,用于采用第一密钥对所述业务响应消息验证通过后,得到用户身份认证信息;以及,验证所述用户身份认证信息;其中,所述第一密钥为所述第二终端与所述终
端设备300预先约定的密钥;所述用户身份认证信息存储于第二终端的安全单元中,所述用
户身份认证信息包括用户身份认证结果,所述用户身份认证结果由所述第二终端的身份认
证系统在所述第二终端进入预设运行状态之前生成,所述预设运行状态是指所述第二终端
的身份认证系统无法生成身份认证结果的状态。
[0292] 在实际应用时,处理器310可以利用各种接口和线路连接整个终端设备300的各个部分。所述处理器310可以是中央处理器(central processing unit,CPU),网络处理器
(network processor,NP)或者CPU和NP的组合。所述处理器还可以进一步包括硬件芯片。上
述硬件芯片可以是专用集成电路(application‑specific integrated circuit,ASIC),可
编程逻辑器件(programmable logic device,PLD)或其组合。上述PLD可以是复杂可编程逻
辑器件(complex programmable logic device,CPLD),现场可编程逻辑门阵列(field‑
programmable gate array,FPGA),通用阵列逻辑(generic array logic,简称GAL)或其任
意组合。
[0293] 在实际应用时,所述终端设备300中还可以包括存储器,所述存储器存储有一个或多个计算机程序,所述一个或多个计算机程序包括指令。当所述指令被所述一个或多个处
理器310执行时,使得所述终端设备300实现第一个实施例中第一终端所执行的任一种方法
的部分或者全部步骤。存储器可以包括易失性存储器(volatile memory),例如随机存取内
存(random access memory,RAM);还可以包括非易失性存储器(non‑volatile memory),例
如快闪存储器(flash memory),硬盘(hard disk drive,HDD)或固态硬盘(solid‑state 
drive,SSD);存储器还可以包括上述种类的存储器的组合。
[0294] 本实施例中还提供另一种终端设备,该终端设备可以应用在多种不同的场景中,例如可以应用于手机、平板电脑、智能穿戴设备等。请参见图9,图9为该终端设备的一种实
现方式的结构示意图。该终端设备400包括:安全单元410、第二收发器420以及身份认证系
统440。
[0295] 第二收发器420,用于接收来自第一终端的业务指令;以及,在预设运行状态下,响应于所述业务指令,将采用第一密钥处理过的业务响应消息发送给所述第一终端。其中,所
述业务响应消息中包括用户身份认证信息,所述用户身份认证信息包括用户身份认证结
果,所述第一密钥为所述终端设备400与所述第一终端预先约定的密钥。在实际应用时,第
二收发器420可以是NFC通信模块,也可以是蓝牙模块、UWB模块等。第二收发器420能够单独
上电,无论终端设备的主芯片处于正常电量模式下,还是处于关机或者低电量模式下,第二
收发器420均能够单独上电工作。
[0296] 安全单元410,用于存储所述用户身份认证信息以及所述第一密钥。在实际应用中,安全单元可以采用嵌入式安全单元(embedded SE,eSE)、集成到手机主芯片(System on 
Chip,SoC)之中的inSE安全模块,通用集成电路卡安全单元(Universal Integrated 
Circuit Cards Secure Element,UICC SE)等。安全单元410中存储有数字钥匙小程序411,
前述的第一密钥存储在数字钥匙小程序411中。
[0297] 用户身份认证系统440,用于在所述终端设备400进入所述预设运行状态之前生成用户身份认证结果,其中,所述预设运行状态是指所述终端设备的身份认证系统无法生成
身份认证结果的状态。需要说明的是,在终端设备400处于正常电量模式时,用户身份认证
系统440也可以采集用户的密码或者生物特征等,来对用户进行身份认证。
[0298] 可选地,该终端设备400还可以包括数字钥匙服务430。数字钥匙服务430可以分别与身份认证系统440和安全单元410连接。如第一个实施例中所述,数字钥匙服务为终端设
备400提供数字钥匙的管理功能。通过数字钥匙服务430提供的管理界面,用户可以查看数
字钥匙小程序411中所保存的一把或者多把数字钥匙,并对这些数字钥匙进行强制身份认
证配置。数字钥匙服务430能够在用户配置了至少一个强制身份认证的数字钥匙(例如第一
密钥)时,在终端设备400的状态切换流程中增加一次身份认证操作。数字钥匙服务430可以
触发终端设备400中的身份认证流程,利用身份认证系统440来生成用户身份认证结果。可
选地,数字钥匙服务430还可以生成用户界面,以告知用户本次执行的身份认证的用途。可
选地,数字钥匙服务430可以获取用户身份认证结果和第一时间戳,然后将用户身份认证结
果和第一时间戳一起作为用户身份认证信息,共同存储到安全单元410中。
[0299] 此外,本实施例还提供一种计算机可读存储介质,该存储介质中包括指令,当所述指令在计算机上运行时,使得所述计算机执行第一个实施例中第一终端所执行的任一种方
法。
[0300] 本实施例还提供另外一种计算机可读存储介质,包括指令,当所述指令在计算机上运行时,使得所述计算机执行第一个实施例中第二终端所执行的任一种方法。
[0301] 这里的可读存储介质可为磁碟、光盘、DVD、USB、只读存储记忆体(ROM)或随机存储记忆体(RAM)等,本申请对具体的存储介质形式不作限定。
[0302] 此外,本申请实施例还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得所述计算机执行上述第一个实施例中第一终端所执行的任一种方法的步骤,
或者执行第一个实施例中第二终端所执行的任一种方法的步骤。
[0303] 在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序
产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或
部分地产生按照本申请所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计
算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者
从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可
以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线
(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中
心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含
一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性
介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘(solid 
state disk,SSD))等。
[0304] 本实施例中的终端设备以及计算机可读存储介质用于执行第一个实施例中的任一种数字钥匙的身份认证方法的部分或全部步骤,相应地具有前述方法所具有的有益效
果,此处不再赘述。
[0305] 应理解,在本申请的各种实施例中,各步骤的执行顺序应以其功能和内在逻辑确定,各步骤序号的大小并不意味着执行顺序的先后,不对实施例的实施过程构成限定。
[0306] 除非另外说明,本说明书中的“多个”,指的是两个或者两个以上。在本申请的实施例中,采用了“第一”、“第二”等字样对功能和作用基本相同的相同项或相似项进行区分。本
领域技术人员可以理解,“第一”、“第二”等字样并不对数量和执行次序构成限定,并且“第
一”、“第二”等字样也并不限定一定不同。
[0307] 应理解,本说明书中各个实施例之间相同相似的部分互相参见即可。尤其,对于终端设备、计算机可读存储介质的实施例而言,由于其基本相似于方法实施例,所以描述的比
较简单,相关之处参见方法实施例中的说明即可。以上所述的本发明实施方式并不构成对
本发明保护范围的限定。