CN110881015B - 用于处理用户信息的系统和方法 - Google Patents
用于处理用户信息的系统和方法 Download PDFInfo
- Publication number
- CN110881015B CN110881015B CN201811030446.3A CN201811030446A CN110881015B CN 110881015 B CN110881015 B CN 110881015B CN 201811030446 A CN201811030446 A CN 201811030446A CN 110881015 B CN110881015 B CN 110881015B
- Authority
- CN
- China
- Prior art keywords
- user
- information
- request
- identifier
- encryption
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000012545 processing Methods 0.000 title claims abstract description 55
- 238000000034 method Methods 0.000 title claims abstract description 50
- 238000012795 verification Methods 0.000 claims description 177
- 230000004044 response Effects 0.000 claims description 103
- 238000006243 chemical reaction Methods 0.000 claims description 30
- 238000004590 computer program Methods 0.000 claims description 12
- 238000010586 diagram Methods 0.000 description 20
- 230000006870 function Effects 0.000 description 8
- 230000008569 process Effects 0.000 description 8
- 238000004891 communication Methods 0.000 description 7
- 230000003287 optical effect Effects 0.000 description 4
- 238000013478 data encryption standard Methods 0.000 description 3
- 238000007418 data mining Methods 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 239000000835 fiber Substances 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 241001441724 Tetraodontidae Species 0.000 description 1
- 238000013475 authorization Methods 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/40—Support for services or applications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/60—Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Storage Device Security (AREA)
Abstract
本申请实施例公开了用于处理用户信息的系统和方法。该系统包括至少一个终端设备和设置可信执行环境的服务器,其中:终端设备将用户信息添加请求发送给服务器;服务器将所收到的用户信息添加请求中的用户标识、用户信息和加密标记对应存储;终端设备将用户信息查询请求中的用户标识和第一转密指令作为用户信息转密请求发送给服务器;服务器查询与所收到的用户信息转密请求中的用户标识对应的用户信息;在服务器的可信执行环境中,执行用户信息转密操作,得到转密用户信息,将所得到的转密用户信息发送给终端设备;终端设备利用转密密钥对所收到的转密用户信息进行解密得到用户信息明文。该实施方式提高了用户信息的安全性。
Description
技术领域
本申请实施例涉及计算机技术领域,具体涉及用于处理用户信息的系统和方法。
背景技术
目前终端用户在使用终端设备上安装的应用或者访问网站时,为了获取应用或者网站提供的各种服务,需要首先输入正确的用户名和密码登录应用或者网站,然后应用或者网站的服务器可以根据用户输入的用户名和密码获取该用户的用户信息,从而根据所获取的用户信息来定制针对该用户的服务。
应用或者网站的服务提供商可以基于用户信息采用数据挖掘技术对用户进行画像,从而为用户提供更加精准的服务。但是,在服务越做越有针对性的同时,也出现了因为掌管有用户信息所带来的隐私数据被滥用、无休止广告骚扰,用户信息外泄、欺诈盛行等各种问题。
发明内容
本申请实施例提出了用于处理用户信息的系统和方法。
第一方面,本申请实施例提供了一种用于处理用户信息的系统,该系统包括:至少一个终端设备和服务器,服务器设置可信执行环境,其中:终端设备,被配置成:响应于检测到包括用户标识、待添加用户信息和明文密钥的加密用户信息添加请求,在对密钥和用户信息加密操作提供支持的目标可信执行环境中,执行密钥和用户信息加密操作,得到与明文密钥对应的密文密钥和与待添加用户信息对应的用户信息密文,以及将包括加密用户信息添加请求中的用户标识、所得到的用户信息密文和加密标记为已加密标记的用户信息添加请求发送给服务器,其中,已加密标记用于表征用户信息添加请求中的用户信息为加密后的用户信息密文,密钥和用户信息加密操作包括:利用目标可信执行环境中存储的加密明文密钥用密钥,对明文密钥进行加密得到与明文密钥对应的密文密钥;以及利用明文密钥对待添加用户信息进行加密,得到与待添加用户信息明文对应的用户信息密文;终端设备,被配置成:响应于检测到包括用户标识、待添加用户信息和加密标记为未加密标记的未加密用户信息添加请求,将未加密用户信息添加请求作为用户信息添加请求发送给服务器,未加密标记用于表征用户信息添加请求中的用户信息为未进行加密的用户信息明文;服务器,被配置成:响应于接收到终端设备发送的用户信息添加请求,将所收到的用户信息添加请求中的用户标识、用户信息和加密标记对应存储;终端设备,被配置成:响应于检测到用户信息查询请求,用户信息查询请求包括用户标识、密文密钥和转密密钥,利用转密指令公钥对所收到的用户信息查询请求中的密文密钥和转密密钥进行加密得到第一转密指令,以及将用户信息查询请求中的用户标识和所得到的第一转密指令作为与用户信息查询请求对应的用户信息转密请求发送给服务器;服务器,被配置成:响应于接收到终端设备发送的用户信息转密请求,查询与所收到的用户信息转密请求中的用户标识对应的用户信息和加密标记;在服务器的可信执行环境中,执行用户信息转密操作,得到与所收到的用户信息转密请求对应的转密用户信息,以及将所得到的转密用户信息发送给发送所收到的用户信息转密请求的终端设备,其中,用户信息转密操作包括:利用服务器的可信执行环境中存储的与转密指令公钥对应的转密指令私钥,对所接收到的用户信息转密请求中的第一转密指令进行解密,得到密文密钥和转密密钥;响应于确定查找到的加密标记为已加密标记,利用服务器的可信执行环境中存储的加密密钥用密钥对解密得到的密文密钥进行解密得到明文密钥;利用解密得到的明文密钥对查找到的用户信息进行解密,得到用户信息明文;响应于确定查找到的加密标记为未加密标记,将查找到的用户信息确定为用户信息明文;利用解密得到的转密密钥对所得到的用户信息明文进行加密,得到与所收到的用户信息转密请求对应的转密用户信息;终端设备,被配置成:响应于接收到服务器发送的与所发送的用户信息转密请求对应的转密用户信息,利用所发送的用户信息转密请求所对应的用户信息查询请求中的转密密钥对所收到的转密用户信息进行解密得到用户信息明文。
第二方面,本申请实施例提供了一种用于处理用户信息的方法,应用于用于处理用户信息的系统中的服务器,用于处理用户信息的系统包括至少一个终端设备和服务器,服务器设置可信执行环境,该方法包括:响应于接收到终端设备发送的用户信息添加请求,将所收到的用户信息添加请求中的用户标识、用户信息和加密标记对应存储,其中,加密标记为用于表征用户信息添加请求中的用户信息为加密后的用户信息密文的已加密标记或者用于表征用户信息添加请求中的用户信息为未进行加密的用户信息明文的未加密标记;响应于接收到终端设备发送的用户信息转密请求,其中,用户信息转密请求包括用户标识和第一转密指令,查询与所收到的用户信息转密请求中的用户标识对应的用户信息和加密标记;在可信执行环境中,执行用户信息转密操作,得到与所收到的用户信息转密请求对应的转密用户信息,以及将所得到的转密用户信息发送给发送所收到的用户信息转密请求的终端设备,其中,用户信息转密操作包括:利用服务器的可信执行环境中存储的与转密指令公钥对应的转密指令私钥,对所接收到的用户信息转密请求中的第一转密指令进行解密,得到密文密钥和转密密钥;响应于确定查找到的加密标记为已加密标记,利用服务器的可信执行环境中存储的加密密钥用密钥对解密得到的密文密钥进行解密得到明文密钥;利用解密得到的明文密钥对查找到的用户信息进行解密,得到用户信息明文;响应于确定查找到的加密标记为未加密标记,将查找到的用户信息确定为用户信息明文;利用解密得到的转密密钥对所得到的用户信息明文进行加密,得到与所收到的用户信息转密请求对应的转密用户信息。
第三方面,本申请实施例提供了一种用于处理用户信息的装置,应用于用于处理用户信息的系统中的服务器,用于处理用户信息的系统包括至少一个终端设备和服务器,服务器设置可信执行环境,该装置包括:用户信息添加单元,被配置成响应于接收到终端设备发送的用户信息添加请求,将所收到的用户信息添加请求中的用户标识、用户信息和加密标记对应存储,其中,加密标记为用于表征用户信息添加请求中的用户信息为加密后的用户信息密文的已加密标记或者用于表征用户信息添加请求中的用户信息为未进行加密的用户信息明文的未加密标记;用户信息查询单元,被配置成响应于接收到终端设备发送的用户信息转密请求,其中,用户信息转密请求包括用户标识和第一转密指令,查询与所收到的用户信息转密请求中的用户标识对应的用户信息和加密标记;用户信息转密单元,被配置成在可信执行环境中,执行用户信息转密操作,得到与所收到的用户信息转密请求对应的转密用户信息,以及将所得到的转密用户信息发送给发送所收到的用户信息转密请求的终端设备,其中,用户信息转密操作包括:利用服务器的可信执行环境中存储的与转密指令公钥对应的转密指令私钥,对所接收到的用户信息转密请求中的第一转密指令进行解密,得到密文密钥和转密密钥;响应于确定查找到的加密标记为已加密标记,利用服务器的可信执行环境中存储的加密密钥用密钥对解密得到的密文密钥进行解密得到明文密钥;利用解密得到的明文密钥对查找到的用户信息进行解密,得到用户信息明文;响应于确定查找到的加密标记为未加密标记,将查找到的用户信息确定为用户信息明文;利用解密得到的转密密钥对所得到的用户信息明文进行加密,得到与所收到的用户信息转密请求对应的转密用户信息。
第三方面,本申请实施例提供了一种服务器,包括:一个或多个处理器;存储装置,其上存储有一个或多个程序,当上述一个或多个程序被上述一个或多个处理器执行时,使得上述一个或多个处理器实现如第二方面中任一实现方式描述的方法。
第四方面,本申请实施例提供了一种计算机可读存储介质,其上存储有计算机程序,其中,该计算机程序被一个或多个处理器执行时实现如第二方面中任一实现方式描述的方法。
本申请实施例提供的用于处理用户信息的系统和方法,通过在终端设备向服务器中增加用户信息的时候,自主选择将加密的用户信息或者不加密的用户信息添加到服务器中,在服务器中对应记录所添加的用户信息是否经过加密。在用户使用终端设备从服务器中查询用户信息的时候,如果用户信息经过加密,终端设备需要提供对应的用户信息加密时所使用的明文密钥对应的密文密钥,并在服务器的可信执行环境中对密文密钥解密才能得到明文密钥,再用明文密钥对用户信息进行解密的得到用户信息明文,如果用户信息未经过加密,则可以直接获取用户信息明文,最后再用终端设备查询时所提供的转密密钥对所得到的用户信息明文进行加密,得到转密用户信息,从而在终端设备上可以使用转密密钥对转密用户信息进行解密才能得到用户信息明文,即,对于服务器中的可信执行环境之外的程序,不能取得经过加密的用户信息的用户信息明文,从而也就不能对用户信息明文进行数据挖掘分析,继而保护用户信息数据的安全不外泄。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:
图1是本申请的一个实施例可以应用于其中的示例性系统架构图;
图2A是根据本申请的用于处理用户信息的系统的一个实施例的时序图;
图2B是根据本申请的密钥和用户信息加密操作的一个实施例的流程图;
图2C是根据本申请的用户信息转密操作的一个实施例的流程图;
图3A、图3B、图3F、图3H和图3K根据本申请的用于处理用户信息的系统的另一个实施例的时序图;
图3C是根据本申请的第一用户标识生成操作的一个实施例的流程图;
图3D是根据本申请的用户标识验证操作的一个实施例的流程图;
图3E是根据本申请的用户验证信息密文生成操作的一个实施例的流程图;
图3G是根据本申请的第二用户标识生成操作的一个实施例的流程图;
图3I是根据本申请的用户标识验证信息密文生成操作的一个实施例的流程图;
图3J是根据本申请的验证信息生成操作的一个实施例的流程图;
图3L是根据本申请的信息加密操作的一个实施例的流程图;
图3M是根据本申请的第一信息解密操作的一个实施例的流程图;
图3O是根据本申请的信息转密操作的一个实施例的流程图;
图4是根据本申请的用于处理用户信息的方法的一个实施例的流程图;
图5是根据本申请的用于处理用户信息的装置的一个实施例的结构示意图;
图6是适于用来实现本申请实施例的服务器的计算机系统的结构示意图。
具体实施方式
下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释相关发明,而非对该发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与有关发明相关的部分。
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
图1示出了可以应用本申请的用于处理用户信息的系统或用于处理用户信息的方法的实施例的示例性系统架构100。
如图1所示,系统架构100可以包括终端设备101、102、103,网络104和服务器105。网络104用以在终端设备101、102、103和服务器105之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
用户可以使用终端设备101、102、103通过网络104与服务器105交互,以接收或发送消息等。终端设备101、102、103上可以安装有各种通讯客户端应用,例如网页浏览器应用、购物类应用、搜索类应用、即时通信工具、邮箱客户端、社交平台软件等。
终端设备101、102、103可以是硬件,也可以是软件。当终端设备101、102、103为硬件时,可以是具有显示屏的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等。当终端设备101、102、103为软件时,可以安装在上述所列举的电子设备中。其可以实现成多个软件或软件模块,也可以实现成单个软件或软件模块。在此不做具体限定。
服务器105可以是设置有可信执行环境(TEE,Trusted Execution Environment)且提供各种服务的服务器,例如对终端设备101、102、103上显示的网页或者应用提供支持的后台服务器。后台服务器可以对接收到的用户信息添加请求、用户信息查询请求等数据进行分析等处理,并将处理结果(例如,转密用户信息)反馈给终端设备。
这里,TEE是与设备上的Rich OS(通常是Android等)并存的运行环境,并且给RichOS提供安全服务。TEE具有其自身的执行空间。TEE所能访问的软硬件资源是与Rich OS分离的。TEE提供了可信应用(Trusted Application,TA)的安全执行环境,同时也保护可信应用的资源和数据的保密性,完整性和访问权限。为了保证TEE本身的可信根,TEE在安全启动过程中是要通过验证并且与Rich OS隔离的。在TEE中,每个可信应用是相互独立的,而且不能在未授权的情况下不能互相访问。
作为示例,服务器中设置的TEE可以采用如下两种方式:
(1)、借助特定CPU芯片提供的安全防护能力,比如Intel SGX、ARM Trust Zone等,构造一个可信执行环境。
为了保障安全强度,还可以在可信执行环境底层增加可信硬件支持,比如采用符合可信平台模块(TPM,Trusted Platform Module)标准的安全芯片,或采用符合可信密码模块(TCM,Trusted Cryptography Module)标准的安全芯片。
(2)采用加密锁(俗称软件狗)实现可信执行环境。
常见的软件狗常包装成一个小巧的USB(Universal Serial Bus,通用串行总线)设备,软件狗内既提供文件存贮,也支持运行经过定制的程序。采用软件狗,可以不必限定服务器的设备类型,只要服务器有USB接口即可,降低了对服务器的设备要求。
需要说明的是,本申请实施例所提供的用于处理用户信息的方法一般由服务器105执行,相应地,用于处理用户信息的装置一般设置于服务器105中。
应该理解,图1中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
继续参考图2A,其示出了根据本申请的用于处理用户信息的系统的一个实施例的时序200。
本申请实施例中的用于处理用户信息的系统可以包括服务器和至少一个终端设备,服务器与至少一个终端设备之间网络连接,而且服务器中设置有可信执行环境。
如图2A所示,根据本申请的用于处理用户信息的系统的一个实施例的时序200可以包括以下步骤:
步骤201,终端设备响应于检测到加密用户信息添加请求,在对密钥和用户信息加密操作提供支持的目标可信执行环境中,执行密钥和用户信息加密操作,得到与明文密钥对应的密文密钥和与待添加用户信息对应的用户信息密文,以及将包括加密用户信息添加请求中的用户标识、所得到的用户信息密文和加密标记为已加密标记的用户信息添加请求发送给服务器。
在本实施例中,终端设备可以在检测到包括用户标识、待添加用户信息和明文密钥的加密用户信息添加请求的情况下,在对密钥和用户信息加密操作提供支持的目标可信执行环境中,执行密钥和用户信息加密操作,得到与明文密钥对应的密文密钥和与待添加用户信息对应的用户信息密文,以及将包括加密用户信息添加请求中的用户标识、所得到的用户信息密文和加密标记为已加密标记的用户信息添加请求发送给服务器。其中,已加密标记用于表征用户信息添加请求中的用户信息为加密后的用户信息密文。上述密钥和用户信息加密操作可以包括如图2B所示的子步骤2011和子步骤2012:
子步骤2011,利用目标可信执行环境中存储的加密明文密钥用密钥,对所检测到的加密用户信息添加请求中的明文密钥进行加密得到与明文密钥对应的密文密钥。
其中,利用目标可信执行环境中存储的加密明文密钥用密钥,对所检测到的加密用户信息添加请求中的明文密钥进行加密时,可以采用DES(Data Encrytion Standard,美国数据加密标准)算法,3DES/TDEA(三重数据加密算法,Triple Data EncryptionAlgorithm)算法,AES(Advanced Encryption Standard,高级加密标准)算法、Blowfish算法,RC2算法,RC4算法,RC5算法,IDEA算法(International Data Encryption Algorithm,国际数据加密算法)等各种现在已知或者未来开发的对称加密算法。这里,在目标可信执行环境中存储的加密明文密钥用密钥,不能存储在目标可信执行环境所在的电子设备的可信执行环境之外,目标可信执行环境内的程序可以访问加密明文密钥用密钥,但目标可信环境所在的电子设备的可信执行环境之外的程序不能访问加密明文密钥用密钥,从而可以保证在目标可信执行环境所在的电子设备的可信执行环境之外不能对密文密钥进行解密得到明文密钥。
子步骤2012,利用明文密钥对所检测到的加密用户信息添加请求中的待添加用户信息进行加密,得到与所检测到的加密用户信息添加请求中的待添加用户信息明文对应的用户信息密文。
同理,利用明文密钥对所检测到的加密用户信息添加请求中的待添加用户信息进行加密时,也可以采用各种对称加密算法。
这里,终端设备可以是至少一个终端设备中的任一终端设备。
这里,目标可信执行环境可以是终端设备中设置的可信执行环境,这样,终端设备可以在该终端设备中设置的可信执行环境中执行密钥和用户信息加密操作。
这里,目标可信执行环境还可以是与终端设备网络连接的其他电子设备中设置的可信执行环境,这样,终端设备可以将加密用户信息添加请求发送给上述设置有可信执行环境的电子设备,上述电子设备在上述电子设备的可信执行环境中执行密钥和用户信息加密操作,并得到与明文密钥对应的密文密钥和与待添加用户信息对应的用户信息密文,然后上述电子设备可以将所得到的密文密钥和用户信息密文发送给上述终端设备,从而上述终端设备可以将包括加密用户信息添加请求中的用户标识、所得到的用户信息密文和加密标记为已加密标记的用户信息添加请求发送给服务器。
实践中,终端设备可以采用各种实现方式检测加密用户信息添加请求。例如,终端设备可以在检测到用户使用终端设备访问了供用户输入注册用户信息的新用户注册页面,且在该新用户注册页面中输入了用户标识、待添加用户信息和明文密钥的情况下,表明用户希望对所输入的待添加用户信息使用所输入的明文密钥进行加密,即,对该用户而言,所输入的待添加用户信息属于敏感信息,不可以将待添加用户信息明文存储在服务器中,必须要加密后存储在服务器中,这时,终端设备可以确定检测到加密用户信息添加请求。又例如,终端设备还可以在检测到用户打开了终端设备上安装的应用中供用户输入注册用户信息的新用户注册界面,且在该新用户注册界面中输入了用户标识、待添加用户信息和明文密钥的情况下,也表明用户希望对所输入的待添加用户信息使用所输入的明文密钥进行加密,即,对该用户而言,所输入的待添加用户信息属于敏感信息,不可以将待添加用户信息明文存储在服务器中,必须要加密后存储在服务器中,这时,终端设备也可以确定检测到加密用户信息添加请求。
这里,待添加用户信息可以包括用户的各种属性信息,例如,待添加用户信息可以包括姓名、年龄、性别、手机号码、证件号码、昵称、头像图像、兴趣爱好、职业、收入状况、学历、籍贯、家庭地址、工作地址等等。
这里,用户标识用于唯一标识服务器所存储的用户信息对应的各个用户。用户标识可以包括以下至少一项:数字、字符和文字。
步骤202,终端设备响应于检测到包括用户标识、待添加用户信息和加密标记为未加密标记的未加密用户信息添加请求,将未加密用户信息添加请求作为用户信息添加请求发送给服务器。
这里,未加密标记用于表征用户信息添加请求中的用户信息为未进行加密的用户信息明文。
作为示例,可以以“0”作为未加密标记,以“1”作为加密标记,或者,还可以以“False”作为未加密标记,以“True”作为加密标记。
实践中,终端设备可以采用各种实现方式检测未加密用户信息添加请求。例如,终端设备可以在检测到用户使用终端设备访问了供用户输入注册用户信息的新用户注册页面,且在该新用户注册页面中输入了用户标识和待添加用户信息但未输入明文密钥的情况下,表明用户不希望对所输入的待添加用户信息进行加密,即,对该用户而言,所输入的待添加用户信息不属于敏感信息,可以将待添加用户信息明文存储在服务器中,这时,终端设备可以确定检测到未加密用户信息添加请求。又例如,终端设备还可以在检测到用户打开了终端设备上安装的应用中供用户输入注册用户信息的新用户注册界面,且在该新用户注册界面中输入了用户标识和待添加用户信息但未输入明文密钥的情况下,也表明用户不希望对所输入的待添加用户信息进行加密,即,对该用户而言,所输入的待添加用户信息不属于敏感信息,可以将待添加用户信息明文存储在服务器中,这时,终端设备也可以确定检测到未加密用户信息添加请求。
步骤203,服务器响应于接收到终端设备发送的用户信息添加请求,将所收到的用户信息添加请求中的用户标识、用户信息和加密标记对应存储。
这里,服务器可以对于所接收到的用户信息添加请求,不管是加密标记为已加密标记的用户信息添加请求,还是加密标记为未加密标记的用户信息添加请求,都可以将所收到的用户信息添加请求中的用户标识、用户信息和加密标记对应存储。
可以理解的是,实践中,由于用户信息的数量巨大,服务器可以将所收到的用户信息添加请求中的用户标识、用户信息和加密标记对应存储在分布式数据库中。
步骤204,终端设备响应于检测到用户信息查询请求,利用转密指令公钥对所收到的用户信息查询请求中密文密钥和转密密钥进行加密得到第一转密指令,以及将用户信息查询请求中的用户标识和所得到的第一转密指令作为与用户信息查询请求对应的用户信息转密请求发送给服务器。
在本实施例中,终端设备可以在检测到用户信息查询请求的情况下,其中,上述用户信息查询请求包括用户标识、密文密钥和转密密钥,利用转密指令公钥对所收到的用户信息查询请求中的密文密钥和转密密钥进行加密得到第一转密指令,以及将所收到的用户信息查询请求中的用户标识和所得到的第一转密指令作为与所收到的用户信息查询请求对应的用户信息转密请求发送给服务器。
这里,用户信息查询请求中的用户标识可以是用户使用终端设备输入的用户标识,即,用户希望查询所输入的用户标识所指示的用户的用户信息。
这里,用户信息是用户使用终端设备经过步骤201、步骤202和步骤203,从终端设备上传并存储到服务器的。如果所添加的用户信息是经过加密的,终端设备如果要查询已加密的用户信息是需要提供对用户信息进行加密时所用的密钥的,但是为了保证安全,这里不能将对用户信息加密时所使用的明文密钥发送给服务器,避免服务器利用明文密钥解密用户信息,从而造成服务器对用户信息的泄密或者滥用。从步骤201中的描述可知,步骤201中在为用户信息加密时,还生成了与加密用户信息所用的明文密钥对应的密文密钥,而这个所生成的密文密钥也与步骤201中的加密用户信息添加请求中的明文密钥相对应。这里,用户信息查询请求中的密文密钥就是在步骤201中与用户标识为用户信息查询请求中的用户标识的加密用户信息添加请求中的明文密钥对应的密文密钥。用户需要在使用终端设备添加用户信息到服务器中时,记忆步骤201中针对明文密钥所生成的密文密钥,以便在查询用户信息时提供。实践中,为了减少用户的记忆负担,也可以将终端设备的每个用户标识和对应的密文密钥对应存储,比如,对应存储在一个对应关系表中,或者对应存储在终端设备的操作系统的注册表中。这样,终端设备可以通过上述对应存储关系来获取与用户标识对应的密文密钥。
这里,用户信息查询请求中的转密密钥可以是终端设备接收用户输入的密钥字符串,或者,用户信息查询请求中的转密密钥也可以是终端设备随机生成的密钥。
这里,利用转密指令公钥对所收到的用户信息查询请求中密文密钥和转密密钥进行加密可以是采用现在已知或未来开发的各种非对称加密算法,包括但不限于:RSA加密算法、Elgamal算法、背包算法、D-H算法、ECC(椭圆曲线加密算法)等。而加密所使用的转密指令公钥是非对称加密过程中所使用的公钥。
步骤205,服务器响应于接收到终端设备发送的用户信息转密请求,查询与所收到的用户信息转密请求中的用户标识对应的用户信息和加密标记,在服务器的可信执行环境中,执行用户信息转密操作,得到与所收到的用户信息转密请求对应的转密用户信息,以及将所得到的转密用户信息发送给发送所收到的用户信息转密请求的终端设备。
由于服务器对应存储有用户标识、用户信息和加密标记,因此,服务器可以在接收到终端设备发送的用户信息转密请求的情况下,查询与所收到的用户信息转密请求中的用户标识对应的用户信息和加密标记,并在服务器的可信执行环境中,执行用户信息转密操作,得到与所收到的用户信息转密请求对应的转密用户信息,以及将所得到的转密用户信息发送给发送所收到的用户信息转密请求的终端设备。其中,上述用户信息转密操作可以包括如图2C所示的子步骤2051到子步骤2052:
子步骤2051,利用服务器的可信执行环境中存储的与转密指令公钥对应的转密指令私钥,对所接收到的用户信息转密请求中的第一转密指令进行解密,得到密文密钥和转密密钥。
这里的转密指令私钥是和步骤204中对所收到的用户信息查询请求中密文密钥和转密密钥进行加密所使用的转密指令公钥对应的解密所用的私钥。转密指令公钥可以存储在服务器可信执行环境之外和可信执行环境之内。而转密指令私钥只能存储在服务器或者终端设备的可信执行环境之内,转密指令私钥只能被服务器或者终端设备的可信执行环境之内的程序访问,不能被服务器的可信执行环境之外的程序和终端设备的可信执行环境之外的程序访问。
子步骤2052,响应于确定查找到的加密标记为已加密标记,利用服务器的可信执行环境中存储的加密密钥用密钥对解密得到的密文密钥进行解密得到明文密钥。
子步骤2053,利用解密得到的明文密钥对查找到的用户信息进行解密,得到用户信息明文。
子步骤2054,响应于确定查找到的加密标记为未加密标记,将查找到的用户信息确定为用户信息明文。
子步骤2055,利用解密得到的转密密钥对所得到的用户信息明文进行加密,得到与所收到的用户信息转密请求对应的转密用户信息。
经过用户信息转密操作,在服务器的可信执行环境中对用户信息明文利用转密密钥进行了加密,服务器的可信执行环境之外的程序只能获取经过转密密钥加密之后的转密用户信息,不能获取用户信息明文,从而避免了服务器泄露用户信息明文。
步骤206,终端设备响应于接收到服务器发送的与所发送的用户信息转密请求对应的转密用户信息,利用所发送的用户信息转密请求所对应的用户信息查询请求中的转密密钥对所收到的转密用户信息进行解密得到用户信息明文。
在一些可选实现方式中,加密用户信息添加请求中的用户标识、未加密用户信息添加请求中的用户标识和用户信息查询请求中的用户标识可以是终端设备的用户标识集合中的用户标识。即,针对每个终端设备,在该终端设备中存储有该终端设备的用户标识集合,步骤201中终端设备检测到的加密用户信息添加请求中的用户标识是该终端设备中存储的用户标识集合中的用户标识,步骤202中终端设备检测到的未加密用户信息添加请求中的用户标识也是该终端设备中存储的用户标识集合中的用户标识,步骤204中终端设备检测到的用户信息查询请求中的用户标识也是该终端设备中存储的用户标识集合中的用户标识。
在一些可选实现方式中,服务器可以为支持OAuthor协议的资源服务器。
本申请的上述实施例提供的用于处理用户信息的系统,通过在终端设备向服务器中增加用户信息的时候,自主选择将加密的用户信息或者不加密的用户信息添加到服务器中,在服务器中对应记录所添加的用户信息是否经过加密。在用户使用终端设备从服务器中查询用户信息的时候,如果用户信息经过加密,终端设备需要提供对应的用户信息加密时所使用的明文密钥对应的密文密钥,并在服务器的可信执行环境中对密文密钥解密才能得到明文密钥,再用明文密钥对用户信息进行解密的得到用户信息明文,如果用户信息未经过加密,则可以直接获取用户信息明文,最后再用终端设备查询时所提供的转密密钥对所得到的用户信息明文进行加密,得到转密用户信息,从而在终端设备上可以使用转密密钥对转密用户信息进行解密才能得到用户信息明文,即,对于服务器中的可信执行环境之外的程序,不能取得经过加密的用户信息的用户信息明文,从而也就不能对用户信息明文进行数据挖掘分析,继而保护用户信息数据的安全不外泄。
进一步参考图3A,其示出了根据本申请的用于处理用户信息的系统的又一个实施例的时序300。
本申请实施例中的用于处理用户信息的系统可以包括服务器和至少一个终端设备,服务器与至少一个终端设备之间网络连接,而且服务器中设置有可信执行环境。
如图3A所示,根据本申请的用于处理用户信息的系统的又一个实施例的时序300可以包括以下步骤:
步骤301,终端设备响应于检测到包括用户标识、用户信息范围标识、待添加用户信息和明文密钥的加密用户信息添加请求,在对密钥和用户信息加密操作提供支持的目标可信执行环境中,执行密钥和用户信息加密操作,得到与明文密钥对应的密文密钥和与待添加用户信息对应的用户信息密文,以及将包括加密用户信息添加请求中的用户标识和用户信息范围标识、所得到的用户信息密文以及加密标记为已加密标记的用户信息添加请求发送给服务器。
在本实施例中,终端设备可以在检测到包括用户标识、用户信息范围标识、待添加用户信息和明文密钥的加密用户信息添加请求的情况下,在对密钥和用户信息加密操作提供支持的目标可信执行环境中,执行密钥和用户信息加密操作,得到与明文密钥对应的密文密钥和与待添加用户信息对应的用户信息密文,以及将包括加密用户信息添加请求中的用户标识、用户信息范围标识、所得到的用户信息密文以及加密标记为已加密标记的用户信息添加请求发送给服务器。其中,已加密标记用于表征用户信息添加请求中的用户信息为加密后的用户信息密文。上述密钥和用户信息加密操作可以包括如图2B所示的子步骤2011和子步骤2012,具体可以参考图2A所示的实施例中步骤201中的相关描述,在此不再赘述。
这里,关于终端设备、目标可信执行环境、待添加用户信息和用户标识,可以参考图2A所示的实施例中步骤201中的相关描述,在此不再赘述。
这里,用户信息范围标识用于指示用户信息所包括的各种属性信息中的至少一种属性信息,也可以理解为用户信息范围标识用于指示用户信息所包括的各个字段中的至少一个字段。实践中,可以将用户信息所包括的各种属性信息按照每种属性信息的隐私程度和/或重要程度进行分类,标定每种属性信息所属的用户信息范围标识。例如,可以标定“1”、“2”和“3”三个用户信息范围标识,其中,用户信息范围标识“1”用于指示隐私程度和/或重要程度较低的用户属性信息,比如,“兴趣爱好”、“头像图片”、“昵称”等等,用户信息范围标识“2”用于指示隐私程度和/或重要程度稍高的用户属性信息,比如,“姓名”、“性别”、“年龄”等等,用户信息范围标识“3”用于指示隐私程度和/或重要程度最高的用户属性信息,比如,“手机号码”、“证件号码”、“家庭地址”、“工作地址”等等。
实践中,终端设备可以采用各种实现方式检测加密用户信息添加请求。例如,终端设备可以在检测到用户使用终端设备访问了供用户输入注册用户信息的新用户注册页面,且在该新用户注册页面中输入了用户标识、用户信息范围标识、待添加用户信息和明文密钥的情况下,表明用户希望对所输入的待添加用户信息使用所输入的明文密钥进行加密,即,对该用户而言,所输入的待添加用户信息属于敏感信息,不可以将待添加用户信息明文存储在服务器中,必须要加密后存储在服务器中,这时,终端设备可以确定检测到加密用户信息添加请求。又例如,终端设备还可以在检测到用户打开了终端设备上安装的应用中供用户输入注册用户信息的新用户注册界面,且在该新用户注册界面中输入了用户标识、用户信息范围标识、待添加用户信息和明文密钥的情况下,也表明用户希望对所输入的待添加用户信息使用所输入的明文密钥进行加密,即,对该用户而言,所输入的待添加用户信息属于敏感信息,不可以将待添加用户信息明文存储在服务器中,必须要加密后存储在服务器中,这时,终端设备也可以确定检测到加密用户信息添加请求。
步骤302,终端设备响应于检测到包括用户标识、用户信息范围标识、待添加用户信息和加密标记为未加密标记的未加密用户信息添加请求,将未加密用户信息添加请求作为用户信息添加请求发送给服务器。
这里,未加密标记用于表征用户信息添加请求中的用户信息为未进行加密的用户信息明文。
实践中,终端设备可以采用各种实现方式检测未加密用户信息添加请求。例如,终端设备可以在检测到用户使用终端设备访问了供用户输入注册用户信息的新用户注册网页,且在该新用户注册网页中输入了用户标识、用户信息范围标识和待添加用户信息但未输入明文密钥的情况下,表明用户不希望对所输入的待添加用户信息进行加密,即,对该用户而言,所输入的待添加用户信息不属于敏感信息,可以将待添加用户信息明文存储在服务器中,这时,终端设备可以确认检测到未加密用户信息添加请求。又例如,终端设备还可以在检测到用户打开了终端设备上安装的某应用的供用户输入注册用户信息的新用户注册界面,且在该新用户注册界面中输入了用户标识、用户信息范围标识和待添加用户信息但未输入明文密钥的情况下,也表明用户不希望对所输入的待添加用户信息进行加密,即,对该用户而言,所输入的待添加用户信息不属于敏感信息,可以将待添加用户信息明文存储在服务器中,这时,终端设备也可以确认检测到未加密用户信息添加请求。
步骤303,服务器响应于接收到终端设备发送的用户信息添加请求,将所收到的用户信息添加请求中的用户标识、用户信息范围标识、用户信息和加密标记对应存储。
这里,服务器可以对于所接收到的用户信息添加请求,不管是加密标记为已加密标记的用户信息添加请求,还是加密标记为未加密标记的用户信息添加请求,都可以将所收到的用户信息添加请求中的用户标识、用户信息范围标识、用户信息和加密标记对应存储。
可以理解的是,实践中,由于用户信息的数量巨大,服务器可以将所收到的用户信息添加请求中的用户标识、用户信息范围标识、用户信息和加密标记对应存储在分布式数据库中。
步骤304,终端设备响应于检测到用户信息查询请求,利用转密指令公钥对所收到的用户信息查询请求中密文密钥和转密密钥进行加密得到第一转密指令,以及将用户信息查询请求中的用户标识和用户信息范围标识以及所得到的第一转密指令作为与用户信息查询请求对应的用户信息转密请求发送给服务器。
在本实施例中,终端设备可以在检测到用户信息查询请求的情况下,其中,上述用户信息查询请求包括用户标识、用户信息范围标识、密文密钥和转密密钥,利用转密指令公钥对所收到的用户信息查询请求中的密文密钥和转密密钥进行加密得到第一转密指令,以及将所收到的用户信息查询请求中的用户标识和用户信息范围标识以及所得到的第一转密指令作为与所收到的用户信息查询请求对应的用户信息转密请求发送给服务器。
这里,用户信息查询请求中的用户标识可以是用户使用终端设备输入的用户标识,即,用户希望查询所输入的用户标识所指示的用户的用户信息。
这里,用户信息查询请求中的用户信息范围标识可以是用户使用终端设备输入的用户信息范围标识,即,用户希望查询所输入的用户标识所指示的用户的所输入的用户信息范围标识范围内的用户信息。
这里,关于密文密钥、转密密钥和转密指令公钥,可以参考图2A所示的实施例中步骤204中的相关描述,在此不再赘述。
步骤305,服务器响应于接收到终端设备发送的用户信息转密请求,查询与所收到的用户信息转密请求中的用户标识和用户信息范围标识对应的用户信息和加密标记,在服务器的可信执行环境中,执行用户信息转密操作,得到与所收到的用户信息转密请求对应的转密用户信息,以及将所得到的转密用户信息发送给发送所收到的用户信息转密请求的终端设备。
由于服务器对应存储有用户标识、用户信息范围标识、用户信息和加密标记,因此,服务器可以在接收到终端设备发送的用户信息转密请求的情况下,查询与所收到的用户信息转密请求中的用户标识和用户信息范围标识对应的用户信息和加密标记,并在服务器的可信执行环境中,执行用户信息转密操作,得到与所收到的用户信息转密请求对应的转密用户信息,以及将所得到的转密用户信息发送给发送所收到的用户信息转密请求的终端设备。
其中,上述用户信息转密操作可以包括如图2C所示的子步骤2051到子步骤2052,具体可以参考图2A所示的实施例中步骤205中的相关描述,在此不再赘述。
经过用户信息转密操作,在服务器的可信执行环境中对用户信息明文利用转密密钥进行了加密,服务器的可信执行环境之外的程序只能获取经过转密密钥加密之后的转密用户信息,不能获取用户信息明文,从而避免了服务器泄露用户信息明文。
步骤306,终端设备响应于接收到服务器发送的与所发送的用户信息转密请求对应的转密用户信息,利用所发送的用户信息转密请求所对应的用户信息查询请求中的转密密钥对所收到的转密用户信息进行解密得到用户信息明文。
在本实施例中,步骤306的具体操作与图2A所示的实施例中步骤206的具体操作基本相同,在此不再赘述。
在本实施例中,加密用户信息添加请求中的用户标识、未加密用户信息添加请求中的用户标识和用户信息查询请求中的用户标识可以是终端设备的用户标识集合中的用户标识。
由于页面显示限制,下面继续参考图3B,需要说明的是,图3B的流程除了包括图3B中所示的各个步骤外,还可以包括图3A中所示的各个步骤。另外,需要说明的是,图3B中所示的第一终端设备和第二终端设备除了可以执行图3B中所示的相应步骤外,还可以执行图3A中所示的终端设备可以执行的各个步骤。
在某些情况下,本实施例可以具有以下可选实现方式:
可选实现方式(一):用于处理用户信息的系统中的至少一个终端设备可以包括至少一个设置可信执行环境的第一终端设备,以及上述时序300还可以包括如图3B所示的步骤307:
步骤307,第一终端设备响应于检测到包括第一用户标识类别标识的第一用户标识生成请求,在该第一终端设备的可信执行环境中,执行第一用户标识生成操作,得到与第一用户标识生成请求对应的用户标识,以及将所得到的用户标识添加到该第一终端设备的用户标识集合中。
实践中,终端设备可以采用各种实现方式检测第一用户标识生成请求。例如,终端设备可以在检测到用户使用终端设备访问了包括供用户输入用户标识类别标识的页面元素(例如,文本框或者下拉菜单等)的用户标识生成页面,并在上述供用户输入用户标识类别标识的页面元素中输入了第一用户标识类别标识时,确定检测到第一用户标识生成请求。又例如,终端设备还可以在检测到用户打开了终端设备上安装的应用中的用户标识生成界面,输入了第一用户标识类别标识,并点击了关联有第一用户标识生成操作的控件(例如,按钮)时,确定检测到第一用户标识生成请求。
这里,第一用户标识类别标识用于指示第一终端设备的用户标识集合中用户标识的类别。实践中,可以按照各种方式对用户标识集合中的用户标识进行分类,每个分类对应不同的第一用户标识类别,而第一用户标识类别标识用于指示不同的第一用户标识类别。作为示例,可以按照所生成的用户标识所应用于的应用的所属类型来进行分类,比如,如果用户希望生成用于社交应用或者社交网站的用户标识,那么,可以输入或者选择社交应用或者社交网站对应的用户标识类别标识生成第一用户标识生成请求。又比如,如果用户希望生成购物应用或者购物网站的用户标识,那么,可以输入或者选择购物应用或者购物网站对应的用户标识类别标识生成第一用户标识生成请求。作为示例,还可以按照递增的方式确定第一用户标识类别标识,即,第一终端设备可以存储有当前第一用户标识类别标识,当检测到用户输入的希望生成用户标识的指令时,第一终端设备可以获取上述存储的当前第一用户标识类别标识,并将所获取的当前第一用户标识类别标识进行递增更新,用递增更新之后的当前第一用户标识类别标识生成第一用户标识生成请求。
这里,第一终端设备可以在检测到包括第一用户标识类别标识的第一用户标识生成请求的情况下,在该第一终端设备的可信执行环境中,执行第一用户标识生成操作,得到与第一用户标识生成请求对应的用户标识,以及将所得到的用户标识添加到该第一终端设备的用户标识集合中。这里,上述第一用户标识生成操作可以包括如图3C所示的子步骤3071到子步骤3073:
子步骤3071,获取用于指示该第一终端设备的可信执行环境的、包括厂商标识和产品标识的环境标识。
这里,可信执行环境的环境标识用于唯一标识可信执行环境,可信执行环境的环境标识可以包括厂商标识和产品标识,其中,可信执行环境的厂商标识用于唯一标识不同的可信执行环境的厂商,而产品标识用于唯一标识同一可信执行环境厂商所生产的可信执行环境。实践中,通常可信执行环境在出厂时已经设置好厂商标识和产品标识,不能进行修改,而且,可信执行环境的环境标识只能存储在可信执行环境之内,可信执行环境之内的程序可以访问可信执行环境的环境标识,而可信执行环境之外的程序不能访问可信执行环境的环境标识。环境标识可以包括以下至少一项:数字、字符和文字。
子步骤3072,随机生成随机数。
子步骤3073,用该第一终端设备的可信执行环境中存储的用户标识密钥对第一扩展用户标识进行加密,得到与第一用户标识生成请求对应的用户标识。
这里,第一扩展用户标识可以包括子步骤3071中所获取的环境标识、所生成的随机数和步骤307中接收到的第一用户标识生成请求中的第一用户标识类别标识。
这里,用户标识密钥只能存储在可信执行环境中,且只能被可信执行环境之内的程序访问,不能被可信执行环境之外的程序访问。
这里,用该第一终端设备的可信执行环境中存储的用户标识密钥对第一扩展用户标识进行加密,可以采用各种对称加密算法。
步骤307中所生成的用户标识是基于第一终端设备的可信执行环境的环境标识生成的,而且还加入了所生成的随机数和第一用户标识类别标识,对于可信执行环境之外的程序而言,仅仅可以得到所生成的用户标识,但不能解析所生成的用户标识中的环境标识,只有可信执行环境内的程序才能解析所生成的用户标识得到用户标识中的环境标识,因此,可以保护终端设备的用户标识集合中的用户标识不被可信执行环境之外的程序破解,从而,以终端用户标识集合中的用户标识作为加密用户信息添加请求中的用户标识,或者,以终端用户标识集合中的用户标识作为未加密用户信息添加请求中的用户标识,继而再向服务器发送的用户信息添加请求中的用户标识也是终端设备的用户标识集合中的用户标识,也就是说,对应存储到服务器的用户标识、用户信息范围标识、用户信息和加密标记中的用户标识也是终端设备的用户标识集合中的用户标识,而服务器的可信执行环境之外的程序也无法解析服务器所存储的用户信息中的用户标识,继而无法将同一终端设备的用户标识集合中的各个用户标识进行关联进而进行大数据分析,保护了用户信息的隐私安全。
可选实现方式(二):基于上述可选实现方式(一),上述时序300还可以包括如图3B所示的步骤308:
步骤308,第一终端设备响应于检测到包括待验证用户标识和待加密信息的用户标识验证请求,在该第一终端设备的可信执行环境中执行用户标识验证操作,得到与用户标识验证请求对应的验证结果。
实践中,第一终端设备可以采用各种实现方式检测用户标识验证请求。例如,例如,第一终端设备可以在检测到用户打开了重新安装了用于处理用户信息的应用,为了确定第一终端设备的用户标识集合中的用户标记均为该第一终端设备的用户标识,对该第一终端设备的用户标识集合中的每个用户标记,均可以以该用户标识作为待验证用户标识生成用户标识验证请求,并在得到是用户标识验证结果的情况下,将该用户标识保留在该第一终端设备的用户标识集合中,并在得到非用户标识验证结果的情况下,将该用户标识从该第一终端设备的用户标识集合中删除。
这里,第一终端设备可以在检测到包括待验证用户标识和待加密信息的用户标识验证请求的情况下,在该第一终端设备的可信执行环境中执行用户标识验证操作,得到与用户标识验证请求对应的验证结果。这里,待加密信息可以是随机生成的信息或者任意预设的信息内容。
这里,上述用户标识验证操作可以包括如图3D所示的子步骤3081到子步骤3087:
子步骤3081,用该第一终端设备的可信执行环境中存储的用户标识密钥对待验证用户标识解密,得到待验证扩展用户标识。
这里,如果待验证用户标识是用第一终端设备的可信执行环境中存储的用户标识密钥对待验证扩展用户标识进行加密得到的,这里,用该第一终端设备的可信执行环境中存储的用户标识密钥对待验证用户标识解密,就可以得到待验证扩展用户标识。
子步骤3082,按照预设算法,根据待验证扩展用户标识中的环境标识生成第一密钥。
例如,按照预设算法,根据待验证扩展用户标识中的环境标识生成第一密钥,可以如下进行:组合待验证扩展用户标识中的环境标识和该第一终端设备的可信执行环境中存储的预设密钥分量标识(例如,可以是预设常数)得到第一密钥。
又例如,按照预设算法,根据待验证扩展用户标识中的环境标识生成第一密钥,还可以如下进行:将待验证扩展用户标识中的环境标识与该第一终端设备的可信执行环境中存储的预设掩码做异或运算,得到第一密钥。
子步骤3083,用所生成的第一密钥加密待加密信息,得到第一加密信息。
子步骤3084,按照预设算法,根据该第一终端设备的可信执行环境的环境标识生成第二密钥。
这里,预设算法为子步骤3082中的预设算法。
子步骤3085,用所生成的第二密钥对所得到的第一加密信息解密,得到第一明文信息。
子步骤3086,确定所得到的第一明文信息与待加密信息是否相同。
如果确定相同,表明子步骤3081中对待验证用户标识进行解密所得到的待验证扩展用户标识中的环境标识与该第一终端设备的可信执行环境的环境标识相同,从而可以确定待验证用户标识为该第一终端设备的用户标识,则可以转到子步骤3087。
如果确定不同,表明子步骤3081中对待验证用户标识进行解密所得到的待验证扩展用户标识中的环境标识与该第一终端设备的可信执行环境的环境标识不同,从而可以确定待验证用户标识不是该第一终端设备的用户标识,则可以转到子步骤3088。
子步骤3087,生成用于指示待验证用户标识为该第一终端设备的用户标识的是用户标识验证结果。
子步骤3088,生成用于指示待验证用户标识不是该第一终端设备的用户标识的非用户标识验证结果。
基于上述可选实现方式(二),第一终端设备可以在需要的情况下,验证用户标识是否为该第一终端设备的用户标识。
可选实现方式(三):基于上述可选实现方式(一)或可选实现方式(二),第一终端设备的厂商标识的取值范围不同于该第一终端设备的可信执行环境的产品标识的取值范围,而且,用于处理用户信息的系统中的至少一个终端设备除了可以包括至少一个设置可信执行环境的第一终端设备以外,还可以包括至少一个未设置可信执行环境的第二终端设备,并且上述时序300还可以如图3B所示的包括步骤309到步骤311:
步骤309,第二终端设备响应于检测到用户输入的注册成为目标应用和/或目标网站的用户的注册请求以及确定该第二终端设备未设置对应的用户验证信息密文,向对目标应用和/或目标网站提供支持的第一终端设备发送注册请求。
这里,设置有可信执行环境第一终端设备除了可以是终端用户设备,也可以对目标应用和/或目标网站提供支持。这里,目标应用可以是任一指定应用,目标网站也可以是任一指定网站。例如,目标应用可以是售书电商应用,目标网站也可以是售书电商网站。而未设置可信执行环境的第二终端设备,为了使用第一终端设备所支持的目标应用和/或目标网站所提供的服务,需要先注册成为目标应用和/或目标网站的用户。为此,如果第二终端设备的用户希望注册成为目标应用和/或目标网站的用户,可以在第二终端设备中打开目标应用,并点击目标应用中关联有注册成为目标应用的用户的操作的控件,则第二终端设备可以检测到注册请求,或者,第二终端设备的用户也可以使用第二终端设备访问目标网站,并点击目标网站的注册页面中关联有注册成为目标网站的用户操作的页面元素,则第二终端设备也可以检测到注册请求。
如果第二终端设备已经向对目标应用和/或目标网站提供支持的第一终端设备发起过注册请求并收到了第一终端设备发送的用户验证信息密文,则,第二终端设备中已经设置过对应的用户验证信息密文。只有在第二终端设备未曾设置过对应的用户验证信息密文且检测到用户输入的注册成为目标应用和/或目标网站的用户的注册请求的情况下,第二终端设备才会向对目标应用和/或目标网站提供支持的第一终端设备发送注册请求。
步骤310,第一终端设备响应于接收到第二终端设备发送的注册请求,在该第一终端设备的可信执行环境中执行用户验证信息密文生成操作,得到用户验证信息密文,以及将所得到的用户验证信息密文发送给发送所收到的注册请求的第二终端设备。
这里,上述用户验证信息密文生成操作可以包括如图3E所示的子步骤3101和子步骤3102:
子步骤3101,用该第一终端设备的可信执行环境中存储的当前用户序号与预设增量的和更新当前用户序号。
这里,第一终端设备的可信执行环境中可以存储有当前用户序号。实践中,可信执行环境出厂时,可以预设当前用户序号的初始值为0,预设增量可以为1,则,对于第一终端设备第一次接收到的注册请求,当前用户序号会从初始值0递增到1,并用1更新了当前用户序号,即,对第一次接收到的注册请求,更新后的当前用户序号为1,第二次接收到的注册请求,更新后的当前用户序号为2。
子步骤3102,利用该第一终端设备的可信执行环境中存储的用户验证信息密钥对用户验证信息进行加密得到用户验证信息密文。
这里,第一终端设备的可信执行环境中存储有用户验证信息密钥和预设校验码,而且,只有第一终端设备的可信执行环境内的程序可以访问用户验证信息密钥和预设校验码,第一终端设备的可信执行环境之外的程序不可以访问用户验证信息密钥和预设校验码。
这里,上述用户验证信息可以包括该第一终端设备的可信执行环境中存储的预设校验码、步骤3101中所确定的当前用户序号以及该第一终端设备的可信执行环境的环境标识。
这里,对用户验证信息进行加密可以采用各种对称加密算法。
这里,在实践中,用户验证信息密文可以视作注册用户的种子码,可以理解为第一终端设备为第二终端设备的注册请求提供一份注册操作已成功的凭证。
步骤311,第二终端设备响应于接收到第一终端设备发送的用户验证信息密文,将所收到的用户验证信息密文确定为该第二终端设备的用户验证信息密文。
由于页面显示限制,下面继续参考图3F,需要说明的是,图3F的流程除了包括图3F中所示的各个步骤外,还可以包括图3A和图3B中所示的各个步骤。另外,需要说明的是,图3F中所示的第一终端设备和第二终端设备除了可以执行图3B和图3F中所示的相应步骤外,还可以执行图3A中所示的终端设备可以执行的各个步骤。
可选实现方式(四):基于上述可选实现方式(三),上述时序300还可以包括如图3F所示的步骤312到步骤314:
步骤312,第二终端设备响应于检测到用户输入的包括第二用户标识类别标识且用于指示生成目标应用和/或目标网站的用户标识的第二用户标识生成指令,确定转密密钥,利用第二用户标识生成请求公钥对第二用户标识生成请求进行加密得到第二用户标识生成请求密文,以及将所得到的第二用户标识生成请求密文发送给对目标应用和/或目标网站提供支持的第一终端设备。
在上述步骤309到步骤311之间的操作中,对于第二终端设备,仅仅设置了对应的用户验证信息密文,而没有生成真正的目标应用和/或目标网站的用户标识。这样,第二终端设备可以采用各种实现方式检测用户输入的包括第二用户标识类别标识且用于指示生成目标应用和/或目标网站的用户标识的第二用户标识生成指令。例如,第二终端设备可以在检测到用户在用户标识类别输入控件中输入了第二用户标识类别标识,并点击了第二终端设备上安装的目标应用中关联有生成目标应用的用户标识的操作的控件时,确定检测到第二用户标识生成指令。又例如,第二终端设备还可以在检测到用户访问了目标网站,在用户标识类别输入用页面元素中输入了第二用户标识类别标识,并点击了目标网站的第二用户标识生成页面中关联有生成目标应用的用户标识的操作的页面元素时,确定检测到第二用户标识生成指令。
这里,第二终端设备可以在检测到用户输入的包括第二用户标识类别标识且用于指示生成目标应用和/或目标网站的用户标识的第二用户标识生成指令的情况下,确定转密密钥。
这里,第二用户标识类别标识用于指示第二终端设备中对应目标应用和/或目标网站的用户标识集合中用户标识的类别。即,第二终端设备中存储了针对目标应用和/或目标网站的用户标识集合。实践中,可以按照各种方式对针对目标应用和/或目标网站的用户标识集合中的用户标识进行分类,每个分类对应不同的第二用户标识类别,而第二用户标识类别标识用于指示不同的第二用户标识类别。作为示例,可以按照递增的方式确定第二用户标识类别标识,即,第二终端设备可以存储有针对目标应用和/或目标网站的当前第二用户标识类别标识,当检测到用户输入的希望生成目标应用和/或目标网站的用户标识的指令时,第二终端设备可以获取上述存储的当前第二用户标识类别标识,并将所获取的当前第二用户标识类别标识进行递增更新,用递增更新之后的当前第二用户标识类别标识生成第二用户标识生成指令。作为示例,还可以由用户自主输入第二用户标识类别标识。作为示例,还可以随机生成第二用户标识类别标识。
这里,第二终端设备可以采用各种实现方式确定转密密钥。例如,可以随机生成转密密钥,或者,也可以将第二终端设备中预先存储的转密密钥确定为转密密钥,又或者还可以接收用户输入的转密密钥。
在确定转密密钥之后,第二终端设备可以利用第二用户标识生成请求公钥对第二用户标识生成请求进行加密得到第二用户标识生成请求密文。其中,上述第二用户标识生成请求包括该第二终端设备的用户验证信息密文、所确定的转密密钥和所检测到的第二用户标识生成指令中的第二用户标识类别标识。
最后,第二终端设备可以将所得到的第二用户标识生成请求密文发送给对目标应用和/或目标网站提供支持的第一终端设备。
步骤313,第一终端设备响应于接收到第二终端设备发送的第二用户标识生成请求密文,在该第一终端设备的可信执行环境中执行第二用户标识生成操作,得到与所收到的第二用户标识生成请求密文对应的转密用户标识,以及将所得到的转密用户标识发送给发送所收到的第二用户标识生成请求密文的第二终端设备。
其中,上述第二用户标识生成操作可以包括如图3G所示的子步骤3131到子步骤3135:
子步骤3131,用该第一终端设备的可信执行环境中存储的与第二用户标识生成请求公钥对应的第二用户标识生成请求私钥对所收到的第二用户标识生成请求密文进行解密得到用户验证信息密文、转密密钥和用户标识类别标识。
这里,第二用户标识生成请求公钥和第二用户标识生成请求私钥是一对非对称加密/解密的密钥对,其中,第二用户标识生成请求公钥可以存储在未设置可信执行环境的第二终端设备中,还可以存储在设置可信执行环境的第一终端设备的可信执行环境之内和可信执行环境之外。而,第二用户标识生成请求私钥则只能存储在设置可信执行环境的第一终端设备的可信执行环境之内,且只能被第一终端设备的可信执行环境之内的程序访问,不能被第一终端设备的可信执行环境之外的程序访问。
需要说明的是,子步骤3131中所用的解密方法是与步骤312中利用第二用户标识生成请求公钥对第二用户标识生成请求进行加密的加密方法对应的解密方法。
子步骤3132,利用该第一终端设备的可信执行环境中存储的用户验证信息密钥对解密得到的用户验证信息密文进行解密,得到验证码、用户序号和环境标识。
可以理解的是,这里对解密得到的用户验证信息密文进行解密所用的解密方法是与图3E所示的用户验证信息密文生成操作中,子步骤3102中对用户验证信息进行加密所用的对称加密方法对应的对称解密方法。
子步骤3133,响应于确定解密得到的验证码与该第一终端设备的可信执行环境中存储的预设验证码相同且解密得到的环境标识与该第一终端设备的可信执行环境的环境标识相同,用第二厂商标识、第二产品标识、随机生成的随机数和解密得到的用户标识类别标识生成第二扩展用户标识。
这里,如果子步骤3132中对子步骤3131中所收到的第二用户标识生成请求密文进行解密所得到的用户验证信息密文进行解密所得到的验证码与该第一终端设备的可信执行环境中存储的预设验证码相同且解密得到的环境标识与该第一终端设备的可信执行环境的环境标识相同,表明发送步骤3131中所收到的第二用户标识生成请求密文的第二终端设备是向第一终端设备注册过的第二终端设备,且该第二终端设备的用户验证信息密文是该第一终端设备生成的用户验证信息密文,那么,第一终端设备可以用第二厂商标识、第二产品标识、随机生成的随机数和解密得到的用户标识类别标识生成第二扩展用户标识。其中,上述第二厂商标识是根据该第一终端设备的可信执行环境的产品标识生成的,且第二厂商标识的取值范围、该第一终端设备的可信执行环境的产品标识的取值范围和该第一终端设备的可信执行环境的厂商标识的取值范围互不相同,而第二产品标识为解密得到的用户序号。
子步骤3134,用该第一终端设备的可信执行环境中存储的用户标识密钥对所生成的第二扩展用户标识进行加密得到第二用户标识。
子步骤3133中已经为第二终端设备生成了第二扩展用户标识,但是,第二扩展用户标识中直接包括了第二厂商标识、第二产品标识、随机数和用户标识类别标识,为了保证可信执行环境之外的程序不能解析上述第二扩展用户标识还需要利用该第一终端设备的可信执行环境中存储的用户标识密钥对所生成的第二扩展用户标识进行加密得到第二用户标识。
子步骤3135,用解密得到的转密密钥对所得到的第二用户标识进行加密得到与所收到的第二用户标识生成请求密文对应的转密用户标识。
这里,为了进一步增强第二终端设备的用户信息安全性,防止第一终端设备的可信执行环境之外的程序获取第二用户标识,还需要用子步骤3131中解密所得到的转密密钥对对子步骤3134中得到的第二用户标识进行加密得到与子步骤313中所收到的第二用户标识生成请求密文对应的转密用户标识。
步骤314,第二终端设备响应于接收到第一终端设备发送的且与所得到并发送给第一终端设备的第二用户标识生成请求密文对应的转密用户标识,用所得到的第二用户标识生成请求密文对应的第二用户标识生成请求中的转密密钥对所收到的转密用户标识进行解密,得到第二用户标识,以及将解密得到的第二用户标识添加到该第二终端设备的用户标识集合中。
经过步骤312到步骤314,未设置可信执行环境的第二终端设备为了使用对目标应用和/或目标网站提供的服务,生成了目标应用和/或目标网站提供支持的第一终端设备的新的用户标识。换言之,经过步骤312到步骤314,对目标应用和/或目标网站提供支持且设置有可信执行环境的第一终端设备可以发展自己的“二级用户”,即在未设置可信执行环境的第二终端设备上发展自己的“二级用户”,从而提升了第一终端设备的功能,使得第一终端设备也可以对外提供服务。
可选实现方式(五):基于上述可选实现方式(一)、(二)、(三)和(四)中的任一可选实现方式,第一终端设备的厂商标识可以大于等于第一预设正整数且小于等于第一预设正整数与第二预设正整数之和,第一终端设备的产品标识大于第二预设正整数且小于第一预设正整数,其中,第一预设正整数大于第二预设正整数。
为清楚起见,这里可以用FactoryNo表示第一终端设备的厂商标识,用ProductNo表示第一终端设备的产品标识,用I1表示第一预设正整数,用I2表示第二预设正整数,其中,I1>I2,则上述可选实现方式(五)可以用公式表示如下:
I1<=FactoryNo<=(I1+I2) (1)
I2<ProductNo<I1 (2)
可选实现方式(六):基于上述可选实现方式(三)、(四)或(五),其中,在可选实现方式(四)中的第二厂商标识是根据该第一终端设备的可信执行环境的产品标识生成的,可以包括:第二厂商标识是该第一终端设备的可信执行环境的产品标识与第一预设正整数之和。
继续延用上述公式(1)和公式(2)的描述,另外,设第二厂商标识为FactoryNo’,则可选实现方式(六)可以用公式表示如下:
FactoryNo’=ProductNo+I1 (3)
由公式(1)、公式(2)和公式(3)可得以下结论:
(I1+I2)<FactoryNo’<2I1 (4)
由公式(1)、公式(2)和公式(4)可得以下结论:
FactoryNo、ProductNo、FactoryNo’的取值范围互不同,即,第二厂商标识的取值范围、第一终端设备的可信执行环境的产品标识的取值范围和第一终端设备的可信执行环境的厂商标识的取值范围互不相同。
可选实现方式(七):基于上述可选实现方式(六),第一终端设备的厂商标识和产品标识均为四字节无符号整数,第一预设正整数的十六进制表示为0x80000000,第二预设正整数的十六进制表示为0x000000FF。从而可以得到以下结论:
FactoryNo为取值范围为0x80000000~0x800000FF之间的四字节无符号整数;
ProductNo为取值范围为0x00000100~0x7FFFFFFF之间的四字节无符号整数;
FactoryNo’为取值范围为0x80000100~0xFFFFFFFF之间的四字节无符号整数。
从上述可以看出,FactoryNo、ProductNo、FactoryNo’的取值范围不同,即,第二厂商标识的取值范围、第一终端设备的可信执行环境的产品标识的取值范围和第一终端设备的可信执行环境的厂商标识的取值范围互不相同。
由于页面显示限制,下面继续参考图3H,需要说明的是,图3H的流程除了包括图3H中所示的各个步骤外,还可以包括图3A、图3B和图3F中所示的各个步骤。另外,需要说明的是,图3H中所示的第一终端设备和第二终端设备除了可以执行图3B、图3F和图3H中所示的相应步骤外,还可以执行图3A中所示的终端设备可以执行的各个步骤。
可选实现方式(八):现行的大部分应用或者网站登录中还会使用一种登录方式就是验证码登录。这里,基于上述任一可选实现方式,上述时序300还可以包括如图3H所示的步骤315到步骤319,实现服务器对第一终端设备的用户标识的验证:
步骤315,服务器响应于接收到第一终端设备发送的包括待验证用户标识的终端用户标识验证请求,在服务器的可信执行环境中执行用户标识验证信息密文生成操作,得到与终端用户标识验证请求对应的用户标识验证信息密文,以及将所得到的用户标识验证信息密文发送给发送所收到的终端用户标识验证请求的第一终端设备。
这里,第一终端设备可以在多种预设条件下向服务器发送包括待验证用户标识的终端用户标识验证请求。例如,第一终端设备可以在步骤301中、步骤302中向服务器发送用户信息添加请求之前,先向服务器发送由待发送的用户信息添加请求中的用户标识作为待验证用户标识生成的终端用户标识验证请求。如果收到服务器发送的终端用户验证通过结果,则可以将待发送的用户信息添加请求发送给服务器,反之,如果收到服务器发送的终端用户验证不通过结果,则不会向服务器发送待发送的用户信息添加请求。又例如,第一终端设备也可以在步骤304中向服务器发送用户信息转密请求之前,先向服务器发送由待发送的用户信息转密请求中的用户标识作为待验证用户标识生成的终端用户标识验证请求。如果收到服务器发送的终端用户验证通过结果,则可以将待发送的用户信息转密请求发送给服务器,反之,如果收到服务器发送的终端用户验证不通过结果,则不会向服务器发送待发送的用户信息转密请求。
这样,服务器可以在接收到第一终端设备发送的包括待验证用户标识的终端用户标识验证请求的情况下,在服务器的可信执行环境中执行用户标识验证信息密文生成操作,得到与终端用户标识验证请求对应的用户标识验证信息密文,以及将所得到的用户标识验证信息密文发送给发送所收到的终端用户标识验证请求的第一终端设备。其中,用户标识验证信息密文生成操作可以包括如图3I所示的子步骤3151到子步骤3153:
子步骤3151,用服务器的可信执行环境中存储的用户标识密钥对所收到的待验证用户标识进行解密,得到待验证扩展用户标识。
这里,第一终端设备的可信执行环境中和服务器的可信执行环境中都存储有相同的用户标识密钥,而且同理,服务器的可信执行环境中存储的用户标识密钥也只能被服务器的可信执行环境之内的程序访问,不能被服务器的可信执行环境之外的程序访问。如果待验证用户标识是由第一终端设备的可信执行环境之中存储的用户标识密钥对待验证扩展用户标识进行加密得到的,那么,用服务器的可信执行环境中存储的用户标识密钥对所收到的待验证用户标识进行解密,可以得到待验证扩展用户标识。
子步骤3152,生成包括允许解密环境标识集合和待验证信息的用户标识验证信息,将待验证扩展用户标识中的环境标识添加到所生成的用户标识验证信息中的允许解密环境标识集合中。
这里,待验证信息可以是随机生成的信息或者任意预设的信息内容。
子步骤3153,利用服务器的可信执行环境中存储的用户标识验证信息密钥对中的用户标识验证信息公钥对所生成的用户标识验证信息进行加密,得到与终端用户标识验证请求对应的用户标识验证信息密文。
这里,用户标识验证信息密钥包括用户标识验证信息公钥和用户标识验证信息私钥,其中,用户标识验证信息公钥可以存储在服务器或者第一终端设备的可信执行环境之内和可信执行环境之外,而用户标识验证信息私钥只能存储在服务器的可信执行环境之内或者第一终端设备的可信执行环境之内,用户标识验证信息私钥只能被服务器的可信执行环境之内的程序或者第一终端设备的可信执行环境之内的程序访问。
步骤316,第一终端设备响应于接收到服务器发送的用户标识验证信息密文,在该第一终端设备的可信执行环境中执行验证信息生成操作,得到与所收到的用户标识验证信息密文对应的验证信息,以及将所得到的验证信息发送给服务器。
这里,验证信息生成操作可以包括如图3J所示的子步骤3161到子步骤3162:
子步骤3161,利用该第一终端设备的可信执行环境中存储的用户标识验证信息密钥对中的用户标识验证信息私钥对所收到的用户标识验证信息密文进行解密,得到用户标识验证信息。
这里,第一终端设备的可信执行环境中和服务器的可信执行环境中都存储有相同的用户标识验证信息私钥。如果所收到的用户标识验证信息密文是由服务器利用用户标识验证信息公钥对用户标识验证信息进行加密得到的,那么,用第一终端设备的可信执行环境中存储的用户标识验证信息私钥对所收到的用户标识验证信息密文进行解密,可以得到用户标识验证信息。
子步骤3162,响应于确定该第一终端设备的可信执行环境的环境标识属于解密得到的用户标识验证信息中的允许解密环境标识集合,将解密得到的用户标识验证信息中的待验证信息确定为与所收到的用户验证信息密文对应的验证信息。
这里,子步骤3161中解密得到的用户标识验证信息包括允许解密环境标识集合和待验证信息,如果确定该第一终端设备的可信执行环境的环境标识属于解密得到的用户标识验证信息中的允许解密环境标识集合,表明步骤316中所收到的用户标识验证信息密文是服务器发送给该第一终端设备的,则可以将子步骤3161中解密得到的用户标识验证信息中的待验证信息确定为与所收到的用户验证信息密文对应的验证信息。
步骤317,服务器响应于接收到第一终端设备发送的与所发送的用户标识验证信息密文对应的验证信息,确定所收到的验证信息是否与所发送的用户标识验证信息密文对应的用户标识验证信息中的待验证信息相同。
这里,服务器可以在接收到第一终端设备发送的与所发送的用户标识验证信息密文对应的验证信息的情况下,其中,所发送的用户标识验证信息密文与服务器收到的终端用户标识验证请求对应,确定所收到的验证信息是否与所发送的用户标识验证信息密文对应的用户标识验证信息中的待验证信息相同。
步骤318,服务器响应于确定相同,生成用于指示所收到的终端用户标识验证请求验证通过的终端用户验证通过结果。
这里,服务器可以在步骤317中确定所收到的验证信息与所发送的用户标识验证信息密文对应的用户标识验证信息中的待验证信息相同的情况下,表明所收到的终端用户标识验证请求中的待验证用户标识是发送上述终端用户标识验证请求的第一终端设备的用户标识,可以生成用于指示所收到的终端用户标识验证请求验证通过的终端用户验证通过结果。
步骤319,服务器响应于确定不同,生成用于指示所收到的终端用户标识验证请求验证不通过的终端用户验证不通过结果。
这里,服务器可以在步骤317中确定所收到的验证信息与所发送的用户标识验证信息密文对应的用户标识验证信息中的待验证信息不同的情况下,表明所收到的终端用户标识验证请求中的待验证用户标识不是发送上述终端用户标识验证请求的第一终端设备的用户标识,可以生成用于指示所收到的终端用户标识验证请求验证不通过的终端用户验证不通过结果。
经过上述可选实现方式(八)中的步骤315到步骤319,服务器可以实现对第一终端设备的用户标识进行验证,而且验证过程由于引入了可信执行环境中的复杂操作,相对于现有的验证码方式,更加安全。
由于页面显示限制,下面继续参考图3K,需要说明的是,图3K的流程除了包括图3K中所示的各个步骤外,还可以包括图3A、图3B、图3F和图3H中所示的各个步骤。另外,需要说明的是,图3K中所示的第一终端设备和第二终端设备除了可以执行图3B、图3F、图3H和图3K中所示的相应步骤外,还可以执行图3A中所示的终端设备可以执行的各个步骤。
可选实现方式(九):这里,基于上述可选实现方式(三)到上述可选实现方式(八)中的任一可选实现方式,上述时序300还可以包括步骤320到步骤326,以实现第一终端设备将信息定向发送给指定的第一终端设备和/或第二终端设备:
步骤320,第一终端设备响应于检测到包括接收方用户标识集合和待加密信息的信息加密请求,在该第一终端设备的可信执行环境中执行信息加密操作,得到与信息加密请求对应的信息密文。
实践中,第一终端设备可以在多种预设条件下确定检测到信息加密请求。作为示例,信息创建者(比如,遗嘱创建人)可以打开第一终端设备上安装的定向信息加密应用,并输入各位信息接收者的用户标识(比如,各位遗嘱继承人的用户标识)作为接收方用户标识集合,然后输入待加密信息(比如,遗嘱内容)作为待加密信息,并点击关联信息加密操作的控件,从而第一终端设备可以确定检测到信息加密请求。又例如,信息创建者(比如,遗嘱创建人)还可以使用第一终端设备访问提供定向信息加密功能的网站,并输入各位信息接收者的用户标识(比如,各位遗嘱继承人的用户标识)作为接收方用户标识集合,然后输入待加密信息(比如,遗嘱内容)作为待加密信息,并点击页面中关联信息加密操作的页面元素,从而第一终端设备可以确定检测到信息加密请求。
这样,第一终端设备可以在检测到包括接收方用户标识集合和待加密信息的信息加密请求的情况下,在该第一终端设备的可信执行环境中执行信息加密操作,得到与信息加密请求对应的信息密文。其中,信息加密操作可以包括如图3L所示的子步骤3201和子步骤3202:
子步骤3201,用接收方用户标识集合中的每个接收方用户标识对应的接收方环境标识生成接收方环境标识集合。
其中,接收方环境标识是用该第一终端设备的可信执行环境中存储的用户标识密钥对接收方用户标识进行解密所得到的接收方扩展用户中的环境标识。
即,接收方用户标识是在第一终端设备的可信执行环境之外提供给第一终端设备的可信执行环境之内的,在生成信息密文时使用的不是用户标识而是环境标识,因此,这里需要通过在第一终端设备的可信执行环境之内对接收方用户标识进行解密得到接收方环境标识。
子步骤3202,用该第一终端设备的可信执行环境中存储的定向信息密钥对中的定向信息公钥对接收方环境标识集合和待加密信息进行加密,得到与信息加密请求对应的信息密文。
这里,定向信息密钥对包括定向信息公钥和定向信息私钥,其中,定向信息公钥可以存储在第一终端设备的可信信息环境之内和可信执行环境之外,定向信息公钥还可以存储在未设置可信执行环境的第二终端设备之中。而定向信息私钥只能存储在第一终端设备的可信执行环境中,只有第一终端设备的可信执行环境之内的程序可以访问定向信息私钥,第一终端设备的可信执行环境之外的程序不能访问定向信息私钥。
经过这个加密操作,所生成的信息密文中利用定向信息公钥对接收方环境标识集合和待加密信息进行了加密。
需要说明的是,这里,当第一终端设备作为信息创建方时,经过步骤320已经创建了信息密文。而第一终端设备除了可以作为信息创建方,还可以同时作为信息接收方,另外,可以作为信息接收方的还可以是未设置可信执行环境的第二终端设备。信息接收方可以采用各种实现方式获取信息创建方创建的信息密文。例如,信息创建方可以将信息密文以电子邮件的方式发送给信息接收方指定的电子邮箱,然后信息接收方可以通过收取电子邮件的方式获取信息密文,或者,信息创建方也可以提供下载信息密文的网址链接,然后信息接收方通过点击网址链接来下载信息密文,又或者,信息接收方还可以通过U盘直接从信息创建方拷贝信息密文。
经过步骤320实现了信息的定向加密,即,在信息密文生成时,指定了接收方环境标识集合,只有环境标识属于信息密文中指定的接收方环境标识集合时,才能使用信息密文对应的信息明文。
步骤321,第一终端设备响应于检测到包括待解密信息密文的第一信息解密请求,在该第一终端设备的可信执行环境中执行第一信息解密操作,得到与第一信息解密请求对应的信息明文。
这里,当第一终端设备作为信息接收方,为了使用信息密文,需要对信息密文进行解密。这时,第一终端设备可以在检测到包括待解密信息密文的第一信息解密请求的情况下,在该第一终端设备的可信执行环境中执行第一信息解密操作,得到与第一信息解密请求对应的信息明文。其中,第一信息解密操作可以包括如图3M所示的子步骤3211和子步骤3212:
子步骤3211,利用该第一终端设备的可信执行环境中存储的定向信息密钥对中的定向信息私钥对第一信息解密请求中的待解密信息密文进行解密,得到第一接收方环境标识集合和第一信息明文。
这里,如果待解密信息是利用定向信息公钥加密的,那么这里利用该第一终端设备的可信执行环境中存储的定向信息私钥对第一信息解密请求中的待解密信息密文进行解密,就可以得到第一接收方环境标识集合和第一信息明文。
子步骤3212,响应于确定该第一终端设备的可信执行环境的环境标识属于第一接收方环境标识集合,将第一信息明文确定为与第一信息解密请求对应的信息明文。
子步骤3211中已经解密得到了第一接收方环境标识集合和第一信息明文,如果该第一终端设备的可信执行环境的环境标识属于解密得到的第一接收方环境标识集合,表明步骤321中的待解密信息是发送给该第一种终端设备的,那么就可以将子步骤3211中解密得到的第一信息明文确定为与第一信息解密请求对应的信息明文,即可以在第一终端设备中使用与第一信息解密请求对应的信息明文了。反之,如果该第一终端设备的可信执行环境的环境标识不属于解密得到的第一接收方环境标识集合,表明步骤321中的待解密信息不是发送给该第一种终端设备的,虽然已经在子步骤3211中已经在第一终端设备的可信执行环境中解密得到了第一信息明文,但第一终端设备还是不能获取并使用第一信息明文。
经过步骤321实现了信息的定向解密,即,只有环境标识属于信息密文中指定的接收方环境标识集合时,才能使用信息明文。
步骤322,第二终端设备响应于检测到包括待解密信息密文的第二信息解密请求,确定转密密钥。
这里,当第二终端设备作为信息接收方,由于第二终端设备未设置可信执行环境,为了使用信息密文对应的信息明文,需要借助第一终端设备进行信息转密,为此,需要首先确定转密密钥。这里,第二终端设备可以接收用户输入的密钥字符串作为转密密钥,第二终端设备也可以随机生成密钥作为转密密钥。
步骤323,第二终端设备将第二转密指令利用定向信息密钥对中的定向信息公钥进行加密,得到第二转密指令密文。
这里,第二转密指令包括该第二终端设备的用户验证信息和步骤322中所确定的转密密钥。
步骤324,第二终端设备将所得到的第二转密指令密文和第二信息解密请求中的待解密信息密文作为信息转密请求发送给对目标应用和/或目标网站提供支持的第一终端设备。
这里,由于第二终端设备未设置可信执行环境,作为信息接收方为了使用信息密文,需要借助第一终端设备进行信息转密。在步骤323中对第二转密指令进行了加密得到了第二转密指令密文,而待解密信息密文本身就是加密的,因此,可以将步骤323中所得到的第二转密指令密文和第二信息解密请求中的待解密信息密文作为信息转密请求发送给对目标应用和/或目标网站提供支持的第一终端设备。
步骤325,第一终端设备响应于接收到第二终端设备发送的信息转密请求,在该第一终端设备的可信执行环境中执行信息转密操作,得到与所收到的信息转密请求对应的转密信息,以及将所得到的转密信息发送给发送所收到的信息转密请求的第二终端设备。
这里,信息转密操作可以包括如图3O所示的子步骤3251到子步骤3254:
子步骤3251,利用该第一终端设备的可信执行环境中存储的定向信息密钥对中的定向信息私钥对所收到的信息转密请求中的第二转密指令密文进行解密,得到用户验证信息和转密密钥。
这里,第一终端设备从第二终端设备收到的信息转密请求包括第二转密指令密文和待解密信息,而其中的第二转密指令密文是利用定向信息公钥加密得到的,因此,利用该第一终端设备的可信执行环境中存储的定向信息密钥对中的定向信息私钥对所收到的信息转密请求中的第二转密指令密文进行解密,可以得到第二转密指令,而第二转密指令包括第二终端设备的用户验证信息和转密密钥。
子步骤3252,利用该第一终端设备的可信执行环境中存储的用户验证信息密钥对解密得到的用户验证信息进行解密,得到验证码、用户序号和环境标识。
这里,由于用户验证信息是第一终端设备在可信执行环境中采用用户验证信息密钥对预设验证码、当前用户序号和第一终端设备的可信执行环境的环境标识进行加密得到的,因此,利用该第一终端设备的可信执行环境中存储的用户验证信息密钥对解密得到的用户验证信息进行解密,可以得到验证码、用户序号和环境标识。
子步骤3253,响应于确定解密得到的环境标识与该第一终端设备的可信执行环境的环境标识相同且解密得到的验证码与该第一终端设备的可信执行环境中存储的预设验证码相同,利用该第一终端设备的可信执行环境中存储的定向信息密钥对中的定向信息私钥对所收到的信息转密请求中的信息密文进行解密,得到第二接收方环境标识集合和第二信息明文。
这里,如果子步骤3252中对子步骤3251中解密得到的用户验证信息进行解密得到的验证码与该第一终端设备的可信执行环境中存储的预设验证码相同且解密得到的环境标识与该第一终端设备的可信执行环境的环境标识相同,表明发送信息转密请求的第二终端设备是向该第一终端设备注册过的第二终端设备,且该第二终端设备的用户验证信息密文是该第一终端设备生成的用户验证信息密文,那么,第一终端设备可以利用该第一终端设备的可信执行环境中存储的定向信息密钥对中的定向信息私钥对所收到的信息转密请求中的信息密文进行解密,得到第二接收方环境标识集合和第二信息明文。
子步骤3254,响应于确定第二环境标识属于解密得到的第二接收方环境标识集合,利用解密得到的转密密钥对解密得到的第二信息明文进行加密,得到与所收到的信息转密请求对应的转密信息。
这里,步骤3253中已经解密得到第二接收方环境标识集合和第二信息明文,则可以首先生成第二环境标识,其中,第二环境标识中的厂商标识是根据该第一终端设备的可信执行环境的产品标识所生成的第二厂商标识,第二环境标识中的产品标识是子步骤3252中解密所得到的用户序号。然后,确定第二环境标识是否属于解密得到的第二接收方环境标识集合,如果确定属于,表明步骤325中所收到的信息转密请求中的信息密文是发送给第二环境标识所指示的设备的,而第二环境标识是中的厂商标识是根据该第一终端设备的可信执行环境的产品标识所生成的第二厂商标识,第二环境标识中的产品标识是子步骤3252中解密所得到的用户序号,而子步骤3252中是对用户验证信息进行解密得到的用户序号,而且子步骤3252中所解密的用户验证信息是在子步骤3251中对所收到的信息转密请求进行解密得到的,因此,表明发送信息转密请求的第二终端设备属于可以接收所收到的信息转密请求中的待解密信息的设备,也就是说,发送信息转密请求的第二终端设备可以接收子步骤3253中解密得到的第二信息明文。
但是,为了避免第一终端设备获取第二信息明文而导致泄露原本发送给第二终端设备的信息明文,在确定第二环境标识属于解密得到的第二接收方环境标识集合的情况下,可以利用子步骤3251中解密得到的转密密钥对子步骤3253中解密得到的第二信息明文进行加密,得到与所收到的信息转密请求对应的转密信息。而且,上述加密过程是在第一终端设备的可信执行环境之中进行的,第一终端设备的可信执行环境之外的程序是不能获取第二信息明文的,只能获取利用转密密钥对第二信息明文加密之后得到的转密信息,故而保护了定向发送给第二终端设备的信息的安全。
步骤326,第二终端设备响应于接收到第一终端设备发送的转密信息,利用所检测到的第二信息解密请求中的转密密钥对收到的转密信息进行解密得到信息明文。
这里,第二终端设备可以在接收到第一终端设备发送的转密信息的情况下,其中,所收到的转密信息对应与针对所检测到的第二信息解密请求所生成并发送的信息转密请求,利用所检测到的第二信息解密请求中的转密密钥对收到的转密信息进行解密得到信息明文。
从而,经过步骤320到步骤326,第二终端设备作为信息接收方,虽然未设置可信执行环境,故而不具备信息解密能力,但可以借助具有信息解密能力的第一终端设备实现信息解密,能够使用发送给自身的信息密文对应的信息明文。
从图3中可以看出,与图2对应的实施例相比,本实施例中的用于处理用户信息的系统的时序300中引入了用户信息范围标识。由此,本实施例描述的方案可以实现针对不同的范围内的用户信息添加和查询。
进一步参考图4,其示出了一种用于处理用户信息的方法的一个实施例的流程400,应用于用于处理用户信息的系统中的服务器,其中,用于处理用户信息的系统包括至少一个终端设备和服务器,服务器设置可信执行环境,该用于处理用户信息的方法的流程400,包括以下步骤:
步骤401,响应于接收到终端设备发送的用户信息添加请求,将所收到的用户信息添加请求中的用户标识、用户信息和加密标记对应存储。
在本实施例中,用于处理用户信息的方法的执行主体(例如,图1所示的服务器)可以在接收到终端设备发送的用户信息添加请求的情况下,其中,用户信息添加请求可以包括用户标识、用户信息和加密标记,将所收到的用户信息添加请求中的用户标识、用户信息和加密标记对应存储。这里,加密标记为用于表征用户信息添加请求中的用户信息为加密后的用户信息密文的已加密标记或者用于表征用户信息添加请求中的用户信息为未进行加密的用户信息明文的未加密标记。也就是说,所收到的用户信息添加请求中的用户信息可以是用户信息明文,也可以是经过加密后的用户信息密文。
这里,用户信息可以包括用户的各种属性信息,例如,用户信息可以包括姓名、年龄、性别、手机号码、证件号码、昵称、头像图像、兴趣爱好、职业、收入状况、学历、籍贯、家庭地址、工作地址等等。
这里,用户标识用于唯一标识服务器所存储的用户信息对应的各个用户。用户标识可以包括以下至少一项:数字、字符和文字。
作为示例,可以以“0”作为未加密标记,以“1”作为加密标记,或者,还可以以“False”作为未加密标记,以“True”作为加密标记。
可以理解的是,实践中,由于用户信息的数量巨大,上述执行主体可以将所收到的用户信息添加请求中的用户标识、用户信息和加密标记对应存在分布式数据库中。
步骤402,响应于接收到终端设备发送的用户信息转密请求,查询与所收到的用户信息转密请求中的用户标识对应的用户信息和加密标记。
由于上述执行主体对应存储有用户标识、用户信息和加密标记,因此,上述执行主体可以在接收到终端设备发送的用户信息转密请求的情况下,查询与所收到的用户信息转密请求中的用户标识对应的用户信息和加密标记,然后转到步骤403执行。其中,上述用户信息转密请求可以包括用户标识和第一转密指令。
步骤403,在可信执行环境中,执行用户信息转密操作,得到与所收到的用户信息转密请求对应的转密用户信息,以及将所得到的转密用户信息发送给发送所收到的用户信息转密请求的终端设备。
在本实施例中,上述执行主体可以在步骤402中查询得到用户信息和加密标记后,在上述执行主体中设置的可信执行环境中,执行用户信息转密操作,得到与步骤402中所收到的用户信息转密请求对应的转密用户信息,以及将所得到的转密用户信息发送给发送所收到的用户信息转密请求的终端设备。
其中,可以参考图2A所示的实施例中的步骤205中关于用户信息转密操作的相关描述,在此不再赘述。
经过用户信息转密操作,在上述执行主体的可信执行环境中对用户信息明文利用转密密钥进行了加密,上述执行主体的可信执行环境之外的程序只能获取经过转密密钥加密之后的转密用户信息,不能获取用户信息明文,从而避免了上述执行主体泄露用户信息明文。
在本实施例的一些可选的实现方式中,步骤401中接收到的用户信息添加请求还可以包括用户信息范围标识。这样,步骤401还可以如下进行:响应于接收到终端设备发送的用户信息添加请求,将所收到的用户信息添加请求中的用户标识、用户信息范围标识、用户信息和加密标记对应存储。
这里,用户信息范围标识用于指示用户信息所包括的各种属性信息中的至少一种属性信息,也可以理解为用户信息范围标识用于指示用户信息所包括的各个字段中的至少一个字段。实践中,可以将用户信息所包括的各种属性信息按照每种属性信息的隐私程度和/或重要程度进行分类,标定每种属性信息所属的用户信息范围标识。
在本实施例的一些可选的实现方式中,步骤402中接收到的用户信息转密请求还可以包括用户信息范围标识。这样,步骤402还可以如下进行:查询与所收到的用户信息转密请求中的用户标识和用户信息范围标识对应的用户信息和加密标记。
在本实施例的一些可选的实现方式中,上述用于处理用户信息的方法还可以执行以下步骤404到步骤407:
步骤404,响应于接收到设置可信执行环境的终端设备发送的包括待验证用户标识的终端用户标识验证请求,在可信执行环境中执行用户标识验证信息密文生成操作,得到与终端用户标识验证请求对应的用户标识验证信息密文,以及将所得到的用户标识验证信息密文发送给发送所收到的终端用户标识验证请求的终端设备。
在本实施例中,步骤404的具体操作与图3H所示的实施例中步骤315的操作基本相同,在此不再赘述,其中,步骤404中设置可信执行环境的终端设备相当于步骤315中的第一终端设备。
步骤405,响应于接收到设置可信执行环境的终端设备发送的与所发送的用户标识验证信息密文对应的验证信息,确定所收到的验证信息是否与所发送的用户标识验证信息密文对应的用户标识验证信息中的待验证信息相同。
这里,上述执行主体可以在接收到设置可信执行环境的终端设备发送的与所发送的用户标识验证信息密文对应的验证信息的情况下,其中,所发送的用户标识验证信息密文与所收到的终端用户标识验证请求对应,确定所收到的验证信息是否与所发送的用户标识验证信息密文对应的用户标识验证信息中的待验证信息相同。
步骤406,响应于确定相同,生成用于指示所收到的终端用户标识验证请求验证通过的终端用户验证通过结果。
这里,上述执行主体可以在步骤405中确定所收到的验证信息与所发送的用户标识验证信息密文对应的用户标识验证信息中的待验证信息相同的情况下,表明所收到的终端用户标识验证请求中的待验证用户标识是发送上述终端用户标识验证请求的设置可信执行环境的终端设备的用户标识,则可以生成用于指示所收到的终端用户标识验证请求验证通过的终端用户验证通过结果。
步骤407,响应于确定不同,生成用于指示所收到的终端用户标识验证请求验证不通过的终端用户验证不通过结果。
这里,上述执行主体可以在步骤405中确定所收到的验证信息与所发送的用户标识验证信息密文对应的用户标识验证信息中的待验证信息不同的情况下,表明所收到的终端用户标识验证请求中的待验证用户标识不是发送上述终端用户标识验证请求的设置可信执行环境的终端设备的用户标识,则上述执行主体可以生成用于指示所收到的终端用户标识验证请求验证不通过的终端用户验证不通过结果。
经过步骤404到步骤407,服务器可以实现对设置可信执行环境的终端设备的用户标识进行验证,而且验证过程由于引入了可信执行环境中的复杂操作,相对于现有的验证码方式,更加安全。
本申请的上述实施例提供的方法通过将所收到的用户信息添加请求中的用户标识、用户信息和加密标记对应存储,以及查询与所收到的用户信息转密请求中的用户标识对应的用户信息和加密标记,再在可信执行环境中,执行用户信息转密操作,得到与所收到的用户信息转密请求对应的转密用户信息,以及将所得到的转密用户信息发送给发送所收到的用户信息转密请求的终端设备,在整个过程中避免了在可信执行环境之外获取用户信息明文,进而保护了用户信息的安全。
进一步参考图5,作为对上述各图所示方法的实现,本申请提供了一种用于处理用户信息的装置的一个实施例,该装置实施例与图4所示的方法实施例相对应,该装置具体可以应用于各种设置有可信执行环境的电子设备中。
如图5所示,本实施例的用于处理用户信息的装置500包括:用户信息添加单元501、用户信息查询单元502和用户信息转密单元503。其中,用户信息添加单元501,被配置成响应于接收到终端设备发送的用户信息添加请求,将所收到的用户信息添加请求中的用户标识、用户信息和加密标记对应存储,其中,加密标记为用于表征用户信息添加请求中的用户信息为加密后的用户信息密文的已加密标记或者用于表征用户信息添加请求中的用户信息为未进行加密的用户信息明文的未加密标记;用户信息查询单元502,被配置成响应于接收到终端设备发送的用户信息转密请求,其中,上述用户信息转密请求包括用户标识和第一转密指令,查询与所收到的用户信息转密请求中的用户标识对应的用户信息和加密标记;而用户信息转密单元503,被配置成在上述可信执行环境中,执行用户信息转密操作,得到与所收到的用户信息转密请求对应的转密用户信息,以及将所得到的转密用户信息发送给发送所收到的用户信息转密请求的终端设备,其中,上述用户信息转密操作包括:利用上述服务器的可信执行环境中存储的与上述转密指令公钥对应的转密指令私钥,对所接收到的用户信息转密请求中的第一转密指令进行解密,得到密文密钥和转密密钥;响应于确定查找到的加密标记为已加密标记,利用上述服务器的可信执行环境中存储的加密密钥用密钥对解密得到的密文密钥进行解密得到明文密钥;利用解密得到的明文密钥对查找到的用户信息进行解密,得到用户信息明文;响应于确定查找到的加密标记为未加密标记,将查找到的用户信息确定为用户信息明文;利用解密得到的转密密钥对所得到的用户信息明文进行加密,得到与所收到的用户信息转密请求对应的转密用户信息。
在本实施例中,用于处理用户信息的装置500的用户信息添加单元501、用户信息查询单元502和用户信息转密单元503的具体处理及其所带来的技术效果可分别参考图4对应实施例中步骤401、步骤402和步骤403的相关说明,在此不再赘述。
在本实施例的一些可选的实现方式中,用户信息添加请求还可以包括用户信息范围标识;以及上述用户信息添加单元501可以进一步被配置成:响应于接收到终端设备发送的用户信息添加请求,将所收到的用户信息添加请求中的用户标识、用户信息范围标识、用户信息和加密标记对应存储。
在本实施例的一些可选的实现方式中,用户信息转密请求还可以包括用户信息范围标识;以及上述用户信息查询单元502可以进一步被配置成:查询与所收到的用户信息转密请求中的用户标识和用户信息范围标识对应的用户信息和加密标记。
在本实施例的一些可选的实现方式中,上述装置500还可以包括:生成及发送单元504,被配置成响应于接收到设置可信执行环境的终端设备发送的包括待验证用户标识的终端用户标识验证请求,在上述可信执行环境中执行用户标识验证信息密文生成操作,得到与上述终端用户标识验证请求对应的用户标识验证信息密文,以及将所得到的用户标识验证信息密文发送给发送所收到的终端用户标识验证请求的终端设备,其中,上述用户标识验证信息密文生成操作包括:用上述可信执行环境中存储的用户标识密钥对所收到的待验证用户标识进行解密,得到待验证扩展用户标识;生成包括允许解密环境标识集合和待验证信息的用户标识验证信息,将上述待验证扩展用户标识中的环境标识添加到所生成的用户标识验证信息中的允许解密环境标识集合中;利用上述可信执行环境中存储的用户标识验证信息密钥对中的用户标识验证信息公钥对所生成的用户标识验证信息进行加密,得到与上述终端用户标识验证请求对应的用户标识验证信息密文;确定单元505,被配置成响应于接收到设置可信执行环境的终端设备发送的与所发送的用户标识验证信息密文对应的验证信息,其中,所发送的用户标识验证信息密文与所收到的终端用户标识验证请求对应,确定所收到的验证信息是否与所发送的用户标识验证信息密文对应的用户标识验证信息中的待验证信息相同;第一结果生成单元506,被配置成响应于确定相同,生成用于指示所收到的终端用户标识验证请求验证通过的终端用户验证通过结果;第二结果生成单元507,被配置成响应于确定不相同,生成用于指示所收到的终端用户标识验证请求验证不通过的终端用户验证不通过结果。
在本实施例的一些可选的实现方式中,上述服务器可以为支持OAuthor协议的资源服务器。
需要说明的是,本申请实施例提供的用于处理用户信息的装置中各单元的实现细节和技术效果可以参考本申请中其它实施例的说明,在此不再赘述。
下面参考图6,其示出了适于用来实现本申请实施例的服务器的计算机系统600的结构示意图。图6示出的服务器仅仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。
如图6所示,计算机系统600包括中央处理单元(CPU,Central Processing Unit)601,其可以根据存储在只读存储器(ROM,Read Only Memory)602中的程序或者从存储部分608加载到随机访问存储器(RAM,Random Access Memory)603中的程序而执行各种适当的动作和处理。在RAM 603中,还存储有系统600操作所需的各种程序和数据。CPU 601、ROM602以及RAM 603通过总线604彼此相连。输入/输出(I/O,Input/Output)接口605也连接至总线604。
以下部件连接至I/O接口605:包括键盘、鼠标等的输入部分606;包括诸如阴极射线管(CRT,Cathode Ray Tube)、液晶显示器(LCD,Liquid Crystal Display)等以及扬声器等的输出部分607;包括硬盘等的存储部分608;以及包括诸如LAN(局域网,Local AreaNetwork)卡、调制解调器等的网络接口卡的通信部分609。通信部分609经由诸如因特网的网络执行通信处理。驱动器610也根据需要连接至I/O接口605。可拆卸介质611,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器610上,以便于从其上读出的计算机程序根据需要被安装入存储部分608。
特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分609从网络上被下载和安装,和/或从可拆卸介质611被安装。在该计算机程序被中央处理单元(CPU)601执行时,执行本申请的方法中限定的上述功能。需要说明的是,本申请所述的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本申请中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本申请中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言或其组合来编写用于执行本申请的操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++、Python,还包括常规的过程式程序设计语言—诸如”C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
附图中的流程图和框图,图示了按照本申请各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本申请实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的单元也可以设置在处理器中,例如,可以描述为:一种处理器包括用户信息添加单元、用户信息查询单元和用户信息转密单元。其中,这些单元的名称在某种情况下并不构成对该单元本身的限定,例如,用户信息添加单元还可以被描述为“将所收到的用户信息添加请求中的用户标识、用户信息和加密标记对应存储的单元”。
作为另一方面,本申请还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的装置中所包含的;也可以是单独存在,而未装配入该装置中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该装置执行时,使得该装置:响应于接收到终端设备发送的用户信息添加请求,将所收到的用户信息添加请求中的用户标识、用户信息和加密标记对应存储,其中,加密标记为用于表征用户信息添加请求中的用户信息为加密后的用户信息密文的已加密标记或者用于表征用户信息添加请求中的用户信息为未进行加密的用户信息明文的未加密标记;响应于接收到终端设备发送的用户信息转密请求,其中,用户信息转密请求包括用户标识和第一转密指令,查询与所收到的用户信息转密请求中的用户标识对应的用户信息和加密标记;在可信执行环境中,执行用户信息转密操作,得到与所收到的用户信息转密请求对应的转密用户信息,以及将所得到的转密用户信息发送给发送所收到的用户信息转密请求的终端设备,其中,用户信息转密操作包括:利用服务器的可信执行环境中存储的与转密指令公钥对应的转密指令私钥,对所接收到的用户信息转密请求中的第一转密指令进行解密,得到密文密钥和转密密钥;响应于确定查找到的加密标记为已加密标记,利用服务器的可信执行环境中存储的加密密钥用密钥对解密得到的密文密钥进行解密得到明文密钥;利用解密得到的明文密钥对查找到的用户信息进行解密,得到用户信息明文;响应于确定查找到的加密标记为未加密标记,将查找到的用户信息确定为用户信息明文;利用解密得到的转密密钥对所得到的用户信息明文进行加密,得到与所收到的用户信息转密请求对应的转密用户信息。
以上描述仅为本申请的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本申请中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离上述发明构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本申请中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。
Claims (25)
1.一种用于处理用户信息的系统,包括:至少一个终端设备和服务器,所述服务器设置可信执行环境,其中:
终端设备,被配置成:响应于检测到包括用户标识、待添加用户信息和明文密钥的加密用户信息添加请求,在对密钥和用户信息加密操作提供支持的目标可信执行环境中,执行密钥和用户信息加密操作,得到与所述明文密钥对应的密文密钥和与所述待添加用户信息对应的用户信息密文,以及将包括所述加密用户信息添加请求中的用户标识、所得到的用户信息密文和加密标记为已加密标记的用户信息添加请求发送给所述服务器,其中,已加密标记用于表征用户信息添加请求中的用户信息为加密后的用户信息密文,所述密钥和用户信息加密操作包括:利用所述目标可信执行环境中存储的加密明文密钥用密钥,对所述明文密钥进行加密得到与所述明文密钥对应的密文密钥;以及利用所述明文密钥对所述待添加用户信息进行加密,得到与所述待添加用户信息明文对应的用户信息密文;
终端设备,被配置成:响应于检测到包括用户标识、待添加用户信息和加密标记为未加密标记的未加密用户信息添加请求,将所述未加密用户信息添加请求作为用户信息添加请求发送给所述服务器,未加密标记用于表征用户信息添加请求中的用户信息为未进行加密的用户信息明文;
所述服务器,被配置成:响应于接收到终端设备发送的用户信息添加请求,将所收到的用户信息添加请求中的用户标识、用户信息和加密标记对应存储;
终端设备,被配置成:响应于检测到用户信息查询请求,所述用户信息查询请求包括用户标识、密文密钥和转密密钥,利用转密指令公钥对所收到的用户信息查询请求中的密文密钥和转密密钥进行加密得到第一转密指令,以及将所述用户信息查询请求中的用户标识和所得到的第一转密指令作为与所述用户信息查询请求对应的用户信息转密请求发送给所述服务器;
所述服务器,被配置成:响应于接收到终端设备发送的用户信息转密请求,查询与所收到的用户信息转密请求中的用户标识对应的用户信息和加密标记;在所述服务器的可信执行环境中,执行用户信息转密操作,得到与所收到的用户信息转密请求对应的转密用户信息,以及将所得到的转密用户信息发送给发送所收到的用户信息转密请求的终端设备,其中,所述用户信息转密操作包括:利用所述服务器的可信执行环境中存储的与所述转密指令公钥对应的转密指令私钥,对所接收到的用户信息转密请求中的第一转密指令进行解密,得到密文密钥和转密密钥;响应于确定查找到的加密标记为已加密标记,利用所述服务器的可信执行环境中存储的加密密钥用密钥对解密得到的密文密钥进行解密得到明文密钥;利用解密得到的明文密钥对查找到的用户信息进行解密,得到用户信息明文;响应于确定查找到的加密标记为未加密标记,将查找到的用户信息确定为用户信息明文;利用解密得到的转密密钥对所得到的用户信息明文进行加密,得到与所收到的用户信息转密请求对应的转密用户信息;
终端设备,被配置成:响应于接收到所述服务器发送的与所发送的用户信息转密请求对应的转密用户信息,利用所发送的用户信息转密请求所对应的用户信息查询请求中的转密密钥对所收到的转密用户信息进行解密得到用户信息明文。
2.根据权利要求1所述的系统,其中,加密用户信息添加请求和未加密用户信息添加请求还包括用户信息范围标识;以及
终端设备,被配置成:将包括所述加密用户信息添加请求中的用户标识、所得到的用户信息密文和加密标记为已加密标记的用户信息添加请求发送给所述服务器,包括:
终端设备,被配置成:将包括所述加密用户信息添加请求中的用户标识和用户信息范围标识、所得到的加密用户信息以及加密标记为已加密标记的用户信息添加请求发送给所述服务器;以及
终端设备,被配置成:响应于检测到包括用户标识、待添加用户信息和加密标记为未加密标记的未加密用户信息添加请求,将所述未加密用户信息添加请求作为用户信息添加请求发送给所述服务器,包括:
终端设备,被配置成:响应于检测到包括用户标识、用户信息范围标识、待添加用户信息和加密标记为未加密标记的未加密用户信息添加请求,将所述未加密用户信息添加请求作为用户信息添加请求发送给所述服务器;以及
所述服务器,被配置成:响应于接收到终端设备发送的用户信息添加请求,将所收到的用户信息添加请求中的用户标识、用户信息和加密标记对应存储,包括:
所述服务器,被配置成:响应于接收到终端设备发送的用户信息添加请求,将所收到的用户信息添加请求中的用户标识、用户信息范围标识、用户信息和加密标记对应存储。
3.根据权利要求2所述的系统,其中,所述用户信息查询请求还包括用户信息范围标识;以及
所述终端设备,被配置成:将所述用户信息查询请求中的用户标识和所得到的第一转密指令作为与所述用户信息查询请求对应的用户信息转密请求发送给所述服务器,包括:
所述终端设备,被配置成:将所述用户信息查询请求中的用户标识和用户信息范围标识以及所得到的第一转密指令作为与所述用户信息查询请求对应的用户信息转密请求发送给所述服务器;以及
所述服务器,被配置成:查询与所收到的用户信息转密请求中的用户标识对应的用户信息和加密标记,包括:
所述服务器,被配置成:查询与所收到的用户信息转密请求中的用户标识和用户信息范围标识对应的用户信息和加密标记。
4.根据权利要求3所述的系统,其中,加密用户信息添加请求中的用户标识、未加密用户信息添加请求中的用户标识和用户信息查询请求中的用户标识是终端设备的用户标识集合中的用户标识。
5.根据权利要求4所述的系统,其中,所述至少一个终端设备包括至少一个设置可信执行环境的第一终端设备;以及
第一终端设备,被配置成:响应于检测到包括第一用户标识类别标识的第一用户标识生成请求,在该第一终端设备的可信执行环境中,执行第一用户标识生成操作,得到与所述第一用户标识生成请求对应的用户标识,以及将所得到的用户标识添加到该第一终端设备的用户标识集合中,其中,所述第一用户标识生成操作包括:获取用于指示该第一终端设备的可信执行环境的、包括厂商标识和产品标识的环境标识;随机生成随机数;用该第一终端设备的可信执行环境中存储的用户标识密钥对第一扩展用户标识进行加密,得到与所述第一用户标识生成请求对应的用户标识,其中,所述第一扩展用户标识包括所获取的环境标识、所生成的随机数和所述第一用户标识生成请求中的第一用户标识类别标识。
6.根据权利要求5所述的系统,其中,第一终端设备还被配置成:
响应于检测到包括待验证用户标识和待加密信息的用户标识验证请求,在该第一终端设备的可信执行环境中执行用户标识验证操作,得到与所述用户标识验证请求对应的验证结果,其中,所述用户标识验证操作包括:用该第一终端设备的可信执行环境中存储的用户标识密钥对所述待验证用户标识解密,得到待验证扩展用户标识;按照预设算法,根据所述待验证扩展用户标识中的环境标识生成第一密钥;用所生成的第一密钥加密所述待加密信息,得到第一加密信息;按照所述预设算法,根据该第一终端设备的可信执行环境的环境标识生成第二密钥;用所生成的第二密钥对所得到的第一加密信息解密,得到第一明文信息;响应于确定所得到的第一明文信息与所述待加密信息相同,生成用于指示所述待验证用户标识为该第一终端设备的用户标识的是用户标识验证结果;响应于确定所得到的第一明文信息与所述待加密信息不同,生成用于指示所述待验证用户标识不是该第一终端设备的用户标识的非用户标识验证结果。
7.根据权利要求5或6所述的系统,其中,厂商标识的取值范围不同于产品标识的取值范围,所述至少一个终端设备还包括至少一个未设置可信执行环境的第二终端设备;以及
第二终端设备,被配置成:响应于检测到用户输入的注册成为目标应用和/或目标网站的用户的注册请求以及确定该第二终端设备未设置对应的用户验证信息密文,向对所述目标应用和/或所述目标网站提供支持的第一终端设备发送所述注册请求;
第一终端设备,被配置成:响应于接收到第二终端设备发送的注册请求,在该第一终端设备的可信执行环境中执行用户验证信息密文生成操作,得到用户验证信息密文,以及将所得到的用户验证信息密文发送给发送所收到的注册请求的第二终端设备,其中,所述用户验证信息密文生成操作包括:用该第一终端设备的可信执行环境中存储的当前用户序号与预设增量的和更新所述当前用户序号;利用该第一终端设备的可信执行环境中存储的用户验证信息密钥对用户验证信息进行加密得到用户验证信息密文,其中,所述用户验证信息包括该第一终端设备的可信执行环境中存储的预设校验码、所述当前用户序号以及该第一终端设备的可信执行环境的环境标识;
第二终端设备,被配置成:响应于接收到第一终端设备发送的用户验证信息密文,将所收到的用户验证信息密文确定为该第二终端设备的用户验证信息密文;响应于检测到用户输入的包括第二用户标识类别标识且用于指示生成所述目标应用和/或所述目标网站的用户标识的第二用户标识生成指令,确定转密密钥,利用第二用户标识生成请求公钥对第二用户标识生成请求进行加密得到第二用户标识生成请求密文,以及将所得到的第二用户标识生成请求密文发送给对所述目标应用和/或所述目标网站提供支持的第一终端设备,其中,所述第二用户标识生成请求包括该第二终端设备的用户验证信息密文、所确定的转密密钥和所述第二用户标识类别标识;
第一终端设备,被配置成:响应于接收到第二终端设备发送的第二用户标识生成请求密文,在该第一终端设备的可信执行环境中执行第二用户标识生成操作,得到与所收到的第二用户标识生成请求密文对应的转密用户标识,以及将所得到的转密用户标识发送给发送所收到的第二用户标识生成请求密文的第二终端设备,其中,所述第二用户标识生成操作包括:用该第一终端设备的可信执行环境中存储的与所述第二用户标识生成请求公钥对应的第二用户标识生成请求私钥对所收到的第二用户标识生成请求密文进行解密得到用户验证信息密文、转密密钥和用户标识类别标识;利用该第一终端设备的可信执行环境中存储的用户验证信息密钥对解密得到的用户验证信息密文进行解密,得到验证码、用户序号和环境标识;响应于确定解密得到的验证码与该第一终端设备的可信执行环境中存储的预设验证码相同且解密得到的环境标识与该第一终端设备的可信执行环境的环境标识相同,用第二厂商标识、第二产品标识、随机生成的随机数和解密得到的用户标识类别标识生成第二扩展用户标识,其中,所述第二厂商标识是根据该第一终端设备的可信执行环境的产品标识生成的,且所述第二厂商标识的取值范围、该第一终端设备的可信执行环境的产品标识的取值范围和该第一终端设备的可信执行环境的厂商标识的取值范围互不相同,所述第二产品标识为解密得到的用户序号;用该第一终端设备的可信执行环境中存储的用户标识密钥对所生成的第二扩展用户标识进行加密得到第二用户标识;用解密得到的转密密钥对所得到的第二用户标识进行加密得到与所收到的第二用户标识生成请求密文对应的转密用户标识;
第二终端设备,被配置成:响应于接收到第一终端设备发送的且与所得到并发送给第一终端设备的第二用户标识生成请求密文对应的转密用户标识,用所得到的第二用户标识生成请求密文对应的第二用户标识生成请求中的转密密钥对所收到的转密用户标识进行解密,得到第二用户标识,以及将解密得到的第二用户标识添加到该第二终端设备的用户标识集合中。
8.根据权利要求7所述的系统,其中,第一终端设备的厂商标识大于等于第一预设正整数且小于等于所述第一预设正整数与第二预设正整数之和,第一终端设备的产品标识大于所述第二预设正整数且小于所述第一预设正整数,所述第一预设正整数大于所述第二预设正整数。
9.根据权利要求8所述的系统,其中,所述第二厂商标识是根据该第一终端设备的可信执行环境的产品标识生成的,包括:
所述第二厂商标识是该第一终端设备的可信执行环境的产品标识与所述第一预设正整数之和。
10.根据权利要求9所述的系统,其中,第一终端设备的厂商标识和产品标识均为四字节无符号整数,所述第一预设正整数的十六进制表示为0x80000000,所述第二预设正整数的十六进制表示为0x000000FF。
11.根据权利要求10所述的系统,其中:
服务器,被配置成:响应于接收到第一终端设备发送的包括待验证用户标识的终端用户标识验证请求,在所述服务器的可信执行环境中执行用户标识验证信息密文生成操作,得到与所述终端用户标识验证请求对应的用户标识验证信息密文,以及将所得到的用户标识验证信息密文发送给发送所收到的终端用户标识验证请求的第一终端设备,其中,所述用户标识验证信息密文生成操作包括:用所述服务器的可信执行环境中存储的用户标识密钥对所收到的待验证用户标识进行解密,得到待验证扩展用户标识;生成包括允许解密环境标识集合和待验证信息的用户标识验证信息,将所述待验证扩展用户标识中的环境标识添加到所生成的用户标识验证信息中的允许解密环境标识集合中;利用所述服务器的可信执行环境中存储的用户标识验证信息密钥对中的用户标识验证信息公钥对所生成的用户标识验证信息进行加密,得到与所述终端用户标识验证请求对应的用户标识验证信息密文;
第一终端设备,被配置成:响应于接收到所述服务器发送的用户标识验证信息密文,在该第一终端设备的可信执行环境中执行验证信息生成操作,得到与所收到的用户标识验证信息密文对应的验证信息,以及将所得到的验证信息发送给所述服务器,其中,所述验证信息生成操作包括:利用该第一终端设备的可信执行环境中存储的用户标识验证信息密钥对中的用户标识验证信息私钥对所收到的用户标识验证信息密文进行解密,得到用户标识验证信息;响应于确定该第一终端设备的可信执行环境的环境标识属于解密得到的用户标识验证信息中的允许解密环境标识集合,将解密得到的用户标识验证信息中的待验证信息确定为与所收到的用户验证信息密文对应的验证信息;
所述服务器,被配置成:响应于接收到第一终端设备发送的与所发送的用户标识验证信息密文对应的验证信息,其中,所发送的用户标识验证信息密文与所述服务器收到的终端用户标识验证请求对应,确定所收到的验证信息是否与所发送的用户标识验证信息密文对应的用户标识验证信息中的待验证信息相同;响应于确定相同,生成用于指示所收到的终端用户标识验证请求验证通过的终端用户验证通过结果;响应于确定不相同,生成用于指示所收到的终端用户标识验证请求验证不通过的终端用户验证不通过结果。
12.根据权利要求11所述的系统,其中,所述服务器为支持OAuthor协议的资源服务器。
13.根据权利要求12所述的系统,其中:
第一终端设备,被配置成:响应于检测到包括接收方用户标识集合和待加密信息的信息加密请求,在该第一终端设备的可信执行环境中执行信息加密操作,得到与所述信息加密请求对应的信息密文,其中,所述信息加密操作包括:用所述接收方用户标识集合中的每个接收方用户标识对应的接收方环境标识生成接收方环境标识集合,其中,接收方环境标识是用该第一终端设备的可信执行环境中存储的用户标识密钥对接收方用户标识进行解密所得到的接收方扩展用户中的环境标识;用该第一终端设备的可信执行环境中存储的定向信息密钥对中的定向信息公钥对所述接收方环境标识集合和所述待加密信息进行加密,得到与所述信息加密请求对应的信息密文;
第一终端设备,被配置成:响应于检测到包括待解密信息密文的第一信息解密请求,在该第一终端设备的可信执行环境中执行第一信息解密操作,得到与所述第一信息解密请求对应的信息明文,其中,所述第一信息解密操作包括:利用该第一终端设备的可信执行环境中存储的定向信息密钥对中的定向信息私钥对所述第一信息解密请求中的待解密信息密文进行解密,得到第一接收方环境标识集合和第一信息明文;响应于确定该第一终端设备的可信执行环境的环境标识属于所述第一接收方环境标识集合,将所述第一信息明文确定为与所述第一信息解密请求对应的信息明文;
第二终端设备,被配置成:响应于检测到包括待解密信息密文的第二信息解密请求,确定转密密钥;将第二转密指令利用定向信息密钥对中的定向信息公钥进行加密,得到第二转密指令密文,其中,所述第二转密指令包括该第二终端设备的用户验证信息和所确定的转密密钥;将所得到的第二转密指令密文和所述第二信息解密请求中的待解密信息密文作为信息转密请求发送给对所述目标应用和/或所述目标网站提供支持的第一终端设备;
第一终端设备,被配置成:响应于接收到第二终端设备发送的信息转密请求,在该第一终端设备的可信执行环境中执行信息转密操作,得到与所收到的信息转密请求对应的转密信息,以及将所得到的转密信息发送给发送所收到的信息转密请求的第二终端设备,其中,所述信息转密操作包括:利用该第一终端设备的可信执行环境中存储的定向信息密钥对中的定向信息私钥对所收到的信息转密请求中的第二转密指令密文进行解密,得到用户验证信息和转密密钥;利用该第一终端设备的可信执行环境中存储的用户验证信息密钥对解密得到的用户验证信息进行解密,得到验证码、用户序号和环境标识;响应于确定解密得到的环境标识与该第一终端设备的可信执行环境的环境标识相同且解密得到的验证码与该第一终端设备的可信执行环境中存储的预设验证码相同,利用该第一终端设备的可信执行环境中存储的定向信息密钥对中的定向信息私钥对所收到的信息转密请求中的信息密文进行解密,得到第二接收方环境标识集合和第二信息明文;响应于确定第二环境标识属于解密得到的第二接收方环境标识集合,利用解密得到的转密密钥对解密得到的第二信息明文进行加密,得到与所收到的信息转密请求对应的转密信息,其中,所述第二环境标识中的厂商标识是根据该第一终端设备的可信执行环境的产品标识所生成的第二厂商标识,所述第二环境标识中的产品标识是解密所得到的用户序号;
第二终端设备,被配置成:响应于接收到第一终端设备发送的转密信息,其中,所收到的转密信息对应与针对所检测到的第二信息解密请求所生成并发送的信息转密请求,利用所检测到的第二信息解密请求中的转密密钥对收到的转密信息进行解密得到信息明文。
14.一种用于处理用户信息的方法,应用于用于处理用户信息的系统中的服务器,所述用于处理用户信息的系统包括至少一个终端设备和服务器,所述服务器设置可信执行环境,所述方法包括:
响应于接收到终端设备发送的用户信息添加请求,将所收到的用户信息添加请求中的用户标识、用户信息和加密标记对应存储,其中,加密标记为用于表征用户信息添加请求中的用户信息为加密后的用户信息密文的已加密标记或者用于表征用户信息添加请求中的用户信息为未进行加密的用户信息明文的未加密标记;
响应于接收到终端设备发送的用户信息转密请求,其中,所述用户信息转密请求包括用户标识和第一转密指令,查询与所收到的用户信息转密请求中的用户标识对应的用户信息和加密标记;
在所述可信执行环境中,执行用户信息转密操作,得到与所收到的用户信息转密请求对应的转密用户信息,以及将所得到的转密用户信息发送给发送所收到的用户信息转密请求的终端设备,其中,所述用户信息转密操作包括:利用所述服务器的可信执行环境中存储的与转密指令公钥对应的转密指令私钥,对所接收到的用户信息转密请求中的第一转密指令进行解密,得到密文密钥和转密密钥;响应于确定查找到的加密标记为已加密标记,利用所述服务器的可信执行环境中存储的加密密钥用密钥对解密得到的密文密钥进行解密得到明文密钥;利用解密得到的明文密钥对查找到的用户信息进行解密,得到用户信息明文;响应于确定查找到的加密标记为未加密标记,将查找到的用户信息确定为用户信息明文;利用解密得到的转密密钥对所得到的用户信息明文进行加密,得到与所收到的用户信息转密请求对应的转密用户信息。
15.根据权利要求14所述的方法,其中,用户信息添加请求还包括用户信息范围标识;以及
所述响应于接收到终端设备发送的用户信息添加请求,将所收到的用户信息添加请求中的用户标识、用户信息和加密标记对应存储,包括:
响应于接收到终端设备发送的用户信息添加请求,将所收到的用户信息添加请求中的用户标识、用户信息范围标识、用户信息和加密标记对应存储。
16.根据权利要求15所述的方法,其中,用户信息转密请求还包括用户信息范围标识;以及
所述查询与所收到的用户信息转密请求中的用户标识对应的用户信息和加密标记,包括:
查询与所收到的用户信息转密请求中的用户标识和用户信息范围标识对应的用户信息和加密标记。
17.根据权利要求16所述的方法,其中,所述方法还包括:
响应于接收到设置可信执行环境的终端设备发送的包括待验证用户标识的终端用户标识验证请求,在所述可信执行环境中执行用户标识验证信息密文生成操作,得到与所述终端用户标识验证请求对应的用户标识验证信息密文,以及将所得到的用户标识验证信息密文发送给发送所收到的终端用户标识验证请求的终端设备,其中,所述用户标识验证信息密文生成操作包括:用所述可信执行环境中存储的用户标识密钥对所收到的待验证用户标识进行解密,得到待验证扩展用户标识;生成包括允许解密环境标识集合和待验证信息的用户标识验证信息,将所述待验证扩展用户标识中的环境标识添加到所生成的用户标识验证信息中的允许解密环境标识集合中;利用所述可信执行环境中存储的用户标识验证信息密钥对中的用户标识验证信息公钥对所生成的用户标识验证信息进行加密,得到与所述终端用户标识验证请求对应的用户标识验证信息密文;
响应于接收到设置可信执行环境的终端设备发送的与所发送的用户标识验证信息密文对应的验证信息,其中,所发送的用户标识验证信息密文与所收到的终端用户标识验证请求对应,确定所收到的验证信息是否与所发送的用户标识验证信息密文对应的用户标识验证信息中的待验证信息相同;
响应于确定相同,生成用于指示所收到的终端用户标识验证请求验证通过的终端用户验证通过结果;
响应于确定不相同,生成用于指示所收到的终端用户标识验证请求验证不通过的终端用户验证不通过结果。
18.根据权利要求17所述的方法,其中,所述服务器为支持OAuthor协议的资源服务器。
19.一种用于处理用户信息的装置,应用于用于处理用户信息的系统中的服务器,所述用于处理用户信息的系统包括至少一个终端设备和服务器,所述服务器设置可信执行环境,所述装置包括:
用户信息添加单元,被配置成响应于接收到终端设备发送的用户信息添加请求,将所收到的用户信息添加请求中的用户标识、用户信息和加密标记对应存储,其中,加密标记为用于表征用户信息添加请求中的用户信息为加密后的用户信息密文的已加密标记或者用于表征用户信息添加请求中的用户信息为未进行加密的用户信息明文的未加密标记;
用户信息查询单元,被配置成响应于接收到终端设备发送的用户信息转密请求,其中,所述用户信息转密请求包括用户标识和第一转密指令,查询与所收到的用户信息转密请求中的用户标识对应的用户信息和加密标记;
用户信息转密单元,被配置成在所述可信执行环境中,执行用户信息转密操作,得到与所收到的用户信息转密请求对应的转密用户信息,以及将所得到的转密用户信息发送给发送所收到的用户信息转密请求的终端设备,其中,所述用户信息转密操作包括:利用所述服务器的可信执行环境中存储的与转密指令公钥对应的转密指令私钥,对所接收到的用户信息转密请求中的第一转密指令进行解密,得到密文密钥和转密密钥;响应于确定查找到的加密标记为已加密标记,利用所述服务器的可信执行环境中存储的加密密钥用密钥对解密得到的密文密钥进行解密得到明文密钥;利用解密得到的明文密钥对查找到的用户信息进行解密,得到用户信息明文;响应于确定查找到的加密标记为未加密标记,将查找到的用户信息确定为用户信息明文;利用解密得到的转密密钥对所得到的用户信息明文进行加密,得到与所收到的用户信息转密请求对应的转密用户信息。
20.根据权利要求19所述的装置,其中,用户信息添加请求还包括用户信息范围标识;以及
所述用户信息添加单元进一步被配置成:
响应于接收到终端设备发送的用户信息添加请求,将所收到的用户信息添加请求中的用户标识、用户信息范围标识、用户信息和加密标记对应存储。
21.根据权利要求20所述的装置,其中,用户信息转密请求还包括用户信息范围标识;以及
所述用户信息查询单元进一步被配置成:
查询与所收到的用户信息转密请求中的用户标识和用户信息范围标识对应的用户信息和加密标记。
22.根据权利要求21所述的装置,其中,所述装置还包括:
生成及发送单元,被配置成响应于接收到设置可信执行环境的终端设备发送的包括待验证用户标识的终端用户标识验证请求,在所述可信执行环境中执行用户标识验证信息密文生成操作,得到与所述终端用户标识验证请求对应的用户标识验证信息密文,以及将所得到的用户标识验证信息密文发送给发送所收到的终端用户标识验证请求的终端设备,其中,所述用户标识验证信息密文生成操作包括:用所述可信执行环境中存储的用户标识密钥对所收到的待验证用户标识进行解密,得到待验证扩展用户标识;生成包括允许解密环境标识集合和待验证信息的用户标识验证信息,将所述待验证扩展用户标识中的环境标识添加到所生成的用户标识验证信息中的允许解密环境标识集合中;利用所述可信执行环境中存储的用户标识验证信息密钥对中的用户标识验证信息公钥对所生成的用户标识验证信息进行加密,得到与所述终端用户标识验证请求对应的用户标识验证信息密文;
确定单元,被配置成响应于接收到设置可信执行环境的终端设备发送的与所发送的用户标识验证信息密文对应的验证信息,其中,所发送的用户标识验证信息密文与所收到的终端用户标识验证请求对应,确定所收到的验证信息是否与所发送的用户标识验证信息密文对应的用户标识验证信息中的待验证信息相同;
第一结果生成单元,被配置成响应于确定相同,生成用于指示所收到的终端用户标识验证请求验证通过的终端用户验证通过结果;
第二结果生成单元,被配置成响应于确定不相同,生成用于指示所收到的终端用户标识验证请求验证不通过的终端用户验证不通过结果。
23.根据权利要求22所述的装置,其中,所述服务器为支持OAuthor协议的资源服务器。
24.一种服务器,包括:
一个或多个处理器;
存储装置,其上存储有一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如权利要求14-18中任一所述的方法。
25.一种计算机可读存储介质,其上存储有计算机程序,其中,所述计算机程序被一个或多个处理器执行时实现如权利要求14-18中任一所述的方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811030446.3A CN110881015B (zh) | 2018-09-05 | 2018-09-05 | 用于处理用户信息的系统和方法 |
PCT/CN2019/099943 WO2020048289A1 (zh) | 2018-09-05 | 2019-08-09 | 用于处理用户信息的系统和方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811030446.3A CN110881015B (zh) | 2018-09-05 | 2018-09-05 | 用于处理用户信息的系统和方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110881015A CN110881015A (zh) | 2020-03-13 |
CN110881015B true CN110881015B (zh) | 2021-10-01 |
Family
ID=69722970
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811030446.3A Active CN110881015B (zh) | 2018-09-05 | 2018-09-05 | 用于处理用户信息的系统和方法 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN110881015B (zh) |
WO (1) | WO2020048289A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111064757B (zh) * | 2020-03-18 | 2020-06-19 | 腾讯科技(深圳)有限公司 | 应用访问方法、装置、电子设备以及存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106454528A (zh) * | 2015-08-07 | 2017-02-22 | 阿里巴巴集团控股有限公司 | 基于可信执行环境的业务处理方法和客户端 |
CN106878231A (zh) * | 2015-12-10 | 2017-06-20 | 中国电信股份有限公司 | 用于实现用户数据安全传输的方法、用户终端和系统 |
CN107592308A (zh) * | 2017-09-13 | 2018-01-16 | 西安电子科技大学 | 一种面向移动支付场景的双服务器多因子认证方法 |
CN108076011A (zh) * | 2016-11-10 | 2018-05-25 | 中国移动通信有限公司研究院 | 一种可信执行环境数据迁移方法及装置 |
CN108156143A (zh) * | 2017-12-14 | 2018-06-12 | 上海格尔安全科技有限公司 | 基于可信执行环境的Android应用程序之间的安全通信方法 |
CN108809659A (zh) * | 2015-12-01 | 2018-11-13 | 神州融安科技(北京)有限公司 | 动态口令的生成、验证方法及系统、动态口令系统 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4130653B2 (ja) * | 2004-12-20 | 2008-08-06 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 擬似公開鍵暗号方法及びシステム |
CN101388774A (zh) * | 2008-10-24 | 2009-03-18 | 焦点科技股份有限公司 | 一种在不同系统间自动认证识别用户身份并且登录的方法 |
US20120089481A1 (en) * | 2009-11-24 | 2012-04-12 | Chain Reaction Ecommerce, Inc. | Securing sensitive information with a trusted proxy frame |
US10298545B2 (en) * | 2013-09-12 | 2019-05-21 | International Business Machines Corporation | Secure processing environment for protecting sensitive information |
CN104980397B (zh) * | 2014-04-03 | 2019-04-26 | 腾讯科技(深圳)有限公司 | 即时通信方法、系统和终端 |
CN105391677A (zh) * | 2014-09-09 | 2016-03-09 | 宇龙计算机通信科技(深圳)有限公司 | 一种信息传递方法及移动终端 |
CN106330862A (zh) * | 2016-08-10 | 2017-01-11 | 武汉信安珞珈科技有限公司 | 一种动态密码的安全传输方法和系统 |
-
2018
- 2018-09-05 CN CN201811030446.3A patent/CN110881015B/zh active Active
-
2019
- 2019-08-09 WO PCT/CN2019/099943 patent/WO2020048289A1/zh active Application Filing
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106454528A (zh) * | 2015-08-07 | 2017-02-22 | 阿里巴巴集团控股有限公司 | 基于可信执行环境的业务处理方法和客户端 |
CN108809659A (zh) * | 2015-12-01 | 2018-11-13 | 神州融安科技(北京)有限公司 | 动态口令的生成、验证方法及系统、动态口令系统 |
CN106878231A (zh) * | 2015-12-10 | 2017-06-20 | 中国电信股份有限公司 | 用于实现用户数据安全传输的方法、用户终端和系统 |
CN108076011A (zh) * | 2016-11-10 | 2018-05-25 | 中国移动通信有限公司研究院 | 一种可信执行环境数据迁移方法及装置 |
CN107592308A (zh) * | 2017-09-13 | 2018-01-16 | 西安电子科技大学 | 一种面向移动支付场景的双服务器多因子认证方法 |
CN108156143A (zh) * | 2017-12-14 | 2018-06-12 | 上海格尔安全科技有限公司 | 基于可信执行环境的Android应用程序之间的安全通信方法 |
Also Published As
Publication number | Publication date |
---|---|
CN110881015A (zh) | 2020-03-13 |
WO2020048289A1 (zh) | 2020-03-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10554420B2 (en) | Wireless connections to a wireless access point | |
US10462135B2 (en) | Systems and methods for providing confidentiality and privacy of user data for web browsers | |
US11329962B2 (en) | Pluggable cipher suite negotiation | |
US10116645B1 (en) | Controlling use of encryption keys | |
US9973481B1 (en) | Envelope-based encryption method | |
US10862883B1 (en) | Custom authorization of network connected devices using signed credentials | |
US11509709B1 (en) | Providing access to encrypted insights using anonymous insight records | |
US20160085861A1 (en) | Private cloud api | |
US10003467B1 (en) | Controlling digital certificate use | |
US10963593B1 (en) | Secure data storage using multiple factors | |
US10764294B1 (en) | Data exfiltration control | |
US20100275025A1 (en) | Method and apparatus for secure communication | |
EP4096160A1 (en) | Shared secret implementation of proxied cryptographic keys | |
US9910997B1 (en) | Secure credential storage | |
EP4096147A1 (en) | Secure enclave implementation of proxied cryptographic keys | |
JP2011003100A (ja) | 認証要求変換装置、認証要求変換方法および認証要求変換プログラム | |
EP4145763A1 (en) | Exporting remote cryptographic keys | |
CN112733180A (zh) | 数据查询方法、装置和电子设备 | |
CN109657170B (zh) | 网页加载方法、装置、计算机设备及存储介质 | |
US10049222B1 (en) | Establishing application trust levels using taint propagation | |
CN110881015B (zh) | 用于处理用户信息的系统和方法 | |
CN110879876B (zh) | 用于发行证书的系统和方法 | |
US20230179404A1 (en) | Hybrid cloud-based security service method and apparatus for security of confidential data | |
CN110602075A (zh) | 一种加密访问控制的文件流处理的方法、装置及系统 | |
CN114117388A (zh) | 设备注册方法、设备注册装置、电子设备以及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right |
Effective date of registration: 20231019 Address after: 519, Building 2, Xinghui Industrial Zone, No. 131 Yu'an Second Road, Bao'an 33 District, Shenzhen City, Guangdong Province, 518133 Patentee after: SHENZHEN HONGZHUANFANG TECHNOLOGY Co.,Ltd. Address before: 518054 7a, building 19, Hongrui garden, Nanguang Road, Nanshan District, Shenzhen, Guangdong Patentee before: Cheng Qiang |
|
TR01 | Transfer of patent right |