CN111047443B - 用户评分方法及装置、电子设备、计算机可读存储介质 - Google Patents
用户评分方法及装置、电子设备、计算机可读存储介质 Download PDFInfo
- Publication number
- CN111047443B CN111047443B CN201911204790.4A CN201911204790A CN111047443B CN 111047443 B CN111047443 B CN 111047443B CN 201911204790 A CN201911204790 A CN 201911204790A CN 111047443 B CN111047443 B CN 111047443B
- Authority
- CN
- China
- Prior art keywords
- scoring
- user
- client
- transaction
- behavior information
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q40/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/04—Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Finance (AREA)
- Accounting & Taxation (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Development Economics (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- General Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Engineering & Computer Science (AREA)
- Economics (AREA)
- Marketing (AREA)
- Strategic Management (AREA)
- Technology Law (AREA)
- General Business, Economics & Management (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
Abstract
本说明书一个或多个实施例提供一种用户评分方法及装置、电子设备、计算机可读存储介质;该方法可以包括:接收客户端发起的针对用户的评分交易,所述评分交易中包含所述用户的行为信息;向区块链中的其他区块链节点发送所述评分交易,以使得区块链中的区块链节点对所述评分交易进行共识处理;当共识通过时,将所述评分交易读入可信执行环境进行解密以得到所述行为信息;在所述可信执行环境中调用评分合约以执行所述评分合约中定义的评分代码,根据所述行为信息对所述用户进行评分,并对评分结果进行加密以由所述客户端获取。
Description
技术领域
本说明书一个或多个实施例涉及区块链技术领域,尤其涉及一种用户评分方法及装置、电子设备、计算机可读存储介质。
背景技术
区块链技术构建在传输网络(例如点对点网络)之上。传输网络中的网络节点利用链式数据结构来验证与存储数据,并采用分布式节点共识算法来生成和更新数据。
目前企业级的区块链平台技术上最大的两个挑战就是隐私和性能,往往这两个挑战很难同时解决。大多解决方案都是通过损失性能换取隐私,或者不大考虑隐私去追求性能。常见的解决隐私问题的加密技术,如同态加密(Homomorphic encryption)和零知识证明(Zero-knowledge proof)等复杂度高,通用性差,而且还可能带来严重的性能损失。
可信执行环境(Trusted Execution Environment,TEE)是另一种解决隐私问题的方式。TEE可以起到硬件中的黑箱作用,在TEE中执行的代码和数据操作系统层都无法偷窥,只有代码中预先定义的接口才能对其进行操作。
发明内容
有鉴于此,本说明书一个或多个实施例提供一种用户评分方法及装置、电子设备、计算机可读存储介质。
为实现上述目的,本说明书一个或多个实施例提供技术方案如下:
根据本说明书一个或多个实施例的第一方面,提出了一种用户评分方法,应用于区块链节点;所述方法包括:
接收客户端发起的针对用户的评分交易,所述评分交易中包含所述用户的行为信息;
向区块链中的其他区块链节点发送所述评分交易,以使得区块链中的区块链节点对所述评分交易进行共识处理;
当共识通过时,将所述评分交易读入可信执行环境进行解密以得到所述行为信息;
在所述可信执行环境中调用评分合约以执行所述评分合约中定义的评分代码,根据所述行为信息对所述用户进行评分,并对评分结果进行加密以由所述客户端获取。
根据本说明书一个或多个实施例的第二方面,提出了一种用户评分方法,应用于业务服务端;所述方法包括:
接收客户端发送的针对用户的评分请求,所述评分请求中包含所述用户的行为信息;
将所述评分请求读入可信执行环境进行解密以得到所述行为信息;
执行维护在所述可信执行环境中的评分代码,以根据所述行为信息对所述用户进行评分;
对评分结果进行加密以由所述客户端获取。
根据本说明书一个或多个实施例的第三方面,提出了一种用户评分方法,应用于客户端;所述方法包括:
创建针对用户的评分请求并对所述评分请求进行加密,所述评分请求中包含所述用户的行为信息;
向业务服务端发送所述评分请求,以使得所述业务服务端将所述评分请求读入可信执行环境进行解密得到所述行为信息,并执行维护在所述可信执行环境中的评分代码,根据所述行为信息对所述用户进行评分;
接收所述业务服务端返回的评分结果,所述评分结果被所述业务服务端加密。
根据本说明书一个或多个实施例的第四方面,提出了一种用户评分装置,应用于区块链节点;所述装置包括:
接收单元,接收客户端发起的针对用户的评分交易,所述评分交易中包含所述用户的行为信息;
发送单元,向区块链中的其他区块链节点发送所述评分交易,以使得区块链中的区块链节点对所述评分交易进行共识处理;
解密单元,当共识通过时,将所述评分交易读入可信执行环境进行解密以得到所述行为信息;
评分单元,在所述可信执行环境中调用评分合约以执行所述评分合约中定义的评分代码,根据所述行为信息对所述用户进行评分,并对评分结果进行加密以由所述客户端获取。
根据本说明书一个或多个实施例的第五方面,提出了一种用户评分装置,应用于业务服务端;所述装置包括:
接收单元,接收客户端发送的针对用户的评分请求,所述评分请求中包含所述用户的行为信息;
解密单元,将所述评分请求读入可信执行环境进行解密以得到所述行为信息;
评分单元,执行维护在所述可信执行环境中的评分代码,以根据所述行为信息对所述用户进行评分;
加密单元,对评分结果进行加密以由所述客户端获取。
根据本说明书一个或多个实施例的第六方面,提出了一种用户评分装置,应用于客户端;所述装置包括:
创建单元,创建针对用户的评分请求并对所述评分请求进行加密,所述评分请求中包含所述用户的行为信息;
发送单元,向业务服务端发送所述评分请求,以使得所述业务服务端将所述评分请求读入可信执行环境进行解密得到所述行为信息,并执行维护在所述可信执行环境中的评分代码,根据所述行为信息对所述用户进行评分;
接收单元,接收所述业务服务端返回的评分结果,所述评分结果被所述业务服务端加密。
根据本说明书一个或多个实施例的第七方面,提出了一种电子设备,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器通过运行所述可执行指令以实现如第一方面所述的方法。
根据本说明书一个或多个实施例的第八方面,提出了一种电子设备,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器通过运行所述可执行指令以实现如第二方面所述的方法。
根据本说明书一个或多个实施例的第九方面,提出了一种电子设备,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器通过运行所述可执行指令以实现如第三方面所述的方法。
根据本说明书一个或多个实施例的第十方面,提出了一种计算机可读存储介质,其上存储有计算机指令,该指令被处理器执行时实现如第一方面所述方法的步骤。
根据本说明书一个或多个实施例的第十一方面,提出了一种计算机可读存储介质,其上存储有计算机指令,该指令被处理器执行时实现如第二方面所述方法的步骤。
根据本说明书一个或多个实施例的第十二方面,提出了一种计算机可读存储介质,其上存储有计算机指令,该指令被处理器执行时实现如第三方面所述方法的步骤。
附图说明
图1是一示例性实施例提供的一种创建智能合约的示意图。
图2是一示例性实施例提供的一种调用智能合约的示意图。
图3是一示例性实施例提供的一种用户评分方法的流程图。
图4是一示例性实施例提供的一种业务操作系统的架构示意图。
图5是一示例性实施例提供的基于服务端侧的用户评分方法的流程图。
图6是一示例性实施例提供的基于客户端侧的用户评分方法的流程图。
图7是一示例性实施例提供的发放数字信封的公私钥的流程图。
图8是一示例性实施例提供的一种用户评分方法的交互图。
图9是一示例性实施例提供的另一种用户评分方法的交互图。
图10是一示例性实施例提供的一种设备的结构示意图。
图11是一示例性实施例提供的一种基于区块链节点侧的用户评分装置的框图。
图12是一示例性实施例提供的另一种设备的结构示意图。
图13是一示例性实施例提供的一种基于业务服务端侧的用户评分装置的框图。
图14是一示例性实施例提供的另一种设备的结构示意图。
图15是一示例性实施例提供的一种基于客户端侧的用户评分装置的框图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本说明书一个或多个实施例相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本说明书一个或多个实施例的一些方面相一致的装置和方法的例子。
需要说明的是:在其他实施例中并不一定按照本说明书示出和描述的顺序来执行相应方法的步骤。在一些其他实施例中,其方法所包括的步骤可以比本说明书所描述的更多或更少。此外,本说明书中所描述的单个步骤,在其他实施例中可能被分解为多个步骤进行描述;而本说明书中所描述的多个步骤,在其他实施例中也可能被合并为单个步骤进行描述。
区块链一般被划分为三种类型:公有链(Public Blockchain),私有链(PrivateBlockchain)和联盟链(Consortium Blockchain)。此外,还有多种类型的结合,比如私有链+联盟链、联盟链+公有链等不同组合形式。其中去中心化程度最高的是公有链。公有链以比特币、以太坊为代表,加入公有链的参与者可以读取链上的数据记录、参与交易以及竞争新区块的记账权等。而且,各参与者(即节点)可自由加入以及退出网络,并进行相关操作。私有链则相反,该网络的写入权限由某个组织或者机构控制,数据读取权限受组织规定。简单来说,私有链可以为一个弱中心化系统,参与节点具有严格限制且少。这种类型的区块链更适合于特定机构内部使用。联盟链则是介于公有链以及私有链之间的区块链,可实现“部分去中心化”。联盟链中各个节点通常有与之相对应的实体机构或者组织;参与者通过授权加入网络并组成利益相关联盟,共同维护区块链运行。
不论是公有链、私有链还是联盟链,都可能提供智能合约的功能。区块链上的智能合约是在区块链系统上可以被交易触发执行的合约。智能合约可以通过代码的形式定义。
以以太坊为例,支持用户在以太坊网络中创建并调用一些复杂的逻辑,这是以太坊区别于比特币区块链技术的最大挑战。以太坊作为一个可编程区块链的核心是以太坊虚拟机(EVM),每个以太坊节点都可以运行EVM。EVM是一个图灵完备的虚拟机,这意味着可以通过它实现各种复杂的逻辑。用户在以太坊中发布和调用智能合约就是在EVM上运行的。实际上,虚拟机直接运行的是虚拟机代码(虚拟机字节码,下简称“字节码”)。部署在区块链上的智能合约可以是字节码的形式。
例如图1所示,Bob将一个包含创建智能合约信息的交易发送到以太坊网络后,节点1的EVM可以执行这个交易并生成对应的合约实例。图中1中的“0x6f8ae93…”代表了这个合约的地址,交易的data字段保存的可以是字节码,交易的to字段为空。节点间通过共识机制达成一致后,这个合约成功创建,并且可以在后续过程中被调用。合约创建后,区块链上出现一个与该智能合约对应的合约账户,并拥有一个特定的地址,合约代码将保存在该合约账户中。智能合约的行为由合约代码控制。换句话说,智能合约使得区块链上产生包含合约代码和账户存储(Storage)的虚拟账户。
如图2所示,仍以以太坊为例,Bob将一个用于调用智能合约的交易发送到以太坊网络后,某一节点的EVM可以执行这个交易并生成对应的合约实例。图中2中交易的from字段是交易发起方(即Bob)的账户的地址,to字段中的“0x6f8ae93…”代表了被调用的智能合约的地址,value字段在以太坊中是以太币的值,交易的data字段保存的调用智能合约的方法和参数。智能合约以规定的方式在区块链网络中每个节点独立的执行,所有执行记录和数据都保存在区块链上,所以当交易完成后,区块链上就保存了无法篡改、不会丢失的交易凭证。
区块链网络中的节点在执行Bob发起的交易后,会生成相应的收据(receipt)数据,以用于记录该交易相关的收据信息。这样,可以通过查询交易的收据来获得该交易执行结果的相关信息。以以太坊为例,节点执行交易所得的收据数据可以包括如下内容:
Result字段,表示交易的执行结果;
Gas used字段,表示交易消耗的gas值;
Logs字段,表示交易产生的日志,日志可以进一步包括From字段、To字段、Topic字段和Log data字段等,其中From字段表示调用的发起方的账户地址、To字段表示被调用对象(如智能合约)的账户地址、Topic字段表示日志的主题、Log data字段表示日志数据;
Output字段,表示交易的输出。
一般的,交易本身以及执行交易后生成的收据数据以明文形式进行存储,任何人都可以看到交易本身和收据数据所含的上述各个收据字段的内容。但是,交易本身或者生成的收据数据中可能存在至少一部分内容是用户的敏感信息,针对这些敏感信息实施隐私保护可有效避免用户的隐私被泄露。
例如,在对用户进行评分的场景下,评分的依据往往是与用户相关的隐私数据,用于评分的设备在接收到隐私数据后,以该隐私数据为评分依据对用户进行在预设维度上的评分。而隐私数据在传输过程以及在传输至设备后,均存在被泄露的风险。因此,本说明书的用户评分方案通过对评分的过程予以改进,以保证用户的隐私安全。
需要说明的是,接入区块链的用户在区块链上发起的请求的类型,具体可以是指传统的区块链中所采用的交易(transaction)。当然,接入区块链的用户在区块链上发起的请求的类型,具体也可以是交易以外的,其它形式的具有标准的数据结构的指令、消息等,本说明书一个或多个实施例并不进行特别限定。在以下的各实施例中,将以接入区块链的用户在区块链上发起的请求为交易为例进行说明。
请参见图3,图3是一示例性实施例提供的一种用户评分方法的流程图。如图3所示,该方法应用于区块链节点,可以包括以下步骤:
步骤302,接收客户端发起的针对用户的评分交易,所述评分交易中包含所述用户的行为信息。
在本实施例中,客户端可采集或者接收其他设备发送的用户的行为信息,该行为信息作为评分依据记录在评分交易中。比如,可以记录在评分交易的data字段中。同时,评分交易的to字段记录评分合约的合约地址,以用于调用部署于区块链的评分合约根据行为信息对用户进行评分。
其中,用户的行为信息属于用户的隐私数据。例如,用户在完成一项还款业务时,相应的行为信息可以包括用户支付的金额,用户账户、收款人账户、支付时间等信息,因此,可对包含用户行为信息的评分交易进行加密,从而保证用户的隐私安全。作为一示例性实施例,用户可采用数字信封加密的方式对创建好的评分交易进行加密,该数字信封加密结合对称加密算法和非对称加密算法。具体而言,采用对称加密算法加密交易内容(即采用自身使用的对称密钥对评分交易进行加密),再采用非对称加密算法的公钥对该对称密钥进行加密。比如,客户端可采用区块链节点公钥对用于加密评分交易的对称密钥进行加密。其中,对于客户端获取区块链节点公钥的过程,将在下文进行详述。
通过上述加密的方式,用户的行为信息即便跟随评分交易上链存证,由于评分交易为密文数据,那么其他用户也无法通过区块链来获取该用户明文形式的行为信息,从而可在向用户提供评分功能的同时保证用户的隐私安全。
步骤304,向区块链中的其他区块链节点发送所述评分交易,以使得区块链中的区块链节点对所述评分交易进行共识处理。
在本实施例中,可通过在区块链上部署智能合约来完成对用户的评分。以联盟链为例,可由具备记账权限的区块链成员来设定评分规则,并将评分规则以评分代码的形式定义在评分合约中。在完成对评分合约的开发后,该区块链成员可以通过联盟链中的任一节点设备将该评分合约发布至联盟链,并在该评分合约由该联盟链中的部分指定的成员节点设备(比如,联盟链中指定的若干个具有记账权限的权威节点设备)完成共识后,收录至该联盟链的分布式数据库(即分布式账本)。
基于对评分合约的部署,用户的客户端可通过打包一笔评分交易发送至区块链节点,从而调用该评分合约进行评分。类似的,区块链节点在接收到评分交易后,向区块链中的其他区块链节点发送该评分交易,以使得区块链中的区块链节点对评分交易进行共识处理。其中,区块链中支持的共识算法可以包括:
第一类共识算法,即节点设备需要争夺每一轮的记账周期的记账权的共识算法;例如,工作量证明(Proof of Work,POW)、股权证明(Proof of Stake,POS)、委任权益证明(Delegated Proof of Stake,DPOS)等共识算法;
第二类共识算法,即预先为每一轮记账周期选举记账节点(不需要争夺记账权)的共识算法;例如,实用拜占庭容错(Practical Byzantine Fault Tolerance,PBFT)等共识算法。
在采用第一类共识算法的区块链网络中,争夺记账权的节点设备,都可以在接收到交易后执行该笔交易。争夺记账权的节点设备中可能有一个节点设备在本轮争夺记账权的过程中胜出,成为记账节点。记账节点可以将收到的交易与其它交易一起打包以生成最新区块,并将生成的最新区块或者该最新区块的区块头发送至其它节点设备进行共识。
在采用第二类共识算法的区块链网络中,具有记账权的节点设备在本轮记账前已经商定好。因此,节点设备在接收到交易后,如果自身不是本轮的记账节点,则可以将该交易发送至记账节点。对于本轮的记账节点,在将该交易与其它交易一起打包以生成最新区块的过程中或者之前,可以执行该交易。记账节点在生成最新区块后,可以将该最新区块或者该最新区块的区块头发送至其它节点设备进行共识。
如上所述,无论区块链采用以上示出的哪种共识算法,本轮的记账节点都可以将接收到的交易打包以生成最新区块,并将生成的最新区块或者该最新区块的区块头发送至其它节点设备进行共识验证。如果其它节点设备接收到最新区块或者该最新区块的区块头后,经验证没有问题,可以将该最新区块追加到原有的区块链末尾,从而完成区块链的记账过程。其它节点验证记账节点发来的新的区块或区块头的过程中,也可以执行该区块中包含的交易。当然,区块链节点对于接收到的交易,执行交易和对交易进行共识处理的先后顺序,可根据区块链采用的共识算法而定,本说明书一个或多个实施例并不对此进行限制。
步骤306,当共识通过时,将所述评分交易读入可信执行环境进行解密以得到所述行为信息。
在本实施例中,可在区块链节点中构建TEE以进一步保证用户行为信息的隐私安全。具体而言,可将评分交易读入TEE内进行解密并在TEE内调用评分合约以根据行为信息进行评分。一方面,通过在TEE内解密评分交易,可有效保证用户隐私安全;另一方面,在TEE内根据明文形式的行为信息进行评分,而不是以密文形式的行为信息进行评分,评分过程效率没有损失。因此,通过将区块链与TEE相结合可以在性能损失较小的前提下提升区块链的安全性和隐私性。
在本实施例中,由上述客户端对评分交易的加密方式可知,评分交易被客户端通过用户的对称密钥进行加密。因此,区块链节点可先获取对应于该用户的对称密钥,再在TEE内通过获取到的对称密钥对评分交易进行解密以得到用户的行为信息。而对于获取对应于该用户的对称密钥的方式,由于用于加密评分交易的对称密钥被采用区块链节点公钥加密,可在TEE内通过区块链节点私钥,对用于加密评分交易的对称密钥进行解密以得到解密后的对称密钥。
TEE是基于CPU硬件的安全扩展,且与外部完全隔离的可信执行环境。TEE最早是由Global Platform提出的概念,用于解决移动设备上资源的安全隔离,平行于操作系统为应用程序提供可信安全的执行环境。ARM的Trust Zone技术最早实现了真正商用的TEE技术。伴随着互联网的高速发展,安全的需求越来越高,不仅限于移动设备,云端设备,数据中心都对TEE提出了更多的需求。TEE的概念也得到了高速的发展和扩充。现在所说的TEE相比与最初提出的概念已经是更加广义的TEE。例如,服务器芯片厂商Intel,AMD等都先后推出了硬件辅助的TEE并丰富了TEE的概念和特性,在工业界得到了广泛的认可。现在提起的TEE通常更多指这类硬件辅助的TEE技术。不同于移动端,云端访问需要远程访问,终端用户对硬件平台不可见,因此使用TEE的第一步就是要确认TEE的真实可信。因此可针对TEE技术引入远程证明机制,由硬件厂商(主要是CPU厂商)背书并通过数字签名技术确保用户对TEE状态可验证。同时仅仅是安全的资源隔离也无法满足的安全需求,进一步的数据隐私保护也被提出。包括Intel SGX,AMD SEV在内的商用TEE也都提供了内存加密技术,将可信硬件限定在CPU内部,总线和内存的数据均是密文防止恶意用户进行窥探。例如,英特尔的软件保护扩展(SGX)等TEE技术隔离了代码执行、远程证明、安全配置、数据的安全存储以及用于执行代码的可信路径。在TEE中运行的应用程序受到安全保护,几乎不可能被第三方访问。
以Intel SGX技术为例,SGX提供了围圈,即内存中一个加密的可信执行区域,由CPU保护数据不被窃取。以区块链节点采用支持SGX的CPU为例,利用新增的处理器指令,在内存中可以分配一部分区域EPC(Enclave Page Cache,围圈页面缓存或飞地页面缓存),通过CPU内的加密引擎MEE(Memory Encryption Engine)对其中的数据进行加密。EPC中加密的内容只有进入CPU后才会被解密成明文。因此,在SGX中,用户可以不信任操作系统、VMM(Virtual Machine Monitor,虚拟机监控器)、甚至BIOS(Basic Input Output System,基本输入输出系统),只需要信任CPU便能确保隐私数据不会泄漏。
因此,本说明书的用户评分方案中区块链节点的TEE可通过SGX架构建立。其中,在TEE通过密钥管理服务器发起的远程证明后,区块链节点公钥由密钥管理服务器发送至客户端,区块链节点私钥由密钥管理服务器发送至区块链节点的围圈。
步骤308,在所述可信执行环境中调用评分合约以执行所述评分合约中定义的评分代码,根据所述行为信息对所述用户进行评分,并对评分结果进行加密以由所述客户端获取。
在本实施例中,区块链节点在完成对用户的评分后,可先获取客户端对评分交易进行加密所采用的密钥,再通过获取到的密钥对评分结果进行加密,从而保证评分结果的隐私安全。例如,在客户端采用用户的对称密钥对评分交易进行加密的情况下,区块链节点同样可采用该对称密钥对评分结果进行加密以保证评分结果的隐私安全。那么,客户端在获取到评分结果后,采用自身的对称密钥对评分结果进行解密以得到明文形式的评分结果向用户展示。
在本说明书的技术方案中,除上述基于区块链来对用户进行评分之外,还可基于与用户客户端进行业务操作的业务服务端来完成对用户的评分。
请参见图4,图4是一示例性实施例提供的一种业务操作系统的架构示意图。如图4所示,该系统可以包括服务器41、网络42、若干用户客户端,比如手机43、PC44等。
服务器41可以为包含一独立主机的物理服务器,或者该服务器41可以为主机集群承载的虚拟服务器。在运行过程中,服务器41作为业务服务端向各个对接的客户端提供业务服务,通过与各个客户端进行交互以完成相应的业务操作。而在完成业务操作后,由客户端上传用户与该业务操作相关的行为信息,服务端再根据该行为信息对用户进行评分。
手机43和PC44只是用户可以使用的一种类型的电子设备。实际上,用户显然还可以使用诸如下述类型的电子设备:平板设备、笔记本电脑、掌上电脑(PDAs,PersonalDigital Assistants)、可穿戴设备(如智能眼镜、智能手表等)等,本说明书一个或多个实施例并不对此进行限制。在运行过程中,该电子设备可以运行某一应用的客户端侧的程序,以实现该应用的相关业务功能,比如当该电子设备运行移动化团体办公平台的程序时,可以实现为该移动化团体办公平台的客户端。同时,在本系统中,还可由多个客户端共同配合来完成某一业务操作。例如,在业务操作为打车的应用场景中,由乘客客户端451和司机客户端452共同作为本次业务操作的客户端45与服务端41进行交互,来完成一次打车业务。
而对于客户端43-45与服务器41之间进行交互的网络42,可以包括多种类型的有线或无线网络。在一实施例中,该网络42可以包括公共交换电话网络(Public SwitchedTelephone Network,PSTN)和因特网。同时,各个客户端之间也可以通过该网络42进行通讯交互。比如在业务操作为打车的应用场景中,乘客客户端451和司机客户端452之间可通过网络42建立通讯会话。
下面分别按照业务操作系统中各个角色实现的功能对用户评分过程进行说明。
请参见图5,图5是一示例性实施例提供的基于服务端侧的用户评分方法的流程图。如图5所示,该方法应用于业务服务端,可以包括以下步骤:
步骤502,接收客户端发送的针对用户的评分请求,所述评分请求中包含所述用户的行为信息。
在本实施例中,业务服务端向各个对接的客户端提供业务服务,通过与各个客户端进行交互以完成相应的业务操作。例如,业务服务端可提供打车服务、借款服务、生活缴费服务等。而在完成业务操作后,客户端可采集并向业务服务端上传用户与该业务操作相关的行为信息,以使得服务端根据该行为信息对用户进行评分。
步骤504,将所述评分请求读入可信执行环境进行解密以得到所述行为信息。
在本实施例中,客户端通过自身的对称密钥对评分请求进行加密以保证行为信息的隐私安全。那么,业务服务端在接收到评分请求后,获取TEE内维护的对应于客户端的对称密钥,在TEE内通过获取到的对称密钥对评分请求进行解密以得到行为信息。相应的,在根据行为信息对用户进行评分后,同样可采用对应于客户端的对称密钥对评分结果进行加密以由客户端获取。
其中,客户端在生成用于加密的对称密钥后,可向业务服务端发送该对称密钥以供业务服务端在TEE内维护,并用于对后续接收到的评分请求进行解密以获取到明文形式的行为信息。而客户端在向业务服务端发送对称密钥时,可通过业务服务端的公钥对对称密钥进行加密。因此,业务服务端在接收到客户端发送的对称密钥后,在TEE内通过业务服务端的私钥对接收到的对称密钥进行解密,并将解密后的对称密钥保存至TEE内。
步骤506,执行维护在所述可信执行环境中的评分代码,以根据所述行为信息对所述用户进行评分。
在本实施例中,可在业务服务端的TEE内维护用于根据用户的行为信息计算在预设维度上评分的评分代码。例如,预设维度为用户的信用,评分代码的评分逻辑为依据用户行为信息中的还款时间、还款金额、分期次数等参数来计算用户的信用指数。当然,预设维度和相应的评分逻辑可根据实际需求灵活设定,本说明书一个或多个实施例并不对此进行限制。进一步的,业务服务端可根据用户的评分结果对向该用户提供的业务进行调整。仍以对用户信用进行评分为例,当任一用户的信用评分低于预设阈值时,可降低该用户的借款额度,或者停止向该用户提供借款服务。
步骤508,对评分结果进行加密以由所述客户端获取。
相应的,请参见图6,图6是一示例性实施例提供的基于客户端侧的用户评分方法的流程图。如图6所示,该方法应用于客户端,可以包括以下步骤:
步骤602,创建针对用户的评分请求并对所述评分请求进行加密,所述评分请求中包含所述用户的行为信息。
在本实施例中,客户端可通过评分请求来触发服务端的评分操作。例如,当客户端与业务服务端完成针对用户的任一业务操作时,可获取用户针对该任一业务操作的行为信息,从而基于获取到的行为信息创建评分请求,并采用自身的对称密钥对评分请求进行加密。
步骤604,向业务服务端发送所述评分请求,以使得所述业务服务端将所述评分请求读入可信执行环境进行解密得到所述行为信息,并执行维护在所述可信执行环境中的评分代码,根据所述行为信息对所述用户进行评分。
步骤606,接收所述业务服务端返回的评分结果,所述评分结果被所述业务服务端加密。
在本实施例中,步骤602-606的具体过程可参考上述图5所示实施例的内容,在此不再赘述。
由以上评分过程可见,用户的行为信息通过加密进行传输和存储,那么该行为信息对于其他用户来说是不可见的,从而保证了用户的隐私安全。同时,针对行为信息的解密和评分操作均在TEE内执行,那么业务服务端也无法接触明文形式的行为信息和评分结果,进一步提高了用户隐私的安全性。
为了便于理解,下面结合应用场景和附图对本说明书的用户评分方案进行详细说明。
请参见图7,图7是一示例性实施例提供的发放数字信封的公私钥的流程图。如图7所示,该过程可以包括以下步骤:
步骤702,密钥管理服务器71向区块链节点72发送针对SGX的验证请求。
在本实施例中,数字信封的公钥(即区块链节点公钥)和私钥(即区块链节点私钥)可由密钥管理服务器生成,并在区块链节点的SGX通过远程证明后,由密钥管理服务器将私钥发送至区块链节点的围圈,以及将公钥发送至与该区块链节点对接的客户端。
在远程证明的过程中,由颁布SGX的EVM代码的密钥管理服务器71作为挑战方向区块链节点72发起挑战,要求区块链节点72出示验证报告以证明区块链节点72的SGX中运行的EVM代码由密钥管理服务器71颁布,或者与密钥管理服务器71中存储的EVM代码一致。
步骤704,区块链节点72生成验证报告并采用SGX的CPU的私钥签名。
步骤706,区块链节点72向密钥管理服务器71返回验证报告。
步骤708,密钥管理服务器71向IAS73转发验证报告。
以Intel SGX技术为例,区块链节点72在接收到验证请求后,导出SGX的EVM代码以基于该EVM代码生成验证报告。比如,可对EVM代码进行hash计算得到相应的hash值,并将该hash值存储在quote(引用结构体)中,并且采用SGX的CPU的私钥对quote(作为验证报告)签名。
Intel在CPU出厂时向该CPU配置了私钥,但是并未公开与该私钥对应的公钥,而是配置在Intel的IAS(Intel Attestation Server,英特尔认证服务器)中。那么,在采用该CPU的私钥对验证报告签名后,由于没有相应的公钥,密钥管理服务器71在获取到区块链节点72返回的quote后,需要转发给IAS,以由IAS验证签名。
步骤710,IAS73采用SGX的CPU的公钥验证签名。
在本实施例中,若验证通过,则向密钥管理服务器71返回验证结果。例如,可生成AVR报告,该AVR报告中采用“YES”表示验证签名通过,采用“NO”表示验证签名未通过。其中,为了防止AVR报告在传输过程中被截获或修改,除了针对传输的链路采用SSL(SecureSockets Layer,安全套接层)加密之外,IAS还可采用自身的证书对AVR报告进行签名。
步骤712,IAS73向密钥管理服务器71返回验证结果。
步骤714,密钥管理服务器71验证SGX。
在本实施例中,密钥管理服务器71在接收到验证结果后,先验证IAS的签名,验证通过后再获取AVR报告中记录的验证结果。若为YES,则将quote中的hash值与本地的hash值(对本地维护的SGX的EVM代码进行hash计算得到)进行比较。当比较结果一致时,判定远程证明通过。
步骤716A,密钥管理服务器71向与区块链节点对接的客户端74发送数字信封的公钥。
在本实施例中,密钥管理服务器71可对数字信封的公钥进行签名,以使得客户端可验证公钥的真实性。
步骤716B,密钥管理服务器71向区块链节点72加密传输数字信封的私钥。
在本实施例中,密钥管理服务器71和区块链节点72可在步骤702和步骤706的交互过程中协商加密数字信封的私钥的密钥。那么,密钥管理服务器71可通过协商得到的密钥对数字信封的私钥进行加密,以向区块链节点72加密传输数字信封的私钥。
在本实施例中,可将数字信封的私钥传入区块链节点的围圈中。区块链节点可以包含多个围圈,而上述私钥可以被传入这些围圈中的安全围圈;例如,该安全围圈可以为QE(Quoting Enclave)围圈,而非AE(Application Enclave)围圈。
承接于图7所示实施例,请参见图8,图8是一示例性实施例提供的一种用户评分方法的交互图。如图8所示,该交互过程可以包括以下步骤:
步骤802,用户通过使用的客户端创建评分交易。
在本实施例中,评分交易的to字段记录的是评分合约的合约地址,同时还可在评分交易的data字段(或者其他字段)中记录用户的行为信息,该行为信息可由客户端在与业务服务端之间完成业务操作后采集得到,或者可接收其他设备采集到的用户的行为信息。当然,本说明书一个或多个实施例并不对此进行限制。
步骤804,采用数字信封加密评分交易。
在本实施例中,客户端可生成自身使用的对称密钥。在创建评分交易后,可先采用自身使用的对称密钥对评分交易进行加密,再使用数字信封的公钥对该对称密钥进行加密。
步骤806,向区块链节点发起评分交易。
步骤808,区块链节点对评分交易进行共识处理。
在本实施例中,区块链节点在接收到评分交易后,向其他区块链节点发送该评分交易,以使得区块链中的所有区块链节点对评分交易进行共识处理。
步骤810,区块链节点在TEE内解密评分交易以得到行为信息。
在本实施例中,当共识通过后,区块链节点将评分交易读入TEE内进行解密。具体而言,先采用数字信封的私钥对客户端的对称密钥进行解密,再采用解密后的对称密钥对评分交易进行解密,从而获取评分交易的交易内容。
步骤812,区块链节点调用评分合约以根据行为信息对用户进行评分。
在本实施例中,区块链节点根据评分交易的to字段中记录的合约地址调用评分合约以执行评分合约中定义的评分代码,根据评分交易的data字段中记录的行为信息对用户进行评分。
以借款信用评分为例,评分代码的评分逻辑可以设定为在每次还款周期内,若用户实际还款日期超过规定还款日期,则扣2分,否则加1分。当然,评分代码的评分逻辑可根据实际情况灵活设定,本说明书一个或多个实施例并不对此进行限制。
步骤814,区块链节点对评分结果进行加密。
在本实施例中,可采用客户端的对称密钥对评分结果进行加密。
步骤816,客户端获取评分结果。
步骤818,客户端解密评分结果。
在一实施例中,区块链节点在对评分结果(作为智能合约的收据数据)进行加密后,可生成包含该评分结果的事件存储到区块链日志中,那么,用户可使用客户端通过区块链的回调机制来获取该事件,从而查看评分结果。而在获取到评分结果后,用户可通过客户端采用自身使用的对称密钥对评分结果进行解密即可得到明文形式的评分结果。
在另一实施例中,区块链节点在对评分结果进行加密后,可直接向用户使用的客户端返回加密后的评分结果。同理,用户B通过客户端采用自身使用的对称密钥对评分结果进行解密即可得到明文形式的评分结果。
步骤820,客户端展示评分结果。
请参见图9,图9是一示例性实施例提供的另一种用户评分方法的交互图。如图9所示,该交互过程可以包括以下步骤:
步骤902,客户端生成对称密钥。
步骤904,客户端通过业务服务端的公钥对对称密钥进行加密。
步骤906,客户端向业务服务端发送加密后的对称密钥。
步骤908,业务服务端在TEE内通过业务服务端的私钥对对称密钥进行解密。
在本实施例中,通过上述步骤902-908,客户端可向业务服务端共享自身使用的对称密钥,进而业务服务端可在TEE内维护客户端的对称密钥,以用于后续对来自于该客户端的评分请求进行解密。
以TEE采用SGX技术为例,业务服务端的公钥和私钥的获取方式,以及业务服务端维护客户端的对称密钥的方式,可参考上述图7所示的实施例,在此不再赘述。
步骤910,当客户端向业务服务端发起业务操作时,客户端与业务服务端之间进行交互以执行该业务操作。
步骤912,客户端获取用户针对业务操作的行为信息。
以业务操作为借款为例,当客户端与业务服务端之间完成对应于本次借款的还款操作时,客户端可采集本次还款操作的行为信息,例如本次还款操作的还款时间、还款金额、分期次数等;再基于这些行为信息创建评分请求发送至业务服务端。
步骤914,客户端基于行为信息创建评分请求并通过对称密钥进行加密。
步骤916,客户端向业务服务端发送评分请求。
步骤918,业务服务端在TEE内通过客户端的对称密钥对评分请求进行解密。
步骤920,业务服务端根据评分请求中的行为信息对用户进行评分。
在本实施例中,可在业务服务端的TEE内维护用于根据用户的行为信息计算在预设维度上评分的评分代码。承接于上述举例,评分代码的评分逻辑为依据用户行为信息中的还款时间、还款金额、分期次数等参数来计算用户的信用指数。进一步的,业务服务端可根据用户的评分结果对向该用户提供的业务进行调整。仍以对用户信用进行评分为例,当任一用户的信用评分低于预设阈值时,可降低该用户的借款额度,或者停止向该用户提供借款服务等。
步骤922,业务服务端通过客户端的对称密钥对评分结果进行加密。
步骤924,业务服务端向客户端返回评分结果。
步骤926,客户端解密评分结果。
步骤928,客户端展示评分结果。
由以上评分过程可见,用户的行为信息通过加密进行传输和存储,那么该行为信息对于其他用户来说是不可见的,从而保证了用户的隐私安全。同时,针对行为信息的解密和评分操作均在TEE内执行,那么业务服务端也无法接触明文形式的行为信息和评分结果,进一步提高了用户隐私的安全性。
与上述方法实施例相对应,本说明书还提供了一种基于区块链节点侧的用户评分装置的实施例。
本说明书的用户评分装置的实施例可以应用在电子设备上。装置实施例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在电子设备的处理器将非易失性存储器中对应的计算机程序指令读取到内存中运行形成的。
从硬件层面而言,请参考图10,图10是一示例性实施例提供的一种设备的示意结构图。如图10所示,在硬件层面,该设备包括处理器1002、内部总线1004、网络接口1006、内存1008以及非易失性存储器1010,当然还可能包括其他业务所需要的硬件。处理器1002从非易失性存储器1010中读取对应的计算机程序到内存1008中然后运行,在逻辑层面上形成用户评分装置。当然,除了软件实现方式之外,本说明书一个或多个实施例并不排除其他实现方式,比如逻辑器件抑或软硬件结合的方式等等,也就是说以下处理流程的执行主体并不限定于各个逻辑单元,也可以是硬件或逻辑器件。
请参考图11,在软件实施方式中,该用户评分装置应用于区块链节点,可以包括:
接收单元1101,接收客户端发起的针对用户的评分交易,所述评分交易中包含所述用户的行为信息;
发送单元1102,向区块链中的其他区块链节点发送所述评分交易,以使得区块链中的区块链节点对所述评分交易进行共识处理;
解密单元1103,当共识通过时,将所述评分交易读入可信执行环境进行解密以得到所述行为信息;
评分单元1104,在所述可信执行环境中调用评分合约以执行所述评分合约中定义的评分代码,根据所述行为信息对所述用户进行评分,并对评分结果进行加密以由所述客户端获取。
可选的,所述评分交易被所述客户端通过所述用户的对称密钥进行加密;所述解密单元1103具体用于:
获取对应于所述用户的对称密钥;
在所述可信执行环境内通过获取到的对称密钥对所述评分交易进行解密以得到所述行为信息。
可选的,用于加密所述评分交易的对称密钥被采用区块链节点公钥加密;所述解密单元1103进一步用于:
在所述可信执行环境内通过区块链节点私钥,对用于加密所述评分交易的对称密钥进行解密以得到解密后的对称密钥。
可选的,所述可信执行环境通过SGX架构建立,在所述可信执行环境通过密钥管理服务器发起的远程证明后,所述区块链节点公钥由所述密钥管理服务器发送至所述客户端,所述区块链节点私钥由所述密钥管理服务器发送至所述区块链节点的围圈。
可选的,所述评分单元1104具体用于:
获取所述客户端对所述评分交易进行加密所采用的密钥;
通过获取到的密钥对所述评分结果进行加密。
与上述方法实施例相对应,本说明书还提供了一种基于业务服务端侧的用户评分装置的实施例。
本说明书的用户评分装置的实施例可以应用在电子设备上。装置实施例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在电子设备的处理器将非易失性存储器中对应的计算机程序指令读取到内存中运行形成的。
从硬件层面而言,请参考图12,图12是一示例性实施例提供的一种设备的示意结构图。如图12所示,在硬件层面,该设备包括处理器1202、内部总线1204、网络接口1206、内存1208以及非易失性存储器1210,当然还可能包括其他业务所需要的硬件。处理器1202从非易失性存储器1210中读取对应的计算机程序到内存1208中然后运行,在逻辑层面上形成用户评分装置。当然,除了软件实现方式之外,本说明书一个或多个实施例并不排除其他实现方式,比如逻辑器件抑或软硬件结合的方式等等,也就是说以下处理流程的执行主体并不限定于各个逻辑单元,也可以是硬件或逻辑器件。
请参考图13,在软件实施方式中,该用户评分装置应用于业务服务端,可以包括:
接收单元1301,接收客户端发送的针对用户的评分请求,所述评分请求中包含所述用户的行为信息;
解密单元1302,将所述评分请求读入可信执行环境进行解密以得到所述行为信息;
评分单元1303,执行维护在所述可信执行环境中的评分代码,以根据所述行为信息对所述用户进行评分;
加密单元1304,对评分结果进行加密以由所述客户端获取。
可选的,所述评分请求被所述客户端通过自身的对称密钥进行加密;
所述解密单元1302具体用于:获取所述可信执行环境内维护的对应于所述客户端的对称密钥,在所述可信执行环境内通过获取到的对称密钥对所述评分请求进行解密以得到所述行为信息;
所述加密单元1304具体用于:采用对应于所述客户端的对称密钥对评分结果进行加密以由所述客户端获取。
可选的,通过以下方式在所述可信执行环境内维护对应于所述客户端的对称密钥:
接收所述客户端发送的对应于所述客户端的对称密钥,所述对称密钥被采用所述业务服务端的公钥加密;
在所述可信执行环境内通过所述业务服务端的私钥,对所述对称密钥进行解密并将解密后的对称密钥保存至所述可信执行环境内。
与上述方法实施例相对应,本说明书还提供了一种基于客户端侧的用户评分装置的实施例。
本说明书的用户评分装置的实施例可以应用在电子设备上。装置实施例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在电子设备的处理器将非易失性存储器中对应的计算机程序指令读取到内存中运行形成的。
从硬件层面而言,请参考图14,图14是一示例性实施例提供的一种设备的示意结构图。如图14所示,在硬件层面,该设备包括处理器1402、内部总线1404、网络接口1406、内存1408以及非易失性存储器1410,当然还可能包括其他业务所需要的硬件。处理器1402从非易失性存储器1410中读取对应的计算机程序到内存1408中然后运行,在逻辑层面上形成用户评分装置。当然,除了软件实现方式之外,本说明书一个或多个实施例并不排除其他实现方式,比如逻辑器件抑或软硬件结合的方式等等,也就是说以下处理流程的执行主体并不限定于各个逻辑单元,也可以是硬件或逻辑器件。
请参考图15,在软件实施方式中,该用户评分装置应用于客户端,可以包括:
创建单元1501,创建针对用户的评分请求并对所述评分请求进行加密,所述评分请求中包含所述用户的行为信息;
发送单元1502,向业务服务端发送所述评分请求,以使得所述业务服务端将所述评分请求读入可信执行环境进行解密得到所述行为信息,并执行维护在所述可信执行环境中的评分代码,根据所述行为信息对所述用户进行评分;
接收单元1503,接收所述业务服务端返回的评分结果,所述评分结果被所述业务服务端加密。
可选的,所述创建单元1501具体用于:
当与所述业务服务端完成针对所述用户的任一业务操作时,获取所述用户针对所述任一业务操作的行为信息;
基于获取到的行为信息创建所述评分请求,并采用自身的对称密钥对所述评分请求进行加密。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本说明书时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
本说明书可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本说明书,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。在一个典型的配置中,计算机包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带、磁盘存储、量子存储器、基于石墨烯的存储介质或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
在本说明书一个或多个实施例使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本说明书一个或多个实施例。在本说明书一个或多个实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本说明书一个或多个实施例可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本说明书一个或多个实施例范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
以上所述仅为本说明书一个或多个实施例的较佳实施例而已,并不用以限制本说明书一个或多个实施例,凡在本说明书一个或多个实施例的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本说明书一个或多个实施例保护的范围之内。
Claims (24)
1.一种用户评分方法,应用于区块链节点;所述方法包括:
接收客户端发起的针对用户的评分交易,所述评分交易中包含所述用户的行为信息;
向区块链中的其他区块链节点发送所述评分交易,以使得区块链中的区块链节点对所述评分交易进行共识处理;
当共识通过时,将所述评分交易读入可信执行环境进行解密以得到所述行为信息;
在所述可信执行环境中调用评分合约以执行所述评分合约中定义的评分代码,根据所述行为信息对所述用户进行评分,获取所述客户端对所述评分交易进行加密所采用的密钥,并通过获取到的密钥对评分结果进行加密以由所述客户端获取。
2.根据权利要求1所述的方法,所述评分交易被所述客户端通过所述用户的对称密钥进行加密;所述将所述评分交易读入可信执行环境进行解密以得到所述行为信息,包括:
获取对应于所述用户的对称密钥;
在所述可信执行环境内通过获取到的对称密钥对所述评分交易进行解密以得到所述行为信息。
3.根据权利要求2所述的方法,用于加密所述评分交易的对称密钥被采用区块链节点公钥加密;所述获取对应于所述用户的对称密钥,包括:
在所述可信执行环境内通过区块链节点私钥,对用于加密所述评分交易的对称密钥进行解密以得到解密后的对称密钥。
4.根据权利要求3所述的方法,所述可信执行环境通过SGX架构建立,在所述可信执行环境通过密钥管理服务器发起的远程证明后,所述区块链节点公钥由所述密钥管理服务器发送至所述客户端,所述区块链节点私钥由所述密钥管理服务器发送至所述区块链节点的围圈。
5.一种用户评分方法,应用于业务服务端;所述方法包括:
接收客户端发送的针对用户的评分请求,所述评分请求中包含所述用户的行为信息;
将所述评分请求读入可信执行环境进行解密以得到所述行为信息;
执行维护在所述可信执行环境中的评分代码,以根据所述行为信息对所述用户进行评分;
获取所述客户端对所述评分请求进行加密所采用的密钥,并通过获取到的密钥对评分结果进行加密以由所述客户端获取。
6.根据权利要求5所述的方法,所述评分请求被所述客户端通过自身的对称密钥进行加密;
所述将所述评分请求读入可信执行环境进行解密以得到所述行为信息,包括:获取所述可信执行环境内维护的对应于所述客户端的对称密钥,在所述可信执行环境内通过获取到的对称密钥对所述评分请求进行解密以得到所述行为信息;
所述对评分结果进行加密以由所述客户端获取,包括:采用对应于所述客户端的对称密钥对评分结果进行加密以由所述客户端获取。
7.根据权利要求6所述的方法,通过以下方式在所述可信执行环境内维护对应于所述客户端的对称密钥:
接收所述客户端发送的对应于所述客户端的对称密钥,所述对称密钥被采用所述业务服务端的公钥加密;
在所述可信执行环境内通过所述业务服务端的私钥,对所述对称密钥进行解密并将解密后的对称密钥保存至所述可信执行环境内。
8.一种用户评分方法,应用于客户端;所述方法包括:
创建针对用户的评分请求并对所述评分请求进行加密,所述评分请求中包含所述用户的行为信息;
向业务服务端发送所述评分请求,以使得所述业务服务端将所述评分请求读入可信执行环境进行解密得到所述行为信息,并执行维护在所述可信执行环境中的评分代码,根据所述行为信息对所述用户进行评分;
接收所述业务服务端返回的评分结果,所述评分结果被所述业务服务端通过所述客户端对所述评分请求进行加密所采用的密钥进行加密。
9.根据权利要求8所述的方法,所述创建针对用户的评分请求并对所述评分请求进行加密,包括:
当与所述业务服务端完成针对所述用户的任一业务操作时,获取所述用户针对所述任一业务操作的行为信息;
基于获取到的行为信息创建所述评分请求,并采用自身的对称密钥对所述评分请求进行加密。
10.一种用户评分装置,应用于区块链节点;所述装置包括:
接收单元,接收客户端发起的针对用户的评分交易,所述评分交易中包含所述用户的行为信息;
发送单元,向区块链中的其他区块链节点发送所述评分交易,以使得区块链中的区块链节点对所述评分交易进行共识处理;
解密单元,当共识通过时,将所述评分交易读入可信执行环境进行解密以得到所述行为信息;
评分单元,在所述可信执行环境中调用评分合约以执行所述评分合约中定义的评分代码,根据所述行为信息对所述用户进行评分,获取所述客户端对所述评分交易进行加密所采用的密钥,并通过获取到的密钥对评分结果进行加密以由所述客户端获取。
11.根据权利要求10所述的装置,所述评分交易被所述客户端通过所述用户的对称密钥进行加密;所述解密单元具体用于:
获取对应于所述用户的对称密钥;
在所述可信执行环境内通过获取到的对称密钥对所述评分交易进行解密以得到所述行为信息。
12.根据权利要求11所述的装置,用于加密所述评分交易的对称密钥被采用区块链节点公钥加密;所述解密单元进一步用于:
在所述可信执行环境内通过区块链节点私钥,对用于加密所述评分交易的对称密钥进行解密以得到解密后的对称密钥。
13.根据权利要求12所述的装置,所述可信执行环境通过SGX架构建立,在所述可信执行环境通过密钥管理服务器发起的远程证明后,所述区块链节点公钥由所述密钥管理服务器发送至所述客户端,所述区块链节点私钥由所述密钥管理服务器发送至所述区块链节点的围圈。
14.一种用户评分装置,应用于业务服务端;所述装置包括:
接收单元,接收客户端发送的针对用户的评分请求,所述评分请求中包含所述用户的行为信息;
解密单元,将所述评分请求读入可信执行环境进行解密以得到所述行为信息;
评分单元,执行维护在所述可信执行环境中的评分代码,以根据所述行为信息对所述用户进行评分;
加密单元,获取所述客户端对所述评分请求进行加密所采用的密钥,并通过获取到的密钥对评分结果进行加密以由所述客户端获取。
15.根据权利要求14所述的装置,所述评分请求被所述客户端通过自身的对称密钥进行加密;
所述解密单元具体用于:获取所述可信执行环境内维护的对应于所述客户端的对称密钥,在所述可信执行环境内通过获取到的对称密钥对所述评分请求进行解密以得到所述行为信息;
所述加密单元具体用于:采用对应于所述客户端的对称密钥对评分结果进行加密以由所述客户端获取。
16.根据权利要求15所述的装置,通过以下方式在所述可信执行环境内维护对应于所述客户端的对称密钥:
接收所述客户端发送的对应于所述客户端的对称密钥,所述对称密钥被采用所述业务服务端的公钥加密;
在所述可信执行环境内通过所述业务服务端的私钥,对所述对称密钥进行解密并将解密后的对称密钥保存至所述可信执行环境内。
17.一种用户评分装置,应用于客户端;所述装置包括:
创建单元,创建针对用户的评分请求并对所述评分请求进行加密,所述评分请求中包含所述用户的行为信息;
发送单元,向业务服务端发送所述评分请求,以使得所述业务服务端将所述评分请求读入可信执行环境进行解密得到所述行为信息,并执行维护在所述可信执行环境中的评分代码,根据所述行为信息对所述用户进行评分;
接收单元,接收所述业务服务端返回的评分结果,所述评分结果被所述业务服务端通过所述客户端对所述评分请求进行加密所采用的密钥进行加密。
18.根据权利要求17所述的装置,所述创建单元具体用于:
当与所述业务服务端完成针对所述用户的任一业务操作时,获取所述用户针对所述任一业务操作的行为信息;
基于获取到的行为信息创建所述评分请求,并采用自身的对称密钥对所述评分请求进行加密。
19.一种电子设备,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器通过运行所述可执行指令以实现如权利要求1-4中任一项所述的方法。
20.一种电子设备,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器通过运行所述可执行指令以实现如权利要求5-7中任一项所述的方法。
21.一种电子设备,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器通过运行所述可执行指令以实现如权利要求8或9所述的方法。
22.一种计算机可读存储介质,其上存储有计算机指令,该指令被处理器执行时实现如权利要求1-4中任一项所述方法的步骤。
23.一种计算机可读存储介质,其上存储有计算机指令,该指令被处理器执行时实现如权利要求5-7中任一项所述方法的步骤。
24.一种计算机可读存储介质,其上存储有计算机指令,该指令被处理器执行时实现如权利要求8或9所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911204790.4A CN111047443B (zh) | 2019-11-29 | 2019-11-29 | 用户评分方法及装置、电子设备、计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911204790.4A CN111047443B (zh) | 2019-11-29 | 2019-11-29 | 用户评分方法及装置、电子设备、计算机可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111047443A CN111047443A (zh) | 2020-04-21 |
CN111047443B true CN111047443B (zh) | 2021-01-12 |
Family
ID=70234177
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911204790.4A Active CN111047443B (zh) | 2019-11-29 | 2019-11-29 | 用户评分方法及装置、电子设备、计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111047443B (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111510462B (zh) * | 2020-04-28 | 2022-07-08 | 拉扎斯网络科技(上海)有限公司 | 通信方法、系统、装置、电子设备和可读存储介质 |
CN111681007B (zh) * | 2020-05-28 | 2024-04-12 | 中国工商银行股份有限公司 | 用于区块链的信用评分方法、交易方法以及相关装置 |
CN111475521A (zh) * | 2020-06-24 | 2020-07-31 | 支付宝(杭州)信息技术有限公司 | 基于区块链的货物管理方法及装置和电子设备 |
CN112351026B (zh) * | 2020-11-03 | 2022-04-22 | 平安科技(深圳)有限公司 | 区块链网络节点权限分配方法及装置、计算机设备、介质 |
CN112507369B (zh) * | 2021-01-29 | 2021-05-25 | 腾讯科技(深圳)有限公司 | 基于区块链的业务处理方法、装置、可读介质及电子设备 |
CN112785202A (zh) * | 2021-02-20 | 2021-05-11 | 支付宝(杭州)信息技术有限公司 | 资产管理方法、装置及系统 |
CN113569268B (zh) * | 2021-09-23 | 2021-12-17 | 江苏考阅科技有限公司 | 基于有线网供电供网的评分方法、系统及存储介质 |
CN115549906B (zh) * | 2022-11-24 | 2023-04-11 | 富算科技(上海)有限公司 | 基于区块链的隐私计算方法、系统、设备和介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106651346A (zh) * | 2016-11-28 | 2017-05-10 | 上海凯岸信息科技有限公司 | 基于区块链的征信数据共享与交易系统 |
CN109034795A (zh) * | 2018-06-11 | 2018-12-18 | 广东易上云计算机服务股份有限公司 | 一种基于区块链的信用易货平台 |
CN109493020A (zh) * | 2018-11-08 | 2019-03-19 | 众安信息技术服务有限公司 | 基于区块链的安全交易方法和装置 |
CN109615529A (zh) * | 2019-02-25 | 2019-04-12 | 中国农业银行股份有限公司 | 一种基于区块链的征信系统 |
CN110020855A (zh) * | 2019-01-31 | 2019-07-16 | 阿里巴巴集团控股有限公司 | 区块链中实现隐私保护的方法、节点、存储介质 |
CN110245506A (zh) * | 2019-05-30 | 2019-09-17 | 阿里巴巴集团控股有限公司 | 基于区块链的智能合约管理方法及装置、电子设备 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106454528A (zh) * | 2015-08-07 | 2017-02-22 | 阿里巴巴集团控股有限公司 | 基于可信执行环境的业务处理方法和客户端 |
CN107493162A (zh) * | 2017-07-25 | 2017-12-19 | 中国联合网络通信集团有限公司 | 区块链节点的实现方法及装置 |
CN108200028B (zh) * | 2017-12-27 | 2020-06-16 | 飞天诚信科技股份有限公司 | 一种区块链安全获取服务器可信数据的方法及系统 |
CN110580262B (zh) * | 2019-11-08 | 2020-03-10 | 支付宝(杭州)信息技术有限公司 | 基于智能合约的隐私数据查询方法及装置 |
-
2019
- 2019-11-29 CN CN201911204790.4A patent/CN111047443B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106651346A (zh) * | 2016-11-28 | 2017-05-10 | 上海凯岸信息科技有限公司 | 基于区块链的征信数据共享与交易系统 |
CN109034795A (zh) * | 2018-06-11 | 2018-12-18 | 广东易上云计算机服务股份有限公司 | 一种基于区块链的信用易货平台 |
CN109493020A (zh) * | 2018-11-08 | 2019-03-19 | 众安信息技术服务有限公司 | 基于区块链的安全交易方法和装置 |
CN110020855A (zh) * | 2019-01-31 | 2019-07-16 | 阿里巴巴集团控股有限公司 | 区块链中实现隐私保护的方法、节点、存储介质 |
CN109615529A (zh) * | 2019-02-25 | 2019-04-12 | 中国农业银行股份有限公司 | 一种基于区块链的征信系统 |
CN110245506A (zh) * | 2019-05-30 | 2019-09-17 | 阿里巴巴集团控股有限公司 | 基于区块链的智能合约管理方法及装置、电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN111047443A (zh) | 2020-04-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111047443B (zh) | 用户评分方法及装置、电子设备、计算机可读存储介质 | |
CN110457875B (zh) | 基于区块链的数据授权方法及装置 | |
CN110580414B (zh) | 基于区块链账户的隐私数据查询方法及装置 | |
CN110473094B (zh) | 基于区块链的数据授权方法及装置 | |
CN110580418B (zh) | 基于区块链账户的隐私数据查询方法及装置 | |
CN110245506B (zh) | 基于区块链的智能合约管理方法及装置、电子设备 | |
CN110580262B (zh) | 基于智能合约的隐私数据查询方法及装置 | |
CN110580413B (zh) | 基于链下授权的隐私数据查询方法及装置 | |
CN110766550B (zh) | 基于区块链的资产查询方法及装置、电子设备 | |
CN113221169B (zh) | 区块链隐私数据的查询方法及装置 | |
US20200169407A1 (en) | Blockchain-based data authorization method and apparatus | |
CN110580412B (zh) | 基于链代码的权限查询配置方法及装置 | |
CN110580245B (zh) | 隐私数据的共享方法及装置 | |
CN110032884B (zh) | 区块链中实现隐私保护的方法及节点、存储介质 | |
CN110580411B (zh) | 基于智能合约的权限查询配置方法及装置 | |
CN110580417B (zh) | 基于智能合约的隐私数据查询方法及装置 | |
CN110245942B (zh) | 结合用户类型和判断条件的收据存储方法和节点 | |
CN110020856B (zh) | 区块链中实现混合交易的方法、节点和存储介质 | |
CN110245947B (zh) | 结合交易与用户类型的条件限制的收据存储方法和节点 | |
CN111639932B (zh) | 一种基于区块链的离线资源转移方法及装置 | |
CN111047321A (zh) | 业务处理方法及装置、电子设备、存储介质 | |
CN111178840A (zh) | 业务处理方法及装置、系统、电子设备、存储介质 | |
CN112765610A (zh) | 交易调度方法及装置 | |
CN114331437A (zh) | 一种基于区块链的数字印章使用方法及装置 | |
TWI684932B (zh) | 使用區塊鏈技術之代幣交易系統及其方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
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 |