一种基于安全元件SE的身份认证方法和装置
本申请是于2017年8月31号递交、申请号为201710773299.8,发明创造名称是“一种基于安全元件SE的身份认证方法”的分案申请。
技术领域
本公开涉及计算机技术领域,特别涉及一种基于安全元件(Secure Element,SE)的身份认证方法和装置。
背景技术
在互联网业务中,很多业务对安全性要求较高,例如互联网金融业务。为了保证数据安全,传统方式中在PC端可以使用U盾,U盾中存储数字证书,来保证数据传输的安全性。随着移动互联网的发展,用户也开始在移动终端(例如,智能手机)上进行安全业务,如何保证移动端的数据传输安全也非常重要。
现有技术中,很多终端设备都内置了安全元件SE,可以将数字证书存储在SE中。数字证书向SE下发时,通常可以先对SE进行辅助安全域(Supplementary Security Domain,SSD)的划分,安装安全应用applet,并申请和安装数字证书。
发明内容
有鉴于此,本说明书一个或多个实施例提供一种基于安全元件SE的身份认证方法和装置,目的是降低身份认证对业务的影响。
具体地,本说明书一个或多个实施例是通过如下技术方案实现的:
第一方面,提供一种基于安全元件SE的身份认证方法,所述方法包括:
接收客户端发送的SE初始化请求,所述初始化请求用于请求为所述客户端侧的业务分配SE中的安全环境;
根据所述初始化请求,向SE提供商可信服务管理平台SEI TSM请求为所述业务分配所述SE中的辅助安全域SSD作为所述安全环境;
接收所述SEI TSM返回的初始化指令,并将所述初始化指令返回至所述客户端,以使得所述客户端根据所述初始化指令进行SE中的SSD划分;
接收对于划分成功的所述SSD的秘钥更新请求,并向SEI TSM请求秘钥;
使用所述SEI TSM分配的秘钥加密业务的安全应用,并将所述安全应用下发至客户端,以使得所述客户端将安全应用安装在所述SSD。
第二方面,提供一种基于安全元件SE的身份认证方法,所述方法由客户端执行,所述客户端包括:调用接口模块、认证客户端模块和安全元件SE,所述认证客户端模块和SE位于所述客户端的可信执行环境TEE中,所述方法包括:
所述调用接口模块在检测到业务请求分配SE中的安全环境时,向服务端发送SE初始化请求,所述初始化请求用于触发所述服务端向SEI TSM请求为所述业务分配SE中的辅助安全域SSD;
所述调用接口模块接收所述服务端返回的初始化指令,所述初始化指令由所述SEI TSM返回至所述服务端,并将所述初始化指令通过非可信环境访问SE的OMA通道发送至所述SE,以使得所述SE根据所述初始化指令为所述业务划分SSD;
所述调用接口模块向所述服务端发送对于划分成功的所述SSD的秘钥更新请求,以使得所述服务端向所述SEI TSM请求秘钥;
所述调用接口模块接收所述服务端发送的使用所述SEI TSM分配的秘钥加密的业务的安全应用,并将安全应用通过OMA通道下发至SSD中安装。
第三方面,提供一种基于安全元件SE的身份认证装置,所述装置包括:
请求接收单元,用于接收客户端发送的SE初始化请求,所述初始化请求用于请求为所述客户端侧的业务分配SE中的安全环境;
初始化请求单元,用于根据所述初始化请求,向SEI TSM请求为所述业务分配所述SE中的辅助安全域SSD作为所述安全环境;
指令反馈单元,用于接收所述SEI TSM返回的初始化指令,并将所述初始化指令返回至所述客户端,以使得所述客户端根据所述初始化指令进行SE中的SSD划分;
秘钥更新单元,用于接收对于划分成功的所述SSD的秘钥更新请求,并向SEI TSM请求秘钥;
应用下发单元,用于使用所述SEI TSM分配的秘钥加密业务的安全应用,并将所述安全应用下发至客户端,以使得所述客户端将安全应用安装在所述SSD。
第四方面,提供一种基于安全元件SE的身份认证装置,所述装置包括:调用接口模块、认证客户端模块和安全元件SE,所述认证客户端模块和SE位于TEE中;所述调用接口模块包括:初始化请求单元,指令转发单元、秘钥请求单元和应用接收单元;
所述初始化请求单元,用于在检测到业务请求分配SE中的安全环境时,向服务端发送SE初始化请求,所述初始化请求用于触发所述服务端向SEI TSM请求为所述业务分配SE中的辅助安全域SSD;
所述指令转发单元,用于接收所述服务端返回的初始化指令,所述初始化指令由所述SEI TSM返回至所述服务端,并将所述初始化指令通过非可信环境访问SE的OMA通道发送至所述SE,以使得所述SE根据所述初始化指令为所述业务划分SSD;
所述秘钥请求单元,用于向所述服务端发送对于划分成功的所述SSD的秘钥更新请求,以使得所述服务端向所述SEI TSM请求秘钥;
所述应用接收单元,用于接收所述服务端发送的使用所述SEI TSM分配的秘钥加密的业务的安全应用,并将安全应用通过OMA通道下发至SSD中安装。
第五方面,提供一种身份认证设备,所述设备包括存储器、处理器,以及存储在存储器上并可在处理器上运行的计算机指令,所述处理器执行指令时实现以下步骤:
接收客户端发送的SE初始化请求,所述初始化请求用于请求为所述客户端侧的业务分配SE中的安全环境;
根据所述初始化请求,向SE提供商可信服务管理平台SEI TSM请求为所述业务分配所述SE中的辅助安全域SSD作为所述安全环境;
接收所述SEI TSM返回的初始化指令,并将所述初始化指令返回至所述客户端,以使得所述客户端根据所述初始化指令进行SE中的SSD划分;
接收对于划分成功的所述SSD的秘钥更新请求,并向SEI TSM请求秘钥;
使用所述SEI TSM分配的秘钥加密业务的安全应用,并将所述安全应用下发至客户端,以使得所述客户端将安全应用安装在所述SSD。
第六方面,提供一种身份认证设备,所述设备包括存储器、处理器,以及存储在存储器上并可在处理器上运行的计算机指令,所述处理器执行指令时实现以下步骤:
在检测到业务请求分配SE中的安全环境时,向服务端发送SE初始化请求,所述初始化请求用于触发所述服务端向SEI TSM请求为所述业务分配SE中的辅助安全域SSD;
接收所述服务端返回的初始化指令,所述初始化指令由所述SEI TSM返回至所述服务端,并将所述初始化指令通过非可信环境访问SE的OMA通道发送至所述SE,以使得所述SE根据所述初始化指令为所述业务划分SSD;
向所述服务端发送对于划分成功的所述SSD的秘钥更新请求,以使得所述服务端向所述SEI TSM请求秘钥;
接收所述服务端发送的使用所述SEI TSM分配的秘钥加密的业务的安全应用,并将安全应用通过OMA通道下发至SSD中安装。
本说明书一个或多个实施例的基于安全元件SE的身份认证方法和装置,通过由对业务认证的服务端根据客户端的初始化请求,来向SEI TSM请求进行SE初始化,使得对SE的初始化流程都经过该服务端转发执行,该方式使得有助于第三方业务方便的控制业务流量,避免由于大量请求造成对SEI TSM侧的较大压力导致的初始化失败,使得SE安全环境能够顺利完成初始化,从而降低了身份认证对业务的影响,为后续的业务执行做好准备。
附图说明
为了更清楚地说明本说明书一个或多个实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书一个或多个实施例中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本说明书一个或多个实施例提供的基于SE的身份认证方法的应用系统架构图;
图2为本说明书一个或多个实施例提供的安全环境初始化的流程图;
图3为本说明书一个或多个实施例提供的数字证书申请的流程图;
图4为本说明书一个或多个实施例提供的数字证书使用的流程图;
图5为本说明书一个或多个实施例提供的基于SE的身份认证装置的结构图;
图6为本说明书一个或多个实施例提供的基于SE的身份认证装置的结构图;
图7为本说明书一个或多个实施例提供的基于SE的身份认证装置的结构图;
图8为本说明书一个或多个实施例提供的基于SE的身份认证装置的结构图;
图9为本说明书一个或多个实施例提供的基于SE的身份认证装置的结构图。
具体实施方式
为了使本技术领域的人员更好地理解本说明书一个或多个实施例中的技术方案,下面将结合本说明书一个或多个实施例中的附图,对本说明书一个或多个实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是一部分实施例,而不是全部的实施例。基于本说明书一个或多个实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
对于在移动终端上执行的业务,为了保证业务运行中的数据传输安全,可以使用数字证书进行签名。当前,很多移动终端上都具有安全元件SE,SE通常以芯片形式提供,为防止外部恶意解析攻击,保护数据安全,通常在芯片中具有加密/解密逻辑电路。上述的数字证书可以存储在SE中。
以运行在移动终端的某一个业务为例,该业务可以称为第三方业务,例如,该第三方业务可以是某运行在客户端的支付应用,SE中可以存储一个该支付应用的一个安全应用Applet,该安全应用Applet可以负责为支付应用运行过程中的业务数据传输进行安全保障处理,比如,使用数字证书进行加密。在一个例子中,用户在打开该支付应用并进行交互式操作的过程中,可以触发该应用进行业务数据传输,并且对传输具有较高的安全性保证的要求。那么,此时就可以通过SE中的安全应用根据数字证书进行业务数据加密后传输。
要实现数字证书向SE的下发,通常SE可以为上述的第三方业务分配对应的SSD,并且客户端可以将安全应用下载安装到该SSD中,用户下载安全应用后,需要申请和安装数字证书后才能使用。可以由该安全应用向CA(Certificate Authority)申请数字证书,用于该第三方业务的业务数据的加密传输。
图1是本公开的基于SE的身份认证方法的应用系统架构图,该系统可以应用于向SE下发数字证书以及证书的使用,并且,该系统中以IFAA(internet financeauthentiation alliance,互联网金融身份认证联盟)参与数字证书下发和使用过程为例进行描述。如图1所示,该系统可以包括服务端11、客户端12和SEI TSM(Trusted ServiceManager,可信服务管理)13,其中,服务端11相当于数字证书申请的服务端,客户端12上可以运行第三方业务,比如,支付应用运行在智能手机上,作为数字证书申请的客户端,而SEITSM13则可以是客户端12上的SE提供商可信服务管理平台,负责发行和管理SE。
请继续参见图1,服务端12中可以包括:CA111、IFAA TSM112和认证服务端模块113(IFAA Authenticator Server)。其中,认证中心CA111可以是一个电子商务认证中心,是负责发送和管理数字证书的权威机构。IFAA TSM112可以是客户端上的第三方业务的安全应用Applet的提供方,可以负责管理Applet的生命周期。认证服务端模块113可以是与客户端12侧的认证客户端模块124(IFA AAuthenticator Client)对应,共同配合完成数字证书的下发和使用等流程。认证服务端模块113可以分别与CA111和IFAA TSM112通信。
客户端12可以包括:调用接口模块(IFAA SDK,Software Development Kit,软件开发工具包)121、访问接口模块122和可信执行环境TEE(Trusted ExecutionEnvironment)123。其中,调用接口模块121可以供第三方业务调用,以触发数字证书的申请等相关流程,比如,当用户使用支付应用交互操作到某个步骤时,可以触发调用该调用接口模块121,以查看客户端中是否已经存在该支付应用对应的数字证书,如果有,则可以使用数字证书进行业务数据的加密传输,否则,可以继续通过调用该调用接口模块121进行数字证书的申请和使用。
访问接口模块122主要提供访问TEE的接口,其中的TEE Client可以是可信环境的调用入口,而OMA通道是非可信环境下访问SE的通道。TEE123中可以包括上述的认证客户端模块124和SE125。认证客户端模块124可以接收认证服务端模块113的相关指令并依据指令处理,比如,如果认证服务端模块113下发了数字证书指令,则认证客户端模块124可以根据该指令去向SE中的安全应用获取生成证书所需的相关数据。SE125中可以用于存储安全应用Applet。
由图1还可以看到,在客户端侧,由调用接口模块(IFAA SDK)121访问SE125时可以有两条路径,一条是通过OMA通道访问SE,该路径未经过TEE,另一条路径是通过调用TEEClient访问TEE,并通过TEE中的认证客户端模块124去访问SE,比如指示SE中的安全应用提交生成证书所需的数据。
在上述系统架构的基础上,如下将分别介绍数字证书相关的三个阶段:安全环境初始化、证书的下发过程和证书的使用过程。其中,在描述这三个阶段之前,首先对一些描述中涉及的术语进行简单说明,以助于理解。
术语“公/私钥对”可以包括由实体生成的一对关联加密密钥。公钥可以用于公共功能,诸如对要发送给实体的消息进行加密,或用于对应该由实体做出的数字签名进行验证。另一方面,私钥可以用于私用功能,诸如对接收到的消息解密或应用数字签名。公钥通常会由被称为认证机构(CA)的主体进行授权,认证机构将公钥存储在数据库中并将其分配给请求它的任何其它实体。私钥一般会被保持在安全存储介质中并且通常只有实体知道。
“数字签名”可以指基于公/私钥对应用算法的结果,这种算法允许签名方显示,并且允许验证方验证文件的真实性和完整性。签名方借助于私钥起作用,验证方借助于公钥起作用。这个过程证明发送者的真实性、已签名文件的完整性和所称的不可否认性原则,所述原则不允许否认已经签名的内容。证书或包括签名方的数字签名的其它数据被称为是由签名方“签名的”。
“数字证书”可以包括使用数字签名将公钥与关联身份的数据绑定的电子文件或数据文件。证书可以包括一个或多个数据字段,诸如身份的合法姓名、证书的序列号、证书的有效起止日期、证书相关的权限等。证书可以包含指示证书有效的第一天的“有效起始”日期,以及指示证书有效的最后一天的“有效截止”日期。证书还可以包含证书中包括数据字段的数据的散列。除非另外说明,每个证书都由证书机构签名。
认证中心“CA”可以包括可操作耦连以向实体发行证书的一个或多个服务器计算机。CA可以使用CA证书证明其身份,CA证书包括CA的公钥。CA可以维护CA所发行的所有证书的数据库,并且还可以维护被撤销的证书的列表。
在一个典型过程中,证书机构从其身份已知的实体接收未签名的证书。未签名的证书包括公钥、一个或多个数据字段、以及证书中的数据的散列。CA用与CA证书上所包括的公钥相对应的私钥对证书进行签名。CA然后可以将签名的证书存储在数据库中,并将签名的证书发行给实体。
安全应用Applet可以是一个依附于第三方业务的应用客户端的小程序,比如可以是依附于用HTML语言编写的支付应用客户端网页并嵌入其中,通过浏览器来控制执行。
安全环境初始化
在申请和使用数字证书之前,可以在SE上进行SSD的划分、秘钥的更新以及安全应用的下载。如图2所示的流程,示例了初始化的过程,可以包括:
在步骤200中,第三方业务通过调用接口模块初始化SE坏境。
例如,图1所示的系统中,IFAA客户端可以是运行在一个移动终端上,比如,可以是运行于一个智能手机上。
本步骤中提到的“第三方业务”,例如,可以是在手机上运行的一个第三方应用,比如,银行网站,或者支付机构的支付应用网站,该应用在某些业务处理上具有较高的安全性要求,需要使用到数字证书。
本步骤中,第三方业务可以调用IFAASDK121,开始执行SE中安全环境的初始化。比如,当用户在支付应用网站进行操作,进行到要进行付款的步骤时,可以触发支付应用要使用数字证书,此时支付应用可以调用IFAASDK121,判断所在的移动终端中是否已经存在数字证书。对于IFAASDK121来说,相当于检测到了第三方业务请求分配SE中的安全环境的指令。
在步骤202中,调用接口模块通过访问接口模块提供的OMA通道,判断当前设备的SE环境是否已经初始化,SE是否已经为该第三方业务分配安全环境。
本步骤中,如图1所示,IFAA SDK可以调用访问接口模块122(IFAACLient)通过OMA通道访问SE,以判断SE中是否已经存在该第三方业务对应的SSD。
在步骤204中,调用接口模块根据判断结果,若未初始化,则向服务端发送SE初始化请求,该请求用于触发服务端向SEI TSM请求为第三方业务分配SE中的辅助安全域SSD。
本步骤中,IFAASDK根据OMA通道的反馈结果,如果SE中尚未为该第三方业务初始化安全环境,则IFAASDK可以向服务端发送SE初始化请求,以请求对SE进行SSD划分,分配一块对应的SSD给本例子中的第三方业务。在一个例子中,可以在请求中携带第三方业务的业务标识,以表示请求为该业务标识对应的第三方业务分配SSD。由图1所示的系统图来看,该初始化请求可以被服务端的认证服务端模块113转发至IFAA TSM112。
在步骤206中,IFAATSM向SEITSM请求初始化SSD,并接收到SEITSM返回的初始化指令。
本步骤中,IFAATSM112可以根据客户端的初始化请求,向SEITSM13请求初始化SSD,请求为客户端侧的第三方业务分配SE中的SSD作为安全环境,该请求可以通过服务端私钥签名下发。SEITSM13可以在通过对请求的合法性检验,验证签名成功后,生成初始化指令,并返回给IFAATSM112。
在步骤208中,IFAATSM将初始化指令返回给客户端,在客户端侧通过OMA通道将初始化指令发送至SE,以使得SE根据指令为第三方业务划分SSD。
本步骤中,由图1所示的系统架构图所示,IFAATSM112将SEI TSM13返回的初始化指令发送至客户端后,可以是经由IFAA SDK——OMA通道传输至SE,SE根据该指令为本例子的第三方业务分配对应的SSD。
在步骤210中,划分SSD成功后,调用接口模块向服务端发送对于该SSD的秘钥更新请求,以使得服务端向SEI TSM请求秘钥。
本步骤中,在SSD划分成功后,还需要为该SSD分配秘钥,以建立与该SSD数据传输的安全通道。IFAA SDK可以向服务端请求秘钥,该请求同样可以由服务端的认证服务端模块113转发至IFAA TSM112。IFAA TSM112可以根据该请求,向SEI TSM请求秘钥,并得到SEITSM分配的初始秘钥(初始秘钥可以通过线下邮件发出)。
在步骤212中,服务端可以将使用秘钥加密的安全应用,发送至客户端。
例如,服务端的IFAATSM112可以是提供安全应用的平台,可以提供第三方业务对应的安全应用IFAAApplet。IFAATSM112可以利用SEI TSM分配的秘钥加密第三方业务的安全应用,并将应用发送至客户端。比如,可以使用AES256CBC加密IFAAAPPLET,并下发。
在步骤214中,客户端通过OMA通道,将安全应用下发到SSD安装。
本步骤中,客户端在接收到安全应用后,IFAA SDK可以通过OMA通道,将安全应用写入SE中的SSD。通过上述的SSD划分、分配对应的秘钥、以及Applet的安装,完成了该第三方业务的安全环境初始化。
由上述图2所述的初始化流程可以得到,在对SE进行安全环境初始化的流程中,客户端是向对业务认证的服务端发送了SE初始化请求,该服务端根据初始化请求与SEI TSM进行交互,实现了客户端的SE的安全环境初始化。
这里所述的服务端与SEI TSM进行交互,包括如下至少一项:例如,服务端由SEITSM获取初始化指令,并将该初始化指令返回给客户端。又例如,服务端由SEI TSM获取秘钥,并将使用秘钥加密的安全应用下发至客户端。
其中,上述服务端与SEI TSM进行交互中获取到的初始化指令、使用秘钥加密的安全应用,都可以称为初始化数据,客户端可以根据该初始化数据实现对SE的安全环境初始化。
本例子的基于SE的身份认证方法,通过由对业务认证的服务端根据客户端的初始化请求,来向SEI TSM请求进行SE初始化,使得对SE的初始化流程都经过该服务端转发执行,该方式使得有助于第三方业务方便的控制业务流量,避免由于大量请求造成对SEI TSM侧的较大压力导致的初始化失败,使得SE安全环境能够顺利完成初始化,为后续的业务执行做好准备。
数字证书的申请下发
在完成安全环境初始化后,可以由安全应用申请数字证书,以备后续使用。图3示例了数字证书申请的流程,可以包括:
在步骤300中,第三方业务调用IFAASDK获取客户端设备信息及证书安装信息,判断当前设备是否存在该第三方的业务的数字证书。
例如,第三方业务调用IFAASDK进行SSD初始化以后,还可以调用IFAASDK获取客户端设备信息及证书安装信息,比如,客户端所在的移动终端的终端标识等终端信息,以及当前设备中是否已经为该第三方业务安装了数字证书。如果已经有证书,则可以执行后续图4所示的证书使用流程,如果没有证书,则可以利用本步骤搜集的设备信息继续执行本例子的后续步骤,以用于向服务端申请数字证书,继续参见步骤302。
在步骤302中,客户端向服务端发送数字证书指令请求,并接收服务端返回的数字证书指令。
例如,第三方业务调用IFAASDK向服务端发送数字证书指令请求。服务端可以通过调用CA服务生成数字证书指令,该指令用于指示IFAA客户端侧根据该指令请求IFAAApplet生成证书生成数据,该数字证书指令可以是CRS(Certificate request file,证书请求文件)指令。
该CRS指令在客户端侧的路径,参见图1所示的系统架构图,可以是经由IFAA SDK,调用TEE Client发送至TEE中的认证客户端模块。
在步骤304中,客户端的认证客户端模块根据数字证书指令,向SSD中的安全应用获取证书生成数据,并将该证书生成数据返回至调用接口模块。
例如,TEE中的认证客户端模块IFAA Authenticator Client收到数字证书指令后,可以解析并组装成APDU(ApplicationProtocolDataUnit,应用协议数据单元指令),请求SE中的安全应用IFAAApplet签名,也即请求IFAAApplet生成证书生成数据CRS数据包。IFAAApplet可以生成公私钥对,返回私钥签名后的CRS数据包,该数据包可以包括公钥以及步骤300中得到的设备信息,该设备信息例如可以是手机的唯一性标识。认证客户端模块可以将该证书生成数据返回至IFAA SDK。
在步骤306中,客户端向服务端发送证书生成数据,以使得服务端将所述证书生成数据发送至CA签名生成数字证书。
例如,服务端在接收到证书生成数据后,可以将证书生成数据发送至认证中心CA,CA根据所述证书生成数据签名生成的数字证书。CA签名生成的数字证书中还可以包括证书的有效时间、颁发机构等信息。
在步骤308中,服务端将数字证书发送至客户端,由客户端将该证书存储至SE中。本步骤中,客户端接收到证书后,IFAA SDK可以调用TEE Client,经由TEE中的认证客户端模块,将数字证书存储至安全应用。后续安全应用就可以使用该数字证书对第三方业务的业务数据进行传输签名。
本例子的基于SE的身份认证方法,通过在下发数字证书时使用TEE通道,即TEEClient——TEE中的IFAAAuthenticatorClient——SE,使得证书的下发过程安全性更高。
数字证书的使用
在申请安装完成数字证书后,在业务执行过程中,可以使用该数字证书对业务数据的传输进行加密,以保证数据传输的安全可靠。图4示例了数字证书的使用流程,如图4所示,可以包括:
在步骤400中,第三方业务调用IFAASDK获取客户端设备信息及证书安装信息,判断当前设备是否存在该第三方的业务的数字证书,若判断结果为存在,则向服务端发送签名指令请求。
例如,如果第三方业务调用IFAASDK发现设备上已经安装了证书,那么第三方业务可以直接开始使用这个证书,即本例子的证书使用过程。本步骤中,客户端可以向服务端发送签名指令请求,以请求服务端生成签名指令。
在步骤402中,客户端接收服务端生成的签名指令,并将该指令发送至TEE中的认证客户端模块。
本步骤中,服务端可以将签名指令发送至客户端的IFAASDK,IFAASDK再调用TEEClient,将签名指令下发至TEE中的认证客户端模块IFAAAuthenticatorClient。
在步骤404中,认证客户端模块根据签名指令,指示安全应用对业务数据进行签名,并将签名后的业务数据返回至调用接口模块IFAASDK。
本步骤中,认证客户端模块可以先对用户执行本地身份验证(指纹验证或者PIN码验证),验证通过后,可以请求安全应用对业务数据进行签名。安全应用IFAAApplet可以使用数字证书对应的私钥,对第三方业务的业务数据进行加密即进行签名。签名后的业务数据返回至IFAASDK。
在步骤406中,客户端将签名后的业务数据发送至服务端,由服务端对业务数据进行签名验证。
本步骤中,IFAAApplet将签名数据返回,经由IFAAAuthenticatorClient和IFAASDK,发送至IFAA服务端。IFAA服务端的认证服务端模块可以使用数字证书对应的公钥解密签名,以验证是否是客户端设备发送的数据。
本例子的基于SE的身份认证方法,证书的使用过程使用的也是TEE通道,具有较高的安全性;并且,通过将数字证书的下发和使用走TEE通道,与安全环境初始化过程使用的OMA通道分开,走的是不同的通道,这样可以使得两种事情互不影响。比如,假设在客户端手机上运行两个第三方应用,这两个第三方应用都需要调用IFAASDK执行初始化、下载证书的过程,那么,其中一个应用可以在使用OMA通道进行初始化,另一个应用可以使用TEE通道进行证书使用或者下发,保证业务的顺序进行。
上述方法实施例中所示流程中的各个步骤,其执行顺序不限制于流程图中的顺序。此外,各个步骤的描述,可以实现为软件、硬件或者其结合的形式,例如,本领域技术人员可以将其实现为软件代码的形式,可以为能够实现所述步骤对应的逻辑功能的计算机可执行指令。当其以软件的方式实现时,所述的可执行指令可以存储在存储器中,并被设备中的处理器执行。
例如,对应于上述方法,本说明书一个或多个实施例同时提供一种身份认证设备,比如,该设备可以是图1中的IFAA TSM对应的服务器,该设备可以包括处理器、存储器、以及存储在存储器上并可在处理器上运行的计算机指令,所述处理器通过执行所述指令,用于实现如下步骤:接收客户端发送的SE初始化请求,所述初始化请求用于请求为所述客户端侧的业务分配SE中的安全环境;根据所述初始化请求,向SE提供商可信服务管理平台SEITSM请求为所述业务分配所述SE中的辅助安全域SSD作为所述安全环境;接收所述SEI TSM返回的初始化指令,并将所述初始化指令返回至所述客户端,以使得所述客户端根据所述初始化指令进行SE中的SSD划分;接收对于划分成功的所述SSD的秘钥更新请求,并向SEITSM请求秘钥;使用所述SEI TSM分配的秘钥加密业务的安全应用,并将所述安全应用下发至客户端,以使得所述客户端将安全应用安装在所述SSD。
例如,对应于上述方法,本说明书一个或多个实施例同时提供一种身份认证设备,比如,该设备可以是移动终端,该设备可以包括处理器、存储器、以及存储在存储器上并可在处理器上运行的计算机指令,所述处理器通过执行所述指令,用于实现如下步骤:在检测到业务请求分配SE中的安全环境时,向服务端发送SE初始化请求,所述初始化请求用于触发所述服务端向SEI TSM请求为所述业务分配SE中的辅助安全域SSD;接收所述服务端返回的初始化指令,所述初始化指令由所述SEI TSM返回至所述服务端,并将所述初始化指令通过非可信环境访问SE的OMA通道发送至所述SE,以使得所述SE根据所述初始化指令为所述业务划分SSD;向所述服务端发送对于划分成功的所述SSD的秘钥更新请求,以使得所述服务端向所述SEI TSM请求秘钥;接收所述服务端发送的使用所述SEI TSM分配的秘钥加密的业务的安全应用,并将安全应用通过OMA通道下发至SSD中安装。
为了实现上述方法,本公开还提供了一种基于SE的身份认证装置,该装置可以是位于服务端。如图5所示,该装置可以包括:请求接收单元51、初始化请求单元52、指令反馈单元53、秘钥更新单元54和应用下发单元55。这些单元可以是都位于图1中示意的服务端的IFAA TSM。
请求接收单元51,用于接收客户端发送的SE初始化请求,所述初始化请求用于请求为所述客户端侧的业务分配SE中的安全环境;
初始化请求单元52,用于根据所述初始化请求,向SEI TSM请求为所述业务分配所述SE中的辅助安全域SSD作为所述安全环境;
指令反馈单元53,用于接收所述SEI TSM返回的初始化指令,并将所述初始化指令返回至所述客户端,以使得所述客户端根据所述初始化指令进行SE中的SSD划分;
秘钥更新单元54,用于接收对于划分成功的所述SSD的秘钥更新请求,并向SEITSM请求秘钥;
应用下发单元55,用于使用所述SEI TSM分配的秘钥加密业务的安全应用,并将所述安全应用下发至客户端,以使得所述客户端将安全应用安装在SSD。
在一个例子中,如图6所示,本例子的基于SE的身份认证装置还可以包括:指令请求单元61、指令下发单元62、数据转发单元63和证书转发单元64。这些单元可以是位于服务端的认证服务端模块。
指令请求单元61,用于接收所述客户端发送的数字证书指令请求;
指令下发单元62,用于根据所述数字证书指令请求,生成数字证书指令,并将所述数字证书指令发送至所述客户端,以使得所述客户端根据所述数字证书指令向所述SSD中的安全应用获取证书生成数据;
数据转发单元63,用于接收所述客户端发送的所述证书生成数据,并将所述证书生成数据发送至认证中心CA;
证书转发单元64,用于将所述CA根据所述证书生成数据签名生成的数字证书,发送至所述客户端,以使得所述客户端将所述数字证书存储在安全应用。
为了实现上述方法,本公开还提供了一种基于SE的身份认证装置。该装置可以是位于客户端,该装置可以包括调用接口模块、认证客户端模块和安全元件SE,所述认证客户端模块和SE位于TEE中;并且,如图7所示,该装置的调用接口模块可以包括:初始化请求单元71,指令转发单元72、秘钥请求单元73和应用接收单元74。
所述初始化请求单元71,用于在检测到业务请求分配SE中的安全环境时,向服务端发送SE初始化请求,所述初始化请求用于触发所述服务端向SEI TSM请求为所述业务分配SE中的辅助安全域SSD;
所述指令转发单元72,用于接收所述服务端返回的初始化指令,所述初始化指令由所述SEI TSM返回至所述服务端,并将所述初始化指令通过非可信环境访问SE的OMA通道发送至所述SE,以使得所述SE根据所述初始化指令为所述业务划分SSD;
所述秘钥请求单元73,用于向所述服务端发送对于划分成功的所述SSD的秘钥更新请求,以使得所述服务端向所述SEI TSM请求秘钥;
所述应用接收单元74,用于接收所述服务端发送的使用SEI TSM分配的秘钥加密的业务的安全应用,并将安全应用通过OMA通道下发至SSD中安装。
在一个例子中,如图8所示,调用接口模块还可以包括:指令请求单元81、指令接收单元82、数据发送单元83和证书接收单元84。
所述指令请求单元81,用于向所述服务端发送数字证书指令请求;
所述指令接收单元82,用于接收所述服务端根据所述数字证书指令请求返回的数字证书指令,并将所述数字证书指令发送至所述认证客户端模块;
所述认证客户端模块,用于根据所述数字证书指令,向所述SSD中的安全应用获取证书生成数据,并将所述证书生成数据返回至所述数据发送模块;
所述数据发送单元83,用于向所述服务端发送所述证书生成数据,以使得所述服务端将所述证书生成数据发送至CA签名生成数字证书;
所述证书接收单元84,用于接收所述服务端返回的数字证书,并将所述数字证书通过所述认证客户端模块发送至所述安全应用。
在一个例子中,如图9所示,调用接口模块还可以包括:签名指令请求单元91、签名指令接收单元92和数据传输单元93。
所述签名指令请求单元91,用于向所述服务端发送签名指令请求;
所述签名指令接收单元92,用于接收所述服务端根据所述签名指令请求返回的签名指令,并将所述签名指令发送至所述认证客户端模块;
所述认证客户端模块,用于根据所述签名指令,请求所述安全应用根据数字证书对业务数据进行签名,并将签名后的业务数据返回至数据传输单元;
所述数据传输单元93,用于将签名后的业务数据发送至所述服务端,以由所述服务端对所述业务数据进行签名验证。
本公开实施例提供了一种基于安全元件SE的身份认证装置,所述装置包括:
请求接收单元,用于接收客户端发送的SE初始化请求,所述初始化请求用于请求为所述客户端侧的业务分配SE中的安全环境;
初始化处理单元,用于根据所述初始化请求,通过与SE提供商可信服务管理平台SEI TSM交互实现所述客户端的SE的安全环境初始化。
本公开实施例还提供了一种基于安全元件SE的身份认证装置,该装置包括:
所述初始化请求单元,用于向服务端发送SE初始化请求,所述初始化请求用于请求为所述客户端侧的业务分配SE中的安全环境;
所述初始化实现单元,用于根据所述服务端与SEI TSM交互获得的初始化数据,实现所对SE的安全环境的初始化。
本公开实施例还提供一种身份认证设备,所述设备包括存储器、处理器,以及存储在存储器上并可在处理器上运行的计算机指令,所述处理器执行指令时实现本公开任一实施例的身份认证方法。
上述实施例阐明的装置或模块,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机,计算机的具体形式可以是个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件收发设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任意几种设备的组合。
为了描述的方便,描述以上装置时以功能分为各种模块分别描述。当然,在实施本说明书一个或多个实施例时可以把各模块的功能在同一个或多个软件和/或硬件中实现。
本领域内的技术人员应明白,本说明书一个或多个实施例可提供为方法、系统、或计算机程序产品。因此,本说明书一个或多个实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本说明书一个或多个实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
本说明书一个或多个实施例可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本说明书一个或多个实施例,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于数据采集设备或者数据处理设备实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
以上所述仅为本说明书一个或多个实施例的较佳实施例而已,并不用以限制本公开,凡在本公开的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本公开保护的范围之内。