CN113282946A - 基于高可信环境下数据访问过程的信息安全方法及系统 - Google Patents

基于高可信环境下数据访问过程的信息安全方法及系统 Download PDF

Info

Publication number
CN113282946A
CN113282946A CN202110817060.2A CN202110817060A CN113282946A CN 113282946 A CN113282946 A CN 113282946A CN 202110817060 A CN202110817060 A CN 202110817060A CN 113282946 A CN113282946 A CN 113282946A
Authority
CN
China
Prior art keywords
data
user
signature
result
owner
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
CN202110817060.2A
Other languages
English (en)
Other versions
CN113282946B (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.)
Nanhu Laboratory
Original Assignee
Nanhu Laboratory
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 Nanhu Laboratory filed Critical Nanhu Laboratory
Priority to CN202110817060.2A priority Critical patent/CN113282946B/zh
Publication of CN113282946A publication Critical patent/CN113282946A/zh
Application granted granted Critical
Publication of CN113282946B publication Critical patent/CN113282946B/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/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/604Tools and structures for managing or administering access control systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Bioethics (AREA)
  • Health & Medical Sciences (AREA)
  • Automation & Control Theory (AREA)
  • Storage Device Security (AREA)

Abstract

本发明公开了一种基于高可信环境下数据访问过程的信息安全方法及系统,包括:S1.用户交互单元可信接收任务请求并生成任务标识符;S2.数据运算单元下载并加载任务请求对应的应用程序至加密内存,并得到测量值及其测量值签名;S3.数据授权单元根据测量值生成访问令牌;S4.数据运算单元基于访问令牌使用数据中心相应的数据,基于该数据得到结果,将结果和使用数据进行可信处理分别得到结果信息和使用数据信息;S5.用户交互单元对使用数据信息和结果信息分别进行可信验证,并在验证成功后将结果信息发送给数据使用方。本方案对实时移动到数据端的程序做实时的审查、验证,在验证成功后才授权其访问数据中心,有效避免不可信软件对数据安全造成威胁。

Description

