CN116249982A - 用计算机加密处理来验证所接收的传感器数据的被跟踪部分 - Google Patents

用计算机加密处理来验证所接收的传感器数据的被跟踪部分 Download PDF

Info

Publication number
CN116249982A
CN116249982A CN202180060404.8A CN202180060404A CN116249982A CN 116249982 A CN116249982 A CN 116249982A CN 202180060404 A CN202180060404 A CN 202180060404A CN 116249982 A CN116249982 A CN 116249982A
Authority
CN
China
Prior art keywords
file
computer
data
master
tracked
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
CN202180060404.8A
Other languages
English (en)
Inventor
A·查克拉
L·查克拉
B·弗雷
L·D·弗里曼
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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of CN116249982A publication Critical patent/CN116249982A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/44Program or device authentication
    • 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
    • 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
    • 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/3271Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using challenge-response
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/60Digital content management, e.g. content distribution

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Storage Device Security (AREA)

Abstract

计算机标识表示所记录事件的某方面的捕获设备输出。计算机加密处理捕获设备输出的被跟踪部分以产生可验证的主文件,其包含来自捕获设备输出的主文件媒体数据被跟踪部分、所述主文件媒体数据被跟踪部分的主被跟踪部分元数据、以及主文件区块链数据。主文件区块链数据包括主文件块历史部分、主文件签名钥部分、以及所述主文件媒体数据被跟踪部分的签名哈希。计算机也修改主文件媒体数据被跟踪部分以产生参考文件媒体数据被跟踪部分、参考文件和可分发文件。计算机验证这些文件中的每个的真实性。

Description

