CN105453073A - 改善聚合数据的抗篡改性 - Google Patents

改善聚合数据的抗篡改性 Download PDF

Info

Publication number
CN105453073A
CN105453073A CN201380078673.2A CN201380078673A CN105453073A CN 105453073 A CN105453073 A CN 105453073A CN 201380078673 A CN201380078673 A CN 201380078673A CN 105453073 A CN105453073 A CN 105453073A
Authority
CN
China
Prior art keywords
data acquisition
trusted
environment
programmable device
instruction
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201380078673.2A
Other languages
English (en)
Inventor
S·L·格罗伯曼
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.)
McAfee LLC
Original Assignee
McAfee LLC
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 McAfee LLC filed Critical McAfee LLC
Publication of CN105453073A publication Critical patent/CN105453073A/zh
Pending legal-status Critical Current

Links

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/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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • H04L63/123Applying verification of the received information received data contents, e.g. message integrity
    • 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)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Automation & Control Theory (AREA)
  • Computing Systems (AREA)
  • Storage Device Security (AREA)
  • Debugging And Monitoring (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

通过在受信任的环境中处理聚合数据,系统可以减少篡改在对等链中经处理的聚合数据的机会。每一个设备都可以将前驱设备的聚合数据传递到那个设备中的受信任的环境,所述受信任的环境获取那个设备的本地数据,并将所述本地数据与前驱设备的聚合数据聚合,从而产生输出聚合数据。任选地,系统可以在设备先前已处理聚合数据时进行标识,从而降低该设备可以用于重复地聚合数据的可能性。聚合数据可以经数字签名或经加密以增强数据有效载荷的抗篡改性。

Description

改善聚合数据的抗篡改性
技术领域
本文中所描述的各实施例一般涉及系统管理,具体而言,涉及用于改善企业管理解决方案中的聚合数据(aggregateddata)的抗篡改性的技术。
背景技术
系统管理行业正在包括新的能力,其中,对等(peer-to-peer)联网允许对企业环境进行接近于实时的分析。该能力是可缩放的,因为相比每一个端点都与共同的服务器建立点到点连接,能以对等方式来聚合数据。例如,如果信息技术(IT)希望理解存在应用的每个版本的多少实例,则可以在一组对等设备(peer)之间传递数据有效载荷,并且当客户端评估所述客户端具有的版本时,所述客户端可以简单地递增计数器,并将经更新的有效载荷传递到下一客户端。
然而,如果链中的任何客户端经破解,则那个客户端可篡改结果,并且使收集到的数据的值无效。链中的每一个客户端代理都具有启封、更新以及重新密封聚合数据有效载荷的能力。
减轻任何单个的客户端对总的结果造成的损坏并同时维持对等数据聚合能力所允许的效率的方式将是有利的。
附图说明
图1是示出现有技术对等系统的框图。
图2是示出根据一个实施例的、用于改善聚合数据的抗篡改性的系统的框图。
图3是示出可编程设备的框图,在所述可编程设备上实现了根据一个实施例的、用于改善抗篡改性的技术。
图4是示出根据一个实施例的、用于改善聚合数据的抗篡改性的技术的流程图。
图5是示出根据一个实施例的、用于在受信任的环境中聚合数据的技术的流程图。
具体实施方式
在下面的描述中,为了进行解释,阐述了许多特定的细节以提供对本发明的透彻理解。然而,对本领域技术人员将显而易见的是,在没有这些特定细节的情况下也可实施本发明。在其他实例中,以框图形式示出结构和设备,以避免使本发明变得模糊。对不具有下标或后缀的编号的引用理解为引用对应于所引用编号的下标和后缀的全部实例。此外,已出于可读性和指导性目的大致上选择了本公开中所使用的语言,并且可能未选择这些语言来描绘或限定发明主题,借助于确定此类发明主题所必需的权利要求书。说明书中对"一个实施例"或"实施例"等的引用意味着结合该实施例所描述的特定的特征、结构或特性被包括在本发明的至少一个实施例中,并且对"一个实施例"或"实施例"的多个引用不应该被理解为一定都引用同一个实施例。
如本文中所使用的,术语“可编程设备”可以是指单个的可编程设备或一起工作以执行描述为在可编程设备上执行或由可编程设备执行的功能的多个可编程设备。可编程设备可以是任何类型的可编程设备,包括台式计算机、膝上型计算机、服务器以及移动设备,包括包含嵌入式计算能力的设备。
如本文中所使用的,“受信任的环境”是平台上能够仅执行受信任的代码的被隔离的执行环境。受信任的环境常常可以在将密钥提供到环境中之前证实(或证明)它是受信任的环境的实例。受信任的环境的示例可以在协处理器或次级核上实现,或实现为平台架构的部分,诸如,利用经证实的虚拟机管理器或类似于信任区域的能力。“不受信任的环境”为不是受信任的环境的任何环境。
用于在可编程设备之间进行通信的技术和装置的细节与本公开不相关,并且可以使用任何所需的通信技术,但是设备最常使用TCP/IP协议来进行通信。虽然下列描述在对等通信方面来撰写,但是,实现不限于传统的对等联网技术,而是可以使用用于在可编程设备之间进行通信的任何联网或通信技术来实现。虽然在附图中示出为并且在本文中描述为可编程设备的链(每一个可编程设备都将聚合数据继续传递到单个的后继可编程设备)但是,实现可以使用一对多、多对一以及多对多技术,以便使用有线或无线技术,利用在可编程设备之间的任何所需的连接性来将聚合数据从一个可编程设备传递到一个或多个后继可编程设备。
对等数据聚合的常规实现是完全基于软件的,并且无法限制由聚合数据的路径中的甚至单个经破解的客户端对聚合数据的影响。常规的系统可以使用数字签名技术来检测被传输的数据的直接损坏,它们不能检测由具有启封经签名的数据,损坏底层的数据有效载荷,并对被损坏的数据重新签名的能力的设备对数据造成的损坏。虽然非聚合数据可以单独地由源供应设备签名,但是比使用聚合方法更低效,并且增加了围绕网络传递的数据量。另外,常规的技术不能检测或防止一个设备被多次使用。
图1是示出根据现有技术的、在聚合过程中由一个设备创建的被损坏的数据聚合的示例的框图。在此示例中被聚合数据是对查询的响应,所述查询关于特定的应用(在此示例中,APP.EXE)的什么版本在网络100中的设备上是可用的。在此示例中,服务器110收集由客户端120-150创建的聚合数据,可编程设备120-150中的每一个都从它们的相应的前驱设备(predecessor)接收对查询的聚合响应,利用本地响应来更新聚合数据,随后将聚合数据继续传递到它们相应的后继设备(successor)(另一客户端130-150或服务器110)。如由图1所指示,可编程设备可以是不同类型的可编程设备。
为了使本示例清楚,任意地选择查询和响应数据的格式,并且可以根据需要来使用任何查询和响应格式,包括经二进制编码的数据。在此示例中,可编程设备120更新聚合数据以示出:具有234个版本3.25的实例,199个版本3.00的实例;以及5个版本1.00的实例。此类软件版本的多样性在大型企业中是常见的。在将其本地数据聚合到查询响应中之后,可编程设备120将聚合数据传递或转发到可编程设备130。
可编程设备130已经被恶意软件破解。与将从可编程设备120接收到的数据与对查询的本地响应聚合相反,可编程设备120破坏数据,将版本3.25的值从234减小到9;将版本3.00的值从199减小到1;并且将版本1.00的值增加到898。随后,经破解的可编程设备130将损坏的聚合数据继续传递到可编程设备140,该可编程设备140不能检测损坏。可编程设备140以本地数据来递增所存储的值,从而指示了对于版本3.25的聚合计数10;对于版本3.00的聚合计数1;以及对于版本1.00的聚合计数898。随后,可编程设备130将聚合数据传递到可编程设备150,该可编程设备150在将聚合数据转发到服务器110以进行分析和可能的动作之前,聚合对应于查询的、其自身的本地数据。
此示例中的聚合数据是简单的查询响应,但是能以任何所需的格式来使用任何数据。通常,聚合数据受保护以避免聚合数据的意外的或蓄意的损坏。可以使用用于保护数据的任何技术,包括加密、数字签名,等等。在一个实施例中,数据有效载荷不受保护。下列描述针对使用数字签名来密封数据有效载荷的实现来撰写。
在一个实施例中,可编程设备120-150中的每一个都从其前驱设备接收数据,认证数据中所包含的数字签名,更新数据,并随后使用数字签名来对聚合数据重新签名。签名的性质在本公开的范围之外,并且可以使用允许认证经数字签名的聚合数据的任何类型的数字签名。在数据经加密的情况下,可编程设备解密数据,聚合本地数据,并且加密聚合数据供进一步的传输。
由于可编程设备130的不可检测的损坏,即便稍后的或后继的可编程设备以它们正确的本地数据正确地聚合了聚合数据,聚合数据也变得无意义。即使服务器110能够通过内容分析来检测到聚合数据可能被损坏,服务器110也将无从确定图1中所示的链中的可编程设备中的哪一个损坏了数据。
通过将对数据的聚合从不受信任的环境移动到受信任的环境中,可以使聚合数据更具抗篡改性。图2示出设备的受信任的环境从前驱设备接收聚合数据并在本地生成将与接收到的聚合数据相聚合的数据的实施例。受信任的环境对数据聚合,并且传递聚合数据以递送到后继设备。
在此示例中,由设备210从前驱设备接收聚合数据有效载荷200。在一个实施例中,具有与本公开相关的聚合数据有效载荷200的三个部分:数字签名202、查询和结果部分204以及任选的多聚合重放列表206,下面将描述其中的每一个。在另一实施例中,前驱设备的聚合数据经加密且没有数字签名,并且有效载荷经解密,聚合,并且随后再次经加密。各实施例可以既对聚合数据进行数字签名,又加密聚合数据。在下文中,启封前驱设备的聚合数据被定义为:认证数字签名;解密经加密的数据;或者以上两者;类似地,重新密封后继设备的聚合数据被定义为:对数据进行数字签名;加密数据;或者以上两者。
设备210包括受信任的环境220和不受信任的环境230两者。通常,不受信任的环境是运行不受信任的应用软件的操作系统环境,而受信任的环境是仅被允许执行预先批准的功能的安全的环境。不受信任的环境可包括操作系统以及能够产生与对聚合数据有效载荷200的查询相关的本地数据的本地代理软件。
设备210的不受信任的环境230从前驱可编程设备接收经签名的聚合数据有效载荷200,并且将有效载荷传递到受信任的环境220。在一个实施例中,不受信任的环境230能够启封聚合数据有效载荷200的至少部分以确定应当被添加到聚合数据的本地数据240。在其他实施例中,不受信任的环境230不能启封聚合数据有效载荷200,但是可以识别有效载荷200并将它传递到受信任的环境220。在此类实施例中,受信任的环境220可以请求不受信任的环境230中的本地代理生成本地数据并将本地数据提供给受信任的环境220。
一旦受信任的环境220具有聚合数据有效载荷200以及将与有效载荷200聚合的本地数据240,受信任的环境220就启封聚合数据有效载荷200,将本地数据与前驱设备的聚合数据聚合以产生输出聚合数据有效载荷250,并且随后重新密封输出聚合数据有效载荷250并将它传递到不受信任的环境230以递送到后继设备,该后继设备可以是将本地数据添加至聚合的另一设备或者能够启封聚合数据有效载荷并提取聚合数据用于其所期望用途的收集器(诸如,服务器110)。
在一些实施例中,受信任的环境220可以在没有不受信任的环境230干预的情况下直接获取前驱设备的聚合数据有效载荷200,或直接传输输出聚合数据有效载荷250。在一些实施例中,受信任的环境220能够生成本地数据240而不是从不受信任的环境获取本地数据。
在采用数字签名202的各实施例中,数字签名202用于保护聚合数据200的内容免于被篡改。由受信任的环境使用加密密钥来认证数字签名(下文中详细地描述)。在采用了对整个聚合数据进行的加密的情况下,由受信任的环境使用一个或多个加密密钥来加密和解密整个聚合数据。在一个实施例中,受信任的环境的每一个设备210都具有可用于重新密封聚合数据的其自身的私钥、可用于启封前驱设备的聚合数据的一组公钥、以及由设备210产生的输出聚合数据有效载荷250。由此,每一个设备210都使用该组公钥来启封来自前驱设备的聚合数据,执行聚合,并且随后利用其私钥重新密封聚合数据以便继续传递给后继设备。任选地,可以使用对称加密技术,该对称的加密技术将单个的密钥用于加密与解密两者。
查询和响应部分204可以包含允许设备210确定应当聚合什么本地数据的充足的信息、以及所得到的聚合数据。虽然在附图中示出的示例中,聚合可以涉及本地数据与前驱设备的聚合数据的算术加法,但是可以根据需要来使用任何其他类型的聚合。如上文所解释,聚合数据有效载荷200和250的格式是说明性的且仅作为示例,并且可以根据需要来使用任何格式、文本、二进制,或它们的任何混合。
为了避免通过使用设备210多次来篡改聚合数据的企图,在一些实施例中,可以保持处理聚合数据的每一个设备210的记录。此记录可以是与已处理了聚合数据的每一个设备210相关联的列表或唯一标识符的其他记录。任选地,可以使用与每一设备210相关联的预定义的容器(bin)或槽(slot),使得每一个设备210在处理数据时将与该设备210相关联的容器或槽指示为已经被使用。可以使用用于跟踪哪些设备已将数据聚合为集合的任何其他技术。记录的结构或格式不是重要的,并且可以使用用于指示设备先前处理了聚合数据的任何所需的技术。虽然较不安全,但是根据需要,可以在没有记录保持的情况下来实现本文中所描述的技术的实施例以检测由相同的设备进行的多次聚合。
在图2的示例中,查询是与图1中概述的相同的查询,图1中的查询请求APP.EXE的版本的多少实例的计数。部分204中的前驱设备的聚合数据指示了234个版本3.25的实例、199个版本3.00的实例以及5个版本1.00的实例。在部分206指示了两个前驱设备,每一个设备都由唯一标识符来标识,为了清楚起见,在图2中仅示出所述唯一标识符的初始部分。
输出聚合数据有效载荷250示出本地数据240的版本3.00的单个的实例,从而更新3.00记录以在部分254中指示200个实例。输出有效载荷250还将附加的唯一标识符添加到部分256中,从而指示此设备210已聚合了数据。随后,可以检测使设备210将数据聚合到此有效载荷的进一步的尝试。
图3是示出可用于实现本文中所描述的技术中的一些或全部的可编程设备300的框图。系统单元310提供可以安装或以其他方式设置可编程设备300的组件的位置。系统单元310可以被制造为在其上安装了各种芯片组的主板,从而根据需要在组件之间提供电连接并遍及系统单元310以及在系统单元310外部提供信号和功率分配。例如,可编程设备300可包括诸如显示器395之类的输出设备,该输出设备提供显示反恶意软件系统已经通过检查聚合数据而检测到恶意软件的可能性的警告或其他指示的方式。
系统单元310的各种组件可包括一个或多个处理器320,通常每一个单个的处理器芯片都安装在插槽(图3中未示出)上以在可编程设备300的处理器320与其他组件之间提供电连接性。虽然在图3中示出单个的处理器320,但是可以使用任何所需的数量的处理器,每一个处理器都可以是多核处理器。多种处理器芯片当前在市场上是可得到的,并且可以使用任何所需的处理器芯片或芯片组。系统单元310可以经编程以执行根据本公开的方法,在图4-5中示出了其示例。
通常使用用于信号传输的链路而使处理器320连接到由处理器320使用的存储器330,该链路可以是总线或任何其他类型的互连,包括点对点互连。存储器330可包括一个或多个存储器模块,并可包括随机存取存储器(RAM)、只读存储器(ROM)、可编程只读存储器(PROM)、可编程读写存储器以及固态存储器。处理器320还可以包括内部存储器,诸如,高速缓存存储器。在处理器320上运行的操作系统一般控制可编程设备300的操作,从而提供服务、应用和其他软件在可编程设备300上执行的操作系统环境。
如图3中所示,处理器320还连接到I/O子系统340,所述I/O子系统340为可编程设备300提供I/O、定时器和其他有用的能力。例如,I/O子系统340可以提供用于将任选的显示器395和任选的输入设备(诸如,键盘、鼠标、触摸屏)连接到系统单元310的I/O端口。端口可以是专用端口或多用途端口中的一个或多个,所述专用端口用于诸如显示器395之类的组件,所述多用途端口诸如用于连接键盘或鼠标390的通用串行总线(USB)端口。I/O子系统340还可以是提供用于与诸如存储设备380之类的存储设备进行通信的接口,可以通过音频接口360连接到音频设备,并且可经由网络接口370连接到网络120。存储设备380表示任何形式的非易失性存储器,包括但不仅限于,所有形式的光和磁存储设备(包括固态存储元件、包括可移除介质),并且存储设备380可以被包括在系统单元310内或可以在系统单元310的外部。存储设备380可以是用于软件、数据或这两者的存储的程序存储设备,所述软件用于控制可编程设备300,所述数据由可编程设备300使用(包括网络流数据)。虽然为清楚起见,在图3中仅示出了单个的存储设备380,但是取决于PCT中的接口可用性,可以根据需要来提供任何数量的存储设备380。I/O子系统340可以实现为系统单元310内的一个或多个芯片。在一些实施例中,存储器330可以连接到I/O子系统340而不是连接到处理器320。
此外,一些实施例可以将I/O子系统340连接到受信任的平台模块350,所述受信任的平台模块350提供密码处理器,所述密码处理器用于存储用于保护信息的密码密钥。各实施例可以将I/O子系统340的功能实现为系统单元310中的一个或多个分开的芯片。
如图3中所示,I/O子系统340为安全的受信任的环境(TE)345提供硬件资源。TE345提供不由控制可编程设备300的操作系统控制的安全环境。在其他实施例中,TE345可以作为分开的芯片组而在I/O子系统的板外,或者可以被合并在处理器320中,诸如,局限于TE功能的分开的核。TE345包含安全处理功能,该功能允许在受信任的环境中执行本文中所描述的技术的安全环境侧,所述受信任的环境不能由恶意软件(甚至可以作为处理器320上的引导套件(bootkit)或隐匿套件(rootkit)运行的恶意软件)干扰。通常,提供TE345的供应商使用专有的或密码技术来确保对什么功能可以在TE345中执行的控制,从而防止除仔细地审查的受信任的程序之外的任何程序的执行在TE345中运行。可以提供特殊接口以允许在处理器320上运行的软件请求TE345执行所期望的功能,诸如,请求TE345为处理器320执行数据聚合功能。TE345可以将其自身的内部存储器或者存储器330的部分用于数据和固件存储。或者,在可编程设备300上电时,可以从诸如闪存之类的非易失性存储器设备345加载供在TE345中的执行的固件形式的指令,并且随后可将所述指令加载到存储器330的部分中,以便由TE345执行。在一些实施例中,可以根据需要来禁用和启用TE345。这些指令可以使TE345执行数据聚合功能以及本文中未描述的其他功能。数据聚合固件可以由安全环境供应商提供,或可以由入侵检测系统供应商提供,并且可通过安全环境供应商的许可并结合操作系统环境入侵检测软件的供应而被存储为固件。可以用于这些技术的受信任的环境的示例是由英特尔公司提供的某些芯片组中的可管理性引擎。虽然本文中总体以基于硬件的TE345来描述,但是安全环境可以根据需要而以硬件、固件或软件、或他们任何组合来实现。
可编程设备300可以是任何类型的可编程设备,诸如例如,智能电话、智能平板、个人数字助理(PDA)、移动互联网设备(MID),可转换式平板、笔记本计算机、台式计算机、服务器,或智能电视机。显示器395(如果存在)可以是用于将界面呈现给用户的任何类型的设备,诸如例如,触摸屏或液晶显示器。图3中所示出的元件是说明性的且仅作为示例,图3中所示出的元件可以根据需要被组合或被划分成多个元件。还可以根据需要来提供诸如地理定位逻辑之类的其他元件,诸如,全球定位系统收发机、以及用于使用诸如例如IEEE802.11、IEEE802.16、WiMax等的标准来处理移动通信的逻辑。
图4是示出根据一个实施例的所公开技术的流程图。在框410中,设备210从前驱设备接收聚合数据200。如果设备210是链中的第一个设备,则聚合数据的初始化要么在第一设备处发生,要么通过来自诸如服务器110之类的控制设备的指令而发生。或者,服务器110可以将初始聚合数据发送到链中的第一个设备。在框420中,设备210将聚合数据从不受信任的环境230发送到受信任的环境220。在受信任的环境220直接从前驱设备接收前驱设备的聚合数据200的实施例中,可以省略框420。
在框430中,不受信任的环境230生成将与前驱设备的聚合数据200聚合的本地数据240。用于生成本地数据240的技术取决于将被收集的数据,并且本文中不进一步进行描述。在框440中,不受信任的环境230将本地数据240发送到受信任的环境。在一些实施例中,受信任的环境220可以能够生成本地数据240,而不是从不受信任的环境230接收本地数据240。或者,受信任的环境230可以确定需要什么本地数据,并且请求不受信任的环境220生成本地数据240并将本地数据240提供给受信任的环境220。
在框450中,受信任的环境220启封前驱设备的聚合数据有效载荷200,并且将本地数据240与前驱设备的聚合数据204聚合,从而产生聚合数据254。随后,受信任的环境220将聚合数据254密封到聚合数据有效载荷250中。在聚合数据有效载荷包括聚合数据所属的先前的设备的记录206的实施例中,受信任的环境220更新聚合数据250以包括指示设备210处理了聚合数据250的记录。如上文所描述的,该记录可以是与设备210相关联的唯一标识符,或可以是指示设备210处理了聚合数据250的任何其他信息。
在框460中,受信任的环境220将输出聚合数据250返回到不受信任的环境230,以便在框470中传输到后继设备。在受信任的环境220可以直接接收或发送聚合数据的实施例中,可以省略框460。所得到的聚合数据更具抗篡改性,因为除非受信任的环境220本身被损坏,否则,不受信任的环境230不能修改或损坏聚合数据。
图5是示出由受信任的环境220聚合数据的技术的实施例的流程图。在框510中,受信任的环境从不受信任的环境230接收前驱设备的聚合数据200和本地数据240。
在框520中,受信任的环境220判断前驱设备的聚合数据有效载荷200中的签名202是否有效。在不具有数字签名的实施例中,框520可以涉及对经加密的聚合数据有效载荷200的解密。如果数字签名未经认证或对经加密的聚合数据有效载荷200的解密失败,则受信任的环境220可以发出错误条件信号,并且采取任何所需的错误动作,所述错误动作包括:丢弃前驱设备的聚合数据200或用信号向服务器110、不受信任的环境230、或任何其他接收机通知可能期望的警告。在框530中,受信任的环境220可以评估聚合数据200的先前的聚合器的记录,并且如果设备210先前已处理了前驱设备的聚合数据200,则受信任的环境220可以指示错误条件并采取任何所需的区域动作,包括丢弃前驱设备的聚合数据200,或用信号向服务器110、不受信任的环境230或任何其他接收机通知可能期望的警告。
在可以使用泛洪(flooding)技术来将聚合数据传递到多个后继设备的实施例中,可以使用用于查看数据是否在先前已由当前的设备210处理过的检查来避免由相同的设备210对数据进行的无意的重新处理。在此类实施例中,受信任的环境220可以简单地丢弃受信任的环境220先前已处理的聚合数据有效载荷而不具有任何错误指示或警告。在重新处理可能指示了正在作出篡改聚合数据的恶意尝试的其他实施例中,框530中的检测可能产生已经发现恶意活动的警告。
如果设备210先前未处理过前驱设备的聚合数据200,则在框540中,受信任的环境220进行检查以查看由不受信任的环境230提供的本地数据是否有效。在一个实施例中,受信任的环境220可以对由不受信任的环境230提供的本地数据执行检查,以便检测不受信任的环境230提供损坏的本地数据用于聚合的企图。在其他实施例中,受信任的环境220仅对本地数据检查形式。如果本地数据不是有效的,则受信任的环境220随后可以用信号通知错误。
在一个实施例中,如果受信任的环境220确定了满足框520-540的错误条件中的一个或多个,则与丢弃前驱设备的聚合数据或生成警告相反,受信任的环境220可以通过简单地将未经改变的聚合数据250作为输出聚合数据250输出来生成输出聚合数据250。
现在已确定了聚合数据和本地数据是有效的,在框550中,受信任的环境220利用本地数据来更新前驱设备的聚合数据200。随后,诸如通过在受信任的环境220中加密或对聚合数据有效载荷进行数字签名来密封聚合数据有效载荷,并且在记录聚合动作的历史的实施例中,受信任的环境220还可以更新先前经处理的数据区域256以指示受信任的环境220处理了聚合数据。
在框570中,可以将聚合数据250发送到不受信任的环境230,以便传递到后继设备。或者,在受信任的环境220能够直接发送和接收聚合数据的情况下,受信任的环境220可以将聚合数据250发送到后继设备,而无需穿越不受信任的环境230。
被指示为框520,530,或540的结果的错误处理可以采取由受信任的环境220生成的警告的形式,所述警告被传递到不受信任的环境230以进行处理。
图4-5中所示出的动作的顺序是说明性的且仅作为示例,并且可以根据需要来执行其他步骤以及步骤的排序。例如,受信任的环境220可以根据需要,以任何顺序来更新聚合数据有效载荷的若干部分。
以下示例关于进一步的实施例。
示例1是非暂态计算机可读介质,指令存储在所述非暂态计算机可读介质上,所述指令包括在执行时使可编程设备执行下列操作的指令:从前驱可编程设备接收第一数据集合;生成对应于所述第一数据集合的第二数据集合;在所述可编程设备的受信任的环境中将所述第一数据集合与所述第二数据集合聚合,从而产生第三数据集合;以及将所述第三数据集合发送到后继可编程设备。
示例2包括示例1的主题,其中,所述第一数据集合包括数字签名,并且其中,所述指令进一步包括当被执行时使所述可编程设备执行以下操作的指令:在所述受信任的环境中认证所述数字签名;以及在所述受信任的环境中对所述第三数据集合进行数字签名。
示例3包括示例1的主题,其中,所述第一数据集合经加密,并且其中,所述指令进一步包括当被执行时使所述可编程设备执行以下操作的指令:在所述受信任的环境中解密所述第一数据集合;以及在所述受信任的环境中加密所述第三数据集合。
示例4包括示例1的主题,其中,所述用于接收所述第一数据集合的指令包括当被执行时使所述可编程设备执行以下操作的指令:由所述可编程设备的不受信任的环境接收所述第一数据集合;以及将所述第一数据集合从所述不受信任的环境转发到所述受信任的环境。
示例5包括示例1的主题,其中,所述用于发送所述第三数据集合的指令包括当被执行时使所述可编程设备执行以下操作的指令:将所述第三数据集合从所述受信任的环境发送到所述可编程设备的不受信任的环境;以及将所述第三数据集合从所述不受信任的环境发送到所述后继可编程设备。
示例6包括示例1的主题,其中,所述指令进一步包括当被执行时使所述可编程设备执行以下操作的指令:判断所述受信任的环境先前是否已处理所述第一数据集合。
示例7包括示例1的主题,其中,所述指令进一步包括当被执行时使所述可编程设备执行以下操作的指令:如果检测到错误条件,则省略所述第二数据集合与所述第一数据集合的所述聚合。
示例8包括示例1的主题,其中,所述指令进一步包括当被执行时使所述可编程设备执行以下操作的指令:如果检测到错误条件,则丢弃所述第一数据集合。
示例9包括示例1的主题,其中,所述指令进一步包括当被执行时使所述可编程设备执行以下操作的指令:初始化所述第一数据集合。
示例10包括示例1-3中的任何一项的主题,其中,所述指令进一步包括当被执行时使所述可编程设备执行以下操作的指令:判断所述受信任的环境先前是否已处理所述第一数据集合。
示例11包括示例1-3中的任一项的主题,其中,所述指令进一步包括当被执行时使所述可编程设备执行以下操作的指令:如果检测到错误条件,则省略所述第二数据集合与所述第一数据集合的所述聚合。
示例12包括示例1-3中的任何一项的主题,其中,所述指令进一步包括当被执行时使所述可编程设备执行以下操作的指令:如果检测到错误条件,则丢弃所述第一数据集合。
示例13包括示例1-3中的任何一项的主题,其中,所述指令进一步包括当被执行时使所述可编程设备执行以下操作的指令:初始化所述第一数据集合。
示例14包括任何一项前述示例的主题,其中,所述第一数据集合包括数字签名,并且其中,所述指令进一步包括当被执行时使所述可编程设备执行以下操作的指令:通过在所述受信任的环境中认证所述第一数据集合中的数字签名或在所述受信任的环境中解密所述第一数据集合来启封所述第一数据集合;以及通过在所述受信任的环境中对所述第三数据集合进行数字签名或在所述受信任的环境中加密所述第三数据集合来密封所述第三数据集合。
示例15包括任何一项前述示例的主题,其中,所述用于接收所述第一数据集合的指令包括当被执行时使所述可编程设备执行以下操作的指令:由所述可编程设备的不受信任的环境接收所述第一数据集合;将所述第一数据集合从所述不受信任的环境转发到所述受信任的环境;将所述第三数据集合从所述受信任的环境发送到所述可编程设备的不受信任的环境;以及将所述第三数据集合从所述不受信任的环境发送到所述后继可编程设备。
示例16包括任何一项前述示例的主题,其中,所述指令进一步包括当被执行时使所述可编程设备执行以下操作的指令:判断所述受信任的环境先前是否已处理所述第一数据集合。
示例17包括任何一项前述示例的主题,其中,所述指令进一步包括当被执行时使所述可编程设备执行以下操作的指令:如果检测到错误条件,则省略所述第二数据集合与所述第一数据集合的所述聚合,或丢弃所述第一数据集合。
示例18是可编程设备,包括:处理器;操作系统,包括指令,所述操作系统当由处理器执行时控制所述处理器并提供用于软件在所述处理器上执行的不受信任的环境;安全的硬件受信任的环境,与所述不受信任的环境分开;存储器,指令存储在所述存储器中,所述指令当由所述安全的硬件受信任的环境执行时使所述安全的硬件受信任的环境:从前驱可编程设备接收第一数据集合;生成对应于所述第一数据集合的第二数据集合;将所述第一数据集合与所述第二数据集合聚合,从而产生第三数据集合;以及将所述第三数据集合发送到后继设备。
示例19包括示例18的主题,其中,所述存储器进一步存储当在所述不受信任的环境中执行时使所述处理器执行以下操作的指令:从所述前驱可编程设备接收所述第一数据集合;将所述第一数据集合从所述不受信任的环境转发到所述受信任的环境;从所述受信任的环境接收所述第三数据集合;以及将所述第三数据集合转发到所述后继设备。
示例20包括示例18的主题,其中,所述指令进一步包括当由所述安全的硬件受信任的环境执行时使所述安全的硬件受信任的环境执行以下操作的指令:启封所述第一数据集合;以及密封所述第三数据集合。
示例21包括示例18的主题,其中,所述指令进一步包括当由所述安全的硬件受信任的环境执行时使所述安全的硬件受信任的环境执行以下操作的指令:判断所述安全的硬件受信任的环境先前是否已处理所述第一数据集合。
示例22包括示例21的主题,其中,所述指令进一步包括当由所述安全的硬件受信任的环境执行时使所述安全的硬件受信任的环境执行以下操作的指令:如果所述安全的硬件受信任的环境先前已处理所述第一数据集合,则用信号通知警告。
示例23包括示例18的主题,其中,所述指令进一步包括当由所述安全的硬件受信任的环境执行时使所述安全的硬件受信任的环境执行以下操作的指令:如果检测到错误条件,则丢弃所述第一数据集合。
示例24包括示例18的主题,其中,所述指令进一步包括当由所述安全的硬件受信任的环境执行时使所述安全的硬件受信任的环境执行以下操作的指令:在前驱可编程设备不存在的情况下,初始化所述第一数据集合。
示例25包括示例18-19中的任一项的主题,其中,所述指令进一步包括当由所述安全的硬件受信任的环境执行时使所述安全的硬件受信任的环境执行以下操作的指令:启封所述第一数据集合;以及密封所述第三数据集合。
示例26包括示例18-19和25中的任一项的主题,其中,所述指令进一步包括当由所述安全的硬件受信任的环境执行时使所述安全的硬件受信任的环境执行以下操作的指令:判断所述安全的硬件受信任的环境先前是否已处理所述第一数据集合。
示例27包括示例26的主题,其中,所述指令进一步包括当由所述安全的硬件受信任的环境执行时使所述安全的硬件受信任的环境执行以下操作的指令:如果所述安全的硬件受信任的环境先前已处理所述第一数据集合,则用信号通知警告。
示例28包括示例18的主题,其中,所述存储器进一步存储当在所述不受信任的环境中执行时使所述处理器执行以下操作的指令:从所述前驱可编程设备接收所述第一数据集合;以及将所述第一数据集合从所述不受信任的环境转发到所述受信任的环境。
示例29包括示例28的主题,其中,所述存储器进一步存储当在所述不受信任的环境中执行时使所述处理器执行以下操作的指令:从所述受信任的环境接收所述第三数据集合;以及将所述第三数据集合转发到所述后继设备。
示例30包括示例20的主题,其中,当被执行时使所述安全的硬件受信任的环境启封所述第一数据集合的指令包括:当被执行时使所述安全的硬件受信任的环境认证所述第一数据集合中包含的数字签名的指令,并且其中,当被执行时使所述安全的硬件受信任的环境密封所述第三数据集合的指令包括:当被执行时使所述安全的硬件受信任的环境对第三数据集合进行数字签名的指令。
示例31包括示例20的主题,其中,当被执行时使所述安全的硬件受信任的环境启封所述第一数据集合的指令包括:当被执行时使所述安全的硬件受信任的环境解密所述第一数据集合的指令,并且其中,当被执行时使所述安全的硬件受信任的环境密封所述第三数据集合的指令包括:当被执行时使所述安全的硬件受信任的环境加密第三数据集合的指令。
示例32包括示例18-20以及28-31中的任一项的主题,其中,所述指令进一步包括当由所述安全的硬件受信任的环境执行时使所述安全硬件受信任的环境执行以下操作的指令:判断所述安全硬件受信任的环境先前是否已处理所述第一数据集合。
示例33包括示例32的主题,其中,所述指令进一步包括当由所述安全的硬件受信任的环境执行时使所述安全的硬件受信任的环境执行以下操作的指令:如果所述安全的硬件受信任的环境先前已处理所述第一数据集合,则用信号通知警告。
示例34包括示例18-20以及28-31中的任一项的主题,其中,所述指令进一步包括当由所述安全的硬件受信任的环境执行时使所述安全的硬件受信任的环境执行以下操作的指令:如果检测到错误条件,则丢弃所述第一数据集合。
示例35包括示例18-20以及28-31中的任一项的主题,其中,所述指令进一步包括当由所述安全的硬件受信任的环境执行时使所述安全的硬件受信任的环境执行以下操作的指令:如果检测到错误条件,则省略所述第二数据集合与所述第一数据集合的所述聚合。
示例36包括示例18-20以及28-31中的任一项的主题,其中,所述指令进一步包括当被执行时使所述可编程设备执行以下操作的指令:初始化所述第一数据集合。
示例37是一种方法,包括以下步骤:从第一可编程设备接收第一数据集合;从第二可编程设备的不受信任的环境获取第二数据集合;在所述可编程设备的受信任的环境中将所述第一数据集合与所述第二数据集合组合以产生第三数据集合;以及将所述第三数据集合发送到第三可编程设备。
示例38包括示例37的主题,其中,将所述第一数据集合与所述第二数据集合组合的步骤包括以下步骤:启封所述第一数据集合;将所述第一数据集合与所述第二数据集合组合以产生所述第三数据集合;以及密封所述第三数据集合。
示例39包括示例38的主题,其中,启封所述第一数据集合的步骤包括认证所述第一数据集合的数字签名的步骤,并且其中,密封所述第三数据集合的步骤包括对所述第三数据集合进行数字签名的步骤。
示例40包括示例37的主题,其中,从不受信任的环境获取所述第二数据集合的步骤包括以下步骤:在所述不受信任的环境中评估所述第一数据集合中包含的查询;以及将查询结果转发到所述受信任的环境。
示例41包括示例37的主题,其中,从不受信任的环境获取所述第二数据集合的步骤包括以下步骤:在所述受信任的环境中评估所述第一数据集合中包含的查询;以及由所述受信任的环境从所述不受信任的环境请求对应于所述查询的数据。
示例42包括示例37的主题,其中,接收第一数据集合的步骤包括以下步骤:在所述第二可编程设备的所述不受信任的环境中接收来自所述第一可编程设备的所述第一数据集合;以及将所述第一数据集合从所述不受信任的环境转发到所述受信任的环境,并且其中,将所述第三数据集合发送到第三可编程设备的步骤包括以下步骤:将所述第三数据集合从所述受信任的环境发送到所述不受信任的的环境;以及将所述第三数据集合从所述不受信任的环境转发到所述第三可编程设备。
示例43包括示例37的主题,其中,将所述第一数据集合与所述第二数据集合组合的步骤包括以下步骤:判断所述第二可编程设备先前是否已处理所述第一数据集合。
示例44包括示例37的主题,其中,将所述第一数据集合与所述第二数据集合组合的步骤进一步包括以下步骤:如果在所述第一数据集合中检测到错误条件,则丢弃所述第一数据集合。
示例45包括示例37的主题,其中,将所述第一数据集合与所述第二数据集合组合的步骤进一步包括以下步骤:如果在所述第一数据集合中检测到错误条件,则生成警告。
示例46包括示例37-41中的任一项的主题,其中,接收第一数据集合的步骤包括以下步骤:在所述第二可编程设备的所述不受信任的环境中接收来自所述第一可编程设备的所述第一数据集合;以及将所述第一数据集合从所述不受信任的环境转发到所述受信任的环境,并且其中,将所述第三数据集合发送到第三可编程设备的步骤包括以下步骤:将所述第三数据集合从所述受信任的环境发送到所述不受信任的的环境;以及将所述第三数据集合从所述不受信任的环境转发到所述第三可编程设备。
示例47包括示例37-41中的任一项的主题,其中,将所述第一数据集合与所述第二数据集合组合的步骤包括以下步骤:判断所述第二可编程设备先前是否已处理所述第一数据集合。
示例48包括示例37-41中的任一项的主题,其中,将所述第一数据集合与所述第二数据集合组合的步骤进一步包括以下步骤:如果在所述第一数据集合中检测到错误条件,则丢弃所述第一数据集合。
示例49包括示例37-41中的任一项的主题,其中,将所述第一数据集合与所述第二数据集合组合的步骤进一步包括以下步骤:如果在所述第一数据集合中检测到错误条件,则生成警告。
示例50是设备,所述设备包括用于执行根据权利要求37-41中的任一项所要求保护的方法的装置。
示例51包括示例37的主题,其中,将所述第一数据集合与所述第二数据集合组合的步骤包括以下步骤:启封所述第一数据集合,这包括以下步骤中的一项或多项:认证所述第一数据集合中的数字签名或解密所述第一数据集合;将所述第一数据集合与所述第二数据集合组合以产生所述第三数据集合;以及密封所述第三数据集合,这包括以下步骤中的一项或多项:对所述第三数据集合进行数字签名或加密所述第三数据集合。
示例52包括示例37和51中的任一项的主题,其中,从不受信任的环境获取所述第二数据集合的步骤包括以下步骤:评估所述第一数据集合中包含的查询;以及将查询结果提供给所述受信任的环境。
示例53包括示例37-38和51中的任一项的主题,其中,接收第一数据集合的步骤包括以下步骤:在所述第二可编程设备的所述不受信任的环境中接收来自所述第一可编程设备的所述第一数据集合;以及将所述第一数据集合从所述不受信任的环境转发到所述受信任的环境,并且其中,将所述第三数据集合发送到第三可编程设备的步骤包括以下步骤:将所述第三数据集合从所述受信任的环境发送到所述不受信任的的环境;以及将所述第三数据集合从所述不受信任的环境转发到所述第三可编程设备。
示例54包括示例37-38和51中的任一项的主题,其中,将所述第一数据集合与所述第二数据集合组合的步骤包括以下步骤:判断所述第二可编程设备先前是否已处理所述第一数据集合。
示例55包括示例38的主题,其中,启封所述第一数据集合的步骤包括解密所述第一数据集合的步骤,并且其中,密封所述第三数据集合的步骤包括加密所述第三数据集合的步骤。
示例56包括示例37-41中的任一项的主题,其中,接收第一数据集合的步骤包括以下步骤:在所述第二可编程设备的所述不受信任的环境中接收来自所述第一可编程设备的所述第一数据集合;以及将所述第一数据集合从所述不受信任的环境转发到所述受信任的环境。
示例57包括示例37-41中的任一项的主题,其中,将所述第三数据集合发送到第三可编程设备的步骤包括以下步骤:将所述第三数据集合从所述受信任的环境发送到所述不受信任的的环境;以及将所述第三数据集合从所述不受信任的环境转发到所述第三可编程设备。
示例58包括示例37-41中的任一项的主题,其中,将所述第一数据集合与所述第二数据集合组合的步骤包括以下步骤:判断所述第二可编程设备先前是否已处理所述第一数据集合。
示例59包括示例37-41中的任一项的主题,其中,将所述第一数据集合与所述第二数据集合组合的步骤进一步包括以下步骤:如果在所述第一数据集合中检测到错误条件,则丢弃所述第一数据集合。
示例60包括示例37-41中的任一项的主题,其中,将所述第一数据集合与所述第二数据集合组合的步骤进一步包括以下步骤:如果在所述第一数据集合中检测到错误条件,则生成警告。
示例61包括示例37-41中的任一项的主题,其中,将所述第一数据集合与所述第二数据集合组合的步骤进一步包括以下步骤:如果在所述第一数据集合中检测到错误条件,则省略将所述本地数据与所述第一数据集合组合的步骤。
示例62包括示例37-41中的任一项的主题,其中,将所述第一数据集合与所述第二数据集合组合的步骤进一步包括以下步骤:在第一可编程设备不存在的情况下,初始化所述第一数据集合。
示例63是机器可读介质,指令存储在所述机器可读介质上,所述指令当由可编程设备执行时使所述可编程设备执行如权利要求37-62中的任一项所述的方法。
应当理解,以上描述旨在是说明性的而非限制性的。例如,上述实施例可以彼此相结合地使用。在回顾了以上描述之后,许多其他实施例对本领域技术人员将是显而易见的。因此,应当参照所附权利要求书以及被授予权利的此类权利要求的等效方案的完整范围来确定本发明的范围。

Claims (25)

1.一种非暂态计算机可读介质,指令存储在所述非暂态计算机可读介质上,所述指令当被执行时使可编程设备:
从前驱可编程设备接收第一数据集合;
生成对应于所述第一数据集合的第二数据集合;
在所述可编程设备的受信任的环境中将所述第一数据集合与所述第二数据集合聚合,从而产生第三数据集合;以及,
将所述第三数据集合发送到后继可编程设备。
2.如权利要求1所述的非暂态计算机可读介质,其特征在于,所述第一数据集合包括数字签名,并且
其中,所述指令进一步包括当被执行时使所述可编程设备执行以下操作的指令:
在所述受信任的环境中认证所述数字签名;以及
在所述受信任的环境中对所述第三数据集合进行数字签名。
3.如权利要求1所述的非暂态计算机可读介质,其特征在于,所述第一数据集合是经加密的,并且
其中,所述指令进一步包括当被执行时使所述可编程设备执行以下操作的指令:
在所述受信任的环境中解密所述第一数据集合;以及
在所述受信任的环境中加密所述第三数据集合。
4.如权利要求1-3中的任一项所述的非暂态计算机可读介质,其特征在于,所述用于接收所述第一数据集合的指令包括当被执行时使所述可编程设备执行以下操作的指令:
由所述可编程设备的不受信任的环境接收所述第一数据集合;以及
将所述第一数据集合从所述不受信任的环境转发到所述受信任的环境。
5.如权利要求1-3中的任一项所述的非暂态计算机可读介质,其特征在于,所述用于发送所述第三数据集合的指令包括当被执行时使所述可编程设备执行以下操作的指令:
将所述第三数据集合从所述受信任的环境发送到所述可编程设备的不受信任的环境;以及
将所述第三数据集合从所述不受信任的环境发送到所述后继可编程设备。
6.如权利要求1-3中的任一项所述的非暂态计算机可读介质,其特征在于,所述指令进一步包括指令当被执行时使所述可编程设备执行以下操作的指令:
判断所述受信任的环境先前是否已处理所述第一数据集合。
7.如权利要求1-3中的任一项所述的非暂态计算机可读介质,其特征在于,所述指令进一步包括当被执行时使所述可编程设备执行以下操作的指令:
如果检测到错误条件,则省略所述第二数据集合与所述第一数据集合的所述聚合。
8.如权利要求1-3中的任一项所述的非暂态计算机可读介质,其特征在于,所述指令进一步包括当被执行时使所述可编程设备执行以下操作的指令:
如果检测到错误条件,则丢弃所述第一数据集合。
9.如权利要求1-3中的任一项所述的非暂态计算机可读介质,其特征在于,所述指令进一步包括当被执行时使所述可编程设备执行以下操作的指令:
初始化所述第一数据集合。
10.一种可编程设备,包括:
处理器;
操作系统,所述操作系统包括指令,当由所述处理器执行所述操作系统时,所述操作系统控制所述处理器,并且提供用于软件在所述处理器上执行的不受信任的环境;
安全的硬件受信任的环境,所述安全的硬件受信任的环境与所述不受信任的环境分开;
存储器,指令存储在所述存储器中,所述指令当由安全的硬件受信任的环境执行时使所述安全的硬件受信任的环境:
从前驱可编程设备接收第一数据集合;
生成对应于所述第一数据集合的第二数据集合;
将所述第一数据集合与所述第二数据集合聚合,从而产生第三数据集合;以及,
将所述第三数据集合发送到后继设备。
11.如权利要求10所述的可编程设备,其特征在于,所述存储器进一步存储当在所述不受信任的环境中执行时使所述处理器执行以下操作的指令:
从所述前驱可编程设备接收所述第一数据集合;
将所述第一数据集合从所述不受信任的环境转发到所述受信任的环境;
从所述受信任的环境接收所述第三数据集合;以及
将所述第三数据集合转发到所述后继设备。
12.如权利要求10所述的可编程设备,其特征在于,所述指令进一步包括当由所述安全的硬件受信任的环境执行时使所述安全的硬件受信任的环境执行以下操作的指令:
启封所述第一数据集合;以及
密封所述第三数据集合。
13.如权利要求10-12中的任一项所述的可编程设备,其特征在于,所述指令进一步包括当由所述安全的硬件受信任的环境执行时使所述安全的硬件受信任的环境执行以下操作的指令:
判断所述安全的硬件受信任的环境先前是否已处理所述第一数据集合。
14.如权利要求13所述的可编程设备,其特征在于,所述指令进一步包括当由所述安全的硬件受信任的环境执行时使所述安全的硬件受信任的环境执行以下操作的指令:
如果所述安全的硬件受信任的环境先前已处理所述第一数据集合,则用信号通知警告。
15.如权利要求10-12中的任一项所述的可编程设备,其特征在于,所述指令进一步包括当由所述安全的硬件受信任的环境执行时使所述安全的硬件受信任的环境执行以下操作的指令:
如果检测到错误条件,则丢弃所述第一数据集合。
16.一种方法,包括以下步骤:
从第一可编程设备接收第一数据集合;
从第二可编程设备的不受信任的环境获取第二数据集合;
在所述可编程设备的受信任的环境中将所述第一数据集合与所述第二数据集合组合以产生第三数据集合;以及
将所述第三数据集合发送到第三可编程设备。
17.如权利要求16所述的方法,其特征在于,将所述第一数据集合与所述第二数据集合组合的步骤包括以下步骤:
启封所述第一数据集合;
将所述第一数据集合与所述第二数据集合组合以产生所述第三数据集合;以及
密封所述第三数据集合。
18.如权利要求17所述的方法,其特征在于,启封所述第一数据集合的步骤包括认证所述第一数据集合的数字签名的步骤,并且
其中,密封所述第三数据集合的步骤包括对所述第三数据集合进行数字签名的步骤。
19.如权利要求16所述的方法,其特征在于,从不受信任的环境获取所述第二数据集合的步骤包括以下步骤:
在所述不受信任的环境中评估所述第一数据集合中包含的查询;以及
将查询结果转发到所述受信任的环境。
20.如权利要求16所述的方法,其特征在于,从不受信任的环境获取所述第二数据集合的步骤包括以下步骤:
在所述受信任的环境中评估所述第一数据集合中包含的查询;以及
由所述受信任的环境从所述不受信任的环境请求对应于所述查询的数据。
21.如权利要求16-20中的任一项所述的方法,
其特征在于,接收第一数据集合的步骤包括以下步骤:
在所述第二可编程设备的所述不受信任的环境中接收来自所述第一可编程设备的所述第一数据集合;以及
将所述第一数据集合从所述不受信任的环境转发到所述受信任的环境,并且
其中,将所述第三数据集合发送到第三可编程设备的步骤包括以下步骤:
将所述第三数据集合从所述受信任的环境发送到所述不受信任的环境;以及
将所述第三数据集合从所述不受信任的环境转发到所述第三可编程设备。
22.如权利要求16-20中的任一项所述的方法,其特征在于,将所述第一数据集合与所述第二数据集合组合的步骤包括以下步骤:
判断所述第二可编程设备先前是否已处理所述第一数据集合。
23.如权利要求16-20中的任一项所述的方法,其特征在于,将所述第一数据集合与所述第二数据集合组合的步骤进一步包括以下步骤:
如果在所述第一数据集合中检测到错误条件,则丢弃所述第一数据集合。
24.如权利要求16-20中的任何一个所述的方法,其特征在于,将所述第一数据集合与所述第二数据集合组合的步骤进一步包括以下步骤:
如果在所述第一数据集合中检测到错误条件,则生成警告。
25.一种设备,所述设备包括执行根据权利要求16-20中的任一项所述的方法的装置。
CN201380078673.2A 2013-08-30 2013-08-30 改善聚合数据的抗篡改性 Pending CN105453073A (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2013/057584 WO2015030800A1 (en) 2013-08-30 2013-08-30 Improving tamper resistance of aggregated data

Publications (1)

Publication Number Publication Date
CN105453073A true CN105453073A (zh) 2016-03-30

Family

ID=52584954

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201380078673.2A Pending CN105453073A (zh) 2013-08-30 2013-08-30 改善聚合数据的抗篡改性

Country Status (6)

Country Link
US (1) US20150067343A1 (zh)
EP (1) EP3039567A4 (zh)
JP (1) JP6253168B2 (zh)
KR (1) KR101737747B1 (zh)
CN (1) CN105453073A (zh)
WO (1) WO2015030800A1 (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10277396B2 (en) * 2016-06-16 2019-04-30 General Electric Company Watermarking for data integrity
US10902149B2 (en) 2018-02-01 2021-01-26 Microsoft Technology Licensing, Llc Remote testing analysis for software optimization based on client-side local differential privacy-based data

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005223480A (ja) * 2004-02-04 2005-08-18 Nippon Hoso Kyokai <Nhk> 視聴履歴生成セキュリティモジュール、視聴履歴生成受信端末および視聴履歴生成受信プログラム
JP2007221749A (ja) * 2006-01-18 2007-08-30 Pfu Ltd 画像処理装置、色変換テーブル書換方法およびプログラム
JP2009288972A (ja) * 2008-05-28 2009-12-10 Brother Ind Ltd 情報配信システム及び同システムにおける端末装置並びに再生ランキングの生成方法
US7805518B1 (en) * 2003-11-14 2010-09-28 The Board Of Trustees Of The Leland Stanford Junior University Method and system for reputation management in peer-to-peer networks
CN102986163A (zh) * 2010-03-05 2013-03-20 交互数字专利控股公司 给设备提供安全性的方法和装置

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6536037B1 (en) * 1999-05-27 2003-03-18 Accenture Llp Identification of redundancies and omissions among components of a web based architecture
US6606744B1 (en) * 1999-11-22 2003-08-12 Accenture, Llp Providing collaborative installation management in a network-based supply chain environment
US7308496B2 (en) * 2001-07-31 2007-12-11 Sun Microsystems, Inc. Representing trust in distributed peer-to-peer networks
US7328243B2 (en) * 2002-10-31 2008-02-05 Sun Microsystems, Inc. Collaborative content coherence using mobile agents in peer-to-peer networks
US7213047B2 (en) * 2002-10-31 2007-05-01 Sun Microsystems, Inc. Peer trust evaluation using mobile agents in peer-to-peer networks
DE102004016580B4 (de) * 2004-03-31 2008-11-20 Nec Europe Ltd. Verfahren zur Übertragung von Daten in einem Ad Hoc Netzwerk oder einem Sensornetzwerk
DE102005045733A1 (de) * 2005-09-23 2007-04-05 Nec Europe Ltd. Verfahren zum Übermitteln von Nachrichten
US8108926B2 (en) * 2005-11-28 2012-01-31 Sap Ag Method and system for online trust management using statistical and probability modeling
JP4896595B2 (ja) * 2006-01-18 2012-03-14 株式会社Pfu 画像読取装置およびプログラム
US8849983B2 (en) * 2006-03-16 2014-09-30 Futurewei Technologies, Inc. Method and system for updating and retrieving state information for mobile nodes in a communication network
US7603350B1 (en) * 2006-05-09 2009-10-13 Google Inc. Search result ranking based on trust
JP5172944B2 (ja) * 2007-04-25 2013-03-27 エヌイーシー ヨーロッパ リミテッド ネットワーク内でデータを集計する方法
US20090204964A1 (en) 2007-10-12 2009-08-13 Foley Peter F Distributed trusted virtualization platform
WO2009102354A1 (en) * 2008-02-13 2009-08-20 Hewlett-Packard Development Company, L.P. Managing electronic devices using an electronic device as a root of trust
EP2454845B1 (en) * 2009-07-16 2013-11-06 Georgia State University Research Foundation, Inc. Trusted query network systems and methods
US20110078775A1 (en) * 2009-09-30 2011-03-31 Nokia Corporation Method and apparatus for providing credibility information over an ad-hoc network
US8621636B2 (en) * 2009-12-17 2013-12-31 American Express Travel Related Services Company, Inc. Systems, methods, and computer program products for collecting and reporting sensor data in a communication network
US8555400B2 (en) * 2011-02-04 2013-10-08 Palo Alto Research Center Incorporated Privacy-preserving aggregation of Time-series data
EP2543974B1 (en) * 2011-07-06 2014-02-26 Nxp B.V. Metering system having improved security
US9647835B2 (en) * 2011-12-16 2017-05-09 Akamai Technologies, Inc. Terminating SSL connections without locally-accessible private keys

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7805518B1 (en) * 2003-11-14 2010-09-28 The Board Of Trustees Of The Leland Stanford Junior University Method and system for reputation management in peer-to-peer networks
JP2005223480A (ja) * 2004-02-04 2005-08-18 Nippon Hoso Kyokai <Nhk> 視聴履歴生成セキュリティモジュール、視聴履歴生成受信端末および視聴履歴生成受信プログラム
JP2007221749A (ja) * 2006-01-18 2007-08-30 Pfu Ltd 画像処理装置、色変換テーブル書換方法およびプログラム
JP2009288972A (ja) * 2008-05-28 2009-12-10 Brother Ind Ltd 情報配信システム及び同システムにおける端末装置並びに再生ランキングの生成方法
CN102986163A (zh) * 2010-03-05 2013-03-20 交互数字专利控股公司 给设备提供安全性的方法和装置

Also Published As

Publication number Publication date
KR20160025614A (ko) 2016-03-08
JP6253168B2 (ja) 2017-12-27
JP2016534448A (ja) 2016-11-04
EP3039567A4 (en) 2017-05-03
EP3039567A1 (en) 2016-07-06
KR101737747B1 (ko) 2017-05-29
US20150067343A1 (en) 2015-03-05
WO2015030800A1 (en) 2015-03-05

Similar Documents

Publication Publication Date Title
US11403402B2 (en) System and method for recording device lifecycle transactions as versioned blocks in a blockchain network using a transaction connector and broker service
US10313313B2 (en) Methods and systems for proxying data
US8352740B2 (en) Secure execution environment on external device
WO2019108438A1 (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
CN108632250B (zh) 指令操控会话主密钥生成、操作指令传输的方法及设备
CN111343613A (zh) 在过程控制系统中建立安全的低能量无线通信的方法和装置
AU2016428606A1 (en) Data encryption control using multiple controlling authorities
CN104199657A (zh) 开放平台的调用方法及装置
CN114584306B (zh) 一种数据处理方法和相关装置
US20190026478A1 (en) Vehicle secure communication method and apparatus, vehicle multimedia system, and vehicle
CN100334519C (zh) 建立可信输入输出通道的方法
CN105453073A (zh) 改善聚合数据的抗篡改性
CN103414567A (zh) 信息监控方法及系统
US9135449B2 (en) Apparatus and method for managing USIM data using mobile trusted module
US11722295B2 (en) Methods, apparatus, and articles of manufacture to securely audit communications
KR102377045B1 (ko) 하드웨어 보안 모듈을 이용한 클라우드를 통한 IoT(Internet of Thing) 디바이스 인증 시스템 및 방법
CN114065170A (zh) 平台身份证书的获取方法、装置和服务器
CN104580181A (zh) 加密数据的方法、装置及加密加速引擎
CN114785566B (zh) 数据处理方法、装置及设备
Pătraşcu et al. Cyber security evaluation of critical infrastructures systems
CN116956318A (zh) 应用的安全防护方法、装置、存储介质以及电子设备
Gilles et al. Securing communication on the field: Protecting geo-distributed computing in an untrusted environment
Bouard et al. Leveraging in-car security by combining information flow monitoring techniques
CN117176337A (zh) 一种银行密钥管理系统、方法、装置及电子设备
CN115865538A (zh) 区块链数据上链方法、装置、电子设备、存储介质

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
WD01 Invention patent application deemed withdrawn after publication
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20160330