CN110781492A - 数据处理方法、装置、设备和存储介质 - Google Patents

数据处理方法、装置、设备和存储介质 Download PDF

Info

Publication number
CN110781492A
CN110781492A CN201810856345.5A CN201810856345A CN110781492A CN 110781492 A CN110781492 A CN 110781492A CN 201810856345 A CN201810856345 A CN 201810856345A CN 110781492 A CN110781492 A CN 110781492A
Authority
CN
China
Prior art keywords
security domain
dynamic library
domain dynamic
data
processing
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.)
Granted
Application number
CN201810856345.5A
Other languages
English (en)
Other versions
CN110781492B (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.)
Alibaba Group Holding Ltd
Original Assignee
Alibaba Group Holding 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 Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Priority to CN201810856345.5A priority Critical patent/CN110781492B/zh
Publication of CN110781492A publication Critical patent/CN110781492A/zh
Application granted granted Critical
Publication of CN110781492B publication Critical patent/CN110781492B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/52Monitoring 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/53Monitoring 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • G06F21/575Secure boot
    • 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/3247Cryptographic 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 involving digital signatures

Landscapes

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

Abstract

本申请实施例提供了一种数据处理方法、装置、设备和存储介质,以提高数据保护的安全性。所述的方法包括:在可信任环境中装载用户自定义的安全域动态库;在所述可信任环境中,采用所述安全域动态库对非可信任环境的数据请求进行处理,得到处理结果。从而用户可以自定义安全域以保证数据的安全,并且在可信任环境中采用安全域动态库对非可信任环境的数据请求进行处理,能够有效提高数据的安全性。

Description

