CN111865568B - 面向数据传输的存证方法、传输方法及*** - Google Patents
面向数据传输的存证方法、传输方法及*** Download PDFInfo
- Publication number
- CN111865568B CN111865568B CN201910356666.3A CN201910356666A CN111865568B CN 111865568 B CN111865568 B CN 111865568B CN 201910356666 A CN201910356666 A CN 201910356666A CN 111865568 B CN111865568 B CN 111865568B
- Authority
- CN
- China
- Prior art keywords
- computer system
- data
- information
- processing environment
- certificate
- 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
Links
Images
Classifications
-
- 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/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0894—Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
- H04L9/0897—Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage involving additional devices, e.g. trusted platform module [TPM], smartcard or USB
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/083—Network architectures or network communication protocols for network security for authentication of entities using passwords
-
- 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
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显示为本申请面向数据传输的验证方法在又一实施例中的流程示意图。
具体实施方式
以下由特定的具体实施例说明本申请的实施方式,熟悉此技术的人士可由本说明书所揭露的内容轻易地了解本申请的其他优点及功效。
虽然在一些实例中术语第一、第二等在本文中用来描述各种元件,但是这些元件不应当被这些术语限制。这些术语仅用来将一个元件与另一个元件进行区分。例如,第一计算机***可以被称作第二计算机***,并且类似地,第二计算机***可以被称作第一计算机***,而不脱离各种所描述的实施例的范围。但是除非上下文以其他方式明确指出,否则它们不是同一个计算机***。
再者,如同在本文中所使用的,单数形式“一”、“一个”和“该”旨在也包括复数形式,除非上下文中有相反的指示。应当进一步理解,术语“包含”、“包括”表明存在所述的特征、步骤、操作、元件、组件、项目、种类、和/或组,但不排除一个或多个其他特征、步骤、操作、元件、组件、项目、种类、和/或组的存在、出现或添加。此处使用的术语“或”和“和/或”被解释为包括性的,或意味着任一个或任何组合。因此,“A、B或C”或者“A、B和/或C”意味着“以下任一个:A;B;C;A和B;A和C;B和C;A、B和C”。仅当元件、功能、步骤或操作的组合在某些方式下内在地互相排斥时,才会出现该定义的例外。
在涉及多方参与的隐私计算、安全数据等数据传输应用中,为确保数据安全传输,计算机***采用加密方式对所传输的数据进行保密处理。然而,当所传输的数据被损坏、修改、截取时,数据接收方或数据发送方无法证实自己的数据传输行为。例如,在传输电子合同等重要商务信息的电子邮件时,数据发送方和数据接收方无法对发送电子邮件的行为和接收电子邮件的行为进行证实,由此造成对传输电子邮件的操作无法验证的问题。又如,在多方参与的隐私计算时,数据发送方无法对发送至第三方以执行多方计算的发送操作进行验证,以及数据接收方无法对来自于第三方的多方计算结果的接收操作进行验证,导致当隐私数据泄露、计算错误时无法进行追溯。
基于此,本申请提供一种面向数据传输的存证方法。所述存证方法主要执行在执行数据传输的第一计算机***中。其中,所述第一计算机***为用于发送数据的计算机***(称为D端),或者用于接收数据的计算机***(称为C端)。其中,所述第一计算机***D端或第一计算机***C端可为单台计算机设备;或者为属于基于云架构的服务***或分布式服务***中的计算机设备等;再或者为一虚拟设备。其中,所述单台计算机设备包括但不限于:如笔记本电脑、台式机等个人终端设备、如手机、平板电脑等智能终端设备等。所述基于云架构的服务***包括公共云(PublicCloud)服务端与私有云(PrivateCloud)服务端,其中,所述公共或私有云服务端包括Software-as-a-Service(软件即服务,简称SaaS)、Platform-as-a-Service(平台即服务,简称PaaS)及Infrastructure-as-a-Service(基础设施即服务,简称IaaS)等。所述私有云服务端例如阿里云计算服务平台、亚马逊(Amazon)云计算服务平台、百度云计算平台、腾讯云计算平台等等。所述虚拟设备可为配置在一实体服务器中的一个虚拟设备,并藉由管理***被单独管理。
请参阅图1,显示为本申请第一计算机***在一实施例中的结构示意图。如图所示,所述第一计算机***50包括:存储装置51、接口装置52和处理装置53。
其中,存储装置51存储装置51包含非易失性存储器、存储服务器等。其中,所述非易失性存储器举例为固态硬盘或U盘等。所述存储服务器用于存储至少一种程序,以及所获取的各种信息。
所述接口装置52包括网络接口、数据线接口等。其中所述网络接口包括但不限于:以太网的网络接口装置、基于移动网络(3G、4G、5G等)的网络接口装置、基于近距离通信(WiFi、蓝牙等)的网络接口装置等。所述数据线接口包括但不限于:USB接口、RS232等。所述接口装置与所述存储装置、处理装置和互联网等数据连接。所述接口装置52用于与至少一个第三计算机***数据通信。
其中,所述第三计算机***用于配合执行数据传输。所述第三计算机***举例为用于以发送数据为目的而进行数据处理的计算机设备、或用于以接收数据为目的而进行数据处理的计算机设备等。其中,用于以发送数据为目的而进行数据处理的计算机设备举例为:为发送数据而执行数据编辑处理的计算机设备、为发送基于隐私计算而产生的计算结果而执行隐私计算处理的计算节点设备等;其中,所述数据编辑处理包括但不限于邮件编辑、合同签名、数据统计等;所述隐私计算处理包括但不限于:基于多方计算的本地数学计算、基于多方计算的数值传输、基于同态加密等数学计算等。用于以接收数据为目的而进行数据处理的计算机设备举例为:响应于接收数据操作的数据编辑处理的计算机设备、基于隐私计算的分配方式而生成用于隐私计算的计算指令的计算节点设备等;其中,所述数据编辑处理包括但不限于邮件阅读、合同下载、数据评估等;所述生成用于隐私计算的计算指令的方式包括但不限于:基于计算任务而生成用于多方计算的计算指令、基于计算任务而生成用于同态加密计算的计算指令等。
以第一计算机***为D端为例,第三计算机***为接收数据的一计算机***,其可为接入互联网中的任一电子设备。例如,个人计算机设备、基于云架构的服务***中的一计算机设备、与D端处于同一分布式服务***中的又一计算机设备等。所述第三计算机***可为实体计算机设备或虚拟设备。以第一计算机***为C端为例,第三计算机***为发出数据的一计算机***,其可为接入互联网中的任一电子设备。例如,个人计算机设备、基于云架构的服务***中的一计算机设备、与C端处于同一分布式服务***中的又一计算机设备等。所述第三计算机***可为实体计算机设备或虚拟设备。
所述处理装置53连接接口装置52和存储装置51,其包含:CPU或集成有CPU的芯片、可编程逻辑器件(FPGA)和多核处理器中的至少一种。处理装置53还包括内存、寄存器等用于临时存储数据的存储器。所述处理装置53中集成有一可信任的处理环境。其中,所述处理环境包括集成在处理装置53中的硬件和软件,其根据预设的可供第三方信任的基础提供用于执行发送/接收数据过程的软件接口和/或硬件接口。所述可供第三方信任指的是对计算行为的信任,即第一计算机***实现特定目标的计算行为和数据传输行为与预期的一致。换言之,所述可供第三方信任的处理环境为第一计算机***所提供的服务是可论证且是可信赖的,这里的可信赖主要指***的可靠性和可用性。所述可供第三方信任的基础包括但不限于:可供信任的硬件环境、可供信任的执行环境;其中,所述硬件环境举例包括独立于处理装置53中其他硬件的处理器、内存等,或者从处理装置53的共用处理器、内存中划分出的、用于单独运行执行环境的硬件等。所述执行环境举例包括独立于处理装置53运行所依赖的操作***(或虚拟环境)等的其他操作***(或虚拟环境)等,或者利用权限、接口等从处理装置53的共用执行环境中划分出的、用于单独运行发送/接收数据的可执行程序的执行环境等。所述处理装置与所述存储装置和接口装置相连,至少所述处理环境按照所存储的至少一个程序,执行如图1所示的面向数据传输的存证方法以生成供封存保存的存证信息。
请参阅图2,显示为本申请面向数据传输的存证方法在一实施例中的流程示意图,所述存证方法执行于第一计算机***。如图1所示,所述存证方法包括:
在执行的步骤S11中,基于数据传输指令,认证所述第一计算机***中一可信任的处理环境;其中,所述处理环境用于执行所述数据传输指令以传输所述数据。
其中,所述数据传输指令包括以下任一种:基于发送数据而产生的指令或基于接收数据而产生的指令。
以基于推送机制发送数据为例,第一计算机***(D端)基于推送机制向第三计算机***发出为使第三计算机***接收后续数据而产生的数据传输指令DTI-1;基于所述数据传输指令DTI-1,第三计算机***向第一计算机***反馈一认证请求,其用于认证所述第一计算机***(D端)中包含可信任的处理环境,以及所传输的数据来自于所述可信任的处理环境,所述第一计算机***基于该认证请求执行所述步骤S11。以基于一获取请求发送数据为例,第三计算机***基于所执行的指令而产生向第一计算机***(D端)获取数据的获取请求并发送至所述第一计算机***(D端);第一计算机***(D端)基于所述获取请求产生一数据传输指令DTI-2,并基于所述数据传输指令DTI-2,执行所述步骤S11,以向第三计算机***认证明所述第一计算机***(D端)中包含可信任的处理环境,以及所传输的数据来自于所述可信任的处理环境。
以一种接收数据的方式为例,第三计算机***基于推送机制向第一计算机***(C端)发出为使第一计算机***(C端)接收后续数据而创建的数据传输指令DTI-3和一认证请求,基于所述数据传输指令DTI-3和认证请求,第一计算机***执行步骤S11,以认证所述第一计算机***(C端)中包含可信任的处理环境,以及所传输的数据来自于所述可信任的处理环境。以又一接收数据的方式为例,第一计算机***(C端)基于所执行的指令而产生向第三计算机***获取数据的获取请求并发送至所述第三计算机***;第一计算机***(C端)基于所发出的获取请求产生一数据传输指令DTI-4,并基于所述数据传输指令DTI-4,执行所述步骤S11,以向第三计算机***认证明所述第一计算机***(C端)中包含可信任的处理环境,以及所传输的数据来自于所述可信任的处理环境。
在此,在一些实施方式中,所述第一计算机***执行步骤S11的方式包括:基于第一计算机***与第三计算机***之间的认证机制,认证所述第一计算机***中一可信任的处理环境。其中,所述认证机制包括但不限于:第一计算机***与第三计算机***预先构建的自定义的认证机制。例如,第一计算机***基于数据传输指令初始化所述可信任的处理环境,所述可信任处理环境基于初始化操作并按照预先与第三计算机***所构建的认证协议,生成一认证信息,其包含所述处理环境的参数和用于描述所述处理环境执行数据传输操作的相关信息等,并将该认证信息发送至第三计算机***,以供第三计算机***进行认证确认。其中,为避免所述认证信息被截取,在一些具体示例中,所述认证信息基于第一计算机***和第三计算机***所预设的密钥对进行加密处理以实现加密传输。
在另一些实施方式中,所述第一计算机***执行步骤S11的方式包括:步骤S111,基于所述数据传输指令,建立所述处理环境内与第三计算机***之间的可信任通信链路。
在此,所述第一计算机***构建其可信任的处理环境与第三计算机***之间的可信任通信链路。换言之,可信任的处理环境藉由其与第一计算机***中的接口装置的连接关系,构建其自身与第三计算机***的可信任通信链路。其中,所述可信任通信链路包含可信任的处理环境与第三计算机***之间进行数据通信的物理链路和逻辑链路,其用于执行以下至少一种数据通信:发送数据、接收数据、对可信任处理环境进行认证的数据通信等。由此,经由所述可信任通信链路所执行的数据传输操作被视为所传输的数据来自于可信任的处理环境。
在一些示例中,为向第三计算机***证明第一计算机***中包含可信任的处理环境,以及与第三计算机***之间传输的数据来自于所述可信任的处理环境,所述第一计算机***中可信任的处理环境生成一连接请求,藉由将所述连接请求发送至第三计算机***,所述第三计算机***对是否建立可信任通信链路进行认证,并在认证通过时反馈表示建立可信任通信链路的验证信息,或者在认证未通过时反馈表示无法建立可信任通信链路的验证信息。
为此,在一些具体示例中,可信任的处理环境通过占用第一计算机***的接口装置中的指定端口向第三计算机***发送连接请求,以得到第三计算机***反馈的验证信息,由此所建立的可信任通信链路为一种专用通信链路。在又一些具体示例中,可信任的处理环境通过第一计算机***的接口装置传输专用于建立可信任通信链路的连接请求,由此与第三计算机***建立可信任通信链路。在再一些具体示例中,可信任的处理环境结合前述各具体示例所提供的方式与第三计算机***建立可信任通信链路。
在另一些示例中,为便于适配与第一计算机***进行数据传输的多种第三计算机***进行认证操作,所述可信任的处理环境将所述第三计算机***视为可信任通信链路上的网络节点,通过第三计算机***将用于建立可信任通信链路的连接请求发送至一认证服务***,所述认证服务***基于对所述连接请求的认证处理反馈一验证信息,由此建立第一计算机***和第三计算机***之间的可信任通信链路。其中,所述认证服务***为一种被第一计算机***和第三计算机***所信任的用于执行认证过程的计算机***,其举例为单台计算机设备、基于云架构的服务***、或服务器集群等。所述认证服务***举例为IAS(International Accreditation Service,简称IAS)提供的服务***。
在上述任一建立可信任通信链路的示例中,所述可信任的处理环境初始化所述可信任通信链路的连接请求包含为建立可信任通信链路而设置的上下文信息。其中,所述上下文信息举例包括由所述可信任处理环境中所配置的随机数生成器所生成的会话密钥。其中,所述随机数生成器举例为一种伪随机数生成器。例如,所述随机数生成器所生成的会话密钥包含用于描述可信任处理环境的执行环境和硬件环境的数据和在预设数域范围内所生成的随机数。又如,所述可信任的处理环境基于Sigma协议并利用随机数生成器生成包含DHKE(Diffie-Hellman Key Exchange迪菲-赫尔曼密钥交换)的上下文信息。
基于前述一些示例所示,所生成的包含上下文信息的连接请求由可信任的处理环境发出,并由第三计算机***执行认证操作,以生成连接验证信息。基于前述另一些示例所示,所述连接请求通过第三计算机***发送至认证服务***;其中,第三计算机***在转发所述连接请求时,将自身的节点信息补充到连接请求中以实现与可信任的处理环境建立可信任通信链路的目的。认证服务***执行认证操作以生成连接验证信息。其中,所述连接验证信息包含可供第一计算机***中可信任的处理环境验证的信息。例如,所述连接验证信息包括可供第一计算机***中可信任的处理环境利用第三方所提供的数据库进行查证的信息。
在一些具体示例中,所述认证操作包括:查询关于第一计算机***中可信任的处理环境的签名撤销表,并生成包含所述签名撤销表的连接验证信息反馈给可信任的处理环境。在一些更具体示例中,所述认证操作还包括:利用与第一计算机***共享的密钥将所述连接验证信息进行签名处理。
所述第一计算机***中的可信任的处理环境基于所述连接验证信息确认建立所述可信任通信链路。在此,所述第一计算机***中可信任的处理环境通过对所述连接验证信息进行验证操作来确认建立所述可信任通信链路。例如,所述第一计算机***中可信任的处理环境藉由第三方查证所述连接验证信息中的签名撤销表,若查证存在相应签名撤销表,则确认建立所述可信任通信链路,并执行步骤S112以完成认证;否则,则确认无法建立所述可信任通信链路。又如,所述第一计算机***中可信任的处理环境先基于预先获得的密钥对连接验证信息的签名进行解密,再藉由第三方查证所述连接验证信息中的签名撤销表。其中,所述第三方举例为提供所述可信任处理环境的服务提供商,或被第一计算机***、第三计算机***信任的服务提供商。
所述步骤S11还包括步骤S112,利用所述可信任通信链路,将一报告信息签名后发送至所述第三计算机***以完成认证。
在此,第一计算机***中可信任的处理环境利用所述可信任通信链路,生成包含所述处理环境所提供的执行环境信息、用于执行数据传输操作的可执行程序信息的报告信息。其中,所述执行环境信息包括所述数据被执行的软件环境信息和硬件环境信息。所述可执行程序信息包括:处理环境执行数据传输操作的可供计算机识别的机器指令。其中,可执行程序信息包括以下至少一种:用于描述为执行所述数据传输操作而设置的计算任务、用于描述对数据进行安全处理的执行方式等。其中,所述计算任务举例包括对隐私数据进行业务逻辑处理、数据计算处理等的方式。所述安全处理举例包括对加密处理等。例如,对于涉及多方计算的数据传输操作,所述加密处理为将数据进行随机分散处理,以便所述可信任的处理环境传输经分散处理后的数据。
在一些示例中,第一计算机***中可信任的处理环境利用在建立可信任通信链接时所共享的密钥,将所生成的报告信息进行签名后发送至第三计算机***,由第三计算机***完成认证。在此,第三计算机***利用共享的密钥对报告信息的签名进行解密处理,以基于所提供的报告信息证明所述第一计算机***中的可信任的处理环境执行数据传输操作。
在又一些示例中,第一计算机***中可信任的处理环境利用在建立可信任通信链接时所共享的密钥,将所生成的报告信息进行签名后通过第三计算机***发送至认证服务***。在此,为使得第三计算机***确认认证服务***的认证结果,所述第三计算机***基于一认证服务***对所述签名后的报告信息的认证结果,确定与所述第一计算机***中的可信任的处理环境进行数据传输。换言之,认证服务***和第三计算机***之间基于预设协议来报告和确认认证结果。其中,所述预设协议包括但不限于以下至少一种:包含第一计算机***和认证服务***证书信息的证书链、与认证服务***匹配的密钥等。其中,所述证书信息举例为相应***的可信任处理环境生成的度量结果。例如,相应***可信任的处理环境对可执行程序、转入的与传输操作相关的数据、执行环境、硬件环境进行测度得到所述度量结果。基于此,第三计算机***将确认利用所述可信任通信链路配合第一计算机***执行接收/发送数据操作。
经由步骤S11中对第一计算机***中可信任的处理环境的认证,所述可信任的处理环境执行数据传输操作,在执行所述操作时,可信任的处理环境还执行所述步骤S12。
在执行的步骤S12中,在所述处理环境内生成用于验证传输所述数据的操作的存证信息,并予以封存保存。其中,所述封存保存意指以不可修改的文件形式予以保存的方式;所述文件形式包括但不限于:加密文件、不可编辑的文件等。
在此,所述可信任的处理环境在执行数据传输操作时,将至少所传输的数据本身进行存证处理。在一些示例中,所述存证处理的方式包括按照预设数据封装格式将与一次数据传输操作相关的数据予以封存保存。其中,所述一次数据传输操作相关的数据包括但不限于以下多种的组合:被传递的数据本身(简称数据)、数据发送方信息、数据接收方信息、基于数据传输指令而生成的编号ID等。其中,被传递的数据本身包括:待计算的数值、对所述数值进行计算的代码、获取待计算数值的语句中的至少一种。其中,所述待计算的数值来自于第一计算机***执行可执行程序期间产生的变量、来自于数据库、来自于网络中的至少一处等。所述对数值进行计算的代码举例包含以下至少一种:加法计算、乘法计算、位提取计算、秘密分享等中至少一种的计算指令(集),以及按照多方计算的计算协议将多种计算进行优化处理后得到的计算指令(集)。所述获取待计算数值的语句举例包括SQL语句等。例如,可信任处理环境按照多方计算的计算协议将所接收的包含待计算的数值在内的计算任务进行分解处理,得到待由相应数量的第三计算机***执行计算时所使用的数值和对所述数值进行计算的代码(又称计算指令)等。
在另一些示例中,为便于进行单独验证,所述存证处理的方式包括将所述一次数据传输操作相关的数据单独封存保存。与前述示例类似,不同之处在于将需存证的数据单独封存保存。在此不再详述。
基于上述任一示例,所述步骤S12包括以下步骤:在所述处理环境内,基于预设的存证密钥将包含所述数据的存证信息进行加密处理,得到第二存证信息,并将其作为存证信息予以封存保存。其中,所述存证密钥由所述数据持有方提供,以便在验证时该数据持有方提供相同或相关的存证密钥以完成验证。其中,在一些具体示例中,所述处理环境将存证信息保存在第一计算机***中所述处理环境之外的存储介质上,例如保存在第一计算机***的硬盘中。在另一些具体示例中,所述处理环境藉由第一计算机***与第二计算机***之间的数据通信,将存证信息保存在第二计算机***中。例如,所述处理环境将存证信息保存在构成区块链的第二计算机***中。
为减少所述第一存证信息的数据容量,所述步骤S12还包括基于所述第二存证信息生成所述第一存证信息,并将所述第一存证信息作为存证信息予以封存保存。即,提取第二存证信息中的摘要信息(即第一存证信息),并将其作为用于验证的存证信息予以封存保存。例如,执行本步骤所得到的存证信息封存保存在至少一个所述第二计算机***中,以供验证时提供无法抵赖的存证信息。
在此,所述提取第二存证信息中的摘要信息的步骤包括将所述第二存证信息进行哈希计算得到所述第一存证信息。其中,所述哈希计算的方式举例但不限于:SHA-1算法、SHA-224算法、SHA-256算法、SHA-384算法、SHA-512算法及其衍生算法等。
为增强保存于第二计算机***中的存证信息的安全性,所述步骤S12还包括:基于预设的认证密钥将所述第一存证信息进行签名,以将签名后的第一存证信息得到存证信息并予以封存保存。其中,所述认证密钥与前述存证密钥类似,均由数据持有方提供。第一计算机***中可信任的处理环境将经哈希计算的第一存证信息进行签名,得到第一存证信息及其消息认证信息(MAC)并将包含该第一存证信息及其消息认证信息的存证信息封存保存在第一计算机***和/或至少一个第二计算机***中。
基于上述各示例所封存保存的存证信息用于当任一方对第一计算机***所执行的数据传输操作产生争议时提供验证凭证。
本申请所提供的存证方法通过在经认证通过的可信任的处理环境中生成存证信息,确保数据发送方(D端)或数据接收方(C端)在执行数据传输操作期间所产生的存证信息不会受外部干扰,以及确保所生成的存证信息确实来自于可信任的处理环境而非不可信任的一方。由此使得所生成的存证信息本身具有可信任性和可追溯性。
基于上述各示例的描述并结合图3,现以下述各实施例为例描述所述存证方法的多种执行过程:
在一个示例性的实施例中,在第一计算机***(D端或C端)在执行数据传输操作之前,首先向第三计算机***(S端)发送数据传输指令、或接收来自第三计算机***(S端)的数据传输指令,认证所述第一计算机***中有一个可信任的处理环境,并且,所述可信任的处理环境用于执行所述数据传输指令以传输所述数据。第一计算机***与第三计算机***的相互认证并不是完全匿名的,第一计算机***会向第三计算机***公开自己的ID。第三计算机***在接收数据之前,会向第一计算机***发起挑战,要求第一计算机***证明其可信性。
以发送数据为例,在第一计算机***准备(D端)向第三计算机***(S端)发送数据之前,第一计算机***与第三计算机***相互进行认证。只有在认证成功后,确保第三计算机***接收数据的确是从第一计算机***发出的,第一计算机***才会执行后续发送步骤。第一计算机***还执行存证的步骤,用于在需要时向外界证明第一计算机***的确将给定的数据发送给了第三计算机***;在有争议时,第一计算机***无法伪造存证数据。
以接收数据为例,在第一计算机***(C端)准备从第三计算机***(S端)接收数据之前,第一计算机***与第三计算机***相互进行认证。只有在认证成功后,确保第三计算机***的确是在将数据发送给第一计算机***,第一计算机***才会执行后续接收步骤。第一计算机***还执行存证的步骤,用于在需要时向外界证明第一计算机***的确接收了给定的数据;在有争议时,第一计算机***无法伪造存证信息。
在一个示例性的实施例中,第一计算机***在可信任的处理环境中执行的代码通过指令生成签名,提供代码已在受信任环境中正确初始化的身份验证证明。第一计算机***将签名信息返回给第三计算机***后,第三计算机***会将其转发给认证服务***(IAS)校验,通过IAS,可信任的处理环境可以向不可信的另一方证明第三计算机将要接收的数据的代码未被篡改,并在—个可信的计算平台上运行。在远程认证的同时,还会建立—个可信的数据传输通道,由于非对称加密非常耗时,不能用于用户数据加密,所以本申请在一个示例性的实施例中,基于Sigma协议执行Diffie-Hellman密钥交换(DHKE),之后通过交换中获得的认证密钥(SK)来进行数据的收发。
例如,在第一计算机***收到数据发送指令后,第一计算机***向第三计算机***发送数据发送请求,第三计算机***向第一计算机***发起挑战,要求第一计算机***证明其运行在可信的硬件环境中。第一计算机***执行相应的指令进入到可信任的处理环境中。可信任的处理环境进行初始化,并返回DHKE上下文参数给第一计算机***。第一计算机***再将DHKE上下文参数发送给第三计算机***。第三计算机***收到第一计算机***返回的消息后,生成自己的DHKE上下文参数,并查询IAS,以获取针对可信任的处理环境的签名撤销表(SigRL),将这些信息返回给第一计算机***与可信任的处理环境。
可信任的处理环境在收到上述信息后,会首先验证签名,检查SigRL,之后生成一个包含当前运行环境、用户程序以及硬件信息的报告,并使用SGX硬件指令对报告签名,只有IAS才能验证该签名。第三计算机***将可信任的处理环境生成的报告发送给第三计算机***,第三计算机***收到报告后,将其提交至IAS。IAS接收到报告后进行验证,将验证结果签名后返回给第三计算机***。
由于第三计算机***保存有IAS的证书链,可以验证IAS返回的结果。如果验证成功,则会提取可信任的处理环境的ID,并与存储在本地的MR(度量报告)比对,如果匹配则认为在可信任的处理环境中指定的应用运行在可信的环境中,之后告知第一计算机***通过验证并用私钥签名该消息。
认证通过后,第一计算机***向第三计算机***发送共享密钥加密过的数据,同时,将数据加密后存储在本地,同时将数据的哈希信息发布到区块链。由于第一计算机***已向第三计算机***证明其软硬件环境均是可信的,所以存证的数据确保了发送数据的不可抵赖性。如果第三计算机***发送IAS返回的认证状态不匹配,则会向第一计算机***返回错误信息,双方终止数据传输。
接收数据的存证流程与上述类似,此时第三计算机***变成了数据的发送方,第一计算机***变成了数据的接收方,在第三计算机***向第一计算机***发送数据之前,也会要求第一计算机***进行自我认证。具体流程和步骤此处不再赘述。
在一个示例性的实施例中,第一计算机***在收到计算结果数据的同时,会将需要存证的结果数据原文(即第二存证信息)存储在本地加密文件***中,将结果数据的哈希(即第一存证信息)存储在区块链中,存储在本地的数据由用户维护,本地加密文件***提供文件的加密和一致性验证保护。存储的数据都经过本地加密文件***加密,而用于解密的密钥是用户提供并传输进入可信任的处理环境,运行过程中可信任的处理环境之外无法获得密钥,从而确保可信任的处理环境中的数据和加密过程不会被恶意篡改和泄露。
在某些实施例中,第一计算机***进行本地存证(Local Record,LR)时,第一计算机***保存发送给第三计算机***的数据或从第三计算机***接收的数据,以及对应所述数据的计算描述信息,以生成存证信息,所述存证信息基于存证密钥(Encrypt Key,EK)进行加密之后封存保存在第一计算机***的本地。
在某些实施例中,第一计算机***进行区块链存证(Blockchain Record,BR)时,第一计算机***对数据进行哈希运算,分别获得数据的哈希值、代码哈希值、数据源或接收方的哈希值,并基于认证密钥(Sign Key,SK)生成消息认证信息(Message AuthenticationCode,MAC);根据所述哈希值、消息认证信息和Request ID生成存证信息,并将所述存证信息封存保存至区块链。
在一个示例性的实施例中,第一计算机***通过ECALL将数据X和任务描述传入可信任的处理环境,可信任的处理环境将X切分为X1和X2。然后,可信任的处理环境使用第一计算机***用户提供的存证密钥计算密文,所述密文包括数据密文、代码密文、数据源和接收方的密文等。然后,可信任的处理环境计算各个密文的哈希值,对应的包括数据哈希值、代码哈希值、数据源和接收方的哈希值等。可信任的处理环境使用第一计算机***提供的认证密钥计算密文的哈希值的消息认证码MAC,MAC用于证明明文数据的哈希值由认证密钥在可信任的处理环境中产生。可信任的处理环境将消息认证码存入第二计算机***(如SGX加密文件***),使用DUEY作为加密密钥。可信任的处理环境通过OCALL将数据传送到第一计算机***,以进行数据存储和发送。第一计算机***将X1发送给第三计算机***S1,将X2发送给第三计算机***S2,以及将对应第三计算机***S1和S2的两个存证信息存入外部存储例如位于区块链的第二计算机***中。其中,各存证信息为以“RequestlD|Hd|Hc|Hsd|MAC”形式而形成的文件。其中,Hd表示X1(或X2)的哈希值,Hc表示对X1(或X2)进行计算的代码的哈希值,Hsd表示数据发送方(第一计算机***)和数据接收方(第三计算机***S1或S2)的设备信息的哈希值,MAC表示消息认证码。
第一计算机***在接收数据的流程与上述类似,具体流程和步骤此处不再赘述。
本申请提供的面向数据传输的存证方法,能够在数据传输过程中进行存证,以保证数据发送方或接收方身份的安全性和可靠性,同时能够使数据传输具有可追溯性和可验证性。
本申请还提供了一种数据传输方法,其旨在提供安全的可追溯传输操作的数据传输方式。所述数据传输方法主要由第一计算机***来执行,其中,所述第一计算机***可为如图1所示的第一计算机***的结构,或者其他能够执行所述数据传输方法的计算机***。举例来说,第一计算机***与前述图1及其描述的计算机***相同或相似,在此不再详述。
请参阅图4,显示为本申请数据传输方法在一实施例中的流程示意图。如图所示,所述数据传输方法包括:
在执行的步骤S21中,基于数据传输指令,认证所述第一计算机***中一可信任的处理环境;所述处理环境用于执行所述数据传输指令以传输所述数据。
在此,所述步骤S21的执行过程可与前述步骤S11的执行过程相同或相似,在此不再详述。
在执行的步骤S22中,在认证通过时,基于所述数据传输指令执行将处于所述可信任的处理环境中的所述数据传输至所述第三计算机***的第一操作,或者执行将获取自所述第三计算机***中的数据运行于所述可信任的处理环境中的第二操作。
在此,为利用所述可信任的处理环境执行第一操作或第二操作,在认证期间的初始化操作还包括:基于可信任的处理环境所提供的接口将与传输操作相关的数据转入所述处理环境中的步骤。其中,所述与传输操作相关的数据包括但不限于:待发送的数据、已接收的数据等。其中,所述待发送的数据包括但不限于:待发送给第三计算机***以执行隐私计算的隐私数据、非隐私数据、经分散处理后的数据;待发送给第三计算机***以供其存储的文件、字符(串)、多媒体数据等。所述已接收的数据包括但不限于:接收自第三计算机***以供后续处理使用的数据;接收自第三计算机***以便以文件形式存储的数据等。
在认证通过后,在发送数据的第一操作中,第一计算机***中可信任的处理环境执行将所述数据传输至所述第三计算机***。在一些具体示例中,第一计算中可信任的处理环境将如邮件、合同等数据发送至第三计算机***以供其保存。
在又一些具体示例中,所述第三计算机***的数量为多个,所述第一操作包括:将处于所述可信任的处理环境中的数据发送至相应第三计算机***,以便各所述第三计算机***基于各自所接收的数据执行多方计算。例如,所述第一计算机***中可信任的处理环境按照多方计算协议将包含隐私数据的计算任务分解成待多个第三计算机***参与执行的数据,其包括将隐私数据分散处理后得到的数值、将计算任务分解后得到的程序等;所述第一计算机***中可信任的处理环境将分解后的各数据发送至预先选定的执行所述多方计算的各第三计算机***。
在又一些具体示例中,所述第三计算机***的数量为多个,所述第二操作包括:接收来自至少部分第三计算机***的数据运行于所述可信任的处理环境中。以前述第一计算机***将包含隐私数据的计算任务分解并由多个第三计算机***进行多方计算为例,作为所述多方计算的计算结果的数据接收方,所述第一计算机***中可信任的处理环境在认证通过后,按照多方计算协议从其中一个、或部分、或全部的第三计算机***获取计算结果,并对所获取的各计算结果进行后续计算以得到对应计算任务的处理结果。
与执行步骤S22无必然时序关系地,所述第一计算机***还执行步骤S23,即在所述处理环境内生成用于验证所述第一操作或第二操作的存证信息,并将所述第一存证信息予以封存保存。
在此,所述步骤S23的执行过程与前述步骤S12的执行过程相同或相似,在此不再详述。
在一个示例性的实施例中,例如,在第一计算机***收到数据发送指令后,第一计算机***向第三计算机***发送数据发送请求,第三计算机***向第一计算机***发起挑战,要求第一计算机***证明其运行在可信的硬件环境中。第一计算机***执行相应的指令进入到可信任的处理环境中。可信任的处理环境进行初始化,并返回DHKE上下文参数给第一计算机***。第一计算机***再将DHKE上下文参数发送给第三计算机***。第三计算机***收到第一计算机***返回的消息后,生成自己的DHKE上下文参数,并查询IAS,以获取针对可信任的处理环境的签名撤销表(SigRL),将这些信息返回给第一计算机***与可信任的处理环境。
可信任的处理环境在收到消息后,会首先验证签名,检查SigRL,之后生成一个包含当前运行环境、用户程序以及硬件信息的报告,并使用SGX硬件指令对报告签名,只有IAS才能验证该签名。第三计算机***将可信任的处理环境生成的报告发送给第三计算机***,第三计算机***收到报告后,将其提交至IAS。IAS接收到报告后进行验证,将验证结果签名后返回给第三计算机***。
由于第三计算机***保存有IAS的证书链,可以验证IAS返回的结果。如果验证成功,则会提取可信任的处理环境的ID,并与存储在本地的MR(度量报告)比对,如果匹配则认为在可信任的处理环境中指定的应用运行在可信的环境中,之后告知第一计算机***通过验证并用私钥签名该消息。
认证通过后,第一计算机***向第三计算机***发送共享密钥加密过的数据,同时,将数据加密后存储在本地,同时将数据的哈希信息发布到区块链。由于第一计算机***已向第三计算机***证明其软硬件环境均是可信的,所以存证的数据确保了发送数据的不可抵赖性。如果第三计算机***发送IAS返回的认证状态不匹配,则会向第一计算机***返回错误信息,双方终止数据传输。
接收数据的存证流程与上述类似,此时第三计算机***变成了数据的发送方,第一计算机***变成了数据的接收方,在第三计算机***与第一计算机***相互认证之后,第三计算机***与第一计算机***进行数据的发送或者接收。具体流程和步骤此处不再赘述。
本申请提供一种面向数据传输的验证方法。其中,所述验证方法用以在轻量级争议时快速验证第一设备所执行的传输数据的操作的安全性。其中,所述验证方法主要由第五计算机***来执行。其中,所述第五计算机***可为单台计算机设备、或基于云架构的服务端等。其中,所述单台计算机设备可以是自主配置的可执行所述处理方法的计算机设备,其可位于私有机房或位于公共机房中的某个被租用的机位中。所述云架构的服务***包括公共云(Public Cloud)服务端与私有云(Private Cloud)服务端,其中,所述公共或私有云服务端包括Software-as-a-Service(软件即服务,简称SaaS)、Platform-as-a-Service(平台即服务,简称PaaS)及Infrastructure-as-a-Service(基础设施即服务,简称IaaS)等。所述私有云服务端例如阿里云计算服务平台、亚马逊(Amazon)云计算服务平台、百度云计算平台、腾讯云计算平台等等。所述第五计算机***还可以为独立于前述第一计算机***、且配置有与第一计算机***等同或相同的可信任的处理环境,以供执行下述验证方法中的至少部分步骤。
其中,请参阅图5,显示为本申请第五计算机***在一实施例中的结构示意图。如图所示,所述第五计算机***70包括:存储装置71、接口装置72、处理装置73。
所述接口装置与处理装置数据连接,其可以通过总线连接,或通过通信网络进行数据传递。为此,所述接口装置包括但不限于网卡、移动网络接入模块、通过总线与处理装置相连的总线接口等。所述接口装置还与第一计算机***通信连接,其中,所述第一计算机***可为前述提及的第一计算机***。所述接口装置通过互联网、移动网络、及局域网络中至少一种与第一计算机***进行数据通信,以便发出验证指令,以及接收第一计算机***的待验证存证信息。
所述存储装置用于存储可执行下述验证方法的至少一个程序。所述存储装置可与处理装置位于同一实体服务器上,或位于不同实体服务器中并通过各服务器的接口装置将计算指令传递给运行所述计算的处理装置。所述存储装置可包括高速随机存取存储器,并且还可包括非易失性存储器,例如一个或多个磁盘存储设备、闪存设备或其他非易失性固态存储设备。在某些实施例中,存储器还可以包括远离一个或多个处理器的存储器,例如经由RF电路或外部端口以及通信网络(未示出)访问的网络附加存储器,其中所述通信网络可以是因特网、一个或多个内部网、局域网(LAN)、广域网(WLAN)、存储局域网(SAN)等,或其适当组合。所述存储装置还包括存储器控制器,其可控制设备的诸如CPU和外设接口之类的其他组件对存储器的访问。其中,存储在存储装置中的软件组件包括操作***、通信模块(或指令集)、文本输入模块(或指令集)、以及应用(或指令集)。
所述处理装置可操作地与存储装置耦接。更具体地,处理装置可执行在存储器和/或非易失性存储设备中存储的程序以在任务平台中执行操作。如此,处理装置可包括一个或多个通用微处理器、一个或多个专用处理器(ASIC)、一个或多个现场可编程逻辑阵列(FPGA)、或它们的任何组合。其中,所述处理装置所包含的多个CPU可位于同一实体服务器中或分散在多个实体服务器中,并借助于接口装置实现数据通信,以协同地执行所述验证方法。
所述处理装置通过调用存储装置所存储的程序执行所述验证方法。
请参阅图6,显示为本申请一面向数据传输的验证方法在一实施例中的流程示意图。如图所示,所述验证方法包括:
在执行的步骤S31中,基于验证指令获取被封存保存的存证信息。
在此,当一次数据传输的发送方、接收方或基于所传输的数据进行后续处理的数据处理方对相应数据传输产生质疑时,向第五计算机***发出验证请求,所述第五计算机***据此产生验证指令,并根据相应数据传输的编号ID向封存保存有所述存证信息的计算机***获取存证信息。其中,所述存证信息被封存保存在第一计算机***本地或第二计算机***。所述存证信息用于作为验证待验证存证信息的凭证。
在执行的步骤S32中,指示第一计算机***在其可信任的处理环境中执行所述验证指令所对应的传输数据的操作,并获取所述第一计算机***所产生的待验证存证信息;其中,第一计算机***持有所述验证指令所对应数据。
在此,第五计算机***基于所述验证指令将待验证的数据传输的编号ID发送给曾经执行所述数据传输操作的第一计算机***。
在一些示例中,待验证的数据传输为数据发送侧的数据传输,则第五计算机***将该编号ID发送给执行数据发送传输操作的第一计算机***(以下称为D端),D端基于所述验证指令所提供的编号ID从封存于本地的多个第二存证信息中选出对应的第二存证信息,并基于相应的存证密钥解密所选出的第二存证信息,以至少得到为执行待验证的数据发送操作所对应的数据,基于前述提及的数据传输方法或数据存证方法重新执行对数据发送的过程以生成待验证存证信息,以及将所生成的待验证存证信息发送给第五计算机***。
在此,第五计算机***指令D端执行所述步骤S32的步骤包括:令所述D端基于所述验证指令生成数据传输指令,以使所述D端基于数据传输指令认证其存在一可信任的处理环境;其中,所述处理环境用于执行所述数据传输指令所对应的数据;以及获取所述D端在所述处理环境内生成的用于验证传输所述数据的操作的待验证存证信息。
在此,所述D端执行认证可信任的处理环境以及在处理环境中生成待验证存证信息的方式与前述数据传输方法或数据存证方法相同或相似,在此不再重述。
其中,所述D端所执行的数据发送操作包括以将本地数据传达和保存至第三计算机***为目的的数据发送操作;其包括但不限于发送邮件、经允许下载的文件、发送出的文字记录等。例如,所述数据发送操作为将一包含合约附件的邮件发送的操作;所述D端执行上述数据发送而生成的待验证存证信息中包含附件、邮件文本、D端信息以及C端信息、对应验证指令的编号ID等。所述D端所执行的数据发送操作还包括以将本地数据交由第三计算机***进行隐私计算为目的的数据发送操作;其包括但不限于发送可供多个计算机***执行多方计算的数据。例如,所述数据包括:待计算的数值、对所述数值进行计算的代码、获取待计算数值的语句、对应验证指令的编号ID中的至少一种。所述数据中对数值进行计算的代码包括:待由多个第三计算机***执行多方计算的代码。
在又一些示例中,待验证的数据传输为数据接收侧的数据传输,所述第一计算机***为数据接收侧的数据接收端(又称为C端)。与前述数据发送侧的验证过程类似,C端基于所述验证指令所提供的编号ID从封存于本地的多个第二存证信息中选出对应的第二存证信息,并基于相应的存证密钥解密所选出的第二存证信息以至少得到为执行待验证的数据发送操作所对应的数据,基于前述提及的数据传输方法或数据存证方法重新执行对数据发送的过程以生成待验证存证信息,以及将所生成的待验证存证信息发送给第五计算机***。
在此,第五计算机***指令C端执行所述步骤S32的步骤包括:令所述C端基于所述验证指令生成数据传输指令,以使所述C端基于数据传输指令认证其存在一可信任的处理环境;其中,所述处理环境用于执行所述数据传输指令所对应的数据;以及获取所述C端在所述处理环境内生成的用于验证传输所述数据的操作的待验证存证信息。
在此,所述C端执行认证可信任的处理环境以及在处理环境中生成待验证存证信息的方式与前述数据传输方法或数据存证方法相同或相似,在此不再重述。
其中,所述C端所执行的数据发送操作包括以将第三计算机***所发出的数据予以接收并保存至本地为目的的数据接收操作;其包括但不限于接收邮件、经允许获取第三计算机***所保存的文件、接收文字记录等。例如,所述数据接收操作为接收一包含合约附件的邮件的操作;所述C端执行上述数据接收而生成的待验证存证信息中包含附件、邮件文本、C端信息以及C端信息、对应验证指令的编号ID等。所述C端所执行的数据接收操作还包括以将第三计算机***经隐私计算而产生的数据予以接收并进行后续计算为目的的数据接收操作;其包括但不限于接收来自多个计算机***执行多方计算后得到的数据。例如,所述数据包括:待计算的数值、对所述数值进行计算的代码、获取待计算数值的语句、对应验证指令的编号ID中的至少一种。所述数据中对数值进行计算的代码包括:将来自至少一个第三计算机***的数值进行数学计算的代码。
在执行的步骤S33中,基于所述待验证存证信息和所获取的存证信息,验证所述传输数据操作的安全性。
根据前述生成第一存证信息(或第二存证信息)的一些示例,所述第五计算机***所获取的存证信息和待验证存证信息均为利用存证密钥加密后的存证信息,或者所述第五计算机***所获取的待验证存证信息和存证信息均为将加密后的数据进行哈希计算后得到的存证信息,第五计算机***执行所述步骤S33的过程举例如下:基于经认证通过的可信任通信链路获取待验证存证信息,并匹配两存证信息是否一致,若一致则认定第一计算机***所执行的数据传输操作是安全的,反之,则为不安全的。
为至少验证待验证存证信息确实来自于第一计算机***,根据前述生成第一存证信息(或第二存证信息)的另一些示例,所述待验证存证信息是经认证密钥签名的。为此,第一计算机***在提供所述待验证存证信息的同时还提供其消息认证信息。第五计算机***执行所述步骤S33的过程举例如下:验证所述待验证存证信息为所述第一计算机***提供的;以及验证所述待验证存证信息和存证信息具有一致性。
其中,执行步骤验证所述待验证存证信息为所述第一计算机***提供的的方式包括:1)基于对应第一计算机***的认证密钥解密消息认证信息,得到一存证信息,将该存证信息与待验证存证信息进行比较,若一致,则验证所述待验证存证信息确为所述第一计算机***提供的,反之,则确定第一计算机***未通过传输数据的安全性的验证;2)验证所述待验证存证信息及消息认证信息来自于与第一计算机***所构建的可信任的通信链路,例如根据预设的共享密钥解密所获取的待验证存证信息及消息认证信息,通过验证消息认证信息和待验证存证信息来验证所述待验证存证信息确为所述第一计算机***提供的。
其中,根据待验证存证信息与第一存证信息之间的计算匹配度,验证所述待验证存证信息和第一存证信息具有一致性的方式包括:完善待验证存证信息的计算以使待验证存证信息与第一存证信息经历相同的计算过程,如共同经由哈希计算后得到等;利用认证密钥对待验证存证信息进行签名处理,或者对第一存证信息进行解密处理;将处理后的两存证信息进行比较,若一致,则认定验证通过,反之则验证不通过。
本申请还提供了一种验证方法,其至少由第五计算机***来执行,其中所述第五计算机***包括:存储装置,用于存储至少一种程序;接口装置,用于与至少一个第二计算机***数据通信;处理装置,与所述存储装置和接口装置相连,用于按照所存储的至少一个程序,执行如图7、8或9所示的面向数据传输的验证方法。
其中,所述第五计算机***本身及执行下述验证方法的各装置的结构可与图4所示第五计算机***中各装置的结构相同或相似,在此不再详述。
在一些实施方式中,所述第五计算机***可执行下述主要各步骤。请参阅图7,显示为本申请面向数据传输的验证方法在另一实施例中的流程示意图。如图所示,所述验证方法包括:
在执行的步骤S41中,在一验证指令的指示下,在与第一计算机***中可信任的处理环境相符的处理环境中基于来自于第一计算机***的第三存证信息生成待验证存证信息。
在此,当一次数据传输的发送方、接收方或基于所传输的数据进行后续处理的数据处理方对相应数据传输产生质疑时,向第五计算机***发出验证请求,所述第五计算机***据此产生验证指令,并根据相应数据传输的编号ID向第一计算机***获取第三存证信息DC3。
在所述验证指令的指示下,第五计算机***利用自身配置的与第一计算机***中可信任的处理环境相符的处理环境,获取第一计算机***所提供的第三存证信息DC3。其中,与第一计算机***中可信任的处理环境相符的处理环境举例为与第一计算机***中可信任的处理环境一致的处理环境、或者与第一计算机***中可信任的处理环境均可被经过同一认证的处理环境。例如,第五计算机***和第一计算机***中各自可信任的处理环境均为经由第三方认证通过的。
其中,根据实际保存于第一计算机***中的存证信息的生成方式,第一计算机***所提供的第三存证信息DC3可与前述存证方法及传输方法中所提及的第二存证信息DC2相同,或与前述存证方法及传输方法中所提及的第一存证信息DC1相同。
另外,第五计算机***获取第一计算机***所提供的第三存证信息DC3的方式包括但不限于:在第一计算机***和第五计算机***的可信任处理环境外部建立通信连接,第五计算机***获取所述第三存证信息DC3;或者,第一计算机***和第五计算机***基于各自的可信任处理环境建立可信任的通信链路,并利用该通信链路,第五计算机***获取所述第三存证信息DC3。
在此,在一些示例中,所获取的第三存证信息DC3即可作为待验证存证信息。例如,第三存证信息DC3为存储在第一计算机***(或第二计算机***)中的第一存证信息DC1。在另一些示例中,基于第一计算机***生成第二存证信息DC2和第一存证信息DC1之间的计算差异,第五计算机***对所获取的第三存证信息DC3进行进一步计算以得到与第一存证信息DC1经相同计算的待验证存证信息DC4。例如,第五计算机***所获取的第三存证信息DC3为经由用户的加密密钥进行加密得到的,对应地,第五计算机***将第三存证信息DC3进行哈希计算,以及基于相应用户的认证密钥对哈希计算结果进行签名处理,以得到待验证存证信息DC4。
在执行的步骤S42中,基于所述验证指令获取被封存保存的存证信息。
在此,所述第五计算机***基于所述验证指令中的编号ID,以及存证所述编号ID的第一计算机***或至少一个第二计算机***获取被封存保存的存证信息。其中,在一些示例中,第五计算机***利用可信任的处理环境之外的处理环境获取存证信息并写入所述可信任的处理环境。在另一些示例中,为确保所获取的存证信息确为所指定的计算机***发送的,第五计算机***与相应的计算机***执行前述存证方法或传输方法所提及的认证过程,以通过所建立的可信任通信链路获取所述存证信息并写入所述可信任的处理环境。
在执行的步骤S43中,基于所述待验证存证信息和所述存证信息,验证所述第一计算机***传输数据的安全性。
所述第五计算机***通过匹配待验证存证信息和所述存证信息是否一致来验证所述第一计算机***传输数据的安全性,若为一致,则验证所述第一计算机***传输数据的操作是安全的,反之,则验证不安全。
在另一些实施方式中,所述第五计算机***可与第四计算机***配合执行上述验证过程。其中,第四计算机***配置有与第一计算机***中可信任的处理环境相符的处理环境。第五计算机***与第四计算机***可直接或藉由认证服务***建立数据通信。请参阅图7和图8,其显示为第五计算机***与第四计算机***配合执行验证过程的两个实施方式的流程图。
请参阅图8和图9,在步骤S51中,第五计算机***基于所生成的验证指令,指示第四计算机***获取来自于第一计算机***的第三存证信息。
其中,第五计算机***指示第四计算机***获取第三存证信息的步骤在一些示例中通过第五计算机***中非信任的处理环境与第四计算机***建立通信,并指示第四计算机***获取第一计算机***中封存保存的第三存证信息DC3。在另一些示例中,所述第五计算机***与认证服务***进行通信,由认证服务***分配一配置有可信任的处理环境的第四计算机***并基于验证指令第四计算机***向第一计算机***索要第三存证信息DC3。在又一些示例中,认证服务***所分配的第四计算机***基于验证指令与第一计算机***建立可信任的通信链路,并获得第三存证信息DC3。
在步骤S52中,在第五计算机***基于验证指令的指示,所述第四计算机***基于所获取的第三存证信息生成待验证存证信息。
第四计算机***的可信任的处理环境执行所述步骤S52。根据第一计算机***所存证的第三存证信息DC3与用作验证凭证的存证信息DC1之间的计算差异,在一些示例中,第四计算机***将所获取的第三存证信息作为待验证存证信息。在另一些示例中,第四计算机***对第三存证信息DC3执行生成存证信息的计算过程,以得到与存证信息经由相同计算过程而得到的待验证存证信息,其中,所述计算过程包括将所获取的第二存证信息进行哈希计算;和/或获取所述第一计算机***的认证密钥,基于所述认证密钥对所述待验证存证信息进行签名。例如,第四计算机***的可信任处理环境执行将第三存证信息DC3进行哈希计算得到待验证存证信息。又如,第四计算机***的可信任处理环境基于认证密钥将经哈希计算的第三存证信息DC3进行签名处理得到消息认证信息。再如,第四计算机***的可信任处理环境基于认证密钥将所获取的第三存证信息DC3进行签名处理得到消息认证信息。
在一些示例中,所得到的待验证存证信息、或待验证存证信息及其消息认证信息由第四计算机***执行后续的验证工作,为此,请参阅图8,第四计算机***执行步骤S531,基于所述验证指令获取被封存保存的存证信息。在此,步骤S531与步骤S51不区分先后顺序地执行,例如,第四计算机***从第一计算机***获取第三存证信息DC3以及从至少一个第二计算机***获取第一存证信息DC1。
第四计算机***还执行步骤S541,即基于所述待验证存证信息和所述存证信息,验证所述第一计算机***传输数据的安全性。
在此,第四计算机***验证所述待验证存证信息和所述存证信息,并将结果反馈给第五计算机***,所述第五计算机***执行步骤S551,基于该反馈信息确定验证结果。
在一些具体示例中,第四计算机***验证经签名后的待验证存证信息和第一存证信息具有一致性,并将结果反馈给第五计算机***,所述第五计算机***基于该反馈信息确定验证结果。例如,第四计算机***将经相同哈希计算并使用同一认证密钥签名后的待验证存证信息和存证信息进行比较,若一致,则生成对应一致的反馈信息,反之,则生成对应不一致的反馈信息,并将相应的反馈信息反馈至第五计算机***,以供其展示相应的验证结果。
与图8所示的验证过程不同的是,图9中第四计算***执行步骤S532,即将所得到的待验证存证信息反馈给第五计算机***。由第五计算机***执行步骤S552,即基于所述待验证存证信息和所述存证信息,验证所述第一计算机***传输数据的安全性。其中,所述步骤S552的执行过程与前述步骤S33的执行过程相似,与步骤S33不同之处在于本示例中的第五计算机***验证所接收的待验证存证信息确为第四计算机***提供,其验证过程与步骤S33相似,故在此不再重述。
本申请还提供一种计算机可读写存储介质,存储有面向数据传输的存证方法的计算机程序,所述面向数据传输的存证方法的计算机程序被执行时实现上述实施例关于图2中所述的面向数据传输的存证方法的方法。
本申请还提供一种计算机可读写存储介质,存储有数据传输方法的计算机程序,所述数据传输方法的计算机程序被执行时实现上述实施例关于图5中所述的数据传输方法的方法。
本申请还提供一种计算机可读写存储介质,存储有面向数据传输的验证方法的计算机程序,所述面向数据传输的验证方法的计算机程序被执行时实现上述实施例关于图6中所述的面向数据传输的验证方法的方法。
本申请还提供一种计算机可读写存储介质,存储有面向数据传输的验证方法的计算机程序,所述面向数据传输的验证方法的计算机程序被执行时实现上述实施例关于图7、8和9中任一所述的面向数据传输的验证方法。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。
于本申请提供的实施例中,所述计算机可读写存储介质可以包括只读存储器、随机存取存储器、EEPROM、CD-ROM或其它光盘存储装置、磁盘存储装置或其它磁存储设备、闪存、U盘、移动硬盘、或者能够用于存储具有指令或数据结构形式的期望的程序代码并能够由计算机进行存取的任何其它介质。另外,任何连接都可以适当地称为计算机可读介质。例如,如果指令是使用同轴电缆、光纤光缆、双绞线、数字订户线(DSL)或者诸如红外线、无线电和微波之类的无线技术,从网站、服务器或其它远程源发送的,则所述同轴电缆、光纤光缆、双绞线、DSL或者诸如红外线、无线电和微波之类的无线技术包括在所述介质的定义中。然而,应当理解的是,计算机可读写存储介质和数据存储介质不包括连接、载波、信号或者其它暂时性介质,而是旨在针对于非暂时性、有形的存储介质。如申请中所使用的磁盘和光盘包括压缩光盘(CD)、激光光盘、光盘、数字多功能光盘(DVD)、软盘和蓝光光盘,其中,磁盘通常磁性地复制数据,而光盘则用激光来光学地复制数据。
在一个或多个示例性方面,本申请所述面向数据传输的存证方法、传输方法、验证方法的计算机程序所描述的功能可以用硬件、软件、固件或者其任意组合的方式来实现。当用软件实现时,可以将这些功能作为一个或多个指令或代码存储或传送到计算机可读介质上。本申请所公开的方法或算法的步骤可以用处理器可执行软件模块来体现,其中处理器可执行软件模块可以位于有形、非临时性计算机可读写存储介质上。有形、非临时性计算机可读写存储介质可以是计算机能够存取的任何可用介质。
本申请上述的附图中的流程图和框图,图示了按照本申请各种实施例的***、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这根据所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以通过执行规定的功能或操作的专用的基于硬件的***来实现,或者可以通过专用硬件与计算机指令的组合来实现。
本申请提供的面向数据传输的存证方法、传输方法、验证方法、计算机***及计算机可读存储介质,能够在数据传输过程中进行存证,以保证数据发送方或接收方身份的安全性和可靠性,同时能够使数据传输具有可追溯性和可验证性。
上述实施例仅例示性说明本申请的原理及其功效,而非用于限制本申请。任何熟悉此技术的人士皆可在不违背本申请的精神及范畴下,对上述实施例进行修饰或改变。因此,举凡所属技术领域中具有通常知识者在未脱离本申请所揭示的精神与技术思想下所完成的一切等效修饰或改变,仍应由本申请的权利要求所涵盖。
Claims (24)
1.一种面向数据传输的存证方法,执行于第一计算机***,其特征在于,包括:
基于数据传输指令,第三计算机***认证所述第一计算机***中一可信任的处理环境;其中,所述处理环境用于执行所述数据传输指令以传输所述数据;其中,所述第三计算机***用于以发送数据为目的而进行编辑或隐私计算的数据处理或者以接收数据为目的而进行编辑或隐私计算的数据处理;且所述第三计算机***可与所述第一计算机***之间建立可信任通信链路;所述认证第一计算机***中一可信任的处理环境的步骤包括:
基于所述数据传输指令,建立所述处理环境内与第三计算机***之间的可信任通信链路;其中,所述第三计算机***至少用于配合所述第一计算机***执行数据传输;
利用所述可信任通信链路,将一报告信息签名后发送至所述第三计算机***以完成认证;其中,所述报告信息包含所述数据所在的执行环境信息和执行程序信息;
在所述处理环境内基于预设的存证密钥将包含所述数据的存证信息进行加密处理,得到第二存证信息,并将其作为存证信息予以封存保存。
2.根据权利要求1所述的面向数据传输的存证方法,其特征在于,所述数据传输指令包括以下任一种:基于发送数据而产生的指令或基于接收数据而产生的指令。
3.根据权利要求1所述的面向数据传输的存证方法,其特征在于,所述基于数据传输指令,建立所述处理环境内与第三计算机***之间的可信任通信链路的步骤包括:
基于所述数据传输指令初始化所述可信任通信链路的连接请求,并发送至所述第三计算机***,以供所述第三计算机***直接或间接基于所述连接请求反馈连接验证信息;
基于所述连接验证信息确认建立所述可信任通信链路。
4.根据权利要求1所述的面向数据传输的存证方法,其特征在于,所述第三计算机***基于一认证服务***对所述签名后的报告信息的认证结果,确定与所述第一计算机***中的可信任的处理环境进行数据传输。
5.根据权利要求1所述的面向数据传输的存证方法,其特征在于,所述在处理环境内生成用于验证所述数据传输的操作的存证信息并予以封存保存的步骤还包括:基于所述第二存证信息生成第一存证信息,并将其作为所述存证信息予以封存保存。
6.根据权利要求5所述的面向数据传输的存证方法,其特征在于,所述基于第二存证信息生成所述第一存证信息的步骤包括:将所述第二存证信息进行哈希计算得到所述第一存证信息。
7.根据权利要求6所述的面向数据传输的存证方法,其特征在于,所述在处理环境内生成用于验证所述数据传输的操作的第一存证信息的步骤还包括:基于预设的认证密钥将所述第一存证信息进行签名,以将签名后的第一存证信息作为所述存证信息予以封存保存。
8.根据权利要求1-7中任一所述的面向数据传输的存证方法,其特征在于,所述予以封存保存的步骤包括:将所述存证信息保存于本地或至少一个第二计算机***。
9.根据权利要求1所述的面向数据传输的存证方法,其特征在于,所述数据包括:待计算的数值、对所述数值进行计算的代码、获取待计算数值的语句中的至少一种。
10.根据权利要求9所述的面向数据传输的存证方法,其特征在于,所述数据中对数值进行计算的代码包括:待由多个第三计算机***执行多方计算的代码、或者将来自至少一个第三计算机***的数值进行数学计算的代码。
11.一种数据传输方法,执行于第一计算机***,其特征在于,包括:
基于数据传输指令,第三计算机***认证所述第一计算机***中一可信任的处理环境;所述处理环境用于执行所述数据传输指令以传输所述数据;其中,所述第三计算机***用于以发送数据为目的而进行编辑或隐私计算的数据处理或者以接收数据为目的而进行编辑或隐私计算的数据处理;且所述第三计算机***可与所述第一计算机***之间建立可信任通信链路;所述认证第一计算机***中一可信任的处理环境的步骤包括:
基于所述数据传输指令,建立所述处理环境内与第三计算机***之间的可信任通信链路;其中,所述第三计算机***至少用于配合所述第一计算机***执行数据传输;
利用所述可信任通信链路,将一报告信息签名后发送至所述第三计算机***以完成认证;其中,所述报告信息包含所述数据所在的执行环境信息和执行程序信息;
在认证通过时,基于所述数据传输指令执行将处于所述可信任的处理环境中的所述数据传输至所述第三计算机***的第一操作,或者执行将获取自所述第三计算机***中的数据运行于所述可信任的处理环境中的第二操作;以及
在所述处理环境内,基于预设的存证密钥将包含第一操作或第二操作所对应的数据的存证信息进行加密处理得到第二存证信息,并将其作为存证信息予以封存保存。
12.根据权利要求11所述的数据传输方法,其特征在于,所述数据传输指令包括以下任一种:基于发送数据而产生的指令或基于接收数据而产生的指令。
13.根据权利要求11所述的数据传输方法,其特征在于,所述基于数据传输指令,建立所述处理环境内与第三计算机***之间的可信任通信链路的步骤包括:
基于所述数据传输指令初始化所述可信任通信链路的连接请求,并发送至所述第三计算机***,以供所述第三计算机***直接或间接基于所述连接请求反馈连接验证信息;
基于所述连接验证信息确认建立所述可信任通信链路。
14.根据权利要求13所述的数据传输方法,其特征在于,所述第三计算机***基于一认证服务***对所述签名后的报告信息的认证结果确定所述第一计算机***中的可信任的处理环境进行数据传输。
15.根据权利要求11所述的数据传输方法,其特征在于,所述第三计算机***的数量为多个,所述第一操作包括:将处于所述可信任的处理环境中的数据发送至相应第三计算机***以便各所述第三计算机***基于各自所接收的数据执行多方计算;或者所述第二操作包括:接收来自至少部分第三计算机***的数据运行于所述可信任的处理环境中。
16.根据权利要求13所述的数据传输方法,其特征在于,所述在处理环境内生成用于验证所述第一操作或第二操作的存证信息并予以封存保存的步骤还包括:基于所述第二存证信息生成第一存证信息并将其作为所述存证信息予以封存保存。
17.根据权利要求16所述的数据传输方法,其特征在于,所述基于第二存证信息生成所述第一存证信息的步骤包括:将所述第二存证信息进行哈希计算得到所述第一存证信息。
18.根据权利要求17所述的数据传输方法,其特征在于,所述在处理环境内生成用于验证所述第一操作或第二操作的第一存证信息的步骤还包括:基于预设的认证密钥将所述第一存证信息进行签名,以将签名后的第一存证信息作为所述存证信息予以封存保存。
19.根据权利要求16-18中任一所述的数据传输方法,其特征在于,所述予以封存保存的步骤包括:将所述存证信息保存于本地或至少一个第二计算机***。
20.根据权利要求11或15所述的数据传输方法,其特征在于,所述数据包括:待计算的数值、第一操作或第二操作所对应的对所述数值进行计算的代码、获取待计算数值的语句中的至少一种。
21.根据权利要求20所述的数据传输方法,其特征在于,所述第一操作所对应的对数值进行计算的代码包括:待由多个所述第三计算机***执行多方计算的代码;或者所述第二操作所对应的对数值进行计算的代码包括:将来自至少一个所述第三计算机***的数值进行数学计算的代码。
22.一种第一计算机***,其特征在于,包括:
存储装置,用于存储至少一种程序;
接口装置,用于与至少一个第三计算机***数据通信;其中,所述第三计算机***用于配合执行数据传输;
处理装置,与所述存储装置和接口装置相连,其中,所述处理装置集成有一可信任的处理环境,所述处理环境按照所存储的至少一个程序,执行如权利要求1-10中任一所述的存证方法以生成供封存保存的存证信息。
23.一种第一计算机***,其特征在于,包括:
存储装置,用于存储至少一种程序;
接口装置,用于与至少一个第三计算机***数据通信;其中,所述第一计算机***用于配合执行数据传输;
处理装置,与所述存储装置和接口装置相连,其中,所述处理装置集成有一可信任的处理环境,所述处理环境按照所存储的至少一个程序,执行如权利要求11-21中任一所述的数据传输方法以生成供封存保存的存证信息以及执行数据传输操作。
24.一种计算机可读存储介质,其特征在于,存储有至少一程序;所述至少一程序在被调用时执行如权利要求1-10中任一所述的存证方法、或者执行如权利要求11-21中任一所述的数据传输方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910356666.3A CN111865568B (zh) | 2019-04-29 | 2019-04-29 | 面向数据传输的存证方法、传输方法及*** |
PCT/CN2020/084256 WO2020220974A1 (zh) | 2019-04-29 | 2020-04-10 | 面向数据传输的存证方法、传输方法及*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910356666.3A CN111865568B (zh) | 2019-04-29 | 2019-04-29 | 面向数据传输的存证方法、传输方法及*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111865568A CN111865568A (zh) | 2020-10-30 |
CN111865568B true CN111865568B (zh) | 2022-10-04 |
Family
ID=72964872
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910356666.3A Active CN111865568B (zh) | 2019-04-29 | 2019-04-29 | 面向数据传输的存证方法、传输方法及*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111865568B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112560104B (zh) * | 2021-01-17 | 2022-07-19 | 金网络(北京)电子商务有限公司 | 一种基于云计算和区块链的数据存储方法及安全信息平台 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2009051471A2 (en) * | 2007-09-20 | 2009-04-23 | Mimos Berhad | Trusted computer platform method and system without trust credential |
CN107533609A (zh) * | 2015-05-29 | 2018-01-02 | 英特尔公司 | 用于对***中的多个可信执行环境进行控制的***、设备和方法 |
CN108351944A (zh) * | 2015-12-07 | 2018-07-31 | 亚马逊技术有限公司 | 链式安全*** |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8555072B2 (en) * | 2006-08-31 | 2013-10-08 | International Business Machines Corporation | Attestation of computing platforms |
CN104038478A (zh) * | 2014-05-19 | 2014-09-10 | 瑞达信息安全产业股份有限公司 | 一种嵌入式平台身份验证可信网络连接方法和*** |
US10193700B2 (en) * | 2015-02-27 | 2019-01-29 | Samsung Electronics Co., Ltd. | Trust-zone-based end-to-end security |
CN105260675B (zh) * | 2015-10-16 | 2017-03-15 | 北京源创云网络科技有限公司 | 电子数据一致性验证方法、装置、***及存证验证平台 |
CN107835163B (zh) * | 2017-10-25 | 2020-12-22 | 杭州怀星科技有限公司 | 数据的线上流通第三方存证与数据权利追溯方法及装置 |
CN109361668B (zh) * | 2018-10-18 | 2021-06-11 | 国网浙江省电力有限公司 | 一种数据可信传输方法 |
-
2019
- 2019-04-29 CN CN201910356666.3A patent/CN111865568B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2009051471A2 (en) * | 2007-09-20 | 2009-04-23 | Mimos Berhad | Trusted computer platform method and system without trust credential |
CN107533609A (zh) * | 2015-05-29 | 2018-01-02 | 英特尔公司 | 用于对***中的多个可信执行环境进行控制的***、设备和方法 |
CN108351944A (zh) * | 2015-12-07 | 2018-07-31 | 亚马逊技术有限公司 | 链式安全*** |
Non-Patent Citations (2)
Title |
---|
Validation and long term verification data for Evidence Records andsigned documentsdraft-ietf-ltans-validate-03;T. Gondrom等;《IETF 》;20100712;全文 * |
可信终端动态运行环境的可信证据收集机制;谭良等;《电子学报》;20130115(第01期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN111865568A (zh) | 2020-10-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20230155821A1 (en) | Secure shared key establishment for peer to peer communications | |
CN112751665B (zh) | 一种安全多方计算方法、设备、***及存储介质 | |
US10057243B1 (en) | System and method for securing data transport between a non-IP endpoint device that is connected to a gateway device and a connected service | |
CN109309565B (zh) | 一种安全认证的方法及装置 | |
CN109714168B (zh) | 可信远程证明方法、装置和*** | |
EP3486817B1 (en) | Blockchain-based identity authentication methods, computer program products and nodes | |
US9602500B2 (en) | Secure import and export of keying material | |
JP2020528224A (ja) | 信頼できる実行環境におけるスマート契約動作のセキュアな実行 | |
CN111563261A (zh) | 一种基于可信执行环境的隐私保护多方计算方法和*** | |
JP2019525591A (ja) | ブロックチェーンにより実装される方法及びシステム | |
CN113556230B (zh) | 数据安全传输方法、证书相关方法、服务端、***及介质 | |
WO2019110018A1 (zh) | 通信网络***的消息验证方法、通信方法和通信网络*** | |
CN113987554B (zh) | 获取数据授权的方法、装置及*** | |
CN112804217B (zh) | 一种基于区块链技术的存证方法和装置 | |
CN114157415A (zh) | 数据处理方法、计算节点、***、计算机设备和存储介质 | |
Harchol et al. | Distributed SSH key management with proactive RSA threshold signatures | |
US20240113885A1 (en) | Hub-based token generation and endpoint selection for secure channel establishment | |
Jayaraman et al. | Decentralized certificate authorities | |
Khan et al. | Resource efficient authentication and session key establishment procedure for low-resource IoT devices | |
Mishra et al. | MPoWS: Merged proof of ownership and storage for block level deduplication in cloud storage | |
CN111865568B (zh) | 面向数据传输的存证方法、传输方法及*** | |
Ashraf et al. | Lightweight and authentic symmetric session key cryptosystem for client–server mobile communication | |
CN115834149A (zh) | 一种基于国密算法的数控***安全防护方法及装置 | |
CN111865596B (zh) | 面向数据传输的验证方法及*** | |
WO2020220974A1 (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 |