基于高可信环境下数据访问过程的信息安全方法及系统
技术领域
本发明属于互联网数据保护技术领域,尤其是涉及一种基于高可信环境下数据访问过程的信息安全方法及系统。
背景技术
为了缓解数据传送到计算端的高额成本和防止数据传输到数据拥有方之外的隐私泄露问题,在大数据处理中,一种核心为“数据不动,程序动”的数据访问技术被越来越广泛地应用。但是这样的技术仍然存在一定的缺陷,主要在于:
1、虽然为了尽量避免对其他服务造成影响,被传送的程序应用虽然通常被运行在相对隔离的环境中,如虚拟机中,但是应用始终是要接触数据的,如果应用本身为恶意软件或不可信软件,将会对数据安全乃至整个数据中心造成一定破坏,而目前并没有一套高可信机制来对实时移动到数据端运行的程序做实时的可信审查验证,或者对程序本身的运行做可信的测量,无法进行事后追溯,数据窃取成本低,促进数据窃取事件;
2、在“计算程序移到数据端”进行运算过程中,因为要达到数据不出本地以及隐私保护效果,数据端的运算如同一个黑匣子,(远端)数据使用方无法获知运算过程细节,也无法对运算本身的可信有效性,以及运算过程使用的数据的有效性和可信性进行确认和验证,无法保证运算过程中真正地使用了数据使用方预料的有效数据;
3、在整个流程中,数据使用方一般需要传送一些应用参数或相关数据到程序端(数据拥有方当地),其中的部分参数以及相关数据可能是数据使用方的敏感信息,此数据传送至数据拥有方当地有较大的泄密风险;
4、数据使用和运算过程中将数据(比如结果)发送至数据使用方,有可能造成数据泄露的问题,并且数据泄露后较难以法律承认的方式来确责。
发明内容
本发明以目前大数据领域中“数据不动,程序动”思想为基础,同时解决目前相关技术在数据和运算的安全性、可控追溯、可信审查确责等层面上的问题,提供一种基于高可信环境下数据访问过程的信息安全方法及系统。
为达到上述目的,本发明采用了下列技术方案:
一种基于高可信环境下数据访问过程的信息安全方法,包括以下步骤:
S1.用户交互单元可信接收数据使用方的任务请求并为任务请求生成相应的任务标识符,将任务标识符及任务请求发送至数据运算单元;
S2.数据运算单元下载并加载所述任务请求对应的应用程序至加密内存,对所述加密内存进行可信测量并对测量值进行可信签名得到测量值签名,将所述的测量值及测量值签名可信发送至数据授权单元;
S3.数据授权单元根据测量值生成访问令牌,并将所述的访问令牌发送给数据运算单元;
S4.数据运算单元基于所述的访问令牌使用数据中心相应的数据,并基于使用到的数据得到结果,将结果和使用数据进行可信处理分别得到结果信息和使用数据信息,并将所述的结果信息、使用数据信息和任务标识符可信发送至用户交互单元;
S5.用户交互单元对接收到的使用数据信息和结果信息分别进行可信验证,并在验证成功后将结果信息发送给数据使用方。
在上述的基于高可信环境下数据访问过程的信息安全方法中,所述的用户交互单元和数据运算单元分别运行在基于硬件的可信执行环境中;
且在步骤S4中,通过对结果和使用数据分别进行哈希值计算和哈希值签名实现对结果和使用数据的可信处理;
所述的使用数据信息包括使用数据的数据哈希值及其对应的数据签名;结果信息包括结果、结果哈希值及其对应的结果签名;
且所述的使用数据被统一计算哈希值或分块计算哈希值,当被分块计算哈希值时,数据运算单元累加分块计算得到的数据哈希值,并对累加的数据哈希值进行签名得到所述的数据签名。
在上述的基于高可信环境下数据访问过程的信息安全方法中,所述的数据签名包括由数据使用方签名秘钥和数据拥有方签名秘钥分别对使用数据进行签名而得的使用方数据签名和拥有方数据签名;所述的结果签名包括由数据使用方签名秘钥和数据拥有方签名秘钥分别对结果进行签名而得的使用方结果签名和拥有方结果签名;
或者,所述的数据签名包括由数据使用方签名秘钥对使用数据进行签名而得的使用方数据签名和由数据拥有方签名秘钥对使用方数据签名进行二次签名而得的拥有方数据签名;所述的结果签名包括由数据使用方签名秘钥对结果进行签名而得的使用方结果签名和由数据拥有方签名秘钥对使用方结果签名进行二次签名而得的拥有方结果签名。
在上述的基于高可信环境下数据访问过程的信息安全方法中,步骤S5中,用户交互单元通过以下方式对接收到的使用数据信息和结果信息分别进行可信验证:
通过任务标识符找到数据使用方签名秘钥的私钥,基于该私钥计算得到相应的公钥,并基于该公钥对使用方结果签名和使用方数据签名进行验证。
在上述的基于高可信环境下数据访问过程的信息安全方法中,所述的数据使用方签名秘钥由用户交互单元/数据运算单元在可信执行环境中生成,或由数据使用方生成并包含在所述的任务请求中;所述的数据拥有方签名秘钥由用户交互单元/数据运算单元在可信执行环境中生成,或存储在数据授权单元并与访问令牌一起发送给数据运算单元;
在步骤S2中,所述的可信测量及可信签名方式包括:计算所述加密内存的哈希值,并通过硬件对所述的哈希值进行签名得到所述的测量值签名。
在上述的基于高可信环境下数据访问过程的信息安全方法中,在步骤S1中,用户交互单元将任务请求中的非敏感信息发送给任务调度单元,且在步骤S2中,由所述的任务调度单元根据所述的非敏感信息触发数据运算单元中相应的计算节点。
在上述的基于高可信环境下数据访问过程的信息安全方法中,在步骤S3中,数据授权单元对所述的测量值签名进行有效性验证后保存所述的测量值及测量值签名并根据测量值生成访问令牌;
或者,在步骤S3中,数据授权单元同时对所述的测量值签名和测量值进行有效性验证,并在验证成功后根据测量值生成所述的访问令牌。可以同时保存测量值和测量值签名以便追溯。
上述测量值签名验证包括基于硬件远程认证机制的硬件签名有效性验证,例如基于Intel SGX Remote Attestation。
在上述的基于高可信环境下数据访问过程的信息安全方法中,步骤S5之后还包括:
S6.数据使用方分别使用数据使用方签名秘钥的公钥和数据拥有方签名秘钥的公钥验证使用方数据签名和拥有方数据签名,并验证两者对应的数据哈希值是否相同;
数据使用方分别使用数据使用方签名秘钥的公钥和数据拥有方签名秘钥的公钥验证使用方结果签名和拥有方结果签名,并验证两者对应的结果哈希值是否相同,以及与数据使用方自己计算的结果哈希值是否相同。
在上述的基于高可信环境下数据访问过程的信息安全方法中,在步骤S6之后,数据拥有方可选地通过以下方式验证应用程序是否在运算过程或连接交互过程泄漏原始数据:
A1.数据拥有方将结果哈希值和使用方结果签名发送至第三方机构;
A2.第三方机构使用数据使用方签名秘钥的公钥验证结果签名及结果哈希值的有效性,并要求数据使用方提供结果数据,并计算数据使用方所提供的结果数据的哈希值,验证该哈希值与结果哈希值是否一致,若一致则验证所提供的结果数据中是否存在泄漏数据,否则提示数据使用方其没有提供正确的结果数据,并要求其提供正确的结果数据;
数据使用方可选地通过以下方式验证数据拥有方提供的数据是否正确:
B1.数据使用方基于数据使用方签名秘钥的公钥验证使用方数据签名,以确认计算过程所使用数据的数据哈希值;
B2.数据使用方发送所述的数据哈希值及相应的拥有方数据签名至第三方机构;
B3.第三方机构通过基于数据拥有方签名秘钥的公钥验证所述数据哈希值的有效性后要求数据拥有方提供运算过程的使用数据,并计算所提交使用数据的哈希值,验证该哈希值与B1中的数据哈希值是否一致,若是,则验证使用数据的有效性和合法性,否则提示数据拥有方其没有提供正确的使用数据,并要求其提供正确的使用数据。
一种基于上述基于高可信环境下数据访问过程的信息安全方法的基于高可信环境下数据访问过程的信息安全系统,包括数据使用方和具有数据中心的数据拥有方,所述的数据中心和数据使用方之间具有数据保护模块,所述的数据保护模块包括数据授权单元、数据运算单元和用户交互单元,且所述的数据授权单元、数据运算单元和用户交互单元被分别部署在数据拥有方和/或数据拥有方授权的第三方,所述的用户交互单元和数据运算单元分别运行在基于硬件的可信执行环境中。
本发明的优点在于:
1、基于一套通用的、高可信的机制来对实时移动到数据端的程序做实时的审查、验证,在验证成功后才授权其访问数据中心,避免恶意软件或不可信软件对数据安全造成威胁;
2、对运算过程中的运算状态,被使用的数据进行硬件层级的高可信签名,让数据使用方可以远程验证运算本身的可信性,并且在不接触数据前提下验证、追溯实际使用数据的有效性;
3、数据使用和运算过程中将不可避免的发送数据(比如结果)到数据使用方,有造成数据泄露的隐患,本方案基于CPU层级的硬件可信签名机制能够使泄露数据失信行为彻底留痕,通过具有法律效力的数字签名技术高效追溯泄露行为,进行高效确责,提高违法成本,有效遏制主动违法行为;
4、提供高可信方式来有效保护数据使用方发送至数据拥有方的应用程序参数数据等数据,保证数据使用方数据的隐私性、安全性;
5、相较于传统的系统性的第三方审查方式,本方案具有审查方便、高效、简洁等优点。
附图说明
图1为本发明基于高可信环境下数据访问过程的信息安全方法的硬件部署示意图;
图2为本发明中数据使用方验证计算过程中数据拥有方所提供数据的验证过程流程图;
图3为本发明中数据拥有方验证数据使用方指定的应用程序在运算过程中是否存在泄露、传输原始数据的验证过程流程图。
具体实施方式
下面结合附图和具体实施方式对本发明做进一步详细的说明。
基于CPU层级机密运算或隐私计算是近年来兴起的在信息安全领域最前沿的技术之一,它是指基于芯片层级的可信基的可信执行环境,不受系统层、kernel层控制。加密数据仅在基于CPU层级TEE高可信环境(加密内存)中解密并支撑运算,计算结束后可信执行环境中相关数据被销毁,解密的明文数据在整个流程中不会得以泄露,从而保证可信执行环境内的数据高隐私保护性;基于数据的计算在基于CPU层级加密内存中运行,没有人(包括运行主机最高权限者或系统Kernel内核层级控制权拥有者者)能够侵入CPU层级可信执行环境对运算进行篡改,从而保证可信执行环境内的计算可信性。 相应的技术目前有IntelSGX技术, AMD SEV技术等。芯片层级硬件安全环境相关的技术已被广泛应用于通用芯片,并集成在通用电脑与服务器上,比如目前所有英特尔i3,i5,i7笔记本和PC机,服务器Xeon等。
如图1所示,本方案充分利用基于CPU层级机密运算/隐私计算的通用芯片,如基于Intel SGX 技术的Intel通用芯片等,基于目前“数据不动,程序动”的思想提出一种基于高可信环境下数据访问过程的信息安全方法及其系统,系统包括数据使用方和具有数据中心的数据拥有方,其中数据中心和数据使用方之间具有数据保护模块,数据保护模块包括数据授权单元、数据运算单元、用户交互单元和任务调度单元,且数据授权单元、数据运算单元、任务调度单元、用户交互单元被分别部署在数据拥有方和/或数据拥有方授权的范围内,本实施例以分别部署在数据拥有方为例。其中数据运算单元和用户交互单元运行在基于通用硬件CPU的高可信环境下,可以位于同一CPU下,也可以位于不同CPU下。
系统使用到数据使用方签名秘钥和数据拥有方签名秘钥,数据使用方签名秘钥可以由运行在可信执行环境中的用户交互单元或数据运算单元生成,或由数据使用方生成并包含在任务请求中发送给用户交互单元;数据拥有方签名秘钥可以由用户交互单元或数据运算单元生成,或存储在数据授权单元并与数据授权单元针对当前应用生成的访问令牌一起发送给数据运算单元。本实施例以数据使用方签名秘钥由数据使用方提供和数据拥有方签名秘钥由数据授权单元提供为例进行基于高可信环境下数据访问过程的信息安全方法的执行流程说明:
1、用户交互单元接收数据使用方的任务请求,其中任务请求包括应用下载链接,应用相关参数数据和运行触发时间以及数据使用方签名秘钥等。因为用户交互单元程序运行在基于CPU加密内存的可信执行环境中,所以相关隐私信息不会被数据拥有方获取;
2、用户交互单元生成此任务请求对应的任务标识符,将任务请求中一部分信息(比如任务标识符,应用下载链接,触发时间等非隐私数据)发送给任务调度单元;
3、任务调度单元分配计算任务至数据运算单元中相应的计算节点;步骤2、3是建立在系统具有任务调度单元基础上的,当系统没有任务调度单元时,由用户交互单元直接选定数据运算单元相应的计算节点;
4、数据运算单元下载任务请求对应的应用程序(一般应用为一个独立自带依赖库的微服务包镜像,比如docker image, VM镜像),并对应用进行可信测量,对测量值进行可信签名。测量以及签名方式可以为:基于CPU硬件的可执行环境(加密内存)加载应用,应用启动时刻CPU直接加载相应应用及相关数据至加密内存,并通过测量加密内存的哈希值实现对应用以及相关数据的测量,并验证应用是否来自合法的应用提供方,然后基于硬件对哈希值进行签名得到测量值签名,例如基于Intel SGX技术由Enclave Key来签名生成quote报告;
5、数据运行单元的应用在可信执行环境中成功运行后与用户交互单元的可信执行环境进行可信认证(例如基于Intel SGX技术的Local/Remote Attestation)并且建立可信安全连接;
6、用户交互单元传送此任务请求相关其它隐私信息给数据运算单元,传送信息包括应用相关信息,应用相关的参数数据,数据使用方签名秘钥K_user_sign_priv等。因为数据运算单元程序运行在基于CPU加密内存的高可信环境中(即可信执行环境中),所以这些信息不会被数据拥有方获取;
7、数据运算单元与数据授权单元进行可信认证(例如基于Intel SGX技术的Remote Attestation),并且建立可信安全连接,数据运算单元将测量值签名可信传送至数据授权单元,数据授权单元基于硬件对测量值签名进行有效性验证,并对测量值进行验证以验证数据运算单元上所运行的应用程序是否合规(比如基于Intel SGX 的 IAS:IntelAttestation Service 或Intel DCAP:Extensions Datacenter Attestation Primitives来验证签名合法性,验证应用程序对应的测量值是否在数据拥有方白名单上,或是否已经被授权运行);
8、若验证成功,数据授权单元根据测量值生成访问令牌,并将访问令牌,以及拥有方签名秘钥发送给数据运算单元,使用数据指前述应用程序运行所需要用到的数据中心的数据,访问令牌能够使用数据运算单元程序在一定条件下访问数据中心(比如此访问令牌对应着在某个时间段有权访问哪些数据);若验证不成功情况,则发送数据访问拒绝消息给数据运算单元;
9、如果数据运算单元接收到数据授权单元拒绝访问消息,则通过用户交互单位通知数据使用方;
如果数据运算单元接收到数据授权单元发送过来的访问令牌,则与数据中心建立连接,基于访问令牌在相应条件下访问数据中心;
10、数据运算单元对使用到的数据进行统一或分块计算获取数据哈希值,并基于数据使用方签名秘钥K_user_sign_priv和数据拥有方签名秘钥K_owner_sign_priv分别对使用数据的数据哈希值进行数字签名得到使用方数据签名S_user_data以及拥有方数据签名S_owner_data。根据不同应用场景中不同类型、大小的数据可以对数据进行分批分割并计算出一组数据哈希值 (H_data_1, H_data_2, …, H_data_n),其中H_data_k = Hash(Data_k),数据运算单元累加分块计算得到的数据哈希值,并分别基于数据使用方签名秘钥K_user_sign_priv和数据拥有方签名秘钥K_owner_sign_priv对累加的数据哈希值进行签名得到使用方数据签名S_user_(H_data_1, H_data_2, …, H_data_n)以及拥有方数据签名S_owner_(H_data_1, H_data_2, …, H_data_n)。比如,实际使用的数据基于不同读取文件或不同的数据库分别进行哈希值计算,累加,并计算数据签名;
11、数据运算单元基于使用到的数据进行运算、交互得到结果Result;这个结果可以为应用程序利用使用到的数据进行计算获得的计算结果和/或与外界交互输出的任何数据;
12、数据运算单元计算结果的哈希值得到结果哈希值,并基于数据使用方签名秘钥K_user_sign_priv和数据拥有方签名秘钥K_owner_sign_priv对结果哈希值进行签名分别得到使用方结果签名S_user_result和拥有方结果签名S_owner_result;
13、数据运算单元通过与用户交互单元建立的可信信道将以下信息发送给用户交互单元:任务标识符,应用运行过程中的使用数据信息(包含一个或多个数据哈希值以及使用方数据签名S_user_data,拥有方数据签名S_owner_data)、结果信息(包含结果Result ,结果哈希值,以及使用方结果签名S_user_result和拥有方结果签名S_owner_result);
14、用户交互单元收到以上信息后,首先通过任务标识符查找出数据使用方发送过来的使用方签名秘钥的私钥,可信执行环境中基于私钥计算得到相应的公钥,并用该公钥验证使用方数据签名以及使用方结果签名,以防数据运算单元用伪造的或错误的数据使用方签名秘钥来签名;
15、如果验证失败则将错误信息通知数据使用方;
如果验证成功,用户交互单元把以下信息存储在数据拥有方范围内以便事后可信追溯:实际使用数据的数据哈希值和使用方数据签名、拥有方数据签名;结果哈希值以及使用方结果签名、拥有方结果签名;
16、 用户交互单元把以下信息传送给数据使用方或数据使用方指定的存储空间:结果,结果哈希值,使用方结果签名、拥有方结果签名,实际使用数据的数据哈希值和使用方数据签名、拥有方数据签名;
数据拥有方因为没有数据使用方签名秘钥,所以无法伪造基于数据哈希值的使用方数据签名。
17、数据使用方使用使用方签名秘钥和拥有方签名秘钥的公钥验证数据哈希值签名S_user_data,S_owner_data,并验证其对应的被签名的数据哈希值是否相同;以及验证结果哈值希签名S_user_result,S_owner_result,并验证其对应的被签名的结果哈希值是否相同,验证与数据使用方自己计算的结果哈希值是否相同;
18、验证通过即代表流程成功完成,验证失败将返回验证错误信息给数据拥有方,并表示流程失败。
基于本实施例的方法和系统,如果数据使用方怀疑计算过程中数据拥有方提供了错误的数据,如图2,数据使用方可以通过以下方式进行验证:
a)基于数据使用方公钥验证签名S_user_data,从而确认计算过程中实际使用的数据的(一个或一组)哈希值确实为H_data_k,此哈希值在可信执行环境中也被数据拥有方基于其数字签名方式承认。数据拥有方因为没有数据使用方签名秘钥,所以无法伪造签名S_user_data。
b)发送(一个或一组)哈希值H_data_k以及相对应的拥有方数据签名S_owner_data至第三方审计仲裁机构。
第三方仲裁机构:
i)首先基于数据拥有方预先提交的数据拥有方公钥(比如注册审计服务时提交)来验证哈希值H_data_k有效性,确定此哈希值的确由数据拥有方合法签名,即数据拥有方承认了运算过程中提供的数据哈希值为H_data_k;
ii)第三方仲裁机构要求数据拥有方提交运算过程中使用到的使用数据, 并计算所提交数据的哈希值,验证是否与数据哈希值相同。
iii)对应于哈希值H_data_k提供的数据是否为有效、合法数据(是否为数据使用者预期的数据)。
同时满足这三个条件说明数据可信,否则数据不可信。
上述步骤a)用来验证计算过程中实际使用的数据的哈希值的确为H_data_k,步骤b)用来验证数据拥有方提供对应于H_data_k的数据有效、合规性。
另外数据拥有方需要预先提交数据拥有方公钥给第三方审计仲裁机构,也需要提交此公钥给数据使用方,这两把公钥需要一致。
基于本实施例的方法和系统,如图3所示,如果数据拥有方怀疑数据使用方指定的应用程序在运算过程中泄露、传输原始数据(比如数据添加、混杂在结果数据中输出到数据使用方),则可以通过如下方式验证:
a)数据拥有方已经保存对应任务相应的结果哈希值H_result以及基于数据使用方签名秘钥生成的使用方结果签名S_user_result;
b)数据拥有方将结果哈希值H_result以及使用方结果签名S_user_result发送至第三方审计或仲裁机构。
第三方仲裁机构:
i)基于数据使用方预先提交的数据使用方公钥(比如注册审计服务时提交)验证使用方结果签名S_user_result及H_result有效性,即说明了数据使用方当时已经承认并确认了传送出去的结果数据的哈希值为H_result;
ii)第三方仲裁机构要求数据使用方提供运算结果数据,计算数据使用方提交的结果数据的哈希值,并验证是否与H_result相同;
iii)验证对应于哈希值H_result的数据使用方提供的结果数据是否包含数据拥有方源数据或不属于输出结果的数据拥有方源数据等泄露数据行为。
同时满足这三个条件说明结果可信没有泄露数据,否则数据使用方失信造成数据泄露。
在一些用户场景中,为了契合数据结果不出数据使用方范围,审计流程可以在数据使用方范围内,比如将审计流程对应的程序运行在数据使用方范围内的基于硬件的可信执行环境中,以此来保证审计流程可信性。
另外数据使用方需要预先提交其签名公钥第三方审计仲裁机构,上述流程中传入数据拥有方可信执行环境中的私钥需要对应于此公钥。
优选地,为了提高可信验证效率,本方案中的各种哈希值、签名秘钥的公钥部分可以发送至区块链中。
本方案提出了一套基于通用CPU硬件可信基的高可信的通用机制,保证数据使用方的应用参数和相关数据在数据拥有方范围内运行过程中的隐私性,数据使用方能够对运算过程中使用的数据的有效性和可信性进行验证;基于本方案,如果数据使用方的应用恶意通过某种方式(比如输出结果方式)泄露源数据,或者数据拥有方恶意提供错误的数据给数据使用者的程序使用等都可以基于高效追溯方式追查定责,可以极大降低恶意攻击概率。
相比于传统的系统性的第三方审查(即每次/每批数据,应用都进行全面实时审查),本方案的不同点在于:本方案是对相关应用,数据的使用,传输状态(使用数据,流出结果数据)进行可信留痕,即在可信执行环境下计算出其哈希值并由相关方数字签名以证实其有效性,为相关方事后追溯,验证,追责提供法律承认的技术手段。对方可以事后:1)进行随机选取相关批次使用数据,或输出数据进行第三方审查,验证,或追责;2)对相关应用,使用数据,输出数据存疑的情况下进行第三方审查,验证,或追责。无需每次/每批数据都进行实时审查,能够避开繁琐且低效率的系统性第三方验证与审查。
实施例二
本实施例与实施例一类似,不同之处在于,本实施例的应用场景基于数据拥有方和数据使用方有一定的信任基础,例如同一总公司下两个相对独立的公司实体,或政府下完全独立的不同部门之间,数据授权单元不对测量值进行验证,如不对应用程序是否在数据拥有方的白名单上进行验证,由于双方具有一定的信任基础,所以,省略对测量值的验证,能够提高数据访问效率,本实施例对测量值签名进行有效性验证后直接为任务请求生成访问令牌并发送给数据运算单元,并保存所述的测量值及测量值签名以支持可信追溯,让失信留痕,从而能够高效的事后确责。如果怀疑数据使用方用了不合规应用,此签名可以防止数据使用方事后抵赖。
本方案应用在数据拥有方与数据使用方半信任情形中,数据拥有方发送访问令牌前通过可信方式记录当时实际运行的应用程序及相关数据被计算的哈希值以及数据使用方对该哈希值的签名值,如果事后数据拥有方怀疑数据使用方提供的应用的合规性,可以由第三方审查让数据使用方提供相应的应用数据,基于此哈希值来确认数据使用方提供的应用准确性,并对此应用进行详查判定应用是否违规。基于数据拥有方和数据使用方不同信任程度的不同场景,可以系统性地实时可信验证、审查相关程序的运行,或实时可信留存测量值,便于事后追溯。
实施例三
本实施例与实施例一类似,不同之处在于,本实施例的拥有方数据签名和拥有方结果签名是分别对使用方数据签名和使用方结果签名的二次签名。
即在步骤10中,数据使用方签名秘钥K_user_sign_priv对使用数据的数据哈希值进行数字签名得到使用方数据签名S_user_data,数据拥有方签名秘钥K_owner_sign_priv对使用方数据签名S_user_data进行二次签名得到拥有方数据签名S_owner_data;
即在步骤12中,数据运算单元计算结果的哈希值得到结果哈希值,并基于数据使用方签名秘钥K_user_sign_priv得到使用方结果签名S_user_result,数据拥有方签名秘钥K_owner_sign_priv对使用方结果签名S_user_result进行二次签名得到拥有方结果签名S_owner_result。
实施例四
本实施例与实施例一类似,不同之处在于,本实施例数据使用方的签名秘钥被可信、安全地保存在数据授权单元中,当数据使用方在未来再次使用数据中心的数据时,直接提取相应数据使用方的签名秘钥即可,无需每次使用数据中心都发送一次签名秘钥。签名秘钥被可信、安全地保存在数据授权单元中可以基于硬件可信计算的固化技术,比如IntelSGX Sealing。
实施例五
本实施例与实施例一类似,不同之处在于,本实施例的数据使用方将数据结果加密秘钥发送至用户交互单元,这样,在向数据使用方发回结果信息时,结果是通过该数据结果加密秘钥进行加密后的加密结果。
此外,数据使用方还可以将预期的对应用及相关数据的测量值发送给用户交互单元,数据运算单元将测量值及测量值签名同时发送给用户交互单元进行验证,可以用来证明数据运算单元中的应用是数据使用方所预期的应用。
本文中所描述的具体实施例仅仅是对本发明精神作举例说明。本发明所属技术领域的技术人员可以对所描述的具体实施例做各种各样的修改或补充或采用类似的方式替代,但并不会偏离本发明的精神或者超越所附权利要求书所定义的范围。
尽管本文较多地使用了数据中心、数据拥有方、数据使用方、数据保护模块、数据运算单元、数据授权单元、用户交互单元、任务调度单元等术语,但并不排除使用其它术语的可能性。使用这些术语仅仅是为了更方便地描述和解释本发明的本质;把它们解释成任何一种附加的限制都是与本发明精神相违背的。