数据处理方法、装置、设备和存储介质
技术领域
本申请涉及计算机技术领域,特别是涉及为了提高数据安全性的数据处理方法、数据处理装置、电子设备和存储介质。
背景技术
区块链是一种去中心化的分布式存储系统,分布式特性使得其适合在云计算环境中运行,相应的云服务提供商可以提供基于区块链的服务。
相对于中心化的信息处理系统,区块链上数据具有安全性高、数据不可篡改等特点,因此区块链计算对程序运行环境的安全性、可信程度具有较高的要求。例如对于区块链的密钥的保护与管理,如果采用常规的软件方式产生和管理密钥,受攻击的可能性高,客户无法控制密钥的安全性,而云计算服务提供者也难以“自证清白”,证明自己(的内部研发、运维人员)没有窃取、滥用用户核心密钥,真正发生密钥泄露事件后,云计算服务提供者也难以免责。
发明内容
本申请实施例提供了一种数据处理方法,以提高数据保护的安全性。
相应的,本申请实施例还提供了一种数据处理装置、一种电子设备和一种存储介质,用以保证上述系统的实现及应用。
为了解决上述问题,本申请实施例公开了一种数据处理方法,所述的方法包括:在可信任环境中装载用户自定义的安全域动态库;在所述可信任环境中,采用所述安全域动态库对非可信任环境的数据请求进行处理,得到处理结果。
本申请实施例还公开了一种数据处理方法,所述的方法包括:在可信任环境中装载用户自定义的安全域动态库;在所述可信任环境中,采用所述安全域动态库对非可信任环境中区块链节点的数据请求进行处理,得到处理结果。
本申请实施例还公开了一种数据处理装置,其中,所述的装置包括:动态库装载模块,用于在可信任环境中装载自定义的安全域动态库;安全处理模块,用于在所述可信任环境中,采用所述安全域动态库对非可信任环境的数据请求进行处理,得到处理结果。
本申请实施例还公开了一种数据处理装置,其中,所述的装置包括:装载模块,用于在可信任环境中装载用户自定义的安全域动态库;区块链交互处理模块,用于在所述可信任环境中,采用所述安全域动态库对非可信任环境中区块链节点的数据请求进行处理,得到处理结果。
本申请实施例还公开了一种电子设备,其中,包括:处理器;和存储器,其上存储有可执行代码,当所述可执行代码被执行时,使得所述处理器执行如本申请实施例中一个或多个所述的数据处理方法。
本申请实施例还公开了一个或多个机器可读介质,其上存储有可执行代码,当所述可执行代码被执行时,使得处理器执行如本申请实施例中一个或多个所述的数据处理方法。
本申请实施例还公开了一种电子设备,其中,包括:处理器;和存储器,其上存储有可执行代码,当所述可执行代码被执行时,使得所述处理器执行如本申请实施例中一个或多个所述的数据处理方法。
本申请实施例还公开了一个或多个机器可读介质,其上存储有可执行代码,当所述可执行代码被执行时,使得处理器执行如本申请实施例中一个或多个所述的数据处理方法。
与现有技术相比,本申请实施例包括以下优点:
在本申请实施例,在可信任环境中装载自定义的安全域动态库,从而用户可以自定义安全域以保证数据的安全,从而在可信任环境中,可采用安全域动态库对非可信任环境的数据请求进行处理,得到处理结果,能够有效提高数据的安全性。
附图说明
图1是本申请实施例的一种数据处理示例的示意图;
图2是本申请一种基于Intel SGX的运行环境示意图;
图3是本申请一种应用于区块链的数据处理方法实施例的步骤流程图;
图4是本申请另一种数据处理方法实施例的步骤流程图;
图5是本申请另一种数据处理方法可选实施例的步骤流程图;
图6是本申请另一种应用于区块链的数据处理方法实施例的步骤流程图;
图7是本申请一种数据处理装置实施例的结构框图;
图8是本申请一种数据处理装置可选实施例的结构框图;
图9是本申请另一种数据处理装置实施例的结构框图;
图10是本申请另一种数据处理装置可选实施例的结构框图;
图11是本申请一实施例提供的装置的结构示意图。
具体实施方式
为使本申请的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本申请作进一步详细的说明。
为了保证数据的安全,可以构建可信任环境,可信任环境指的是受到保护的区域,该区域不受在更高权限级别运行的进程的影响。例如基于Intel SGX(Intel SoftwareGuard Extensions,英特尔软件保护扩展)技术构建可信任环境,Intel SGX是英特尔中央处理单元(CPU)的一组指令代码,允许用户级代码分配内存的私有区域,称为安全区或安全域。可信任环境之外的处理环境称为非可信任环境。在可信任环境中支持用户自定义安全域,得到对应的安全域动态库,可以在可信任环境中,采用所述安全域动态库对非可信任环境的数据请求进行处理,得到处理结果。其中,安全域指的是基于用户级代码在内存内分配的私有区域,在该私有区域内的程序代码、数据等不受在更高权限级别运行的进程的影响。动态库通常是程序运行过程中由操作系统根据程序的请求动态加载使用的库文件,如Windows系统的动态链接库(Dynamic Link Library,DLL),又如Linux的动态库(SharedObject,SO),安全域动态库符合动态库的格式和类型,但是在调用过程中与上述动态库存在本质区别,也因此实现安全域动态库对于数据的安全保密。其中,安全域动态库包括用户编写的程序和数据,其中,数据包括安全域动态库的签名,因此在安全域动态库被调用时会先验证安全域动态库的签名,在验证签名合法后才允许安全域动态库中的程序功能实现,以及数据被使用等,从而通过签名验证保证安全域动态库的数据不会被修改。安全域动态库中存储的数据还可包括业务核心数据、密钥等,其中的程序可实现数据签名的生成和校验、密钥生成等算法,从而在可信任环境中执行核心业务处理、安全校验等处理操作,使得关键处理操作与非可信任环境进行隔离,防止数据泄露。
如图1所示的数据处理示例的示意图。以应用于云计算服务系统为例,可以构建可信任环境,将可信任环境之外的运行环境作为非可信任环境,如基于Intel SGX技术构建可信任环境。云计算服务系统在搭建非可信任环境和可信任环境时,可对两个环境交互的接口进行定义,从而得到接口输入、输入数据的类型、格式等作为接口信息,以使不同环境能够交互,并提供相应的接口信息给用户,使得用户可接口的定义来构建自定义的安全域动态库,从而保护密钥、业务核心数据、关键算法等信息。
用户可在任意能够构建安全域动态库的环境中,自定义构建所需的安全域动态库,其中,该安全域动态库与非可信任环境的交互接口遵循云计算服务商提供的接口信息的定义,以便实现不同环境中数据的交互。在用户完成安全域动态库后,可通过云计算服务商的上传接口上传该安全域动态库,从而在步骤102中在可信任环境中装载用户自定义的安全域动态库。其中,安全域动态库包括密码学相关的算法的程序,以及安全域动态库的签名等数据。其中,在运行过程中安全域动态库还可存储其他数据,如密钥、业务核心数据等,可依据具体业务确定,例如对于区块链技术的应用场景,业务核心数据可为区块链节点所需的各种业务数据如比特币地址、密钥等,又如在敏感信息的保护等应用场景中,核心业务数据可为需要保护的密码、敏感信息等。从而云计算服务提供商不会获知安全域动态库的内部实现原理,而是提供接口使其与非可信任环境的数据交互,保证数据的安全。
例如云计算服务提供商可基于SGX技术构建可信任环境,从而用户可编写安全域动态库形成自己的“安全域”,安全域动态库运行在云计算服务提供商提供的可信任环境中,可信任环境之外的非可信任环境由云计算服务提供商构建。
一个可选实施例中,为了便于用户创建安全域动态库,云计算服务提供商还可预先生成安全域动态库样例,使得用户可基于该安全域动态库样例了解如何创建安全域动态库,该安全域动态库样例为一个安全域动态库的例子,其中可包括密码学算法的软件程序,如生成密钥、签名生成验证等业务所需执行的各种功能的程序,以及安全域动态库的签名,这个安全域动态库的签名是云计算服务商在构建所述安全域动态库样例时,向技术提供商注册得到证书,基于该证书确定的。云计算服务提供商提供一个安全域动态库源码作为样例展示给用户,从而用户可基于该样例可获知如何构建安全域动态库。其中,安全域动态库样例可以为一个能够在可信任环境中装载运行的例子,对于一些用户,可将该安全域动态库样例重编译,将签名修改为自己在技术提供商注册得到证书对应确定的签名,就可以在可信任环境中装载使用。
因此,在装载完用户自定义的安全域动态库的构建后,云计算服务提供商的设备如服务器等电子设备,还可以对用户自定义的安全域动态库进行安全验证,例如验证该安全域动态库的完整性,认证该安全域动态库来自正确的提供方等。其中,对所述安全域动态库进行安全验证,包括:依据所述安全域动态库的签名,对所述安全域动态库进行校验。用户在创建安全域动态库时,可以在提供该安全域技术的服务商对应的设备上注册,从而获取该用户对应的证书,然后可依据该证书确定安全域动态库的签名,从而在装载完该该安全域动态库后,云计算服务提供商的设备,云服务提供商的设备可基于该安全域动态库的签名进行校验,从而能够对“安全域”及其功能进行验收,检验安全域动态库的完整性,来源的准确性等。
以SGX技术为例,SGX技术提供了安全域签名机制,因此用户开发完成自定义的安全域动态库,并在可信任环境中装载该安全域动态库后,云计算服务提供商可基于安全域动态库的签名进行校验,使得安全域使用方能够校验安全域的完整性,并能认证安全域来自于正确的提供方等。
本申请实施例中,安全域动态库包括实现密码学相关的算法的软件程序以及数据等;该密码学相关的算法包括密钥产生算法、校验算法、签名生成算法等,数据包括安全域动态库的签名,业务处理过程中的数据签名、公钥、私钥等安全数据,以及其他业务相关的数据等,其中,有些数据是预置在安全域动态库内,而有些数据是业务处理过程中产生的。从而在可信任环境中,安全域动态库可依据密钥产生算法生成密钥对,该密钥对可对业务数据加密,也确定密钥对中公钥的获取方式,以及基于私钥生成数据签名等,以便进行签名的验证,保证数据安全。因此该校验算法可包括加解密算法、签名生成、校验算法等。
通过可信任环境的构建,可以使密钥的产生、管理,数据的校验以及核心业务处理等通过安全域动态库,使得攻击者乃至对于实际物理运行环境有特权的云计算服务提供商的运维人员都难以攻击这段程序,从而满足用户对关键密钥管理的“可控”、“可信”需求,提高业务和数据的安全性。
实际处理中,将业务的密钥产生、数据校验以及核心业务处理等放入可信任环境中,由安全域动态库执行,但是其他的业务处理仍然在非可信任环境中,因此可信任环境和非可信任环境之间还需要进行交互,实现数据业务处理。因此在云计算服务提供商创建可信任环境时,可预先定义可信任环境和非可信任环境交互对应的接口信息,并生成对应的桥接层。该接口信息包括可信任环境和非可信任环境交互接口的输入、输出数据格式、类型等;桥接层指的是可信任环境与非可信任环境交互的封装层。其中,桥接层实质上是一层软件实现,在现代模块化编程的设计中,通过实现相同的“接口”,软件就可以做到运行中装载不同的动态库。桥接层可以理解为实现不同环境或模式的程序交互的封装层,本申请实施例中通过桥接层可实现非可信任环境中软件程序和可信任环境中程序的交互。
从而在步骤104中非可信任环境的数据请求可传输到可信任环境中,在所述可信任环境中,采用所述安全域动态库对非可信任环境的数据请求进行处理,得到处理结果。通过安全域动态库实现对业务的处理如签名验证、数据加解密、生成密钥对、业务地址生成等。
其中,所述在所述可信任环境中,采用所述安全域动态库对非可信任环境的数据请求进行处理,得到处理结果,包括:通过桥接层将非可信任环境的数据请求传输到可信任环境中;采用所述安全域动态库对所述数据请求进行处理,得到对应的处理结果。通过桥接层连通非可信任环境和可信任环境,从而能够将非可信任环境的数据请求,如业务请求、数据签名验证请求、签名生成请求等,传输到可信任环境中。
然后在可信任环境中,采用安全域动态库对所述数据进行处理,如加解密处理、签名验证等安全处理,以及业务数据的处理等,确定对应的处理结果果进行反馈,如校验通过与否,通过桥接层反馈给非可信任环境中对应的处理节点。其中,采用所述安全域动态库对所述数据请求进行处理包括以下至少一种:所述安全域动态库采用校验算法和公钥对所述数据签名进行校验;所述安全域动态库依据所述数据请求调用所述密钥产生算法,依据所述密钥产生算法生成密钥对,所述密钥对包括公钥和私钥;所述安全域动态库依据所述数据请求调用所述签名生成算法和私钥,采用所述签名生成算法和私钥生成对应的数据签名;所述安全域动态库依据公钥生成对应的业务地址。
若依据数据请求确定需要密钥,则该安全域动态库可利用密钥产生算法生成密钥对,从而得到所需的公钥和私钥,后续可将私钥保存在安全域动态库中,公钥可用于后续的业务地址生成,还可返回给非可信任环境的处理节点,以便于在需要签名验证时使用。对于需要签名的数据请求,可基于生成的私钥和签名生成算法,得到对应的数据签名,该数据签名可返回给非可信任环境的处理节点。在有些业务中需要验证签名的准确性,因此可基于数据请求获取对应的数据及其对应的数据签名,并且可获取生成该签名对应的处理节点的公钥,然后采用校验算法和公钥对所述数据签名进行校验,得到相应的校验结果返回给非可信任环境中请求验证签名的处理节点。还可基于公钥生成业务地址,该业务地址可为存储业务数据的地址等,例如在区块链技术中生成存储比特币的地址,又如生成存储敏感信息的地址的等。
本申请实施例可应用于区块链技术中,结合云计算服务提供的区块链技术,可称为并baas(blockchain-as-a-service,区块链即服务)技术。则非可信任环境的数据包括区块链节点的数据。以Intel SGX技术构建可信任环境,支持安全域动态库的运行为例,如图2所示的运行环境示意图中,baas提供方提供支持Intel SGX指令集运行的虚拟机,在该虚拟机中构建可信任环境210和非可信任环境220。基于SGX提供的用户自定义安全域(BringYour Own Enclave,BYOE)技术,可以在可信任环境210中生成安全域动态库Enclave212。非可信任环境220包括区块链节点222。
在支持Intel SGX技术的CPU中,通过合理的配置BIOS、操作系统和软件驱动,软件程序可以通过特殊的CPU指令装载安全域动态库Enclave,Intel CPU可以使安全域动态库的代码运行在特殊的模式下,就是可信任环境中。Enclave本质是通过ISV(IndependentSoftware Vendors,独立软件开发商)私钥签名的动态库。这是Intel提供的一项技术,也可运行在云计算的物理设备上,与传统运行环境(如非可信任环境)不同,传统环境中云计算服务提供商具有特权,其可以掌控用户的数据与程序;而在Intel SGX技术中,用户的数据和程序是安全的,该项技术使得Enclave不受在更高权限级别运行的进程的影响,通过该项技术使得数据从CPU到内存中的过程都是特殊加密处理的,云计算服务提供商无法窥探Enclave内的数据。
其中,通过baas实现的BYOE(Bring Your Own Key,使用你自己的密钥)应用场景,使得用户可通过SGX技术,让用户编写自己的“安全域”,实现安全域动态库Enclave,运行在baas服务提供商提供的可信任环境中。其中,安全域动态库Enclave由用户自行研发,安全域动态库之外的内容如可信任环境、非可信任环境、区块链节点等可由baas服务提供商研发。
baas服务提供商通过可信任环境,为用户提供安全域动态库的运行环境以及支持安全域动态库的运行,因此可预先定义可信任环境的接口信息,并生成对应的桥接层。
在桥接层中,可定义可信任环境和非可信任环境交互的接口(协议),baas服务提供商明确协议接口,以保证基于SGX技术的BYOE应用场景能够落地,支持用户自定义安全域动态库,以及安全域动态库的运行等。该桥接层可以指baas的软件需要的功能和可信任环境交互的封装层。并且,baas提供商所提供的接口信息,还可定义baas所需使用的密码学基础功能对应输入/输出数据的类型、格式等,例如“非对称密钥生成”、“非对称公钥获取”、“非对称密钥签名”等,从而便于用户基于该接口传输数据来执行对应的算法和功能。因此通过该桥接层上明确的接口定义,使得满足条件的安全域动态库如基于Intel SGX技术的Enclave,可以透过这个桥接层实现非可信任环境和可信任环境的交互。
baas服务提供商为了便于使用户快速理解安全域动态库Enclave及其创建过程,baas服务提供商还可提供安全域动态库的样例,该样例为baas服务提供商提供的安全域动态库Enclave的源码。安全域动态库的样例包括以baas服务商的“Intel SGX ISV私钥”签名后的安全域动态库。从而baas服务提供商可公开可信任环境对应接口输入、输出数据的类型、格式等“接口信息”、Enclave的“样例实现”,便于用户进行自己的安全域动态库的构建。
用户依据“接口信息”和“样例实现”进行“安全域”的开发与编译,其中,可在任意支持Intel SGX编译的环境进行“安全域”的开发与编译。依据自定义信息编译得到对应自定义的安全域动态库Enclave,且用户可依据自己的Intel SGX ISV私钥计算该自定义的安全域动态库的签名。
baas服务提供商需要对用户自定义的安全域动态库Enclave进行校验,因此还可编写验收程序,该验收程序使得baas服务提供商能够快速检测和验收用户编写提供的安全域动态库Enclave是否符合baas服务商要求。从而可对用户编写的安全域动态库进行安全验证。
其中,可依据所述安全域动态库的签名,对所述安全域动态库进行校验。用户提交自定义的安全域动态库Enclave,baas服务提供商对自定义的安全域动态库Enclave及其功能进行验收。其中,用户作为Intel SGX技术的用户,需要先到Intel注册,得到Intel颁发的证书,baas提供商通过验证该证书来验证安全域动态库的签名。在验证通过后baas服务提供商在部署baas服务同时部署用户编写的安全域,用户自定义的安全域动态库Enclave可正常使用,进行所需区块链业务处理。若是安全验证未通过,则可通知用户,使用户及时修正相应的错误。
其中,通过该安全域动态库Enclave中的密码学基础功能,如基于密钥产生算法,可在可信任环境中生成密钥对,所述密钥对包括公钥和私钥。通过密钥对可实现对数据的加解密、数据签名及校验等安全处理过程,并且上述安全处理过程在可信任环境中由安全域动态库Enclave执行,保证了区块链核心数据包括密钥的保护与管理的安全性。
baas服务的程序通过桥接层,实现非可信任环境中区块链节点和可信任环境中安全域动态库的通信,实现完整的功能。其中,可通过桥接层获取非可信任环境中区块链节点的数据请求,并将所述非可信任环境的数据请求传输到所述可信任环境中。
然后所述安全域动态库对所述数据请求进行处理,得到处理结果。以签名校验为例,所述非可信任环境中区块链节点发送数据签名的验证请求,通过桥接层将验证请求发送给可信任环境中的安全域动态库,该安全域动态库确定生成该签名对应处理节点的公钥,并采用校验算法和公钥对所述数据签名进行校验;校验算法可依据安全域动态库确定,从而不会泄露密钥以及安全校验过程;在得到校验结果后,可通过桥接层返回给非可信任环境中相应的区块链节点。其中,还可通过桥接层获取区块链节点的密钥生成请求,在可信任环境中,安全域动态库调用密钥产生算法生成对应的密钥对,便于后续进行数据加密的相关数据,如上例中对签名进行校验。相应的,安全域动态库也可通过桥接层获取区块链节点的签名生成请求,调用所述签名生成算法和私钥,生成对应的数据签名,然后通过桥接层返回给非可信任环境中对应的区块链节点。又如,安全域动态库通过桥接层获取区块链节点的地址生成请求,采用公钥生成业务地址,便于进行区块链的业务数据如比特币地址的存储。
在应用Intel SGX技术后,baas提供方可以允许用户上传一段自定义的安全域动态库,其中实现了用户自己的密钥产生、管理方案。该安全域动态库运行在SGX可信任环境中,攻击者乃至对于实际物理运行环境有特权的baas服务运维人员也难以攻击这段程序。从而满足用户对区块链技术中关键密钥管理的“可控”、“可信”需求。
上述以区块链场景的应用为例进行论述,实际还可应用到其他场景中,如敏感信息的存储场景,对于银行卡以及密码数据等进行安全处理,以及对于其他安全等级较高的数据进行加密处理的场景中,均可通过上述步骤实现。
参照图3,示出了本申请一种应用于区块链的数据处理方法实施例的步骤流程图。以应用在区块链技术的场景中为例,可至少包括以下步骤:
步骤302,在可信任环境中装载所述安全域动态库。
区块链技术对于安全性要求较高,因此可通过可信任环境和非可信任环境隔离,在可信任环境中安全域动态库的安全边界只包含CPU和它自身,不受在更高权限级别运行的进程的影响,能够保证数据的安全。从而用户可自行编译软件程序,确定需要保护的数据等,生成相应的安全域动态库,通过可信任环境的安全域接口上传安全域动态库,然后在可信任环境中装载该安全域动态库。
步骤304,在所述可信任环境中,采用所述安全域动态库对非可信任环境中区块链节点的数据请求进行处理,得到处理结果。
可信任环境还提供相应的服务接口,服务接口可封装在桥接层中,从而基于桥接层的服务接口使得非可信任环境中区块链节点的数据请求传输到可信任环境中,在可信任环境中对数据请求进行处理,如依据密钥生成请求生成密钥对,依据签名生成请求生成数据签名,依据签名验证请求验证数据签名,以及依据地址生成请求生成业务地址等。从而非可信任环境中的软件程序可与可信任环境中的安全域动态库交互,对于非可信任环境中的软件程序的一些功能可通过数据请求,在可信任环境中通过安全域动态库实现相应功能,保证区块链场景中数据的安全。
参照图4,示出了本申请另一种数据处理方法实施例的步骤流程图。
步骤402,在可信任环境中载用户自定义的安全域动态库。
用户可在支持安全域动态库的编译环境中进行安全域动态库的编译,,自定义构建所需的安全域动态库。然后在可信任环境中装载该自定义的安全域动态库,其中,安全域动态库包括密码学相关的算法的程序,以及安全域动态库的签名等数据。
步骤404,对所述安全域动态库进行安全验证。
为了使确保用户的安全域动态库能够在可信任环境中正常运行,还可对用户自定义的安全域动态库进行安全验证,从而通过安全验证可验证该安全域动态库的完整性,认证该安全域动态库来自正确的提供方等。在保证安全域动态库正常运行的同时,确保安全域动态库的来源正确,提高数据安全。
步骤406,在安全验证通过后,在所述可信任环境中,采用所述安全域动态库对非可信任环境的数据请求进行处理,得到处理结果。
在安全验证通过后安全域动态库可正常使用。在非可信任环境中处理节点进行业务处理过程中,对于需要进行安全域动态库处理的业务,可传输数据请求到可信任环境的安全域动态库中,从而安全域动态库对非可信任环境的数据请求进行相应的处理,得到处理结果。该业务处理包括生成密钥对、传输公钥、加解密数据、签名的生成、校验,以及业务地址生成等。得到的处理结果可以返回给非可信任环境中处理节点,以便支持业务处理继续执行。
综上,在可信任环境中装载自定义的安全域动态库,从而用户可以自定义安全域以保证数据的安全,从而在所述可信任环境中,采用所述安全域动态库对非可信任环境的数据进行安全处理,得到处理结果,能够有效提高数据的安全性。
参照图5,示出了本申请另一种数据处理方法可选实施例的步骤流程图。
步骤502,预先定义可信任环境的接口信息,并生成对应的桥接层。
步骤504,预先生成安全域动态库样例。
云计算服务提供商创建可信任环境,依据可信任环境和非可信任环境的功能等可预先定义接口信息,并生成对应的桥接层。该接口信息包括可信任环境和非可信任环境交互接口对应输入/输出数据的类型、格式等信息。从而桥接层使得不同环境能够交互,并提供相应的接口等信息给用户,使得用户可自定义安全域,在安全域内保护密钥、核心数据、关键算法等信息。并且,为了便于用户创建安全域动态库,云计算服务提供商还可预先生成安全域动态库样例,所述安全域动态库样例的签名依据云计算服务提供商在技术提供商出注册得到的证书确定。使得用户可基于该安全域动态库样例了解如何创建安全域动态库。
例如应用于baas技术中,非可信任环境的处理节点包括区块链节点,非可信任环境的数据请求包括区块链节点的数据请求。baas提供方提供支持Intel SGX指令集运行的虚拟机,在该虚拟机中依据SGX技术定义非可信任环境和可信任环境的接口信息生成桥接层,从而构建可信任环境。又如对于银行数据、个人信息等敏感数据的保护场景中,可定义接口构建桥接层,确定可信任环境和非可信任环境。
步骤506,在可信任环境中装载安全域动态库。
用户可在支持安全域动态库的编译环境中进行安全域动态库的编译,生成对应的安全域动态库,然后在可信任环境中装载该安全域动态库,其中,安全域动态库包括密码学相关的算法、数据,以及其他业务核心数据。
步骤508,依据所述安全域动态库的签名,对所述安全域动态库进行校验。
用户在创建安全域动态库时,可以在提供该安全域技术的服务商对应的设备上注册,从而获取该用户对应的证书,然后可依据该证书确定安全域动态库的签名,从而云计算服务提供商的设备可基于该签名对用户自定义的安全域动态库进行校验,从而能够对“安全域”及其功能进行验收,检验安全域动态库的完整性,来源的准确性等。
例如,用户可通过向Intel注册获取证书,基于该证书获取自己的Intel SGX ISV私钥,然后基于该私钥计算该自定义的安全域动态库的签名。baas服务提供商需要对用户自定义的安全域动态库Enclave进行校验,因此还可编写验收程序,该验收程序使得baas服务提供商能够快速检测和验收用户编写提供的安全域动态库Enclave是否符合baas服务商要求。从而可对用户编写的安全域动态库进行安全验证。
步骤510,通过桥接层将非可信任环境的数据请求传输到可信任环境中。
通过桥接层联通非可信任环境和可信任环境,从而能够将非可信任环境的数据请求,如业务数据请求、数据签名的生成、验证等请求,传输到可信任环境中。
步骤512,所述安全域动态库对非可信任环境的数据请求进行处理,得到处理结果。
在可信任环境中,采用安全域动态库对所述数据请求进行处理,如加解密处理、签名生成、验证等,确定对应的处理结果进行反馈,如校验通过与否,通过桥接层反馈给非可信任环境中对应的处理节点。
一个可选实施例中,所述安全域动态库包括:密钥产生算法;所述采用所述安全域动态库对所述数据请求进行处理,包括:所述安全域动态库依据所述数据请求调用所述密钥产生算法,依据所述密钥产生算法生成密钥对,所述密钥对包括公钥和私钥。该安全域动态库Enclave提供密码学基础功能,因此可基于密钥产生算法,可在可信任环境中生成密钥对,所述密钥对包括公钥和私钥。后续可基于该密钥对可实现对数据的加解密、数据签名及校验等安全处理。如通过桥接层获取区块链节点的密钥生成请求,在可信任环境中,安全域动态库调用密钥产生算法生成对应的密钥对,通过桥接层传输公钥给对应的区块链节点。
另一个可选实施例中,所述安全域动态库包括:签名生成算法;所述采用所述安全域动态库对所述数据请求进行处理,包括:所述安全域动态库依据所述数据请求调用所述签名生成算法和私钥,采用所述签名生成算法和私钥生成对应的数据签名。安全域动态可基于生成的密钥对进行所需的各种安全处理,一个示例中可基于签名生成请求,调用签名生成算法和密钥对中的私钥生成对应的数据签名。从而便于基于该数据签名进行数据的验证,例如非可信任环境中的处理节点可在数据中添加该数据签名来证明数据的来源。例如安全域动态库也可通过桥接层获取区块链节点的签名生成请求,调用所述签名生成算法和私钥,生成对应的数据签名,然后通过桥接层返回给非可信任环境中对应的区块链节点。
另一个可选实施例中,采用所述安全域动态库对所述数据进行校验,得到校验的处理结果。在可信任环境中由安全域动态库通过密钥对可实现对数据的加解密、数据签名及校验等安全处理,保证核心业务数据如区块链核心数据、敏感数据、密钥的保护与管理等数据的安全性。其中,所述安全域动态库包括:校验算法;所述采用所述安全域动态库对所述数据请求进行处理,包括:所述安全域动态库采用校验算法和公钥对所述数据请求中的数据签名进行校验。以签名校验为例,安全域动态库获取公钥,并采用校验算法和公钥对所述数据签名进行校验。校验算法可依据安全域动态库确定,从而不会泄露密钥以及安全校验过程。例如,所述非可信任环境中区块链节点发送数据签名的验证请求,通过桥接层将验证请求发送给可信任环境中的安全域动态库,该安全域动态库确定生成该签名对应处理节点的公钥,并采用校验算法和公钥对所述数据签名进行校验;校验算法可依据安全域动态库确定,从而不会泄露密钥以及安全校验过程;在得到校验结果后,可通过桥接层返回给非可信任环境中相应的区块链节点。
另一个可选实施例中,所述采用所述安全域动态库对所述数据请求进行处理,包括:所述安全域动态库依据公钥生成对应的业务地址。基于公钥可生成所需的业务地址,从而进行业务数据的存储,例如在区块链场景中安全域动态库通过桥接层获取区块链节点的地址生成请求,采用公钥生成业务地址,便于进行区块链的业务数据如比特币地址的存储,又如在敏感信息保护场景中存储银行卡数据,用户个人信息等数据。
步骤514,通过桥接层返回处理结果给非可信任环境的处理节点。
在得到处理结果后,通过桥接层返回处理结果给非可信任环境的处理节点,如可通过桥接层返回给相应的区块链节点或敏感信息的处理节点等,可依据具体的业务场景确定。
本申请实施例中通过可信任环境的构建,可以使密钥的产生、管理,数据的校验以及核心业务处理等通过安全域动态库,使得攻击者乃至对于实际物理运行环境有特权的云计算服务提供商的运维人员都难以攻击这段程序,从而满足用户对关键密钥管理的“可控”、“可信”需求,提高业务和数据的安全性。
参照图6,示出了本申请另一种应用于区块链的数据处理方法可选实施例的步骤流程图。以应用到区块链技术的场景中为例,可至少包括如下步骤:
步骤602,预先定义可信任环境的接口信息,并生成对应的桥接层。
步骤604,预先生成安全域动态库样例。
以应用于baas技术为例,非可信任环境的处理节点包括区块链节点,非可信任环境的数据请求包括区块链节点的数据请求。baas提供方提供支持Intel SGX指令集运行的虚拟机,在该虚拟机中依据SGX技术定义非可信任环境和可信任环境的接口信息生成桥接层,从而构建可信任环境。又如对于银行数据、个人信息等敏感数据的保护场景中,可定义接口构建桥接层,确定可信任环境和非可信任环境。
步骤606,在可信任环境中装载用户自定义的安全域动态库。
用户可在支持安全域动态库的编译环境中进行安全域动态库的编译,生成对应的安全域动态库,然后在可信任环境中装载该安全域动态库,其中,安全域动态库包括密码学相关的算法、数据,以及其他业务核心数据。从而可以基于该安全域动态库与非可信任环境中的区块链节点交互,保护区块链场景下数据的安全。
步骤608,依据所述安全域动态库的签名,对所述安全域动态库进行校验。
用户在创建安全域动态库时,可以在提供该安全域技术的服务商对应的设备上注册,从而获取该用户对应的证书,然后可依据该证书确定安全域动态库的签名,从而云计算服务提供商的设备可基于该签名对用户自定义的安全域动态库进行校验,从而能够对“安全域”及其功能进行验收,检验安全域动态库的完整性,来源的准确性等。
步骤610,将非可信任环境中区块链节点的数据请求,通过桥接层传输到可信任环境中。
通过桥接层联通非可信任环境和可信任环境,从而能够将非可信任环境中区块链节点的数据请求,如业务数据请求、数据签名的生成、验证等请求,传输到可信任环境中。然后可采用所述安全域动态库对非可信任环境的数据请求进行处理,得到处理结果。其中可依据实际的数据请求执行如下步骤612-618中至少一个步骤:
步骤612,所述安全域动态库依据所述数据请求调用所述密钥产生算法,依据所述密钥产生算法生成密钥对。
所述安全域动态库包括:密钥产生算法,所述密钥对包括公钥和私钥。通过桥接层获取区块链节点的密钥生成请求,在可信任环境中,安全域动态库调用密钥产生算法生成对应的密钥对,通过桥接层传输公钥给对应的区块链节点。
步骤614,所述安全域动态库依据所述数据请求调用所述签名生成算法和私钥,采用所述签名生成算法和私钥生成对应的数据签名。
所述安全域动态库包括:签名生成算法;安全域动态库也可通过桥接层获取区块链节点的签名生成请求,调用所述签名生成算法和私钥,生成对应的数据签名,然后通过桥接层返回给非可信任环境中对应的区块链节点。
步骤616,所述安全域动态库采用校验算法和公钥对所述数据请求中的数据签名进行校验。
其中,所述安全域动态库包括:校验算法;所述非可信任环境中区块链节点发送数据签名的验证请求,通过桥接层将验证请求发送给可信任环境中的安全域动态库,该安全域动态库确定生成该签名对应处理节点的公钥,并采用校验算法和公钥对所述数据签名进行校验;校验算法可依据安全域动态库确定,从而不会泄露密钥以及安全校验过程;在得到校验结果后,可通过桥接层返回给非可信任环境中相应的区块链节点。
步骤618,所述安全域动态库依据公钥生成对应的业务地址。
在区块链场景中安全域动态库通过桥接层获取区块链节点的地址生成请求,采用公钥生成业务地址,便于进行区块链的业务数据如比特币地址的存储。
步骤620,将所述处理结果通过桥接层反馈给非可信任环境中对应的区块链节点。
在得到处理结果后,通过桥接层将处理结果返回给非可信任环境中相应的区块链节点。从而实现非可信任环境中区块链节点和可信任环境中安全域动态库的交互,保证区块链场景申数据的安全。
以结合SGX技术为例,用户可以在baas服务中通过自定义的安全域动态库进行密钥生成与使用,该过程由Intel CPU硬件保护,有媲美专业加解密硬件设备的安全性。同时,Intel新一代CPU中自带了SGX能力支持,降低了成本。并且,在云服务中部署,云服务采用普通PC服务器构成的云节点,每一颗CPU都自带了SGX能力的支持,区块链程序在本机就能够调用到SGX保护的“安全域”,不需要额外的网络拓扑改动和硬件设备,相应的管理成本较低。安全域动态库基于软件实现,更易于更新迭代。
需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请实施例并不受所描述的动作顺序的限制,因为依据本申请实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本申请实施例所必须的。
在上述实施例的基础上,本实施例还提供了一种数据处理装置,应用于云计算服务的各种电子设备中,该电子设备若采用IntelCPU则可支持Intel SGX技术。
参照图7,示出了本申请一种数据处理装置实施例的结构框图,具体可以包括如下模块:
动态库生成模块702,用于在可信任环境中转载自定义信息的安全域动态库。
安全处理模块704,用于在所述可信任环境中,采用所述安全域动态库对非可信任环境的数据请求进行处理,得到处理结果。
综上,在可信任环境中装载自定义的安全域动态库,从而用户可以自定义安全域以保证数据的安全,从而在所述可信任环境中,采用所述安全域动态库对非可信任环境的数据进行安全处理,得到处理结果,能够有效提高数据的安全性。
参照图8,示出了本申请一种数据处理装置可选实施例的结构框图,具体可以包括如下模块:
预处理模块708,用于预先定义可信任环境的接口信息,并生成对应的桥接层。
动态库生成模块702,用于在可信任环境中装载自定义的安全域动态库。
动态库验证模块706,用于对所述安全域动态库进行安全验证。
安全处理模块704,用于在安全验证通过后,在所述可信任环境中,采用所述安全域动态库对非可信任环境的数据进行安全处理,得到处理结果。
所述安全域动态库支持密钥学相关功能,包括:实现校验算法、密钥产生算法等算法的应用程序和数据。数据包括安全域动态库的签名,依据业务处理过程中产生的密钥对、业务地址等数据。
所述安全处理模块704,包括:数据传输子模块7042、数据处理子模块7044,其中:
数据传输子模块7042,用于通过桥接层进行可信任环境和非可信任环境的数据交互,包括:将非可信任环境的数据请求传输到可信任环境中;以及,可信任环境的处理结果等数据传输给非可信任环境。
数据处理子模块7044,用于采用所述安全域动态库对所述数据请求进行处理,得到对应的处理结果。
一个可选实施例中,所述安全域动态库包括:密钥产生算法;所述数据处理子模块7044,用于所述安全域动态库依据所述数据请求调用所述密钥产生算法,依据所述密钥产生算法生成密钥对,所述密钥对包括公钥和私钥。
另一个可选实施例中,所述安全域动态库包括:签名生成算法;所述数据处理子模块7044,用于所述安全域动态库依据所述数据请求调用所述签名生成算法和私钥,采用所述签名生成算法和私钥生成对应的数据签名。
另一个可选实施例中,所述安全域动态库包括:校验算法;所述数据处理子模块7044,用于所述安全域动态库采用校验算法和公钥对所述数据请求中的数据签名进行校验。
另一个可选实施例中,所述数据处理子模块7044,用于所述安全域动态库依据公钥生成对应的业务地址。
所述动态库验证模块706,用于依据所述安全域动态库的签名,对所述安全域动态库进行校验,所述安全域动态库的签名依据注册得到的证书确定。
所述预处理模块708,还用于预先生成安全域动态库样例,所述安全域动态库样例的签名依据所述安全域动态库样例对应注册的证书确定。
本申请实施例可应用于区块链即服务技术中;所述非可信任环境的数据请求包括区块链节点的数据请求。
在上述实施例的基础上,本实施例还提供了一种数据处理装置,应用于区块链场景的各种电子设备,如服务器等,该电子设备若采用IntelCPU则可支持Intel SGX技术。
参照图9,示出了本申请另一种数据处理装置实施例的结构框图,具体可以包括如下模块:
装载模块902,用于在可信任环境中装载用户自定义的安全域动态库。
区块链交互处理模块904,用于在所述可信任环境中,采用所述安全域动态库对非可信任环境中区块链节点的数据请求进行处理,得到处理结果。
参照图10,示出了本申请另一种数据处理可选装置实施例的结构框图,具体可以包括如下模块:
预定义模块906,用于预先定义可信任环境的接口信息,并生成对应的桥接层。
装载模块902,用于在可信任环境中装载用户自定义的安全域动态库。
验证模块908,用于对所述安全域动态库进行安全验证。
区块链交互处理模块904,用于在所述可信任环境中,采用所述安全域动态库对非可信任环境中区块链节点的数据请求进行处理,得到处理结果。
其中,区块链交互处理模块904,包括:
传输子模块9042,用于将非可信任环境中区块链节点的数据请求,通过桥接层传输到可信任环境中。
交互处理子模块9044,用于采用所述安全域动态库对所述数据请求进行处理,得到对应的处理结果。
其中,交互处理子模块9044,用于所述安全域动态库采用校验算法和公钥对所述数据请求中的数据签名进行校验;和/或,所述安全域动态库依据所述数据请求调用所述密钥产生算法,依据所述密钥产生算法生成密钥对,所述密钥对包括公钥和私钥;和/或,所述安全域动态库依据所述数据请求调用所述签名生成算法和私钥,采用所述签名生成算法和私钥生成对应的数据签名;和/或,所述安全域动态库依据公钥生成对应的业务地址。
所述区块链交互处理模块904,还用于将所述处理结果通过桥接层反馈给非可信任环境中对应的区块链节点,其中,所述处理结果包括以下至少一种:签名校验结果、生成的公钥、生成的数据签名、业务地址。
其中,所述验证模块908,用于依据所述安全域动态库的签名,对所述安全域动态库进行校验,所述安全域动态库的签名依据注册得到的证书确定。
所述预定义模块906,还用于预先生成安全域动态库样例,所述安全域动态库样例的签名依据所述安全域动态库样例对应注册的证书确定。
在上述实施例的基础上,本实施例还提供了另一种数据处理装置,应用于云计算服务的各种电子设备中,该电子设备若采用IntelCPU则可支持Intel SGX技术。
本申请实施例在应用Intel SGX技术后,baas提供方可以允许用户上传一段自定义的安全域动态库,其中实现了用户自己的密钥产生、管理方案。该安全域动态库运行在SGX可信任环境中,攻击者乃至对于实际物理运行环境有特权的baas服务运维人员也难以攻击这段程序。从而满足用户对区块链技术中关键密钥管理的“可控”、“可信”需求。
以结合SGX技术为例,用户可以在baas服务中通过自定义的安全域动态库进行密钥生成与使用,该过程由Intel CPU硬件保护,有媲美专业加解密硬件设备的安全性。同时,Intel新一代CPU中自带了SGX能力支持,降低了成本。并且,在云服务中部署,云服务采用普通PC服务器构成的云节点,每一颗CPU都自带了SGX能力的支持,区块链程序在本机就能够调用到SGX保护的“安全域”,不需要额外的网络拓扑改动和硬件设备,相应的管理成本较低。安全域动态库基于软件实现,更易于更新迭代。
本申请实施例还提供了一种非易失性可读存储介质,该存储介质中存储有一个或多个模块(programs),该一个或多个模块被应用在设备时,可以使得该设备执行本申请实施例中各方法步骤的指令(instructions)。
本申请实施例提供了一个或多个机器可读介质,其上存储有指令,当由一个或多个处理器执行时,使得电子设备执行如上述实施例中一个或多个所述的方法。本申请实施例中,所述电子设备包括服务器、网关、用户设备等。
本公开的实施例可被实现为使用任意适当的硬件,固件,软件,或及其任意组合进行想要的配置的装置,该装置可包括服务器(集群)、终端设备等电子设备。图11示意性地示出了可被用于实现本申请中所述的各个实施例的示例性装置1100。
对于一个实施例,图11示出了示例性装置1100,该装置具有一个或多个处理器1102、被耦合到(一个或多个)处理器1102中的至少一个的控制模块(芯片组)1104、被耦合到控制模块1104的存储器1106、被耦合到控制模块1104的非易失性存储器(NVM)/存储设备1108、被耦合到控制模块1104的一个或多个输入/输出设备1110,以及被耦合到控制模块1106的网络接口1112。
处理器1102可包括一个或多个单核或多核处理器,处理器1102可包括通用处理器或专用处理器(例如图形处理器、应用处理器、基频处理器等)的任意组合。在一些实施例中,装置1100能够作为本申请实施例中所述的云服务相关的电子设备。
在一些实施例中,装置1100可包括具有指令1114的一个或多个计算机可读介质(例如,存储器1106或NVM/存储设备1108)以及与该一个或多个计算机可读介质相合并被配置为执行指令1114以实现模块从而执行本公开中所述的动作的一个或多个处理器1102。
对于一个实施例,控制模块1104可包括任意适当的接口控制器,以向(一个或多个)处理器1102中的至少一个和/或与控制模块1104通信的任意适当的设备或组件提供任意适当的接口。
控制模块1104可包括存储器控制器模块,以向存储器1106提供接口。存储器控制器模块可以是硬件模块、软件模块和/或固件模块。
存储器1106可被用于例如为装置1100加载和存储数据和/或指令1114。对于一个实施例,存储器1106可包括任意适当的易失性存储器,例如,适当的DRAM。在一些实施例中,存储器1106可包括双倍数据速率类型四同步动态随机存取存储器(DDR4SDRAM)。
对于一个实施例,控制模块1104可包括一个或多个输入/输出控制器,以向NVM/存储设备1108及(一个或多个)输入/输出设备1110提供接口。
例如,NVM/存储设备1108可被用于存储数据和/或指令1114。NVM/存储设备1108可包括任意适当的非易失性存储器(例如,闪存)和/或可包括任意适当的(一个或多个)非易失性存储设备(例如,一个或多个硬盘驱动器(HDD)、一个或多个光盘(CD)驱动器和/或一个或多个数字通用光盘(DVD)驱动器)。
NVM/存储设备1108可包括在物理上作为装置1100被安装在其上的设备的一部分的存储资源,或者其可被该设备访问可不必作为该设备的一部分。例如,NVM/存储设备1108可通过网络经由(一个或多个)输入/输出设备1110进行访问。
(一个或多个)输入/输出设备1110可为装置1100提供接口以与任意其他适当的设备通信,输入/输出设备1110可以包括通信组件、音频组件、传感器组件等。网络接口1112可为装置1100提供接口以通过一个或多个网络通信,装置1100可根据一个或多个无线网络标准和/或协议中的任意标准和/或协议来与无线网络的一个或多个组件进行无线通信,例如接入基于通信标准的无线网络,如WiFi、2G、3G、4G等,或它们的组合进行无线通信。
对于一个实施例,(一个或多个)处理器1102中的至少一个可与控制模块1104的一个或多个控制器(例如,存储器控制器模块)的逻辑封装在一起。对于一个实施例,(一个或多个)处理器1102中的至少一个可与控制模块1104的一个或多个控制器的逻辑封装在一起以形成系统级封装(SiP)。对于一个实施例,(一个或多个)处理器1102中的至少一个可与控制模块1104的一个或多个控制器的逻辑集成在同一模具上。对于一个实施例,(,一个或多个)处理器1102中的至少一个可与控制模块1104的一个或多个控制器的逻辑集成在同一模具上以形成片上系统(SoC)。
在各个实施例中,装置1100可以但不限于是:服务器、台式计算设备或移动计算设备(例如,膝上型计算设备、手持计算设备、平板电脑、上网本等)等终端设备。在各个实施例中,装置1100可具有更多或更少的组件和/或不同的架构。例如,在一些实施例中,装置1100包括一个或多个摄像机、键盘、液晶显示器(LCD)屏幕(包括触屏显示器)、非易失性存储器端口、多个天线、图形芯片、专用集成电路(ASIC)和扬声器。
本申请实施例提供了一种电子设备,包括:一个或多个处理器;和,其上存储有指令的一个或多个机器可读介质,当由所述一个或多个处理器执行时,使得所述电子设备执行如本申请实施例中一个或多个所述的数据处理方法。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本申请实施例是参照根据本申请实施例的方法、终端设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本申请实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请实施例范围的所有变更和修改。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个......”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
以上对本申请所提供的一种数据处理方法、一种数据处理装置、一种电子设备和一种存储介质,进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。

