掌桥专利:专业的专利平台
掌桥专利
首页

NFC卡片生成方法、系统、装置、电子设备及服务器

文献发布时间:2024-04-18 20:02:18


NFC卡片生成方法、系统、装置、电子设备及服务器

技术领域

本申请涉及终端技术领域,尤其涉及NFC卡片生成方法、系统、装置、电子设备及服务器。

背景技术

近场通信(near field communication,NFC)技术可以使电子设备之间进行非接触式的设备识别和数据传输。设置有NFC模块的电子设备可以模拟银行卡、交通卡、门禁卡等多种类型的NFC卡片,从而实现移动支付、交通刷卡、解锁等业务。

现有技术中可以基于硬件的虚拟卡模式使电子设备实现卡模拟,例如,在电子设备中额外设置用于存储不同类型的NFC卡片信息(例如与NFC卡片对应的NFC应用以及应用数据)的安全芯片,虽然可以提升NFC卡片信息的安全性,但会增加电子设备的硬件成本。现有技术中还可以基于软件的主机卡模拟(host card emulation,HCE)使电子设备实现卡模拟,即电子设备的操作系统获取到来自读卡设备的NFC数据时,可以通过本地的应用程序或者将NFC数据发送至云端服务器进行数据处理,虽然该技术不需要在电子设备中设置安全元件,但恶意软件易侵入电子设备的操作系统并且在取得操作系统权限后可以获取到NFC卡片信息,安全性能较低。

发明内容

本申请提供了一种NFC卡片生成方法、系统、装置、电子设备及服务器,可以降低电子设备的硬件成本的同时确保NFC卡片信息的安全性。

为达到上述目的,本申请采用如下技术方案:

第一方面,本申请提供了一种NFC卡片生成方法,应用于NFC卡片生成系统,该系统包括电子设备和可信应用管理TAM平台,电子设备配置有可信执行环境,该方法包括:电子设备响应于添加第一近场通信NFC卡片的操作,从TAM平台中获取为电子设备中的第一业务分配的通道密钥,并将通道密钥存储在可信执行环境中,其中,第一业务为第一NFC卡片对应的业务;电子设备向TAM平台发送第一NFC卡片的添加请求;TAM平台根据添加请求获取第一业务对应的第一可信应用的第一安装包,并向电子设备发送通过通道密钥加密的第一安装包,其中,第一可信应用用于处理第一业务;电子设备根据通道密钥对加密的第一安装包进行解密,并根据第一安装包在可信执行环境中安装第一可信应用。

其中,与第一NFC卡片对应的第一业务的业务类型可以为银行卡、门禁卡、健身卡、交通卡、钥匙等。TAM平台中可以存储与不同业务类型的NFC卡片对应的可信应用的安装包,安装包中可以包括可信应用的应用安装程序以及应用数据。

基于本申请实施例提供的方法,在电子设备中添加任意一个NFC卡片时,电子设备可以从TAM平台获取到为TAM平台为待添加的NFC卡片所要实现的业务分配的特定的通道密钥,并基于该通道密钥与TAM平台之间建立安全通信通道,基于该安全通信通道,TAM平台可以向电子设备安全下发通过通道密钥加密的用于处理NFC卡片的业务的可信应用的安装包,提升安装包NFC卡片的可信应用以及应用数据的安全性。此外,电子设备可以将TAM平台提供的通道密钥存储在TEE中,并将TEE作为安全载体存储不同业务类型的NFC卡片的可信应用以及应用数据。TEE的安全等级较高,恶意软件不易侵入TEE中获取到通道密钥,基于本申请提供的方法可以在降低电子设备的硬件成本的同时,有效的保护加密的安装包中的应用数据并通过TEE为处理NFC卡片的业务提供安全的执行环境。此外,TEE的存储空间远大于安全元件的存储空间,TEE中可以存储更多的可信应用以及应用数据,不易出现因芯片存储空间不足而不能添加卡片的问题。

在第一方面的一个可能的实现方式中,TAM平台包括与电子设备对应的设备TAM服务器。电子设备从TAM平台中获取为电子设备中的第一业务分配的通道密钥的具体实现方式包括:电子设备基于电子设备的设备信息和第一业务的业务信息,从设备TAM服务器中获取多个第一通道密钥,通道密钥包括多个第一通道密钥。

在本申请实施例中,设备TAM服务器可用于存储和管理电子设备厂商自身开发的与NFC卡片对应的可信应用的安装包,还可以用于存储和管理第三方厂商开发并上传至设备TAM服务器中的与NFC卡片对应的可信应用的安装包。若设备TAM服务器中存储有与第一NFC卡片对应的第一可信应用的第一安装包,则电子设备可以从TAM平台中的设备TAM服务器中获取为电子设备中的第一业务分配的多个第一通道密钥。

在第一方面的一个可能的实现方式中,业务信息包括业务标识和业务证书,设备信息包括设备标识和设备证书;

电子设备从设备TAM服务器中获取多个第一通道密钥的具体实现方式包括:电子设备生成第一通道密钥获取请求,第一通道密钥获取请求包括设备标识、设备证书、业务标识和业务证书;电子设备向设备TAM服务器发送第一通道密钥获取请求;设备TAM服务器对设备证书和业务证书进行验证,并在验证通过后,根据设备标识、与业务标识对应的第一业务根密钥以及第一分散规则生成多个第一通道密钥;设备TAM服务器向电子设备发送多个第一通道密钥。

基于该可能的实现方式,电子设备可以基于设备出厂时设置的设备证书为第一业务生成对应的业务证书,并以设备证书作为信任根,向设备TAM服务器请求获取多个第一通道密钥,以基于多个第一通道密钥与设备TAM服务器之间建立用于安全传输可信应用的第一安全通信通道,提升可信应用的安装包传输过程的安全性。

在第一方面的一个可能的实现方式中,电子设备生成第一通道密钥获取请求的具体实现方式包括:电子设备根据业务标识、设备证书以及与设备证书对应的设备证书私钥,生成与业务标识对应的业务证书和业务私钥;电子设备通过业务私钥对设备标识和业务标识进行签名,得到第一签名信息;电子设备通过设备TAM服务器的服务器公钥对第一签名信息、设备标识、业务标识、设备证书以及业务证书进行加密,得到第一加密信息;电子设备根据第一加密信息生成第一通道密钥获取请求。

基于该可能的实现方式,电子设备可以在TEE中生成第一通道密钥获取请求,并对第一通道密钥获取请求中的信息进行加密处理,防止信息在传输的过程中被篡改。

在第一方面的一个可能的实现方式中,设备TAM服务器对设备证书和业务证书进行验证的方法为:设备TAM服务器通过与设备标识对应的设备根证书,对设备证书和业务证书进行验证。设备TAM服务器生成多个第一通道密钥的具体实现方法包括:通过设备TAM服务器的服务器私钥对第一加密信息进行解密,并通过业务证书中的业务公钥对第一签名信息进行验签;若第一签名信息验签成功,则根据设备标识、与业务标识对应的第一业务根密钥以及第一分散规则生成多个第一通道密钥。

基于该可能的实现方式,设备TAM服务器在接收到第一通道密钥后,可以通过与服务器公钥对应的服务器私钥对第一加密信息进行解密,并根据业务证书中的业务公钥对解密后得到的第一签名信息进行验签,确保第一签名信息的完整性以及第一通道密钥获取请求是由电子设备签名并发送的。

在第一方面的一个可能的实现方式中,设备TAM服务器向电子设备发送多个第一通道密钥具体包括:设备TAM服务器通过业务证书中的业务公钥对多个第一通道密钥进行加密,得到第一加密通道密钥;设备TAM服务器向电子设备发送第一加密通道密钥;电子设备通过业务私钥对第一加密通道密钥进行解密,得到多个第一通道密钥。对多个第一通道密钥进行加密传输,可以防止第一通道密钥泄露或者被篡改,提升传输多个第一通道密钥时的安全性。

在第一方面的一个可能的实现方式中,电子设备向TAM平台发送第一NFC卡片的添加请求,包括:电子设备向设备TAM服务器发送第一NFC卡片的添加请求。TAM平台根据添加请求获取第一业务对应的第一可信应用的第一安装包,并向电子设备发送通过通道密钥加密的第一安装包,包括:设备TAM服务器根据添加请求获取第一安装包,并向电子设备发送通过多个第一通道密钥加密的第一安装包。

基于该可能的实现方式,电子设备可以在TEE的安全环境中对加密的第一安装包进行解密,并将第一安装包中的可信应用安装程序以及应用数据存储在TEE中,提升可信应用的应用数据的安全性。

在第一方面的一个可能的实现方式中,TAM平台还包括与第一业务对应的业务TAM服务器。电子设备从设备TAM服务器中获取多个第一通道密钥之后,电子设备可以基于多个第一通道密钥,从业务TAM服务器中获取多个第二通道密钥,其中,电子设备从TAM平台中获取到的通道密钥还包括多个第二通道密钥。

在本申请中,有些NFC卡片的业务涉及商业机密以及用户的隐私数据,为了提高业务的安全性,与该类NFC卡片对应的可信应用的安装包仅存储在与NFC卡片的业务对应的业务TAM服务器中,例如:与银行卡的支付业务对应的银行TAM服务器等。

若设备TAM服务器中未存储有与第一NFC卡片对应的第一可信应用的第一安装包,则电子设备可以基于从设备TAM服务器获取的多个第一通道密钥,从TAM平台中的业务TAM服务器中获取为电子设备中的第一业务分配的多个第二通道密钥;电子设备也可以直接从业务TAM服务器中获取为电子设备中的第一业务分配的多个第二通道密钥。

在第一方面的一个可能的实现方式中,业务信息包括业务标识,设备信息包括设备标识;

电子设备从业务TAM服务器中获取多个第二通道密钥的具体实现方法包括:电子设备生成第二通道密钥获取请求,第二通道密钥获取请求包括设备标识、业务标识以及通过多个第一通道密钥加密的设备标识;电子设备向业务TAM服务器发送第二通道密钥获取请求;业务TAM服务器根据设备标识、与业务标识对应的第一业务根密钥以及第一分散规则生成多个第一通道密钥,以及通过多个第一通道密钥对设备标识的完整性进行验证,并在验证通过后,根据设备标识、与业务标识对应的第二业务根密钥以及第二分散规则生成多个第二通道密钥;业务TAM服务器向电子设备发送多个第二通道密钥。

基于该可能的实现方式,业务TAM服务器中不仅存储有与设备TAM服务器之间共享的且与每种业务类型的业务标识对应的第一业务根密钥和第一分散规则,还存储有业务方自身为每种业务类型的业务标识设置的第二业务根密钥和第二分散规则。业务TAM服务器通过生成的多个第一通道密钥对第二通道密钥获取请求进行解密并验证消息的完整性,可以确保第二通道密钥获取请求的消息来源为设备TAM服务器信任的电子设备。

在第一方面的一个可能的实现方式中,业务TAM服务器向电子设备发送多个第二通道密钥,包括:业务TAM服务器通过多个第一通道密钥对多个第二通道密钥进行加密,得到第二加密通道密钥;业务TAM服务器向电子设备发送第二加密通道密钥;电子设备根据多个第一通道密钥对第二加密通道密钥进行解密,得到多个第二通道密钥。对第二通道密钥进行加密传输,可以确保第二通道密钥的安全性。

在第一方面的一个可能的实现方式中,电子设备向TAM平台发送第一NFC卡片的添加请求,包括:电子设备向业务TAM服务器发送第一NFC卡片的添加请求。TAM平台根据添加请求获取第一业务对应的第一可信应用的第一安装包,并向电子设备发送通过通道密钥加密的第一安装包,包括:业务TAM服务器根据添加请求获取第一安装包,并向电子设备发送通过多个第二通道密钥加密的第一安装包。

在第一方面的一个可能的实现方式中,电子设备安装完第一可信应用之后,可以对第一NFC卡片的注册信息进行存储,其中,注册信息包括第一可信应用的应用标识以及身份验证标识,身份验证标识用于指示使用第一NFC卡片时是否需要对用户身份进行验证。

在第一方面的一个可能的实现方式中,该NFC卡片生成系统还包括读卡设备,电子设备还包括NFC控制器。当电子设备通过NFC控制器接收到读卡设备对第一NFC卡片的信息获取请求时,电子设备根据第一NFC卡片的注册信息确定与第一NFC卡片对应的第一可信应用;电子设备通过第一可信应用获取第一NFC卡片的卡片信息,并通过NFC控制器向读卡设备发送卡片信息。

基于该可能的实现方式,安装完NFC卡片对应的可信应用之后,电子设备可以存储与每个NFC卡片对应的注册信息。在刷卡过程中,若电子设备中添加有多个NFC卡片,则NFC控制器可以根据注册信息中的可信应用标识确定与读卡设备请求获取的NFC卡片对应的可信应用,并通过调用对应的可信应用在TEE中安全处理对应的NFC卡片的业务,从而实现智能选卡功能。

此外,当电子设备获取到来自读卡设备的NFC业务时,电子设备中的可信应用可以在TEE中安全处理对应的NFC卡片的业务,不需要依赖移动网络将NFC数据发送至云端服务器中进行处理,与现有的主机卡模拟中通过云端服务器处理NFC数据的方法相比,可以提升用户体验。

在第一方面的一个可能的实现方式中,电子设备还包括设置在可信执行环境中的身份认证模块。电子设备通过第一可信应用获取第一NFC卡片的卡片信息的具体实现方式包括:电子设备在注册信息指示使用第一NFC卡片时需要对用户身份进行验证的情况下,采集用户身份信息;电子设备通过身份认证模块对用户身份信息进行验证,得到身份验证结果;电子设备在身份验证结果指示用户身份信息验证通过的情况下,通过第一可信应用获取第一NFC卡片的卡片信息。

基于该可选的方式,若刷卡时需要对用户身份进行验证,则电子设备可以在TEE中通过身份认证模块对采集的用户身份信息进行验证,并将身份验证结果存储在TEE中,防止篡改。NFC控制器可以在身份验证记过指示验证通过的情况下请求第一可信应用获取卡片信息,第一可信应用在获取卡片信息之前可以从身份认证模块获取身份验证结果,以确保身份验证结果的合法性。即使NFC控制器未向身份认证模块请求对用户身份进行验证或者NFC控制器接收到的身份验证结果被篡改,第一可信应用也可以在未获取到身份验证结果或者身份验证结果不合法时,中断卡片信息的获取过程,确保刷卡交易时的安全性。

第二方面,本申请提供了一种NFC卡片生成方法,应用于电子设备,该电子设备配置有可信执行环境,该方法包括:响应于添加第一NFC卡片的操作,从可信应用管理TAM平台中获取为电子设备中的第一业务分配的通道密钥,并将通道密钥存储在可信执行环境中,其中,第一业务为第一NFC卡片对应的业务;向TAM平台发送第一NFC卡片的添加请求;接收TAM平台发送的通过通道密钥加密的第一可信应用的第一安装包,其中,第一可信应用用于处理第一业务;根据通道密钥对加密的第一安装包进行解密,并根据第一安装包在可信执行环境中安装第一可信应用。