Claims (10)

1.一种基于高可信环境下数据访问过程的信息安全方法,其特征在于,包括以下步骤:
S1.用户交互单元可信接收数据使用方的任务请求并为任务请求生成相应的任务标识符,将任务标识符及任务请求发送至数据运算单元;
S2.数据运算单元下载并加载所述任务请求对应的应用程序至加密内存,对所述加密内存进行可信测量并对测量值进行可信签名得到测量值签名,将所述的测量值及测量值签名可信发送至数据授权单元;
S3.数据授权单元根据测量值生成访问令牌,并将所述的访问令牌发送给数据运算单元;
S4.数据运算单元基于所述的访问令牌使用数据中心相应的数据,并基于使用到的数据得到结果,将结果和使用数据进行可信处理分别得到结果信息和使用数据信息,并将所述的结果信息、使用数据信息和任务标识符可信发送至用户交互单元;
S5.用户交互单元对接收到的使用数据信息和结果信息分别进行可信验证,并在验证成功后将结果信息发送给数据使用方。
2.根据权利要求1所述的基于高可信环境下数据访问过程的信息安全方法,其特征在于,所述的用户交互单元和数据运算单元分别运行在基于硬件的可信执行环境中;
且在步骤S4中,通过对结果和使用数据分别进行哈希值计算和哈希值签名实现对结果和使用数据的可信处理;
所述的使用数据信息包括使用数据的数据哈希值及其对应的数据签名;结果信息包括结果、结果哈希值及其对应的结果签名;
且所述的使用数据被统一计算哈希值或分块计算哈希值,当被分块计算哈希值时,数据运算单元累加分块计算得到的数据哈希值,并对累加的数据哈希值进行签名得到所述的数据签名。
3.根据权利要求2所述的基于高可信环境下数据访问过程的信息安全方法,其特征在于,所述的数据签名包括由数据使用方签名秘钥和数据拥有方签名秘钥分别对使用数据进行签名而得的使用方数据签名和拥有方数据签名;所述的结果签名包括由数据使用方签名秘钥和数据拥有方签名秘钥分别对结果进行签名而得的使用方结果签名和拥有方结果签名;
或者,所述的数据签名包括由数据使用方签名秘钥对使用数据进行签名而得的使用方数据签名和由数据拥有方签名秘钥对使用方数据签名进行二次签名而得的拥有方数据签名;所述的结果签名包括由数据使用方签名秘钥对结果进行签名而得的使用方结果签名和由数据拥有方签名秘钥对使用方结果签名进行二次签名而得的拥有方结果签名。
4.根据权利要求3所述的基于高可信环境下数据访问过程的信息安全方法,其特征在于,步骤S5中,用户交互单元通过以下方式对接收到的使用数据信息和结果信息分别进行可信验证:
通过任务标识符找到数据使用方签名秘钥的私钥,基于该私钥计算得到相应的公钥,并基于该公钥对使用方结果签名和使用方数据签名进行验证。
5.根据权利要求4所述的基于高可信环境下数据访问过程的信息安全方法,其特征在于,所述的数据使用方签名秘钥由用户交互单元/数据运算单元生成,或由数据使用方生成并包含在所述的任务请求中;所述的数据拥有方签名秘钥由用户交互单元/数据运算单元生成,或存储在数据授权单元并与访问令牌一起发送给数据运算单元;
在步骤S2中,所述的可信测量及可信签名方式包括:计算所述加密内存的哈希值,并通过硬件对所述的哈希值进行签名得到所述的测量值签名。
6.根据权利要求5所述的基于高可信环境下数据访问过程的信息安全方法,其特征在于,在步骤S1中,用户交互单元将任务请求中的非敏感信息发送给任务调度单元,且在步骤S2中,由所述的任务调度单元根据所述的非敏感信息触发数据运算单元中相应的计算节点。
7.根据权利要求6所述的基于高可信环境下数据访问过程的信息安全方法,其特征在于,在步骤S3中,数据授权单元对所述的测量值签名进行有效性验证后保存所述的测量值及测量值签名并根据测量值生成访问令牌;
或者,在步骤S3中,数据授权单元同时对所述的测量值签名和测量值进行有效性验证,并在验证成功后根据测量值生成所述的访问令牌。
8.根据权利要求7所述的基于高可信环境下数据访问过程的信息安全方法,其特征在于,步骤S5之后还包括:
S6.数据使用方分别使用数据使用方签名秘钥的公钥和数据拥有方签名秘钥的公钥验证使用方数据签名和拥有方数据签名,并验证两者对应的数据哈希值是否相同;
数据使用方分别使用数据使用方签名秘钥的公钥和数据拥有方签名秘钥的公钥验证使用方结果签名和拥有方结果签名,并验证两者对应的结果哈希值是否相同,以及与数据使用方自己计算的结果哈希值是否相同。
9.根据权利要求8所述的基于高可信环境下数据访问过程的信息安全方法,其特征在于,在步骤S6之后,数据拥有方可选地通过以下方式验证应用程序是否在运算过程或连接交互过程泄漏原始数据:
A1.数据拥有方将结果哈希值和使用方结果签名发送至第三方机构;
A2.第三方机构使用数据使用方签名秘钥的公钥验证结果签名及结果哈希值的有效性,并要求数据使用方提供结果数据,并计算数据使用方所提供的结果数据的哈希值,验证该哈希值与结果哈希值是否一致,若一致则验证所提供的结果数据中是否存在泄漏数据,否则提示数据使用方其没有提供正确的结果数据,并要求其提供正确的结果数据;
数据使用方可选地通过以下方式验证数据拥有方提供的数据是否正确:
B1.数据使用方基于数据使用方签名秘钥的公钥验证使用方数据签名,以确认计算过程所使用数据的数据哈希值;
B2.数据使用方发送所述的数据哈希值及相应的拥有方数据签名至第三方机构;
B3.第三方机构通过基于数据拥有方签名秘钥的公钥验证所述数据哈希值的有效性后要求数据拥有方提供运算过程的使用数据,并计算所提交使用数据的哈希值,验证该哈希值与B1中的数据哈希值是否一致,若是,则验证使用数据的有效性和合法性,否则提示数据拥有方其没有提供正确的使用数据,并要求其提供正确的使用数据。
10.一种基于权利要求1-9任意一项所述的基于高可信环境下数据访问过程的信息安全方法的基于高可信环境下数据访问过程的信息安全系统,包括数据使用方和具有数据中心的数据拥有方,其特征在于,所述的数据中心和数据使用方之间具有数据保护模块,所述的数据保护模块包括数据授权单元、数据运算单元和用户交互单元,且所述的数据授权单元、数据运算单元和用户交互单元被分别部署在数据拥有方和/或被数据拥有方授权的第三方,且所述的用户交互单元和数据运算单元分别运行在基于硬件的可信执行环境中。
CN202110817060.2A 2021-07-20 2021-07-20 基于高可信环境下数据访问过程的信息安全方法及系统 Active CN113282946B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110817060.2A CN113282946B (zh) 2021-07-20 2021-07-20 基于高可信环境下数据访问过程的信息安全方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110817060.2A CN113282946B (zh) 2021-07-20 2021-07-20 基于高可信环境下数据访问过程的信息安全方法及系统