Claims (26)

1.一种数据处理方法,所述的方法包括:
在可信任环境中装载用户自定义的安全域动态库;
在所述可信任环境中,采用所述安全域动态库对非可信任环境的数据请求进行处理,得到处理结果。
2.根据权利要求1所述的方法,其中,所述在所述可信任环境中,采用所述安全域动态库对非可信任环境的数据请求进行处理,得到处理结果,包括:
通过桥接层将非可信任环境的数据请求传输到可信任环境中;
采用所述安全域动态库对所述数据请求进行处理,得到对应的处理结果。
3.根据权利要求2所述的方法,其中,所述安全域动态库包括:校验算法;
所述采用所述安全域动态库对所述数据请求进行处理,包括:
所述安全域动态库采用校验算法和公钥对所述数据请求中的数据签名进行校验。
4.根据权利要求2所述的方法,其中,所述安全域动态库包括:密钥产生算法;所述采用所述安全域动态库对所述数据请求进行处理,包括:
所述安全域动态库依据所述数据请求调用所述密钥产生算法,依据所述密钥产生算法生成密钥对,所述密钥对包括公钥和私钥。
5.根据权利要求4所述的方法,其中,所述安全域动态库包括:签名生成算法;所述采用所述安全域动态库对所述数据请求进行处理,包括:
所述安全域动态库依据所述数据请求调用所述签名生成算法和私钥,采用所述签名生成算法和私钥生成对应的数据签名。
6.根据权利要求4所述的方法,其中,所述采用所述安全域动态库对所述数据请求进行处理,包括:
所述安全域动态库依据公钥生成对应的业务地址。
7.根据权利要求1所述的方法,其中,还包括:
对所述安全域动态库进行安全验证;
在所述安全验证通过后,执行在所述可信任环境中采用所述安全域动态库对非可信任环境的数据请求进行处理的步骤。
8.根据权利要求7所述的方法,其中,对所述安全域动态库进行安全验证,包括:
依据所述安全域动态库的签名,对所述安全域动态库进行校验,所述安全域动态库的签名依据注册得到的证书确定。
9.根据权利要求2所述的方法,其中,还包括:
预先定义可信任环境的接口信息,并生成对应的桥接层。
10.根据权利要求9所述的方法,其中,还包括:
预先生成安全域动态库样例,所述安全域动态库样例的签名依据所述安全域动态库样例对应注册的证书确定。
11.根据权利要求1所述的方法,其中,所述自定义的安全域动态库包括:程序代码和数据。
12.根据权利要求1-11任一所述的方法,其中,应用于区块链即服务技术中;所述非可信任环境的数据请求包括区块链节点的数据请求。
13.一种数据处理方法,所述的方法包括:
在可信任环境中装载用户自定义的安全域动态库;
在所述可信任环境中,采用所述安全域动态库对非可信任环境中区块链节点的数据请求进行处理,得到处理结果。
14.根据权利要求13所述的方法,其中,所述在所述可信任环境中,采用所述安全域动态库对非可信任环境中区块链节点的数据请求进行处理,得到处理结果,包括:
将非可信任环境中区块链节点的数据请求,通过桥接层传输到可信任环境中;
采用所述安全域动态库对所述数据请求进行处理,得到对应的处理结果。
15.根据权利要求14所述的方法,其中,所述采用所述安全域动态库对所述数据请求进行处理,包括以下至少一种步骤:
所述安全域动态库采用校验算法和公钥对所述数据请求中的数据签名进行校验;
所述安全域动态库依据所述数据请求调用所述密钥产生算法,依据所述密钥产生算法生成密钥对,所述密钥对包括公钥和私钥;
所述安全域动态库依据所述数据请求调用所述签名生成算法和私钥,采用所述签名生成算法和私钥生成对应的数据签名;
所述安全域动态库依据公钥生成对应的业务地址。
16.根据权利要求15所述的方法,其中,还包括:
将所述处理结果通过桥接层反馈给非可信任环境中对应的区块链节点,其中,所述处理结果包括以下至少一种:签名校验结果、生成的公钥、生成的数据签名、业务地址。
17.根据权利要求13所述的方法,其中,还包括:
对所述安全域动态库进行安全验证;
在所述安全验证通过后,执行在所述可信任环境中采用所述安全域动态库对非可信任环境中区块链节点的数据请求进行处理的步骤。
18.根据权利要求17所述的方法,其中,对所述安全域动态库进行安全验证,包括:
依据所述安全域动态库的签名,对所述安全域动态库进行校验,所述安全域动态库的签名依据注册得到的证书确定。
19.根据权利要求13所述的方法,其中,还包括:
预先定义可信任环境的接口信息,并生成对应的桥接层。
20.根据权利要求19所述的方法,其中,还包括:
预先生成安全域动态库样例,所述安全域动态库样例的签名依据所述安全域动态库样例对应注册的证书确定。
21.一种数据处理装置,其中,所述的装置包括:
动态库装载模块,用于在可信任环境中装载自定义的安全域动态库;
安全处理模块,用于在所述可信任环境中,采用所述安全域动态库对非可信任环境的数据请求进行处理,得到处理结果。
22.一种数据处理装置,其中,所述的装置包括:
装载模块,用于在可信任环境中装载用户自定义的安全域动态库;
区块链交互处理模块,用于在所述可信任环境中,采用所述安全域动态库对非可信任环境中区块链节点的数据请求进行处理,得到处理结果。
23.一种电子设备,其中,包括:
处理器;和
存储器,其上存储有可执行代码,当所述可执行代码被执行时,使得所述处理器执行如权利要求1-12中一个或多个所述的数据处理方法。
24.一个或多个机器可读介质,其上存储有可执行代码,当所述可执行代码被执行时,使得处理器执行如权利要求1-12中一个或多个所述的数据处理方法。
25.一种电子设备,其中,包括:
处理器;和
存储器,其上存储有可执行代码,当所述可执行代码被执行时,使得所述处理器执行如权利要求13-20中一个或多个所述的数据处理方法。
26.一个或多个机器可读介质,其上存储有可执行代码,当所述可执行代码被执行时,使得处理器执行如权利要求13-20中一个或多个所述的数据处理方法。
CN201810856345.5A 2018-07-31 2018-07-31 数据处理方法、装置、设备和存储介质 Active CN110781492B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810856345.5A CN110781492B (zh) 2018-07-31 2018-07-31 数据处理方法、装置、设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810856345.5A CN110781492B (zh) 2018-07-31 2018-07-31 数据处理方法、装置、设备和存储介质