基于本申请实施例提供的方法,在电子设备中添加任意一个NFC卡片时,电子设备可以从TAM平台获取通过通道密钥加密传输的NFC卡片的可信应用的安装包,其中,通道密钥为TAM平台基于电子设备以及待添加的NFC卡片的业务类型生成的特定的通道密钥。电子设备中不需要额外设置安全元件,电子设备可以将TAM平台提供的通道密钥存储在TEE中,并将TEE作为安全载体存储不同业务类型的NFC卡片的可信应用以及应用数据。TEE的安全等级较高,恶意软件不易侵入TEE中获取到通道密钥,基于本申请提供的方法可以在降低电子设备的硬件成本的同时,有效的保护加密的安装包中的应用数据并为处理NFC卡片的业务提供安全的执行环境。

在第二方面的一个可能的实现方式中,TAM平台包括与电子设备对应的设备TAM服务器;电子设备可以基于电子设备的设备信息和第一业务的业务信息,从设备TAM服务器中获取多个第一通道密钥,电子设备从TAM平台中获取的通道密钥包括多个第一通道密钥。

在第二方面的一个可能的实现方式中,基于电子设备的设备信息和第一业务的业务信息,从设备TAM服务器中获取多个第一通道密钥,包括:生成第一通道密钥获取请求;向设备TAM服务器发送第一通道密钥获取请求,其中,第一通道密钥获取请求用于指示设备TAM服务器生成多个第一通道密钥;接收设备TAM服务器发送的多个第一通道密钥。

基于该可能的实现方式,电子设备可以以设备出厂时设置的设备证书作为信任根,向设备TAM服务器请求获取多个第一通道密钥,以基于多个第一通道密钥与设备TAM服务器之间建立用于安全传输可信应用的第一安全通信通道,提升可信应用的安装包传输过程的安全性。

在第二方面的一个可能的实现方式中,业务信息包括业务标识和业务证书,设备信息包括设备标识和设备证书。电子设备生成第一通道密钥获取请求的具体实现方式包括:根据业务标识、设备证书以及与设备证书对应的设备证书私钥,生成与业务标识对应的业务证书和业务私钥;通过业务私钥对设备标识和业务标识进行签名,得到第一签名信息;通过设备TAM服务器的服务器公钥对第一签名信息、设备标识、业务标识、设备证书以及业务证书进行加密,得到第一加密信息;基于第一加密信息生成第一通道密钥获取请求。

基于该可选的方式,电子设备可以在TEE中生成第一通道密钥获取请求,并对第一通道密钥获取请求中的信息进行加密处理,防止信息在传输的过程中被篡改。

在第二方面的一个可能的实现方式中,接收设备TAM服务器发送的多个第一通道密钥,包括:接收设备TAM服务器发送的第一加密通道密钥,第一加密通道密钥包括通过业务证书中的业务公钥加密的多个第一通道密钥;电子设备可以通过业务私钥对第一加密通道密钥进行解密,得到多个第一通道密钥。对多个第一通道密钥进行加密传输,可以提升第一通道密钥传输的安全性。

在第二方面的一个可能的实现方式中,向TAM平台发送第一NFC卡片的添加请求,包括:向设备TAM服务器发送第一NFC卡片的添加请求。接收TAM平台发送的通过通道密钥加密的第一可信应用的第一安装包,包括:接收设备TAM服务器发送的通过多个第一通道密钥加密的第一可信应用的第一安装包。

在第二方面的一个可能的实现方式中,TAM平台还包括与第一业务对应的业务TAM服务器;电子设备从设备TAM服务器中获取多个第一通道密钥之后,还可以基于多个第一通道密钥,从业务TAM服务器中获取多个第二通道密钥,通道密钥还包括多个第二通道密钥。

基于该可选的方式,若设备TAM服务器中未存储有与第一NFC卡片对应的第一可信应用的第一安装包,电子设备可以基于设备TAM服务器提供的多个第一通道密钥,从业务TAM服务器中获取多个第二通道密钥,以基于多个第二通道密钥建立与业务TAM服务器之间的第二安全通信通道,通过第二安全通信通道传输第一安装包,可以安全隔离业务方的应用数据。

在第二方面的一个可能的实现方式中,业务信息包括业务标识,设备信息包括设备标识。基于多个第一通道密钥,从业务TAM服务器中获取多个第二通道密钥的具体实现方式包括:生成第二通道密钥获取请求,第二通道密钥获取请求包括设备标识、业务标识以及通过多个第一通道密钥加密的设备标识;向业务TAM服务器发送第二通道密钥获取请求,其中,第二通道密钥获取请求用于指示业务TAM服务器生成多个第二通道密钥;接收业务TAM服务器发送的多个第二通道密钥。

在第二方面的一个可能的实现方式中,接收业务TAM服务器发送的多个第二通道密钥具体包括:接收业务TAM服务器发送的第二加密通道密钥,第二加密通道密钥包括通过多个第一通道密钥加密的多个第一通道密钥;通过多个第一通道密钥对第二加密通道密钥进行解密,得到多个第二通道密钥。对第二通道密钥进行加密传输,可以确保第二通道密钥的安全性。

在第二方面的一个可能的实现方式中,向TAM平台发送第一NFC卡片的添加请求,包括:向业务TAM服务器发送第一NFC卡片的添加请求。接收TAM平台发送的通过通道密钥加密的第一可信应用的第一安装包,包括:接收业务TAM服务器发送的通过多个第二通道密钥加密的第一可信应用的第一安装包。

在第二方面的一个可能的实现方式中,安装完第一可信应用之后,电子设备可以对第一NFC卡片的注册信息进行存储,其中,注册信息包括第一可信应用的应用标识以及身份验证标识,身份验证标识用于指示使用第一NFC卡片时是否需要对用户身份进行验证。

在第二方面的一个可能的实现方式中,电子设备还包括NFC控制器。该方法还包括:通过NFC控制器接收到读卡设备对第一NFC卡片的信息获取请求时,根据第一NFC卡片的注册信息确定与第一NFC卡片对应的第一可信应用;通过第一可信应用获取第一NFC卡片的卡片信息,并通过NFC控制器将卡片信息发送至读卡设备。

在第二方面的一个可能的实现方式中,电子设备还包括设置在可信执行环境中的身份认证模块。通过第一可信应用获取第一NFC卡片的卡片信息,包括:在注册信息指示使用第一NFC卡片时需要对用户身份进行验证的情况下,采集用户身份信息;通过身份认证模块对用户身份信息进行验证,得到身份验证结果;在身份验证结果指示用户身份信息验证通过的情况下,通过第一可信应用获取第一NFC卡片的卡片信息。

第三方面,本申请提供了另一种NFC卡片生成方法,该方法应用于设备TAM服务器,该方法包括:接收电子设备发送的第一NFC卡片的添加请求;根据添加请求获取第一可信应用的第一安装包,并通过多个第一通道密钥对第一安装包进行加密,其中,多个第一通道密钥是设备TAM服务器为电子设备中的第一业务分配的通道密钥,第一可信应用用于处理第一业务,第一业务为第一NFC卡片对应的业务;向电子设备发送加密的第一安装包。

在第三方面的一个可能的实现方式中,该方法还包括:接收电子设备发送的第一通道密钥获取请求,第一通道密钥获取请求包括电子设备的设备标识和设备证书以及第一业务的业务标识和业务证书;对设备证书和业务证书进行验证,并在验证通过后,根据设备标识、与业务标识对应的第一业务根密钥以及第一分散规则生成多个第一通道密钥;向电子设备发送多个第一通道密钥。

在第三方面的一个可能的实现方式中,第一通道密钥获取请求包括第一加密信息,第一加密信息包括通过设备TAM服务器的服务器公钥加密的设备标识、业务标识、设备证书、业务证书以及第一签名信息,第一签名信息包括通过与业务标识对应的业务私钥签名的设备标识和业务标识;对设备证书和业务证书进行验证,包括:通过与设备标识对应的设备根证书,对设备证书和业务证书进行验证;根据设备标识、与业务标识对应的第一业务根密钥以及第一分散规则生成多个第一通道密钥,包括:通过设备TAM服务器的服务器私钥对第一加密信息进行解密,并通过业务证书中的业务公钥对第一签名信息进行验签;若第一签名信息验签成功,则根据设备标识、与业务标识对应的第一业务根密钥以及第一分散规则生成多个第一通道密钥。

在第三方面的一个可能的实现方式中,向电子设备发送多个第一通道密钥具体包括:通过业务公钥对多个第一通道密钥进行加密,得到第一加密通道密钥;向电子设备发送第一加密通道密钥。

第四方面,本申请提供了另一种NFC卡片生成方法,该方法应用于业务TAM服务器,该方法包括:接收电子设备发送的第一NFC卡片的添加请求;根据添加请求获取第一可信应用的第一安装包,并通过多个第二通道密钥对第一安装包进行加密,其中,多个第二通道密钥是业务TAM服务器为电子设备中的第一业务分配的通道密钥,第一可信应用用于处理第一业务,第一业务为第一NFC卡片对应的业务;向电子设备发送加密的第一安装包。

在第四方面的一个可能的实现方式中,该方法还包括:接收电子设备发送的第二通道密钥获取请求,第二通道密钥获取请求包括电子设备的设备标识、第一业务的业务标识以及通过多个第一通道密钥加密的设备标识,多个第一通道密钥为设备TAM服务器为第一业务分配的通道密钥;根据设备标识、与业务标识对应的第一业务根密钥以及第一分散规则,生成多个第一通道密钥;通过多个第一通道密钥对设备标识的完整性进行验证,并在验证通过后,根据设备标识、与业务标识对应的第二业务根密钥以及第二分散规则生成多个第二通道密钥;向电子设备发送多个第二通道密钥。

在第四方面的一个可能的实现方式中,向电子设备发送多个第二通道密钥具体包括:通过多个第一通道密钥对多个第二通道密钥进行加密,得到第二加密通道密钥;向电子设备发送第二加密通道密钥。

第五方面,本申请提供一种NFC卡片生成系统,包括:电子设备和TAM平台,TAM平台包括设备TAM服务器,电子设备用于执行第二方面的任一可能实现方式中的方法,设备TAM服务器用于执行第三方面的任一可能实现方式中的方法。

可选地,TAM平台还包括业务TAM服务器,业务TAM服务器用于执行第四方面的任一可能实现方式中的方法。

可选地,该NFC卡片生成系统还包括读卡设备。

第六方面,本申请提供一种NFC卡片生成装置,包括:至少一个用于执行第二方面的任一可能实现方式中的方法的单元,或者至少一个用于执行第三方面的任一可能实现方式中的方法的单元,或者至少一个用于执行第四方面的任一可能实现方式中的方法的单元。

第七方面,本申请提供一种电子设备,包括:处理器,处理器用于运行存储器中存储的计算机程序,以实现第二方面的任一可能的实现方式中的方法。

第八方面,本申请提供一种设备TAM服务器,包括:处理器,处理器用于运行存储器中存储的计算机程序,以实现第三方面的任一可能的实现方式中的方法。

第九方面,本申请提供一种业务TAM服务器,包括:处理器,处理器用于运行存储器中存储的计算机程序,以实现第四方面的任一可能的实现方式中的方法。

第十方面,本申请提供一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,计算机程序被计算机执行时实现第二方面的任一可能的实现方式中的方法,或实现第三方面的任一可能的实现方式中的方法,或实现第四方面的任一可能的实现方式中的方法。

第十一方面,本申请提供一种计算机程序产品,计算机程序产品存储有计算机程序,计算机程序被计算机执行时实现第二方面的任一可能实现方式中的方法,或实现第三方面的任一可能实现方式中的方法,或实现第四方面的任一可能实现方式中的方法。

第十二方面,本申请提供一种芯片,包括处理器和存储器,处理器用于运行存储器中存储的计算机程序,以实现第二方面的任一可能实现方式中的方法,或实现第三方面的任一可能实现方式中的方法,或实现第四方面的任一可能实现方式中的方法。

本申请提供的第二方面至第十二方面的技术效果可以参见上述第一方面的各个可能的实现方式的技术效果,此处不再赘述。

附图说明

图1为本申请实施例提供的一种NFC卡片生成系统的示意性框图。

图2为本申请实施例提供的一种电子设备的结构示意图。

图3为本申请实施例提供的一种电子设备的软件结构示意图。

图4为本申请实施例提供的一种计算设备的结构示意图。

图5为本申请实施例提供的一种NFC生成方法的流程示意图。

图6为本申请实施例提供的一种电子设备的显示界面示意图。

图7为本申请实施例提供的一种电子设备与TAM平台之间的交互示意图。

图8为本申请实施例提供的另一种电子设备与TAM平台之间的交互示意图。

图9为本申请实施例提供的另一种电子设备与TAM平台之间的交互示意图。

图10为本申请实施例提供的一种电子设备与读卡设备之间的交互示意图。

图11为本申请实施例提供的一种电子设备内部的交互示意图。

图12为本申请实施例提供的一种NFC卡片生成装置的示意性框图。

具体实施方式

下面结合本申请实施例中的附图以及相关实施例,对本申请实施例中的技术方案进行描述。其中,在本申请实施例的描述中,以下实施例中所使用的术语只是为了描述特定实施例的目的,而并非旨在作为对本申请的限制。如在本申请的说明书和所附权利要求书中所使用的那样,单数表达形式“一种”、“所述”、“上述”、“该”和“这一”旨在也包括例如“一个或多个”这种表达形式,除非其上下文中明确地有相反指示。还应当理解,在本申请以下各实施例中,“至少一个”、“一个或多个”是指一个或两个以上(包含两个)。术语“和/或”,用于描述关联对象的关联关系,表示可以存在三种关系;例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B的情况,其中A、B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。

在本说明书中描述的参考“一个实施例”或“一些实施例”等意味着在本申请的一个或多个实施例中包括结合该实施例描述的特定特征、结构或特点。由此,在本说明书中的不同之处出现的语句“在一个实施例中”、“在一些实施例中”、“在其他一些实施例中”、“在另外一些实施例中”等不是必然都参考相同的实施例,而是意味着“一个或多个但不是所有的实施例”,除非是以其他方式另外特别强调。术语“包括”、“包含”、“具有”及它们的变形都意味着“包括但不限于”,除非是以其他方式另外特别强调。术语“连接”包括直接连接和间接连接,除非另外说明。“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。

在本申请实施例中,“示例性地”或者“例如”等词用于表示作例子、例证或说明。本申请实施例中被描述为“示例性地”或者“例如”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用“示例性地”或者“例如”等词旨在以具体方式呈现相关概念。

本申请实施例中提供的方法中所涉及到的步骤仅仅作为示例,并非所有的步骤均是必须执行的步骤,或者并非各个信息或者消息中的内容均是必选的,在使用过程中可以根据需要酌情增加或者减少。本申请实施例中,同一个步骤或者具有相同功能的步骤或者消息在不同实施例之间可以互相参考借鉴。

