CN116340955A - 一种基于区块链的数据处理方法、装置及设备 - Google Patents
一种基于区块链的数据处理方法、装置及设备 Download PDFInfo
- Publication number
- CN116340955A CN116340955A CN202310313113.6A CN202310313113A CN116340955A CN 116340955 A CN116340955 A CN 116340955A CN 202310313113 A CN202310313113 A CN 202310313113A CN 116340955 A CN116340955 A CN 116340955A
- Authority
- CN
- China
- Prior art keywords
- data
- uplink
- tee
- verification
- trusted
- 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
- 238000003672 processing method Methods 0.000 title claims abstract description 19
- 238000012795 verification Methods 0.000 claims abstract description 239
- 238000012545 processing Methods 0.000 claims abstract description 124
- 238000000034 method Methods 0.000 claims abstract description 93
- 238000013524 data verification Methods 0.000 claims abstract description 59
- 230000008569 process Effects 0.000 claims description 45
- 238000004422 calculation algorithm Methods 0.000 claims description 25
- 238000004364 calculation method Methods 0.000 claims description 21
- 238000012546 transfer Methods 0.000 claims description 12
- 230000005540 biological transmission Effects 0.000 description 14
- 230000006870 function Effects 0.000 description 13
- 230000000977 initiatory effect Effects 0.000 description 11
- 238000004590 computer program Methods 0.000 description 9
- 230000006872 improvement Effects 0.000 description 8
- 238000010586 diagram Methods 0.000 description 7
- 238000005516 engineering process Methods 0.000 description 5
- 230000008520 organization Effects 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 3
- 230000001960 triggered effect Effects 0.000 description 3
- 238000010200 validation analysis Methods 0.000 description 3
- 230000006399 behavior Effects 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000004075 alteration Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000013145 classification model Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000013075 data extraction Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000009472 formulation Methods 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000010606 normalization Methods 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 229920001296 polysiloxane Polymers 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 239000010979 ruby Substances 0.000 description 1
- 229910001750 ruby Inorganic materials 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
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/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
-
- 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/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/52—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
- G06F21/53—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by executing in a restricted environment, e.g. sandbox or secure virtual machine
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
- G06F16/2379—Updates performed during online database operations; commit processing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- 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/64—Protecting data integrity, e.g. using checksums, certificates or signatures
-
- 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/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/71—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
- G06F21/74—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information operating in dual or compartmented mode, i.e. at least one secure mode
-
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/0618—Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/50—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2149—Restricted operating environment
-
- 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/12—Applying verification of the received information
- H04L63/123—Applying verification of the received information received data contents, e.g. message integrity
-
- 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/12—Applying verification of the received information
- H04L63/126—Applying verification of the received information the source of the received data
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- General Health & Medical Sciences (AREA)
- Bioethics (AREA)
- Health & Medical Sciences (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Mining & Analysis (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Information Transfer Between Computers (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Storage Device Security (AREA)
Abstract
本说明书实施例公开了一种基于区块链的数据处理方法、装置及设备,所述方法应用于设置有可信执行环境TEE的终端设备,包括:获取用户的数据上链请求,所述数据上链请求中包括待上传至区块链的待上链数据;通过所述终端设备上的用于执行数据上链处理的第一可信应用,将所述数据上链请求中的待上链数据传递至所述终端设备的TEE;其中,所述TEE中设置有针对所述第一可信应用的待上链数据进行数据核验的核验规则;使用所述TEE的可信执行环境确定所述待上链数据是否符合所述核验规则;若是,则基于所述第一可信应用从所述TEE中获取核验后的待上链数据,并对核验后的所述待上链数据进行上链处理。
Description
本申请为2020年07月31日提交中国专利局、申请号为202010757355.0、发明名称为“一种基于区块链的数据处理方法、装置及设备”的中国专利申请的分案申请。
技术领域
本说明书涉及计算机技术领域,尤其涉及一种基于区块链的数据处理方法、装置及设备。
背景技术
区块链已经在线上数据的防篡改、防伪和可追溯方向得到了较好的应用,如果将某业务(如支付业务、物流业务、募捐和资助业务等)中的相关数据添加到区块链中,则该数据将无法更改和抵赖。
通常,用户可以向区块链上传某数据,区块链会对该数据进行核验,核验通过后,才会将该数据存储至区块链。但是,该用户将待上传至区块链的待上链数据传输或传递给区块链节点的过程中,如何保证数据在传输或传递的过程中真实性和准确性,防止传输或传递的过程中数据被篡改成为需要解决的重要问题,为此,需要提供一种能够保证数据上传至区块链的过程中数据的安全性和准确性的技术方案。
发明内容
本说明书实施例的目的是提供一种基于区块链的数据处理方法、装置及设备,以提供一种能够保证数据上传至区块链的过程中数据的安全性和准确性的技术方案。
为了实现上述技术方案,本说明书实施例是这样实现的:
本说明书实施例提供的一种基于区块链的数据处理方法,应用于设置有可信执行环境TEE的终端设备,所述方法包括:获取用户的数据上链请求,所述数据上链请求中包括待上传至区块链的待上链数据。通过所述终端设备上的用于执行数据上链处理的第一可信应用,将所述数据上链请求中的待上链数据传递至所述终端设备的TEE;其中,所述TEE中设置有针对所述第一可信应用的待上链数据进行数据核验的核验规则。使用所述TEE的可信执行环境确定所述待上链数据是否符合所述核验规则。若是,则基于所述第一可信应用从所述TEE中获取核验后的待上链数据,并对核验后的所述待上链数据进行上链处理。
本说明书实施例提供的一种基于区块链的数据处理装置,所述装置设置有可信执行环境TEE,所述装置包括:上链请求模块,获取用户的数据上链请求,所述数据上链请求中包括待上传至区块链的待上链数据。数据传递模块,通过所述装置上的用于执行数据上链处理的第一可信应用,将所述数据上链请求中的待上链数据传递至所述装置的TEE;其中,所述TEE中设置有针对所述第一可信应用的待上链数据进行数据核验的核验规则。数据核验模块,使用所述TEE的可信执行环境确定所述待上链数据是否符合所述核验规则。上链模块,若使用所述TEE的可信执行环境确定所述待上链数据符合所述核验规则,则基于所述第一可信应用从所述TEE中获取核验后的待上链数据,并对核验后的所述待上链数据进行上链处理。
本说明书实施例提供的一种基于区块链的数据处理设备,所述设备设置有可信执行环境TEE,所述基于区块链的数据处理设备包括:处理器;以及被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器:获取用户的数据上链请求,所述数据上链请求中包括待上传至区块链的待上链数据。通过所述设备上的用于执行数据上链处理的第一可信应用,将所述数据上链请求中的待上链数据传递至所述设备的TEE;其中,所述TEE中设置有针对所述第一可信应用的待上链数据进行数据核验的核验规则。使用所述TEE的可信执行环境确定所述待上链数据是否符合所述核验规则。若是,则基于所述第一可信应用从所述TEE中获取核验后的待上链数据,并对核验后的所述待上链数据进行上链处理。
附图说明
为了更清楚地说明本说明书实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本说明书一种基于区块链的数据处理方法实施例;
图2为本说明书一种基于区块链的数据处理系统的结构示意图;
图3为本说明书另一种基于区块链的数据处理方法实施例;
图4为本说明书又一种基于区块链的数据处理方法实施例;
图5为本说明书一种基于区块链的数据处理装置实施例;
图6为本说明书一种基于区块链的数据处理设备实施例。
具体实施方式
本说明书实施例提供一种基于区块链的数据处理方法、装置及设备。
为了使本技术领域的人员更好地理解本说明书中的技术方案,下面将结合本说明书实施例中的附图,对本说明书实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本说明书一部分实施例,而不是全部的实施例。基于本说明书中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本说明书保护的范围。
实施例一
如图1所示,本说明书实施例提供一种基于区块链的数据处理方法,该方法的执行主体可以为终端设备,其中,该终端设备可以如笔记本电脑或台式电脑等计算机设备。该终端设备可以是用于对待上传至区块链中的数据进行可信性核验的终端设备。该终端设备中可以设置有可信执行环境,该可信执行环境可以是TEE(Trusted ExecutionEnvironment),该可信执行环境可以通过预定的编程语言编写的程序来实现(即可以是以软件的形式实现),该可信执行环境可以为进行数据处理的安全运行环境。此外,该方法的执行主体也可以是服务器等,其中的服务器可以是一个独立的服务器,还可以是由多个服务器构成的服务器集群等,该服务器中也可以设置有上述可信执行环境TEE。本说明书实施例的执行主体以终端设备为例进行说明,对于执行主体为服务器的情况,可以参照下述相关内容执行,在此不再赘述。该方法具体可以包括以下步骤:
在步骤S102中,获取用户的数据上链请求,该数据上链请求中包括待上传至区块链的待上链数据。
其中,待上链数据可以是任意数据,例如用户在进行线上交易过程中产生的交易数据、某用户的个人征信数据或物联网中某设备的相关数据等。区块链可以是用于存储某一类别或多种不同类别的数据的系统。数据上链请求中可以包括待上传至区块链的待上链数据,还可以包括如待上链数据的标识、待上链数据的持有方的相关信息、数据上链请求的发起用户的相关信息、待上链数据的业务属性信息(如待上链数据对应的业务类别、待上链数据对应的业务标识等)等,具体可以根据实际情况设定,本说明书实施例对此不做限定。
在实施中,区块链已经在线上数据的防篡改、防伪和可追溯方向得到了较好的应用,如果将某业务(如支付业务、物流业务、募捐和资助业务等)中的相关数据添加到区块链中,则该数据将无法更改和抵赖。通常,用户可以向区块链上传某数据,区块链会对该数据进行核验,核验通过后,才会将该数据存储至区块链。但是,该用户将需要上传的数据传输或传递给区块链节点的过程中,如何保证数据在传输或传递的过程中真实性和准确性,防止传输或传递的过程中数据被篡改成为需要解决的重要问题,为此,需要提供一种能够保证数据上传至区块链的过程中数据的真实性和准确性的技术方案。本说明书实施例提供一种能够保证数据上传至区块链的过程中数据的真实性和准确性的技术方案,具体可以参见下述内容:
如图2所示,为了能够对待上传至区块链的数据(即待上链数据)进行数据核验,可以预先设定对待上链数据进行数据核验的终端设备(为了便于与后续用户的终端设备相区分,可以称为第一终端设备,用户的终端设备可以称为第二终端设备),并可以在该第一终端设备中安装执行上述数据核验功能的应用程序。相应的,用户的终端设备(即第二终端设备)中也可以安装有向区块链上传数据的应用程序,通过该应用程序,用户可以向区块链中上传数据。为此,可以在该应用程序中设置数据上传入口(具体如数据上传的按键或超链接等)。如果用户需要向区块链中上传数据(即待上链数据),则可以通过上述数据上传入口上传待上链数据(具体如用户可以点击数据上传的按键或超链接,第二终端设备可以显示数据上传页面,该页面中可以包括数据输入框和/或数据选择框,用户可以输入待上链数据或选择待上链数据进行上传),上传完成后,第二终端设备可以获取待上链数据,并可以生成数据上链请求,将该上链请求发送给上述第一终端设备,第一终端设备可以获取到待上链数据的数据上链请求。
需要说明的是,上述方式是通过第二终端设备直接向第一终端设备发送数据上链请求实现的,而在实际应用中,还可以包括其它方式,例如,第二终端设备可以将该数据上链请求发送给区块链节点,区块链节点可以向第二终端设备发送重定向消息,该重定向消息中可以包括第一终端设备的访问地址(如IP地址等),第二终端设备可以基于该重定向消息中的访问地址,将该上链请求发送给第一终端设备,第一终端设备可以获取到待上链数据的数据上链请求。再例如,还可以将上述第一终端设备和第二终端设备合并为一个终端设备,此时,用户可以直接在该终端设备上通过上述数据上传入口上传待上链数据(如用户可以点击数据上传的按键或超链接,该终端设备可以显示数据上传页面,该页面中可以包括数据输入框和/或数据选择框,用户可以输入待上链数据或选择待上链数据进行上传),上传完成后,该终端设备可以获取待上链数据,并可以生成数据上链请求,此时终端设备即可以获取到用户的数据上链请求。
在步骤S104中,通过终端设备上的用于执行数据上链处理的第一可信应用,将上述数据上链请求中的待上链数据传递至终端设备的TEE,其中,TEE中设置有针对第一可信应用的待上链数据进行数据核验的核验规则。
其中,TEE可以为可信执行环境,TEE可以通过预定的编程语言编写的程序来实现(即可以是以软件的形式实现),TEE的可信执行环境可以是安全并与其它环境相隔离的数据处理环境,即在可信执行环境中执行的处理,以及数据处理的过程中产生的数据等无法被可执行环境外的其它执行环境或应用程序所访问。TEE的可信执行环境可以通过创建一个可以在可信区域(如TrustZone等)中独立运行的小型操作系统实现,TEE可以以系统调用(如由TrustZone内核直接处理)的方式直接提供的服务。终端设备中可以包括REE(富执行环境)和TEE,REE下可以运行终端设备安装的操作系统,如Android操作系统、iOS操作系统、Windows操作系统、Linux操作系统等,REE的特点可以包括功能强大,开放性和扩展性好,可以为上层应用程序提供终端设备的所有功能,比如摄像功能,触控功能等,但是,REE中存在很多安全隐患,例如,操作系统可以获得某应用程序的所有数据,但很难验证该操作系统或该应用程序是否被篡改,如果被篡改,则用户的信息将存在很大的安全隐患,针对于此,就需要终端设备中的TEE进行处理。TEE具有其自身的执行空间,也就是说在TEE下也存在一个操作系统,TEE比REE的安全级别更高,TEE所能访问的终端设备中的软件和硬件资源是与REE分离的,但TEE可以直接获取REE的信息,而REE不能获取TEE的信息。TEE可以通过提供的接口来进行验证等处理,从而保证用户信息(如支付信息、用户隐私信息等)不会被篡改、密码不会被劫持、指纹或面部等信息不会被盗用。
第一可信应用可以是预先指定的、可以用于执行数据上链处理的可信应用,例如某金融支付应用、某即时通讯应用或预先开发的应用程序等,第一可信应用可以是需要安装在终端设备中的应用程序,也可以是预先植入终端设备某硬件设备中的代码程序,还可以是以插件的形式设置于终端设备的操作系统的后台运行的程序等,具体可以根据实际情况设定。核验规则可以是能够对待上链数据进行数据核验的规则,核验规则可以通过多种不同的方式设定,例如,可以基于预先设定的数据防篡改的规则进行设定,也可以基于向区块链中上传数据的用户身份进行设定,还可以针对待上链数据所属的不同的业务类别设置相应的核验规则,不同业务类别的待上链数据,可以设置不同的核验规则,具体如针对实名认证业务,可以设置满足实名认证要求的核验规则,而针对支付业务,可以设置满足支付要求和支付安全需求的核验规则等,具体可以根据实际情况设定。而且,核验规则预先被设置于终端设备的TEE中,为了保证核验规则的安全,核验规则可以为密文,即核验规则可以由经过授权的规则制定方制定核验规则的内容,然后,可以通过指定的加密或签名方式对核验规则进行加密或签名,形成核验规则的密文,然后再将核验规则的密文通过指定的安全数据传输通道传递至终端设备的TEE中,从而保证核验规则的安全性,防止被篡改。在TEE的可行执行环境中,可以对核验规则的密文进行解密或验签,在确定核验规则未被篡改(如验签通过或者可以进行解密且解密后的核验规则满足预设条件等)后,可以将核验规则存储于TEE中。
在实施中,为了保证待上链数据上传区块链的过程中的安全性,防止数据上链请求中的待上链数据被REE中的任意应用程序获取,可以设置用于执行数据上链处理的可信应用(即第一可信应用),通过第一可信应用对待上链数据进行临时保护,例如可以防止未授权的其它应用程序访问待上链数据以此进行数据保护,或者,可以对待上链数据进行预定处理,得到处理后的待上链数据,以此进行数据保护,如对待上链数据进行加密或签名,得到加密或签名后的待上链数据等。在获取到用户的数据上链请求后,终端设备(即上述第一终端设备)可以启动用于执行数据上链处理的可信应用(即第一可信应用)。第一可信应用可以预先设置有安全接口,相应的,终端设备的TEE中也可以设置有相应的安全接口,通过第一可信应用与TEE之间的安全接口,第一可信应用与TEE之间可以建立安全的数据传输通道。第一可信应用可以从数据上链请求中提取待上链数据,并可以将待上链数据通过上述安全接口和数据传输通道传递至终端设备的TEE中,通过上述设置第一可信应用、安全接口和数据传输通道等可以保证数据在传输过程中的安全性。
需要说明的是,第一可信应用也可以包括多种,可以根据待上链数据对应的业务类型或业务标识等设置相应的第一可信应用,也可以根据待上链数据的数据内容或数据类型等设置相应的第一可信应用,还可以根据待上链数据对应的用户的不同而设置相应的第一可信应用,基于上述情况,上述数据上链请求中除了可以包括待上链数据外,还可以包括如业务类型、业务标识、数据类型或用户的相关信息等,在实际应用中,如何设置第一可信应用可以根据实际情况设定,本说明书实施例对此不做限定。
在步骤S106中,使用TEE的可信执行环境确定待上链数据是否符合上述核验规则。
在实施中,为了保证待上链数据在处理的过程中不被泄露,可以在TEE的可信执行环境中对待上链数据进行数据核验,具体的数据核验过程可以包括多种,以下提供可选的处理方式,具体可以包括:可以预先设定对待上链数据进行数据核验的核验规则,待上链数据被传递至终端设备的TEE中后,可以将该待上链数据置于TEE的可信执行环境中。在TEE的可信执行环境中,终端设备可以对待上链数据进行分析,例如,可以确定待上链数据对应的业务类别,或者,确定待上链数据对应的组织或机构的相关信息,然后,可以基于确定的业务类别或确定的组织或机构的相关信息,获取相应的核验规则。可以在TEE的可信执行环境中,使用获取的核验规则对待上链数据进行数据核验,其中,对待上链数据进行数据核验可以包括多种方式,例如,可以预先在待上链数据中设置经过加密处理的标签,该标签中可以预先记录有待上链数据的校验值(如哈希值等),此外,待上链数据可以是对待上链数据对应的原数据的整体进行加密处理或对原数据中的部分数据进行加密处理得到的数据,这样,在TEE的可信执行环境中,基于获取的核验规则,可以对待上链数据中设置的标签进行解密处理,得到该标签的原始内容,并可以对待上链数据对应的原数据进行解密处理,得到待上链数据对应的原数据,然后可以计算上述原数据对应的校验值(如哈希值等),并可以将计算得到的校验值与标签中的记录的校验值进行比对,由于在TEE的可信执行环境中执行的上述处理,因此,终端设备的其它执行环境或终端设备中的任意应用程序等所知晓,因此,处于TEE的可执行环境中的经过解密处理后的待上链数据和解密处理后的标签不会被TEE的可信执行环境外的任何软件程序或硬件设备所获取,从而保证待上链数据和标签的准确性和安全性(不会被篡改,也不会被泄露)。基于此,如果两个校验值相同,则可以确定对待上链数据的核验结果为可信,也即是可以确定待上链数据未被篡改,如果两个校验值不同,则可以确定对待上链数据的核验结果为不可信,此外,如果待上链数据中未包含经过加密处理的标签,则也可以确定对待上链数据的核验结果为不可信。另外,该标签中还可以设置标签的有效性(此情况下,在确定待上链数据的核验结果之前还需要验证该标签是否处于设定的有效期限内等),具体可以根据实际情况设定。在实际应用中,对待上链数据的核验方式并不仅仅包括上述方式,还可以包括其它多种可实现方式,在此不再赘述。
上述对待上链数据进行数据核验的处理仅是一种可实现的处理方式,在实际应用中,还可以通过其它多种处理方式对待上链数据进行数据核验,其中可以根据核验规则的不同,采用不同的处理方式对待上链数据进行数据核验,而且,不同的核验规则,对待上链数据进行数据核验的具体处理过程可以不同,具体可以根据实际情况设定,本说明书实施例对此不做限定。
在步骤S108中,若是,则基于第一可信应用从TEE中获取核验后的待上链数据,并对核验后的待上链数据进行上链处理。
在实施中,通过在TEE的可信执行环境中对待上链数据进行数据核验,可以得到相应的核验结果,该核验结果可以包括待上链数据可信和待上链数据不可信等。如果通过上述处理得到的核验结果为待上链数据不可信,则可以向数据上链请求的发起用户发送数据上链请求失败的通知消息。为了可以使得数据上链请求的发起用户能够了解数据上链请求失败的原因,以便该用户后续可以继续上传待上链数据,可以在该通知消息中设置数据上链请求失败的相关信息或编码,该用户查看到该相关信息或编码后,可以查找并解决相关问题,以便后续继续向区块链中上传待上链数据。如果通过上述处理得到的核验结果为待上链数据可信,则可以触发第一可信应用,以使第一可信应用从TEE中获取核验后的待上链数据,并可以将核验后的待上链数据上传至区块链,这样,从待核验数据的获取、对待核验数据的数据核验,以及对核验后的待上链数据的上链处理等过程均是在可信执行环境或可信应用中完成,从而不仅可以实现对上链前的数据进行数据核验,而且能够保证数据上传至区块链的过程中待上链数据的安全性。
本说明书实施例提供一种基于区块链的数据处理方法,应用于设置有可信执行环境TEE的终端设备,在待上链数据上传至区块链之前,可以先通过终端设备上的用于执行数据上链处理的第一可信应用将待上链数据传递至终端设备的TEE,从而保证待上链数据传输到TEE过程中的安全性,另外,使用TEE的可信执行环境中设置的核验规则,并在TEE的可信执行环境中对待上链数据进行数据核验,由于TEE是进行数据处理的安全运行环境,从而保证待上链数据在终端设备中被处理的过程中的安全性,防止待上链数据被篡改,此外,在使用TEE的可信执行环境确定待上链数据是否符合核验规则时,基于第一可信应用从TEE中获取核验后的待上链数据,并对核验后的待上链数据进行上链处理,这样,核验后的待上链数据从可信执行环境TEE中输出,并将核验后的待上链数据上传区块链均是通过第一可信应用完成,从而可以保证待上链数据从终端设备的TEE中输出和从终端设备中输出的过程中的安全性,防止核验后的待上链数据被篡改或被泄露,提高了待上链数据在上传区块链的过程中的安全性。
实施例二
如图3所示,本说明书实施例提供一种基于区块链的数据处理方法,该方法的执行主体可以为终端设备,其中,该终端设备可以如笔记本电脑或台式电脑等计算机设备。该终端设备可以是用于对待上传至区块链中的数据进行可信性核验的终端设备。该终端设备中可以设置有可信执行环境,该可信执行环境可以是TEE,该可信执行环境TEE可以通过预定的编程语言编写的程序来实现(即可以是以软件的形式实现),该可信执行环境TEE可以为进行数据处理的安全运行环境。该方法具体可以包括以下步骤:
在步骤S302中,获取用户的数据上链请求,该数据上链请求中包括待上传至区块链的待上链数据。
其中,数据上链请求中还可以包括待上链数据的可验证声明。可验证声明可以是用于描述个人、组织等实体所具有的某些属性的一种规范性的信息,可验证声明可以实现基于证据的信任,可以通过可验证声明,向其他实体证明当前实体的某些属性的信息是可信的。可验证声明中可以包括多个不同的字段和相应的字段值,例如,字段为待上链数据的持有方,相应的字段值可以为组织A,字段为待上链数据的生成时间,相应的字段值可以为2020年1月1日等。
需要说明的是,为了保证上传至区块链中的待上链数据的安全性,数据上链请求中还可以包括经过加密处理的待上链数据,即待上链数据可以为密文,此时,还可以通过下述处理完成上述步骤S302的处理。
在实施中,用户的终端设备(即第二终端设备)可以通过向区块链上传数据的应用程序进行数据上传处理,可以在该应用程序中设置数据上传入口。如果用户需要向区块链中上传数据(即待上链数据),则可以通过预设的加密算法对待上链数据进行加密处理,得到经过加密处理的待上链数据。然后,可以通过上述数据上传入口上传经过加密处理的待上链数据和待上链数据的可验证声明等,上传完成后,用户的终端设备(即第二终端设备)可以获取经过加密处理的待上链数据和待上链数据的可验证声明,并可以生成数据上链请求,将该数据上链请求发送给上述第一终端设备,第一终端设备可以接收该数据上链请求。
在步骤S304中,通过终端设备上的用于执行数据上链处理的第一可信应用对应的可信程序获取数据上链请求中的待上链数据,并通过第一可信应用对应的可信程序将待上链数据传递至终端设备的TEE,其中,TEE中设置有针对第一可信应用的待上链数据进行数据核验的核验规则。
其中,核验规则基于以下中的一项或多项进行设定:区块链的上链数据的防篡改规则;上传至区块链的数据的业务核验规则;上传至区块链的数据时效性条件;以及,向区块链上传数据的用户的身份核验规则。其中的区块链的上链数据的防篡改规则可以如通过判断待核验数据中是否包含特定或指定的信息来判断区块链的上链数据是否被篡改,例如,可以确定待核验数据中是否包含指定的签名信息和/或水印信息,以及指定的签名信息和/或水印信息是否完整等来判断区块链的上链数据是否被篡改等,此外,可以通过指定算法对待核验数据进行计算,然后通过计算结果来判断区块链的上链数据是否被篡改,例如可以计算待核验数据的哈希值,通过计算得到的哈希值进一步判断区块链的上链数据是否被篡改等,具体还可以根据实际情况设定。上传至区块链的数据的业务核验规则可以如将核验规则与区块链所面向的业务相对应,可以基于区块链所面向的业务的不同而设定相应的核验规则,例如待上链数据需要上传的区块链面向的业务为电子交易业务,则核验规则可以如核验待上链数据对应的业务类型是否属于电子交易类,如果确定待上链数据对应的业务类型不属于电子交易类(如属于保险类或物流类),则待上链数据将无法被传输至该区块链中,在实际应用中,不仅仅只包含上述一种可实现方式,还可以包括多种可实现方式,具体可以根据实际情况设定,本说明书实施例对此不做限定。上传至区块链的数据时效性条件可以如为待上链数据设置上链的时效性条件,如果待上链数据在上述时效内上传,则可以将待上链数据上传至区块链,否则无法将待上链数据上传至区块链等,在实际应用中,可以直接通过上传至区块链的数据时效性条件设定核验规则,还可以将数据时效性条件与其他规则(如上述防篡改规则、业务核验规则、身份核验规则等)相结合进而设定核验规则等。向区块链上传数据的用户的身份核验规则可以是基于具备向区块链上传数据权限的用户的身份的规则,例如具备向区块链上传数据的用户仅包括用户A和用户B,如果待上链数据为除了上述两个用户之外的其它用户提供的数据,则无法向该区块链上传该待上链数据等。
需要说明的是,核验规则还可以基于上述多项进行设定,而且,在实际应用中,除了可以通过上述方式设定核验规则外,还可以通过多种方式设定核验规则,具体可以基于用户的需求、区块链对应的业务的需求、区块链管理方或区块链构建方的需求等灵活的设置核验规则。
第一可信应用对应的可信程序可以是基于终端设备的TEE中的可信程序而构建的应用程序。TEE还提供了授权安全应用程序(或可称为可信程序,即TrustApp,TA)的安全执行环境,同时也保护可信程序的资源和数据的保密性、完整性和访问权限,可以通过密码学技术保证不同可信程序之间是隔离的,任意可信程序不会随意读取和操作其它可信程序的数据,因此,终端设备中除了TEE与REE相互独立外,TEE中的每一个可信程序也需要授权并相互之间独立运行。另外,可信程序在执行前需要做完整性验证,保证可信程序没有被篡改。可信程序可以和触摸屏、摄像头和指纹传感器等外设进行直接交互,而不需要通过终端设备的REE提供接口,从而保证数据的安全性。可信应用可以包括客户端程序和可信端程序,客户端程序可以为第一可信应用对应的可信程序,可信端程序可以为TEE中相应的可信程序,通过第一可信应用对应的可信程序可以触发TEE中的相应可信程序运行,从而使得第一可信应用对应的可信程序与TEE中的相应可信程序相互之间可以进行安全的数据传递。
在实施中,为了保证待上链数据的安全性和准确性,可以通过终端设备上的用于执行数据上链处理的第一可信应用对应的可信程序获取数据上链请求,从而,第一可信应用对应的可信程序可以从数据上链请求中获取待上链数据,进一步保证待上链数据的安全性。此外,还可以通过第一可信应用对应的可信程序触发TEE中的相应可信程序运行,然后,第一可信应用对应的可信程序与TEE中的相应可信程序之间建立安全的数据传输通道,通过建立的数据传输通道,第一可信应用对应的可信程序可以将待上链数据传递至终端设备的TEE中的相应可信程序,从而使得待上链数据安全的到达终端设备的TEE中。
另外,为了进一步保证待上链数据的安全性,还可以以密文的方式向终端设备的TEE中传递待上链数据,具体可以参见下述内容:通过终端设备上的用于执行数据上链处理的第一可信应用,将数据上链请求中的待上链数据以密文的方式传递至终端设备的TEE。
在实施中,为了保证数据传输过程中待上链数据的安全性,可以对待上链数据进行加密处理,其中所使用的加密算法可以包括多种,如对称加密算法或非对称加密算法等。第一可信应用可以采用上述对称加密算法或非对称加密算法对待上链数据进行加密处理,得到加密后的待上链数据(此时,待上链数据即为密文),然后,第一可信应用可以通过相应的接口和数据传输通道,将加密后的待上链数据传递至终端设备的TEE中,从而保证待上链数据在传递过程中的安全性。
需要说明的是,对于上述步骤S302中数据上链请求中已经包括经过加密处理的待上链数据的情况,此处可以不需要再对待上链数据进行加密处理,或者也可以再次对待上链数据进行加密处理,具体可以根据实际情况设定。
在步骤S306中,在TEE的可信执行环境中,对可验证声明的有效性进行验证。
在实施中,第一可信应用除了可以将数据上链请求中的待上链数据传递至终端设备的TEE中外,还可以将数据上链请求中的可验证声明传递至终端设备的TEE中。终端设备的TEE中包含上述待上链数据和可验证声明后,可以先对可验证声明进行验证,以判断该可验证声明是否有效,在确定可验证声明有效的情况下,再基于可验证声明进行相应处理,从而进一步保证数据处理的安全性。具体地,对可验证声明进行验证可以包括多种方式,例如,可以获取对可验证声明中包含的字段值通过预定的算法进行计算(例如可以通过哈希算法计算可验证声明中包含的字段值的哈希值等),得到相应的计算结果。可验证声明中还包括上述计算结果的基准值,可以将得到的计算结果与可验证声明中的基准值进行比较,如果两者相同,则验证通过,即可验证声明有效,如果两者不相同,则验证失败,即可验证声明无效。
除了上述方式外,还可以包括多种方式,再例如,可验证声明中可以包括该可验证声明的校验值,终端设备中的TEE中包含可验证声明后,可以通过预定的校验算法确定该可验证声明的校验值,然后,可以将计算的校验值与可验证声明中的校验值进行比较,如果两者相同,则验证通过,即可验证声明有效,如果两者不相同,则验证失败,即可验证声明无效等。在实际应用中,对可验证声明的有效性进行验证的方式不仅仅只包含上述两种方式,还可以包括其它多种可实现方式,具体可以根据实际情况设定,本说明书实施例对此不做限定。
在步骤S308中,如果验证结果为有效,则使用TEE的可信执行环境确定待上链数据是否符合核验规则。
在实施中,通过上述步骤S306的处理,确定验证结果为可验证声明无效时,可以确定待上链数据为不可信数据,此时,可以向数据上链请求的发起用户发送数据上链失败的通知消息。如果验证结果为可验证声明有效,则可以确定待上链数据为可信数据,即待上链数据为可信数据。
如果验证结果为有效,则可以在TEE的可信执行环境中,对经过加密处理的待上链数据进行解密,得到解密后的待上链数据,然后,可以在TEE的可信执行环境中确定解密后的待上链数据是否符合核验规则。
基于上述内容,例如,如果核验规则基于区块链的上链数据的防篡改规则设定,并以防篡改规则为确定待核验数据中是否包含指定的签名信息和/或水印信息为例,可以对上述解密后的待上链数据进行分析,确定解密后的待上链数据是否包含指定的签名信息,如果包含,则可以对解密后的待上链数据进行验签,如果验签通过,则可以确定待上链数据符合核验规则,否则,可以确定待上链数据不符合核验规则,或者,可以对上述解密后的待上链数据进行分析,确定解密后的待上链数据是否包含指定的水印信息,如果包含,则可以从解密后的待上链数据中提取水印信息,并可以对提取的水印信息进行判定,如果水印信息完整,则可以确定待上链数据符合核验规则,否则,可以确定待上链数据不符合核验规则。
再例如,如果核验规则基于上传至区块链的数据的业务核验规则设定,并以业务核验规则为确定核验待上链数据对应的业务类型是否属于电子交易类为例,对于不同的业务类型可以在待上链数据中设置相应的标识,则可以对上述解密后的待上链数据进行分析,确定解密后的待上链数据中包含的业务类型,如果确定的业务类型为电子交易类,则可以确定待上链数据符合核验规则,否则,可以确定待上链数据不符合核验规则。
如果核验规则基于上传至区块链的数据时效性条件设定,则可以对上述解密后的待上链数据进行分析,确定解密后的待上链数据的接收时间,以及解密后的待上链数据对应的数据时效性条件,如果通过上述接收时间和数据时效性条件,确定解密后的待上链数据有效,则可以确定待上链数据符合核验规则,否则,可以确定待上链数据不符合核验规则。
如果核验规则基于向区块链上传数据的用户的身份核验规则设定,则可以获取上述解密后的待上链数据的数据上传用户的相关信息,并可以基于用户的相关信息确定该用户是否具备向区块链上传数据权限,如果确定该用户具备向区块链上传数据权限,则可以确定待上链数据符合核验规则,否则,可以确定待上链数据不符合核验规则。
此外,对于使用TEE的可信执行环境确定待上链数据是否符合核验规则的具体处理方式可以包括多种,以下再提供一种可选的处理方式,具体可以包括以下步骤A2~步骤A6的处理。
在步骤A2中,在TEE的可信执行环境中,对待上链数据进行解密,得到解密后的待上链数据。
在步骤A4中,在TEE的可信执行环境中,基于核验规则对应的核验算法对解密后的待上链数据进行计算,得到相应的计算结果。
其中,核验算法可以基于核验规则的不同而不同,例如,核验算法可以为哈希算法,或者,核验算法也可以为数据提取的相关算法等,例如,可以将指定内容的数据拆分为多个不同的部分,然后将拆分后的数据分别插入到待上链数据中,然后,待上链数据到达TEE中后,可以通过上述核验算法分别从待上链数据中抽取上述被拆分后的数据,并可以将抽取的被拆分后的数据进行组合,同时也可以得到抽取后的待上链数据,此时,可以对组合的数据和抽取后的待上链数据分别进行验证等。
在步骤A6中,在TEE的可信执行环境中,将得到的计算结果与核验规则中的基准结果进行匹配,基于匹配结果确定待上链数据是否符合核验规则。
在实施中,第一可信应用可以预先获取基准结果,并可以将该基准结果传输至终端设备的TEE中。在得到解密后的待上链数据的计算结果后,可以将该计算结果与基准结果进行比对,如果两者相同,则可以确定待上链数据符合核验规则,否则,可以确定待上链数据不符合核验规则。
对于使用TEE的可信执行环境确定待上链数据是否符合核验规则的具体处理方式可以多种多样,以下再提供一种可选的处理方式,具体可以包括以下步骤B2和步骤B4。
在步骤B2中,如果验证结果为有效,则在TEE的可信执行环境中获取可验证声明的持有方对应的核验规则。
在实施中,如果验证结果为可验证声明有效,则表明待上链数据是可验证声明的持有方发布或提供的数据。为了进一步对不同可验证声明的持有方上传至区块链的数据进行核验,保证数据的安全性,可以为不同可验证声明的持有方设置核验规则,或者,可以由可验证声明的持有方预先设定该持有方上传数据的核验规则,以防止其它组织或用户盗用该可验证声明的持有方的可验证声明向区块链中上传虚假数据。在确定可验证声明有效后,可以在TEE的可信执行环境中获取可验证声明的持有方对应的核验规则。
在步骤B4中,使用TEE的可信执行环境确定待上链数据是否符合该持有方对应的核验规则。
上述步骤B4的具体处理过程可以参见上述相关内容,在此不再赘述。
在步骤S310中,若是,则基于第一可信应用从TEE中获取核验后的待上链数据,并对核验后的待上链数据进行上链处理。
为了更加灵活的对待上链数据进行数据核验,还可以对已设置在TEE中的核验规则进行修改,具体可以参见下述步骤S312~步骤S316的处理。
在步骤S312中,接收对终端设备的TEE中的核验规则的更新请求,该更新请求中包括待更新的规则数据,待更新的规则数据为密文。
在实施中,核验规则中可以包括多种不同的内容,在实际应用中,还可以根据实际情况,在TEE的可信执行环境中设置用于对待上链数据进行数据核验的模型,具体如分类模型等,该模型可以通过预定的编程语言编写的较复杂的程序得到,还可以是通过较简单的算法得到,本说明书实施例对此不做限定。此外,为了避免无关用户对核验规则进行更新,还可以为该核验规则设置具备更新权限的用户(如最初设置或创建该核验规则的用户或预先指定的用户等)的相关信息,即只有具备更新权限的用户可以对校验规则进行更新。当需要对TEE中的某核验规则进行更新时,用户可以通过其终端设备中的第一可信应用(或第一可信应用对应的可信程序等),输入需要修改核验规则的标识和待更新的规则数据,输入完成后,终端设备可以获取输入的需要更新的核验规则的标识和待更新的规则数据,并可以生成更新请求,从而终端设备可以获取到数据核验规则的更新请求。
需要说明的是,待更新的规则数据可以是该核验规则中的模型或算法等,还可以是该核验规则所适用的业务类型等,具体可以根据实际情况设定,本说明书实施例对此不做限定。
在步骤S314中,通过第一可信应用,将待更新的规则数据传递至终端设备的TEE。
在步骤S316中,在TEE的可信执行环境中,对待更新的规则数据进行解密,并基于解密后的待更新的规则数据对核验规则进行更新。
在实施中,终端设备获取到核验规则的更新请求后,可以获取该更新请求中包含的校验规则的标识,并可以通过该标识查找到相应的核验规则。可以获取具备对该核验规则进行更新权限的用户的信息,可以从获取的具备更新权限的用户的信息中,查找其中是否包含当前的更新请求的发起用户的信息,如果包含,则可以确定当前的更新请求的发起用户具备对该核验规则进行更新的权限,此时,终端设备可以基于上述更新请求对TEE的可信执行环境中的核验规则进行更新,得到更新后的核验规则。如果不包含,则可以确定当前的更新请求的发起用户不具备对该核验规则进行更新的权限,此时,终端设备可以向当前的更新请求的发起用户发送更新失败的通知消息。
需要说明的是,上述步骤S312~步骤S316中的对核验规则进行更新的处理可以是在上述步骤S302~步骤S310之后执行,在实际应用中,步骤S312~步骤S316的处理还可以是在上述步骤S302~步骤S310之前执行,还可以是在上述步骤B4之前执行等,本说明书实施例对此不做限定。
基于上述内容,通过上述方式得到更新后的核验规则后,后续可以使用更新后的核验规则对待上链数据进行数据核验,即后续可以执行上述步骤S302~步骤S310的处理,其中,步骤B4的处理可以包括:在TEE的可信执行环境中,基于可验证声明的持有方对应的更新后的核验规则对待上链数据进行数据核验,其具体处理过程可以参见上述相关内容,在此不再赘述。
本说明书实施例提供一种基于区块链的数据处理方法,应用于设置有可信执行环境TEE的终端设备,在待上链数据上传至区块链之前,可以先通过终端设备上的用于执行数据上链处理的第一可信应用将待上链数据传递至终端设备的TEE,从而保证待上链数据传输到TEE过程中的安全性,另外,使用TEE的可信执行环境中设置的核验规则,并在TEE的可信执行环境中对待上链数据进行数据核验,由于TEE是进行数据处理的安全运行环境,从而保证待上链数据在终端设备中被处理的过程中的安全性,防止待上链数据被篡改,此外,在使用TEE的可信执行环境确定待上链数据是否符合核验规则时,基于第一可信应用从TEE中获取核验后的待上链数据,并对核验后的待上链数据进行上链处理,这样,核验后的待上链数据从可信执行环境TEE中输出,并将核验后的待上链数据上传区块链均是通过第一可信应用完成,从而可以保证待上链数据从终端设备的TEE中输出和从终端设备中输出的过程中的安全性,防止核验后的待上链数据被篡改或被泄露,提高了待上链数据在上传区块链的过程中的安全性。
此外,通过与可验证声明相结合,进行待上链数据的数据核验,使得数据核验的安全性进一步提高。而且,还可以对TEE中的核验规则进行实时更新,使得可以对待上链数据进行任何简单或复杂的核验过程,提高了数据核验的可扩展性和灵活性。
实施例三
如图4所示,本说明书实施例提供一种基于区块链的数据处理方法,该方法的执行主体可以为终端设备,其中,该终端设备可以如笔记本电脑或台式电脑等计算机设备。该终端设备可以是用于对待上传至区块链中的数据进行可信性核验的终端设备。该终端设备中可以设置有可信执行环境,该可信执行环境可以是TEE,该可信执行环境TEE可以通过预定的编程语言编写的程序来实现(即可以是以软件的形式实现),该可信执行环境TEE可以为进行数据处理的安全运行环境。该方法具体可以包括以下步骤:
在步骤S402中,获取用户的数据上链请求,该数据上链请求中包括待上传至区块链的待上链数据。
其中,数据上链请求中可以包括上链请求的发起用户的数字身份信息。数字身份信息可以是指通过数字化信息将用户可识别地进行刻画的信息,也即为将真实的身份信息浓缩为数字代码的形式表现,以便对用户个人的实时行为信息进行绑定、查询和验证。数字身份信息中不仅可以包含用户的出生信息、个体描述、生物特征等身份编码信息,也涉及多种属性的个人行为信息(如交易信息或娱乐信息等)等。数字身份信息可以通过多种方式展现,如DID(Decentralized Identity,去中心化身份)等。
需要说明的是,为了保证上传的待上链数据的安全性,数据上链请求中可以包括经过加密处理的待上链数据,此时,还可以通过下述处理对待上链数据进行预处理,具体可以包括以下内容:在TEE的可信执行环境中,对经过加密处理的待上链数据进行解密,得到解密后的待上链数据数据。
在步骤S404中,通过终端设备上的用于执行数据上链处理的第一可信应用对应的可信程序获取数据上链请求中的待上链数据,并通过第一可信应用对应的可信程序将待上链数据传递至终端设备的TEE,其中,TEE中设置有针对第一可信应用的待上链数据进行数据核验的核验规则。
其中,核验规则基于以下中的一项或多项进行设定:区块链的上链数据的防篡改规则;上传至区块链的数据的业务核验规则;上传至区块链的数据时效性条件;以及,向区块链上传数据的用户的身份核验规则。
另外,为了进一步保证待上链数据的安全性,还可以以密文的方式向终端设备的TEE中传递待上链数据,具体可以参见下述内容:通过终端设备上的用于执行数据上链处理的第一可信应用,将数据上链请求中的待上链数据以密文的方式传递至终端设备的TEE。
在步骤S406中,在TEE的可信执行环境中,查找可信执行环境中预先存储的数字身份信息中是否存在用户的数字身份信息。
在实施中,区块链中可以为不同的用户构建相应的数字身份信息,为此,可以预先设置具有将数据上传至区块链的用户的数字身份信息(如用户的DID等),并可以将具有将数据上传至区块链的用户的数字身份信息存储在TEE中或将上述数字身份信息进行加密处理后存储在终端设备中。当终端设备获取到数据上链请求后,可以从TEE中查找预先存储的数字身份信息中是否存在数据上链请求的发起用户的数字身份信息,或者,可以将经过加密处理的数字身份信息传递至TEE中,可以在TEE的可信执行环境中对经过加密处理的数字身份信息进行解密处理,得到数字身份信息,然后,再从该数字身份信息中查找是否存在数据上链请求的发起用户的数字身份信息。
在步骤S408中,如果存在,则使用TEE的可信执行环境确定待上链数据是否符合核验规则。
此外,对于使用TEE的可信执行环境确定待上链数据是否符合核验规则的具体处理方式可以包括多种,以下再提供一种可选的处理方式,具体可以包括:在TEE的可信执行环境中,对待上链数据进行解密,得到解密后的待上链数据;在TEE的可信执行环境中,基于核验规则对应的核验算法对解密后的待上链数据进行计算,得到相应的计算结果;在TEE的可信执行环境中,将得到的计算结果与核验规则中的基准结果进行匹配,基于匹配结果确定待上链数据是否符合核验规则。
上述步骤S408的具体处理过程可以参见上述相关内容,在此不再赘述。
在步骤S410中,若是,则基于第一可信应用从TEE中获取核验后的待上链数据,并对核验后的待上链数据进行上链处理。
为了更加灵活的对待上链数据进行数据核验,还可以对已设置在TEE中的核验规则进行修改,具体可以参见下述步骤S412~步骤S416的处理。
在步骤S412中,接收对终端设备的TEE中的核验规则的更新请求,该更新请求中包括待更新的规则数据,待更新的规则数据为密文。
在步骤S414中,通过第一可信应用,将待更新的规则数据传递至终端设备的TEE。
在步骤S416中,在TEE的可信执行环境中,对待更新的规则数据进行解密,并基于解密后的待更新的规则数据对核验规则进行更新。
需要说明的是,上述步骤S412~步骤S416中的对核验规则进行更新的处理可以是在上述步骤S402~步骤S410之后执行,在实际应用中,步骤S412~步骤S416的处理还可以是在上述步骤S402~步骤S410之前执行,本说明书实施例对此不做限定。
上述步骤S412~步骤S416的具体处理过程可以参见上述相关内容,在此不再赘述。
本说明书实施例提供一种基于区块链的数据处理方法,应用于设置有可信执行环境TEE的终端设备,在待上链数据上传至区块链之前,可以先通过终端设备上的用于执行数据上链处理的第一可信应用将待上链数据传递至终端设备的TEE,从而保证待上链数据传输到TEE过程中的安全性,另外,使用TEE的可信执行环境中设置的核验规则,并在TEE的可信执行环境中对待上链数据进行数据核验,由于TEE是进行数据处理的安全运行环境,从而保证待上链数据在终端设备中被处理的过程中的安全性,防止待上链数据被篡改,此外,在使用TEE的可信执行环境确定待上链数据是否符合核验规则时,基于第一可信应用从TEE中获取核验后的待上链数据,并对核验后的待上链数据进行上链处理,这样,核验后的待上链数据从可信执行环境TEE中输出,并将核验后的待上链数据上传区块链均是通过第一可信应用完成,从而可以保证待上链数据从终端设备的TEE中输出和从终端设备中输出的过程中的安全性,防止核验后的待上链数据被篡改或被泄露,提高了待上链数据在上传区块链的过程中的安全性。
此外,通过与数字身份信息(如DID等)相结合,进行待上链数据的数据核验,使得数据核验的安全性进一步提高。而且,还可以对TEE中的核验规则进行实时更新,使得可以对待上链数据进行任何简单或复杂的核验过程,提高了数据核验的可扩展性和灵活性。
实施例四
以上为本说明书实施例提供的基于区块链的数据处理方法,基于同样的思路,本说明书实施例还提供一种基于区块链的数据处理装置,所述装置设置有可信执行环境TEE,该可信执行环境TEE可以为进行数据处理的安全运行环境,如图5所示。
该基于区块链的数据处理装置包括:上链请求模块501、数据传递模块502、数据核验模块503和上链模块504,其中:
上链请求模块501,获取用户的数据上链请求,所述数据上链请求中包括待上传至区块链的待上链数据;
数据传递模块502,通过所述装置上的用于执行数据上链处理的第一可信应用,将所述数据上链请求中的待上链数据传递至所述装置的TEE;其中,所述TEE中设置有针对所述第一可信应用的待上链数据进行数据核验的核验规则;
数据核验模块503,使用所述TEE的可信执行环境确定所述待上链数据是否符合所述核验规则;
上链模块504,若使用所述TEE的可信执行环境确定所述待上链数据符合所述核验规则,则基于所述第一可信应用从所述TEE中获取核验后的待上链数据,并对核验后的所述待上链数据进行上链处理。
本说明书实施例中,所述数据传递模块502,通过所述装置上的用于执行数据上链处理的第一可信应用,将所述数据上链请求中的待上链数据以密文的方式传递至所述装置的TEE。
本说明书实施例中,所述数据传递模块502,通过所述装置上的用于执行数据上链处理的第一可信应用对应的可信程序获取所述数据上链请求中的待上链数据,并通过所述第一可信应用对应的可信程序将所述待上链数据传递至所述装置的TEE。
本说明书实施例中,所述装置还包括:
更新请求模块,接收对所述装置的TEE中的所述核验规则的更新请求,所述更新请求中包括待更新的规则数据,所述待更新的规则数据为密文;
更新数据传递模块,通过所述第一可信应用,将所述待更新的规则数据传递至所述装置的TEE;
更新模块,在所述TEE的可信执行环境中,对所述待更新的规则数据进行解密,并基于解密后的所述待更新的规则数据对所述核验规则进行更新。
本说明书实施例中,所述核验规则基于以下中的一项或多项进行设定:
所述区块链的上链数据的防篡改规则;
上传至所述区块链的数据的业务核验规则;
上传至所述区块链的数据时效性条件;以及,
向所述区块链上传数据的用户的身份核验规则。
本说明书实施例中,所述数据上链请求中包括所述待上链数据的可验证声明,所述数据核验模块503,包括:
有效性验证单元,在所述TEE的可信执行环境中,对所述可验证声明的有效性进行验证;
第一数据核验单元,如果验证结果为有效,则使用所述TEE的可信执行环境确定所述待上链数据是否符合所述核验规则。
本说明书实施例中,所述第一数据核验单元,如果验证结果为有效,则在所述TEE的可信执行环境中获取所述可验证声明的持有方对应的核验规则;使用所述TEE的可信执行环境确定所述待上链数据是否符合所述持有方对应的核验规则。
本说明书实施例中,所述数据上链请求中包括所述用户的数字身份信息,所述数据核验模块503,包括:
查找单元,在所述TEE的可信执行环境中,查找所述可信执行环境中预先存储的数字身份信息中是否存在所述用户的数字身份信息;
第二数据核验单元,如果存在,则使用所述TEE的可信执行环境确定所述待上链数据是否符合所述核验规则。
本说明书实施例中,所述待上链数据为密文,所述数据核验模块503,包括:
在所述TEE的可信执行环境中,执行以下处理:
解密单元,对所述待上链数据进行解密,得到解密后的待上链数据;
计算单元,基于所述核验规则对应的核验算法对所述解密后的待上链数据进行计算,得到相应的计算结果;
第三数据核验单元,将得到的所述计算结果与所述核验规则中的基准结果进行匹配,基于匹配结果确定所述待上链数据是否符合所述核验规则。
本说明书实施例提供一种基于区块链的数据处理装置,设置有可信执行环境TEE,在待上链数据上传至区块链之前,可以先通过所述装置上的用于执行数据上链处理的第一可信应用将待上链数据传递至所述装置的TEE,从而保证待上链数据传输到TEE过程中的安全性,另外,使用TEE的可信执行环境中设置的核验规则,并在TEE的可信执行环境中对待上链数据进行数据核验,由于TEE是进行数据处理的安全运行环境,从而保证待上链数据在所述装置中被处理的过程中的安全性,防止待上链数据被篡改,此外,在使用TEE的可信执行环境确定待上链数据是否符合核验规则时,基于第一可信应用从TEE中获取核验后的待上链数据,并对核验后的待上链数据进行上链处理,这样,核验后的待上链数据从可信执行环境TEE中输出,并将核验后的待上链数据上传区块链均是通过第一可信应用完成,从而可以保证待上链数据从所述装置的TEE中输出和从所述装置中输出的过程中的安全性,防止核验后的待上链数据被篡改或被泄露,提高了待上链数据在上传区块链的过程中的安全性。
此外,通过分别与可验证声明和数字身份信息(如DID等)等相结合,进行待上链数据的数据核验,使得数据核验的安全性进一步提高。而且,还可以对TEE中的核验规则进行实时更新,使得可以对待上链数据进行任何简单或复杂的核验过程,提高了数据核验的可扩展性和灵活性。
实施例五
以上为本说明书实施例提供的基于区块链的数据处理装置,基于同样的思路,本说明书实施例还提供一种基于区块链的数据处理设备,如图6所示。
所述基于区块链的数据处理设备可以为上述实施例提供的终端设备,该基于区块链的数据处理设备中可以设置有可信执行环境TEE,该可信执行环境TEE可以通过预定的编程语言编写的程序来实现(即可以是以软件的形式实现),该可信执行环境TEE可以为进行数据处理的安全运行环境。
基于区块链的数据处理设备可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上的处理器601和存储器602,存储器602中可以存储有一个或一个以上存储应用程序或数据。其中,存储器602可以是短暂存储或持久存储。存储在存储器602的应用程序可以包括一个或一个以上模块(图示未示出),每个模块可以包括对基于区块链的数据处理设备中的一系列计算机可执行指令。更进一步地,处理器601可以设置为与存储器602通信,在基于区块链的数据处理设备上执行存储器602中的一系列计算机可执行指令。基于区块链的数据处理设备还可以包括一个或一个以上电源603,一个或一个以上有线或无线网络接口604,一个或一个以上输入输出接口605,一个或一个以上键盘606。
具体在本实施例中,基于区块链的数据处理设备包括有存储器,以及一个或一个以上的程序,其中一个或者一个以上程序存储于存储器中,且一个或者一个以上程序可以包括一个或一个以上模块,且每个模块可以包括对基于区块链的数据处理设备中的一系列计算机可执行指令,且经配置以由一个或者一个以上处理器执行该一个或者一个以上程序包含用于进行以下计算机可执行指令:
获取用户的数据上链请求,所述数据上链请求中包括待上传至区块链的待上链数据;
通过所述设备上的用于执行数据上链处理的第一可信应用,将所述数据上链请求中的待上链数据传递至所述设备的TEE;其中,所述TEE中设置有针对所述第一可信应用的待上链数据进行数据核验的核验规则;
使用所述TEE的可信执行环境确定所述待上链数据是否符合所述核验规则;
若是,则基于所述第一可信应用从所述TEE中获取核验后的待上链数据,并对核验后的所述待上链数据进行上链处理。
本说明书实施例中,所述通过所述设备上的用于执行数据上链处理的第一可信应用,将所述数据上链请求中的待上链数据传递至所述设备的TEE,包括:
通过所述设备上的用于执行数据上链处理的第一可信应用,将所述数据上链请求中的待上链数据以密文的方式传递至所述设备的TEE。
本说明书实施例中,所述通过所述设备上的用于执行数据上链处理的第一可信应用,将所述数据上链请求中的待上链数据传递至所述设备的TEE,包括:
通过所述设备上的用于执行数据上链处理的第一可信应用对应的可信程序获取所述数据上链请求中的待上链数据,并通过所述第一可信应用对应的可信程序将所述待上链数据传递至所述设备的TEE。
本说明书实施例中,还包括:
接收对所述设备的TEE中的所述核验规则的更新请求,所述更新请求中包括待更新的规则数据,所述待更新的规则数据为密文;
通过所述第一可信应用,将所述待更新的规则数据传递至所述设备的TEE;
在所述TEE的可信执行环境中,对所述待更新的规则数据进行解密,并基于解密后的所述待更新的规则数据对所述核验规则进行更新。
本说明书实施例中,所述核验规则基于以下中的一项或多项进行设定:
所述区块链的上链数据的防篡改规则;
上传至所述区块链的数据的业务核验规则;
上传至所述区块链的数据时效性条件;以及,
向所述区块链上传数据的用户的身份核验规则。
本说明书实施例中,所述数据上链请求中包括所述待上链数据的可验证声明,所述使用所述TEE的可信执行环境确定所述待上链数据是否符合所述核验规则,包括:
在所述TEE的可信执行环境中,对所述可验证声明的有效性进行验证;
如果验证结果为有效,则使用所述TEE的可信执行环境确定所述待上链数据是否符合所述核验规则。
本说明书实施例中,所述如果验证结果为有效,则使用所述TEE的可信执行环境确定所述待上链数据是否符合所述核验规则,包括:
如果验证结果为有效,则在所述TEE的可信执行环境中获取所述可验证声明的持有方对应的核验规则;
使用所述TEE的可信执行环境确定所述待上链数据是否符合所述持有方对应的核验规则。
本说明书实施例中,所述数据上链请求中包括所述用户的数字身份信息,所述使用所述TEE的可信执行环境确定所述待上链数据是否符合所述核验规则,包括:
在所述TEE的可信执行环境中,查找所述可信执行环境中预先存储的数字身份信息中是否存在所述用户的数字身份信息;
如果存在,则使用所述TEE的可信执行环境确定所述待上链数据是否符合所述核验规则。
本说明书实施例中,所述待上链数据为密文,所述使用所述TEE的可信执行环境确定所述待上链数据是否符合所述核验规则,包括:
在所述TEE的可信执行环境中,执行以下处理:
对所述待上链数据进行解密,得到解密后的待上链数据;
基于所述核验规则对应的核验算法对所述解密后的待上链数据进行计算,得到相应的计算结果;
将得到的所述计算结果与所述核验规则中的基准结果进行匹配,基于匹配结果确定所述待上链数据是否符合所述核验规则。
本说明书实施例提供一种基于区块链的数据处理设备,设置有可信执行环境TEE,在待上链数据上传至区块链之前,可以先通过所述设备上的用于执行数据上链处理的第一可信应用将待上链数据传递至所述设备的TEE,从而保证待上链数据传输到TEE过程中的安全性,另外,使用TEE的可信执行环境中设置的核验规则,并在TEE的可信执行环境中对待上链数据进行数据核验,由于TEE是进行数据处理的安全运行环境,从而保证待上链数据在所述设备中被处理的过程中的安全性,防止待上链数据被篡改,此外,在使用TEE的可信执行环境确定待上链数据是否符合核验规则时,基于第一可信应用从TEE中获取核验后的待上链数据,并对核验后的待上链数据进行上链处理,这样,核验后的待上链数据从可信执行环境TEE中输出,并将核验后的待上链数据上传区块链均是通过第一可信应用完成,从而可以保证待上链数据从所述设备的TEE中输出和从所述设备中输出的过程中的安全性,防止核验后的待上链数据被篡改或被泄露,提高了待上链数据在上传区块链的过程中的安全性。
此外,通过分别与可验证声明和数字身份信息(如DID等)等相结合,进行待上链数据的数据核验,使得数据核验的安全性进一步提高。而且,还可以对TEE中的核验规则进行实时更新,使得可以对待上链数据进行任何简单或复杂的核验过程,提高了数据核验的可扩展性和灵活性。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
在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,存储器控制器还可以被实现为存储器的控制逻辑的一部分。本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是一种硬件部件,而对其内包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本说明书一个或多个实施例时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
本领域内的技术人员应明白,本说明书的实施例可提供为方法、系统、或计算机程序产品。因此,本说明书一个或多个实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本说明书一个或多个实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本说明书的实施例是参照根据本说明书实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程基于区块链的数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程基于区块链的数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程基于区块链的数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程基于区块链的数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
本领域技术人员应明白,本说明书的实施例可提供为方法、系统或计算机程序产品。因此,本说明书一个或多个实施例可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本说明书一个或多个实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本说明书一个或多个实施例可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本说明书一个或多个实施例,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本说明书的实施例而已,并不用于限制本说明书。对于本领域技术人员来说,本说明书可以有各种更改和变化。凡在本说明书的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本说明书的权利要求范围之内。
Claims (10)
1.一种基于区块链的数据处理方法,应用于设置有可信执行环境TEE的终端设备,所述方法包括:
获取用户的数据上链请求,所述数据上链请求中包括待上传至区块链的待上链数据和所述用户的数字身份信息;
通过所述终端设备上的用于执行数据上链处理的第一可信应用,将所述数据上链请求中的待上链数据传递至所述终端设备的TEE;其中,所述TEE中设置有针对所述第一可信应用的待上链数据进行数据核验的核验规则;
在所述TEE的可信执行环境中,查找所述可信执行环境中预先存储的数字身份信息中是否存在所述用户的数字身份信息;
如果存在,则使用所述TEE的可信执行环境确定所述待上链数据是否符合所述核验规则;
若是,则基于所述第一可信应用从所述TEE中获取核验后的待上链数据,并对核验后的所述待上链数据进行上链处理。
2.根据权利要求1所述的方法,所述使用所述TEE的可信执行环境确定所述待上链数据是否符合所述核验规则,包括:
在所述TEE的可信执行环境中,对所述可验证声明的有效性进行验证;
如果验证结果为有效,则使用所述TEE的可信执行环境确定所述待上链数据是否符合所述核验规则。
3.根据权利要求1所述的方法,所述通过所述终端设备上的用于执行数据上链处理的第一可信应用,将所述数据上链请求中的待上链数据传递至所述终端设备的TEE,包括:
通过所述终端设备上的用于执行数据上链处理的第一可信应用,将所述数据上链请求中的待上链数据以密文的方式传递至所述终端设备的TEE。
4.根据权利要求1所述的方法,所述通过所述终端设备上的用于执行数据上链处理的第一可信应用,将所述数据上链请求中的待上链数据传递至所述终端设备的TEE,包括:
通过所述终端设备上的用于执行数据上链处理的第一可信应用对应的可信程序获取所述数据上链请求中的待上链数据,并通过所述第一可信应用对应的可信程序将所述待上链数据传递至所述终端设备的TEE。
5.根据权利要求1所述的方法,所述方法还包括:
接收对所述终端设备的TEE中的所述核验规则的更新请求,所述更新请求中包括待更新的规则数据,所述待更新的规则数据为密文;
通过所述第一可信应用,将所述待更新的规则数据传递至所述终端设备的TEE;
在所述TEE的可信执行环境中,对所述待更新的规则数据进行解密,并基于解密后的所述待更新的规则数据对所述核验规则进行更新。
6.根据权利要求5所述的方法,所述核验规则基于以下中的一项或多项进行设定:
所述区块链的上链数据的防篡改规则;
上传至所述区块链的数据的业务核验规则;
上传至所述区块链的数据时效性条件;以及,
向所述区块链上传数据的用户的身份核验规则。
7.根据权利要求1所述的方法,所述如果验证结果为有效,则使用所述TEE的可信执行环境确定所述待上链数据是否符合所述核验规则,包括:
如果验证结果为有效,则在所述TEE的可信执行环境中获取所述可验证声明的持有方对应的核验规则;
使用所述TEE的可信执行环境确定所述待上链数据是否符合所述持有方对应的核验规则。
8.根据权利要求1-7中任一项所述的方法,所述待上链数据为密文,所述使用所述TEE的可信执行环境确定所述待上链数据是否符合所述核验规则,包括:
在所述TEE的可信执行环境中,执行以下处理:
对所述待上链数据进行解密,得到解密后的待上链数据;
基于所述核验规则对应的核验算法对所述解密后的待上链数据进行计算,得到相应的计算结果;
将得到的所述计算结果与所述核验规则中的基准结果进行匹配,基于匹配结果确定所述待上链数据是否符合所述核验规则。
9.一种基于区块链的数据处理装置,所述装置设置有可信执行环境TEE,所述装置包括:
上链请求模块,获取用户的数据上链请求,所述数据上链请求中包括待上传至区块链的待上链数据和所述用户的数字身份信息;
数据传递模块,通过所述装置上的用于执行数据上链处理的第一可信应用,将所述数据上链请求中的待上链数据传递至所述装置的TEE;其中,所述TEE中设置有针对所述第一可信应用的待上链数据进行数据核验的核验规则;
数据核验模块,在所述TEE的可信执行环境中,查找所述可信执行环境中预先存储的数字身份信息中是否存在所述用户的数字身份信息;如果存在,则使用所述TEE的可信执行环境确定所述待上链数据是否符合所述核验规则;
上链模块,若使用所述TEE的可信执行环境确定所述待上链数据符合所述核验规则,则基于所述第一可信应用从所述TEE中获取核验后的待上链数据,并对核验后的所述待上链数据进行上链处理。
10.一种基于区块链的数据处理设备,所述设备设置有可信执行环境TEE,所述设备包括:
处理器;以及
被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器:
获取用户的数据上链请求,所述数据上链请求中包括待上传至区块链的待上链数据和所述用户的数字身份信息;
通过所述设备上的用于执行数据上链处理的第一可信应用,将所述数据上链请求中的待上链数据传递至所述设备的TEE;其中,所述TEE中设置有针对所述第一可信应用的待上链数据进行数据核验的核验规则;
在所述TEE的可信执行环境中,查找所述可信执行环境中预先存储的数字身份信息中是否存在所述用户的数字身份信息;
如果存在,则使用所述TEE的可信执行环境确定所述待上链数据是否符合所述核验规则;
若是,则基于所述第一可信应用从所述TEE中获取核验后的待上链数据,并对核验后的所述待上链数据进行上链处理。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310313113.6A CN116340955A (zh) | 2020-07-31 | 2020-07-31 | 一种基于区块链的数据处理方法、装置及设备 |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310313113.6A CN116340955A (zh) | 2020-07-31 | 2020-07-31 | 一种基于区块链的数据处理方法、装置及设备 |
CN202010757355.0A CN111680305B (zh) | 2020-07-31 | 2020-07-31 | 一种基于区块链的数据处理方法、装置及设备 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010757355.0A Division CN111680305B (zh) | 2020-07-31 | 2020-07-31 | 一种基于区块链的数据处理方法、装置及设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116340955A true CN116340955A (zh) | 2023-06-27 |
Family
ID=72458100
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010757355.0A Active CN111680305B (zh) | 2020-07-31 | 2020-07-31 | 一种基于区块链的数据处理方法、装置及设备 |
CN202310313113.6A Pending CN116340955A (zh) | 2020-07-31 | 2020-07-31 | 一种基于区块链的数据处理方法、装置及设备 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010757355.0A Active CN111680305B (zh) | 2020-07-31 | 2020-07-31 | 一种基于区块链的数据处理方法、装置及设备 |
Country Status (3)
Country | Link |
---|---|
US (1) | US11288371B2 (zh) |
EP (1) | EP3945440B1 (zh) |
CN (2) | CN111680305B (zh) |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112398907B (zh) * | 2020-10-20 | 2024-01-12 | 易显智能科技有限责任公司 | 一种基于区块链的驾驶行为保真数据链的方法及相关装置 |
CN112270005B (zh) * | 2020-10-28 | 2022-04-26 | 支付宝(杭州)信息技术有限公司 | 一种数据传输方法和系统 |
CN113313489A (zh) * | 2020-11-24 | 2021-08-27 | 陈敏 | 基于大数据的区块链支付数据处理方法及云服务器 |
US11836260B2 (en) * | 2020-11-25 | 2023-12-05 | Arm Limited | Data security |
CN112800130A (zh) * | 2020-12-30 | 2021-05-14 | 杭州趣链科技有限公司 | 数据上链方法、系统、装置、设备和存储介质 |
CN112632592B (zh) * | 2021-03-05 | 2021-07-06 | 江苏荣泽信息科技股份有限公司 | 一种基于tee技术的区块链可信隐私计算能力提升系统 |
CN115086165A (zh) * | 2021-03-12 | 2022-09-20 | 中兴通讯股份有限公司 | 信息处理方法、装置、设备和存储介质 |
CN113472546B (zh) * | 2021-09-02 | 2022-05-24 | 杭州链城数字科技有限公司 | 数据可信处理方法、区块链平台和终端设备 |
CN113783965A (zh) * | 2021-09-18 | 2021-12-10 | 北京俩撇科技有限公司 | 一种区块链出块方法、装置、设备和存储介质 |
GB2616245A (en) * | 2021-12-02 | 2023-09-06 | Royal Holloway Univ Of London | A method and system for securely sharing data |
CN114978723B (zh) * | 2022-05-26 | 2023-03-17 | 中国电子信息产业集团有限公司第六研究所 | 一种可编程逻辑控制器安全认证方法 |
CN114896603A (zh) * | 2022-05-26 | 2022-08-12 | 支付宝(杭州)信息技术有限公司 | 一种业务处理方法、装置及设备 |
CN114996694B (zh) * | 2022-08-01 | 2023-01-24 | 阿里云计算有限公司 | 一种数据融合方法、设备、系统及存储介质 |
Family Cites Families (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107438002B (zh) * | 2016-05-27 | 2022-02-11 | 索尼公司 | 基于区块链的系统以及系统中的电子设备和方法 |
US20180183586A1 (en) * | 2016-12-28 | 2018-06-28 | Intel Corporation | Assigning user identity awareness to a cryptographic key |
WO2018179293A1 (ja) * | 2017-03-30 | 2018-10-04 | 日本電気株式会社 | 検証情報付与装置、検証装置、情報管理システム、方法およびプログラム |
US10742393B2 (en) * | 2017-04-25 | 2020-08-11 | Microsoft Technology Licensing, Llc | Confidentiality in a consortium blockchain network |
US11184175B2 (en) * | 2018-07-30 | 2021-11-23 | Hewlett Packard Enterprise Development Lp | Systems and methods for using secured representations of location and user distributed ledger addresses to prove user presence at a location and time |
CN109194626A (zh) * | 2018-08-10 | 2019-01-11 | 北京首汽智行科技有限公司 | 基于区块链的数据上链判断方法 |
CN109257342B (zh) * | 2018-09-04 | 2020-05-26 | 阿里巴巴集团控股有限公司 | 区块链跨链的认证方法、系统、服务器及可读存储介质 |
CN109614262B (zh) * | 2018-09-25 | 2023-03-07 | 创新先进技术有限公司 | 业务校验方法、装置及计算机可读存储介质 |
CN109543942A (zh) * | 2018-10-16 | 2019-03-29 | 平安普惠企业管理有限公司 | 数据校验方法、装置、计算机设备和存储介质 |
CN112765595B (zh) * | 2018-11-16 | 2024-05-10 | 创新先进技术有限公司 | 跨区块链的数据处理方法、装置、客户端、区块链系统 |
CN109903041A (zh) * | 2018-11-30 | 2019-06-18 | 阿里巴巴集团控股有限公司 | 用于区块链交易的区块上链的方法及系统 |
SG11201908981SA (en) * | 2019-03-27 | 2019-10-30 | Alibaba Group Holding Ltd | Retrieving public data for blockchain networks using highly available trusted execution environments |
ES2872101T3 (es) * | 2019-04-26 | 2021-11-02 | Advanced New Technologies Co Ltd | Gestión de claves distribuidas para entornos de ejecución confiables |
US10999075B2 (en) * | 2019-06-17 | 2021-05-04 | Advanced New Technologies Co., Ltd. | Blockchain-based patrol inspection proof storage method, apparatus, and electronic device |
CN110400213A (zh) * | 2019-07-26 | 2019-11-01 | 中国工商银行股份有限公司 | 数据处理方法和装置、以及电子设备和可读介质 |
CN110764942B (zh) * | 2019-09-17 | 2023-08-18 | 平安银行股份有限公司 | 多种类数据校验方法、装置、计算机系统及可读存储介质 |
CN111078745A (zh) * | 2019-12-20 | 2020-04-28 | 京东数字科技控股有限公司 | 基于区块链技术的数据上链方法和装置 |
CN111143890B (zh) * | 2019-12-26 | 2022-09-20 | 百度在线网络技术(北京)有限公司 | 一种基于区块链的计算处理方法、装置、设备和介质 |
CN111680274B (zh) * | 2020-03-03 | 2022-11-22 | 支付宝(杭州)信息技术有限公司 | 资源访问方法、装置及设备 |
CN111090876B (zh) * | 2020-03-18 | 2020-07-17 | 支付宝(杭州)信息技术有限公司 | 调用合约的方法及装置 |
CN111190974B (zh) * | 2020-04-10 | 2021-01-26 | 支付宝(杭州)信息技术有限公司 | 可验证声明的转发、获取方法、装置及设备 |
CN111339536B (zh) * | 2020-05-15 | 2020-11-24 | 支付宝(杭州)信息技术有限公司 | 一种基于安全执行环境的数据验证方法及装置 |
CN111814198B (zh) * | 2020-09-11 | 2021-03-23 | 支付宝(杭州)信息技术有限公司 | 一种基于区块链的用户隐私数据提供方法及装置 |
-
2020
- 2020-07-31 CN CN202010757355.0A patent/CN111680305B/zh active Active
- 2020-07-31 CN CN202310313113.6A patent/CN116340955A/zh active Pending
-
2021
- 2021-06-24 EP EP21181318.3A patent/EP3945440B1/en active Active
- 2021-06-25 US US17/358,479 patent/US11288371B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
EP3945440A1 (en) | 2022-02-02 |
EP3945440B1 (en) | 2024-03-13 |
CN111680305A (zh) | 2020-09-18 |
CN111680305B (zh) | 2023-04-18 |
US11288371B2 (en) | 2022-03-29 |
US20220035922A1 (en) | 2022-02-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111680305B (zh) | 一种基于区块链的数据处理方法、装置及设备 | |
RU2728524C1 (ru) | Способ и устройство консенсусной верификации | |
US11258591B2 (en) | Cryptographic key management based on identity information | |
KR20210041404A (ko) | 전자 장치 및 그 전자 장치를 이용한 블록체인 주소 관리 방법 | |
CN110222531B (zh) | 一种访问数据库的方法、系统及设备 | |
EP3945695B1 (en) | Method, apparatus, and device for processing blockchain data | |
CN113239853B (zh) | 一种基于隐私保护的生物识别方法、装置及设备 | |
CN113704826A (zh) | 一种基于隐私保护的业务风险检测方法、装置及设备 | |
CN109560933B (zh) | 基于数字证书的认证方法及系统、存储介质、电子设备 | |
CN112182506A (zh) | 一种数据的合规检测方法、装置及设备 | |
CN113792297A (zh) | 一种业务处理方法、装置及设备 | |
CN112199661A (zh) | 一种基于隐私保护的设备身份处理方法、装置及设备 | |
EP3945696B1 (en) | Blockchain data processing method, apparatus, and device | |
US20200313874A1 (en) | Managing cryptographic keys based on identity information | |
CN113282959A (zh) | 业务数据处理方法、装置及电子设备 | |
WO2023155641A1 (zh) | 数据的处理 | |
CN111783071A (zh) | 基于密码、基于隐私数据的验证方法、装置、设备及系统 | |
EP4322095A1 (en) | Resource transfer | |
CN117436875A (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 |