Publications (2)

Publication Number Publication Date
CN110781492A true CN110781492A (zh) 2020-02-11
CN110781492B CN110781492B (zh) 2023-09-26

Family

ID=69382707

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810856345.5A Active CN110781492B (zh) 2018-07-31 2018-07-31 数据处理方法、装置、设备和存储介质

Country Status (1)

Country Link
CN (1) CN110781492B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112148296A (zh) * 2020-08-18 2020-12-29 华控清交信息科技(北京)有限公司 一种编译运行方法、装置和用于编译运行的装置
CN113760294A (zh) * 2021-06-17 2021-12-07 北京沃东天骏信息技术有限公司 应用软件加密部署方法和系统

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050005161A1 (en) * 2003-07-04 2005-01-06 Adrian Baldwin Services and secure processing environments
KR20110064458A (ko) * 2009-12-08 2011-06-15 한국전자통신연구원 암호화된 동적 라이브러리를 이용한 안전한 응용 프로그램 실행 장치 및 방법
US20140282833A1 (en) * 2013-03-15 2014-09-18 Oracle International Corporation Methods, Systems and Machine-Readable Media For Providing Security Services
US20170033930A1 (en) * 2015-07-31 2017-02-02 Microsoft Technology Licensing, Llc Techniques to secure computation data in a computing environment
CN106454528A (zh) * 2015-08-07 2017-02-22 阿里巴巴集团控股有限公司 基于可信执行环境的业务处理方法和客户端
CN107533609A (zh) * 2015-05-29 2018-01-02 英特尔公司 用于对系统中的多个可信执行环境进行控制的系统、设备和方法
CN107919954A (zh) * 2017-10-20 2018-04-17 浙江大学 一种基于sgx的区块链用户密钥保护方法和装置
CN108306740A (zh) * 2018-01-22 2018-07-20 华中科技大学 一种Intel SGX状态一致保护方法和系统

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050005161A1 (en) * 2003-07-04 2005-01-06 Adrian Baldwin Services and secure processing environments
KR20110064458A (ko) * 2009-12-08 2011-06-15 한국전자통신연구원 암호화된 동적 라이브러리를 이용한 안전한 응용 프로그램 실행 장치 및 방법
US20140282833A1 (en) * 2013-03-15 2014-09-18 Oracle International Corporation Methods, Systems and Machine-Readable Media For Providing Security Services
CN107533609A (zh) * 2015-05-29 2018-01-02 英特尔公司 用于对系统中的多个可信执行环境进行控制的系统、设备和方法
US20170033930A1 (en) * 2015-07-31 2017-02-02 Microsoft Technology Licensing, Llc Techniques to secure computation data in a computing environment
CN106454528A (zh) * 2015-08-07 2017-02-22 阿里巴巴集团控股有限公司 基于可信执行环境的业务处理方法和客户端
CN107919954A (zh) * 2017-10-20 2018-04-17 浙江大学 一种基于sgx的区块链用户密钥保护方法和装置
CN108306740A (zh) * 2018-01-22 2018-07-20 华中科技大学 一种Intel SGX状态一致保护方法和系统

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112148296A (zh) * 2020-08-18 2020-12-29 华控清交信息科技(北京)有限公司 一种编译运行方法、装置和用于编译运行的装置
CN112148296B (zh) * 2020-08-18 2022-03-15 华控清交信息科技(北京)有限公司 一种编译运行方法、装置和用于编译运行的装置
CN113760294A (zh) * 2021-06-17 2021-12-07 北京沃东天骏信息技术有限公司 应用软件加密部署方法和系统