Publications (2)

Publication Number Publication Date
CN113282946A true CN113282946A (zh) 2021-08-20
CN113282946B CN113282946B (zh) 2021-11-16

Family

ID=77286884

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110817060.2A Active CN113282946B (zh) 2021-07-20 2021-07-20 基于高可信环境下数据访问过程的信息安全方法及系统

Country Status (1)

Country Link
CN (1) CN113282946B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113569266A (zh) * 2021-09-22 2021-10-29 南湖实验室 一种基于芯片层级隐私计算的主机远程监控方法
CN114201748A (zh) * 2021-12-14 2022-03-18 南湖实验室 高可信环境下计算移向数据端场景中数据源可信验证方法
CN114679270A (zh) * 2022-05-25 2022-06-28 南湖实验室 一种基于隐私计算的数据跨域加解密方法
CN118350017A (zh) * 2024-06-18 2024-07-16 南湖实验室 一种基于机密计算的大模型安全可信使用方法及其系统

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180336342A1 (en) * 2017-05-19 2018-11-22 Intel Corporation Techniques for secure-chip memory for trusted execution environments
CN111898153A (zh) * 2020-03-18 2020-11-06 支付宝(杭州)信息技术有限公司 调用合约的方法及装置
CN111913981A (zh) * 2020-06-09 2020-11-10 华南理工大学 在线离线的基于属性的布尔关键字可搜索加密方法及系统
CN112380578A (zh) * 2020-11-20 2021-02-19 天翼电子商务有限公司 一种基于区块链和可信执行环境的边缘计算框架
CN112613048A (zh) * 2020-12-18 2021-04-06 武汉科技大学 云存储模式下基于sgx的密钥使用次数管理方法及系统

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180336342A1 (en) * 2017-05-19 2018-11-22 Intel Corporation Techniques for secure-chip memory for trusted execution environments
CN111898153A (zh) * 2020-03-18 2020-11-06 支付宝(杭州)信息技术有限公司 调用合约的方法及装置
CN111913981A (zh) * 2020-06-09 2020-11-10 华南理工大学 在线离线的基于属性的布尔关键字可搜索加密方法及系统
CN112380578A (zh) * 2020-11-20 2021-02-19 天翼电子商务有限公司 一种基于区块链和可信执行环境的边缘计算框架
CN112613048A (zh) * 2020-12-18 2021-04-06 武汉科技大学 云存储模式下基于sgx的密钥使用次数管理方法及系统

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113569266A (zh) * 2021-09-22 2021-10-29 南湖实验室 一种基于芯片层级隐私计算的主机远程监控方法
CN114201748A (zh) * 2021-12-14 2022-03-18 南湖实验室 高可信环境下计算移向数据端场景中数据源可信验证方法
CN114201748B (zh) * 2021-12-14 2024-02-06 南湖实验室 高可信环境下计算移向数据端场景中数据源可信验证方法
CN114679270A (zh) * 2022-05-25 2022-06-28 南湖实验室 一种基于隐私计算的数据跨域加解密方法
CN118350017A (zh) * 2024-06-18 2024-07-16 南湖实验室 一种基于机密计算的大模型安全可信使用方法及其系统

