技术领域
[0001] 本
说明书涉及计算机技术领域,尤其涉及一种业务授权的方法、装置及设备。
背景技术
[0002] 当前,传统基于密码的身份验证方式由于其存在易被遗忘、易被窃取、不便于输入等问题,已逐渐无法满足用户在进行身份验证时的便利性和安全性的需求,而基于指纹、声纹、面部识别等
生物特征的身份验证方式由于其更为安全、更为便捷,已在各种场景中广泛应用。
[0003] 在实际应用中,设备运行的系统中通常包括两种环境,一种是可信
执行环境(Trusted Execution Environment,TEE),一种为安全元件(Secure Element,SE)所提供的执行环境,其中,用于进行业务处理的业务应用通常运行在该TEE中。而用于对用户所要执行的业务进行授权的安全应用则运行在SE中。通常情况下,终端需要对用户输入的待验证生物特征信息进行验证,得到验证结果,该验证结果需要发送至该安全应用进行验证,而只有该安全应用确定该验证结果通过验证后,该安全应用才会对此次业务应用所执行的业务进行授权,进而使得业务应用执行该业务。
[0004] 然而,由于验证结果在从TEE传递至SE的过程中可能会存在被篡改的可能,所以,安全应用如何取信从TEE发来的验证结果则是一个值得考虑的问题。
[0005] 基于
现有技术,需要更为有效的业务授权方式。
发明内容
[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] 图1为本说明书提供的业务授权过程的示意图;
[0052] 图2为本说明书提供的业务应用通过第二执行单元发送的动态参数向第二执行单元
申请业务授权的过程示意图;
[0053] 图3为本说明书提供的通过公钥证书对签名信息进行验证的示意图;
[0054] 图4为本说明书提供的一种业务授权的装置示意图;
[0055] 图5为本说明书提供的一种业务授权的装置示意图;
[0056] 图6为本说明书提供的一种业务授权的装置示意图;
[0057] 图7为本说明书提供的一种业务授权的设备示意图;
[0058] 图8为本说明书提供的一种业务授权的设备示意图;
[0059] 图9为本说明书提供的一种业务授权的设备示意图。
具体实施方式
[0060] 通常情况下,设备运行的系统中通常包括不同的安全环境,而在实际应用中,往往需要通过不同安全环境中执行单元或应用的相互协作,才能完成整个的业务执行过程。具体的,运行于第一安全环境中的业务应用,可以将设备获取到的待验证信息发送给运行在第一安全环境中的第一执行单元,第一执行单元可以对该待验证信息进行验证,并将得到的验证结果发送给运行于第二安全环境中的第二执行单元,第二执行单元可以通过该验证结果,确定是否对业务应用当前执行的业务进行授权。
[0061] 由于第一执行单元和第二执行单元位于不同的安全环境中,所以,通常情况下,运行于第二安全环境的第二执行单元通常无法保证运行于第一安全环境的第一执行单元将对待验证信息进行验证后得到的验证结果发送至第二执行单元的过程中,该验证结果不会被篡改,所以,第二执行单元如何对第一执行单元所发送的验证结果进行取信,则是一个值得考虑的问题。
[0062] 为此,本说明书提供了一种业务授权的方法,在获取到待验证信息后,可将该待验证信息发送至第一执行单元,以使该第一执行单元对该待验证信息进行验证,并将得到的验证结果通过该第一执行单元所保存的验签私钥进行签名,得到签名信息。而后,业务应用可以获取到该第一执行单元所返回的该签名信息,进而该将签名信息发送给第二执行单元,以使该第二执行单元通过该验签私钥所对应的验签公钥,对该签名信息进行验证,并在确定该签名信息验证通过后,根据该验证结果进行业务授权。
[0063] 由于利用非对称加密方式,可以使运行于第二安全环境中的第二执行单元对运行于第一安全环境中的第一执行单元所得到的验证结果进行授信认证,从而使得第二执行单元能够基于第一执行单元所得到的验证结果,确定是否对业务应用所执行的业务进行授权,进而向用户提供了更为安全、有效的身份验证方式。
[0064] 为了使本技术领域的人员更好地理解本说明书一个或多个实施例中的技术方案,下面将结合本说明书一个或多个实施例中的附图,对本说明书一个或多个实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本说明书一部分实施例,而不是全部的实施例。基于本说明书中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本说明书保护的范围。
[0065] 图1为本说明书提供的业务授权过程的示意图,具体包括以下步骤:
[0066] S100:获取待验证信息,并将所述待验证信息发送给所述第一执行单元进行验证。
[0067] 在本说明书中,用户在执行业务时,可以将需要进行身份验证的待验证信息输入到设备中业务应用,以使该业务应用通过该设备中的第一执行单元对该待验证信息进行验证。其中,这里提到的设备可以是诸如智能手机、
平板电脑等移动终端设备。而这里提到的待验证信息可以是指诸如指纹、声纹、面部信息等待验证生物特征信息,也可以是指字符形式的待验证信息。当然,设备也可通过预设的
接口,将采集到的待验证信息直接发送给第一执行单元。
[0068] 第一执行单元在获取到该待验证信息后,可以对其进行验证,并得到相应的验证结果。例如,第一执行单元在获取到待验证指纹后,可以将该待验证指纹与预先保存的用户的指纹信息进行匹配,并根据匹配结果,确定用户是否通过指纹验证。
[0069] 需要说明的是,在本说明书中,第一安全环境可以是指TEE,运行于第一安全环境中的第一执行单元可以是指用于进行信息验证的模块,该模块可以是
软件的形式,也可以是
硬件的形式。第二安全环境可以是指SE所提供的执行环境,相应的,第二执行单元可以是指运行在SE中的安全应用。
[0070] S102:接收所述第一执行单元返回的通过验签私钥对验证结果进行签名得到的签名信息。
[0071] 第一执行单元对该待验证信息进行验证后,可将得到的验证结果通过自己所保存的验签私钥进行签名,得到的相应的签名信息,并在后续的过程中,将该签名信息返回给业务应用。
[0072] 在本说明书中,第一执行单元可以从该第一执行单元所对应的第一管理
服务器获取到用于对验证结果进行签名的验签私钥。其中,该第一管理服务器可以针对该第一执行单元,生成唯一的一对验签私钥和验签公钥,并将该验签私钥下发至该第一执行单元中。而该验签公钥则可由该第一管理服务器发送给第二执行单元所对应的第二管理服务器中,以通过该第二管理服务器,将该验签公钥发送至第二执行单元,以在后续过程中,使该第二执行单元通过该验签公钥对第一执行单元所生成的签名信息进行验证。
[0073] 在本说明书中,第一执行单元可以将得到的签名信息返回给该业务应用,以使该业务应用在后续将该签名信息发送给第二执行单元进行验证。其中,第一执行单元需要通过该业务应用将该签名信息发送给第二执行单元的原因在于,由于第一执行单元和第二执行单元位于不同的安全环境中,且,第二执行单元未对该第一执行单元进行
访问授权,所以,通常情况下,第一执行单元是无法向运行于第二安全环境中的第二执行单元发送信息的。而由于第二执行单元需要对业务应用所执行的业务进行授权,所以,通常第二执行单元会对业务应用进行访问授权,允许业务应用向该第二执行单元进行访问。基于此,第一执行单元需要通过业务应用,将该签名信息发送给该第二执行单元。
[0074] S104:将所述签名信息发送给所述第二执行单元,以使所述第二执行单元通过所述验签私钥对应的验签公钥,对所述签名信息进行验证,并在确定所述签名信息验证通过后,根据所述验证结果进行业务授权。
[0075] 业务应用可将第一执行单元返回的签名信息发送给运行于第二安全环境中的第二执行单元,该第二执行单元可以通过获取到的验签公钥,对该签名信息进行验证,进而在确定该签名信息通过验证后,可以通过解析出的验证结果,确定是否对该业务应用所执行的业务进行授权。
[0076] 从上述方法中可以看出,运行于第一安全环境中的第一执行单元可以对获取到的待验证信息进行验证,将得到的验证结果通过保存的验签私钥进行签名,进而将得到的签名信息通过业务应用发送给运行在第二安全环境中的第二执行单元,第二执行单元可以通过该验签私钥对应的验签公钥对该签名信息进行验证,并在确定该签名信息验证通过后,根据该验证结果进行业务授权。换句话说,利用非对称加密方式,可以使运行于第二安全环境中的第二执行单元对运行在第一安全环境中的第一执行单元所得到的验证结果进行授信认证,从而使得第二执行单元能够基于第一执行单元所得到的验证结果,确定是否对业务应用所执行的业务进行授权,进而向用户提供了更为安全、有效的身份验证方式。
[0077] 在上述说明的业务授权过程中,用户所使用的设备可能会面临重放攻击的可能,即,不法份子获取到验证通过的验证结果后,可以通过该验证结果不断的向第二执行单元申请业务授权,从而可能导致用户的信息或财产遭到损失。
[0078] 为了防止上述情况的发生,业务应用可以从该第二执行单元获取到由该第二执行单元生成的动态参数,并将该动态参数发送给第一执行单元,以使该第一执行单元对该动态参数以及得到的验证结果一并进行签名,得到签名信息,如图2所示。
[0079] 图2为本说明书提供的业务应用通过第二执行单元发送的动态参数向第二执行单元申请业务授权的过程示意图。
[0080] 在图2中,业务应用可以访问运行于第二安全环境的第二执行单元,以获取到诸如随机数、时间信息等动态参数,其中,该动态参数可以由第二执行单元生成并在该第二执行单元中保存设定时间,在到达设定时间后,该第二执行单元可以将该动态参数删除。这里可以理解成,该第二执行单元对生成的动态参数设置了一个有效时间,即,业务应用只有在该有效时间内将第一执行单元对动态参数以及验证结果进行签名后得到的签名信息发送至第二执行单元中,第二执行单元才可以通过保存的动态参数对从该签名信息中解析出的动态参数进行验证,而一旦超过该有效时间,该动态参数将被作废,这样,从该签名信息中解析出的动态参数将无法通过第二执行单元的验证。
[0081] 第一执行单元可以对业务应用发送的待验证信息进行验证,得到相应的验证结果,并通过保存的验签私钥,对该验证结果以及获取到的动态参数进行签名,得到签名信息。
[0082] 第一执行单元可以将得到的签名信息返回给业务应用,由该业务应用将该签名信息发送给第二执行单元。第二执行单元可以通过从第二管理服务器获取到的验签公钥对该签名信息进行验证,并在确定该签名信息通过验证后,根据预先保存的动态参数对从该签名信息解析出的动态参数进行验证,即,对解析出的动态参数与保存的动态参数进行比对,确定两者是否一致,一致时,确定解析出的动态参数通过验证,不一致时,确定解析出的动态参数未通过验证。在确定该动态参数通过验证后,则可以根据从该签名信息中解析出的验证结果,确定是否对业务应用所执行的业务进行授权。
[0083] 其中,这里提到的验签公钥以及验签私钥是由第一执行单元所对应的第一管理服务器生成的,该第一管理服务器可以将生成的验签私钥发送给第一执行单元进行保存,并将该验签公钥通过通过第二执行单元所对应的第二管理服务器下发给第二执行单元。
[0084] 由于在每次业务执行过程中,业务应用向第二执行单元获取的动态参数均不相同,所以,即使不法份子利用某一次验证通过的验证结果,也无法通过重放攻击的方式,不断向第二执行单元申请业务授权,从而保证了用户的信息以及财产的安全。
[0085] 需要说明的是,第一管理服务器可以针对不同的第一执行单元,生成唯一的一对验签密钥对,也可以针对一个批次的第一执行单元,生成这一批次第一执行单元所需的验签密钥对。换句话说,第一管理服务器可以针对每一个设备,生成唯一对应该设备的一对验签密钥对,也可以针对一批次的设备,生成对应这一批次设备的一对验签密钥对。
[0086] 在本说明书中,业务应用从第二执行单元获取上述动态参数的时机可以有很多,例如,业务应用可以先从第二执行单元中获取该动态参数,而后再将该动态参数和获取到的待验证信息发送给第一执行单元,也可以先将该待验证信息发送给第一执行单元,而后再从第二执行单元获取该动态参数并发送给第一执行单元。
[0087] 在本说明书中,第一管理服务器生成的验签公钥可以发送至证书授权(Certificate Authority,CA)中心进行公证,并得到相应的公钥证书,而后续第二执行单元可以通过该公钥证书,对业务应用发送的签名信息进行验证,如图3所示。
[0088] 图3为本说明书提供的通过公钥证书对签名信息进行验证的示意图。
[0089] 第一执行单元所对应的第一管理服务器在生成一对验签密钥对后,可以将该验签密钥对中的验签公钥发送至CA中心进行公证,该CA中心可以根据该验签公钥以及其他信息(如申请对该验签公钥进行公证的
申请人的信息、时间信息等),生成被自己所保存的CA私钥进行签名的公钥证书。而后,CA中心可以将该公钥证书通过第一管理服务器发送给第一执行单元进行保存,同时将该CA私钥所对应的CA公钥通过第二管理服务器发送给第二执行单元进行保存。
[0090] 这样一来,第一执行单元生成签名信息后,可以将该签名信息以及公钥证书通过业务应用发送给第二执行单元,第二执行单元可以通过获取到的CA公钥,对该公钥证书进行验证,并通过从该公钥证书解析出的验签公钥,对该签名信息进行验证。在确定该签名信息验证通过后,进一步对从该签名信息中解析出的动态参数进行验证,并在确定该动态参数通过验证后,根据从该签名信息解析出的验证结果,确定是否对业务应用当前所执行的业务进行授权。
[0091] 在本说明书中,第一执行单元可以在确定业务应用发送的待验证信息通过验证后,对获取到的动态参数进行签名,得到相应的签名信息。而第二执行单元通过业务应用接收到该签名信息时,则可以确定先前的待验证信息已通过第一执行单元的验证,进而在确定从该签名信息中解析出的动态参数通过验证时,可以对该业务应用当前所执行的业务进行授权。
[0092] 在本说明书中,业务应用可以通过该业务应用在第一安全环境中运行时所能提供的界面,将从第一执行单元获取到的签名信息等数据展示给用户。同理,第一执行单元也可以通过该第一执行单元在第一安全环境中运行时所能提供的界面,将对该待验证信息进行验证后的验证结果进行展示,以使用户可以对该验证结果进行查看。
[0093] 从上述方法中可以看出,通过非对称加密方式,可以使运行于第二安全环境中的第二执行单元对运行在第一安全环境中的第一执行单元所得到的验证结果进行授信认证,从而使得第二执行单元能够基于第一执行单元所得到的验证结果,确定是否对业务应用所执行的业务进行授权。
[0094] 并且通过上述方式,第二执行单元可以授信第一执行单元所进行的生物识别验证,这样一来,对于需要两个不同安全环境相互协作完成的业务来说,用户可以通过生物识别这种简单、易操作的身份验证方式,进行身份验证,从而给用户在业务执行的过程中,带来了良好的用户体验。
[0095] 以上为本说明书的一个或多个实施例提供的业务授权方法,基于同样的思路,本说明书还提供了相应的业务授权的装置,如图4、5、6所示。
[0096] 图4为本说明书提供的一种业务授权的装置示意图,具体包括:
[0097] 获取模块401,获取待验证信息,并将所述待验证信息发送给所述第一执行单元进行验证;
[0098] 接收模块402,接收所述第一执行单元返回的通过验签私钥对验证结果进行签名得到的签名信息;
[0099] 发送模块403,将所述签名信息发送给所述第二执行单元,以使所述第二执行单元通过所述验签私钥对应的验签公钥,对所述签名信息进行验证,并在确定所述签名信息验证通过后,根据所述验证结果进行业务授权。
[0100] 所述第一安全环境包括:可信执行环境TEE;所述第二安全环境包括:安全元件SE提供的执行环境。
[0101] 所述待验证信息包括:待验证生物特征信息。
[0102] 所述获取模块401,获取所述第二执行单元发送的动态参数,所述动态参数包括:随机数、时间信息中的至少一种;将所述动态参数发送给所述第一执行单元,使所述第一执行单元通过所述验签私钥对所述验证结果和所述动态参数进行签名。
[0103] 图5为本说明书提供的一种业务授权的装置示意图,具体包括:
[0104] 接收模块501,接收业务应用发送的待验证信息;
[0105] 验证模块502,对所述待验证信息进行验证,并将得到的验证结果通过保存的验签私钥进行签名,得到签名信息;
[0106] 发送模块503,将所述签名信息通过所述业务应用发送给所述第二执行单元,以使所述第二执行单元通过所述验签私钥对应的验签公钥,对所述签名信息进行验证,并在所述签名信息验证通过后,根据所述验证结果进行业务授权。
[0107] 所述业务应用在所述第一安全环境中运行。
[0108] 所述接收模块501,接收所述第二执行单元通过所述业务应用发送的动态参数。
[0109] 所述验证模块502,将所述验证结果以及所述动态参数通过所述验签私钥进行签名,得到签名信息。
[0110] 所述装置还包括:
[0111] 获取模块504,从所述装置对应的第一管理服务器,获取所述验签私钥。
[0112] 所述获取模块504,从所述第一管理服务器获取所述验签公钥的公钥证书,所述公钥证书是所述第一管理服务器从证书授权CA中心获取到的,所述公钥证书是所述CA中心根据保存的CA私钥对所述验签公钥进行认证后得到的。
[0113] 所述发送模块503,将所述公钥证书以及所述签名信息通过所述业务应用发送给所述第二执行单元,以使所述第二执行单元通过从所述CA中心获取到的CA公钥,对所述公钥证书进行验证,并在确定所述公钥证书验证通过后,通过从所述公钥证书中解析出的验签公钥,对所述签名信息进行验证。
[0114] 图6为本说明书提供的一种业务授权的装置示意图,具体包括:
[0115] 获取模块601,获取所述第一执行单元通过业务应用发送的签名信息,所述签名信息是所述第一执行单元通过验签私钥对验证结果进行签名后得到的,所述验证结果是所述第一执行单元对所述业务应用发送的待验证信息进行验证后得到的;
[0116] 验证模块602,通过所述验签私钥对应的验签公钥,对所述签名信息进行验证,并在确定所述签名信息通过验证后,根据从所述签名信息中解析出的所述验证结果进行业务授权。
[0117] 所述验签公钥是所述装置通过所述装置对应的第二管理服务器,从所述第一执行单元对应的第一管理服务器获取到的。
[0118] 所述获取模块601,通过所述装置对应的第二管理服务器,从证书授权CA中心获取CA公钥。
[0119] 所述验证模块602,通过所述CA公钥,对从所述业务应用发送的公钥证书进行验证,所述公钥证书是所述CA中心根据所述CA公钥对应的CA私钥对所述验签公钥进行认证后得到的,所述公钥证书是所述业务应用从所述第一执行单元获取到的,所述公钥证书是所述第一执行单元通过所述第一执行单元对应的第一管理服务器从所述CA中心获取到的;当确定所述公钥证书通过验证后,通过从所述公钥证书中解析出的验签公钥,对所述签名信息进行验证,并在确定所述签名信息通过验证后,根据从所述签名信息中解析出的所述验证结果进行业务授权。
[0120] 所述装置还包括:
[0121] 发送模块603,发送动态参数至所述业务应用,以使所述第一执行单元通过所述验签私钥,对所述验证结果以及从所述业务应用获取到的所述动态参数进行签名,得到签名信息。
[0122] 所述验证模块602,通过所述CA公钥,对所述公钥证书进行验证;当确定所述公钥证书通过验证后,通过从所述公钥证书中解析出的验签公钥,对所述签名信息进行验证;当确定所述签名信息通过验证后,对从所述签名信息中解析出的动态参数进行验证,并在确定所述动态参数通过验证后,根据从所述签名信息中解析出的所述验证结果进行业务授权。
[0123] 基于上述说明的业务授权的方法,本说明书还对应提供了一种用于业务授权的设备,如图7所示。该设备包括一个或多个存储器以及处理器,所述存储器存储程序,并且被配置成由所述一个或多个处理器执行以下步骤:
[0124] 获取待验证信息,并将所述待验证信息发送给第一执行单元进行验证,其中,所述第一执行单元在所述设备的系统包括的第一安全环境中运行;
[0125] 接收所述第一执行单元返回的通过验签私钥对验证结果进行签名得到的签名信息;
[0126] 将所述签名信息发送给第二执行单元,以使所述第二执行单元通过所述验签私钥对应的验签公钥,对所述签名信息进行验证,并在确定所述签名信息验证通过后,根据所述验证结果进行业务授权,其中,所述第二执行单元在所述设备的系统包括的第二安全环境中运行。
[0127] 基于上述说明的业务授权的方法,本说明书还对应提供了一种用于业务授权的设备,如图8所示。该设备包括一个或多个存储器以及处理器,所述存储器存储程序,并且被配置成由所述一个或多个处理器执行以下步骤:
[0128] 第一执行单元接收业务应用发送的待验证信息,其中,所述第一执行单元在所述设备的系统包括的第一安全环境中运行;
[0129] 对所述待验证信息进行验证,并将得到的验证结果通过保存的验签私钥进行签名,得到签名信息;
[0130] 将所述签名信息通过所述业务应用发送给第二执行单元,以使所述第二执行单元通过所述验签私钥对应的验签公钥,对所述签名信息进行验证,并在所述签名信息验证通过后,根据所述验证结果进行业务授权,其中,所述第二执行单元在所述设备的系统包括的第二安全环境中运行。
[0131] 基于上述说明的业务授权的方法,本说明书还对应提供了一种用于业务授权的设备,如图9所示。该设备包括一个或多个存储器以及处理器,所述存储器存储程序,并且被配置成由所述一个或多个处理器执行以下步骤:
[0132] 第二执行单元获取第一执行单元通过业务应用发送的签名信息,所述签名信息是所述第一执行单元通过验签私钥对验证结果进行签名后得到的,所述验证结果是所述第一执行单元对所述业务应用发送的待验证信息进行验证后得到的,其中,所述第一执行单元在所述设备的系统包括的第一安全环境中运行,所述第二执行单元在所述设备的系统包括的第二安全环境中运行;
[0133] 通过所述验签私钥对应的验签公钥,对所述签名信息进行验证,并在确定所述签名信息通过验证后,根据从所述签名信息中解析出的所述验证结果进行业务授权。
[0134] 在本说明书的一个或多个实施例中,在获取到待验证信息后,可将该待验证信息发送至第一执行单元,以使该第一执行单元对该待验证信息进行验证,并将得到的验证结果通过该第一执行单元所保存的验签私钥进行签名,得到签名信息。而后,业务应用可以获取到该第一执行单元所返回的该签名信息,进而该将签名信息发送给第二执行单元,以使该第二执行单元通过该验签私钥所对应的验签公钥,对该签名信息进行验证,并在确定该签名信息验证通过后,根据该验证结果进行业务授权。
[0135] 由于利用非对称加密方式,可以使运行于第二安全环境中的第二执行单元对运行于第一安全环境中的第一执行单元所得到的验证结果进行授信认证,从而使得第二执行单元能够基于第一执行单元所得到的验证结果,确定是否对业务应用所执行的业务进行授权,进而向用户提供了更为安全、有效的身份验证方式。
[0136] 在20世纪90年代,对于一个技术的改进可以很明显地区分是硬件上的改进(例如,对
二极管、晶体管、
开关等
电路结构的改进)还是软件上的改进(对于方法流程的改进)。然而,随着技术的发展,当今的很多方法流程的改进已经可以视为硬件电路结构的直接改进。设计人员几乎都通过将改进的方法流程编程到硬件电路中来得到相应的硬件电路结构。因此,不能说一个方法流程的改进就不能用硬件实
体模块来实现。例如,
可编程逻辑器件(Programmable Logic Device,PLD)(例如现场可编程
门阵列(Field Programmable Gate Array,FPGA))就是这样一种集成电路,其逻辑功能由用户对器件编程来确定。由设计人员自行编程来把一个数字系统“集成”在一片PLD上,而不需要请芯片制造厂商来设计和制作专用的集成电路芯片。而且,如今,取代手工地制作集成电路芯片,这种编程也多半改用“逻辑编译器(logic compiler)”软件来实现,它与程序开发撰写时所用的软件编译器相类似,而要编译之前的原始代码也得用特定的编程语言来撰写,此称之为硬件描述语言(Hardware Description Language,HDL),而HDL也并非仅有一种,而是有许多种,如ABEL(Advanced Boolean Expression Language)、AHDL(Altera Hardware Description Language)、Confluence、CUPL(Cornell University Programming Language)、HDCal、JHDL(Java Hardware Description Language)、Lava、Lola、MyHDL、PALASM、RHDL(Ruby Hardware Description Language)等,目前最普遍使用的是VHDL(Very-High-Speed Integrated Circuit Hardware Description Language)与Verilog。本领域技术人员也应该清楚,只需要将方法流程用上述几种硬件描述语言稍作逻辑编程并编程到集成电路中,就可以很容易得到实现该逻辑方法流程的硬件电路。
[0137]
控制器可以按任何适当的方式实现,例如,控制器可以采取例如
微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或
固件)的计算机可读介质、
逻辑门、开关、
专用集成电路(Application Specific Integrated Circuit,ASIC)、可编程逻辑控制器和嵌入
微控制器的形式,控制器的例子包括但不限于以下微控制器:ARC 625D、Atmel AT91SAM、Microchip PIC18F26K20以及Silicone Labs C8051F320,存储器控制器还可以被实现为存储器的控制逻辑的一部分。本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是一种硬件部件,而对其内包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的
软件模块又可以是硬件部件内的结构。
[0138] 上述实施例阐明的系统、装置、模块或单元,具体可以由计算
机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、
个人数字助理、媒体播放器、导航设备、
电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。
[0139] 为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本说明书时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
[0140] 本领域内的技术人员应明白,本说明书的实施例可提供为方法、系统、或
计算机程序产品。因此,本说明书可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本说明书可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
[0141] 本说明书是参照根据本说明书一个或多个实施例的方法、设备(系统)、和计算机程序产品的
流程图和/或方
框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程
数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中
指定的功能的装置。
[0142] 这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0143] 这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0144] 在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
[0145] 内存可能包括计算机可读介质中的非永久性存储器,
随机存取存储器(RAM)和/或非易失性内存等形式,如
只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
[0146] 计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于
相变内存(PRAM)、静态随机存取存储器(SRAM)、
动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、
电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他
磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据
信号和载波。
[0147] 还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
[0148] 本说明书可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本说明书的一个或多个实施例,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
[0149] 本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
[0150] 上述对本说明书特定实施例进行了描述。其它实施例在所附
权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
[0151] 以上所述仅为本说明书的一个或多个实施例而已,并不用于限制本说明书。对于本领域技术人员来说,本说明书的一个或多个实施例可以有各种更改和变化。凡在本说明书的一个或多个实施例的精神和原理之内所作的任何
修改、等同替换、改进等,均应包含在本说明书的权利要求范围之内。