Also Published As

Publication number Publication date
CN110781492B (zh) 2023-09-26

Similar Documents

Publication Publication Date Title
CN109074466B (zh) 用于服务器的平台证明和注册
US9514317B2 (en) Policy-based trusted inspection of rights managed content
JP2024029171A (ja) 周辺デバイス
US8549592B2 (en) Establishing virtual endorsement credentials for dynamically generated endorsement keys in a trusted computing platform
EP3329413A1 (en) Techniques to secure computation data in a computing environment
US11200300B2 (en) Secure sharing of license data in computing systems
JP2016509321A (ja) 仮想マシンの測定のための信頼の起点
US12113902B2 (en) Scalable attestation for trusted execution environments
EP3794477B1 (en) Method and system for validating kernel objects to be executed by a data processing accelerator of a host system
US10045212B2 (en) Method and apparatus for providing provably secure user input/output
US20180349576A1 (en) Cryptographic mechanisms for software setup using token-based two-factor authentication
Johnston et al. Recommendations for securing Internet of Things devices using commodity hardware
CN112765637A (zh) 数据处理方法、密码服务装置和电子设备
EP3966721A1 (en) Apparatus and method for disk attestation
CN110781492B (zh) 数据处理方法、装置、设备和存储介质
CN117397198A (zh) 绑定加密密钥证明
CN112948789B (zh) 身份认证方法及装置、存储介质及电子设备
US20240113898A1 (en) Secure Module and Method for App-to-App Mutual Trust Through App-Based Identity
Hao et al. Trusted block as a service: Towards sensitive applications on the cloud
CN114389790A (zh) 一种安全多方计算方法及装置
US20230403138A1 (en) Agentless single sign-on techniques
Sharma Onboard credentials: Hardware assisted secure storage of credentials
Jung et al. An architecture for virtualization-based trusted execution environment on mobile devices
CN117579331A (zh) 远程证明方法、装置、电子设备及存储介质
WO2023073124A1 (en) Method for securely executing an application

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