近场通信(near field communication,NFC)技术可以使电子设备之间进行非接触式的设备识别和数据传输。具备NFC功能的电子设备可以模拟银行卡、交通卡、门禁卡等不同类型的NFC卡片,从而实现移动支付、交通刷卡、解锁等业务。

现有技术一般可以基于硬件的虚拟卡模式以及基于软件的主机卡模拟(hostcard emulation,HCE)使电子设备实现卡模拟功能。其中,基于硬件的虚拟卡模式需要在电子设备中设置用于承载不同类型的NFC卡片对应的NFC应用以及应用数据的安全元件(secure element,SE),安全元件可以为移动网络运营商开发的NFC-SIM(near fieldcommunication-subscriber identity module)卡,基于NFC-SIM卡实现卡模拟时需要电子设备及电子设备中的操作系统设置有NFC控制器与NFC-SIM卡之间的通信通道,使NFC控制器基于该通信通道将读卡设备发送的NFC数据传输至NFC-SIM卡内的NFC应用中进行处理,但现有的可以兼容NFC-SIM卡的电子设备类型有限,该方案的普适性较低。安全元件也可以为安全性和隐私性较高的安全芯片,NFC应用可以在安全芯片中的安全环境中处理相应的业务,保证业务信息的安全性,但安全芯片的技术门槛以及硬件成本较高,且较高的技术门槛会导致安全芯片存在供应风险。HCE可以使电子设备在不设置安全元件的情况下实现卡模拟,具体的,电子设备的操作系统获取到来自读卡设备的NFC数据时,可以通过移动网络将NFC数据发送至云端服务器进行处理,或者通过本地的应用程序对NFC数据进行处理,但恶意软件侵入电子设备的操作系统后易获取到NFC卡片信息,安全性能较低,且通过云端服务器处理NFC数据的方式对移动网络的依赖性较高,移动网络的信号较差时会影响用户体验。

为了在降低电子设备的硬件成本的同时确保NFC卡片信息的安全性,本申请实施例提供了一种NFC卡片生成方法、系统、装置、电子设备及服务器。在电子设备中添加NFC卡片时,电子设备可以基于与可信应用管理平台之间建立的安全通信通道,从可信应用管理平台获取经过通道密钥加密的与NFC卡片对应的可信应用的安装包,从而基于解密后的安装包在电子设备的可信执行环境中安装可信应用。通过不同的通道密钥加密传输对应的可信应用的安装包,不仅可以确保安装包传输过程中的安全性,还可以安全隔离不同安装包中的应用数据,确保应用数据的安全性;将电子设备中的可信执行环境(trustedexecution environment,TEE)作为安全载体存储不同业务类型的NFC卡片对应的可信应用以及应用数据,可以降低电子设备的硬件成本。此外,当电子设备获取到来自读卡设备的NFC业务时,电子设备中的可信应用可以在TEE中安全处理对应的NFC卡片的业务,不需要依赖移动网络与云端服务器之间进行交互,与现有的主机卡模拟中通过云端服务器处理NFC数据的方法相比,可以提升用户体验。

接下来首先对本申请实施例提供的NFC卡片生成方法所涉及的系统进行介绍。

图1是本申请实施例提供的一种NFC卡片生成系统的示意性框图。参见图1,本申请实施例提供的NFC卡片生成系统包括电子设备以及可信应用管理(trusted applicationmanagement,TAM)平台。

其中,电子设备可以为手机、平板电脑、可穿戴电子设备(例如智能手表、智能手环等)、膝上型计算机等具备NFC功能的便携式电子设备。本申请实施例对电子设备的具体类型不作任何限制。

电子设备中配置有TEE和富执行环境(rich execution environment,REE)。其中,TEE是电子设备中的中央处理器上的一块安全区域,TEE中运行有至少一个可信应用(trusted application,TA),例如与至少一种业务类型的NFC卡片对应的NFC可信应用、身份认证模块等,其中,NFC可信应用用于处理与对应的NFC卡片相关的业务,身份认证模块用于对电子设备采集的用户身份信息进行验证。TEE可以为可信应用提供安全的运行环境。

REE中运行有至少一个客户端应用(client application,CA),客户端应用(例如图1中所示的第一应用)为运行在REE中的非可信应用程序。示例性的,第一应用可以为电子设备厂商开发的华为钱包等钱包应用,用户可以在第一应用中添加或删除银行卡、门禁卡、健身卡、交通卡、钥匙等NFC卡片,也可以对某张NFC卡片进行充值、修改卡片信息等。

TAM平台为用于安全管理NFC可信应用的平台,TAM平台中可以存储与多种不同业务类型的NFC卡片一一对应的NFC可信应用的安装包,NFC可信应用的安装包中可以包括可信应用安装程序以及NFC可信应用运行时所需的应用数据。

在本申请实施例中,TAM平台可以包括与电子设备对应的设备TAM服务器,示例性的,设备TAM服务器可以是华为钱包服务器。设备TAM服务器中不仅可以存储电子设备厂商自身开发的与NFC卡片对应的NFC可信应用的安装包,例如与华为智能门锁卡对应的门锁可信应用的安装包、与鸿蒙智能汽车钥匙对应的车钥匙可信应用的安装包等;设备TAM服务器中还可以存储第三方厂商开发并上传至设备TAM服务器中的与NFC卡片对应的NFC可信应用的安装包,例如与门禁卡对应的门禁可信应用的安装包、与交通卡对应的交通卡可信应用的安装包等。

用户在电子设备的第一应用中添加第一NFC卡片时,电子设备用于根据待添加的第一NFC卡片的业务类型,确定设备TAM服务器中是否存在与第一NFC卡片对应的第一可信应用的安装包。若设备TAM服务器中存在与第一NFC卡片对应的第一可信应用的安装包,则电子设备可以根据第一NFC卡片的业务信息和电子设备的设备信息从设备TAM服务器中获取对应的第一通道密钥,以建立电子设备的TEE与设备TAM服务器之间的第一安全通信通道,并基于第一安全通信通道从设备TAM服务器中获取到通过第一通道密钥加密的第一可信应用的安装包,保证可信应用传输时的安全性;电子设备还可以将TEE作为安全载体存储第一可信应用及对应的应用数据,不需要额外设置安全元件,可以降低电子设备的硬件成本。

可以理解的是,有些NFC卡片的业务涉及商业机密以及用户的隐私数据,为了提高业务的安全性,与该类NFC卡片对应的可信应用的安装包仅存储在与NFC卡片的业务对应的业务TAM服务器中。其中,与NFC卡片的业务对应的业务TAM服务器是指为实现该NFC卡片的业务提供服务的云端服务器。在电子设备中添加该类NFC卡片时,电子设备无法从设备TAM服务器中获取到对应的可信应用的安装包。基于此,本申请实施例提供的TAM平台中还包括与NFC卡片的业务对应的业务TAM服务器,例如与银行卡的支付业务对应的银行TAM服务器、与车辆的开锁业务对应的车辆厂商TAM服务器等。

在本申请实施例中,若在电子设备的第一应用中添加第一NFC卡片时,设备TAM服务器中不存在与第一NFC卡片对应的第一可信应用的安装包,则电子设备可以直接从业务TAM服务器中获取第二通道密钥,或者电子设备可以基于设备TAM服务器提供的第一通道密钥从业务TAM服务器中获取第二通道密钥,以基于第二通道密钥建立TEE与业务TAM服务器之间的第二安全通信通道,并基于第二安全通信通道从业务TAM服务器获取到通过第二通道密钥加密的第一可信应用的安装包,并根据解密后的安装包在TEE中安装第一可信应用,设备TAM服务器无法获取到业务TAM服务器生成的第二通道密钥,更无法获取存储在业务TAM服务器中的可信应用以及应用数据,可以确保业务方的应用数据的安全性。

参见图1所示的NFC卡片生成系统的示意性框图,本申请实施例提供的NFC卡片生成系统还包括读卡设备。示例性的,读卡设备可以为银行销售终端(point of sale,POS)机、地铁闸机、公交刷卡机,门禁闸机、车辆读卡器等读卡器。

如图1所示,读卡设备和电子设备中均设置有NFC控制器。读卡设备中配置有REE,用于为读卡程序提供标准开放的接口和能力。若电子设备和读卡设备均开启NFC服务,则电子设备位于读卡设备的射频范围内时,电子设备与读卡设备之间可以通过NFC控制器进行通信。在本申请实施例中,电子设备可以通过NFC控制器接收读卡设备对第一NFC卡片的信息获取请求,并通过运行在TEE中的第一可信应用处理第一NFC卡片的业务,从而将获取到的第一NFC卡片的卡片信息通过NFC控制器发送至读卡设备,确保获取卡片信息过程的安全性。

以下首先介绍本申请实施例涉及的电子设备。请参阅图2,图2示出了电子设备200的一种结构示意图。

电子设备200可以包括处理器210,外部存储器接口220,内部存储器221,通用串行总线(universal serial bus,USB)接口230,充电管理模块240,电源管理模块241,电池242,天线1,天线2,移动通信模块250,无线通信模块260,传感器模块270,按键280,以及显示屏290等。其中,传感器模块270可以包括压力传感器270A,陀螺仪传感器270B,加速度传感器270C,温度传感器270D,触摸传感器270E,等等。

处理器210可以包括一个或多个处理单元,例如:处理器210可以包括应用处理器(application processor,AP),调制解调处理器,图形处理器(graphics processingunit,GPU),图像信号处理器(image signal processor,ISP),控制器,视频编解码器,数字信号处理器(digital signal processor,DSP),基带处理器,和/或神经网络处理器(neural-network processing unit,NPU)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。控制器可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。

处理器210中还可以设置存储器,用于存储指令和数据。在一些实施例中,处理器210中的存储器为高速缓冲存储器。该存储器可以保存处理器210刚用过或循环使用的指令或数据。如果处理器210需要再次使用该指令或数据,可从所述存储器中直接调用。避免了重复存取,减少了处理器210的等待时间,因而提高了系统的效率。存储器还可用于存储计算机程序,本申请图5至图11所示的实施例中电子设备的动作均可以通过电子设备中的处理器210调用存储器内的计算机程序来执行。

在一些实施例中,处理器210可以包括一个或多个接口。接口可以包括集成电路(inter-integrated circuit,I2C)接口,集成电路内置音频(inter-integrated circuitsound,I2S)接口,脉冲编码调制(pulse code modulation,PCM)接口,通用异步收发传输器(universal asynchronous receiver/transmitter,UART)接口,移动产业处理器接口(mobile industry processor interface,MIPI),通用输入输出(general-purposeinput/output,GPIO)接口,用户标识模块(subscriber identity module,SIM)接口,和/或通用串行总线(universal serial bus,USB)接口等。

I2C接口是一种双向同步串行总线,包括一根串行数据线(serial data line,SDA)和一根串行时钟线(derail clock line,SCL)。在一些实施例中,处理器210可以包含多组I2C总线。处理器210可以通过不同的I2C总线接口分别耦合触摸传感器270E,充电器等。例如:处理器210可以通过I2C接口耦合触摸传感器270E,使处理器210与触摸传感器270E通过I2C总线接口通信,实现电子设备200的触摸功能。

UART接口是一种通用串行数据总线,用于异步通信。该总线可以为双向通信总线。它将要传输的数据在串行通信与并行通信之间转换。在一些实施例中,UART接口通常被用于连接处理器210与无线通信模块260。例如:处理器210通过UART接口与无线通信模块260中的蓝牙模块通信,实现蓝牙功能。MIPI接口可以被用于连接处理器210与显示屏290等外围器件。MIPI接口包括摄像头串行接口(camera serial interface,CSI),显示屏串行接口(display serial interface,DSI)等。在一些实施例中,处理器210和显示屏290通过DSI接口通信,实现电子设备200的显示功能。

GPIO接口可以通过软件配置。GPIO接口可以被配置为控制信号,也可被配置为数据信号。在一些实施例中,GPIO接口可以用于连接处理器210与显示屏290,无线通信模块260,传感器模块270等。GPIO接口还可以被配置为I2C接口,I2S接口,UART接口,MIPI接口等。

USB接口230是符合USB标准规范的接口,具体可以是Mini USB接口,Micro USB接口,USB Type C接口等。USB接口230可以用于连接充电器为电子设备200充电,也可以用于电子设备200与外围设备之间传输数据。也可以用于连接耳机,通过耳机播放音频。该接口还可以用于连接其他电子设备,例如AR设备等。

可以理解的是,本申请实施例示意的各模块间的接口连接关系,只是示意性说明,并不构成对电子设备200的结构限定。在本申请另一些实施例中,电子设备200也可以采用上述实施例中不同的接口连接方式,或多种接口连接方式的组合。

充电管理模块240用于从充电器接收充电输入。其中,充电器可以是无线充电器,也可以是有线充电器。在一些有线充电的实施例中,充电管理模块240可以通过USB接口230接收有线充电器的充电输入。在一些无线充电的实施例中,充电管理模块240可以通过电子设备200的无线充电线圈接收无线充电输入。充电管理模块240为电池242充电的同时,还可以通过电源管理模块241为电子设备供电。

电源管理模块241用于连接电池242,充电管理模块240与处理器210。电源管理模块241接收电池242和/或充电管理模块240的输入,为处理器210,内部存储器221,显示屏290,和无线通信模块260等供电。电源管理模块241还可以用于监测电池容量,电池循环次数,电池健康状态(漏电,阻抗)等参数。在其他一些实施例中,电源管理模块241也可以设置于处理器210中。在另一些实施例中,电源管理模块241和充电管理模块240也可以设置于同一个器件中。

电子设备200的无线通信功能可以通过天线1,天线2,移动通信模块250,无线通信模块260,调制解调处理器以及基带处理器等实现。

天线1和天线2用于发射和接收电磁波信号。电子设备200中的每个天线可用于覆盖单个或多个通信频带。不同的天线还可以复用,以提高天线的利用率。例如:可以将天线1复用为无线局域网的分集天线。在另外一些实施例中,天线可以和调谐开关结合使用。

移动通信模块250可以提供应用在电子设备200上的包括2G/3G/4G/5G等无线通信的解决方案。移动通信模块250可以包括至少一个滤波器,开关,功率放大器,低噪声放大器(low noise amplifier,LNA)等。移动通信模块250可以由天线1接收电磁波,并对接收的电磁波进行滤波,放大等处理,传送至调制解调处理器进行解调。移动通信模块250还可以对经调制解调处理器调制后的信号放大,经天线1转为电磁波辐射出去。在一些实施例中,移动通信模块250的至少部分功能模块可以被设置于处理器210中。在一些实施例中,移动通信模块250的至少部分功能模块可以与处理器210的至少部分模块被设置在同一个器件中。