用计算机加密处理来验证所接收的传感器数据的被跟踪部分
背景技术
本发明总体上涉及媒体捕获领域,更具体来说,涉及验证原始捕获的媒体文件的真实性、对捕获的媒体文件作出的修改的性质和与捕获的媒体相关的文件的不同版本的真实性。
数据可以从诸如摄影机、音频捕获设备、红外视频捕获设备、雷达空间信息捕获设备、声纳空间信息捕获设备、激光雷达空间信息捕获设备、激光“跳闸线”(trip-wires)、化学签名信息捕获设备、X射线图像捕获设备、微波图像捕获设备、大气压读取捕获设备、风速计等多种捕获设备中的传感器获得。在一些情况下,重要的是能够验证所存储的由这些设备中的一个或多个所捕获的数据真实地代表设备所捕获的内容。
发明内容
本公开的各方面认识到并解决与确认所记录的媒体文件的被跟踪部分的真实性相关联的缺点和问题。本发明的其他方面允许将原始媒体文件的被跟踪部分标识为重要数据子集,并允许验证对这些部分做出的改变的性质。本发明的其他实施例推测地基于对可验证的、所记录的媒体文件做出的改变来评估文件的真实性。
在根据本发明的实施例中,计算机标识表示所记录事件的某方面的捕获设备输出。计算机加密处理所述捕获设备输出以产生可验证的主文件,其包括来自所述捕获设备输出的主文件媒体数据被跟踪部分、所述主媒体数据的主被跟踪部分元数据和主文件区块链数据。主文件区块链数据包括主文件块历史部分、主文件签名钥部分、以及主文件被跟踪部分签名数据哈希。所述加密处理包括计算机将媒体数据划分成与被跟踪部分对应的至少一个数据子集,计算机生成所述数据子集的哈希,计算机生成所述数据子集的哈希的元数据,计算机将所述哈希和所述哈希的元数据组合成被跟踪数据包,以及计算机对所述被跟踪数据包进行加密签名。在本发明的其他方面中,计算机还通过准备参考文件来修改所述主文件媒体数据被跟踪部分以产生参考文件媒体数据被跟踪部分,所述参考文件包括参考文件媒体数据被跟踪部分、参考文件元数据和参考文件区块链数据。所述参考文件区块链数据包括所述主文件区块链数据和区块链递增信息,其包括所述主文件区块链数据的哈希、参考文件区块链元数据、以及参考文件被跟踪部分签名数据哈希在本发明的其他方面,参考文件还包括指示由计算机做出的将主文件媒体数据被跟踪部分改变为参考文件的修改的媒体的可复制变更的指令。在本发明的其他方面,计算机接收被标识为所述可验证的主文件的副本被质疑主文件。计算机还接收验证被质疑主文件的请求并执行主文件验证例程来评估被质疑主文件的有效性。在主文件验证例程中,计算机对被质疑主文件的被跟踪媒体数据部分进行哈希,以生成哈希的被质疑主文件媒体数据被跟踪部分。计算机对被质疑主文件的签名媒体数据哈希部分进行去签名,以生成没签名的被质疑主文件媒体数据被跟踪部分,并确定所述哈希的被质疑主文件媒体数据被跟踪部分与所述没签名的被质疑主文件媒体数据被跟踪部分是否匹配。在本发明的其他方面中,计算机接收被标识为主文件的修改版本的参考文件。计算机还接收确定参考文件是否是主文件的修改版本的请求并执行参考文件验证例程。在参考文件验证例程中,计算机确定主文件区块链数据的哈希与参考文件区块链数据的哈希是否匹配。如果它们匹配,则计算机向参考文件媒体数据被跟踪部分应用由区块链递增信息指示的变更,以生成哈希的参考文件媒体数据被跟踪部分。计算机也对参考文件区块链数据进行去签名,以生成没签名的哈希参考文件区块链数据。计算机确定哈希的参考文件媒体数据被跟踪部分与没签名的参考文件区块链数据是否匹配。在本发明的其他方面中,计算机接收被标识为所述主文件的真实修改的参考文件、可分发文件、确定所述可分发文件是否是被标识为所述主文件的真实修改的参考文件的真实修改的请求。计算机然后执行可分发文件验证例程,其中计算机确定可分发文件区块链数据的哈希是否与参考文件区块链数据的哈希匹配。在可分发文件验证例程中,计算机也确定可分发文件媒体数据被跟踪部分的哈希是否与代表性媒体块的对应没签名的哈希匹配。
在本发明的另一实施例中,一种系统包括:计算机系统,其包括计算机可读存储介质,计算机可读存储介质具有随其体现的程序指令,所述程序指令可由计算机执行以使计算机标识捕获设备输出,所述输出表示所记录事件的某方面;加密处理所述捕获设备输出以产生可验证的主文件;其中所述可验证的主文件包括来自所述捕获设备输出的媒体数据被跟踪部分、所述主媒体数据的主被跟踪部分元数据和主文件区块链数据;其中,所述主文件区块链数据包括主文件块历史部分、主文件签名钥部分、以及主文件被跟踪部分签名数据哈希。
在本发明的另一实施例中,一种计算机程序产品包括计算机可读存储介质,计算机可读存储介质具有随其包含的程序指令,所述程序指令可由计算机执行以使计算机:标识捕获设备输出,所述输出表示所记录事件的某方面;加密处理所述捕获设备输出以产生可验证的主文件;其中所述可验证的主文件包含来自所述捕获设备输出的媒体数据被跟踪部分、所述主文件媒体数据被跟踪部分的主被跟踪部分元数据和主文件区块链数据;其中,所述主文件区块链数据包括主文件块历史部分、主文件签名钥部分、以及主文件被跟踪部分的签名数据哈希。
确认数据文件的真实性的一些问题包括难以确定给定文件是否事实上包含来自捕获设备的所记录数据的所选部分的真实副本。其他问题可包括确定变更日志的指令是否是已经对含有所捕获数据的修改版本的文件的被跟踪部分发生的变更的真实表示。当试图验证并非主文件的副本、而是推测地含有主文件的被跟踪部分的可验证的变体的各种版本的文件(例如,参考文件和分发文件)的部分的真实性时,会出现其他问题。
附图说明
从以下将结合附图阅读的对本发明的示范性实施例的详细描述中,本发明的这些和其他目的、特征和优点将变得显而易见。附图的各种特征不是按比例的,因为图示是为了便于本领域技术人员结合具体实施方式理解本发明而清楚起见。下面阐述附图。
图1是示出了用于计算机实现的可验证的主文件媒体数据被跟踪部分的生成的系统的概况的示意性框图。
图2是示出了使用图1所示的系统实现的捕获媒体数据并存储相关联的主文件的方法的流程图。
图3是根据本发明的各方面的具有被跟踪部分的主文件的示例性格式。
图4是示出了根据本发明的各方面的使用图1所示的系统实现的修改主文件以生成参考文件的被跟踪部分的方法的流程图。
图5是根据本发明的各方面的具有被跟踪部分的参考文件的示例性格式。
图6是示出根据本发明的各方面的使用图1所示的系统实现的验证具有被跟踪部分的主文件的方法的流程图。
图7是示出根据本发明的各方面的使用图1所示的系统实现的验证参考文件的被跟踪部分的方法的流程图。
图8是示出根据本发明的各方面的使用图1所示的系统实现的验证可分发文件的被跟踪部分的方法的流程图。
图9是示出了根据本公开的实施方式的计算机系统的示意性框图,该计算机系统可全部或部分地结合在图1所示的一个或多个计算机或设备中,并且与图1所示的系统和方法协作。
图10示出了根据本发明的实施例的云计算环境。
图11示出了根据本发明的实施例的抽象模型层。
具体实施方式
提供参考附图的以下描述以帮助全面理解由权利要求及其等同物限定的本发明的示例性实施例。其包括各种具体细节以帮助理解,但这些细节将被视为仅是示例性的。因此,本领域的普通技术人员将认识到,在不脱离本发明的范围和精神的情况下,可以对在此描述的实施例进行不同改变和修改。此外,为了清楚和简明,可省略对公知功能和结构的描述。
在以下描述和权利要求中使用的术语和词语不限于书目含义,而是仅仅用于使得能够清楚和一致地理解本发明。因此,对本领域技术人员显而易见的是,提供本发明的示例性实施方例的以下描述仅用于说明的目的,而不是用于限制由所附权利要求及其等同物限定的本发明的目的。
应当理解,除非上下文另有明确规定,否则单数形式“一个”、“一种”和“该”包括复数指示物。因此,例如,提及“参与者”包括提及这些参与者中的一个或多个,除非上下文另外明确规定。
现在总体上结合参考附图并且具体参照图1和图2,用于确认所记录的媒体文件的被跟踪部分的真实性、对所记录的媒体文件的被跟踪部分做出的变更的性质、以及假设地基于对所记录的媒体文件的被跟踪部分做出的可验证的变更的文件的真实性的方法200的概述。方法200可在系统100内使用,如由具有可选地共享存储器122和各方面124(包括信号处理芯片126、加密处理芯片128、ROM 130和通用处理芯片132)的服务器计算机120执行,它们协作地确认作为所记录的媒体文件的被跟踪部分的真实性、指示对作为所记录的媒体文件的被跟踪部分做出的变更的本质、以及假设地基于对所记录的媒体文件的被跟踪部分做出的可验证的变更来展示文件的真实性。应注意,在本发明的各方面的精神内,存储器122可采取多种形式,包括接收总线、I/O总线、联网卡或能够接收文件数据(诸如主文件300或参考文件500)的其他项。
应注意,预期本发明的方法由具有捕获本文所描述的数据的适当权利以及以所描述的方式使用和处理所捕获的数据的权利的参与者群组(例如,专业组织、公司实体等)和个人使用。还可以设想,根据本发明的各方面捕获或使用的其类似物的任何模型已经提供了对这样的捕获和使用的有效同意。根据法律上适当的方法并且在有对预期用途所必需的全部同意情况下,采集和使用在此所描述的数据。
根据本发明的各方面,具有传感器的捕获设备136记录某现实方面134,诸如图像、声音、压力读数等,并且将该方面传递给与服务器计算机120相关联的信号处理芯片126。捕获设备传感器将原始数据发送到信号处理芯片126,其中,系统100将原始数据转换成系统100可用的格式,并且可选地进行压缩。如果信号处理芯片126不压缩数据,则可使用可选的压缩芯片(未示出)。加密处理芯片128取得所处理(并且可能被压缩)的数据,将数据划分成预定子集(诸如与正被处理的数据相关联的像素或其他离散单元),并且对这些子集进行哈希。根据本发明的各方面,要进行哈希的至少一个子集对应于媒体数据的一个可跟踪的部分。使用子集(包括对应于被跟踪部分的子集)的哈希,加密处理芯片128为每个哈希添加被跟踪部分元数据(例如,子集、时间戳等),并用ROM 130中保存的不可变的唯一性私钥对被跟踪部分哈希数据包(即,具有相应被跟踪部分元数据的哈希)进行加密签名。将签名的被跟踪部分数据哈希和媒体数据传送到通用处理芯片132,其将签名的被跟踪部分数据哈希和媒体数据连同任何相关的元数据组合成具有图3中所示格式的主文件300。根据本发明的各方面,主文件区块链数据310包括主文件块历史部分311A、主文件签名钥部分314A、以及主文件被跟踪部分签名数据哈希316A。注意,主文件块历史的某些部分可以为空或包括反映主文件300的原始的、未变更的性质的其他协定的内容。
另外参考图2,在框202,服务器计算机120从捕获设备136接收传感器数据;在框204,传感器数据被转换成媒体数据(包括被跟踪的一部分媒体数据),其在框206被进行加密处理。继续参考图2,加密处理包括在框208将媒体数据划分成子集(其中子集中的至少一个子集对应于媒体数据的被跟踪部分)并在框211对子集进行哈希。注意,对被跟踪部分的标识可通过最终用户选择、根据计算机实现的选择算法中建立的偏好由服务器计算机120、或以本领域技术人员选择的任何其他方式来完成。在框212,加密处理芯片128将哈希的媒体数据被跟踪部分与被跟踪部分元数据(其本身可被哈希)组合成哈希的被跟踪部分数据包。在框214,加密处理芯片128对哈希的被跟踪部分数据包进行加密签名。在框216,通用处理芯片132生成主文件300,在框218,服务器计算机120将该主文件存储在共享存储器122中。
参考图3,示出了根据本发明的各方面的主文件300的格式;根据本发明的实施例,该格式包括三个部分:元数据301、传感器媒体数据被跟踪部分302以及内部区块链数据310。具体地,图3中示出的主文件300是仅有一个区块链数据块311A的文件,该单个块被称为生成块。可以将该文件格式实现为现有文件格式的扩展。应注意,虽然图3示出了主文件300,但系统100在根据本发明的各方面修改主文件300时生成其他文件(称为参考文件500,其在图1中示意性地示出并在图5中更详细地示出),参考文件具有相同的总体格式(如图5所示,在下面更详细地讨论)。
内部区块链数据310包括关于在通过包括先前块的加密哈希而加密链接的块中保持的文件及其媒体数据(以及可选地,元数据)的版本的信息块,所述先前块对应于主文件300和参考文件500的被跟踪部分数据(以及可选地,被跟踪部分元数据)的先前版本。
注意,主文件300的媒体数据被跟踪部分302表示由捕获设备136中的传感器捕获的原始媒体数据,并且根据本发明的各方面,区块链数据310是主文件300内部的非分布式区块链(即,其中每个数据块包含前一块的加密哈希的数据结构)。
区块链数据310包含可哈希部分以及可选地不包含在块哈希中的某些扩展(取决于文件变体)。可哈希部分包括先前块哈希313A、513B等(或者,对于生成块来说,某个商定的选择,诸如空)、在此块的签名中使用的公钥(可选地,关于公钥的任何元数据)、为得到此版本而从先前数据版本做出的变更的哈希(或根哈希)(或者,在该块为生成块的情况下,某个商定的选择,诸如空)、和两种格式之一的当前媒体数据被跟踪部分302的签名哈希(signed hash)。第一签名哈希格式包括此版本的文件元数据(或其哈希)和此版本的文件媒体数据被跟踪部分(或其哈希/根哈希)的签名哈希;第二签名哈希格式包括此版本的文件媒体数据被跟踪部分的签名哈希和(可选地)此版本的文件元数据的签名哈希。注意,主文件300(具有仅有一个块的内部区块链的文件)具有划分成以下子区段的区块链数据:一般文件元数据301,媒体数据(源自传感器)被跟踪部分302、内部区块链数据(仅针对一个块)310、起源/生成块311A、起源/生成块的可哈希部分312A、先前块哈希(在这种情况下,为空或某其他预定义惯例表示)313A、数字签名中使用的公钥314A—可选地包括关于公钥的元数据、其他块元数据315A、或者(a)文件元数据(或其哈希)和文件媒体数据被跟踪部分(或其哈希/根哈希)的签名哈希或者(b)文件元数据和文件媒体数据被跟踪部分的文件的签名哈希(或根哈希)的签名哈希316A。主文件300还包括被跟踪部分元数据322A的签名哈希317A。主文件300在框318A含有在变更日志320A中含有的规定指令的签名哈希。注意,对于主文件300来说,框318A可以为空或者被将主文件的性质表示为未变更的某其他商定值。
除了上述结构之外,有在本发明的各方面内可包括的块319A中包括的三个可选文件扩展部分320A、321A和322A。第一扩展是具有某种格式的变更日志320A,其使得能够对媒体数据被跟踪部分的先前版本的变更进行复制以得到媒体数据被跟踪部分的当前版本。变更日志320包括迭代地记录对媒体数据302作出的变更的信息。对于主文件300之外的每次迭代,变更日志320包括表示在该迭代中对媒体数据302的变更的相关联的信息。注意,对于主文件300本身,变更日志320将优选地保持空设定值(null set value)。变更日志仅对于参考媒体文件副本来说必需的。变更日志是可选的,但对于可分发副本不是必需的。第二扩展321A是在媒体文件的历史的该阶段的媒体数据被跟踪部分的副本。它对任何文件变体来说都不是必需的,就可以是增值。第三扩展322A是被跟踪部分元数据,其指示媒体数据的哪些部分是被跟踪部分。
参照图4,示出了创建主文件300的修改版本500(也称为参考文件)的方法400。如上所述,根据本发明的各方面的参考文件500是根据图4中所示的流程逻辑生成的原始主文件300的修改版本。在框404,服务器计算机120接收主文件300的副本(包括主文件数据的被跟踪部分),在框406,服务器计算机120使用例如图像或声音编辑算法(未示出)来修改主文件媒体数据302。在修改主媒体数据302之后,在框408,服务器计算机120接收包含元数据501、更改的主媒体数据被跟踪部分502(如图5中所见并在以下详细描述)的文件。
更具体来说,在框410,服务器计算机120将该更改的媒体数据保存为参考文件媒体数据被跟踪部分502。在框412,服务器计算机120生成参考文件元数据501;在框414,服务器计算机120将参考文件媒体数据被跟踪部分502、参考文件元数据501和参考文件区块链数据510组合成参考文件数据包。如本文所使用的,术语区块链是指传统区块链、哈希链、加密链接列表或其它复制区块链提供的功能和数据完整性的不可变数据结构。在框416,服务器计算机120对参考文件数据包进行加密签名。在框418,服务器计算机120生成参考文件区块链数据510并通过将当前迭代的参考区块链数据302x添加到现有区块链来更新区块链。在框420,服务器计算机120生成含有签名的数据包516的参考文件500,然后在框422,存储参考文件区块链数据510。
如参考图5所示,参考文件区块链数据510含有关于文件及其保持在块中的数据(以及可选地,元数据)的版本的信息,所述块通过包括对应于文件的数据的先前版本(以及可选地,元数据)的先前块的加密哈希而被加密链接。现在具体参见图5提供关于根据本发明的各方面的参考文件的优选结构的附加细节。在500处示出了具有内部区块链的参考文件,该内部区块链具有多个块;此文件表示媒体的从其原始创建起已被修改的被跟踪部分。参考文件包括通用参考文件元数据501、(从原始修改的)参考文件媒体数据被跟踪部分502、以及内部区块链数据510。内部区块链数据510包括一系列块,包括511A(与主文件300相关联的生成块)、511B(与第一参考文件相关联的修改的块(即,对主文件300的第一轮变更))和511x(与对原始主文件300的可能的几轮变更相关联的第二或之后的参考块)。链中的每个块进一步如上所述地划分成子区段,所述子区段按数字系列(即,511、512、513、514、515、516、517、518、519、520、521和522)进行标记。随着每轮媒体数据变更发生,服务器计算机120生成新的参考文件500和相关联的区块链数据,其中链中的每个块保持相同的相对格式。为了方便起见,参考文件区块链子区段之间的数字引用遵循相同的数字排列(例如,511、512、513、514、515、516、517、518、519、520、521和522),每一代子区段都有附加到数字引用的索引字母后缀(始于“B”)。这在图5中示意性地示出为511B、512B、513B、514B、515B、516B、517B、518B、519B、520B、521B和522B以及511x、512x、513x、514x、515x、516x、517x、518x、519x、520x、521x和522x。如果发生多于二十六代的变更(例如,遍历字母表一轮达到末尾),则从A开始添加的额外的后缀字母(例如,遍历字母表第二轮,从BA、BB开始,如此等等)。注意,后缀字母“A”是为与原始主文件300相关联的数据保留的,用于标识为主文件生成的生成/起源块。
继续参照图5,参考文件区块链数据510还包含可哈希部分512x,其包括先前块哈希513x、公钥514x、和其他块元数据515x,连同任何相关的元数据、以及上文所描述的签名的、哈希的媒体数据的任一选项版本。公钥514x代表进行修改的算法,作为对应于由相同版本的所有算法共享的通用私钥的公钥或者对应于对于该算法安装是唯一的私钥的公钥。
服务器计算机120将三个扩展附加到区块链数据510x。第一扩展520x是使得能够复制媒体数据被跟踪部分的先前版本上的变更以获得媒体数据被跟踪部分的当前版本的某种格式的变更日志。如上所述,变更日志520x包括迭代地记录对参考文件媒体数据被跟踪部分502作出的变更的信息。对于主文件500之外的每次迭代,变更日志520x包括表示在该迭代中对参考文件媒体数据被跟踪部分502的变更的相关联信息。变更日志520x仅对于参考媒体文件副本来说是必需的。变更日志520x是可选的,但对于可分发副的本来说不是必需的。第二扩展522x是被跟踪部分元数据,其描述参考文件媒体数据被跟踪部分502的哪些子集被认为是重要的并且要对其变更进行跟踪。第三扩展521x是在媒体文件的历史的该阶段的参考文件媒体数据被跟踪部分502(或仅媒体数据被跟踪部分)的副本。其对于任何文件变体来说都不是必需的,就可以是增值(value added)。
区块链还包括块的可哈希部分512x、先前块哈希(在先前块为块A即生成块的情况下,此值为空或某个其他预定义惯例表示)513x、数字签名中使用的公钥(其可包括关于公钥514x的元数据)和其他块元数据515x。框516x包括媒体数据被跟踪部分和可能的元数据的签名哈希。此信息有两种优选格式:(a)文件元数据(或其根哈希)和文件媒体数据被跟踪部分(或其哈希/根哈希)的签名哈希,或(b)文件元数据和文件媒体数据被跟踪部分的签名哈希(或根哈希)的签名哈希。还可根据本领域技术人员的偏好来选择签名的、哈希的信息的其他格式。框517x包含被跟踪部分元数据的签名哈希,框518x是块递增指令520x的签名哈希(或签名根哈希)。注意,指令和相关联的哈希在块A(生成块)中只可呈为空值,因为不会发生过从主文件的变更。框519x是“块扩展”,这是在参考媒体文件中保持的信息,其在可分发媒体文件中不是必需的(但不限于可分发媒体文件),优选地不包括在块哈希中。框520x含有详述如何从由先前块表示的媒体数据的版本到达由此块表示的媒体数据的版本的规定的、可复制的指令(在块A中呈为空,因为如在别处所指出的,块A表示来自捕获设备136的传感器的媒体的原始主文件版本)。框521x含有在媒体的历史中此刻的媒体数据的可选的冗余副本(或仅包含媒体数据被跟踪部分),522x含有被跟踪部分元数据,其描述媒体数据的哪些子集被视为重要的并且要对其变更进行跟踪。
参考图6,现在将描述根据本发明的各方面的用于验证主文件300的过程。在框604,服务器计算机120接收待验证的被质疑主文件(以下称为“CMF”)。在框606,服务器计算机120对CMF被跟踪部分数据和CMF被跟踪部分元数据进行哈希,以生成包括CMF媒体数据被跟踪部分和CMF被跟踪部分元数据的没签名的哈希的第一CMF比较元素。在框608,服务器计算机120对来自CMF主区块链数据的CMF媒体数据被跟踪部分的签名哈希和签名CMF被跟踪部分元数据进行去签名,以生成包括没签名的CMF媒体数据被跟踪部分的签名哈希和签名CMF被跟踪部分元数据的第二CMF比较元素。在框610,服务器计算机120将第一CMF比较元素与第二CMF比较元素进行比较,并在框612确定这些文件是否匹配。如果第一CMF比较元素和第二CMF比较元素匹配,则服务器计算机120在框614认为CMF是原始参考文件300的真实副本。然而,如果第一CMF比较元素和第二CMF比较元素不匹配,则服务器计算机120不确认CMF的真实性(authenticity),并且服务器计算机在框616处认为CMF不真实。
要注意的是,根据本发明的各方面,假设起源块的公钥是有效的(即,表示提供它的传感器设备),并且提供公钥的捕获设备130是可信的(这包括捕获设备136的传感器自公钥被嵌入主媒体文件以来还没有被篡改)。可以以可涉及或者可不涉及应用验证原始媒体文件的各种方式来对捕获设备136的传感器是可信的进行验证。
参考图7,现在将描述根据本发明的各方面的用于验证参考文件500的过程700。在框704,服务器计算机120接收参考文件500,其将与主文件300进行比较以进行认证(authentication)(例如,参考文件内容是否代表已经根据与参考文件一起提供的指令从主文件内容修改的内容)。在框706,服务器计算机120将参考文件500的生成块哈希与主文件300的生成块哈希进行比较,在框708,服务器计算机确定所比较的生成块哈希是否匹配。如果所比较的生成块哈希不匹配,则参考文件可能不是真实的,于是计算机转移到框718。
如果所比较的生成块哈希确实匹配,则计算机转移到框710,将在参考文件区块链递增信息中提供的变更应用于主文件媒体数据被跟踪部分,并将结果进行哈希以生成第一参考文件比较元素。在框712,服务器计算机120将RF区块链数据中的签名哈希去签名以生成第二RF比较元素。注意,第一参考文件比较元素包括哈希的参考文件媒体数据被跟踪部分或根据本领域技术人员所使用的判断而选择的其他元素。注意,第二参考文件包括没签名的参考文件区块链数据或根据本领域技术人员所使用的判断而选择的其他元素。在框714,服务器计算机120确定第一参考文件比较元素和第二参考文件比较元素是否匹配。如果参考文件比较元素匹配,则服务器计算机120转移到框716,验证参考文件300的真实性。如果参考文件比较元素不匹配,则参考文件的有效性不被确认,计算机转移到框718,其中计算机不验证参考文件300的真实性,该参考文件可以被标记为不真实的。
现在参考图8,现在将描述根据本发明的各方面的验证可分发文件的方法。在框804,计算机接收可分发文件(以下称为“DF”)和经验证的真实(authentic)参考文件(以下称为“VARF”),以确定声称是VARF的真实派生或其他修改的DF是否实际上是包含VARF中包含的媒体数据的真实版本的文件。在框806,计算机将DF区块链数据的哈希与VARF区块链数据的哈希进行比较,在框808,确定所比较的区块链数据的哈希是否匹配。注意,DF遵循与VARF相同的文件格式,而不需要含有框519x和其中包括的框。如果所比较的区块链数据的哈希不匹配,则可分发文件可能不是真实的,服务器计算机120转移到框816。
如果所比较的区块链数据的哈希确实匹配,则计算机转移到框812,将DF被跟踪部分媒体文件的哈希与代表性媒体块的对应的没签名的哈希进行比较。在一个实施例中,对应的没签名的哈希是代表性媒体块x中的没签名的签名哈希516x,而代表性媒体块x是代表在区块链历史中的相关联迭代的框502中的媒体数据被跟踪部分的块。如果DF被跟踪部分媒体文件的哈希和最后DF区块链块中的哈希匹配,则DF被视为真实的。在框814,计算机验证DF的真实性。
注意,如本文所使用的术语捕获设备输出包括传感器数据。还应注意,如本文所使用的术语主文件包括遵循图3中示出的格式的媒体文件,并且其是捕获设备传感器通过先前描述的方法记录现实的直接结果。
如本文所使用的术语参考文件包括并非旨在分发且使用图5中所示的文件格式的媒体文件。此格式可包括不同格式的变更日志或无变更日志。参考媒体文件不同于主媒体文件,因为其已经经历了按照先前描述的方法的改变。
术语可分发媒体文件包括旨在分发给最终接收者的媒体文件。可分发的媒体文件使用图5中所示的格式。要注意的是,媒体数据未经历任何改变(因此,区块链仅包含生成块)的可分发媒体文件与主媒体文件基本相同。还应注意,如果认为关于文件的元数据不是必要的(并且因此其哈希不被包括在区块链中),则可分布媒体文件中的元数据可与原始媒体文件中的元数据不同。术语变更日志包括关于如何将先前版本的媒体数据修改为当前版本的媒体数据(例如包括如何递增媒体数据被跟踪部分从主文件媒体数据被跟踪部分递增)的可复制指令。
关于流程图和框图,本公开的附图中的流程图和框图示出了根据本发明的不同实施例的系统、方法和计算机程序产品的可能实现方式的架构、功能和操作。对此,流程图或框图中的每个框可表示指令的模块、段或部分,其包括用于实现指定的逻辑功能的一个或多个可执行指令。在一些备选实现中,框中标注的功能可以不按照图中标注的顺序发生。例如,取决于所涉及的功能,连续示出的两个框实际上可以基本上同时执行,或者这些框有时可以以相反的顺序执行。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作或执行专用硬件与计算机指令的组合的专用的基于硬件的系统来实现。
参考图9,系统或计算机环境1000包括以通用计算设备的形式示出的计算机示图1010。例如,方法100可以体现在程序1060中,该程序1060包括体现在计算机可读存储设备或计算机可读存储介质(例如,统称为存储器1030,更具体地,计算机可读存储介质1050)上的程序指令。这种存储器和/或计算机可读存储介质包括非易失性存储器或非易失性存储器。例如,存储器1030可包括存储介质1034(诸如RAM(随机存取存储器)或ROM(只读存储器))以及高速缓冲存储器1038。程序1060可由计算机系统1010的处理器1020执行(以执行程序步骤、代码或程序代码)。额外数据存储也可体现为包括数据1114的数据库1110。计算机系统1010和程序1060是计算机和程序的通用表示,该计算机和程序可以是用户本地的,或者作为远程服务(例如,作为基于云的服务)提供的,并且在进一步的示例中可以通过用(例如与网络、因特网、或云服务交互的)通信网络1200可访问的网站来提供。应当理解,计算机系统1010在此还一般性地表示计算机设备或包括在设备中的计算机(诸如膝上型或台式计算机等)或单独或作为数据中心的一部分的一个或多个服务器。计算机系统可包括网络适配器/接口1026和输入/输出(I/O)接口1022。I/O接口1022允许与可连接到计算机系统的外部设备1074进行数据的输入和输出。网络适配器/接口1026可以提供计算机系统与一般地示出为通信网络1200的网络之间的通信。
计算机系统1010可以在由计算机系统执行的计算机系统可执行指令(诸如程序模块)的一般上下文中描述。一般而言,程序模块可包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、逻辑、数据结构等。这些方法步骤和系统组件和技术可以体现在用于执行该方法和系统的每个步骤的任务的程序1060的模块中。在图中将模块一般地表示为程序模块1064。程序1060和程序模块1064可执行程序的特定步骤、例程、子例程、指令或代码。
本公开的方法可以在诸如移动设备的设备上本地运行,或者可以在例如服务器1100上运行服务,服务器1100可以是远程的并且可以使用通信网络1200访问。程序或可执行指令还可作为服务由提供者提供。计算机1010可以在分布式云计算环境中实践,其中任务由通过通信网络1200链接的远程处理设备执行。在分布式云计算环境中,程序模块可以位于包括存储器存储设备的本地和远程计算机系统存储介质中。
计算机1010可以包括各种计算机可读介质。这样的介质可以是可由计算机1010访问的任何可用介质(例如,计算机系统或服务器),并且可以包括易失性和非易失性介质,以及可移动和不可移动介质。计算机存储器1030可以包括易失性存储器形式的附加计算机可读介质,诸如随机存取存储器(RAM)1034和/或高速缓冲存储器1038。计算机1010还可以包括其他可移动/不可移动、易失性/非易失性计算机存储介质,在一个示例中,包括便携式计算机可读存储介质1072。在一个实施例中,可以提供计算机可读存储介质1050用于从不可移动、非易失性磁介质中读取和向其写入。计算机可读存储介质1050例如可以体现为硬盘驱动器。可以提供例如存储系统1110(例如,数据库)形式的额外存储器和数据存储,用于存储数据1114并与处理单元1020通信。数据库可存储在服务器1100上或是服务器1100的一部分。尽管未示出,可以提供用于从可移动非易失性磁盘(例如,“软盘”)读取或向其写入的磁盘驱动器,以及用于从可移动非易失性光盘(如CD-ROM、DVD-ROM或其他光学介质)读取或向其写入的光盘驱动器。在这样的情况下,磁盘驱动器各自可以通过一个或多个数据媒体接口连接到总线1014。如以下将进一步描绘和描述的,存储器1030可以包括至少一个程序产品,其可以包括被配置为执行本发明的实施例的功能的一个或多个程序模块。
例如,本公开中所描述的方法可体现在一个或多个计算机程序中(统称为程序1060),并且可存储在计算机可读存储介质1050中的存储器1030中。程序1060可以包括程序模块1064。程序模块1064通常可以执行如在此所描述的本发明的实施例的功能和/或方法。一个或多个程序1060存储在存储器1030中并且可由处理单元1020执行。举例来讲,存储器1030可以将操作系统1052、一个或多个应用程序1054、其他程序模块、和程序数据存储在计算机可读存储介质1050上。应当理解,存储在计算机可读存储介质1050上的程序1060和操作系统1052和应用程序1054可由处理单元1020以相似的方式执行。还应当理解,应用程序1054和程序1060被一般地示出,并且可以包括本公开中所讨论的一个或多个应用和程序的全部或一部分,反之亦然,即,应用程序1054和程序1060可以是本公开中所讨论的一个或多个应用或程序的全部或一部分。还应理解的是,控制系统70(在图8中示出)可包括计算机系统1010的全部或部分及其组件,和/或控制系统可作为远程计算机系统与计算机系统1010的全部或部分及其组件进行通信,以实现本公开中描述的控制系统功能。还应理解的是,图1中所示的一个或多个通信设备110类似可包括计算机系统1010全部或部分及其组件,和/或通信设备可作为远程计算机系统与计算机系统1010的全部或部分及其组件通信,以实现本公开中所描述的计算机功能。
一个或多个程序可以被存储在一个或多个计算机可读存储介质中,使得在计算机可读存储介质中体现和/或编码程序。在一个示例中,所存储的程序可以包括用于由处理器或具有处理器的计算机系统执行以执行方法或使计算机系统执行一个或多个功能的程序指令。
计算机1010还可以与诸如键盘、定点设备、显示器1080等的一个或多个外部设备1074和/或使得计算机1010能够与一个或多个其他计算设备通信的任何设备(例如,网卡、调制解调器等)进行通信。这样的通信可经由输入/输出(I/O)接口1022发生。此外,计算机1010可以经由网络适配器/接口1026与诸如局域网(LAN)、通用广域网(WAN)和/或公共网络(例如,因特网)的一个或多个网络1200通信。如图所示,网络适配器1026通过总线1014与计算机1010的其他组件通信。应当理解,虽然未示出,但是其他硬件和/或软件组件可以与计算机1010结合使用。示例包括但不限于:微代码、设备驱动器1024、冗余处理单元、外部磁盘驱动器阵列、RAID系统、磁带驱动器和数据归档存储系统等。
应当理解,计算机或在计算机1010上运行的程序可以经由一个或多个通信网络(体现为通信网络1200)与体现为服务器1100的服务器通信。通信网络1200可包括传输介质和网络链路,其包括例如无线、有线或光纤以及路由器、防火墙、交换机和网关计算机。通信网络可包括连接,诸如有线、无线通信链路或光纤电缆。通信网络可表示使用诸如轻量目录访问协议(LDAP)、传输控制协议/因特网协议(TCP/IP)、超文本传输协议(HTTP)、无线应用协议(WAP)等各种协议彼此通信的网络和网关(诸如因特网)的全球集合。网络还可以包括许多不同类型的网络,例如内联网、局域网(LAN)或广域网(WAN)。
在一个示例中,计算机可使用可使用因特网来访问Web(万维网)上的网站的网络。在一个实施例中,包括移动设备的计算机1010可以使用可包括因特网的通信系统或网络1200、或例如蜂窝网络的公共交换电话网络(PSTN)。PSTN可以包括电话线、光纤电缆、传输链路、蜂窝网络和通信卫星。因特网可以促进多种搜索和文本收发技术,例如,使用蜂窝电话或膝上型计算机经由文本消息(SMS)、多媒体消息服务(MMS)(与SMS相关)、电子邮件或网络浏览器向搜索引擎发送查询。搜索引擎可以检索搜索结果,即,指向对应于查询的网站、文档或其他可下载数据的链接,并且类似地,经由设备将搜索结果以例如搜索结果的网页的形式提供给用户。
本发明可以是任何可能的技术细节集成水平的系统、方法、和/或计算机程序产品。计算机程序产品可包括其上具有用于使处理器执行本发明的各方面的计算机可读程序指令的计算机可读存储介质。
计算机可读存储介质可以是可保留和存储供指令执行设备使用的指令的有形设备。计算机可读存储介质可以是,例如但不限于,电子存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备、或者上述的任意合适的组合。计算机可读存储介质的更具体示例的非穷尽列表包括以下各项:便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式紧凑盘只读存储器(CD-ROM)、数字通用盘(DVD)、记忆棒、软盘、诸如穿孔卡或具有记录在其上的指令的槽中的凸出结构之类的机械编码设备、以及上述各项的任何合适的组合。如本文所使用的计算机可读存储介质不应被解释为瞬态信号本身,例如无线电波或其他自由传播的电磁波、通过波导或其他传输介质传播的电磁波(例如,穿过光纤电缆的光脉冲)或通过导线发射的电信号。
本文所述的计算机可读程序指令,可以从计算机可读存储介质下载到相应的计算/处理设备,或者通过网络(例如,互联网、局域网、广域网和/或无线网络)下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光传输纤维、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配器卡或网络接口接收来自网络的计算机可读程序指令,并转发计算机可读程序指令以存储在相应计算/处理设备内的计算机可读存储介质中。
用于执行本发明的操作的计算机可读程序指令可以是汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或以一种或多种编程语言的任何组合编写的源代码或目标代码,这些编程语言包括面向对象的编程语言(如Java、Smalltalk、C++等)和常规的过程编程语言(如“C”编程语言或类似的编程语言)。计算机可读程序指令可以完全地在用户计算机上执行、部分在用户计算机上执行、作为独立软件包执行、部分在用户计算机上部分在远程计算机上执行或者完全在远程计算机或服务器上执行。在后一种情况下,远程计算机可通过任何类型的网络(包括局域网(LAN)或广域网(WAN))连接至用户计算机,或者可连接至外部计算机(例如,使用互联网服务提供商通过互联网)。在一些实施例中,包括例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA)的电子电路可以通过利用计算机可读程序指令的状态信息来使电子电路个性化来执行计算机可读程序指令,以便执行本发明的各方面。
本文参照根据本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图来描述本发明的各方面。应当理解,流程图和/或框图的每个框以及流程图和/或框图中各框的组合,都可以通过计算机可读程序指令实现。
这些计算机可读程序指令可被提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器以产生机器,使得经由计算机或其他可编程数据处理装置的处理器执行的指令创建用于实现在流程图和/或框图的或多个框中指定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置、和/或其他设备以特定方式工作,从而,其中存储有指令的计算机可读存储介质包括包含实现流程图和/或框图的框中规定的功能/动作的方面的指令的制造品。
也可将计算机可读程序指令加载到计算机、其他可编程数据处理装置、或其他设备上,使得在计算机、其他可编程装置或其他设备上执行一系列操作步骤,以产生计算机实现的处理,使得在计算机、其他可编程装置或其他设备上执行的指令实现流程图和/或框图中的或多个方框中规定的功能/动作。
附图中的流程图和框图示出了根据本发明的各种实施例的系统、方法和计算机程序产品的可能实现方式的架构、功能和操作。对此,流程图或框图中的每个框可表示指令的模块、段或部分,其包括用于实现指定的逻辑功能的一个或多个可执行指令。在一些备选实现中,框中标注的功能可以不按照图中标注的顺序发生。例如,取决于所涉及的功能,连续示出的两个框实际上可以基本上同时执行,或者这些框有时可以以相反的顺序执行。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作或执行专用硬件与计算机指令的组合的专用的基于硬件的系统来实现。
应当理解,虽然本公开包括关于云计算的详细描述,但是本文给出的教导的实现不限于云计算环境。相反,本发明的实施例能够结合现在已知的或以后开发的任何其他类型的计算环境来实现。
云计算是服务交付的模型,用于使得能够方便地、按需地网络访问可配置计算资源(例如,网络、网络带宽、服务器、处理、存储器、存储、应用、虚拟机和服务)的共享池,所述可配置计算资源可以以最小的管理努力或与所述服务的提供者的交互来快速供应和释放。该云模型可以包括至少五个特性、至少三个服务模型和至少四个部署模型。
特性如下:
按需自助服务:云消费者可以单方面地根据需要自动地提供计算能力,诸如服务器时间和网络存储,而不需要与服务的提供者的人类交互。
广泛的网络接入:能力可通过网络获得并且通过标准机制接入,该标准机制促进异构瘦客户机平台或厚客户机平台(例如,移动电话、膝上型计算机和PDA)的使用。
资源池化:提供者的计算资源被池化以使用多租户模型来服务于多个消费者,其中不同的物理和虚拟资源根据需要动态地指派和重新指派。存在位置独立性的感觉,因为消费者通常不具有对所提供的资源的确切位置的控制或了解,但可能能够以较高抽象级别(例如,国家、州或数据中心)指定位置。
快速弹性:能够快速和弹性地提供能力,在一些情况下自动地快速缩小和快速释放以快速放大。对于消费者而言,可用于供应的能力通常显得不受限制并且可以在任何时间以任何数量购买。
测量的服务:云系统通过在适合于服务类型(例如,存储、处理、带宽和活动用户账户)的某个抽象级别处利用计量能力来自动控制和优化资源使用。可以监视、控制和报告资源使用,为所利用的服务的提供者和消费者提供透明度。
服务模型如下:
软件即服务(SaaS):提供给消费者的能力是使用在云基础设施上运行的提供者的应用。可通过诸如web浏览器(例如,基于web的电子邮件)之类的瘦客户端接口从不同客户端设备访问应用。消费者不管理或控制包括网络、服务器、操作系统、存储或甚至单独的应用能力的底层云基础设施,可能的例外是有限的用户特定应用配置设置。
平台即服务(PaaS):提供给消费者的能力是将消费者创建的或获取的使用由提供商支持的编程语言和工具创建的应用部署到云基础设施上。消费者不管理或控制包括网络、服务器、操作系统或存储的底层云基础设施,但是对所部署的应用和可能的应用托管环境配置具有控制。
基础设施即服务(IaaS):提供给消费者的能力是提供处理、存储、网络和消费者能够部署和运行任意软件的其他基本计算资源,所述软件可以包括操作系统和应用。消费者不管理或控制底层云基础设施,而是具有对操作系统、存储、所部署的应用的控制以及对所选联网组件(例如,主机防火墙)的可能受限的控制。
部署模型如下:
私有云:云基础架构仅为组织运作。它可以由组织或第三方管理,并且可以存在于场所内或场所外。
社区云:云基础架构被若干组织共享并支持共享了关注(例如,任务、安全要求、策略、和合规性考虑)的特定社区。它可以由组织或第三方管理,并且可以存在于场所内或场所外。
公共云:使云基础架构对公众或大型行业组可用,并且由出售云服务的组织拥有。
混合云:云基础架构是两个或更多个云(私有、社区或公共)的组合,这些云保持唯一实体但通过使数据和应用能够移植的标准化或专有技术(例如,云突发以用于云之间的负载平衡)绑定在一起。
云计算环境是面向服务的,集中于无状态、低耦合、模块化和语义互操作性。云计算的核心是包括互连节点网络的基础设施。
现在参见图10,描述了说明性云计算环境2050。如图所示,云计算环境2050包括云消费者使用的本地计算设备可以与其通信的一个或多个云计算节点10,本地计算设备诸如例如个人数字助理(PDA)或蜂窝电话2054A、台式计算机2054B、膝上型计算机2054C和/或汽车计算机系统2054N。节点2010可彼此通信。它们可以物理地或虚拟地分组(未示出)在一个或多个网络中,诸如如上所述的私有云、社区云、公共云或混合云、或其组合。这允许云计算环境50提供基础设施、平台和/或软件作为云消费者不需要为其维护本地计算设备上的资源的服务。应当理解,图10中所示的计算装置2054A-N的类型仅旨在是说明性的,并且计算节点2010和云计算环境2050可通过任何类型的网络和/或网络可寻址连接(例如,使用网络浏览器)与任何类型的计算机化装置通信。
现在参见图11,示出了由云计算环境2050(图10)提供的一组功能抽象层。应提前理解,图11中所示的组件、层和功能仅旨在是说明性的,本发明的实施例不限于此。如图所示,提供以下层和对应功能:
硬件和软件层2060包括硬件和软件组件。硬件组件的示例包括:大型机2061;基于RISC(精简指令集计算机)架构的服务器2062;服务器2063;刀片服务器2064;存储设备2065;以及网络和联网组件2066。在一些实施例中,软件组件包括网络应用服务器软件2067和数据库软件2068。
虚拟化层2070提供抽象层,从该抽象层可以提供虚拟实体的以下示例:虚拟服务器2071;虚拟存储器2072;虚拟网络2073,包括虚拟专用网络;虚拟应用和操作系统2074;以及虚拟客户端2075。
在一个示例中,管理层2080可以提供以下描述的功能。资源供应2081提供用于在云计算环境内执行任务的计算资源和其他资源的动态采购。计量和定价2082在云计算环境内利用资源时提供成本追踪,并为这些资源的消费开账单或发票。在一个示例中,这些资源可以包括应用软件许可证。安全性为云消费者和任务提供身份验证,以及为数据和其他资源提供保护。用户门户2083为消费者和系统管理员提供对云计算环境的访问。服务水平管理2084提供云计算资源分配和管理,使得满足所需的服务水平。服务水平协议(SLA)规划和履行2085提供根据SLA预期未来需求的云计算资源的预安排和采购。
工作负载层2090提供可以利用云计算环境的功能的示例。可以从该层提供的工作负荷和功能的示例包括:地图和导航2091;软件开发和生命周期管理2092;虚拟教室教学交付2093;数据分析处理2094;交易处理2095;存储和验证对捕获的传感器设备媒体数据所做的变更2096。
已经出于说明的目的呈现了本发明的各个实施例的描述,但这些描述并非旨在是详尽的或限于所披露的实施例。同样,本文描述的本公开的实施方式的特征或功能的实例(无论是在特定实施方式的描述中使用的,还是作为实例列出的)并非旨在限制本文描述的本公开的实施方式,或者将本公开限制在本文描述的实例。在不脱离所描述的实施例的范围和精神的情况下,许多修改和变化对本领域普通技术人员将是显而易见的。这里使用的术语被选择来最好地解释实施例的原理、实际应用或对在市场中找到的技术的技术改进,或者使得本领域普通技术人员能够理解本文公开的实施例。