Also Published As

Publication number Publication date
CN113282946B (zh) 2021-11-16

Similar Documents

Publication Publication Date Title
CN113282946B (zh) 基于高可信环境下数据访问过程的信息安全方法及系统
US9497210B2 (en) Stateless attestation system
US7461249B1 (en) Computer platforms and their methods of operation
US10305893B2 (en) System and method for hardware-based trust control management
US7194623B1 (en) Data event logging in computing platform
CA2814497C (en) Software signing certificate reputation model
WO2022073264A1 (en) Systems and methods for secure and fast machine learning inference in trusted execution environment
US20150188944A1 (en) System and method for hardware-based trust control management
CN111708991A (zh) 服务的授权方法、装置、计算机设备和存储介质
CN110276198B (zh) 一种基于概率预测的嵌入式可变粒度控制流验证方法及系统
US7210034B2 (en) Distributed control of integrity measurement using a trusted fixed token
CN111475782B (zh) 基于sgx软件扩展指令的api密钥保护方法及系统
KR20070122502A (ko) 디바이스 인증을 위한 하드웨어 기능 스캔을 하는 컴퓨터판독가능 매체, 방법 및 시스템
CN115580413B (zh) 一种零信任的多方数据融合计算方法和装置
CN113691508B (zh) 数据传输方法、系统、装置、计算机设备及存储介质
CN113704211B (zh) 数据查询方法及装置、电子设备、存储介质
CN118300814A (zh) 一种跨平台登录方法及系统
CN113468591A (zh) 数据访问方法、系统、电子设备及计算机可读存储介质
Hacini et al. TAMAP: a new trust-based approach for mobile agent protection
Gallery Authorisation issues for mobile code in mobile systems
JP7477907B2 (ja) 情報提供システム、情報提供方法及び情報提供プログラム
CN117892268A (zh) 一种分布式的水印嵌入软件保护方法
CN116980158A (zh) 数据处理方法及相关设备
Tian et al. SRAS: Self-governed Remote Attestation Scheme for Multi-party Collaboration
CN117436104A (zh) 一种安全访问算法更新方法、系统

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CP02 Change in the address of a patent holder

Address after: 314000 Building 29, Xianghu villa, Qixing street, Nanhu District, Jiaxing City, Zhejiang Province

Patentee after: Nanhu Laboratory

Address before: 314000 Building 29, Xianghu villa, Qixing street, Nanhu District, Huzhou City, Zhejiang Province

Patentee before: Nanhu Laboratory

CP02 Change in the address of a patent holder