调制解调处理器可以包括调制器和解调器。其中,调制器用于将待发送的低频基带信号调制成中高频信号。解调器用于将接收的电磁波信号解调为低频基带信号。随后解调器将解调得到的低频基带信号传送至基带处理器处理。低频基带信号经基带处理器处理后,被传递给应用处理器。应用处理器通过显示屏290显示图像或视频。在一些实施例中,调制解调处理器可以是独立的器件。在另一些实施例中,调制解调处理器可以独立于处理器210,与移动通信模块250或其他功能模块设置在同一个器件中。

无线通信模块260可以提供应用在电子设备200上的包括无线局域网(wirelesslocal area networks,WLAN)(如无线保真(wireless fidelity,Wi-Fi)网络),蓝牙(bluetooth,BT),全球导航卫星系统(global navigation satellite system,GNSS),调频(frequency modulation,FM),近距离无线通信技术(near field communication,NFC),红外技术(infrared,IR)等无线通信的解决方案。无线通信模块260可以是集成至少一个通信处理模块的一个或多个器件。无线通信模块260经由天线2接收电磁波,将电磁波信号调频以及滤波处理,将处理后的信号发送到处理器210。无线通信模块260还可以从处理器210接收待发送的信号,对其进行调频,放大,经天线2转为电磁波辐射出去。

在一些实施例中,电子设备200的天线1和移动通信模块250耦合,天线2和无线通信模块260耦合,使得电子设备200可以通过无线通信技术与网络以及其他设备通信。所述无线通信技术可以包括全球移动通讯系统(global system for mobile communications,GSM),通用分组无线服务(general packet radio service,GPRS),码分多址接入(codedivision multiple access,CDMA),宽带码分多址(wideband code division multipleaccess,WCDMA),时分码分多址(time-division code division multiple access,TD-SCDMA),长期演进(long term evolution,LTE),BT,GNSS,WLAN,NFC ,FM,和/或IR技术等。所述GNSS可以包括全球卫星定位系统(global positioning system ,GPS),全球导航卫星系统(global navigation satellite system,GLONASS),北斗卫星导航系统(beidounavigation satellite system,BDS),准天顶卫星系统(quasi-zenith satellitesystem,QZSS)和/或星基增强系统(satellite based augmentation systems,SBAS)。

电子设备200通过GPU,显示屏290,以及应用处理器等实现显示功能。GPU为图像处理的微处理器,连接显示屏290和应用处理器。GPU用于执行数学和几何计算,用于图形渲染。处理器210可包括一个或多个GPU,其执行程序指令以生成或改变显示信息。

显示屏290用于显示图像,视频等。显示屏290包括显示面板。显示面板可以采用液晶显示屏(liquid crystal display,LCD),有机发光二极管(organic light-emittingdiode,OLED),有源矩阵有机发光二极体或主动矩阵有机发光二极体(active-matrixorganic light emitting diode,AMOLED),柔性发光二极管(flex light-emittingdiode,FLED),Miniled,MicroLed,Micro-oLed,量子点发光二极管(quantum dot lightemitting diodes,QLED)等。在一些实施例中,电子设备200可以包括1个或N个显示屏290,N为大于1的正整数。

数字信号处理器用于处理数字信号,除了可以处理数字图像信号,还可以处理其他数字信号。例如,当电子设备200在频点选择时,数字信号处理器用于对频点能量进行傅里叶变换等。

视频编解码器用于对数字视频压缩或解压缩。电子设备200可以支持一种或多种视频编解码器。这样,电子设备200可以播放或录制多种编码格式的视频,例如:动态图像专家组(moving picture experts group,MPEG)1,MPEG2,MPEG3,MPEG4等。

NPU为神经网络(neural-network,NN)计算处理器,通过借鉴生物神经网络结构,例如借鉴人脑神经元之间传递模式,对输入信息快速处理,还可以不断的自学习。通过NPU可以实现电子设备200的智能认知等应用,例如:图像识别,人脸识别,语音识别,文本理解等。

外部存储器接口220可以用于连接外部存储卡,例如Micro SD卡,实现扩展电子设备200的存储能力。外部存储卡通过外部存储器接口220与处理器210通信,实现数据存储功能。例如将视频等文件保存在外部存储卡中。

内部存储器221可以用于存储计算机可执行程序代码,所述可执行程序代码包括指令。内部存储器221可以包括存储程序区和存储数据区。其中,存储程序区可存储操作系统,至少一个功能所需的应用程序(比如图像播放功能等)等。存储数据区可存储电子设备200使用过程中所创建的数据(比如电话本等)等。此外,内部存储器221可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件,闪存器件,通用闪存存储器(universal flash storage,UFS)等。处理器210通过运行存储在内部存储器221的指令,和/或存储在设置于处理器中的存储器的指令,执行电子设备200的各种功能应用以及数据处理。

压力传感器270A用于感受压力信号,可以将压力信号转换成电信号。在一些实施例中,压力传感器270A可以设置于显示屏290。压力传感器270A的种类很多,如电阻式压力传感器,电感式压力传感器,电容式压力传感器等。电容式压力传感器可以是包括至少两个具有导电材料的平行板。当有力作用于压力传感器270A,电极之间的电容改变。电子设备200根据电容的变化确定压力的强度。当有触摸操作作用于显示屏290,电子设备200根据压力传感器270A检测所述触摸操作强度。电子设备200也可以根据压力传感器270A的检测信号计算触摸的位置。在一些实施例中,作用于相同触摸位置,但不同触摸操作强度的触摸操作,可以对应不同的操作指令。例如:当有触摸操作强度小于第一压力阈值的触摸操作作用于短消息应用图标时,执行查看短消息的指令。当有触摸操作强度大于或等于第一压力阈值的触摸操作作用于短消息应用图标时,执行新建短消息的指令。

陀螺仪传感器270B可以用于确定电子设备200的运动姿态。在一些实施例中,可以通过陀螺仪传感器270B确定电子设备200围绕三个轴(即,x,y和z轴)的角速度。陀螺仪传感器270B可以用于导航,体感游戏场景。

加速度传感器270C可检测电子设备200在各个方向上(一般为三轴)加速度的大小。当电子设备200静止时可检测出重力的大小及方向。还可以用于识别电子设备姿态,应用于横竖屏切换,计步器等应用。

温度传感器270D用于检测温度。在一些实施例中,电子设备200利用温度传感器270D检测的温度,执行温度处理策略。例如,当温度传感器270D上报的温度超过阈值,电子设备200执行降低位于温度传感器270D附近的处理器的性能,以便降低功耗实施热保护。在另一些实施例中,当温度低于另一阈值时,电子设备200对电池242加热,以避免低温导致电子设备200异常关机。在其他一些实施例中,当温度低于又一阈值时,电子设备200对电池242的输出电压执行升压,以避免低温导致的异常关机。

触摸传感器270E,也称“触控器件”。触摸传感器270E可以设置于显示屏290,由触摸传感器270E与显示屏290组成触摸屏,也称“触控屏”。触摸传感器270E用于检测作用于其上或附近的触摸操作。触摸传感器可以将检测到的触摸操作传递给应用处理器,以确定触摸事件类型。可以通过显示屏290提供与触摸操作相关的视觉输出。在另一些实施例中,触摸传感器270E也可以设置于电子设备200的表面,与显示屏290所处的位置不同。

按键280包括电源键,音量键等。按键280可以是机械按键,也可以是触摸式按键。电子设备200可以接收按键输入,产生与电子设备200的用户设置以及功能控制有关的键信号输入。

可以理解的是,本申请实施例示意的结构并不构成对电子设备200的具体限定。在本申请另一些实施例中,电子设备200可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。

参见图3,为本申请实施例的电子设备的软件结构示意图。电子设备中的操作系统可以是安卓(Android)系统,微软窗口系统(Windows),苹果移动操作系统(iOS)或者鸿蒙系统(Harmony OS)等。在此,以电子设备的操作系统为鸿蒙系统为例进行说明。

在一些实施例中,可将鸿蒙系统分为四层,包括内核层、系统服务层、框架层以及应用层,层与层之间通过软件接口通信。

如图3所示,内核层包括内核抽象层(kernel abstract layer,KAL)和驱动子系统。KAL下包括多个内核,如Linux系统的内核Linux Kernel、轻量级物联网系统内核LiteOS等。驱动子系统则可以包括硬件驱动框架(hardware driver foundation,HDF)。硬件驱动框架能够提供统一外设访问能力和驱动开发、管理框架。多内核的内核层可以根据系统的需求选择相应的内核进行处理。

系统服务层是鸿蒙系统的核心能力集合,系统服务层通过框架层对应用程序提供服务。该层可包括系统基本能力子系统集、基础软件服务子系统集、增强软件服务子系统集以及硬件服务子系统集。

系统基本能力子系统集为分布式应用在鸿蒙系统的设备上的运行、调度、迁移等操作提供了基础能力。可包括分布式软总线、分布式数据管理、分布式任务调度、方舟多语言运行时、公共基础库、多模输入、图形、安全、人工智能(artificial intelligence,AI)、用户程序框架等子系统。其中,方舟多语言运行时提供了C或C++或JavaScript(JS)多语言运行时和基础的系统类库,也可以为使用方舟编译器静态化的Java程序(即应用程序或框架层中使用Java语言开发的部分)提供运行时。

基础软件服务子系统集为鸿蒙系统提供公共的、通用的软件服务。可包括事件通知、电话、多媒体、面向X设计(design for X,DFX)、MSDP&DV等子系统。

增强软件服务子系统集为鸿蒙系统提供针对不同设备的、差异化的能力增强型软件服务。可包括智慧屏专有业务、穿戴专有业务、物联网(internet of things,IoT)专有业务子系统组成。

硬件服务子系统集为鸿蒙系统提供硬件服务。可包括位置服务、生物特征识别、穿戴专有硬件服务、IoT专有硬件服务等子系统。

框架层为鸿蒙系统应用开发提供了Java、C、C++、JS等多语言的用户程序框架和能力(Ability)框架,两种用户界面(user interface,UI)框架(包括适用于Java语言的JavaUI框架、适用于JS语言的JS UI框架),以及各种软硬件服务对外开放的多语言框架应用程序接口(application programming interface,API)。根据系统的组件化裁剪程度,鸿蒙系统设备支持的API也会有所不同。

应用层包括系统应用和第三方应用(或称为扩展应用)。系统应用可包括桌面、控制栏、设置、电话等电子设备默认安装的应用程序。扩展应用可以是由电子设备的制造商开发设计的、非必要的应用,如电子设备管家、换机迁移、便签、天气等应用程序。而第三方非系统应用则可以是由其他厂商开发,但是可以在鸿蒙系统中运行应用程序,如会议、游戏、导航、社交或购物等应用程序。

提供后台运行任务的能力以及统一的数据访问抽象。PA主要为FA提供支持,例如作为后台服务提供计算能力,或作为数据仓库提供数据访问能力。基于FA或PA开发的应用,能够实现特定的业务功能,支持跨设备调度与分发,为用户提供一致、高效的应用体验。

多个运行鸿蒙系统的电子设备之间可以通过分布式软总线、分布式设备虚拟化、分布式数据管理和分布式任务调度实现硬件互助和资源共享。

本申请实施例中涉及的设备TAM服务器和业务TAM服务器均可以为超级移动个人计算机(ultra-mobile personal computer,UMPC)等计算设备。请参阅图4,图4示出了一种计算设备的结构示意图,本申请实施例涉及的设备TAM服务器和业务TAM服务器均可以通过图4所示的计算设备400来实现。

如图4所示,该计算设备400可以包括至少一个处理器401、通信总线402、存储器403以及至少一个通信接口404。需要说明的是,图4示出的设备结构并不构成对计算设备400的限定,计算设备400可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置,本申请实施例对此不进行限定。下面结合图4对计算设备400的各个构成部件进行详细的介绍:

处理器401是该计算设备400的控制中心,可以是一个处理器,也可以是多个处理元件的统称。例如,处理器401可以是一个通用中央处理器(central processing unit,CPU),或特定应用集成电路(application-specific integrated circuit,ASIC),或一个或多个用于控制本申请方案程序执行的集成电路,例如:一个或多个微处理器(digitalsignal processor,DSP),或,一个或者多个现场可编程门阵列(field programmable gatearray,FPGA)。其中,处理器401可以通过运行或执行存储在存储器403内的软件程序,以及调用存储在存储器403内的数据,执行计算设备400的各种功能。例如,图7至图10所示的实施例中设备TAM服务器或业务TAM服务器的动作即可以通过相应设备的处理器调用存储器内的数据来执行。

作为一种实施例,处理器401可以包括一个或多个CPU,例如图4中所示的CPU0和CPU1。

作为一种实施例,计算设备400可以包括多个处理器,例如图4中所示的处理器401和处理器405。这些处理器中的每一个可以是一个单核(single-CPU)处理器,也可以是一个多核(multi-CPU)处理器。这里的处理器可以指一个或多个设备、电路、和/或用于处理数据(例如计算机程序指令)的处理核。

通信总线402可包括一通路,在上述组件之间传送信息。该通信总线402可以是工业标准体系结构(industry standard architecture,ISA)总线、外部设备互连(peripheral component,PCI)总线或扩展工业标准体系结构(extended industrystandard architecture,EISA)总线等。该总线可以分为地址总线、数据总线、控制总线等。为便于表示,图4中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。

存储器403可以是只读存储器(read-only memory,ROM)或可存储静态信息和指令的其它类型的静态存储设备,随机存取存储器(random access memory,RAM))或者可存储信息和指令的其它类型的动态存储设备,也可以是电可擦可编程只读存储器(electrically erasable programmable read-only memory,EEPROM)、只读光盘(compactdisc read-only memory,CD-ROM)或其它光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其它磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其它介质,但不限于此。存储器403可以是独立存在,通过通信总线402与处理器401相连接。存储器403也可以和处理器401集成在一起。其中,存储器403用于存储执行本申请实施例提供的方案的软件程序,并由处理器401来控制执行。

通信接口404,用于与其他设备或通信网络通信,如以太网,RAN,无线局域网(wireless local area networks,WLAN)等。通信接口404可以包括接收单元实现接收功能,以及发送单元实现发送功能。

作为一种实施例,计算设备400还可以包括输出设备406和输入设备407。输出设备406和处理器401通信,可以以多种方式来显示信息。例如,输出设备406可以是液晶显示器(liquid crystal display,LCD),发光二级管(light emitting diode,LED)显示设备,阴极射线管(cathode ray tube,CRT)显示设备,或投影仪(projector)等。输入设备407和处理器401通信,可以以多种方式接收输入。例如,输入设备407可以是鼠标、键盘、触摸屏设备或传感设备等。

上述的计算设备400可以是一个通用计算设备或者是一个专用计算设备。例如,可以是台式机、便携式电脑、网络服务器等,本申请实施例对此不作限定。

下面以在电子设备中的第一应用中添加第一NFC卡片为例,结合相应流程图对本申请实施例提供的NFC卡片生成方法进行具体说明。其中,第一应用可以为能够用于添加多个业务类型的NFC卡片的钱包应用,第一应用可以在电子设备的REE中运行。