Claims (20)

1.一种计算机实现方法,包括:
由计算机标识捕获设备输出,所述输出表示所记录事件的某方面;
由计算机加密处理所述捕获设备输出以产生可验证的主文件,所述主文件包括至少一个被跟踪部分;
其中所述可验证的主文件包括来自所述捕获设备输出的主文件媒体数据被跟踪部分、主元数据和主文件区块链数据;以及
其中所述主文件区块链数据包括主文件块历史部分、主文件签名钥部分以及所述主文件媒体数据被跟踪部分的签名数据哈希。
2.根据权利要求1所述的计算机实现的方法,其中,所述加密处理包括:
由计算机将所述媒体数据划分成对应于所述被跟踪部分的至少一个被跟踪数据子集;
由计算机生成所述至少一个被跟踪数据子集的哈希;
由计算机生成所述至少一个被跟踪数据子集的所述哈希的元数据;
由计算机将所述哈希和所述哈希的所述元数据组合成至少一个被跟踪数据包;以及
由计算机对所述至少一个数据包进行加密签名。
3.根据权利要求1所述的计算机实现的方法,进一步包括:
由计算机修改所述主文件媒体数据被跟踪部分以产生参考文件媒体数据被跟踪部分;
由计算机准备包括所述参考文件媒体数据被跟踪部分、参考文件元数据和参考文件区块链数据的参考文件;以及
其中,所述参考文件区块链数据包括所述主文件区块链数据和区块链递增信息,
其中,所述区块链递增信息包括所述主文件区块链数据的哈希、参考文件区块链元数据、被跟踪部分元数据的签名哈希、递增来自所述主文件媒体数据被跟踪部分的媒体数据被跟踪部分的变更日志的签名哈希、以及所述参考文件媒体数据被跟踪部分的签名哈希。
4.根据权利要求3所述的计算机实现的方法,其中,所述参考文件进一步包括指示由计算机在所述修改的被跟踪部分媒体与所述主文件媒体数据被跟踪部分之间做出的可复制变更的指令。
5.根据权利要求1所述的计算机实现的方法,进一步包括:
由计算机接收被标识为所述可验证的主文件的副本的被质疑主文件;
由计算机接收验证被质疑主文件的请求;以及
由计算机执行主文件验证例程来评估所述被质疑主文件的有效性;
其中,所述主文件验证例程包括:
由计算机对所述被质疑主文件的媒体数据被跟踪部分进行哈希以生成哈希的被质疑主文件媒体数据被跟踪部分;
由计算机对所述被质疑主文件的所述媒体数据被跟踪部分的签名哈希部分进行去签名以生成没签名的被质疑主文件媒体数据被跟踪部分;以及
由计算机确定所述哈希的被质疑主文件媒体数据被跟踪部分与所述没签名的被质疑主文件媒体数据被跟踪部分是否匹配。
6.根据权利要求3所述的计算机实现的方法,进一步包括:
由计算机接收被标识为所述主文件的修改版本的参考文件;
由计算机接收确定所述参考文件是否是所述主文件的修改版本的请求;以及
由计算机执行参考文件验证例程;
其中,所述参考文件验证例程包括:
由计算机确定所述主文件分区块链数据的所述哈希与所述参考文件的分区块链数据的哈希是否匹配;以及
由计算机将由所述区块链递增信息指示的变更应用于所述参考文件中的媒体数据被跟踪部分以生成哈希的参考文件媒体数据被跟踪部分,且对参考文件区块链数据进行去签名以生成没签名的参考文件区块链数据;以及
由计算机确定所述哈希的参考文件媒体数据被跟踪部分与所述没签名的参考文件区块链数据是否匹配。
7.根据权利要求6所述的计算机实施的方法,进一步包括:
由计算机接收被标识为所述主文件的真实修改的参考文件;
由计算机接收可分发文件;
由计算机接收确定所述可分发文件是否是所述被标识为所述主文件的真实修改的参考文件的真实修改的请求;以及
由计算机执行可分发文件验证例程;
其中,所述可分发文件验证例程包括确定可分发文件区块链数据的哈希是否与所述参考文件区块链数据的哈希匹配以及可分发文件媒体数据被跟踪部分的哈希是否与代表性媒体块的对应没签名的哈希匹配。
8.一种系统,包括:
计算机系统,包括具有随其体现的程序指令的计算机可读存储介质,所述程序指令可由计算机执行以使计算机:
标识捕获设备输出,所述输出表示所记录事件的某方面;
加密处理所述捕获设备输出以产生可验证的主文件,所述主文件包括至少一个被跟踪部分;
其中所述可验证的主文件包括来自所述捕获设备输出的主文件媒体数据被跟踪部分、主元数据和主文件区块链数据;以及
其中所述主文件区块链数据包括主文件块历史部分、主文件签名钥部分、以及所述主文件媒体数据被跟踪部分的签名哈希。
9.根据权利要求8所述的系统,其中,所述加密处理包括进一步使计算机:
将所述媒体数据划分成对应于所述被跟踪部分的至少一个被跟踪数据子集;
生成所述至少一个被跟踪数据子集的哈希;
生成所述至少一个被跟踪数据子集的所述哈希的元数据;
将所述哈希和所述哈希的所述元数据组合成至少一个被跟踪数据包;以及
对所述至少一个数据包进行加密签名。
10.根据权利要求8所述的系统,进一步使计算机:
修改所述主文件媒体数据被跟踪部分以产生参考文件媒体数据被跟踪部分;
准备包括所述参考文件媒体数据被跟踪部分、参考文件元数据和参考文件区块链数据的参考文件;
其中,所述参考文件区块链数据包括所述主文件区块链数据和区块链递增信息,
其中,所述区块链递增信息包括所述主文件区块链数据的哈希、参考文件区块链元数据、被跟踪部分元数据的签名哈希、递增来自所述主文件媒体数据被跟踪部分的媒体数据被跟踪部分的变更日志的签名哈希、以及所述参考文件媒体数据被跟踪部分的签名哈希。
11.根据权利要求10所述的系统,其中,所述参考文件进一步包括指示由计算机在所述修改的媒体数据被跟踪部分与所述主文件媒体数据被跟踪部分之间做出的可复制变更的指令。
12.根据权利要求8所述的系统,进一步使计算机:
接收被标识为所述可验证的主文件的副本的被质疑主文件;
接收验证所述被质疑主文件的请求;以及
执行主文件验证例程来评估所述被质疑主文件的有效性;
其中所述主文件验证例程进一步使计算机:
对所述被质疑主文件的媒体数据被跟踪部分进行哈希以生成哈希的被质疑主文件媒体数据被跟踪部分;
对所述被质疑主文件的所述媒体数据被跟踪部分的被签名哈希部分进行去签名以生成没签名的被质疑主文件媒体数据被跟踪部分;以及
确定所述哈希的被质疑主文件媒体数据被跟踪部分与所述没签名的被质疑主文件媒体数据被跟踪部分是否匹配。
13.根据权利要求10所述的系统,进一步包括:
接收被标识为所述主文件的修改版本的参考文件;
接收确定所述参考文件是否是所述主文件的修改版本的请求;以及
执行参考文件验证例程;
其中,所述参考文件验证例程进一步使计算机:
确定所述主文件分区块链数据的所述哈希与所述参考文件的分区块链数据的哈希是否匹配;以及
将由所述区块链递增信息指示的变更应用于所述参考文件中的媒体数据被跟踪部分以生成哈希的参考文件媒体数据被跟踪部分,且对参考文件区块链数据进行去签名以生成没签名的参考文件区块链数据;以及
确定所述哈希的参考文件媒体数据被跟踪部分与所述没签名的参考文件区块链数据是否匹配。
14.根据权利要求13所述的系统,进一步包括:
接收被标识为所述主文件的真实修改的参考文件;
接收可分发文件;
接收确定所述可分发文件是否是被标识为所述主文件的真实修改的所述参考文件的真实修改的请求;以及
执行可分发文件验证例程;
其中,所述可分发文件验证例程进一步使计算机确定可分发文件区块链数据的哈希是否与所述参考文件区块链数据的哈希匹配以及可分发文件媒体数据被跟踪部分的哈希是否与代表性媒体块的对应没签名的哈希匹配。
15.一种计算机程序产品,包括具有随其体现的程序指令的计算机可读存储介质,所述程序指令可由计算机执行以使计算机:
用计算机标识捕获设备输出,所述输出表示所记录事件的某方面;
用计算机加密处理所述捕获设备输出以产生可验证的主文件,所述主文件包括至少一个被跟踪部分;
其中所述可验证的主文件包括来自所述捕获设备输出的主文件媒体数据被跟踪部分、主元数据和主文件区块链数据;以及
其中所述主文件区块链数据包括主文件块历史部分、主文件签名钥部分以及所述主文件媒体数据被跟踪部分的签名数据哈希。
16.根据权利要求15所述的计算机程序产品,其中,所述加密处理包括进一步使计算机:
由计算机用计算机将所述媒体数据划分成对应于所述被跟踪部分的至少一个被跟踪数据子集;
用计算机生成所述至少一个被跟踪数据子集的哈希;
用计算机生成所述至少一个被跟踪数据子集的所述哈希的元数据;
用计算机将所述哈希和所述哈希的所述元数据组合成至少一个被跟踪数据包;以及
用计算机对所述至少一个数据包进行加密签名。
17.根据权利要求15所述的计算机程序产品,进一步使得计算机:
用计算机修改所述主文件媒体数据被跟踪部分以产生参考文件媒体数据被跟踪部分;
用计算机准备包括所述参考文件媒体数据被跟踪部分、参考文件元数据和参考文件区块链数据的参考文件;以及
其中,所述参考文件区块链数据包括所述主文件区块链数据和区块链递增信息,
其中,所述区块链递增信息包括所述主文件区块链数据的哈希、参考文件区块链元数据、被跟踪部分元数据的签名哈希、递增来自所述主文件媒体数据被跟踪部分的媒体数据被跟踪部分的变更日志的签名哈希、以及所述参考文件媒体数据被跟踪部分的签名哈希。
18.根据权利要求15所述的计算机程序产品,进一步使得计算机:
用计算机接收被标识为所述可验证的主文件的副本的被质疑主文件;
用计算机接收验证所述被质疑主文件的请求;以及
执行主文件验证例程来评估所述被质疑主文件的有效性;
其中,所述主文件验证例程进一步使计算机:
用计算机对所述被质疑主文件的媒体数据被跟踪部分进行哈希以生成哈希的被质疑主文件媒体数据被跟踪部分;
用计算机对所述被质疑主文件的所述媒体数据被跟踪部分的签名哈希部分进行去签名以生成没签名的被质疑主文件媒体数据被跟踪部分;以及
用计算机确定所述哈希的被质疑主文件媒体数据被跟踪部分与所述没签名的被质疑主文件媒体数据被跟踪部分是否匹配。
19.根据权利要求17所述的计算机程序产品,进一步包括:
用计算机接收被标识为所述主文件的修改版本的参考文件;
用计算机接收请求以确定所述参考文件是否是所述主文件的修改版本;以及
用计算机执行参考文件验证例程;
其中,所述参考文件验证例程进一步使计算机:
确定所述主文件分区块链数据的所述哈希与所述参考文件的分区块链数据的哈希是否匹配;以及
用计算机将由所述区块链递增信息指示的变更应用于所述参考文件中的媒体数据被跟踪部分以生成哈希的参考文件媒体数据被跟踪部分,且对参考文件区块链数据进行去签名以生成没签名的参考文件区块链数据;以及
用计算机来确定所述哈希的参考文件媒体数据被跟踪部分与所述没签名的参考文件区块链数据是否匹配。
20.根据权利要求19所述的计算机程序产品,进一步包括:
用计算机接收被标识为所述主文件的真实修改的参考文件;
用计算机接收可分发文件;
用计算机接收确定所述可分发文件是否是所述被标识为所述主文件的真实修改的参考文件的真实修改的请求;以及
用计算机执行可分发文件验证例程;
其中所述可分发文件验证例程进一步使计算机确定可分发文件区块链数据的哈希是否与所述参考文件区块链数据的哈希匹配以及可分发文件媒体数据被跟踪部分的哈希是否与代表性媒体块的对应没签名的哈希匹配。
CN202180060404.8A 2020-07-30 2021-06-15 用计算机加密处理来验证所接收的传感器数据的被跟踪部分 Pending CN116249982A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US16/942,785 US11323264B2 (en) 2020-07-30 2020-07-30 Validating tracked portions of received sensor data using computer cryptographic processing
US16/942,785 2020-07-30
PCT/CN2021/100105 WO2022022126A1 (en) 2020-07-30 2021-06-15 Validating tracked portions of received sensor data using computer cryptographic processing

