CN115422588A - 一种风险数据共享方法、系统、可信单元和服务器 - Google Patents
一种风险数据共享方法、系统、可信单元和服务器 Download PDFInfo
- Publication number
- CN115422588A CN115422588A CN202211063969.4A CN202211063969A CN115422588A CN 115422588 A CN115422588 A CN 115422588A CN 202211063969 A CN202211063969 A CN 202211063969A CN 115422588 A CN115422588 A CN 115422588A
- Authority
- CN
- China
- Prior art keywords
- data
- risk
- ciphertext
- user
- server
- 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.)
- Pending
Links
Images
Classifications
-
- 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/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
- G06F21/6245—Protecting personal data, e.g. for financial or medical purposes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/17—Details of further file system functions
- G06F16/176—Support for shared access to files; File sharing support
-
- 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
-
- 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/606—Protecting data by securing the transmission between two devices or processes
-
- 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/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
-
- 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/02—Banking, e.g. interest calculation or account maintenance
-
- 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
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/20—Network architectures or network communication protocols for network security for managing network security; network security policies in general
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Bioethics (AREA)
- Software Systems (AREA)
- Databases & Information Systems (AREA)
- Business, Economics & Management (AREA)
- Signal Processing (AREA)
- Accounting & Taxation (AREA)
- Computing Systems (AREA)
- Computer Networks & Wireless Communication (AREA)
- Finance (AREA)
- Development Economics (AREA)
- Medical Informatics (AREA)
- Data Mining & Analysis (AREA)
- Economics (AREA)
- Marketing (AREA)
- Strategic Management (AREA)
- Technology Law (AREA)
- General Business, Economics & Management (AREA)
- Storage Device Security (AREA)
Abstract
一种风险数据共享方法、系统、可信单元和服务器,所述方法包括:多个机构设备将密文风险数据发送给服务器;用于进行隐私数据处理的可信单元通过服务器获取多个机构的多个密文风险数据和公钥,使用TEE的私钥对多个密文风险数据分别解密,得到多个风险数据;生成与第一机构对应的第一数据,第一数据中包括所述第一机构的第一用户的用户标识和所述第一用户的第一风险标签集合;使用第一机构的公钥对第一数据加密,得到第一密文数据;将第一密文数据提供给服务器;服务器将第一密文数据发送给第一机构设备;第一机构设备使用第一机构的私钥对第一密文数据解密,得到第一用户的第一风险标签集合。
Description
技术领域
本说明书实施例属于计算机技术领域,尤其涉及一种风险数据共享方法、系统、可信单元和服务器。
背景技术
目前,监管部门对于涉及重大交易的机构通常要求其履行反洗钱的义务。即对大额交易和可疑交易的交易数据进行分析和报送。然而,机构之间的信息相互隔离形成信息孤岛,机构在信息不充分的情况下难以识别可疑用户。多个机构如何在共享风险信息的同时保护用户的隐私数据是目前反洗钱方案中需要解决的问题。
发明内容
本发明的目的在于提供一种风险数据共享方案,结合服务器和可信单元在可信单元中处理风险数据以实现多个机构之间的风险数据共享,节省了可信单元的计算和存储资源。
本说明书第一方面提供一种风险数据共享方法,包括:
多个机构设备将其所属机构的密文风险数据发送给服务器,所述服务器中包括用于进行隐私数据处理的可信单元,其中,所述多个机构设备中包括第一机构设备,所述第一机构设备属于第一机构;
所述可信单元从所述服务器获取所述多个机构的多个密文风险数据,对所述多个密文风险数据分别解密,得到多个风险数据,所述风险数据中包括该风险数据对应的机构中的多个用户的用户标识和风险标签;生成与所述第一机构对应的第一数据,所述第一数据中包括所述第一机构中的第一用户的用户标识和第一风险标签集合,所述第一风险标签集合从所述多个风险数据中获取;对所述第一数据加密,得到第一密文数据;将所述第一密文数据提供给所述服务器;
所述服务器将所述第一密文数据提供给所述第一机构设备;
所述第一机构设备对所述第一密文数据解密,得到所述第一用户的第一风险标签集合。
本说明书第二方面提供一种风险数据共享方法,由服务器中的可信单元执行,包括:
通过服务器获取多个机构的多个密文风险数据,所述多个机构中包括第一机构;
对所述多个密文风险数据分别解密,得到多个风险数据,所述风险数据中包括该风险数据对应的机构中的多个用户的用户标识和风险标签;
生成与所述第一机构对应的第一数据,所述第一数据中包括所述第一机构中的第一用户的用户标识和第一风险标签集合,所述第一风险标签集合从所述多个风险数据中获取;
对所述第一数据加密,得到第一密文数据;
将所述第一密文数据提供给所述服务器。
本说明书第三方面提供一种风险数据共享方法,由服务器执行,所述服务器中包括可信单元,所述方法包括:
从多个机构设备接收多个机构的密文风险数据,其中,所述多个机构设备中包括第一机构设备,所述第一机构设备属于第一机构;
将所述多个密文风险数据提供给所述可信单元,所述密文风险数据通过对风险数据加密得到,所述风险数据中包括该风险数据对应的机构中的多个用户的用户标识和风险标签;
从所述可信单元接收第一密文数据,所述第一密文数据通过对第一数据加密获得,所述第一数据中包括所述第一机构中的第一用户的用户标识和第一风险标签集合,所述第一风险标签集合从所述多个风险数据中获取;
将所述第一密文数据提供给所述第一机构设备。
本说明书第四方面提供一种风险数据共享系统,包括多个机构设备和服务器,所述服务器中包括用于进行隐私数据处理的可信单元,
多个机构设备用于将其所属机构的密文风险数据发送给服务器,其中,所述多个机构设备中包括第一机构设备,所述第一机构设备属于第一机构;
所述可信单元用于:从所述服务器获取所述多个机构的多个密文风险数据,对所述多个密文风险数据分别解密,得到多个风险数据,所述风险数据中包括该风险数据对应的机构中的多个用户的用户标识和风险标签;生成与所述第一机构对应的第一数据,所述第一数据中包括所述第一机构中的第一用户的用户标识和第一风险标签集合,所述第一风险标签集合从所述多个风险数据中获取;对所述第一数据加密,得到第一密文数据;将所述第一密文数据提供给所述服务器;
所述服务器用于将所述第一密文数据提供给所述第一机构设备;
所述第一机构设备用于对所述第一密文数据解密,得到所述第一用户的第一风险标签集合。
本说明书第五方面提供一种可信单元,所述可信单元部署于服务器中,包括:
获取单元,用于通过服务器获取多个机构的多个密文风险数据,所述多个机构中包括第一机构;
解密单元,用于对所述多个密文风险数据分别解密,得到多个风险数据,所述风险数据中包括该风险数据对应的机构中的多个用户的用户标识和风险标签;
生成单元,用于生成与所述第一机构对应的第一数据,所述第一数据中包括所述第一机构中的第一用户的用户标识和第一风险标签集合,所述第一风险标签集合从所述多个风险数据中获取;
加密单元,用于对所述第一数据加密,得到第一密文数据;
提供单元,用于将所述第一密文数据提供给所述服务器。
本说明书第六方面提供一种服务器,所述服务器中包括可信单元,所述服务器包括:
接收单元,用于从多个机构设备接收多个机构的密文风险数据,其中,所述多个机构设备中包括第一机构设备,所述第一机构设备属于第一机构;
提供单元,用于将所述多个密文风险数据提供给所述可信单元,所述密文风险数据通过对风险数据加密得到,所述风险数据中包括该风险数据对应的机构中的多个用户的用户标识和风险标签;
所述接收单元还用于从所述可信单元接收第一密文数据,所述第一密文数据通过对第一数据加密获得,所述第一数据中包括所述第一机构中的第一用户的用户标识和第一风险标签集合,所述第一风险标签集合从所述多个风险数据中获取;
所述提供单元还用于将所述第一密文数据提供给所述第一机构设备。
本说明书第七方面提供一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行第二方面或第三方面所述的方法。
本说明书第八方面提供一种计算设备,包括存储器和处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现第二方面或第三方面所述的方法。
在本说明书实施例中,通过结合服务器和可信单元执行风险数据共享方法,通过在TEE外部对风险数据进行脱敏、加密等处理并发送给服务器,由服务器提供给TEE,从而在TEE中对风险数据进行处理以实现多个机构之间的风险数据共享,保护了用户隐私,同时TEE只需要与服务器进行交互,不需要与各个机构设备进行交互,TEE中只需要设置较简单的应用程序,同时TEE中不需要存储风险数据,节省了TEE的计算和存储资源。
附图说明
为了更清楚地说明本说明书实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本说明书实施例中的系统示意图;
图2为本说明书实施例中机构设备侧生成密文风险数据文件的方法流程图;
图3为本说明书实施例中服务器验证机构身份的方法流程图;
图4是本说明书一实施例中风险数据共享方法流程图;
图5为本说明书实施例中的生成风险并集文件的过程示意图;
图6为本说明书实施例中的一种可信单元的架构图;
图7为本说明书实施例中的一种服务器的架构图。
具体实施方式
为了使本技术领域的人员更好地理解本说明书中的技术方案,下面将结合本说明书实施例中的附图,对本说明书实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本说明书一部分实施例,而不是全部的实施例。基于本说明书中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本说明书保护的范围。
数据共享经常是机构处理业务的需求。单一机构往往无法获取足够的信息而无法处理业务,这就存在从其他机构获取信息的需求。例如,各国在反洗钱合规履职的要求中,很多都要求各个金融机构提供反洗钱审核结果。目前,很多国家央行、很多大的金融机构都有在反洗钱领域利用区块链来提升效率和准确性并满足监管的尝试。同时,数据作为一种资源,其流动性和可获取性是很多数据应用和产业发展的基础,但数据交换和共享过程中的隐私保护一直是产业发展的一大挑战。下面仍以上述的反洗钱为例加以说明。
反洗钱(Anti-Money Laundering,AML)是指预防通过各种方式掩饰、隐瞒毒品犯罪、黑社会性质的组织犯罪、恐怖活动犯罪、走私犯罪、贪污贿赂犯罪、破坏金融管理秩序犯罪等犯罪所得及其收益的来源和性质的洗钱活动的措施。常见的洗钱途径广泛涉及银行、保险、证券、房地产等各种领域。大多数反洗钱工作都包括三个核心的事项:
1、客户身份识别制度。反洗钱义务主体在与客户建立业务关系或者与其进行交易时,应当根据真实有效地身份证件,核实和记录其客户的身份,并在业务关系存续期间及时更新客户的身份信息资料。
2、大额和可疑交易报告(Suspicious Transaction Report,STR)制度。非法资金流动一般具有数额巨大、交易异常等特点,因此,法律规定了大额和可疑交易报告制度,要求金融机构对数额达到一定标准的交易和缺乏合法目的的异常交易应当及时向反洗钱行政主管部门报告,以作为追查违法犯罪行为的线索。
3、客户身份资料和交易记录保存制度客户身份资料和交易记录保存,是指金融机构依法采取必要措施将客户身份资料和交易信息保存一定期限,可以为追查违法犯罪行为提供证据支持。
客户身份识别制度也就是通常所说的“了解你的客户”(Know Your Customer,KYC),指的是获取客户相关识别信息,包括与客户建立业务时了解客户的身份、了解交易的目的、了解资金的来源和去向、以及了解客户的长经营活动和金融交易情况等,是反洗钱的基础。
不同金融机构都有审查可疑交易的义务。但是,不同金融机构之间具有的同一用户相关的交易的信息和该用户的信息往往是不同的,这样,不同金融机构对同一用户进行可疑交易分析后标引的风险标签也可能是不同的,该风险标签例如包括预设的多个标签,每个标签用于指示用户的洗钱风险等级、用户的违法行为类型、或者用户其他洗钱风险相关的信息等。一个金融机构如果要更精确的给用户标引风险标签,一个较好的方式是能够获取另一个(或者更多的)金融机构对该同一用户标引的风险标签。因此,就产生了在不同金融机构间共享同一用户的风险标签的需求。
以客户洗钱风险等级为例,不同金融机构对同一用户进行可疑交易分析后标引的洗钱风险等级也可能是不同的,例如甲机构对用户U1标引的洗钱风险是高风险,而乙机构对同一用户U1标引的洗钱风险是中风险。一个金融机构如果要更精确的给用户标引洗钱风险等级标签,一个较好的方式是能够获取另一个(或者更多的)金融机构对该同一用户标引的洗钱风险等级标签。因此,就产生了在不同金融机构间共享同一用户的洗钱风险等级标签的需求。
图1为本说明书实施例中的系统示意图。如图1所示,机构设备100、机构设备200和机构设备300可以分别为例如机构A、机构B和机构C的计算设备,所述机构A、机构B和机构C例如可以为金融机构、保险机构、交易机构等机构中的任一机构。可以理解,图中示出三个机构设备作为示例,在实际中可包括其他数目的多个机构设备。机构设备中安装有反洗钱平台的客户端,各个机构设备可以直接接收用户的信息,从而客户端基于这些用户信息完成一定的处理工作,如上述审查可疑交易,从而可获得各个用户的风险标签。
以风险标签具体为洗钱风险等级为例,机构A和机构B可以分别基于自身的反洗钱审核能力对用户标引洗钱风险等级。从而,机构A和机构B分别对用户U1标引的洗钱风险等级可能不相同。例如,机构A为用户U1标引的洗钱风险等级标签为[高风险等级],机构B为用户U1标引的洗钱风险等级标签为[中风险等级]。为了获得更为准确的洗钱风险等级,多个机构之间可以通过反洗钱服务器(下文简称为服务器)400共享同一用户的洗钱风险等级标签。然而,在该风险数据共享的过程中,需要满足多个合规要求。例如,在风险数据共享中提供风险数据的机构不能获知查询其提供的数据的机构、查询风险数据的机构不能获知由哪个机构提供了风险数据、以及服务器不能获知机构查询哪个机构的数据、以及查询到的明文数据。这些合规要求增加了风险数据的共享及查询的难度。
服务器400中包括可信单元,所述可信单元可以为任何可以进行隐私数据或机密数据处理、保护数据不泄露的计算单元,所述可信单元例如包括可信执行环境(TrustedExecution Environment,TEE)、可信机构中的计算设备等。图1中示出TEE40作为可信单元的示例,下文以TEE40作为可信单元的示例进行描述。各个机构设备可将经脱敏和加密的风险数据发送给服务器400,服务器400将各个机构的风险数据存储到本地或者文件存储服务器(图1中未示出)中。TEE40可从服务器400接收存储风险数据的地址,从该地址获取风险数据,对多个机构的风险数据进行融合处理,并将经融合处理的数据返回给各个机构设备,从而在保护用户隐私的同时在各个机构之间共享用户的风险数据。其中,服务器400和TEE40可与区块链500连接,结合区块链500进行本说明书实施例中的风险数据共享方案。可以理解,图1中虽然示出可信单元位于服务器400内部,本说明书实施例不限于此,TEE也可以位于另一个计算设备中,服务器400可通过与该计算设备连接而连接到该TEE。
图2为本说明书实施例中机构设备侧生成密文风险数据文件的方法流程图。图2中的机构设备可以为图1中的多个机构设备中的任一机构设备。下文中以机构设备100为例进行描述
如图2所示,首先,在步骤S201,机构设备100读取初始风险数据文件F1,获取用户身份信息和风险标签。
在机构设备100对应的机构A中,机构管理员可定期根据机构A内的数据分析结果在机构设备100中生成初始风险数据文件F1,以用于将风险数据共享给其他机构。可以理解,这里虽然以文件的形式来承载数据或信息,本说明书实施例不限于此,例如,也可以以文本、表格的形式来承载数据或信息,对此不作限定。该文件F1中包括机构A中的风险用户的身份信息和风险标签。其中,身份信息例如包括姓名、证件号等信息。风险标签为多个机构协商好的指示风险程度的标签。例如,风险标签可包括riskH、riskM、riskL等风险标签,riskH例如指示高风险,riskM例如指示中风险,riskL例如指示低风险。单个用户的风险标签可以包括多个风险标签,例如risk1、riskH,其中risk1例如指示特定类型的风险等。具体是,文件F1可包括多行,每行可以为如下的形式:“name/certType/certNum/risk1,riskH”,其中name为用户姓名,certType为证件类型,certNum为证件号,这三者构成了用户身份信息的三要素。
机构管理员在机构设备100中生成文件F1之后,将文件F1上传至客户端的存储中。客户端在监听到文件F1更新之后,例如可逐行读取文件F1,从而可获取各个风险用户的身份信息和风险标签。
在步骤S203,机构设备100确定本地是否存储有身份信息对应的用户ID。
为了保护用户的隐私,需要对文件F1中的用户身份信息进行脱敏处理,即不能在从机构设备100发送出去的共享文件中直接包括用户的身份信息。为此,各个机构只要对同一个用户使用同一个用户ID替代该用户的身份信息即可。具体是,机构设备100中的客户端对于文件F1中的一行中的用户身份信息,首先确定本地是否存储有该身份信息对应的用户ID。例如,客户端可确定硬盘中的预设地址的映射表中是否包括该身份信息及对应的用户ID。如果不包括,则客户端可执行步骤S205,向服务器400请求该用户的用户ID。
在步骤S205,机构设备100向服务器400请求用户的用户ID。
具体是,由于服务器400也是不完全可信的,机构设备100在向服务器400请求用户ID时也需要对用户的三要素信息进行脱敏。具体是,机构设备可计算三要素信息的哈希值hash1=hash(name+certType+certNum),其中,“+”可表示对前后两项数据的顺序拼接,之后,机构设备100可将该哈希值hash1发送给服务器400,以请求与该哈希值对应的用户ID。
在步骤S207,服务器400向机构设备100返回用户的用户ID。
服务器400在接收到hash1之后,可使用预设规则计算hash1对应的ID。
在一种实施方式中,为了进一步加强数据安全防护,服务器400可对hash1采取加盐操作,例如通过计算hash(hash1+salt),将得到的哈希值作为用户ID,其中,salt(盐值)为服务器预先生成的一个值。通过对hash1采取加盐操作得到用户ID,可避免恶意方推测hash1对应的三要素信息。
服务器在确定用户ID之后,将该用户ID返回给机构设备100。当其他机构向服务器400请求该用户的用户ID时,服务器可基于同样的规则和参数(即salt)计算该用户的用户ID,从而可得到同样的用户ID,并将该用户ID返回给机构设备,这样,不同的机构设备在其发送给服务器的风险数据文件中对同一个用户使用相同的用户ID。
在步骤S209,机构设备100关联存储用户身份信息和用户ID。
机构设备100在从服务器400接收到用户ID之后,例如在持久性介质中关联存储用户身份信息和用户ID,从而可后续用于对更新的风险文件的处理。具体是,机构设备可在映射表中关联地存储用户身份信息和用户ID。
在步骤S211,机构设备100在风险数据文件F2中写入用户ID和风险标签。
机构设备100在步骤S203中确定本地(例如上述映射表中)存储有身份信息对应的用户ID的情况中,可直接执行步骤S211。或者,机构设备100在执行步骤S209之后可执行步骤S211。
机构设备100中的客户端开始读取文件F1的同时,可初始化文件F2,在逐行读取文件F1中得到一行对应的用户ID之后,在文件F2中与文件F1中的该行对应的一行中记录用户ID和该用户的风险标签。如此客户端在对文件F1中的每行都进行上述处理之后,可生成与文件F1对应的风险数据文件F2。
在一种实施方式中,客户端在如上所述生成文件F2之后,可以将文件F2中的各行按照各个用户ID的升序进行排序,以便于后续对多个机构的风险数据文件的融合处理。
在步骤S213,客户端还可以使用TEE的公钥对文件F2进行加密,从而生成密文风险数据文件F3。通过如此,使得服务器400的TEE外部不能获取到各个用户ID对应的风险值,进一步保护了用户隐私。可以理解,这里不限于使用TEE的公钥对文件F2进行加密,例如TEE与机构设备之间可协商其他非对称密钥或对称密钥,以用于对文件F2加密。
其中,TEE是基于CPU硬件的安全扩展,且与外部完全隔离的可信执行环境。目前工业界十分关注TEE的方案,几乎所有主流的芯片和软件联盟都有自己的TEE解决方案,比如软件方面的TPM(Trusted Platform Module,可信赖平台模块)以及硬件方面的Intel SGX(Software Guard Extensions,软件保护扩展)、ARM Trustzone(信任区)和AMD PSP(Platform Security Processor,平台安全处理器)等。TEE可以起到硬件黑箱作用,在TEE中执行的代码和数据即便是操作系统层都无法偷窥,只有通过代码中预先定义的接口才能对其进行操作。在效率方面,由于TEE的黑箱性质,在TEE中进行运算的是明文数据,而不是同态加密中复杂的密码学运算,计算过程效率几乎没有损失。
以Intel SGX(以下简称SGX)技术为例。区块链节点可以基于SGX技术创建enclave(围圈或飞地)作为TEE。其中,服务器可利用CPU中新增的处理器指令,在内存中可以分配一部分区域EPC(Enclave Page Cache,围圈页面缓存或飞地页面缓存),以用于驻留上述的enclave。上述EPC对应的内存区域被CPU内部的内存加密引擎MEE(Memory EncryptionEngine)加密,该内存区域中的内容(enclave中的代码和数据)只有在CPU内核中才能够被解密,且用于加解密的密钥只有在EPC启动时生成并存储在CPU中。可见,enclave的安全边界只包含其自身和CPU,无论是特权或非特权软件都无法访问enclave,即便是操作系统管理员和VMM(Virtual Machine Monitor,虚拟机监视器;或称为Hypervisor)也无法影响enclave中的代码和数据,因而具有极高的安全性,并且在上述安全性保障的前提下,CPU能够在enclave中对明文形式的数据进行处理,具有极高的运算效率,从而兼顾了数据安全性和计算效率。而对于进、出TEE的数据,可以是加密的,从而保障数据的隐私。
所述TEE在被使用前,可以向使用者证明自身是可信的。证明自身可信的过程可能涉及远程证明报告。远程证明报告产生于对TEE的远程证明过程中。远程证明报告可以由权威的认证服务器对TEE产生的自荐信息进行验证后生成。该远程证明报告可以用于表明TEE可信任。
例如,机构设备100在使用TEE的公钥对文件F2加密之前,可以首先验证TEE是否可信。具体的,机构设备100可以向TEE发起挑战,并接收TEE返回的远程证明报告。机构设备100在获取远程证明报告后,可以根据权威认证服务器的公钥对该远程证明报告的签名进行验证,如果验证通过则可以确认TEE是可信的。具体是,TEE在接收所述验证请求之后,基于其内部机制生成认证信息,并将该认证信息及TEE的硬件公钥发送给机构设备100。所述认证信息例如包括所述TEE的签名信息、硬件信息和软件信息等。其中,所述签名信息例如通过TEE的硬件密钥生成;所述硬件信息例如包括,各种硬件的指标,比如CPU主频,内存容量等等;所述软件信息包括各个程序的代码哈希值、代码名称、版本、运行日志等。如本领域技术人员所知,TEE可通过内存硬件执行对其中运行程序的“测量”,例如获取该程序的代码哈希值、该程序在特定执行点的内存占有的哈希值等等,并在所述认证信息中包括对所述程序的“测量”信息,由于该“测量”信息由该TEE自身实体(内存硬件)执行,而不涉及任何软件、操作系统,因此是真实可信的。机构设备100在接收到所述认证信息之后,可把所述认证信息发送给TEE的远程认证服务器,从而从所述服务器接收到对所述TEE的远程证明报告。所述远程证明报告包括所述TEE的身份验证、及对所述TEE内部执行程序的验证等等。从而,机构设备100基于该远程证明报告可确定TEE是可信的,通过该TEE的查询结果是可信的。同时,机构设备100可在本地保存TEE的硬件公钥,以用于后续对TEE的签名的验证。其中,TEE中存储一对公私钥,私钥妥善保管在TEE中。所述TEE传出的内容,可以用所述TEE内保存的私钥来签名,从而证明是由该TEE执行的结果。
在本说明书实施例中,可以通过DIS结合区块链的方式为各个机构创建一个数字身份。区块链可以提供去中心化(或弱中心化)的、不可篡改(或难以篡改)的、可信的分布式账本,并可以提供安全、稳定、透明、可审计且高效的记录交易以及数据信息交互的方式。区块链网络可以包括多个节点。一般来说区块链的一个或多个节点归属于一个参与方。笼统的说,区块链网络的参与方越多,参与方越权威,区块链网络的可信程度越高。这里称多个参与方构成的区块链网络为区块链平台。借助区块链平台,可以帮助机构验证身份。
为了使用区块链平台提供的分布式数字身份服务,机构可以将自身的身份在区块链平台中登记。例如,机构A可以创建一对公钥和私钥,私钥保密存储,并可以创建一个分布式数字身份(也称为去中心化标识符,Decentralized Identitfiers,DID)。可以由机构A自己创建DID,也可以请求分布式身份服务(Decentralized Identity Service,DIS)系统来创建DID。DIS是一种基于区块链的身份管理方案,可以提供数字身份的创建、验证和管理等功能,从而实现规范化地管理和保护实体数据,同时保证信息流转的真实性和效率,并可以解决跨机构的身份认证和数据合作等难题。DIS系统可以与区块链平台相连。通过DIS系统可以为机构A创建一个DID,并将该DID和所述公钥发送至区块链平台保存,还将该创建的DID返回给机构A。所述公钥可以包含到DIDdoc中,所述DIDdoc可以存储于区块链平台中。DIS为机构A创建DID,可以基于机构A发来的公钥创建,例如采用Hash函数对所述机构A的公钥进行计算后创建,也可以根据机构A的其它信息(可以包括所述公钥或不包括所述公钥)创建。后者可能需要机构A提供一些公钥之外的信息。之后,机构A可以提供验证功能,从而向其它方证明自身是机构A。图3为本说明书实施例中服务器验证机构身份的方法流程图,包括:
S301:机构A的机构设备100向DIS发起DID创建请求,所述请求中包括所述机构A的公钥。
S303:响应于所述创建请求,所述DIS在对机构A的机构信息(例如资质、证件等)验证通过之后,为所述机构A创建DID及对应的DIDdoc,并将该DID及对应的DIDdoc发送至区块链平台保存。所述DIDdoc中包括所述机构A的公钥。所述DIDdoc中还包括对机构A的身份的可验证证明的下载地址等信息。
S305:区块链平台接收服务器发来的验证请求,所述验证请求中包括所述机构A的DID。
S307:区块链平台从自身存储中取出所述DID对应的DIDdoc并返回至所述服务器。
S309:服务器生成一个字符串,并将所述字符串发送至所述机构A的机构设备100。
S311:所述机构设备100用机构A的私钥对所述字符串签名并返回至所述服务器。
S313:所述服务器用前述接收到的所述DIDdoc中的公钥验证所述返回的签名是否正确,如果正确,则确认所述机构A的身份。
服务器400在对机构的身份验证通过之后,可执行图4所示的风险数据共享方法。
如图4所示,首先,在步骤S401,机构设备100将密文风险数据文件F3发送给服务器400。
服务器400可定期从各个机构设备请求密文风险数据文件,机构设备100可响应于服务器的该请求将通过图2所示流程生成的文件F3发送给服务器400。具体是,机构设备100可使用机构A的DID的私钥对文件F3签名,将机构A的DID(例如DIDa)、文件F3及通过DIDa的私钥对文件F3的签名发送给服务器400。
在步骤S403,服务器400向TEE提供各个机构DID对应的密文风险数据文件(包括文件F3)和机构公钥。
服务器400在从各个机构设备接收到密文风险数据文件之后,可将该密文风险数据文件存储到服务器内或者服务器外的存储服务器中,并获取该密文风险数据文件的存储地址。
之后,服务器400可向TEE发送各个机构的DID列表、及各个DID对应的密文风险数据文件的文件地址和公钥。TEE可从各个DID对应的文件地址读取各个DID对应的密文风险数据文件。其中,各个机构的公钥后续用于对发送给机构的文件进行加密,可以理解,TEE不限于使用机构的公钥对发送给机构的文件进行加密,而是可以使用TEE与机构设备、或者服务器与机构设备协商好的任何密钥,包括对称密钥和非对称密钥。
在一种实施方式中,服务器400可在对各个机构的对其密文风险数据文件的签名验证通过之后,向TEE发送各个机构的DID列表、及各个DID对应的密文风险数据文件的文件地址和公钥。
在一种实施方式中,所述服务器可将所述多个机构设备的多个签名提供给所述可信单元,从而,所述可信单元在对所述多个密文风险数据文件分别解密之前,首先使用所述多个机构的公钥分别对所述多个签名进行验证,在验证成功的情况下进行对所述多个密文风险数据文件的解密。
在步骤S405,TEE将从服务器接收的各个机构的机构公钥上链。
TEE通过将从服务器接收的各个机构的公钥上链,对服务器的操作进行上链,各个机构可验证服务器提供的其公钥是否正确,避免了如下的服务器作恶的可能性:服务器有可能以自己的公钥替换机构设备的公钥提供给TEE,从而服务器可使用自己的私钥对TEE输出的以服务器公钥加密的文件解密,该文件本应以机构设备的公钥加密以发送给机构设备,从而服务器可通过该方式窃取用户隐私信息。
在步骤S407,TEE生成各机构的共享结果文件,其中包括机构A的共享结果文件F5。
具体是,TEE在获取到各个机构的密文风险数据文件之后,使用自己的私钥对各个密文风险数据文件解密,从而获取各个机构的风险数据文件(包括上述风险数据文件F2)。之后,TEE基于各个机构的风险数据文件可生成风险并集文件F4。该风险并集文件F4中包括多行,该多行与所述多个机构包括的全部风险用户分别对应,每行中包括用户ID、风险标签集合和机构集合,其中风险标签集合从多个风险数据文件中获取,机构集合包括提供风险标签的机构的机构标识。
图5为本说明书实施例中的生成风险并集文件F4的过程示意图。图5中上部示意示出各个机构的风险数据文件,其中,机构A的风险数据文件与机构A的机构标识DIDa对应,机构B的风险数据文件与机构B的机构标识DIDb对应,机构C的风险数据文件与机构C的机构标识DIDc对应。各个风险数据文件中示出了各个机构中的风险用户的用户ID及对应的风险标签,并且风险数据文件中的多行以用户ID的升序顺序排列。
TEE中在对多个风险数据文件进行合并处理时,如图5中所示,首先对各个风险数据文件以指针指示最小用户ID。在图5中的三个风险数据文件中的指针指示的用户ID中,机构A的用户ID为最小ID,因此,在图5下部示出的风险并集文件中的第1行中写入ID1{risk1}{DIDa},即,{risk1}为多个风险数据文件中的ID1的风险标签集合,{DIDa}为提供风险标签集合中的标签的机构标识的集合。
在风险并集文件中记下ID1对应的信息之后,在机构A的风险数据文件中将指针指向下一行,即ID3对应的行,并重复上述处理过程。具体是,TEE中在确定三个指针指示的最小ID为ID2之后,在风险并集文件中的第2行记下ID2对应的信息“ID2{risk2,riskL}{DIDb,DIDc}”。通过上述同样的过程,使用指针对各个风险数据文件中的全部行遍历了之后,可得到图5下部所示的风险并集文件F4。
在生成风险并集文件F4之后,TEE可基于风险并集文件F4生成各个机构的共享结果文件。以机构A为例,TEE中可遍历风险并集文件F4中的每行,当该行中的机构集合中包括“DIDa”时,则将该行中的用户ID和风险标签集合记录到机构A的共享结果文件F5中。如此,例如可得到如下表所示的共享结果文件F5:
ID1{risk1} |
ID3{risk3,riskM} |
ID5{risk3,riskH} |
ID6{riskH,riskM} |
… |
也就是说,机构A的共享结果文件F5中包括机构A的风险数据文件中的全部用户的风险标签集合,该风险标签集合是基于各个机构的风险数据文件进行合并得到的,也即其他机构也将其风险数据共享到文件F5中。
在步骤S409,TEE使用机构A的公钥对共享结果文件F5加密,得到密文结果文件F6。
TEE通过使用机构A的公钥对文件F5加密,使得服务器400不能读取文件F5中的用户ID对应的风险标签,从而进一步保护用户的隐私。
在步骤S411,TEE将文件F6发送给服务器400。
具体是,TEE将文件F6存储到TEE(即上述EPC)外部,并将存储地址发送给服务器,从而服务器400可读取到该文件F6。
在步骤S413,服务器将文件F6发送给机构A的机构设备100。
在步骤S415,机构设备100使用机构A的私钥对文件F6解密,得到文件F5。
在步骤S417,机构设备100使用用户身份信息替换文件F5中的用户ID,得到文件F7。
具体是,机构设备100可在前述存储的用户身份信息与用户ID的映射表中读取文件F5中各个用户ID对应的用户身份信息,并用该用户身份信息替换文件F5中的用户ID,从而可生成文件F7。机构设备100从而可基于文件F7中各个用户的风险标签集合对风险用户的风险程度进行综合判断,提高了判断准确性。
在本说明书实施例中,通过结合服务器和TEE执行风险数据共享方法,机构设备通过对风险数据进行脱敏、加密等处理并发送给服务器,由服务器提供给TEE,从而在TEE中进行对风险数据的处理,以在多个机构中共享风险数据,保护了用户隐私且满足业务中的合规要求,同时TEE只需要与服务器进行交互,不需要与各个机构设备进行交互,TEE中只需要设置较简单的应用程序,同时TEE中不需要存储风险数据,节省了TEE的计算和存储资源。
图6为本说明书实施例中的一种可信单元的架构图,包括:
获取单元61,用于通过服务器获取多个机构的多个密文风险数据,所述多个机构中包括第一机构;
解密单元62,用于对所述多个密文风险数据分别解密,得到多个风险数据,所述风险数据中包括该风险数据对应的机构中的多个用户的用户标识和风险标签;
生成单元63,用于生成与所述第一机构对应的第一数据,所述第一数据中包括所述第一机构中的第一用户的用户标识和第一风险标签集合,所述第一风险标签集合从所述多个风险数据中获取;
加密单元64,用于对所述第一数据加密,得到第一密文数据;
提供单元65,用于将所述第一密文数据提供给所述服务器。
图7为本说明书实施例中的一种服务器的架构图,所述服务器中包括TEE,所述服务器包括:
接收单元71,用于从多个机构设备接收多个机构的密文风险数据,其中,所述多个机构设备中包括第一机构设备,所述第一机构设备属于第一机构;
提供单元72,用于将所述多个密文风险数据提供给所述TEE,所述密文风险数据通过对风险数据加密得到,所述风险数据中包括该风险数据对应的机构中的多个用户的用户标识和风险标签;
所述接收单元71还用于从所述TEE接收第一密文数据,所述第一密文数据通过对第一数据加密获得,所述第一数据中包括所述第一机构中的第一用户的用户标识和第一风险标签集合,所述第一风险标签集合从所述多个风险数据中获取;
所述提供单元72还用于将所述第一密文数据提供给所述第一机构设备。
本说明书实施例还提供一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行如图2、图3或图4所示的方法。
本说明书实施例还提供一种TEE,包括存储器和处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现如图2、图3或图4所示的方法。
本说明书实施例还提供一种服务器,包括存储器和处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现如图2、图3或图4所示的方法。
在20世纪90年代,对于一个技术的改进可以很明显地区分是硬件上的改进(例如,对二极管、晶体管、开关等电路结构的改进)还是软件上的改进(对于方法流程的改进)。然而,随着技术的发展,当今的很多方法流程的改进已经可以视为硬件电路结构的直接改进。设计人员几乎都通过将改进的方法流程编程到硬件电路中来得到相应的硬件电路结构。因此,不能说一个方法流程的改进就不能用硬件实体模块来实现。例如,可编程逻辑器件(Programmable Logic Device,PLD)(例如现场可编程门阵列(Field Programmable GateArray,FPGA))就是这样一种集成电路,其逻辑功能由用户对器件编程来确定。由设计人员自行编程来把一个数字系统“集成”在一片PLD上,而不需要请芯片制造厂商来设计和制作专用的集成电路芯片。而且,如今,取代手工地制作集成电路芯片,这种编程也多半改用“逻辑编译器(logic compiler)”软件来实现,它与程序开发撰写时所用的软件编译器相类似,而要编译之前的原始代码也得用特定的编程语言来撰写,此称之为硬件描述语言(Hardware Description Language,HDL),而HDL也并非仅有一种,而是有许多种,如ABEL(Advanced Boolean Expression Language)、AHDL(Altera Hardware DescriptionLanguage)、Confluence、CUPL(Cornell University Programming Language)、HDCal、JHDL(Java Hardware Description Language)、Lava、Lola、MyHDL、PALASM、RHDL(RubyHardware Description Language)等,目前最普遍使用的是VHDL(Very-High-SpeedIntegrated Circuit Hardware Description Language)与Verilog。本领域技术人员也应该清楚,只需要将方法流程用上述几种硬件描述语言稍作逻辑编程并编程到集成电路中,就可以很容易得到实现该逻辑方法流程的硬件电路。
控制器可以按任何适当的方式实现,例如,控制器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(Application Specific Integrated Circuit,ASIC)、可编程逻辑控制器和嵌入微控制器的形式,控制器的例子包括但不限于以下微控制器:ARC 625D、Atmel AT91SAM、Microchip PIC18F26K20以及Silicone Labs C8051F320,存储器控制器还可以被实现为存储器的控制逻辑的一部分。本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是一种硬件部件,而对其内包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为服务器系统。当然,本申请不排除随着未来计算机技术的发展,实现上述实施例功能的计算机例如可以为个人计算机、膝上型计算机、车载人机交互设备、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。
虽然本说明书一个或多个实施例提供了如实施例或流程图所述的方法操作步骤,但基于常规或者无创造性的手段可以包括更多或者更少的操作步骤。实施例中列举的步骤顺序仅仅为众多步骤执行顺序中的一种方式,不代表唯一的执行顺序。在实际中的装置或终端产品执行时,可以按照实施例或者附图所示的方法顺序执行或者并行执行(例如并行处理器或者多线程处理的环境,甚至为分布式数据处理环境)。术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、产品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、产品或者设备所固有的要素。在没有更多限制的情况下,并不排除在包括所述要素的过程、方法、产品或者设备中还存在另外的相同或等同要素。例如若使用到第一,第二等词语用来表示名称,而并不表示任何特定的顺序。
为了描述的方便,描述以上装置时以功能分为各种模块分别描述。当然,在实施本说明书一个或多个时可以把各模块的功能在同一个或多个软件和/或硬件中实现,也可以将实现同一功能的模块由多个子模块或子单元的组合实现等。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
本发明是参照根据本发明实施例的方法、装置(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁盘存储、石墨烯存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
本领域技术人员应明白,本说明书一个或多个实施例可提供为方法、系统或计算机程序产品。因此,本说明书一个或多个实施例可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本说明书一个或多个实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本说明书一个或多个实施例可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本说明书一个或多个实施例,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本说明书的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
以上所述仅为本说明书一个或多个实施例的实施例而已,并不用于限制本说明书一个或多个实施例。对于本领域技术人员来说,本说明书一个或多个实施例可以有各种更改和变化。凡在本说明书的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在权利要求范围之内。
Claims (17)
1.一种风险数据共享方法,包括:
多个机构设备将其所属机构的密文风险数据发送给服务器,其中,所述多个机构设备中包括第一机构设备,所述第一机构设备属于第一机构;
可信单元从所述服务器获取所述多个机构的多个密文风险数据,对所述多个密文风险数据分别解密,得到多个风险数据,其中,所述可信单元用于进行隐私数据处理,所述风险数据中包括该风险数据对应的机构中的多个用户的用户标识和风险标签;生成与所述第一机构对应的第一数据,所述第一数据中包括所述第一机构中的第一用户的用户标识和第一风险标签集合,所述第一风险标签集合从所述多个风险数据中获取;对所述第一数据加密,得到第一密文数据;将所述第一密文数据提供给所述服务器;
所述服务器将所述第一密文数据提供给所述第一机构设备;
所述第一机构设备对所述第一密文数据解密,得到所述第一用户的第一风险标签集合。
2.根据权利要求1所述的方法,所述用户标识包括:对所述用户的一项或多项信息经哈希计算得到的摘要值。
3.如权利要求2所述的方法,还包括:所述机构设备计算用户的一项或多项信息的第一哈希值,将所述第一哈希值发送给所述服务器;
所述服务器计算所述第一哈希值与预设值的第二哈希值作为所述用户的用户标识,将所述用户标识返回给所述机构设备;
所述机构设备存储所述用户标识与所述用户的一项或多项信息的对应关系。
4.根据权利要求2或3所述的方法,所述生成与所述第一机构对应的第一数据包括:
基于所述多个风险数据生成第二数据,所述第二数据包括n个用户的风险信息,每个用户的风险信息中包括该用户的用户标识、风险标签集合和机构标识集合,其中,所述风险标签集合包括基于所述用户的用户标识从所述多个风险数据中获取的风险标签,所述机构标识集合包括提供所述用户的风险标签的机构的机构标识;
在根据所述第二数据确定所述第一用户的机构标识集合中包括所述第一机构的机构标识的情况中,在所述第一数据中包括所述第一用户的用户标识和所述第一用户的第一风险标签集合。
5.根据权利要求4所述的方法,所述风险数据中包括多个用户的信息行,所述多个用户的信息行按照所述用户标识的大小顺序排列,
所述基于所述多个风险数据生成第二数据包括:按照所述n个用户的用户标识的大小顺序生成所述第二数据中的所述n个用户的信息行;
所述可信单元生成与所述第一机构对应的第一数据包括:按照所述第一机构的风险数据中的用户标识的大小顺序,生成所述第一数据中的用户信息行。
6.根据权利要求3所述的方法,所述第一机构设备对所述第一密文数据解密,得到所述第一用户的第一风险标签集合包括:所述第一机构设备对所述第一密文数据解密,得到所述第一数据;根据预先存储的第一用户的用户标识与所述第一用户的一项或多项信息的对应关系,生成第三数据,所述第三数据包括所述第一用户的一项或多项信息、及所述第一风险标签集合。
7.根据权利要求1所述的方法,还包括:所述服务器在从所述多个机构设备接收所述多个密文风险数据之后,与各个机构的机构标识关联地存储各个机构的密文风险数据,将各个密文风险数据的存储地址提供给所述可信单元,
所述可信单元从所述服务器获取所述多个机构的多个密文风险数据包括:所述可信单元基于各个存储地址获取所述多个密文风险数据。
8.根据权利要求1所述的方法,还包括:所述服务器将所述多个机构的公钥提供给所述可信单元,所述可信单元对所述第一数据加密包括:所述可信单元使用所述第一机构的公钥对所述第一数据加密。
9.根据权利要求8所述的方法,还包括:所述可信单元在从所述服务器接收到所述多个机构的公钥之后,将从所述服务器接收的所述多个机构的公钥存证到区块链中。
10.根据权利要求8所述的方法,多个机构设备将其所属机构的密文风险数据发送给服务器还包括:多个机构设备将其所属机构的DID和密文风险数据发送给服务器,所述多个机构的公钥为所述多个机构的DID的公钥,所述方法还包括:所述服务器从区块链获取所述多个机构的DID的公钥。
11.根据权利要求8所述的方法,还包括:所述多个机构设备将对其所属机构的密文风险数据的签名发送给所述服务器,所述服务器将所述多个机构设备的多个签名提供给所述可信单元,所述可信单元在对所述多个密文风险数据分别解密之前,使用所述多个机构的公钥分别对所述多个签名进行验证。
12.一种风险数据共享方法,由可信单元执行,包括:
通过服务器获取多个机构的多个密文风险数据,所述多个机构中包括第一机构;
对所述多个密文风险数据分别解密,得到多个风险数据,所述风险数据中包括该风险数据对应的机构中的多个用户的用户标识和风险标签;
生成与所述第一机构对应的第一数据,所述第一数据中包括所述第一机构中的第一用户的用户标识和第一风险标签集合,所述第一风险标签集合从所述多个风险数据中获取;
对所述第一数据加密,得到第一密文数据;
将所述第一密文数据提供给所述服务器。
13.一种风险数据共享方法,由服务器执行,所述方法包括:
从多个机构设备接收多个机构的密文风险数据,其中,所述多个机构设备中包括第一机构设备,所述第一机构设备属于第一机构;
将所述多个密文风险数据提供给可信单元,所述密文风险数据通过对风险数据加密得到,所述风险数据中包括该风险数据对应的机构中的多个用户的用户标识和风险标签;
从所述可信单元接收第一密文数据,所述第一密文数据通过对第一数据加密获得,所述第一数据中包括所述第一机构中的第一用户的用户标识和第一风险标签集合,所述第一风险标签集合从所述多个风险数据中获取;
将所述第一密文数据提供给所述第一机构设备。
14.一种风险数据共享系统,包括多个机构设备、服务器和用于进行隐私数据处理的可信单元,
多个机构设备用于将其所属机构的密文风险数据发送给服务器,其中,所述多个机构设备中包括第一机构设备,所述第一机构设备属于第一机构;
所述可信单元用于:从所述服务器获取所述多个机构的多个密文风险数据,对所述多个密文风险数据分别解密,得到多个风险数据,所述风险数据中包括该风险数据对应的机构中的多个用户的用户标识和风险标签;生成与所述第一机构对应的第一数据,所述第一数据中包括所述第一机构中的第一用户的用户标识和第一风险标签集合,所述第一风险标签集合从所述多个风险数据中获取;对所述第一数据加密,得到第一密文数据;将所述第一密文数据提供给所述服务器;
所述服务器用于将所述第一密文数据提供给所述第一机构设备;
所述第一机构设备用于对所述第一密文数据解密,得到所述第一用户的第一风险标签集合。
15.一种可信单元,包括:
获取单元,用于通过服务器获取多个机构的多个密文风险数据,所述多个机构中包括第一机构;
解密单元,用于对所述多个密文风险数据分别解密,得到多个风险数据,所述风险数据中包括该风险数据对应的机构中的多个用户的用户标识和风险标签;
生成单元,用于生成与所述第一机构对应的第一数据,所述第一数据中包括所述第一机构中的第一用户的用户标识和第一风险标签集合,所述第一风险标签集合从所述多个风险数据中获取;
加密单元,用于对所述第一数据加密,得到第一密文数据;
提供单元,用于将所述第一密文数据提供给所述服务器。
16.一种服务器,包括:
接收单元,用于从多个机构设备接收多个机构的密文风险数据,其中,所述多个机构设备中包括第一机构设备,所述第一机构设备属于第一机构;
提供单元,用于将所述多个密文风险数据提供给可信单元,所述密文风险数据通过对风险数据加密得到,所述风险数据中包括该风险数据对应的机构中的多个用户的用户标识和风险标签;
所述接收单元还用于从所述可信单元接收第一密文数据,所述第一密文数据通过对第一数据加密获得,所述第一数据中包括所述第一机构中的第一用户的用户标识和第一风险标签集合,所述第一风险标签集合从所述多个风险数据中获取;
所述提供单元还用于将所述第一密文数据提供给所述第一机构设备。
17.一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行权利要求12或13所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211063969.4A CN115422588A (zh) | 2022-08-31 | 2022-08-31 | 一种风险数据共享方法、系统、可信单元和服务器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211063969.4A CN115422588A (zh) | 2022-08-31 | 2022-08-31 | 一种风险数据共享方法、系统、可信单元和服务器 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115422588A true CN115422588A (zh) | 2022-12-02 |
Family
ID=84201304
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211063969.4A Pending CN115422588A (zh) | 2022-08-31 | 2022-08-31 | 一种风险数据共享方法、系统、可信单元和服务器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115422588A (zh) |
-
2022
- 2022-08-31 CN CN202211063969.4A patent/CN115422588A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111741036B (zh) | 一种可信数据传输方法、装置及设备 | |
US10484352B2 (en) | Data operations using a proxy encryption key | |
CN111047313B (zh) | 扫码支付、信息发送和密钥管理方法、装置和设备 | |
CN111770199B (zh) | 一种信息共享方法、装置及设备 | |
CN111818186B (zh) | 一种信息共享方法和系统 | |
EP3552131B1 (en) | Password security | |
CN113420049B (zh) | 数据流通方法、装置、电子设备及存储介质 | |
CN113129017B (zh) | 一种信息共享方法、装置及设备 | |
JP2023551124A (ja) | 自己監査ブロックチェーン | |
US20220191034A1 (en) | Technologies for trust protocol with immutable chain storage and invocation tracking | |
CN117459327B (zh) | 一种云数据透明加密保护方法、系统及装置 | |
CN115442115A (zh) | 一种风险数据推送方法、系统、服务器和可信单元 | |
CN115495774A (zh) | 一种风险数据查询方法、系统、可信单元和服务器 | |
CN116708016A (zh) | 一种敏感数据传输方法、服务器及存储介质 | |
CN113489669B (zh) | 一种用户数据保护的方法及装置 | |
CN115422588A (zh) | 一种风险数据共享方法、系统、可信单元和服务器 | |
CN115408716A (zh) | 一种风险数据查询方法、系统、可信单元和服务器 | |
CN115442111A (zh) | 一种风险数据推送方法、系统和可信单元 | |
CN115408713A (zh) | 一种风险数据查询方法、系统、可信单元和服务器 | |
CN115409265A (zh) | 一种用户风险等级确定方法、系统和可信单元 | |
Mahapatra et al. | A secure health management framework with anti-fraud healthcare insurance using blockchain | |
CN115941200A (zh) | 在区块链中存储联盟信息的方法、系统和区块链节点 | |
CN115408714A (zh) | 一种用户数据查询方法、系统和可信单元 | |
CN116308434B (zh) | 一种保险欺诈识别方法及系统 | |
JP6063317B2 (ja) | 端末装置および判定方法 |
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 |