参见图5所示的一种NFC卡片生成方法的流程示意图,主要涉及电子设备从TAM平台获取与待添加的第一NFC卡片所要实现的第一业务对应的第一可信应用的安装包,并在电子设备的TEE中安装第一可信应用的过程。在一种可能的实现方式中,该方法可以包括如下步骤S510至S550,各步骤具体如下。

S510,电子设备响应于添加第一NFC卡片的操作,从TAM平台中获取为电子设备中的第一业务分配的通道密钥,并将通道密钥存储在可信执行环境中,其中,第一业务为第一NFC卡片对应的业务。

在一个实施例中,用户可以在电子设备中的第一应用中触发添加第一NFC卡片的操作,示例性的,第一应用可以为钱包应用,参见图6所示一种电子设备的显示界面示意图,第一应用的第一显示界面610中可以显示未在该电子设备中添加的至少一个NFC卡片(例如图6中所示的银行卡、交通卡以及车钥匙),用户点击第一显示界面610中任意一个NFC卡片中的“添加”按键,即可触发添加该NFC卡片的操作。可选地,第一显示界面610中还可以显示已在该电子设备中添加的至少一个NFC卡片,例如图6中所示的门禁卡。

可选地,用户触发第一NFC卡片的操作之后,电子设备还可以获取添加第一NFC卡片时所需的相关信息,并在获取到相关信息之后,从TAM平台获取为电子设备中的第一业务分配的通道密钥。

示例性的,参见图6所示的显示界面示意图,若第一NFC卡片为银行卡,则用户点击第一显示界面610中银行卡的“添加”按键后,电子设备可以显示第二显示界面620,用于提示用户输入待添加的银行卡的相关信息,例如银行名称、银行卡号、与银行卡绑定的手机号、银行卡的交易密码等。若第一NFC卡片为交通卡,则用户点击第一显示界面610中交通卡的“添加”按键后,电子设备可以提示用户输入交通卡的类型(例如地铁卡、公交卡等)以及所使用的城市等相关信息。用户在第二显示界面620中输入完所有的相关信息,并点击第二显示界面620中的“确定”按钮之后,电子设备可以从TAM平台获取为电子设备中的第一业务分配的通道密钥。

本申请实施例提供的TAM平台包括与电子设备对应的设备TAM服务器,可选地,TAM平台还可以包括与第一NFC卡片的第一业务对应的业务TAM服务器。基于此,电子设备可以通过不同的方式从TAM平台中的不同TAM服务器中获取为电子设备中的第一业务分配的通道密钥。具体的,若设备TAM服务器中存储有与第一NFC卡片对应的第一可信应用的第一安装包,则电子设备可以通过下述方式一从TAM平台中的设备TAM服务器中获取为电子设备中的第一业务分配的多个第一通道密钥;若设备TAM服务器中未存储有与第一NFC卡片对应的第一可信应用的第一安装包,则电子设备可以通过下述方式二从TAM平台中的业务TAM服务器中获取为电子设备中的第一业务分配的多个第二通道密钥,或者通过下述方式三从业务TAM服务器中获取为电子设备中的第一业务分配的多个第二通道密钥。其中,为电子设备中的第一业务分配的通道密钥包括上述的多个第一通道密钥和/或多个第二通道密钥。

下面结合相应流程图和应用场景对电子设备从TAM平台中获取通道密钥的三种不同方式进行具体说明。

方式一

参见图7所示的电子设备与TAM平台中的设备TAM服务器之间的交互示意图,主要涉及电子设备基于电子设备的设备信息和第一NFC卡片所对应的第一业务的业务信息,从TAM平台中的设备TAM服务器中获取多个第一通道密钥的过程。其中,电子设备的设备信息包括电子设备的设备标识和设备证书,第一NFC卡片所要实现的第一业务的业务信息包括第一业务的业务标识和业务证书。该方法包括如下步骤S710至S740,各步骤具体如下。

S710,电子设备生成第一通道密钥获取请求,第一通道密钥获取请求包括设备标识、设备证书、业务标识和业务证书。

其中,设备标识为电子设备的唯一设备标识符(unique device identifier,UDID),设备证书为在电子设备出厂时设置的用于识别电子设备身份以及确认电子设备是否安全可靠的电子证书。业务标识用于指示第一NFC卡片所要实现的第一业务的业务类型,示例性的,业务类型可以为某一个城市的交通卡、某一个银行的银行卡、某一个品牌的车钥匙等。业务证书可以为合规管理体系(compliance management system,CMS)认证证书。

在本申请实施例中,为了保证第一通道密钥获取请求中的信息的安全性,电子设备可以在TEE中生成第一通道密钥获取请求,并对第一通道密钥获取请求中的信息进行加密。

具体的,电子设备可以先根据第一NFC卡片所对应的第一业务的业务标识、设备证书以及与设备证书对应的设备证书私钥,生成与第一NFC卡片所要实现的第一业务的业务标识对应的业务证书和业务私钥,并生成第一安全随机数;然后,通过业务私钥对设备标识、业务标识以及第一安全随机数进行签名,得到第一签名信息;通过预存的设备TAM服务器的服务器公钥对第一签名信息、第一安全随机数、设备标识、业务标识、设备证书以及业务证书进行加密,得到第一加密信息,并基于第一加密信息生成第一通道密钥获取请求。其中,第一通道密钥获取请求包括该第一加密信息。

可选的,第一通道密钥获取请求中也可以不包括第一安全随机数。

S720,电子设备向设备TAM服务器发送第一通道密钥获取请求。

S730,设备TAM服务器对设备证书和业务证书进行验证,并在验证通过后,根据设备标识、与业务标识对应的第一业务根密钥以及第一分散规则生成多个第一通道密钥。

具体的,设备TAM服务器可以先通过设备TAM服务器的服务器私钥对第一通道密钥获取请求中的第一加密信息进行解密,得到第一签名信息、第一安全随机数、设备标识、业务标识、设备证书以及业务证书。然后通过预存的与设备标识对应的电子设备的设备根证书,对第一通道密钥获取请求中的设备证书和业务证书进行验证,以及通过第一通道密钥获取请求中的业务证书中的业务公钥对第一签名信息进行验签。若验证结果指示第一通道密钥获取请求中的设备证书和业务证书合法,且验签结果指示第一签名信息合法,则设备TAM服务器可以根据第一分散规则、第一通道密钥获取请求中的设备标识、预存的与第一通道密钥获取请求中的业务标识对应的第一业务根密钥生成多个第一通道密钥。

其中,设备TAM服务器中预存有电子设备的设备标识与设备根证书之间的第一映射关系,以及业务标识与第一业务根密钥之间的第二映射关系。根据预存的第一映射关系,设备TAM服务器可以获取到与第一通道密钥获取请求中的设备标识对应的设备根证书。根据预存的第二映射关系,设备TAM服务器可以获取到与第一通道密钥获取请求中的业务标识对应的第一业务根密钥。

在本申请实施例中,设备TAM服务器生成的多个第一通道密钥各不相同,通过多个第一通道密钥可以对设备TAM服务器与电子设备之间的通信信息进行多层加密,提升设备TAM服务器与电子设备之间的第一安全通信通道的安全性。