Publications (1)

Publication Number Publication Date
CN116249982A true CN116249982A (zh) 2023-06-09

Family

ID=80003572

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202180060404.8A Pending CN116249982A (zh) 2020-07-30 2021-06-15 用计算机加密处理来验证所接收的传感器数据的被跟踪部分

Country Status (6)

Country Link
US (1) US11323264B2 (zh)
JP (1) JP2023535633A (zh)
CN (1) CN116249982A (zh)
DE (1) DE112021004008T5 (zh)
GB (1) GB2612551A (zh)
WO (1) WO2022022126A1 (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115242415A (zh) * 2021-04-23 2022-10-25 伊姆西Ip控股有限责任公司 边缘交换机处实现的数据加密方法、电子设备和程序产品
US11818207B1 (en) * 2022-07-08 2023-11-14 T-Mobile Innovations Llc Methods and systems for ledger based content delivery using a mobile edge computing (MEC) server
US11792259B1 (en) 2022-09-28 2023-10-17 T-Mobile Innovations Llc Methods and systems for distributing rendering across devices in a customer premise

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7770013B2 (en) 1995-07-27 2010-08-03 Digimarc Corporation Digital authentication with digital and analog documents
DE19615301A1 (de) 1996-04-18 1997-10-23 Deutsche Telekom Ag Verfahren und Vorrichtung zum Aufzeichnen/Verarbeiten von authentischen Bild- und/oder Tondaten
US6199049B1 (en) 1998-09-30 2001-03-06 International Business Machines Corporation Verifiable electronic journal for a point of sale device and methods for using the same
US6628412B1 (en) 1999-08-05 2003-09-30 Hewlett-Packard Development Company, L.P. Methods of document management and automated document tracking, and a document management system
US7043473B1 (en) 2000-11-22 2006-05-09 Widevine Technologies, Inc. Media tracking system and method
US7262764B2 (en) 2002-10-31 2007-08-28 Microsoft Corporation Universal computing device for surface applications
DE10358144A1 (de) 2003-12-10 2005-08-04 Francotyp-Postalia Ag & Co. Kg Verfahren und Anordnung zum Authentifizieren von Daten
WO2007014325A2 (en) 2005-07-27 2007-02-01 Doug Carson & Associates, Inc. Verifying provenance data associated with digital content
DE102007041694A1 (de) 2007-09-03 2009-03-05 Siemens Ag Verfahren zur Sicherstellung der Authentizität von digitalen Bild- und/oder Tonaufnahmen, digitales Aufzeichnungsgerät und Steuerungsprogramm
US9087325B2 (en) 2007-09-11 2015-07-21 Yahoo! Inc. Social network site including trust-based Wiki functionality
US9952934B2 (en) 2015-01-20 2018-04-24 Commvault Systems, Inc. Synchronizing selected portions of data in a storage management system
US10402792B2 (en) 2015-08-13 2019-09-03 The Toronto-Dominion Bank Systems and method for tracking enterprise events using hybrid public-private blockchain ledgers
US11494761B2 (en) 2015-11-06 2022-11-08 Cable Television Laboratories, Inc. Systems and methods for digital asset security ecosystems
US9679276B1 (en) 2016-01-26 2017-06-13 Stampery, Inc. Systems and methods for using a block chain to certify the existence, integrity, and/or ownership of a file or communication
US20170373859A1 (en) 2016-06-23 2017-12-28 Praxik, Llc Cryptographic Signature System and Related Systems and Methods
CN106295401A (zh) 2016-08-13 2017-01-04 深圳市樊溪电子有限公司 一种用于区块链的只读安全文件存储系统及其方法
WO2018195364A1 (en) * 2017-04-19 2018-10-25 Baton Systems, Inc. Time stamping systems and methods
US11206133B2 (en) * 2017-12-08 2021-12-21 Ping Identity Corporation Methods and systems for recovering data using dynamic passwords
WO2019227074A1 (en) 2018-05-24 2019-11-28 Imagerights International, Inc. Systems, devices, and methods for tracking creation and modification of digital records
US10560261B1 (en) 2018-05-24 2020-02-11 DeepTruth, LLC Systems and techniques for capture of trusted media data
WO2019236470A1 (en) 2018-06-08 2019-12-12 The Trustees Of Columbia University In The City Of New York Blockchain-embedded secure digital camera system to verify audiovisual authenticity
US10361866B1 (en) 2018-08-13 2019-07-23 Truepic Inc. Proof of image authentication on a blockchain
US11298017B2 (en) * 2019-06-27 2022-04-12 Bao Tran Medical analysis system
US11637687B2 (en) * 2019-12-20 2023-04-25 Intel Corporation Methods and apparatus to determine provenance for data supply chains

Also Published As

Publication number Publication date
US11323264B2 (en) 2022-05-03
GB202302597D0 (en) 2023-04-12
GB2612551A (en) 2023-05-03
WO2022022126A1 (en) 2022-02-03
DE112021004008T5 (de) 2023-06-01
US20220038288A1 (en) 2022-02-03
JP2023535633A (ja) 2023-08-18

Similar Documents

Publication Publication Date Title
US11288234B2 (en) Placement of data fragments generated by an erasure code in distributed computational devices based on a deduplication factor
US11496291B2 (en) Validating received sensor data using computer cryptographic processing
US9824233B2 (en) Posixly secure open and access files by inode number
WO2022022126A1 (en) Validating tracked portions of received sensor data using computer cryptographic processing
CN111201763B (zh) 基于文件系统内容的安全性
US10623470B2 (en) Optimizing internet data transfers using an intelligent router agent
US10834289B2 (en) Detection of steganography on the perimeter
US10536276B2 (en) Associating identical fields encrypted with different keys
US11159620B2 (en) Blockchain based data transformation
US11573929B2 (en) Deduplication of encrypted data using multiple keys
CN114584290B (zh) 用于后量子证书绑定到传统证书的方法和系统
US11917072B2 (en) Implementing opportunistic authentication of encrypted data
US11943360B2 (en) Generative cryptogram for blockchain data management
US11601257B2 (en) Creating deterministic ciphertext using wide-block encryption
WO2021033072A1 (en) Opaque encryption for data deduplication
WO2021198750A1 (en) System and method to manage information and documents on a native blockchain network system including permissioned blockchain, storage, sharing, organisation, porting and various applications
US11494392B2 (en) Tracking entity activity using computer generation of values for blockchain network entries
US11755782B2 (en) Validating primary subsets of received sensor data using computer cryptographic processing
US11165760B2 (en) Increasing security of objects in cloud environments by using a two-part encryption scheme
CN115485677A (zh) 在分布式数据存储环境中的安全数据复制
US10540379B2 (en) Searching base encoded text
US11928131B2 (en) Synchronized activation of datasets in multicloud computing environment
US12008363B1 (en) Delivering portions of source code based on a stacked-layer framework
US11177945B1 (en) Controlling access to encrypted data
CN116158055B (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