CN113691508B - 数据传输方法、系统、装置、计算机设备及存储介质 - Google Patents

数据传输方法、系统、装置、计算机设备及存储介质 Download PDF

Info

Publication number
CN113691508B
CN113691508B CN202110903165.XA CN202110903165A CN113691508B CN 113691508 B CN113691508 B CN 113691508B CN 202110903165 A CN202110903165 A CN 202110903165A CN 113691508 B CN113691508 B CN 113691508B
Authority
CN
China
Prior art keywords
data
provider
user
target task
request
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
Application number
CN202110903165.XA
Other languages
English (en)
Other versions
CN113691508A (zh
Inventor
帅斌成
郭林海
高扬
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shanghai Pudong Development Bank Co Ltd
Original Assignee
Shanghai Pudong Development Bank Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Shanghai Pudong Development Bank Co Ltd filed Critical Shanghai Pudong Development Bank Co Ltd
Priority to CN202110903165.XA priority Critical patent/CN113691508B/zh
Publication of CN113691508A publication Critical patent/CN113691508A/zh
Application granted granted Critical
Publication of CN113691508B publication Critical patent/CN113691508B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/45Network directories; Name-to-address mapping
    • H04L61/4505Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols
    • H04L61/4511Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols using domain name system [DNS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network 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
    • H04L63/0435Network 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 wherein the sending and receiving network entities apply symmetric encryption, i.e. same key used for encryption and decryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0823Network architectures or network communication protocols for network security for authentication of entities using certificates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • H04L9/3239Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Storage Device Security (AREA)

Abstract

本申请涉及一种数据传输方法、系统、装置、计算机设备及存储介质。该方法包括:获取区块链中已授权的数据使用请求,数据使用请求用于请求在预先创建的使用方可信执行环境中,运行数据使用请求对应的任务程序所需的目标任务数据;通过使用方可信网关从区块链中获取目标任务数据的数据访问地址;数据访问地址为数据提供方通过提供方可信网关存储的目标任务数据的唯一访问地址;根据数据访问地址,向提供方可信网关发送数据获取请求,并接收提供方可信网关返回的目标任务数据。如此,对已授权的数据使用请求,根据数据访问地址从提供方可信网关获取数据,且获取的数据在使用方可信执行环境中运行,通过可信执行环境和区块链保证了数据的安全性。

Description

数据传输方法、系统、装置、计算机设备及存储介质
技术领域
本申请涉及数据传输技术领域,特别是涉及一种数据传输方法、系统、装置、计算机设备及存储介质。
背景技术
随着互联网数据服务技术的快速发展,用户在不同业务下的任务产生的个人数据会由不同数据服务端保存。对于一项用户任务而言,数据使用方可能需要从其他的数据提供方获取相应的数据来完成自身的计算任务。
相关技术中,数据使用方向数据提供方发送数据使用请求,数据提供方根据该数据使用请求确定数据使用方所需要的目标数据,将目标数据加密打包后,通过通信软件或者移动硬盘等存储介质传输到数据使用方。
然而,上述在传输数据的过程中存在数据保密性较差、安全性较低的问题。
发明内容
基于此,有必要针对上述技术问题,提供一种能够提高数据传输安全性和保密性的数据传输方法、系统、装置、计算机设备及存储介质。
第一方面,提供了一种数据传输方法,该方法包括:
获取区块链中已授权的数据使用请求,数据使用请求用于请求在预先创建的使用方可信执行环境中,运行数据使用请求对应的任务程序所需的目标任务数据;
通过使用方可信网关从区块链中获取目标任务数据的数据访问地址;数据访问地址为数据提供方通过提供方可信网关存储的目标任务数据的唯一访问地址;
根据数据访问地址,向提供方可信网关发送数据获取请求,并接收提供方可信网关返回的目标任务数据。
在其中一个实施例中,数据访问地址为数据提供方通过提供方可信网关在提供方可信执行环境中对目标任务数据进行加密,生成存储加密后目标任务数据的唯一访问地址。
在其中一个实施例中,在通过使用方可信网关从区块链中获取目标任务数据的数据访问地址之前,方法包括:
根据区块链中已授权的数据使用请求,通过使用方可信网关连接任务程序;
从使用方可信执行环境中确定运行任务程序的目标沙盒,并在目标沙盒内启动任务程序。
在其中一个实施例中,在目标沙盒内启动任务程序之前,方法包括:
在使用方可信执行环境中对任务程序进行安全性检验,安全性检验包括以下至少一种方式:
对任务程序的代码进行静态扫描;
对任务程序的代码文件建立第一抽象层;第一抽象层用于屏蔽代码文件的写操作;
对任务程序的调用操作建立第二抽象层;第二抽象层用于使用方可信网关调用任务程序;
对任务程序的源代码进行审核。
在其中一个实施例中,获取区块链中已授权的数据使用请求,包括:
在区块链中发起数据使用请求;数据使用请求包括数据使用方的身份标识和目标任务数据的数据指纹;
在区块链上监听数据使用请求的授权状态;
若数据使用请求的状态为已授权,则获取已授权的数据使用请求;已授权的数据使用请求为数据提供方审核后确定的合法数据请求。
在其中一个实施例中,在获取已授权的数据使用请求之后,方法包括:
根据已授权的数据使用请求,验证使用方可信执行环境和数据提供方预先创建的提供方可信执行环境的合法性;
若使用方可信执行环境和提供方可信执行环境合法,则获取已授权的数据使用请求的授权信息;
根据授权信息,对数据使用方的身份标识和目标任务数据的数据指纹进行验证,确定已授权的数据使用请求的合法性。
在其中一个实施例中,根据数据访问地址,向提供方可信网关发送数据获取请求,并接收提供方可信网关返回的目标任务数据,包括:
对数据访问地址进行解析,获取提供方可信网关的连接地址;
根据连接地址,建立使用方可信网关与提供方可信网关之间的连接;
通过使用方可信网关向提供方可信网关发送数据获取请求;
接收提供方可信网关返回的目标任务数据,目标任务数据是提供方可信网关根据数据访问地址获取的。
在其中一个实施例中,目标任务数据为数据提供方通过提供方可信网关对初始任务数据进行规范化处理后得到的。
第二方面,提供了一种数据传输系统,该数据传输系统包括数据使用方和数据提供方;
数据提供方,用于根据提供方可信网关存储目标任务数据后生成唯一访问地址,确定数据访问地址;
数据使用方,用于获取区块链中已授权的数据使用请求,通过使用方可信网关从区块链中获取目标任务数据的数据访问地址;根据数据访问地址,向提供方可信网关发送数据获取请求,并接收提供方可信网关返回的目标任务数据;数据使用请求用于请求在预先创建的使用方可信执行环境中,运行数据使用请求对应的任务程序所需的目标任务数据。
在其中一个实施例中,提供方可信网关还用于将目标数据的元信息和数据访问地址在区块链中进行注册。
在其中一个实施例中,提供方可信网关还用于在预先创建的提供方可信执行环境中对目标任务数据进行加密,并根据加密后存储目标任务数据的唯一访问地址,确定数据访问地址。
在其中一个实施例中,提供方可信网关还用于在接收到使用方可信网关发送的数据获取请求后,验证使用方可信执行环境和数据提供方提供方可信执行环境的合法性;若使用方可信执行环境和提供方可信执行环境合法,则根据数据获取请求,通过提供方可信执行环境获取目标任务数据。
第三方面,提供了一种数据传输装置,该装置包括:
请求获取模块,用于获取区块链中已授权的数据使用请求,数据使用请求用于请求在预先创建的使用方可信执行环境中,运行数据使用请求对应的任务程序所需的目标任务数据;
地址获取模块,用于通过使用方可信网关从区块链中获取目标任务数据的数据访问地址;数据访问地址为数据提供方通过提供方可信网关存储的目标任务数据的唯一访问地址;
数据获取模块,用于根据数据访问地址,向提供方可信网关发送数据获取请求,并接收提供方可信网关返回的目标任务数据。
第四方面,提供了一种计算机设备,包括存储器和处理器,存储器存储有计算机程序,处理器执行计算机程序时实现上述第一方面中任一项数据传输方法的步骤。
第五方面,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述第一方面中任一项数据传输方法的步骤。
上述数据传输方法、系统、装置、计算机设备及存储介质,获取区块链中已授权的数据使用请求,数据使用请求用于请求在预先创建的使用方可信执行环境中,运行数据使用请求对应的任务程序所需的目标任务数据;通过使用方可信网关从区块链中获取目标任务数据的数据访问地址;数据访问地址为数据提供方通过提供方可信网关存储的目标任务数据的唯一访问地址;根据数据访问地址,向提供方可信网关发送数据获取请求,并接收提供方可信网关返回的目标任务数据。在本申请中,数据提供方在区块链上注册的是目标任务数据的唯一访问地址,并非目标任务数据本身,数据保密性好;数据使用请求在区块链上被授权后,使用方可信网关才可以从提供方可信网关中获取目标任务数据,从数据源上保护目标任务数据的安全性。另外,数据使用方获取的目标任务数据在使用方可信执行环境中运行,也即是,数据使用方对可目标任务数据只有使用权,并无传输权,避免目标任务数据被获取后进一步传输,造成数据泄露;使用方可信执行环境中使用的目标任务数据不会被其他内存区域中的应用窥探到,目标任务数据保密性好。
附图说明
图1为一个实施例中数据传输方法的应用环境图;
图2为一个实施例中数据传输方法的流程示意图;
图3为一个实施例中区块链上数据使用请求的授权流程示意图;
图4为一个实施例中已授权的数据使用请求的合法性验证流程示意图;
图5为一个实施例中任务程序的启动流程示意图;
图6为一个实施例中数据获取的流程示意图;
图7为另一个实施例中数据传输方法的流程示意图;
图8为一个实施例中数据传输装置的结构框图;
图9为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
随着互联网数据服务技术的快速发展,各移动设备(可以为终端)的功能越来越强大,移动设备会存储用户的资产情况,记录用户的消费明细,并处理相应支付等操作。
相关技术中,移动设备端的系统运行环境为通用执行环境(Rich ExecutionEnvironment,REE),在其中运行的系统为Rich OS(Operating System),包含Android系统、IOS系统和Linux系统,Rich OS的特点是功能强大,开放和扩展性好,可以给上层应用提供设备的所有功能,比如摄像头,触摸屏等,如此,可以在该系统上部署各种各样的应用。
但Rich OS存在很多的安全隐患,比如:Rich OS可以获得应用所有的数据,隐私数据的保密性差;很难验证Rich OS是否被篡改,应用数据存在泄露的风险;Rich OS还会受到各种各样的攻击,使得移动设备上的用户数据存在很大的安全隐患,基于此,可以在移动设备中构件可信执行环境(Trusted Execution Environment,TEE),以保证数据在可信执行环境中运行时,不会存在篡改、泄露等风险。
其中,TEE是移动设备中处理器(central processing unit,CPU)上的一块区域,这块区域的作用是给应用数据和代码的执行提供一个更安全的空间,并保证它们的机密性和完整性。
也即是,TEE可以提供一个与REE隔离的环境保存用户的敏感信息或隐私数据,TEE可以直接获取REE的信息,而REE不能获取TEE的信息。作为一个示例,当用户付款时,通过TEE提供的接口来进行验证,以保证支付信息不会被篡改,密码不会被劫持,指纹信息不会被盗用。
在TEE上运行的应用叫做可信应用(Trusted Application,TA),可信应用之间通过密码学技术保证它们之间是隔离开的,不会随意读取和操作其它可信应用的数据。另外,可信应用的程序在运行前需要做完整性验证,保证应用没有被篡改。可信应用可以和触摸屏,摄像头还有指纹传感器等外设进行直接交互,不需要通过REE提供的接口,所以更加保证了安全。
此外,通过TEE,可以更好地帮助区块链改进安全,性能和隐私。对于区块链安全而言,大多数公链都无法保证每个区块链节点运行环境的安全,因此需要大量的区块链节点一起达成共识来提高安全,而区块链节点的数量与性能成反比,使得公链产生严重的性能瓶颈。而通过TEE提供的可信环境,保证了机器中运行的代码没有被篡改,可以按照区块链协议指定的方式运行,从而为整个网络提供了安全。
对于区块链性能而言,因为TEE中的代码不会被篡改并且按照期望的方式执行,所以区块链可以将一部分计算挪到TEE环境中来执行,即可减少全局共识的成本,增加区块链的性能。
对于区块链隐私保护而言,TEE可以提供端到端的隐私保护,从数据到计算结果都只能被用户自己看到,而其他用户无法查看。
本申请是基于可信执行环境和区块链构建的一种数据传输方法,该方法可以应用于如图1所示的应用环境中。其中,数据使用方110通过广域网(Wide Area Network,WAN)与数据提供方120进行通信。数据使用方110和数据提供方120均参与构成区块链130。
数据使用方和数据提供方可以是个人使用的计算机、笔记本电脑、智能手机、平板电脑、便携式可穿戴设备,也可以是某一应用的后台服务器、多个服务器组成的服务器集群等,本申请对此不做限制。
需要说明的是,数据使用方和数据提供方均存储有用户数据,用户数据包括在可信应用中产生的数据和在不可信应用中产生的数据,可信应用为用户信任的应用,产生的数据可能为用户的隐私数据,需要对其进行保护,因此,可信应用产生的用户数据需要在可信执行环境下使用。对于不可信应用产生的用户数据,本申请对其处理方式不做限制,可以在通用执行环境中处理,也可以在可信执行环境中处理。
可以理解的是,数据提供方和数据使用方并非固定不变,自身无目标数据,执行用户任务时需要从别处获取数据的一方为数据使用方,自身存储有目标数据,可以提供数据服务的一方为数据提供方。
如图1所示,数据使用方在外网和内网之间的隔离区(Demilitarized Zone,DMZ)设置有使用方可信网关,且数据使用方与区块链中至少一个区块链节点进行通信,数据使用方在与其通信的区块链节点中构建使用方TEE。同理,数据提供方在DMZ中也设置有提供方可信网关,且数据提供方与区块链中至少一个区块链节点进行通信,数据提供方在与其通信的区块链节点中构建提供方TEE。
基于此应用环境,数据使用方基于区块链发起的数据使用请求在获得授权后,通过使用方可信网关从区块链中获取请求使用对应的目标任务数据的数据访问地址,并根据数据访问地址,向提供方可信网关发送数据获取请求;数据提供方接收数据获取请求后,通过提供方TEE获取安全存储的目标任务数据,并将目标任务数据发送给使用方可信网关;使用方可信网关将目标任务数据转发至使用方TEE中执行相应的计算。
在一个实施例中,如图2所示,提供了一种数据传输方法,以该方法应用于图1中的数据使用方110为例进行说明,包括以下步骤:
步骤210:获取区块链中已授权的数据使用请求,数据使用请求用于请求在预先创建的使用方可信执行环境中,运行数据使用请求对应的任务程序所需的目标任务数据。
在一种可能的实现方式中,数据使用方通过区块链或者连接到区块链的可视化工具浏览搜索目标任务数据,发起数据使用请求,并对数据使用请求进行上链处理,等待数据提供方授权。
其中,已授权的数据请求为数据提供方在对数据使用请求进行审核后,确定请求合法的数据请求。数据使用方可以基于已授权的数据使用请求,从数据提供方获取目标任务数据。
步骤220:通过使用方可信网关从区块链中获取目标任务数据的数据访问地址;数据访问地址为数据提供方通过提供方可信网关存储的目标任务数据的唯一访问地址。
需要说明的是,数据提供方预先在区块链上注册目标任务数据的数据访问地址,数据访问地址用于指示目标任务数据在数据提供方存储位置。
在上述步骤220中,当数据使用方在区块链上发起的数据使用请求获得授权后,使用方可信网关可以从区块链上获取已授权的数据使用请求对应的任务程序所需目标任务数据的数据访问地址。
步骤230:根据数据访问地址,向提供方可信网关发送数据获取请求,并接收提供方可信网关返回的目标任务数据。
其中,从区块链上获取的数据访问地址还用于指示目标任务数据的数据提供方的提供方可信网关的连接地址。
在一种可能的实现方式中,使用方可信网关在获取到数据访问地址后,根据数据访问地址,与数据提供方的提供方可信网关建立连接。并将数据访问地址发送给提供方可信网关,等待提供方可信网关返回目标任务数据。
上述数据传输方法中,数据使用方通过获取区块链中已授权的数据使用请求,数据使用请求用于请求在预先创建的使用方可信执行环境中,运行数据使用请求对应的任务程序所需的目标任务数据;通过使用方可信网关从区块链中获取目标任务数据的数据访问地址;数据访问地址为数据提供方通过提供方可信网关存储的目标任务数据的唯一访问地址;根据数据访问地址,向提供方可信网关发送数据获取请求,并接收提供方可信网关返回的目标任务数据。在本申请中,数据提供方在区块链上注册的是目标任务数据的唯一访问地址,并非目标任务数据本身,数据保密性好;数据使用请求在区块链上被授权后,使用方可信网关才可以从提供方可信网关中获取目标任务数据,从数据源上保护目标任务数据的安全性。另外,数据使用方获取的目标任务数据在使用方可信执行环境中运行,也即是,数据使用方对可目标任务数据只有使用权,并无传输权,避免目标任务数据被获取后进一步传输,造成数据泄露;使用方可信执行环境中使用的目标任务数据不会被其他内存区域中的应用窥探到,目标任务数据保密性好。
基于上述实施例,数据访问地址可以为数据提供方通过提供方可信网关在提供方可信执行环境中对目标任务数据进行加密,生成存储加密后目标任务数据的唯一访问地址。
在一种可能的实现方式中,对于可信应用产生的用户数据,数据提供方向提供方可信网关发送数据注册请求,注册信息包括但不限于以下信息:
(1)数据服务地址以及协议;
比如:jdbc:mysql://127.0.0.1:3306/database、ftp://127.0.0.1:8080等。
(2)数据提供方的认证信息;
比如:用户名/密码、基于JWT生成的token等。
(3)数据格式;
比如:逗号分隔值文件格式(Comma-Separated Values,CSV)、可扩展标记语言格式(EXtensible Markup Language,XML)、JS对象标记(JavaScript Object Notation,JSON)等
对于可信应用产生的用户数据,提供方可信网关利用可信执行环境内的私有密钥对各用户数据进行加密,并将加密后的用户数据进行安全存储,基于用户数据的存储地址,生成该用户数据的唯一的访问地址。如此,数据提供方的内部应用程序和数据使用方的应用程序都使用数据访问地址发起数据获取请求。
也即是,在上述步骤220中,获取的数据访问地址可以为目标任务数据的存储地址,也可能为加密处理后目标任务数据的存储地址,本申请对此不做限制。
在一个实施例中,如图3所示,获取区块链中已授权的数据使用请求(上述步骤210)的实现过程,包括以下步骤:
步骤310:在区块链中发起数据使用请求;数据使用请求包括数据使用方的身份标识和目标任务数据的数据指纹。
其中,区块链可以是公有链,也可以是联盟链。作为一个示例,加入该联盟链的成员可以包括:指定行业下的相关用户或机构、数据使用方节点和数据提供方节点。
进一步地,加入联盟链的用户或机构可能且有多个角色,例如,一个机构可以是数据使用方,也可以是数据提供方,还可以是数据认证方或数据托管方。为了确保数据的安全性,仅对加入联盟链的用户或机构提供数据访问地址上链服务或数据使用请求服务。
针对加入联盟链的数据使用方和数据提供方,会为其在区块链上分配一个唯一性账号,该唯一性链上账号用于表征加入联盟链的数据使用方和数据提供方的身份信息。
因此,在本申请实施例中,数据使用方可以基于数据使用方的唯一性账号和需要获取目标任务数据的数据指纹,在区块链上发起数据使用请求。数据提供方基于数据提供方的唯一性账号,将目标任务数据的数据访问地址预先注册在区块链中。
在上述步骤310中,目标任务数据的数据指纹即为目标任务数据的摘要值,也称为哈希值。
步骤320:在区块链上监听数据使用请求的授权状态。
在一种可能的实现方式中,数据使用请求可能需要从多个数据提供方获取目标任务数据,也可能是从一个数据提供方获取多条目标任务数据,因此,当数据使用方在区块链上发送数据使用请求后,需要在区块链上监听数据使用请求的授权状态。
其中,授权即为数据提供方通过授权签名的方式允许数据使用方获取目标任务数据,授权状态包括已授权和未授权。
步骤330:若数据使用请求的状态为已授权,则获取已授权的数据使用请求;已授权的数据使用请求为数据提供方审核后确定的合法数据请求。
当使用方可信网关在区块链上监听到已授权的数据请求时,获取已授权的数据使用请求,进而为已授权数据使用请求获取相应的目标任务数据。
在本实施例中,基于区块链来实现数据访问请求的发起和授权过程,对于已授权的数据使用请求,使用方可信网关从区块链上获取数据访问地址;对于未授权的数据使用请求,使用方可信网关无法从区块链上获取数据访问地址,通过区块链保存数据访问地址和发起数据访问请求,可以从数据源头上保证数据的安全性。
在一个实施例中,如图4所示,在获取已授权的数据使用请求之后,方法包括:
步骤410:根据已授权的数据使用请求,验证使用方可信执行环境和数据提供方预先创建的提供方可信执行环境的合法性。
其中,数据使用请求包括数据使用方的身份标识和目标任务数据的数据指纹。使用方可信执行环境为数据使用方预先在区块链节点中创建好的可信执行环境,同理,提供方可信执行环境为数据提供方预先在区块链节点中创建好的可信执行环境。
在一种可能的实现方式中,使用方可信网关根据数据使用方的身份标识,确定使用方可信执行环境,根据目标任务数据的数据访问地址,确定提供方可信执行环境,并对使用方可信执行环境和提供方可信执行环境进行合法性验证。
作为一个示例,使用方可信网关可以采用RA-TLS等技术验证双方的可信执行环境的合法性。
其中,证书注册审批系统(Register Authority,RA)具有证书的申请、审批、下载等一系列功能,为整个机构体系提供电子认证服务。RA作为CA认证体系中的一部分,能够直接从CA提供者那里继承CA认证的合法性。能够使客户以自己的名义发放证书,便于客户开展工作。安全传输层协议(Transport Layer Security,TLS)的基本工作方式是各节点使用非对称加密进行通信,实现身份验证并协商对称加密使用的密钥,然后对称加密算法采用协商密钥对信息以及信息摘要进行加密通信,不同的节点之间采用的对称密钥不同,从而可以保证信息只能通信双方获取。
其中,授权信息包括目标任务数据的数据指纹、数据使用方可信执行环境的代码指纹、数据使用方的身份信息和提供方可信执行环境的代码指纹。
在一种可能的实现方式中,若使用方可信执行环境的代码指纹和提供方可信执行环境的代码指纹,均与授权信息中的代码指纹一致,则确定使用方可信执行环境和提供方可信执行环境合法。
步骤420:若使用方可信执行环境和提供方可信执行环境合法,则获取已授权的数据使用请求的授权信息。
在双方的可信执行环境合法情况下,使用方可信网关获取已授权的数据使用请求的授权信息,以验证授权的合法性,防止数据使用请求在授权后被篡改,或者伪造授权的情况发生。
步骤430:根据授权信息,对数据使用方的身份标识和目标任务数据的数据指纹进行验证,确定已授权的数据使用请求的合法性。
在一种可能的实现方式中,上述步骤430的实现过程可以为:使用方可信网关根据授权信息中携带的数据使用方的身份信息,对已授权的数据使用请求所对应的数据使用方的身份标识进行验证,以确定授权的数据使用方和发起数据使用请求的数据使用方是否一致。进一步地,使用方可信网关比对目标任务数据的数据指纹与授权信息是否一致。
若数据使用方的身份标识和目标任务数据的数据指纹均与授权信息一致,则确定已授权的数据使用请求为合法请求。
在本实施例中,对于区块链上已授权的数据使用请求,使用方可信网关进一步验证已授权的数据使用请求的合法性,在已授权的数据使用请求为合法请求的情况下,使用方可信网关为该数据使用请求获取对应的目标任务数据。如此,通过对已授权的数据使用请求进行合法性检验,可以保证数据获取的准确性和有效性。
基于上述实施例,在使用方可信网关对已授权的数据使用请求的合法性进行校验之后,会根据该数据使用请求从区块链上获取目标任务数据的数据访问地址。但需要说明的是,获取到的目标任务数据是在使用方可信执行环境中使用的,因此,为保证数据使用过程中的保密性和安全性,需要预先在使用方可信执行环境中确定相应的沙盒来运行任务程序,使得各任务程序之间相互隔离,互不影响。
因此,在一个实施例中,如图5所示,在可信执行环境中启动任务程序的实现过程,包括以下步骤:
步骤510:根据区块链中已授权的数据使用请求,通过使用方可信网关连接任务程序。
其中,运行任务程序完成相应的计算时,需要使用目标任务数据,而数据使用请求用于请求在预先创建的使用方可信执行环境中,运行数据使用请求对应的任务程序所需的目标任务数据。
因此,在数据获取之间,需要对可信执行环境中的任务程序进行安全性检验,排出其他应用程序的影响,使得目标任务数据仅用于任务程序运行。
在一种可能的实现方式中,在使用方可信执行环境中对任务程序进行安全性检验,安全性检验包括以下至少一种方式:
(1)对任务程序的代码进行静态扫描;
对任务程序的代码在未运行的情况下进行静态扫描,防止数据通过OCALL、内存拷贝等方式拷贝到使用方可信执行环境以外的区域。
(2)对任务程序的代码文件建立第一抽象层;第一抽象层用于屏蔽代码文件的写操作;
其中,通过使用方可信执行环境可以往外部内存中写数据,通过对代码文件的输入/输出接口,可以检测是否将数据写入外部内存中。
基于此,对代码文件的建立第一抽象层,将基于使用方可信执行环境中的写操作进行屏蔽,使得任务程序的写操作只能在使用方可信执行环境中进行,而无法写入使用方可信执行环境以外的其他内存区域中。
(3)对任务程序的调用操作建立第二抽象层;第二抽象层用于使用方可信网关调用任务程序;
在本申请中,为保证数据来源安全,数据使用方获取的任何外部数据都是通过使用方可信网关获取的基于此,对socket操作建立一个抽象层,只允许连接到到可信网关。
(4)对任务程序的源代码进行审核。
其中,源代码作为任务程序的文本文件,也存在被篡改的可能性,因此,在启动任务程序之前,需要对任务程序的源代码进行审核,以确定源代码未被修改。
步骤520:从使用方可信执行环境中确定运行任务程序的目标沙盒,并在目标沙盒内启动任务程序。
其中,沙盒是计算机安全领域中的一种安全机制,为运行中的程序提供的隔离环境。通常是作为一些来源不可信、具破坏力或无法判定程序意图的程序提供实验之用。沙盒可以严格控制其中的程序所能访问的资源,在沙盒中,网络访问、对真实系统的访问、对输入设备的读取通常被禁止或是严格限制。沙盒中的所有改动对操作系统不会造成任何损失。
基于沙盒的特性,对应不同的任务程序,可以在使用方可信执行环境中为其确定对应的沙盒,在沙盒内启动任务程序。
需要说明的是,在使用方可信网关获取到目标任务数据后,也会将目标任务数据转发至运行任务程序的沙盒内,使得任务程序可以在沙盒内使用目标任务数据,待完成计算后,沙盒自动销毁,目标任务数据无法继续传输。
在本实施例中,在可信执行环境的沙盒中启动任务程序,可以保证目标任务数据在使用时不会泄漏到沙盒以外。且沙盒在运行完任务程序后自动销毁,沙盒“用后即焚”,使得目标任务数据只能在沙盒中被使用,而无法在运行结束后继续传输给其他数据使用方,保护了目标任务数据的控制权和使用权。
在一个实施例中,如图6所示,根据数据访问地址,向提供方可信网关发送数据获取请求,并接收提供方可信网关返回的目标任务数据(上述步骤230)的实现过程,包括以下步骤:
步骤610:对数据访问地址进行解析,获取提供方可信网关的连接地址。
在一种可能的实现方式中,对数据地址完成地址解析,可以使用域名系统(DomainName System,DNS)、基于区块链的地址解析技术等方式获取提供方可信网关的连接地址。
作为一个示例,提供方可信网关的连接地址可以为:传输控制协议/因特网互联协议(Transmission Control Protocol/Internet Protocol,TCP/IP)地址、洋葱路由(TheOnion Router,TOR)协议地址等。
步骤620:根据连接地址,建立使用方可信网关与提供方可信网关之间的连接。
其中,使用方可信网关和提供方可信网关基于广域网进行通信,可信网关作为一种访问代理机制存在,用于转发来自使用方/提供方的请求或数据,并转发传输给使用方/提供方的响应信息或数据。
在本申请中,数据使用方需要的数据是经过使用方可信网关返回的。
步骤630:通过使用方可信网关向提供方可信网关发送数据获取请求。
其中,数据获取请求包括目标任务数据的数据访问地址,使得提供方可信网关可以根据该数据访问地址获取目标任务数据。
步骤640:接收提供方可信网关返回的目标任务数据,目标任务数据是提供方可信网关根据数据访问地址获取的。
其中,目标任务数据为数据提供方通过提供方可信网关对初始任务数据进行规范化处理后得到的。
作为一个示例,规范化处理包括但不限于数据清洗、格式化等。
在一种可能的实现方式中,由于目标任务数据是基于提供方可信执行环境加密后进行安全存储的,因此,在提供方可信网关接收到数据访问请求后,可以通过执行如下操作来获取目标任务数据:
(1)参见上述步骤410,根据数据访问请求,采用RA-TLS等技术验证双方可信执行环境的合法性;
(2)在双方可信执行环境合法的情况下,提供方可信网关根据数据访问请求携带的数据访问地址获取到本地的数据注册信息,并根据数据注册信息从本地的数据服务获取到数据。
比如,如使用文件传输协议(File Transfer Protocol,FTP)获取数据文件,结构化查询语言(Structured Query Language,SQL)查询获取到SQL数据等。
(3)提供方可信网关将来自数据服务的目标任务透明的转发到使用方可信网关。
使用方可信网关在接收到提供方可信网关返回的目标任务数据后,将目标数据转发至任务程序在使用方可信执行环境中的沙盒。
在本实施例中,通过数据访问地址实现数据的访问,且在访问数据时,基于可信网关来实现数据访问代理机制,保证了数据传输中的安全性和可靠性。
应该理解的是,虽然图2-6的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其他的顺序执行。而且,图2-6中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其他步骤或者其他步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
通过上述图2-6对应的实施例,对数据使用方的数据获取过程进行了解释说明,接下来,对包括上述数据使用方的数据传输系统进行解释说明。
在一个实施例中,本申请提供还提供了一种数据传输系统,该数据传输系统包括数据使用方110和数据提供方120;
数据提供方110,用于根据提供方可信网关存储目标任务数据后生成唯一访问地址,确定数据访问地址;
数据使用方120,用于获取区块链中已授权的数据使用请求,通过使用方可信网关从区块链中获取目标任务数据的数据访问地址;根据数据访问地址,向提供方可信网关发送数据获取请求,并接收提供方可信网关返回的目标任务数据;数据使用请求用于请求在预先创建的使用方可信执行环境中,运行数据使用请求对应的任务程序所需的目标任务数据。
其中,数据使用方获取数据的具体实现过程可以参见上述图2-6所对应的实施例,在此不再赘述。
可选地,提供方可信网关还用于将目标数据的元信息和数据访问地址在区块链中进行注册。
可选地,提供方可信网关还用于在预先创建的提供方可信执行环境中对目标任务数据进行加密,并根据加密后存储目标任务数据的唯一访问地址,确定数据访问地址;
可选地,提供方可信网关还用于在接收到使用方可信网关发送的数据获取请求后,验证使用方可信执行环境和数据提供方提供方可信执行环境的合法性;若使用方可信执行环境和提供方可信执行环境合法,则根据数据获取请求,通过提供方可信执行环境获取目标任务数据。
在本实施例中,数据使用方和数据提供方均预先创建有可信执行环境和可信网关。通过可信执行环境可以保证数据使用过程的安全性,通过可信网关可以保证数据传输过程中的安全性,如此,数据使用方和数据提供方传输数据时,数据不易泄露,不易篡改,数据保密性和安全性更高。
基于上述数据传输方法实施例和数据传输系统实施例,接下来,结合附图7对数据使用方和数据提供方之间的数据传输过程进行解释说明。
如图7所示,本申请提供的数据传输方法包括以下步骤:
S1:数据使用方和数据提供方初始化;
其中,初始化包括:完成数据中心内的服务部署,确定数据使用中的可信部分和不可信部分;在与其相连的区块链节点中上创建可信执行环境。
S2:数据提供方可信网关为目标任务数据生成数据访问地址,并将数据访问地址和目标任务数据的元信息注册到区块链上;
S3:数据提供方在区块链上监听数据使用请求;
S4:数据使用方在区块链中发起数据使用请求;
数据使用请求包括数据使用方的身份标识和目标任务数据的数据指纹,数据使用请求用于请求在预先创建的使用方可信执行环境中,运行数据使用请求对应的任务程序所需的目标任务数据;
S5:在区块链上监听数据使用请求的授权状态;
S6:若数据使用请求的状态为已授权,则数据使用方可信网关获取已授权的数据使用请求;
其中,已授权的数据使用请求为数据提供方审核后确定的合法数据请求。
S7:根据区块链中已授权的数据使用请求,通过使用方可信网关连接任务程序;
S8:在使用方可信执行环境中对任务程序进行安全性检验;
其中,对任务程序进行安全性检验的实现过程可以参见上述步骤510的实现过程,在此不再赘述。
S9:从使用方可信执行环境中确定运行任务程序的目标沙盒,并在目标沙盒内启动任务程序;
S10:对已授权的数据使用请求进行合法性校验;
其中,数据使用请求合法性校验可以参见上述图4所示的实施例,在此不再赘述。
S11:若已授权的数据使用请求的为合法请求,则通过使用方可信网关从区块链中获取目标任务数据的数据访问地址;
S12:对数据访问地址进行解析,获取提供方可信网关的连接地址;
S13:根据连接地址,建立使用方可信网关与提供方可信网关之间的连接;
S14:通过使用方可信网关向提供方可信网关发送数据获取请求;
S15:数据提供方可信网关根据数据获取请求,验证双方可信执行环境的合法性;
S16:若双方可信执行环境合法,则根据数据获取请求,通过提供方可信执行环境获取目标任务数据;
S17:数据提供方可信网关将目标任务数据发送给使用方可信网关。
图7中各步骤的具体实现过程可以参见上述方法实施例和系统实施例,在此不再赘述。
在一个实施例中,如图8所示,提供了一种数据传输装置,该装置800包括:请求获取模块810、地址获取模块820和数据获取模块830,其中:
请求获取模块810,用于获取区块链中已授权的数据使用请求,数据使用请求用于请求在预先创建的使用方可信执行环境中,运行数据使用请求对应的任务程序所需的目标任务数据;
地址获取模块820,用于通过使用方可信网关从区块链中获取目标任务数据的数据访问地址;数据访问地址为数据提供方通过提供方可信网关存储的目标任务数据的唯一访问地址;
数据获取模块830,用于根据数据访问地址,向提供方可信网关发送数据获取请求,并接收提供方可信网关返回的目标任务数据。
在其中一个实施例中,数据访问地址为数据提供方通过提供方可信网关在提供方可信执行环境中对目标任务数据进行加密,生成存储加密后目标任务数据的唯一访问地址。
在其中一个实施例中,该装置800还用于:
根据区块链中已授权的数据使用请求,通过使用方可信网关连接任务程序;
从使用方可信执行环境中确定运行任务程序的目标沙盒,并在目标沙盒内启动任务程序。
在其中一个实施例中,在目标沙盒内启动任务程序之前,该装置800还用于:
在使用方可信执行环境中对任务程序进行安全性检验,安全性检验包括以下至少一种方式:
对任务程序的代码进行静态扫描;
对任务程序的代码文件建立第一抽象层;第一抽象层用于屏蔽代码文件的写操作;
对任务程序的调用操作建立第二抽象层;第二抽象层用于使用方可信网关调用任务程序;
对任务程序的源代码进行审核。
在其中一个实施例中,请求获取模块810,还用于:
在区块链中发起数据使用请求;数据使用请求包括数据使用方的身份标识和目标任务数据的数据指纹;
在区块链上监听数据使用请求的授权状态;
若数据使用请求的状态为已授权,则获取已授权的数据使用请求;已授权的数据使用请求为数据提供方审核后确定的合法数据请求。
在其中一个实施例中,在获取已授权的数据使用请求之后,该装置800还用于:
根据已授权的数据使用请求,验证使用方可信执行环境和数据提供方预先创建的提供方可信执行环境的合法性;
若使用方可信执行环境和提供方可信执行环境合法,则获取已授权的数据使用请求的授权信息;
根据授权信息,对数据使用方的身份标识和目标任务数据的数据指纹进行验证,确定已授权的数据使用请求的合法性。
在其中一个实施例中,数据获取模块830,还用于:
对数据访问地址进行解析,获取提供方可信网关的连接地址;
根据连接地址,建立使用方可信网关与提供方可信网关之间的连接;
通过使用方可信网关向提供方可信网关发送数据获取请求;
接收提供方可信网关返回的目标任务数据,目标任务数据是提供方可信网关根据数据访问地址获取的。
在其中一个实施例中,目标任务数据为数据提供方通过提供方可信网关对初始任务数据进行规范化处理后得到的。
在本实施例中,数据传输装置通过获取区块链中已授权的数据使用请求,数据使用请求用于请求在预先创建的使用方可信执行环境中,运行数据使用请求对应的任务程序所需的目标任务数据;通过使用方可信网关从区块链中获取目标任务数据的数据访问地址;数据访问地址为数据提供方通过提供方可信网关存储的目标任务数据的唯一访问地址;根据数据访问地址,向提供方可信网关发送数据获取请求,并接收提供方可信网关返回的目标任务数据。在本申请中,数据提供方在区块链上注册的是目标任务数据的唯一访问地址,并非目标任务数据本身,数据保密性好;数据使用请求在区块链上被授权后,使用方可信网关才可以从提供方可信网关中获取目标任务数据,从数据源上保护目标任务数据的安全性。另外,数据使用方获取的目标任务数据在使用方可信执行环境中运行,也即是,数据使用方对可目标任务数据只有使用权,并无传输权,避免目标任务数据被获取后进一步传输,造成数据泄露;使用方可信执行环境中使用的目标任务数据不会被其他内存区域中的应用窥探到,目标任务数据保密性好。
关于数据传输装置的具体限定可以参见上文中对于数据传输方法的限定,在此不再赘述。上述数据传输装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图9所示。该计算机设备包括通过系统总线连接的处理器、存储器、通信接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的通信接口用于与外部的终端进行有线或无线方式的通信,无线方式可通过WIFI、运营商网络、NFC(近场通信)或其他技术实现。该计算机程序被处理器执行时以实现一种数据传输方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图9中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现以下步骤:
获取区块链中已授权的数据使用请求,数据使用请求用于请求在预先创建的使用方可信执行环境中,运行数据使用请求对应的任务程序所需的目标任务数据;
通过使用方可信网关从区块链中获取目标任务数据的数据访问地址;数据访问地址为数据提供方通过提供方可信网关存储的目标任务数据的唯一访问地址;
根据数据访问地址,向提供方可信网关发送数据获取请求,并接收提供方可信网关返回的目标任务数据。
本实施例提供的计算机设备在实现以上步骤时,其实现原理和技术效果与上述方法实施例类似,在此不再赘述。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
获取区块链中已授权的数据使用请求,数据使用请求用于请求在预先创建的使用方可信执行环境中,运行数据使用请求对应的任务程序所需的目标任务数据;
通过使用方可信网关从区块链中获取目标任务数据的数据访问地址;数据访问地址为数据提供方通过提供方可信网关存储的目标任务数据的唯一访问地址;
根据数据访问地址,向提供方可信网关发送数据获取请求,并接收提供方可信网关返回的目标任务数据。
本实施例提供的计算机可读存储介质在实现以上步骤时,其实现原理和技术效果与上述方法实施例类似,在此不再赘述。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其他介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-Only Memory,ROM)、磁带、软盘、闪存或光存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic Random Access Memory,DRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

Claims (14)

1.一种数据传输方法,其特征在于,所述方法包括:
获取区块链中已授权的数据使用请求,所述数据使用请求用于请求在预先创建的使用方可信执行环境中,运行所述数据使用请求对应的任务程序所需的目标任务数据;所述获取区块链中已授权的数据使用请求,包括:在所述区块链中发起所述数据使用请求;所述数据使用请求包括数据使用方的身份标识和所述目标任务数据的数据指纹;在所述区块链上监听所述数据使用请求的授权状态;若所述数据使用请求的状态为已授权,则获取已授权的数据使用请求;所述已授权的数据使用请求为数据提供方审核后确定的合法数据请求;
通过使用方可信网关从所述区块链中获取所述目标任务数据的数据访问地址;所述数据访问地址为数据提供方通过提供方可信网关存储的所述目标任务数据的唯一访问地址;
根据所述数据访问地址,向所述提供方可信网关发送数据获取请求,并接收所述提供方可信网关返回的所述目标任务数据。
2.根据权利要求1所述的方法,其特征在于,所述数据访问地址为数据提供方通过提供方可信网关在提供方可信执行环境中对所述目标任务数据进行加密,生成存储加密后所述目标任务数据的唯一访问地址。
3.根据权利要求1所述的方法,其特征在于,在通过使用方可信网关从区块链中获取所述目标任务数据的数据访问地址之前,所述方法包括:
根据所述区块链中已授权的数据使用请求,通过所述使用方可信网关连接所述任务程序;
从所述使用方可信执行环境中确定运行所述任务程序的目标沙盒,并在所述目标沙盒内启动所述任务程序。
4.根据权利要求3所述的方法,其特征在于,所述在所述目标沙盒内启动所述任务程序之前,所述方法包括:
在所述使用方可信执行环境中对所述任务程序进行安全性检验,所述安全性检验包括以下至少一种方式:
对所述任务程序的代码进行静态扫描;
对所述任务程序的代码文件建立第一抽象层;所述第一抽象层用于屏蔽所述代码文件的写操作;
对所述任务程序的调用操作建立第二抽象层;所述第二抽象层用于所述使用方可信网关调用所述任务程序;
对所述任务程序的源代码进行审核。
5.根据权利要求1所述的方法,其特征在于,在所述获取已授权的数据使用请求之后,所述方法包括:
根据所述已授权的数据使用请求,验证所述使用方可信执行环境和所述数据提供方预先创建的提供方可信执行环境的合法性;
若所述使用方可信执行环境和所述提供方可信执行环境合法,则获取所述已授权的数据使用请求的授权信息;
根据所述授权信息,对所述数据使用方的身份标识和所述目标任务数据的数据指纹进行验证,确定所述已授权的数据使用请求的合法性。
6.根据权利要求1-4任一项所述的方法,其特征在于,所述根据所述数据访问地址,向所述提供方可信网关发送数据获取请求,并接收所述提供方可信网关返回的所述目标任务数据,包括:
对所述数据访问地址进行解析,获取所述提供方可信网关的连接地址;
根据所述连接地址,建立所述使用方可信网关与所述提供方可信网关之间的连接;
通过所述使用方可信网关向所述提供方可信网关发送所述数据获取请求;
接收所述提供方可信网关返回的所述目标任务数据,所述目标任务数据是所述提供方可信网关根据所述数据访问地址获取的。
7.根据权利要求6所述的方法,其特征在于,所述目标任务数据为所述数据提供方通过所述提供方可信网关对初始任务数据进行规范化处理后得到的。
8.一种数据传输系统,其特征在于,所述数据传输系统包括数据使用方和数据提供方;
所述数据提供方,用于根据提供方可信网关存储目标任务数据后生成唯一访问地址,确定数据访问地址;
所述数据使用方,用于获取区块链中已授权的数据使用请求,通过使用方可信网关从所述区块链中获取所述目标任务数据的数据访问地址;根据所述数据访问地址,向所述提供方可信网关发送数据获取请求,并接收所述提供方可信网关返回的所述目标任务数据;所述数据使用请求用于请求在预先创建的使用方可信执行环境中,运行所述数据使用请求对应的任务程序所需的目标任务数据;所述获取区块链中已授权的数据使用请求,包括:在所述区块链中发起所述数据使用请求;所述数据使用请求包括数据使用方的身份标识和所述目标任务数据的数据指纹;在所述区块链上监听所述数据使用请求的授权状态;若所述数据使用请求的状态为已授权,则获取已授权的数据使用请求;所述已授权的数据使用请求为所述数据提供方审核后确定的合法数据请求。
9.根据权利要求8所述的系统,其特征在于,所述提供方可信网关还用于将所述目标任务数据的元信息和所述数据访问地址在区块链中进行注册。
10.根据权利要求8所述的系统,其特征在于,所述提供方可信网关还用于在预先创建的提供方可信执行环境中对所述目标任务数据进行加密,并根据加密后存储所述目标任务数据的唯一访问地址,确定数据访问地址。
11.根据权利要求8-10任一项所述的系统,其特征在于,所述提供方可信网关还用于在接收到使用方可信网关发送的所述数据获取请求后,验证所述使用方可信执行环境和数据提供方提供方可信执行环境的合法性;若所述使用方可信执行环境和所述提供方可信执行环境合法,则根据所述数据获取请求,通过所述提供方可信执行环境获取所述目标任务数据。
12.一种数据传输装置,其特征在于,所述装置包括:
请求获取模块,用于获取区块链中已授权的数据使用请求,所述数据使用请求用于请求在预先创建的使用方可信执行环境中,运行所述数据使用请求对应的任务程序所需的目标任务数据;所述请求获取模块还用于:在所述区块链中发起所述数据使用请求;所述数据使用请求包括数据使用方的身份标识和所述目标任务数据的数据指纹;在所述区块链上监听所述数据使用请求的授权状态;若所述数据使用请求的状态为已授权,则获取已授权的数据使用请求;所述已授权的数据使用请求为数据提供方审核后确定的合法数据请求;
地址获取模块,用于通过使用方可信网关从所述区块链中获取所述目标任务数据的数据访问地址;所述数据访问地址为数据提供方通过提供方可信网关存储的所述目标任务数据的唯一访问地址;
数据获取模块,用于根据所述数据访问地址,向所述提供方可信网关发送数据获取请求,并接收所述提供方可信网关返回的所述目标任务数据。
13.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7中任一项所述的方法的步骤。
14.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的方法的步骤。
CN202110903165.XA 2021-08-06 2021-08-06 数据传输方法、系统、装置、计算机设备及存储介质 Active CN113691508B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110903165.XA CN113691508B (zh) 2021-08-06 2021-08-06 数据传输方法、系统、装置、计算机设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110903165.XA CN113691508B (zh) 2021-08-06 2021-08-06 数据传输方法、系统、装置、计算机设备及存储介质

Publications (2)

Publication Number Publication Date
CN113691508A CN113691508A (zh) 2021-11-23
CN113691508B true CN113691508B (zh) 2023-04-18

Family

ID=78579192

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110903165.XA Active CN113691508B (zh) 2021-08-06 2021-08-06 数据传输方法、系统、装置、计算机设备及存储介质

Country Status (1)

Country Link
CN (1) CN113691508B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115952484B (zh) * 2023-03-14 2023-07-25 天聚地合(苏州)科技股份有限公司 一种基于可信执行环境的数据流通方法、装置和系统
CN116418587B (zh) * 2023-04-19 2024-04-30 中国电子科技集团公司第三十研究所 一种数据跨域交换行为审计追踪方法和数据跨域交换系统

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111527489A (zh) * 2020-03-13 2020-08-11 支付宝(杭州)信息技术有限公司 基于去中心化标识的数据授权
CN112053271A (zh) * 2020-10-14 2020-12-08 腾讯科技(深圳)有限公司 基于区块链的公益平台数据存证管理方法及系统

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110619520B (zh) * 2018-06-20 2023-05-02 深圳市红砖坊技术有限公司 区块链系统和应用于区块链系统的路由节点的路由方法
CN111428269B (zh) * 2020-03-24 2023-05-09 北京金山云网络技术有限公司 数据访问方法、装置和终端设备
CN111460429B (zh) * 2020-03-30 2024-01-02 北京百度网讯科技有限公司 基于可信执行环境的任务处理方法、装置、设备和介质
CN111541785B (zh) * 2020-07-08 2021-05-04 支付宝(杭州)信息技术有限公司 基于云计算的区块链数据处理方法及装置
CN111741036B (zh) * 2020-08-28 2020-12-18 支付宝(杭州)信息技术有限公司 一种可信数据传输方法、装置及设备
CN112347470A (zh) * 2020-11-27 2021-02-09 国家电网有限公司大数据中心 基于区块链和数据安全沙箱的电网数据保护方法及系统

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111527489A (zh) * 2020-03-13 2020-08-11 支付宝(杭州)信息技术有限公司 基于去中心化标识的数据授权
CN112053271A (zh) * 2020-10-14 2020-12-08 腾讯科技(深圳)有限公司 基于区块链的公益平台数据存证管理方法及系统

Also Published As

Publication number Publication date
CN113691508A (zh) 2021-11-23

Similar Documents

Publication Publication Date Title
EP3704613B1 (en) Provisioning trusted execution environment(s) based on chain of trust including platform
CN110036613B (zh) 提供用于去中心化应用的身份认证的系统和方法
US9998438B2 (en) Verifying the security of a remote server
US20180254898A1 (en) Device enrollment protocol
US20160275461A1 (en) Automated attestation of device integrity using the block chain
CN111262889B (zh) 一种云服务的权限认证方法、装置、设备及介质
EP3704614B1 (en) Provisioning trusted execution environment based on chain of trust including platform
US20210092108A1 (en) Non-custodial tool for building decentralized computer applications
JP7179725B2 (ja) セキュアキー管理
CN113691508B (zh) 数据传输方法、系统、装置、计算机设备及存储介质
KR20150059347A (ko) 휴대 단말기, 단말기 및 보안쿠키를 이용한 인증 방법
CN111651794A (zh) 基于联盟链的电子数据管理方法、装置和存储介质
CN111460457A (zh) 不动产权登记监管方法、装置、电子设备及存储介质
TW202137199A (zh) 生物支付設備的認證方法、裝置、電腦設備和儲存媒體
CN113282946A (zh) 基于高可信环境下数据访问过程的信息安全方法及系统
CN116049802B (zh) 应用单点登陆方法、系统、计算机设备和存储介质
Carelli et al. Securing bitstream integrity, confidentiality and authenticity in reconfigurable mobile heterogeneous systems
CN113127818A (zh) 一种基于区块链的数据授权方法、装置及可读存储介质
TWI546698B (zh) 基於伺服器的登入系統、登入驗證伺服器及其驗證方法
US20240113898A1 (en) Secure Module and Method for App-to-App Mutual Trust Through App-Based Identity
Ahmed et al. Transparency of SIM profiles for the consumer remote SIM provisioning protocol
CN114238915A (zh) 数字证书添加方法、装置、计算机设备和存储介质
CN114124440A (zh) 安全传输方法、装置、计算机设备和存储介质
CN112865981A (zh) 一种令牌获取、验证方法及装置
Kandil et al. Mobile agents' authentication using a proposed light Kerberos system

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