作为示例而非限定,第一分散规则可以为将设备标识、与业务标识对应的第一业务根密钥和任意一个随机数依次串接,基于该第一分散规则,设备TAM服务器可以基于三个不同的随机数生成三个不同的第一通道密钥,三个第一通道密钥可以分别为第一通道数据加密密钥(data encryption key,DEK)、第一通道消息鉴别码((Message AuthenticationCode,MAC)密钥以及第一通道加密(encryption,ENC)密钥。其中,设备TAM服务器与电子设备通信的过程中,第一通道DEK可用于加密通信信息中的敏感数据,例如用户身份信息、NFC卡片对应的交易密码等;第一通道MAC密钥可用于加密通信信息中除敏感数据以外的其他信息(例如NFC卡片的卡号等非敏感数据、与NFC卡片对应的可信应用的应用安装程序文件等),也可用于对通过第一通道DEK加密后的敏感数据再次进行加密,以提升敏感数据的安全性;第一通道ENC密钥用于加密整个通信信息,即通过第一通道ENC密钥可以对第一通道DEK加密后的数据以及第一通道MAC密钥加密后的信息再次进行加密。

进一步的,设备TAM服务器生成多个第一通道密钥之后,可以生成多个第一通道密钥、电子设备的设备标识、第一NFC卡片所要实现的第一业务的业务标识之间的映射关系,并对该映射关系进行存储。

需要说明的是,本申请实施例对第一分散规则的实现方式以及第一通道密钥的数量不做任何限定。在其他实施例中,设备TAM服务器也可以生成一个第一通道密钥。

S740,设备TAM服务器向电子设备发送多个第一通道密钥。

在一个实施例中,为了保证多个第一通道密钥在传输过程中的安全性,设备TAM服务器可以对生成的多个第一通道密钥进行加密,并将加密后的多个第一通道密钥发送至电子设备。

在一个示例中,设备TAM服务器可以通过第一通道密钥获取请求中的业务证书中的业务公钥对多个第一通道密钥进行加密,得到第一加密通道密钥,并将第一加密通道密钥发送至电子设备。

相应的,电子设备在接收到包含多个第一通道密钥的第一加密通道密钥之后,可以通过业务私钥对第一加密通道密钥进行解密,从而得到多个第一通道密钥。

在另一个示例中,设备TAM服务器可以通过设备TAM服务器的服务器私钥对多个第一通道密钥和第一通道密钥获取请求中的第一安全随机数进行签名,得到第二签名信息。然后,通过第一通道密钥获取请求中的业务证书中的业务公钥对第二签名信息、第一安全随机数以及多个第一通道密钥进行加密,从而得到第一加密通道密钥,并将第一加密通道密钥发送至电子设备。

在这种情况下,电子设备在接收到包含多个第一通道密钥的第一加密通道密钥之后,可以先通过与第一业务对应的业务私钥对第一加密通道密钥进行解密后,得到第二签名信息、第一安全随机数以及多个第一通道密钥。进一步的,为了验证第一加密通道密钥中的多个第一通道密钥的合法性,电子设备可以通过预存的与设备TAM服务器对应的服务器公钥对第二签名信息中的签名进行验签,并将第一加密通道密钥中的第一安全随机数与步骤S710中生成的第一通道密钥获取请求中的第一安全随机数进行对比。若验签结果指示第二签名信息中的签名合法,且第一加密通道密钥中的第一安全随机数与第一通道密钥获取请求中的第一安全随机数相同,则电子设备可以确定第一加密通道密钥中的多个第一通道密钥为设备TAM服务器为该电子设备中的第一业务生成的完整的通道密钥。

需要说明的是,电子设备在接收到第一加密通道密钥后,可以将该第一加密通道密钥保存至TEE中,并且,上述实施例介绍的电子设备基于第一加密通道密钥获得多个第一通道密钥的过程也可以在TEE中进行,电子设备在获取到多个第一通道密钥之后,可以将该多个第一通道密钥存储在TEE中,以此来保证第一通道密钥的安全性。

基于方式一提供的方法,电子设备可以以设备证书作为信息根,从设备TAM服务器获取该设备TAM服务器为该电子设备中的第一NFC卡片所要实现的第一业务分配的第一通道密钥,这样,通过该第一通道密钥,电子设备的TEE与设备TAM服务器之间能够建立第一安全通信通道,后续电子设备可以基于第一安全通信通道与设备TAM服务器之间进行信息传输。

方式二

参见图8所示的电子设备与TAM平台中的业务TAM服务器以及设备TAM服务器之间的交互示意图,主要涉及电子设备基于第一NFC卡片所要实现的第一业务的业务信息以及电子设备的设备信息,从TAM平台中的设备TAM服务器中获取多个第一通道密钥,并基于多个第一通道密钥从TAM平台中的业务TAM服务器中获取多个第二通道密钥的过程。其中,第一NFC卡片所要实现的第一业务的业务信息包括第一业务的业务标识和业务证书,电子设备的设备信息包括电子设备的设备标识和设备证书。该方法包括如下步骤S810至S890,各步骤具体如下。

S810,电子设备生成第一通道密钥获取请求,第一通道密钥获取请求包括设备标识、设备证书、业务标识和业务证书。

S820,电子设备向设备TAM服务器发送第一通道密钥获取请求。

S830,设备TAM服务器对设备证书和业务证书进行验证,并在验证通过后,根据设备标识、与业务标识对应的第一业务根密钥以及第一分散规则生成多个第一通道密钥。

S840,设备TAM服务器向电子设备发送多个第一通道密钥。

步骤S810至S840的具体实现方式可以参考上述步骤S710至S740中的相关描述,此处不再赘述。

S850,电子设备生成第二通道密钥获取请求,第二通道密钥获取请求包括设备标识、业务标识以及通过多个第一通道密钥加密的设备标识。

在一个实施例中,第二通道密钥获取请求包括明文信息以及基于多个第一通道密钥加密生成的第二加密信息。为了保证第二通道密钥获取请求中的信息的安全性,电子设备可以在TEE中生成第二通道密钥获取请求。

具体的,电子设备可以先通过设备TAM服务器提供的多个第一通道密钥中的其中一个第一通道密钥(例如第一通道MAC密钥)对电子设备生成的第二安全随机数和电子设备的设备标识进行处理,得到第一MAC信息,然后,通过设备TAM服务器提供的多个第一通道密钥中的另一个第一通道密钥(例如第一通道ENC密钥)对第一MAC信息、第二安全随机数以及设备标识进行加密,得到第二加密信息。同时,电子设备可以基于设备标识以及第一NFC卡片所要实现的第一业务的业务标识组成明文信息。

S860,电子设备向业务TAM服务器发送第二通道密钥获取请求。

S870,业务TAM服务器根据设备标识、与业务标识对应的第一业务根密钥以及第一分散规则生成多个第一通道密钥。

在本申请实施例中,为了对电子设备发送的第二通道密钥获取请求中的第二加密信息进行解密,并验证第二加密信息中的各数据的完整性,业务TAM服务器可以先基于与设备TAM服务器之间共享的第一分散规则、与第二通道密钥获取请求的明文信息中的业务标识对应的第一业务根密钥以及明文信息中的设备标识,生成多个第一通道密钥。

S880,业务TAM服务器通过多个第一通道密钥对设备标识的完整性进行验证,并在验证通过后,根据设备标识、与业务标识对应的第二业务根密钥以及第二分散规则生成多个第二通道密钥。

具体的,业务TAM服务器可以通过自身生成的多个第一通道密钥中的其中一个第一通道密钥(例如第一通道ENC密钥)对第二通道密钥获取请求中的第二加密信息进行解密,得到第二加密信息中的第一MAC信息、第二安全随机数和设备标识。然后,业务TAM服务器可以通过自身生成的第一通道MAC密钥与第二加密信息中的第二安全随机数和设备标识来计算第二MAC信息,如果第一MAC信息和第二MAC信息相同,则可以确定对第二通道密钥获取请求中的设备标识的完整性验证通过。

进一步的,对设备标识的完整性验证通过之后,业务TAM服务器可以为电子设备提供多个第二通道密钥,以基于多个第二通道密钥建立与电子设备之间的第二安全通信通道。业务TAM服务器可以与电子设备基于第二安全通信通道传输存储在业务TAM服务器中的且未存储在设备TAM服务器中的可信应用的安装包。设备TAM服务器无法获取到第二通道密钥,也无法获取到业务TAM服务器向电子设备传输的经过第二通道密钥加密的业务数据,可以提升业务TAM服务器中存储的可信应用对应的业务数据的安全性。

具体的,业务TAM服务器可以为每个NFC卡片所要实现的业务的业务标识设置对应的第二业务根密钥,且业务TAM服务器与设备TAM服务器之间不共享第二业务根密钥。业务TAM服务器可以根据第二分散规则、第二通道密钥获取请求中的设备标识、以及与第二通道密钥获取请求中的业务标识对应的第二业务根密钥生成多个第二通道密钥。

在本申请实施例中,第二业务根密钥与第一业务根密钥不同。第二分散规则与上述第一分散规则可以相同,也可以不同。业务TAM服务器生成的多个第二通道密钥各不相同,通过多个第二通道密钥可以对业务TAM服务器与电子设备之间的通信信息进行多层加密,提升通信信息的安全性。

作为示例而非限定,第二分散规则可以为将设备标识、与业务标识对应的第二业务根密钥和任意一个字母依次串接,基于该第二分散规则,业务TAM服务器可以基于三个不同的字母生成三个不同的第二通道密钥,三个第二通道密钥分别为第二通道DEK、第二通道MAC密钥以及第二通道ENC密钥。其中,业务TAM服务器与电子设备通信的过程中,第二通道DEK可用于加密通信信息中的敏感数据,例如用户身份信息、NFC卡片对应的交易密码等;第二通道MAC密钥可用于加密通信信息中除敏感数据以外的其他信息(例如NFC卡片的卡号等非敏感数据、NFC卡片的应用安装程序等),也可用于对第二通道DEK加密后的敏感数据再次进行加密,以提升敏感数据的安全性;第二通道ENC密钥用于加密整个通信信息,即通过第二通道ENC密钥可以对第二通道DEK加密后的信息和/或第二通道MAC密钥加密后的信息再次进行加密。

进一步的,业务TAM服务器生成多个第二通道密钥之后,可以生成多个第二通道密钥、电子设备的设备标识、第一NFC卡片所要实现的第一业务的业务标识之间的映射关系,并对该映射关系进行存储。

需要说明的是,本申请实施例对第二分散规则的具体实现方式以及第二通道密钥的数量不做任何限定。在其他实施例中,业务TAM服务器也可以生成一个第二通道密钥。

S890,业务TAM服务器向电子设备发送多个第二通道密钥。

在一个实施例中,为了保证第二通道密钥在传输过程中的安全性,业务TAM服务器可以通过多个第一通道密钥对生成的多个第二通道密钥进行加密,得到第二加密通道密钥,并向电子设备发送第二加密通道密钥。相应的,电子设备可以根据设备TAM服务器为第一业务分配的多个第一通道密钥对第二加密通道密钥进行解密,从而得到多个第二通道密钥。

在一个示例中,业务TAM服务器可以通过自身生成的多个第一通道密钥中的第一通道ENC密钥对多个第二通道密钥进行加密,得到第二加密通道密钥,并将第二加密通道密钥发送至电子设备。

相应的,电子设备在接收到包含多个第二通道密钥的第二加密通道密钥之后,可以通过从设备TAM服务器中获取的多个第一通道密钥中的第一通道ENC密钥对第二加密通道密钥进行解密,从而得到多个第二通道密钥。

在另一个示例中,业务TAM服务器可以通过自身生成的多个第一通道密钥中的其中一个第一通道密钥(例如第一通道MAC密钥)对多个第二通道密钥以及第二通道密钥获取请求中的第二安全随机数进行处理,得到第三MAC信息;然后,通过自身生成的多个第一通道密钥中的另一个第一通道密钥(例如第一通道ENC密钥)对第三MAC信息、第二安全随机数以及多个第二通道密钥进行加密,从而得到第二加密通道密钥,并将第二加密通道密钥发送至电子设备。此外,业务TAM服务器还可以对第二通道密钥、电子设备的设备标识以及第一NFC卡片所要实现的第一业务的业务标识之间的映射关系进行存储。

相应的,电子设备接收到包含多个第二通道密钥的第二加密通道密钥之后,可以先通过从设备TAM服务器获取到的多个第一通道密钥中的第一通道ENC密钥对第二加密通道密钥进行解密,若解密成功,则电子设备可以获取到第二加密通道密钥中的第三MAC信息以及未被加密的第二安全随机数和多个第二通道密钥,然后电子设备可以通过验证第三MAC信息的完整性以及第二安全随机数的合法性,确定第二加密通道密钥中的多个第二通道密钥的完整性。具体的,电子设备可以通过从设备TAM服务器获取到的多个第一通道密钥中的第一通道MAC密钥与第二加密通道密钥中的未被加密的第二安全随机数和多个第二通道密钥来计算第四MAC信息,并将第二加密通道密钥中的第二安全随机数与步骤S850中生成的第二通道密钥获取请求中的第二安全随机数进行对比,若第三MAC信息与第四MAC信息相同,且第二加密通道密钥中的第二安全随机数与第二通道密钥获取请求中的第二安全随机数相同,则电子设备可以确定第二加密通道密钥中的多个第二通道密钥为业务TAM服务器生成的完整的通道密钥。

需要说明的是,电子设备在接收到第二加密通道密钥后,可以将该第二加密通道密钥保存至TEE中,并且,上述实施例介绍的电子设备基于第二加密通道密钥获得多个第二通道密钥的过程也可以在TEE中进行,电子设备在获取到多个第二通道密钥之后,可以将该多个第二通道密钥存储在TEE中,以此来保证第二通道密钥的安全性。

基于方式二中提供的方法,电子设备从设备TAM服务器获取到多个第一通道密钥后,可以在从业务TAM服务器获取第二通道密钥的过程中,基于多个第一通道密钥与业务TAM服务器之间进行安全信息传输,不仅可以保证电子设备向业务TAM服务器发送的第二通道密钥获取请求中的信息的安全性,还可以保证业务TAM服务器向电子设备发送的第二加密通道密钥中的多个第二通道密钥的安全性。此外,通过业务TAM服务器为该电子设备中的第一NFC卡片所要实现的第一业务分配的第二通道密钥,电子设备的TEE与业务TAM服务器之间能够建立第二安全通信通道,后续电子设备可以基于第二安全通信通道与设备TAM服务器之间进行信息传输。由于设备TAM服务器无法获取到第二通道密钥,也无法获取到业务TAM服务器向电子设备传输的经过第二通道密钥加密的业务数据,电子设备基于第二安全通信通道与业务TAM服务器之间进行信息传输时,可以确保业务TAM服务器方的业务数据安全隔离。

方式三

参见图9所示的电子设备与TAM平台中的业务TAM服务器之间的交互示意图,电子设备可以基于第一NFC卡片所要实现的第一业务的业务信息以及电子设备的设备信息,直接从TAM平台中的业务TAM服务器中获取多个第二通道密钥,其中,第一NFC卡片所要实现的第一业务的业务信息可以包括第一业务的业务标识和业务证书,电子设备的设备信息可以包括电子设备的设备标识和设备证书。该方法包括如下步骤S910至S940,各步骤具体如下。

S910,电子设备生成第三通道密钥获取请求,第三通道密钥获取请求包括设备标识、设备证书、业务标识和业务证书。

作为示例而非限定,电子设备可以在TEE中生成第三通道密钥获取请求。具体的,电子设备可以先根据第一NFC卡片所对应的第一业务的业务标识、设备证书以及与设备证书对应的设备证书私钥,生成与第一NFC卡片所要实现的第一业务的业务标识对应的业务证书和业务私钥,生成第三安全随机数;然后通过业务私钥对设备标识、业务标识以及第三安全随机数进行签名,生成第三签名信息;通过预存的业务TAM服务器的服务器公钥对设备证书、设备标识、业务标识、业务证书、第三安全随机数以及第三签名信息进行加密,得到第三通道密钥获取请求。

S920,电子设备向业务TAM服务器发送第三通道密钥获取请求。

S930,业务TAM服务器根据设备标识、与业务标识对应的第二业务根密钥以及第二分散规则生成多个第二通道密钥。

在一个实施例中,业务TAM服务器可以先通过业务TAM服务器的服务器私钥对第三通道密钥获取请求进行解密,然后对第三通道密钥获取请求中的设备证书和业务证书进行验证,并在验证通过后,根据设备标识、与业务标识对应的第二业务根密钥以及第二分散规则生成多个第二通道密钥。具体的,业务TAM服务器可以通过预存的与设备标识对应的电子设备的设备根证书,对第二通道密钥获取请求中的设备证书和业务证书进行验证,以及通过第二通道密钥获取请求中的业务证书中的业务公钥对第三签名信息进行验签,若验证结果指示第二通道密钥获取请求中的设备证书和业务证书合法,且验签结果指示第三签名信息合法,则业务TAM服务器可以根据第二分散规则、第二通道密钥获取请求中的设备标识、预存的与第二通道密钥获取请求中的业务标识对应的第二业务根密钥生成多个第二通道密钥。

S940,业务TAM服务器向电子设备发送多个第二通道密钥。

进一步的,为了确保第二通道密钥传输过程中的安全性,业务TAM服务器可以对多个第二通道密钥加密后,再将加密后的第二通道密钥发送至电子设备。

具体的,业务TAM服务器可以通过业务TAM服务器的服务器私钥对第三通道密钥获取请求中的第三安全随机数以及多个第二通道密钥进行签名,得到第四签名信息,并通过电子设备的设备公钥对第三安全随机数、多个第二通道密钥以及第四签名信息进行加密,得到第二加密通道密钥。

相应的,电子设备接收到业务TAM服务器发送的第二加密通道密钥之后,可以通过电子设备的设备私钥对第二加密通道密钥进行解密,并通过预存的业务TAM服务器的服务器公钥对第四签名信息进行验签。若验签结果指示第四签名信息合法,则电子设备可以将多个第二通道密钥存储在TEE中,以基于多个第二通道密钥建立TEE与业务TAM服务器之间的第二安全通信通道。

通过上述三种不同的实现方式,电子设备可以基于多个第一通道密钥建立TEE与TAM平台中的设备TAM服务器之间的第一安全通信通道,或者基于多个第二通道密钥建立TEE与TAM平台中的业务TAM服务器之间的第二安全通信通道,并根据预先建立的第一安全通信通道或第二安全通信通道,通过下述步骤S520至S550中的方法从设备TAM服务器或业务TAM服务器中获取与第一NFC卡片所要实现的第一业务对应的第一可信应用的第一安装包,并基于第一安装包在电子设备的第一应用中添加第一NFC卡片。

S520,电子设备向TAM平台发送第一NFC卡片的添加请求。

在一个实施例中,若TAM平台中的设备TAM服务器中存储有与第一NFC卡片所要实现的第一业务对应的第一可信应用的第一安装包,则电子设备基于上述方式一从设备TAM服务器获取并存储多个第一通道密钥之后,电子设备可以向设备TAM服务器发送第一NFC卡片的添加请求,以从设备TAM服务器中获取第一可信应用的第一安装包。

在另一个实施例中,若TAM平台中的设备TAM服务器中未存储有与第一NFC卡片所要实现的第一业务对应的第一可信应用的安装包,则电子设备基于上述方式二从TAM平台中的业务TAM服务器中获取并存储多个第二通道密钥之后,电子设备可以向业务TAM服务器发送第一NFC卡片的添加请求,以从业务TAM服务器中获取第一可信应用的第一安装包。

其中,添加请求中的业务信息可以包括用于指示第一NFC卡片所要实现的第一业务的业务标识。添加请求中还可以包括电子设备的设备标识。

S530,TAM平台根据添加请求获取第一业务对应的第一可信应用的第一安装包,其中,第一可信应用用于处理第一业务。

在一个实施例中,TAM平台中的设备TAM服务器接收到电子设备发送的第一NFC卡片的添加请求之后,设备TAM服务器可以根据添加请求获取第一可信应用的第一安装包。具体的,添加请求中可以包括第一NFC卡片所要实现的第一业务的业务标识,设备TAM服务器可以根据预存的业务标识与可信应用的安装包之间的映射关系,获取与添加请求中的第一NFC卡片的业务标识对应的第一可信应用的第一安装包。

在另一个实施例中,TAM平台中的业务TAM服务器接收到电子设备发送的第一NFC卡片的添加请求之后,业务TAM服务器可以根据添加请求获取第一可信应用的第一安装包。具体的,添加请求中可以包括第一NFC卡片所要实现的第一业务的业务标识,业务TAM服务器可以根据预存的业务标识与可信应用的安装包之间的映射关系,获取与添加请求中的第一NFC卡片所要实现的第一业务的业务标识对应的第一可信应用的第一安装包。

其中,第一可信应用的第一安装包可以包括第一可信应用的应用安装程序文件以及应用数据。应用安装程序文件可以包括第一可信应用的可执行程序以及配置文件,应用数据可以包括第一可信应用的敏感数据和非敏感数据,敏感数据可以包括但不限于第一NFC卡片所要实现的第一业务的交易密码、历史交易记录、用户身份信息(例如姓名等)等隐私数据,非敏感数据可以包括但不限于第一NFC卡片的卡号等可以公开显示的数据,相较于非敏感数据,可以采用更多层的通道密钥对敏感数据进行加密传输。

S540,TAM平台向电子设备发送通过通道密钥加密的第一安装包。

在一个实施例中,若TAM平台中的设备TAM服务器接收到电子设备发送的第一NFC卡片的添加请求,则设备TAM服务器在获取到与第一NFC卡片所要实现的第一业务对应的第一可信应用的第一安装包之后,可以向电子设备发送通过与第一NFC卡片所要实现的第一业务的业务标识以及电子设备的设备标识均对应的多个第一通道密钥加密的第一安装包。

其中,电子设备发送的添加请求中还可以包括电子设备的设备标识,设备TAM服务器可以根据预存的设备标识、业务标识与第一通道密钥之间的映射关系,获取与添加请求中的设备标识和第一NFC卡片的业务标识均对应的多个第一通道密钥,并通过多个第一通道密钥对第一可信应用的第一安装包进行加密。

在一个示例中,设备TAM服务器可以通过多个第一通道密钥对第一安装包的应用安装程序文件以及应用数据分别进行加密,得到加密后的第一安装包,加密后的第一安装包包括与加密后的应用安装程序文件对应的第一加密包以及与加密后的应用数据对应的第二加密包,其中,可以通过多个第一通道密钥对应用数据中的敏感数据进行多层加密,提升敏感数据的安全性。

作为示例而非限定,假设与添加请求中的设备标识和第一NFC卡片的业务标识对应的多个第一通道密钥包括第一通道DEK、第一通道MAC密钥以及第一通道ENC密钥,则设备TAM平台通过三个第一通道密钥对第一安装包进行加密的过程可以包括:通过第一通道MAC密钥对第一安装包中的应用安装程序文件进行处理,得到第五MAC信息,并通过第一通道ENC密钥对应用安装包程序文件以及第五MAC信息进行加密,得到第一加密包;通过第一通道DEK对第一安装包中的应用数据中的敏感数据进行加密,得到第一加密数据,并通过第一通道MAC密钥对第一加密数据以及应用数据中的非敏感数据进行处理,得到第六MAC信息,然后通过第一通道ENC密钥对应用数据中的非敏感数据、第一加密数据以及第六MAC信息进行加密,得到第二加密包。

在其他示例中,设备TAM服务器可以通过多个第一通道密钥对第一安装包中的应用安装程序文件以及应用数据一起进行加密,得到的加密后的第一安装包可以包括一个加密包。

在另一个实施例中,若TAM平台中的业务TAM服务器接收到电子设备发送的第一NFC卡片的添加请求,则业务TAM服务器在获取到与第一NFC卡片所要实现的第一业务对应的第一可信应用的第一安装包之后,可以向电子设备发送通过与第一NFC卡片所要实现的第一业务的业务标识以及电子设备的设备标识均对应的多个第二通道密钥加密的第一安装包。

其中,电子设备发送的添加请求中还可以包括电子设备的设备标识,业务TAM服务器可以根据预存的设备标识、业务标识与多个第二通道密钥之间的映射关系,获取与添加请求中的电子设备的设备标识和第一NFC卡片所要实现的第一业务的业务标识均对应的多个第二通道密钥,并通过多个第二通道密钥对第一可信应用的第一安装包进行加密。

在一个示例中,业务TAM服务器可以通过多个第二通道密钥对第一安装包的应用安装程序文件以及应用数据分别进行加密,得到加密后的第一安装包,加密后的第一安装包包括与加密后的应用安装程序文件对应的第三加密包以及与加密后的应用数据对应的第四加密包。

作为示例而非限定,假设与添加请求中的设备标识和第一NFC卡片的业务标识对应的多个第二通道密钥包括第二通道DEK、第二通道MAC密钥以及第二通道ENC密钥,则设备TAM平台通过三个第二通道密钥对第一安装包进行加密的过程可以包括:通过第二通道MAC密钥对第一安装包中的应用安装程序文件进行处理,得到第七MAC信息,并通过第二通道ENC密钥对应用安装包程序文件以及第七MAC信息进行加密,得到第三加密包;通过第二通道DEK对第一安装包中的应用数据中的敏感数据进行加密处理,得到第二加密数据,并通过第二通道MAC密钥对第二加密数据以及应用数据中的非敏感数据进行加密处理,得到第八MAC信息,然后通过第二通道ENC密钥对应用数据中的非敏感数据、第二加密数据以及第八MAC信息进行加密,得到第四加密包。

在其他示例中,业务TAM服务器可以通过多个第二通道密钥对第一安装包中的应用安装程序文件以及应用数据一起进行加密,得到的加密后的第一安装包可以包括一个加密包。

S550,电子设备根据通道密钥对加密的第一安装包进行解密,并根据第一安装包在可信执行环境中安装第一可信应用。

在本申请实施例中,电子设备可以将接收到的加密的第一安装包存储在TEE中,并根据预先存储在TEE中的设备TAM服务器提供的多个第一通道密钥或业务TAM服务器提供的多个第二通道密钥在TEE中对加密的第一安装包进行解密,进而根据解密后得到的第一安装包在TEE中安装第一可信应用。

在一个示例中,在电子设备接收到设备TAM服务器发送的加密的第一安装包中包括第一加密包以及第二加密包,且设备TAM服务器提供的多个第一通道密钥包括第一通道DEK、第一通道MAC密钥以及第一通道ENC密钥的情况下,电子设备在TEE中通过从设备TAM服务器中获取到的多个第一通道密钥分别对第一加密包和第二加密包进行解密的过程可以包括:通过第一通道ENC密钥对第一加密包进行解密,得到第一可信应用的应用安装包程序文件以及第五MAC信息;通过第一通道MAC密钥验证第五MAC信息的完整性,若第五MAC信息的完整性验证通过,则可以确定第一加密包中第一可信应用的应用安装包程序文件是完整的;通过第一通道ENC密钥对第二加密包进行解密,得到第一可信应用的非敏感数据、第一加密数据以及第六MAC信息;通过第一通道DEK对第一加密数据进行解密,得到第一可信应用的敏感数据;通过第一通道MAC密钥验证第六MAC信息的完整性,若第六MAC信息的完整性验证通过,则可以确定第二加密包中的非敏感数据以及第一加密数据中的敏感数据是完整的。

需要说明的是,通过验证经第一通道MAC密钥处理后的应用数据、安装包程序文件等信息的完整性,不仅可以检测应用数据和安装包程序文件在传输的过程中是否被篡改,确保加密后的第一安装包中的信息的完整性;还可以检测电子设备接收到的加密后的第一安装包是否为设备TAM服务器提供的经与电子设备上的第一业务对应的多个第一通道密钥加密后的安装包,确保信息来源为设备TAM服务器。

在另一个示例中,在电子设备接收到业务TAM服务器发送的加密的第一安装包中包括第三加密包以及第四加密包,且业务TAM服务器提供的多个第二通道密钥包括第二通道DEK、第二通道MAC密钥以及第二通道ENC密钥的情况下,电子设备在TEE中通过从业务TAM服务器中获取到的多个第二通道密钥分别对第一加密包和第二加密包进行解密的过程可以包括:通过第二通道ENC密钥对第三加密包进行解密,得到第一可信应用的应用安装包程序文件以及第七MAC信息;通过第二通道MAC密钥验证第七MAC信息的完整性,若第五七MAC信息的完整性验证通过,则可以确定第三加密包中第一可信应用的应用安装包程序文件是完整的;通过第二通道ENC密钥对第四加密包进行解密,得到第一可信应用的非敏感数据、第二加密数据以及第八MAC信息;通过第二通道DEK对第二加密数据进行解密,得到第一可信应用的敏感数据;通过第二通道MAC密钥验证第八MAC信息的完整性,若第八MAC信息的完整性验证通过,则可以确定第四加密包中的非敏感数据以及第二加密数据中的敏感数据是完整的。

需要说明的是,通过验证经第二通道MAC密钥处理后的应用数据、安装包程序文件等信息的完整性,不仅可以检测应用数据和安装包程序文件在传输的过程中是否被篡改,确保加密后的第一安装包中的信息的完整性;还可以检测电子设备接收到的加密后的第一安装包是否为业务TAM服务器提供的经与电子设备上的第一业务对应的多个第二通道密钥加密后的安装包,确保信息来源为业务TAM服务器。

在其他实施例中,电子设备基于上述步骤S510至S550中的方法从业务TAM服务器或者设备TAM服务器获取并在TEE中安装第一可信应用之后,还可以执行如下步骤S560。

S560,电子设备对第一NFC卡片的注册信息进行存储。

具体的,电子设备在TEE中安装完第一可信应用之后,可以生成第一NFC卡片的注册信息,并确定该注册信息、第一NFC卡片的卡片标识以及第一NFC卡片所要实现的第一业务的业务标识之间的映射关系,同时将该映射关系以及第一NFC卡片的注册信息存储在电子设备的NFC控制器中,以便后续NFC控制器在接收到读卡设备对第一NFC卡片的信息获取请求时,可以基于该注册信息来对获取对应的卡片信息。

其中,注册信息中可以包括第一可信应用的应用标识以及身份验证标识。其中,身份验证标识用于指示使用第一NFC卡片时是否需要对用户身份进行验证,该用户可以为电子设备所属用户。第一可信应用的应用标识可以为第一可信应用的可信应用通用唯一标识符(trusted application universally unique identifier,TA UUID)。除此之外,注册信息中还可以包括第一应用的应用标识,第一应用的应用标识可以为第一应用的应用标识符(application identifier,AID)。

可选地,电子设备在TEE中安装完第一可信应用之后,电子设备的显示界面上还可以显示第一NFC卡片的添加结果,添加结果指示是否在电子设备的第一应用中成功添加第一NFC卡片。示例性的,添加结果可以为在显示界面上显示的“添加成功”的提示信息。

通过上述步骤S510至S560中的方法,电子设备可以在第一应用中生成多种不同业务类型的NFC卡片,并将生成的NFC卡片对应的可信应用和应用数据均存储在TEE中。TEE的存储空间与现有的安全芯片的存储空间相比更大,以TEE作为安全载体可以存储更多的不同业务类型的NFC卡片对应的可信应用以及应用,不易出现因芯片存储空间不足而不能添加卡片的问题,同时还可以在不额外设置安全芯片的情况下确保NFC卡片对应的可信应用以及应用数据的安全性。

在电子设备中安装好NFC卡片后,当电子设备开启NFC服务且电子设备中的NFC控制器位于读卡设备的射频范围内时,电子设备可以通过NFC控制器调用TEE中的可信应用获取读卡设备请求获取的NFC卡片的卡片信息,并将卡片信息发送至读卡设备。

下面参考图10所示的电子设备与读卡设备之间的交互示意图,以第一应用中的第一NFC卡片为例,对刷卡过程中,读卡设备获取电子设备中的第一NFC卡片的卡片信息的过程进行具体说明。该方法包括如下步骤S1010至S1040,各步骤具体如下。

S1010,读卡设备向电子设备发送第一NFC卡片的信息获取请求。

其中,信息获取请求可以包括读卡设备请求获取的第一业务的业务标识以及请求获取的卡片信息,其中,第一业务为第一NFC卡片对应的业务,第一业务的业务标识用于指示第一业务的业务类型。第一业务的业务类型以及读卡设备请求获取的卡片信息均与读卡设备的设备类型相关。

示例性的,若读卡设备为银行销售终端(point of sale,POS)机、地铁闸机、公交刷卡机,则读卡设备请求获取的第一业务的业务类型可以分别为银行卡、地铁卡、公交卡,卡片信息可以为银行卡、地铁卡、公交卡的支付信息。

S1020,电子设备根据第一NFC卡片的注册信息确定与第一NFC卡片对应的第一可信应用。

具体的,当电子设备可以通过NFC控制器接收到读卡设备发送的第一NFC卡片的信息获取请求时,NFC控制器可以根据预先存储的业务标识、NFC卡片以及注册信息之间的映射关系,确定与信息获取请求中第一业务的业务标识对应的第一NFC卡片的注册信息,进而根据第一NFC卡片的注册信息中的AID确定添加有第一NFC卡片的第一应用,根据注册信息中的TA UUID确定用于处理第一业务的第一可信应用,并根据注册信息中的身份验证标识确定使用第一NFC卡片时是否需要对用户身份进行验证。

S1030,电子设备通过第一可信应用获取第一NFC卡片的卡片信息。

在一种实现方式中,若电子设备根据第一NFC卡片的注册信息,确定使用第一NFC卡片时不需要对用户身份进行验证,则电子设备可以通过第一可信应用获取第一NFC卡片的卡片信息。

具体的,若NFC控制器根据第一NFC卡片的注册信息确定使用第一NFC卡片时不需要对用户身份进行验证,则NFC控制器可以向第一NFC卡片的注册信息中的TA UUID所指示的第一可信应用发送第一NFC卡片的信息获取请求;第一可信应用根据第一NFC卡片所要实现的第一业务的业务类型确定不需要对用户身份进行验证之后,可以根据信息获取请求在TEE中获取第一NFC卡片的卡片信息,并将卡片信息发送至NFC控制器。

在另一种实现方式中,若电子设备根据第一NFC卡片的注册信息,确定使用第一NFC卡片时需要对用户身份进行验证,则电子设备可以采集用户身份信息;之后,通过TEE中的身份认证模块对用户身份信息进行验证,得到身份验证结果;在身份验证结果指示验证通过时通过第一可信应用获取第一NFC卡片的卡片信息。

具体的,电子设备中可以包括NFC控制器、身份采集模块、设置在REE中的第一应用、设置在TEE中的身份认证模块以及设置在TEE中的与第一NFC卡片所要实现的第一业务对应的第一可信应用。参见图11所示的电子设备内部的交互示意图,使用第一NFC卡片时若需要对用户身份进行验证,则电子设备可以基于图11中所示的方法,通过第一可信应用获取第一NFC卡片的卡片信息。该方法可以包括如下步骤S1110至步骤S1190:

S1110,NFC控制器在根据注册信息确定使用第一NFC卡片时需要对用户身份进行验证的情况下,向第一应用发送身份验证请求。

S1120,第一应用调用身份采集模块采集用户身份信息。

在一个示例中,用户身份信息可以为任意一个用于表征第一NFC卡片所属用户的身份信息的认证凭据,例如用户预设的交易密码、个人识别号码(PersonalIdentification Number,PIN)等用户认证凭据,相应的,身份采集模块可以包括电子设备的显示屏,显示屏上可以显示用于用户输入认证凭据的显示框或触控按键。用户身份信息还可以为用户指纹、人脸图像、视网膜图像或其他生物特征信息,相应的,身份采集模块可以为指纹传感器、图像传感器等,其中,指纹传感器用于采集用户的指纹信息,图像传感器用于采集人脸图像、视网膜图像等图像特征信息。

S1130,第一应用向身份认证模块发送用户身份信息。

其中,身份认证模块可以为安装在TEE中的身份认证可信应用。

S1140,身份认证模块对用户身份信息进行验证,得到身份验证结果。

在本申请实施例中,身份认证模块可以在TEE中对用户身份信息进行验证,并将身份验证结果存储在TEE中,可以确保用户身份验证过程以及身份验证结果的安全性。具体的,身份认证模块可以将身份采集模块采集的用户身份信息与预先存储的用于表征第一NFC卡片所属用户的身份信息进行对比,若两者匹配,则确定身份验证结果为用户身份信息验证通过;若两者不匹配,则确定身份认证结果为用户身份信息未验证通过。

S1150,身份认证模块向第一应用发送身份验证结果。

S1160,第一应用向NFC控制器发送身份验证结果。

S1170,NFC控制器在身份验证结果指示用户身份信息验证通过的情况下,向第一可信应用发送第一NFC卡片的信息获取请求。

S1180,第一可信应用从身份认证模块获取身份验证结果,并在身份验证结果指示用户身份信息验证通过的情况下,获取所述第一NFC卡片的卡片信息。

具体的,第一可信应用接收到第一NFC卡片的信息获取请求之后,可以先根据第一NFC卡片所要实现的第一业务的业务类型确定在使用第一NFC卡片时是否需要对用户身份进行验证。例如,若第一业务的业务类型为银行卡,则第一可信应用可以确定需要对用户身份进行验证;若第一业务的业务类型为交通卡或车钥匙,则第一可信应用可以确定不需要对用户身份进行验证。若第一可信应用确定在使用第一NFC卡片时需要对用户身份进行验证,则第一可信应用可以向身份认证模块发送用于获取与第一NFC卡片对应的身份验证结果的第一请求,身份认证模块可以根据第一请求获取存储在TEE中的与第一NFC卡片对应的身份验证结果,并将身份验证结果发送至第一可信应用。

需要说明的是,在刷卡的过程中,NFC控制器接收到的身份验证结果可能存在被篡改的情况(即身份认证模块得到的身份验证结果为用户身份信息未验证通过,但NFC控制器接收到的身份验证结果为用户身份信息验证通过),或者可能存在NFC控制器未通过身份认证模块对用户身份进行验证的情况,因此,第一可信应用可以直接从TEE中的身份认证模块获取与第一NFC卡片对应的身份验证结果,并基于该身份验证结果确认用户身份的合法性,从而在未进行用户身份验证或者用户身份不合法时,中断获取卡片信息的过程,确保读卡过程的安全性。

可选地,若第一可信应用从身份认证模块中未获取到与第一NFC卡片对应的身份验证结果,或者从身份认证模块获取到的与第一NFC卡片对应的身份验证结果指示用户身份未验证通过,则第一可信应用不获取任何卡片信息。

S1190,第一可信应用向NFC控制器发送卡片信息。

基于上述步骤S1110至S1190,在使用第一NFC卡片时需要对用户身份进行验证的情况下,可以将用户身份信息在TEE中进行验证,并使第一可信应用从TEE中获取身份验证结果,确保身份验证结果的合法性和安全性,第一可信应用可以根据从TEE中获取的身份验证结果确定是否获取第一NFC卡片的卡片信息,确保卡片信息的安全性。

S1040,电子设备向读卡设备发送卡片信息。

具体的,电子设备可以通过NFC控制器向读卡设备发送第一NFC卡片的卡片信息。

可以理解的是,基于本申请实施例提供的获取第一NFC卡片的卡片信息的方法,当电子设备中添加有多种业务类型的NFC卡片时,电子设备可以在刷卡过程中根据添加NFC卡片时存储的注册信息确定出与NFC卡片对应的可信应用,并通过可信应用在TEE中安全处理NFC卡片的业务,实现智能选卡功能,同时电子设备与不同类型的读卡设备之间可以遵循现有的所有交互流程,不需要改变读卡设备现有的读卡流程。

应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。

对应于上文实施例提供的NFC卡片生成方法,本申请实施例还提供了装置实施例。应理解,装置实施例的描述与方法实施例的描述相互对应,因此,未详细描述的内容可以参见上文方法实施例,为了简洁,这里不再赘述。

图12是本申请实施例提供的NFC卡片生成装置的示意性框图。如图12所示,该NFC卡片生成装置1200可以包括处理单元1210和通信单元1220。通信单元1220可以实现相应的通信功能,该通信可以是该装置1200的内部通信也可以是该装置1200与其他装置的通信;处理单元1210可以实现相应的处理功能。通信单元1220还可以称为通信接口或收发单元。可选地,该装置1200还可以包括存储单元,该存储单元可以用于存储指令和/或数据,处理单元1210可以读取存储单元中的指令和/或数据,以使得装置实现前述方法实施例。

在一种可能的设计中,NFC卡片生成装置1200可以为应用于上述电子设备的模块或芯片。该NFC卡片生成装置1200可用于执行上述各方式实施例中电子设备所执行的步骤或流程,电子设备中配置有可信执行环境。

具体的,处理单元1210用于:响应于添加第一NFC卡片的操作,从TAM平台中获取为电子设备中的第一业务分配的通道密钥,并将通道密钥存储在可信执行环境中,其中,第一业务为第一NFC卡片对应的业务。通信单元1220用于向TAM平台发送第一NFC卡片的添加请求,以及接收TAM平台发送的通过通道密钥加密的第一可信应用的第一安装包,其中第一可信应用用于处理第一业务。处理单元1210还用于根据通道密钥对加密的第一安装包进行解密,并根据第一安装包在可信执行环境中安装第一可信应用。

可选地,TAM平台包括与电子设备对应的设备TAM服务器;处理单元1210具体用于基于电子设备的设备信息和第一业务的业务信息,从设备TAM服务器中获取多个第一通道密钥,通道密钥包括多个第一通道密钥。

可选地,处理单元1210还用于生成第一通道密钥获取请求。通信单元1220还用于向设备TAM服务器发送第一通道密钥获取请求,以及接收设备TAM服务器发送的多个第一通道密钥,其中,第一通道密钥获取请求用于指示设备TAM服务器生成多个第一通道密钥。

可选地,业务信息包括业务标识和业务证书,设备信息包括设备标识和设备证书。处理单元1210还用于:根据业务标识、设备证书以及与设备证书对应的设备证书私钥,生成与业务标识对应的业务证书和业务私钥;通过业务私钥对设备标识和业务标识进行签名,得到第一签名信息;通过设备TAM服务器的服务器公钥对第一签名信息、设备标识、业务标识、设备证书以及业务证书进行加密,得到第一加密信息;基于第一加密信息生成第一通道密钥获取请求。

可选地,通信单元1220还用于接收设备TAM服务器发送的第一加密通道密钥,第一加密通道密钥包括通过业务公钥加密的多个第一通道密钥;处理单元1210还用于通过业务私钥对第一加密通道密钥进行解密,得到多个第一通道密钥。

可选地,通信单元1220还用于向设备TAM服务器发送第一NFC卡片的添加请求,以及接收设备TAM服务器发送的通过多个第一通道密钥加密的第一安装包。

可选地,TAM平台还包括与第一业务对应的业务TAM服务器。处理单元1210还用于基于多个第一通道密钥,从业务TAM服务器中获取多个第二通道密钥,通道密钥还包括多个第二通道密钥。

可选地,业务信息包括业务标识,设备信息包括设备标识。处理单元1210还用于生成第二通道密钥获取请求,第二通道密钥获取请求包括设备标识、业务标识以及通过多个第一通道密钥加密的设备标识。通信单元1220还用于向业务TAM服务器发送第二通道密钥获取请求,其中,第二通道密钥获取请求用于指示业务TAM服务器生成多个第二通道密钥。通信单元1220还用于接收业务TAM服务器发送的多个第二通道密钥。

可选地,通信单元1220还用于接收业务TAM服务器发送的第二加密通道密钥,第二加密通道密钥包括通过多个第一通道密钥加密的多个第一通道密钥。处理单元1210还用于通过多个第一通道密钥对第二加密通道密钥进行解密,得到多个第二通道密钥。

可选地,通信单元1220还用于向业务TAM服务器发送第一NFC卡片的添加请求,以及接收业务TAM服务器发送的通过多个第二通道密钥加密的第一安装包。

可选地,处理单元1210还用于对第一NFC卡片的注册信息进行存储,其中,注册信息包括第一可信应用的应用标识以及身份验证标识 ,身份验证标识用于指示使用第一NFC卡片时是否需要对用户身份进行验证。

可选地,电子设备中还设置有NFC控制器。NFC控制器用于在接收到读卡设备对第一NFC卡片的信息获取请求时,根据第一NFC卡片的注册信息确定与第一NFC卡片对应的第一可信应用;通过第一可信应用获取第一NFC卡片的卡片信息,NFC控制器还用于将卡片信息发送至读卡设备。

可选地,电子设备还包括设置在可信执行环境中的身份认证模块。处理单元1210还用于:在注册信息指示使用第一NFC卡片时需要对用户身份进行验证的情况下,采集用户身份信息;通过身份认证模块对用户身份信息进行验证,得到身份验证结果;在身份验证结果指示用户身份信息验证通过的情况下,通过第一可信应用获取第一NFC卡片的卡片信息。

在另一种可能的设计中,NFC卡片生成装置1200可以为应用于上述设备TAM服务器的模块或芯片。该NFC卡片生成装置1200可以用于执行上述各方式实施例中设备TAM服务器所执行的步骤或流程。

具体的,通信单元1220用于接收电子设备发送的第一NFC卡片的添加请求。处理单元1210用于根据添加请求获取第一可信应用的第一安装包,并通过多个第一通道密钥对第一安装包进行加密,其中,多个第一通道密钥是设备TAM服务器为电子设备中的第一业务分配的通道密钥,第一可信应用用于处理第一业务,第一业务为第一NFC卡片对应的业务。通信单元1220还用于向电子设备发送加密的第一安装包。

可选地,通信单元1220具体用于接收电子设备发送的第一通道密钥获取请求,第一通道密钥获取请求包括电子设备的设备标识和设备证书以及第一业务的业务标识和业务证书。处理单元1210还用于:对设备证书和业务证书进行验证,并在验证通过后,根据设备标识、与业务标识对应的第一业务根密钥以及第一分散规则生成多个第一通道密钥。通信单元1220还用于向电子设备发送多个第一通道密钥。

可选地,第一通道密钥获取请求包括第一加密信息,第一加密信息包括通过设备TAM服务器的服务器公钥加密的设备标识、业务标识、设备证书、业务证书以及第一签名信息,第一签名信息包括通过与业务标识对应的业务私钥签名的设备标识和业务标识。处理单元1210还用于:通过与设备标识对应的设备根证书,对设备证书和业务证书进行验证;通过设备TAM服务器的服务器私钥对第一加密信息进行解密,并通过业务证书中的业务公钥对第一签名信息进行验签;若第一签名信息验签成功,则根据设备标识、与业务标识对应的第一业务根密钥以及第一分散规则生成多个第一通道密钥。

可选地,处理单元1210还用于通过业务公钥对多个第一通道密钥进行加密,得到第一加密通道密钥。通信单元1220还用于向电子设备发送第一加密通道密钥。

在另一种可能的设计中,NFC卡片生成装置1200可以为应用于上述业务TAM服务器的模块或芯片。该NFC卡片生成装置1200可以用于执行上述各方式实施例中业务TAM服务器所执行的步骤或流程。

具体的,通信单元1220用于接收电子设备发送的第一NFC卡片的添加请求。处理单元1210用于:根据添加请求获取第一可信应用的第一安装包,并通过多个第二通道密钥对第一安装包进行加密,其中,多个第二通道密钥是业务TAM服务器为电子设备中的第一业务分配的通道密钥,第一可信应用用于处理第一业务,第一业务为第一NFC卡片对应的业务。通信单元1220还用于向电子设备发送加密的第一安装包。

可选地,通信单元1220还用于接收电子设备发送的第二通道密钥获取请求,第二通道密钥获取请求包括电子设备的设备标识、第一业务的业务标识以及通过多个第一通道密钥加密的设备标识,多个第一通道密钥为设备TAM服务器为第一业务分配的通道密钥。处理单元1210还用于:根据设备标识、与业务标识对应的第一业务根密钥以及第一分散规则,生成多个第一通道密钥;通过多个第一通道密钥对设备标识的完整性进行验证,并在验证通过后,根据设备标识、与业务标识对应的第二业务根密钥以及第二分散规则生成多个第二通道密钥。通信单元1220还用于将多个第二通道密钥发送至电子设备。

可选地,处理单元1210还用于通过多个第一通道密钥对多个第二通道密钥进行加密,得到第二加密通道密钥;通信单元1220还用于向电子设备发送第二加密通道密钥。

应理解,装置实施例的描述可以参考上述对NFC卡片生成方法各实施例的相关描述,其实现原理与技术效果与上述方法实施例类似,此处不再赘述。

应理解,装置1200中的“单元”可以通过硬件实现,也可以通过软件实现,还可以通过硬件执行相应的软件实现。比如,所述“单元”可以指应用特有集成电路(applicationspecific integrated circuit,ASIC)、电子电路、用于执行一个或多个软件或固件程序的处理器(例如共享处理器、专有处理器或组处理器等)和存储器、合并逻辑电路和/或其它支持所描述的功能的合适组件。又如,通信单元1220可以由收发机收发电路(例如可以包括接收电路和发送电路)替代,处理单元1210可以由处理器或处理电路替代。

基于上述各个实施例提供的方法,本申请实施例还提供以下内容:

本申请实施例提供一种电子设备,该电子设备包括处理器,该处理器用于运行存储器中存储的计算机程序,使该电子设备实现上述任一方法实施例中电子设备所执行的各个步骤或流程。

本申请实施例提供一种设备TAM服务器,该设备TAM服务器包括处理器,该处理器用于运行存储器中存储的计算机程序,使该设备TAM服务器实现上述任一方法实施例中设备TAM服务器所执行的各个步骤或流程。

本申请实施例提供一种业务TAM服务器,该业务TAM服务器包括处理器,该处理器用于运行存储器中存储的计算机程序,使该业务TAM服务器实现上述任一方法实施例中业务TAM服务器所执行的各个步骤或流程。

本申请实施例提供一种计算机程序产品,该计算机程序产品包括:计算机程序代码,当该计算机程序代码在计算机上运行时,使得该计算机执行上述任一方法实施例中的电子设备或者设备TAM服务器或者业务TAM服务器所执行的各个步骤或流程。

本申请实施例提供一种计算机可读存储介质,该计算机可读存储介质存储有程序代码,当该程序代码在计算机上运行时,使得该计算机执行上述任一方法实施例中的电子设备或者设备TAM服务器或者业务TAM服务器所执行的各个步骤或流程。

本申请实施例提供一种芯片,该芯片包括存储器和处理器,该处理器执行存储器中存储的计算机程序,以实现控制上述电子设备或者设备TAM服务器或者业务TAM服务器执行上述各个实施例中示出的方法。

应理解,本申请实施例中提及的处理器可以是中央处理单元(centralprocessing unit,CPU),还可以是其他通用处理器、数字信号处理器(digital signalprocessor,DSP)、专用集成电路(application specific integrated circuit,ASIC)、现成可编程门阵列(field programmable gate array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。

还应理解,本申请实施例中提及的存储器可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(read-only memory,ROM)、可编程只读存储器(programmable ROM,PROM)、可擦除可编程只读存储器(erasable PROM,EPROM)、电可擦除可编程只读存储器(electrically EPROM,EEPROM)或闪存。易失性存储器可以是随机存取存储器(random access memory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(static RAM,SRAM)、动态随机存取存储器(dynamic RAM,DRAM)、同步动态随机存取存储器(synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(double datarate SDRAM,DDR SDRAM)、增强型同步动态随机存取存储器(enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(synchlink DRAM,SLDRAM)和直接内存总线随机存取存储器(direct rambus RAM,DR RAM)。

所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。

本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但这种实现不应认为超出本申请的范围。

在本申请所提供的实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的系统实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实现上述实施例方法中的全部或部分流程,可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质至少可以包括:能够将计算机程序代码携带到大屏设备的任何实体或装置、记录介质、计算机存储器、只读存储器(read only memory,ROM)、随机存取存储器(random access memory,RAM)、电载波信号、电信信号以及软件分发介质。例如U盘、移动硬盘、磁碟或者光盘等。在某些司法管辖区,根据立法和专利实践,计算机可读介质不可以是电载波信号和电信信号。

最后应说明的是:以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何在本申请揭露的技术范围内的变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。

技术分类

06120116581937