CN101443774A - 优化的完整性验证过程 - Google Patents

优化的完整性验证过程 Download PDF

Info

Publication number
CN101443774A
CN101443774A CNA2007800176740A CN200780017674A CN101443774A CN 101443774 A CN101443774 A CN 101443774A CN A2007800176740 A CNA2007800176740 A CN A2007800176740A CN 200780017674 A CN200780017674 A CN 200780017674A CN 101443774 A CN101443774 A CN 101443774A
Authority
CN
China
Prior art keywords
certain content
hash
equipment
content
digital signature
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CNA2007800176740A
Other languages
English (en)
Other versions
CN101443774B (zh
Inventor
A·J·法鲁吉亚
J-F·林德奥
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.)
Apple Inc
Original Assignee
Apple Computer Inc
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 Apple Computer Inc filed Critical Apple Computer Inc
Publication of CN101443774A publication Critical patent/CN101443774A/zh
Application granted granted Critical
Publication of CN101443774B publication Critical patent/CN101443774B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

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/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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures
    • G06F16/2255Hash tables
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Storage Device Security (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Testing, Inspecting, Measuring Of Stereoscopic Televisions And Televisions (AREA)
  • Testing And Monitoring For Control Systems (AREA)

Abstract

本发明的某些实施例提供一种验证数字内容完整性的方法。在数字内容的来源处,所述方法通过将散列函数应用于数字内容的特定部分,来为数字内容生成签名,其中特定部分少于全部数字内容。所述方法向设备提供签名和数字内容。在设备处,所述方法将散列函数应用于数字内容的特定部分,以验证所提供的签名,并由此验证所提供的数字内容的完整性。

Description

优化的完整性验证过程
技术领域
本发明涉及优化的完整性验证过程。
背景技术
如今,对于很多企业而言,保护通过网络在计算机之间传输的数字内容非常重要。企业试图通过实施某些形式的数字权益管理(DRM)过程来进行这种保护。DRM过程经常涉及对内容进行加密(例如将内容的二进制形式进行加密),从而将使用限制到已被授权使用该内容的那些人。
密码术是保护数字内容——诸如正在网络上传送的数据——的传统方法。在其典型应用中,密码术保护在两个相互信任方之间的数字内容,使其不会由于对传送中的数据的攻击而被窃取。但是,对于现在的许多数字文件传输应用(例如对于音频或视频内容的传输),情况已经不同,因为接收内容的一方(即“接收方”)可能试图克服由提供内容的一方(即“发布方”)应用于该内容的DRM加密。此外,随着网络渗透攻击的扩散,第三方可能获得对接收方计算机的访问,并从而访问被保护的内容。
除了加密和解密之外,数字内容可能需要其他层次的保护。鉴别是另一种重要的保护层次。在接收数字内容时,接收者经常需要“鉴别”数字内容的来源。换而言之,接收者需要通过确保内容来自经鉴别的来源并且在其到达接收者的途中没有被篡改,来验证数字内容的完整性。
至今,已经提出了几种用于鉴别数字内容的完整性的过程。这些过程通常将散列函数应用于内容的明文版本,以便生成散列摘要(也被称为散列或摘要),然后散列摘要被用于为内容生成签名。所有散列函数的基本性质是,如果两个散列不同,则这两个输入在某些方面不同。当对于不同的输入,两个散列相同,则称为散列冲突。密码***中重要的是,散列函数具有非常低的冲突概率。
传统的完整性验证过程是计算密集型的,特别是对于具有有限计算资源的便携式设备而言。因此,在这个领域中需要较低计算密集度的完整性验证过程。理想地,这样的过程将使便携式设备能够快速验证所接收到的数字内容的完整性。
发明内容
本发明的某些实施例提供用于验证完整性数字内容的方法。在数字内容的来源处,所述方法通过将散列函数应用于数字内容的特定部分来为数字内容生成签名,其中所述特定部分比整个数字内容少。所述方法向设备提供签名和数字内容。在设备处,所述方法将散列函数应用于数字内容的特定部分,以验证所提供的签名的完整性,并由此验证所提供的数字内容的完整性。
数字内容的特定部分包括数字内容的多个不同段。在某些实施例中,所述方法配置来源和设备,以选择数字内容的预定的一组段作为数字内容的特定部分。在某些实施例中,设备包括只读存储器,其(1)存储用于标识特定部分的代码,并且(2)存储散列函数。
在某些实施例中,所述方法通过(1)将散列函数应用于所述特定部分以生成散列摘要,以及然后(2)根据散列摘要生成签名,从而在来源处为数字内容生成签名。所述方法可以在非对称或对称完整性验证过程中被实现。例如,在某些实施例中,所述方法在设备处通过以下步骤来应用散列函数:(1)将散列函数应用于所述特定部分以生成散列摘要,以及(2)向签名验证过程提供摘要和所接收到的签名,其中签名验证过程基于所提供的摘要来确定签名的可靠性。可替换地,在某些实施例中,所述方法在设备处通过以下步骤来应用散列函数:(1)基于散列摘要生成第二签名,以及(2)比较第一和第二签名,以确定所提供的数字内容的完整性。
在不同实施例中,数字内容的来源可以是不同的。例如,来源可以是内容的作者、发布者等等。在不同实施例中,接收数字内容的设备也可以是不同的。这样的设备的多个例子包括便携式音频/视频播放器(例如iPod)、膝上型电脑、移动电话等等。在不同实施例中,数字内容也可以是不同的。例如,数字内容可以是对设备操作***的固件更新、用于在设备上运行的第三方应用、用于在设备上播放的音频/视频文件等等。
附图说明
本发明的新特征将在所附的权利要求书中阐述。但是,出于解释的目的,下列图中说明了几个实施例。
图1说明本发明某些实施例的一个完整性验证***。
图2说明本发明某些实施例的另一个完整性验证***。
图3说明一个DRM***,其实现本发明某些实施例的完整性验证***。
图4说明由本发明某些实施例中的一个或多个DRM服务器执行的完整性验证过程。
图5说明由本发明某些实施例的便携式多媒体设备执行的完整性验证过程。
图6给出一个计算机***图,其概念性地说明实现本发明某些实施例的典型DRM服务器、用户计算机、或便携式设备的组件。
具体实施方式
在下面的描述中,出于解释目的,给出大量细节。但是,本领域技术人员将认识到,本发明可以无需利用这些特定细节而被实现。在其他例子中,为了避免由于不必要的细节而使本发明的描述模糊,以框图形式示出公知的结构和设备。
I.概述
本发明的某些实施例提供了用于验证完整性数字内容的方法。在数字内容的来源处,所述方法通过将散列函数应用于数字内容的特定部分来为数字内容生成签名,其中所述特定部分少于整个数字内容。所述方法向设备提供签名和数字内容。在设备处,所述方法将散列函数应用于数字内容的特定部分,以验证所提供的签名的完整性,并由此验证所提供的数字内容的完整性。
数字内容的特定部分包括数字内容的多个不同段。在某些实施例中,所述方法配置来源和设备,以选择数字内容的预定的一组段,作为数字内容的特定部分。在某些实施例中,设备包括只读存储器,其(1)存储用于标识特定部分的代码,并且(2)存储散列函数。
在某些实施例中,所述方法通过(1)将散列函数应用于特定部分以生成散列摘要,以及然后(2)根据散列摘要生成签名,从而在来源处为数字内容生成签名。所述方法可以在非对称或对称完整性验证过程中被实现。例如,在某些实施例中,所述方法在设备处通过以下步骤来应用散列函数:(1)将散列函数应用于特定部分以生成散列摘要,以及(2)向签名验证过程提供摘要和所接收到的签名,其中签名验证过程基于所提供的摘要来确定签名的可靠性。可替换地,在某些实施例中,所述方法在设备处通过以下步骤来应用散列函数:(1)基于散列摘要生成第二签名,以及(2)比较第一和第二签名,以确定所提供的数字内容的完整性。
在不同实施例中,数字内容的来源可以是不同的。例如,来源可以是内容的作者、发布者等等。在不同实施例中,接收数字内容的设备也可以是不同的。这样的设备的几个例子包括便携式音频/视频播放器(例如iPod)、膝上型电脑、移动电话等等。在不同实施例中,数字内容也可以是不同的。例如,数字内容可以是对设备操作***的固件更新、用于在设备上运行的第三方应用、用于在设备上播放的音频/视频文件等等。
II.某些实施例的完整性验证***
图1概念性地说明本发明某个实施例的完整性验证***100的细节表示。如图所示,该***包括内容源设备110和内容接收设备115。如图1中所示,内容源设备110向内容接收设备115提供至少一个数字内容105。内容源是涉及内容创建、销售或发布的任何一方。这样的一方的例子包括内容的作者、销售者、发布者等。内容源设备110可以是一组一个或多个固定或便携式设备、计算机、服务器等。
如图1所示,内容源设备110执行散列过程120和签名生成过程130。散列过程120仅将散列函数应用于数字内容105的一部分。该部分是比特的特定模式(pattern)125,其中比特在图1中被概念性地表示为数字内容105的涂黑的部分。
在某些实施例中,该比特模式(例如由内容源设备110、由指示设备110的DRM服务器等等)以保证足够的数字内容被散列以实现3个目标的方式被指定。第一,比特模式应该被指定为使得对数字内容的任何篡改将需要篡改被散列的段之一,这会使篡改显而易见,因为篡改会改变最终的签名。第二,比特模式应该被指定为使得由过程120所散列的两个不同数字内容不冲突(即,不生成相同的散列)。第三,由于内容接收设备115将为其散列过程使用相同的比特模式,所以比特模式应该使用实现前两个目标的最小数量的比特,使得散列过程将最低程度地使用内容接收设备115的计算资源。
散列过程120在某些实施例中被配置成伪随机地选择比特模式125,或者在其他实施例中被配置成***性地选择比特模式125(例如基于字节的有序模式)。例如,在某些实施例中,数字内容可以是程序(诸如内容接收设备115的操作***、在内容接收设备115上运行的第三方应用等等)的目标代码。
在某些这样的实施例中,代码包括一组操作码(即指令代码)、以及用于每个操作码的0或更多的操作数(即0或更多的数据)。相应地,这些实施例中的某些实施例将散列函数应用于同样多的操作码和操作数,以使对篡改的检测最大化,使散列的冲突最小化,并使对计算资源的使用最少。
例如,在某些实施例中,内容接收设备使用ARM微处理器。在这样的微处理器中,(包括操作码和其相关联的操作数的)目标代码的每一行被称为一个微处理器操作单元(MOU),其具有4字节的统计长度。因而,某些实施例使用4字节宽度来标识代码每行之间的边界,然后利用该知识来在每个MOU之间选择一个或多个字节。在不同实施例中,MOU之中对字节的选择可具有不同的实施方式。某些实施例包括需要被散列的比特模式中的操作码和操作数的伪随机混合。其他实施例可仅仅包括正在被散列和签名的代码中的操作码(例如大部分或全部操作码)。另一些实施例可选择每行指令中的确定字节(例如总是第一个字节)。某些实施例使用保密函数(secretfunction),其为每个MOU生成MOU长度的整数模数,然后选择MOU中对应于该模数的一个或多个段。其他实施例可使用其他微处理器,诸如由Motorola公司、Intel公司、AMD公司、IBM公司等所提供的微处理器。
在不同的实施例中,散列过程120将不同的散列函数应用于数字内容的特定部分。在不同实施例中所使用的散列函数的例子包括MD5、SHA-1等。散列函数可以在存在密钥或不存在密钥的情况下被使用(即散列函数可以是带密钥的散列函数(keyed hashingfunction))。
如上所述,散列函数是通常接受内容的某种形式(例如明文形式)并将其变换成被称为摘要或散列的加扰输出的变换。摘要通常具有用作原始内容的独特“数字指纹”的大小固定的一组比特。如果原始消息被改变并被再次散列,则很大概率上会产生不同的摘要。因此,可利用散列函数来检测更改的或伪造的文档。散列函数提供消息完整性,从而向内容接收者保证内容未被更改或破坏。
如图1所示,签名生成器130接收散列过程120的散列函数所产生的摘要。签名生成器130根据所接收的摘要145为内容105产生签名147。为了生成这样的签名,生成器130可利用诸如SHA-1、MD5MAC之类的众多已知技术中的任何一种。
如图1所示,在***100中,数字内容105和所生成的签名147被提供给内容接收设备115。不同的实施例以不同方式将该数据提供给接收设备115。例如,某些实施例通过通信网络,诸如局域网、广域网或多个网络之一(例如互联网),来发布该数据。而且,通过网络,内容接收设备115可直接从内容的创建者、销售者或发布者接收该数据,或者可以间接地通过一个或多个中间服务器,诸如一个或多个DRM服务器、内容缓存服务器等接收该数据。
内容接收者是涉及内容的使用或内容的分布的任何一方。这样的一方的例子包括内容的用户、发布者等。内容接收设备115可以是固定的或便携式的设备、计算机、服务器、音频/视频播放器、通信设备(例如电话、寻呼机、文本消息器等)、管理器(organizer)等等。
在***100中,内容源设备110和内容接收设备115利用非对称完整性验证过程。因此,内容接收设备115执行两个过程:散列过程135和签名验证过程140。
散列过程135将与内容源设备110的散列过程120相同的散列函数应用于数字内容105的与内容源设备110的散列过程120相同的段。特别地,在某些实施例中,接收设备115的散列过程135被配置成选择数字内容105中的与内容源设备110的散列过程120相同的比特模式。图1通过示出散列过程120和135使用数字内容105中相同的涂黑的比特模式125,来对此加以概念性说明。散列过程135对相同比特模式125的选择可通过导致选择与散列过程120相同的比特模式的伪随机或***性方式来进行。
将散列过程135的散列函数应用于内容105就产生摘要149。当过程120和135所接收的数字内容相同时,该摘要应当与由散列过程120的散列函数所产生的摘要145相同,因为这两个过程选择数字内容中相同一组段。
如图1所示,签名验证器140接收散列过程135的散列函数所产生的摘要149。签名验证器140还接收由内容源设备110的签名生成器130所产生的签名147。验证器140然后通过确保签名147适合于摘要149而确定所接收的签名147是否是所接收的数字内容105的正确签名。为了确保签名147适合于摘要149,验证器140可使用诸如SHA-1或MD5之类的众多已知技术中的任一项。
基于摘要149和签名147的比较,签名验证器140然后输出完整性检查值151。该值指示所接收的签名147对于所接收的数字内容105是否是适当的签名。例如,在某些实施例中,完整性检查值是布尔值,其中当数字内容完整性得到验证时(即当所接收的签名与所接收的数字内容匹配时)该值为真,当数字内容的完整性未被验证时该值为假。在其他实施例中,完整性检查值是任何其他类型的二态值(two-statevalue),其中一个态表示数字内容完整性得到验证,另一个态表示数字内容完整性未得到验证。完整性检查将指定,当数字内容的一个或多个部分在签名147被生成之后被篡改并且这些部分包括被用于生成散列摘要145和149的一个或多个内容段时,内容完整性未得到验证。
其他实施例可在不同的完整性验证***中被实施。例如,图2说明了对称完整性验证***200中本发明的一种实现。***200类似于***100,区别在于其内容接收设备115不包括非对称签名验证器140,而是包括签名生成器240和对称签名验证器250。
类似于内容源设备110的签名生成器130,签名生成器240根据其所接收的散列摘要149生成签名253。所生成的签名253然后与所接收的签名147一起被提供给签名验证器250。验证器250然后比较这两个签名,以指定其完整性检查值151。当这两个签名147和253匹配时,完整性检查值151表示所接收的数字内容未被篡改。当这两个签名不匹配时,完整性检查值表示内容已经被篡改(即,所接收的签名147不对应于所接收的数字内容)。
为了概念性地说明在不同实施例中或对于不同内容,数字内容的不同部分可被散列,图2示出与图1中所示模式不同的内容105中的涂黑的比特模式225。图2中涂黑的段具有不同的长度,以便概念性说明在本发明某些实施例中可被散列的不同大小的段。
III.实施某些实施例的完整性验证***的DRM***
某些实施例的完整性验证***在DRM***中被实现,其中DRM***以确保内容合法使用的方式来发布内容。如图3所示,DRM***300包括一组DRM服务器310,其发布内容给一组N个用户计算机315。这组服务器310通过诸如局域网、广域网、多个网络之一(例如因特网)这样的计算机网络320连接到用户计算机315。每个用户计算机315连接到一组一个或多个便携式多媒体设备330。
在某些实施例中,通过网络连接,用户计算机315与这一组DRM服务器310通信,以购买、许可、更新或以其他方式获得内容。因而,虽然在某些实施例中,DRM服务器组310向用户计算机销售或许可内容,但是在其他实施例中,这个组不销售或许可内容。例如,在某些实施例中,DRM服务器组310仅仅向被授权的计算机发布内容,而不具有任何金融目的。
在某些实施例中,DRM服务器组310包括内容缓存服务器,其中在另一DRM服务器310确定计算机310可以获得内容之后,该内容缓存服务器通过网络320向用户计算机310提供加密后的内容。在某些实施例中,***300使用多个缓存服务器,以在网络上的不同位置处缓存内容,以便提高网络上下载内容的速度和效率。
如上所述,用户计算机315通过网络320与DRM服务器组310通信,以购买、许可、更新或以其他方式获得内容。在某些实施例中,DRM服务器组310为其发布给用户计算机315的内容提供签名,其中根据本发明的某些实施例,通过仅散列内容的一部分来生成该签名。
特定地,图3说明了用户计算机315a向DRM服务器组310发送对内容“A”的请求。该请求可以是对购买、许可或以其他方式获得内容的请求。可替换地,当内容是在用户计算机上或在其相关联的多媒体设备330之一上运行的应用或操作***时,所述请求可以是对应用或操作***的更新的请求。该请求可以是在用户计算机315上执行的更新检查过程中的显式请求(explicit request)或隐式请求(implicitrequest),其中更新检查过程在具有或不具有用户干预的情况下检查应用或操作***的更新。
如图3所示,DRM服务器组310接收来自用户计算机315a的对内容A的请求。然后,一个或多个DRM计算机执行图4中示出的过程400,以为所请求的内容A生成签名。如图4所示,过程400首先(在405)通过将散列函数仅应用于所请求内容A的一部分而生成摘要。已经在上述段落I和II中说明了将散列函数仅应用于内容的一部分。如上所述并且在下面将进一步描述的那样,过程400将散列函数应用于内容A的与用户计算机315a及其相关联的多媒体设备330a的散列函数所应用于的部分相同的部分。
在405处应用散列函数之后,过程410基于在405处所产生的散列摘要(在410)生成签名。已经在上述段落I和II中描述了基于散列摘要生成签名。在410处生成签名之后,过程向用户计算机315a提供所请求的内容A及其相关联的签名,然后结束。
在某些实施例中,用户计算机315a使用所提供的签名来验证所接收内容A的完整性。为此,通过将散列函数应用于内容A的与DRM服务器组310的散列函数所应用于的部分相同的部分,用户计算机315a将为内容A生成散列摘要。然后,用户计算机315a通过使用非对称签名验证方法(诸如图1所示的方法)或对称签名验证方法(诸如图2所述的方法),来利用该散列摘要验证签名的完整性。
在某些实施例中,用户计算机315a的多媒体设备330a在其与计算机315a同步时也接收内容A和该内容的签名A。因此,当内容A是要用于多媒体设备330a的内容时,某些实施例中的用户计算机315a(例如在数据存储器中)记录对于在设备330a下一次与计算机315a进行同步时将内容A及其签名下载到设备330a的需求。
类似于用户计算机315a,多媒体设备330a通过将散列函数应用于内容A的与DRM服务器组310的散列函数所应用于的部分相同的部分,来为内容A生成散列摘要。然后,多媒体设备330a通过使用非对称签名验证方法(诸如图1所示的方法)或对称签名验证方法(诸如图2所示的方法),利用该散列摘要来验证内容的完整性。
图5说明在某些实施例中多媒体设备330a执行的完整性验证过程500的更详细的例子。在将可执行内容(即,用于操作***更新、用于对现有应用的更新和用于新应用等的代码)加载到多媒体设备330a上的同步操作期间执行该过程。如图所示,过程500首先(在505)在同步操作期间接收可执行内容和该内容的签名,其中同步操作确保设备具有用户计算机指示其应当具有的全部内容。
在同步之后,过程(在510)重新启动设备,因为在某些实施例中,完整性验证过程是启动引导序列的一部分。特定地,在某些实施例中,启动引导序列为每条新接收的代码执行完整性验证过程,即使在图5所示的例子中,假定在505处仅有一个内容被加载到设备上。在某些实施例中,启动序列(包括完整性验证过程)被存储在设备315a的非易失性只读存储器中。这确保在设备售出之后,完整性验证过程不能被篡改。
因此,在启动引导序列期间,过程500(在515处)通过将散列函数应用于内容的与DRM服务器组310的散列函数所应用于的部分相同的部分,来为所接收的内容生成散列摘要。然后,过程500(在520处)使用该散列摘要来验证签名的完整性。例如,过程500可使用非对称签名验证方法(诸如图1所示的方法)或对称签名验证方法(诸如图2所述的方法)。
当所述过程(在520处)不能验证新接收的代码的完整性时(即当新接收的签名不对应于设备为新接收的内容所生成的摘要时),该过程结束,而不指定内容可被加载到可执行存储器中。可替换地,当该过程(在520处)验证新接收的代码的完整性时,该过程(在525处)指定代码是可执行的。在某些实施例中,该过程(在525处)将代码加载到可执行存储器中并执行该代码。
图3的DRM***300具有不止一个用户计算机,其根据本发明的某些实施例的完整性验证过程接收数字内容和这样的内容的签名。特定地,图3示出向DRM服务器组310请求内容(即内容B)的用户计算机315n。如图所示,用户计算机315n从DRM服务器组310接收所请求的内容B和该内容的签名。根据本发明,通过只散列内容B的一部分而产生内容B的签名。然后,用户计算机315n及其相关联的一组便携式设备330以与上面针对用户计算机315a及其相关联的设备330a所述的几乎相同的方式,通过散列内容B的与DRM服务器组相同的部分来验证内容B的完整性。
IV.***图
图6给出一个计算机***图,其概念性地说明实现本发明某些实施例的典型DRM服务器、用户计算机、或便携式设备的组件。计算机***600包括总线605、处理器610、***存储器615、只读存储器620、永久性存储设备625、输入设备630和输出设备3035。
总线605共同地代表支持计算机***600的内部设备之间通信的所有***总线、***设备总线和芯片组总线。例如,总线605将处理器610与只读存储器620、***存储器615以及永久性存储设备625通信地连接。
处理器610从这些各种存储单元中检索要执行的指令和要处理的数据,以便执行本发明的过程。只读存储器(ROM)620存储计算机***的处理器610和其他模块所需要的静态数据和指令。对于实施本发明的便携式设备,只读存储器存储某些实施例的启动引导序列和散列过程,如上所述。
另一方面,永久性存储设备625是读写存储器设备。该设备是非易失性存储器单元,其即使在计算机***600被关闭的情况下也存储指令和数据。本发明的某些实施例使用大容量存储设备(诸如磁盘或光盘及其对应的盘驱动器)作为永久性存储设备625。其他实施例使用可移动存储设备(诸如存储卡或记忆棒)作为永久性存储设备。
类似于永久性存储设备625,***存储器615是读写存储器设备。但是,与存储设备625不同,***存储器是易失性读写存储器,诸如随机存取存储器。***存储器存储处理器在运行时所需的指令和数据中的一些。在某些实施例中,本发明的过程被存储在***存储器615、永久性存储设备625和/或只读存储器620中。
总线605还连接到输入和输出设备630和635。输入设备使用户能够向计算机***发送信息和选择命令。输入设备630包括字母数字键盘和光标控制器。输出设备635显示由计算机***所生成的图像。输出设备包括打印机和显示设备,诸如阴极射线管(CRT)或液晶显示器(LCD)。
最后,如图6所示,计算机600的某些配置还包括连接到总线605的网络适配器640。通过网络适配器640,计算机可以是计算机网络(诸如局域网(LAN)、广域网(WAN)、或内联网)或多个网络之一(诸如因特网)的一部分。计算机***600的任何或所有组件可结合本发明被使用。但是,本领域技术人员将理解,任何其他***配置也可结合本发明被使用。
V.优点
本领域技术人员将理解,上述完整性验证过程具有多个优点。例如,当将新的可执行代码加载到设备上时,验证代码的完整性是很重要的,因为这样的代码提供了攻击设备的时机。上述完整性过程提供了一种容易的途径来甚至在具有有限计算资源的便携式设备上检查代码完整性。
而且,某些实施例在设备的启动引导序列期间引入完整性验证过程,以便使篡改完整性过程的可能性最小化。为了进一步减小这种可能性,某些实施例将完整性过程存储在设备的只读存储器上。
虽然已经参考大量特定细节描述了本发明,但是本领域技术人员将认识到,本发明可以其他特定形式被实施,而不背离本发明的精神。例如,如上面所提到的,某些实施例可使用带密钥的散列函数。如果使用密钥,则可使用对称(单保密密钥)和非对称密钥(公钥/私钥对)。带密钥的散列函数的一个例子是键控MD5技术(keyed MD5technique)。基本上,发送者将随机生成的密钥附加到消息的末端,然后使用MD5散列来对消息和密钥组合进行散列处理,以创建消息摘要。然后,密钥被从消息中去除,并以发送者的私钥被加密。消息、消息摘要和加密后的密钥被发送给接收者,其中接收者利用发送者的公钥打开密钥(从而确认消息实际上是来自该发送者)。然后,接收者将密钥附加到消息,并运行与发送者相同的散列。消息摘要应当与随消息一起发送的消息摘要匹配。
而且,上述的多个实施例选择内容的目标代码格式中的比特模式。当内容是其他格式(例如,是源代码或XML格式)时,其他实施例可选择段的其他模式。因而,本领域技术人员将理解,本发明不由前述示意性细节所限制,而是由所附的权利要求书来限定。

Claims (95)

1.一种方法,包括:
a)仅根据特定内容的一部分为所述特定内容生成数字签名;以及
b)提供所述数字签名。
2.根据权利要求1所述的方法,其中生成数字签名的步骤包括:
仅对所述特定内容的所述一部分使用散列函数,以生成散列;
根据所述散列生成所述数字签名。
3.根据权利要求2所述的方法,进一步包括:选择所述特定内容的特定部分。
4.根据权利要求3所述的方法,其中选择特定部分的步骤包括:选择使对所述特定内容的篡改的检测最大的部分。
5.根据权利要求3所述的方法,其中选择特定部分的步骤包括:选择使散列的冲突最小的部分。
6.根据权利要求3所述的方法,其中选择特定部分的步骤包括:选择使计算资源最小的部分。
7.根据权利要求1所述的方法,进一步包括:基于所述特定内容中的有序比特模式来选择所述特定内容的特定部分。
8.根据权利要求1所述的方法,进一步包括:基于伪随机操作来选择所述特定内容的特定部分。
9.根据权利要求1所述的方法,其中所述特定内容包括视频信息。
10.根据权利要求1所述的方法,其中所述特定内容包括音频信息。
11.根据权利要求1所述的方法,其中所述特定内容包括用于特定设备的固件的更新。
12.根据权利要求1所述的方法,其中所述特定内容是用于在特定设备上操作的应用程序。
13.根据权利要求1所述的方法,其中所述设备是便携式播放器。
14.根据权利要求1所述的方法,其中所述特定内容包括目标代码。
15.根据权利要求14所述的方法,其中所述目标代码包括一组操作码和相关联的一组操作数,其中特定部分仅包括操作码。
16.根据权利要求14所述的方法,其中所述目标代码包括一组操作码和相关联的一组操作数,其中特定部分包括操作码和操作数。
17.根据权利要求1所述的方法,进一步包括:提供所述特定内容。
18.一种计算机可读介质,用于存储可由至少一个处理器执行的计算机程序,所述计算机程序包括:
a)用于生成数字签名的指令集,用于仅根据特定内容的一部分为所述特定内容生成数字签名;以及
b)用于提供所述数字签名的指令集。
19.根据权利要求18所述的计算机可读介质,其中所述用于生成数字签名的指令集包括:
用于仅对所述特定内容的所述一部分使用散列函数以生成散列的指令集;
用于根据所述散列生成所述数字签名的指令集。
20.根据权利要求18所述的计算机可读介质,其中所述计算机程序进一步包括:用于基于所述特定内容中的有序比特模式来选择所述特定内容的特定部分的指令集。
21.根据权利要求18所述的计算机可读介质,其中所述计算机程序进一步包括:用于基于伪随机操作来选择所述特定内容的特定部分的指令集。
22.根据权利要求18所述的计算机可读介质,其中所述特定内容包括目标代码。
23.根据权利要求22所述的计算机可读介质,其中所述目标代码包括一组操作码和相关联的一组操作数,其中特定部分仅包括操作码。
24.根据权利要求22所述的计算机可读介质,其中所述目标代码包括一组操作码和相关联的一组操作数,其中特定部分包括操作码和操作数。
25.根据权利要求18所述的计算机可读介质,其中所述计算机程序进一步包括用于提供所述特定内容的指令集。
26.一种方法,包括:
a)接收特定内容;以及
b)通过使用数字签名,验证所述特定内容的可靠性,其中所述数字签名是仅根据所述特定内容的一部分而导出的。
27.根据权利要求26所述的方法,其中所述数字签名是从散列所导出的,其中所述散列是通过仅对所述特定内容的所述一部分使用散列函数而生成的。
28.根据权利要求26所述的方法,其中验证特定内容的可靠性的步骤包括使用非对称完整性过程。
29.根据权利要求28所述的方法,其中使用非对称完整性过程的步骤包括:
a)仅为所接收的特定内容的所述一部分计算特定散列;以及
b)确定所述特定散列对于所接收的数字签名是否适当。
30.根据权利要求29所述的方法,进一步包括:生成完整性检查值,以指示所述特定散列对于所接收的数字签名是否适当。
31.根据权利要求29所述的方法,其中当确定所述特定散列对于所接收的数字签名适当时,所述特定内容被验证为可靠的。
32.根据权利要求26所述的方法,其中验证特定内容的可靠性的步骤包括使用对称完整性过程。
33.根据权利要求32所述的方法,其中使用对称完整性过程的步骤包括:
a)仅为所接收的特定内容的所述一部分生成特定散列;
b)基于所述特定散列生成另一个数字签名;以及
c)确定所接收的数字签名是否与所述另一个数字签名匹配。
34.根据权利要求33所述的方法,其中当确定这两个数字签名匹配时,所述特定内容被验证为可靠的。
35.根据权利要求26所述的方法,进一步包括:基于所述特定内容中的有序比特模式来选择所述特定内容的特定部分。
36.根据权利要求26所述的方法,进一步包括:基于伪随机操作来选择所述特定内容的特定部分。
37.根据权利要求26所述的方法,其中所述特定内容包括视频信息。
38.根据权利要求26所述的方法,其中所述特定内容包括音频信息。
39.根据权利要求26所述的方法,其中所述特定内容包括用于特定设备的固件的更新。
40.根据权利要求26所述的方法,其中所述特定内容是用于在特定设备上操作的应用程序。
41.根据权利要求26所述的方法,其中所述设备是便携式播放器。
42.根据权利要求26所述的方法,其中所述特定内容包括目标代码,其中所述目标代码包括一组操作码和相关联的一组操作数,其中特定部分仅包括操作码。
43.根据权利要求26所述的方法,其中所述特定内容包括目标代码,其中所述目标代码包括一组操作码和相关联的一组操作数,其中特定部分包括操作码和操作数。
44.根据权利要求26所述的方法,进一步包括:执行与设备的同步操作,以接收所述特定内容和数字签名。
45.根据权利要求44所述的方法,其中所述设备是第一设备,所述接收、验证和执行是由第二设备执行的。
46.根据权利要求45所述的方法,其中在所述第二设备的引导序列期间执行所述验证。
47.根据权利要求26所述的方法,其中所述验证至少部分地是由存储在设备的只读存储器中的指令集来执行的。
48.一种计算机可读介质,包括可由至少一个处理器执行的计算机程序,所述计算机程序包括:
a)用于接收特定内容的指令集;以及
b)用于验证所述特定内容的可靠性的指令集,用于通过使用数字签名来验证所述特定内容的可靠性,其中所述数字签名是仅根据所述特定内容的一部分导出的。
49.根据权利要求48所述的计算机可读介质,其中所述数字签名是从散列导出的,其中所述散列是通过仅对所述特定内容的所述一部分使用散列函数而生成的。
50.根据权利要求48所述的计算机可读介质,其中所述用于验证所述特定内容的可靠性的指令集包括用于使用非对称完整性过程的指令集。
51.根据权利要求50所述的计算机可读介质,其中所述用于使用非对称完整性过程的指令集包括:
a)用于仅为所接收的特定内容的所述一部分计算特定散列的指令集;以及
b)用于确定所述特定散列对于所接收的数字签名是否适当的指令集。
52.根据权利要求51所述的计算机可读介质,其中当确定所述特定散列对于所接收的数字签名适当时,所述特定内容被验证为可靠的。
53.根据权利要求48所述的计算机可读介质,其中所述用于验证所述特定内容的可靠性的指令集包括用于使用对称完整性过程的指令集。
54.根据权利要求53所述的计算机可读介质,其中所述用于使用对称完整性过程的指令集包括:
a)用于仅为所接收的特定内容的所述一部分生成特定散列的指令集;
b)用于基于所述特定散列生成另一个数字签名的指令集;以及
c)用于确定所接收的数字签名是否与所述另一个数字签名匹配的指令集。
55.根据权利要求54所述的计算机可读介质,其中当确定这两个数字签名匹配时,所述特定内容被验证为可靠的。
56.根据权利要求48所述的计算机可读介质,其中所述特定内容包括目标代码,所述目标代码包括一组操作码和相关联的一组操作数,特定部分仅包括操作码。
57.根据权利要求48所述的计算机可读介质,其中所述特定内容包括目标代码,所述目标代码包括一组操作码和相关联的一组操作数,特定部分包括操作码和操作数。
58.根据权利要求48所述的方法,进一步包括用于执行与设备的同步操作,以接收所述特定内容和数字签名的指令集,其中所述设备是第一设备,所述用于接收、验证和执行的指令集由第二设备执行。
59.根据权利要求58所述的计算机可读介质,其中所述用于验证的指令集在所述第二设备的引导序列期间被执行。
60.根据权利要求48所述的计算机可读介质,其中所述用于验证的指令集至少部分地是由存储在设备的只读存储器中的指令集来执行的。
61.一种用于访问内容的设备,所述设备包括:
a)用于存储特定内容的存储器;以及
b)用于利用数字签名来鉴别所述内容的电子组件,其中所述数字签名仅根据所述特定内容的一部分而被导出。
62.根据权利要求61所述的设备,其中所述电子组件进一步用于仅根据所述特定内容的所述一部分生成所述数字签名。
63.根据权利要求62所述的设备,其中所述电子组件通过首先仅根据所述特定内容的所述一部分生成散列,然后根据所生成的散列生成数字签名,来生成所述数字签名。
64.根据权利要求62所述的设备,其中所述电子组件通过将所生成的数字签名与所述设备所接收的数字签名相比较,来利用所述数字签名。
65.根据权利要求61所述的设备,其中所述数字签名是所述设备所接收的签名。
66.根据权利要求61所述的设备,其中所述设备是计算机。
67.根据权利要求61所述的设备,其中所述设备是便携式播放器。
68.根据权利要求61所述的设备,进一步包括用于存储指令集的读存储器,其中所述指令集用于利用所述数字签名来鉴别所述内容。
69.根据权利要求68所述的设备,其中所述指令集包括用于仅根据所述特定内容的所述一部分生成数字签名的指令。
70.一种用于发布内容的***,所述***包括:
a)用于提供特定内容的计算机组;以及
b)用于利用数字签名来鉴别所述特定内容的设备,其中所述数字签名仅根据所述特定内容的一部分而被导出。
71.根据权利要求70所述的***,其中所述计算机组进一步用于:
a)仅对所述特定内容的所述一部分使用散列函数,以生成散列;以及
b)根据所述散列生成所述数字签名。
72.根据权利要求71所述的***,其中所述计算机组通过选择所述特定内容的使对所述特定内容的篡改的检测最大的特定部分,来生成所述散列。
73.根据权利要求71所述的***,其中所述计算机组通过选择所述特定内容的使散列冲突最小的特定部分,来生成所述散列。
74.根据权利要求71所述的***,其中所述计算机组通过选择所述特定内容的使计算资源最小的特定部分,来生成所述散列。
75.根据权利要求70所述的***,其中所述设备包括用于存储指令集的只读存储器,所述指令集用于鉴别所述特定内容。
76.根据权利要求70所述的***,其中所述计算机组包括一台计算机。
77.根据权利要求70所述的***,其中所述计算机组包括多于一台的计算机。
78.根据权利要求70所述的***,其中所述设备通过使用非对称完整性过程,来利用所述数字签名鉴别所述特定内容。
79.根据权利要求70所述的***,其中所述设备通过使用对称完整性过程,来利用所述数字签名鉴别所述特定内容。
80.根据权利要求70所述的***,其中所述数字签名是由所述计算机组所提供的签名。
81.根据权利要求80所述的***,其中所述设备通过确定由所述设备所计算的散列对于所提供的数字签名是否适当,来利用所述数字签名。
82.根据权利要求70所述的***,其中所述数字签名是由所述设备生成的。
83.根据权利要求82所述的***,其中所述设备通过将由所述设备所生成的数字签名与由所述计算机组所提供的另一个数字签名相比较,来利用所述数字签名。
84.一种方法,包括:
a)通过将散列函数应用于数字内容的特定部分来为所述数字内容生成签名,其中所述特定部分不包括所述数字内容的全部;
b)向设备提供所述签名和所述数字内容;以及
c)在所述设备处,将所述散列函数应用于所述数字内容的所述特定部分,以验证与所述数字内容一起被提供的所述签名,并由此验证所提供的数字内容的完整性。
85.根据权利要求84所述的方法,进一步包括:
a)在所述数字内容的来源处,选择所述数字内容的多个不同段作为所述数字内容的所述特定部分;以及
b)在所述设备处,选择所述数字内容的同样的多个不同段作为所述数字内容的所述特定部分。
86.根据权利要求85所述的方法,其中所述来源是所述数字内容的作者。
87.根据权利要求85所述的方法,其中所述来源是数字权益管理***中所述数字内容的发布者。
88.根据权利要求84所述的方法,进一步包括:将标识所述特定部分的代码存储在所述设备的只读存储器中。
89.根据权利要求84所述的方法,进一步包括将所述散列函数存储在所述设备的只读存储器中。
90.根据权利要求84所述的方法,其中为数字内容生成签名的步骤包括:
a)将所述散列函数应用于所述特定部分,以生成散列;以及
b)根据所述散列生成所述签名。
91.根据权利要求84所述的方法,其中在所述设备处将散列函数应用于所述特定部分的步骤包括:
a)将所述散列函数应用于所述特定部分,以生成散列;以及
b)使用所生成的散列来验证所提供的签名的完整性。
92.根据权利要求91所述的方法,进一步包括:在所述设备处,向签名验证过程提供所生成的散列和所述签名,其中所述签名验证过程基于所提供的散列来确定所述签名的可靠性。
93.根据权利要求91所述的方法,其中被提供给所述设备的签名是第一签名,其中使用所生成的散列的步骤包括:
a)在所述设备处,基于所生成的散列,生成第二签名;以及
b)在所述设备处,比较第一签名和第二签名,以确定所提供的数字内容的完整性。
94.根据权利要求84所述的方法,其中所述数字内容包括用于在所述设备上执行的代码,在所述设备处应用所述散列函数的步骤包括在将所述代码加载到可执行存储器中之前应用所述散列函数。
95.根据权利要求84所述的方法,其中所述数字内容包括用于修改所述设备的操作***的代码。
CN200780017674.0A 2006-03-15 2007-03-13 优化完整性验证过程的方法和*** Expired - Fee Related CN101443774B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/377,082 US8364965B2 (en) 2006-03-15 2006-03-15 Optimized integrity verification procedures
US11/377,082 2006-03-15
PCT/US2007/063919 WO2007106831A1 (en) 2006-03-15 2007-03-13 Optimized integrity verification procedures

Publications (2)

Publication Number Publication Date
CN101443774A true CN101443774A (zh) 2009-05-27
CN101443774B CN101443774B (zh) 2015-03-25

Family

ID=38226566

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200780017674.0A Expired - Fee Related CN101443774B (zh) 2006-03-15 2007-03-13 优化完整性验证过程的方法和***

Country Status (7)

Country Link
US (2) US8364965B2 (zh)
EP (4) EP2988238B1 (zh)
CN (1) CN101443774B (zh)
DE (1) DE102007012490A1 (zh)
FR (1) FR2911419B1 (zh)
SE (2) SE534208C2 (zh)
WO (1) WO2007106831A1 (zh)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010148730A1 (zh) * 2009-12-31 2010-12-29 中兴通讯股份有限公司 Drm文件完整性的保护方法及装置
CN102004879A (zh) * 2010-11-22 2011-04-06 北京北信源软件股份有限公司 一种识别可信任进程的方法
CN103959742A (zh) * 2011-10-25 2014-07-30 阿尔卡特朗讯公司 在点对点内容分发***中验证从对等点接收的内容的完整性
CN106685653A (zh) * 2016-12-29 2017-05-17 同济大学 一种基于信息安全技术的车辆远程固件更新方法及装置
CN108900472A (zh) * 2018-05-31 2018-11-27 北京五八信息技术有限公司 信息的传输方法和装置
CN108920971A (zh) * 2018-07-06 2018-11-30 北京京东金融科技控股有限公司 数据加密的方法、校验的方法、加密的装置和校验的装置
CN109949889A (zh) * 2019-03-29 2019-06-28 镇江市第一人民医院 一种电子护理病历***
CN111866554A (zh) * 2020-07-09 2020-10-30 郑州信大捷安信息技术股份有限公司 多媒体安全播放方法和***
CN112567371A (zh) * 2018-08-17 2021-03-26 微芯片技术股份有限公司 文件的认证
CN113287113A (zh) * 2019-01-23 2021-08-20 株式会社斯凯拉 具有篡改检测性的***

Families Citing this family (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9678967B2 (en) 2003-05-22 2017-06-13 Callahan Cellular L.L.C. Information source agent systems and methods for distributed data storage and management using content signatures
US7103779B2 (en) 2003-09-18 2006-09-05 Apple Computer, Inc. Method and apparatus for incremental code signing
US8364965B2 (en) 2006-03-15 2013-01-29 Apple Inc. Optimized integrity verification procedures
JP4305481B2 (ja) * 2006-08-29 2009-07-29 ブラザー工業株式会社 通信システムと管理装置と情報処理装置
JP4479703B2 (ja) * 2006-08-29 2010-06-09 ブラザー工業株式会社 通信システムと管理装置
US9443068B2 (en) 2008-02-20 2016-09-13 Micheal Bleahen System and method for preventing unauthorized access to information
US20090235083A1 (en) * 2008-02-20 2009-09-17 Micheal Bleahen System and method for preventing unauthorized access to information
GB0811210D0 (en) * 2008-06-18 2008-07-23 Isis Innovation Improvements related to the authentication of messages
KR101205716B1 (ko) * 2008-12-19 2012-11-28 한국전자통신연구원 프로그램 정보에 포함된 시그너처를 이용하여 방송 프로그램의 사용을 제어하는 방송 신호 수신 장치 및 그 방법
US9852143B2 (en) 2010-12-17 2017-12-26 Microsoft Technology Licensing, Llc Enabling random access within objects in zip archives
US8972967B2 (en) 2011-09-12 2015-03-03 Microsoft Corporation Application packages using block maps
US8839446B2 (en) 2011-09-12 2014-09-16 Microsoft Corporation Protecting archive structure with directory verifiers
US8819361B2 (en) 2011-09-12 2014-08-26 Microsoft Corporation Retaining verifiability of extracted data from signed archives
US8930354B2 (en) * 2012-01-09 2015-01-06 James Lewin System and method for organizing content
US9369467B1 (en) * 2013-05-08 2016-06-14 Amdocs Software Systems Limited System, method, and computer program for providing generic access to web content on a mobile device
US20150302400A1 (en) * 2014-04-18 2015-10-22 Ebay Inc. Distributed crypto currency reputation system
US9367690B2 (en) * 2014-07-01 2016-06-14 Moxa Inc. Encryption and decryption methods applied on operating system
US10305894B2 (en) * 2014-10-17 2019-05-28 Averon Us, Inc. Verifying a user based on digital fingerprint signals derived from out-of-band data
FR3044124B1 (fr) * 2015-11-20 2018-09-21 Sagemcom Energy & Telecom Sas Procede de verification d'integrite d'un ensemble de donnees
US11386067B2 (en) * 2015-12-15 2022-07-12 Red Hat, Inc. Data integrity checking in a distributed filesystem using object versioning
JP6959155B2 (ja) * 2017-05-15 2021-11-02 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America 検証方法、検証装置およびプログラム
WO2019098895A1 (en) * 2017-11-17 2019-05-23 Telefonaktiebolaget Lm Ericsson (Publ) Method and arrangement for detecting digital content tampering
US11138085B2 (en) 2018-10-09 2021-10-05 Argo AI, LLC Execution sequence integrity monitoring system
US11144375B2 (en) 2018-10-09 2021-10-12 Argo AI, LLC Execution sequence integrity parameter monitoring system
US11443048B2 (en) * 2019-05-06 2022-09-13 Microsoft Technology Licensing, Llc Install-time procedural content generation for encrypted packages
US11310054B2 (en) 2019-06-19 2022-04-19 Amazon Technologies, Inc. Symmetric function for journaled database proof
US11418345B2 (en) 2019-06-19 2022-08-16 Amazon Technologies, Inc. Digest proofs in a journaled database
US11487733B2 (en) * 2019-06-19 2022-11-01 Amazon Technologies, Inc. Database journal redaction
US11487819B2 (en) 2019-06-19 2022-11-01 Amazon Technologies, Inc. Threaded leaf nodes in database journal
WO2021015204A1 (ja) * 2019-07-23 2021-01-28 株式会社ソニー・インタラクティブエンタテインメント アクセス制御装置、アクセス制御方法及びプログラム
EP4014120A4 (en) 2019-08-12 2024-04-10 Audio Visual Preservation Solutions, Inc. FORENSIC SOURCE DETECTION SYSTEM, APPARATUS AND METHOD FOR MULTIMEDIA FILES
US20220391791A1 (en) * 2021-03-25 2022-12-08 Certinal Software Private Limited System and method for modification of future recipients in an electronic signature workflow
US11711555B1 (en) * 2021-03-31 2023-07-25 Amazon Technologies, Inc. Protecting media content integrity across untrusted networks

Family Cites Families (86)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4868877A (en) 1988-02-12 1989-09-19 Fischer Addison M Public key/signature cryptosystem with enhanced digital signature certification
US5113444A (en) * 1990-09-05 1992-05-12 Arnold Vobach Random choice cipher system and method
US5313576A (en) * 1990-11-23 1994-05-17 Network Computing Devices, Inc. Bit aligned data block transfer method and apparatus
US5454000A (en) * 1992-07-13 1995-09-26 International Business Machines Corporation Method and system for authenticating files
US6367013B1 (en) * 1995-01-17 2002-04-02 Eoriginal Inc. System and method for electronic transmission, storage, and retrieval of authenticated electronic original documents
FR2731163B1 (fr) 1995-03-03 1997-06-20 Air Liquide Procede et installation de separation d'un melange gazeux par permeation
US5625693A (en) 1995-07-07 1997-04-29 Thomson Consumer Electronics, Inc. Apparatus and method for authenticating transmitting applications in an interactive TV system
US7770013B2 (en) * 1995-07-27 2010-08-03 Digimarc Corporation Digital authentication with digital and analog documents
US5913022A (en) * 1995-08-31 1999-06-15 Schlumberger Technologies, Inc. Loading hardware pattern memory in automatic test equipment for testing circuits
US6202203B1 (en) * 1995-12-06 2001-03-13 International Business Machines Corporation Method of, system for, and computer program product for providing global value numbering
US5673316A (en) 1996-03-29 1997-09-30 International Business Machines Corporation Creation and distribution of cryptographic envelope
US5757919A (en) 1996-12-12 1998-05-26 Intel Corporation Cryptographically protected paging subsystem
JP4187285B2 (ja) 1997-04-10 2008-11-26 富士通株式会社 認証子付与方法および認証子付与装置
US6092147A (en) 1997-04-15 2000-07-18 Sun Microsystems, Inc. Virtual machine with securely distributed bytecode verification
US7246098B1 (en) * 1997-07-15 2007-07-17 Silverbrook Research Pty Ltd Consumable authentication protocol and system
US6560706B1 (en) 1998-01-26 2003-05-06 Intel Corporation Interface for ensuring system boot image integrity and authenticity
US6263348B1 (en) 1998-07-01 2001-07-17 Serena Software International, Inc. Method and apparatus for identifying the existence of differences between two files
US7194092B1 (en) * 1998-10-26 2007-03-20 Microsoft Corporation Key-based secure storage
US6591365B1 (en) * 1999-01-21 2003-07-08 Time Warner Entertainment Co., Lp Copy protection control system
AU2998100A (en) 1999-02-18 2000-09-04 Sun Microsystems, Inc. Data authentication system employing encrypted integrity blocks
US6792535B1 (en) * 1999-04-06 2004-09-14 Kwan Software Engineering, Inc. System and method for digitally marking a file with a removable mark
JP4049498B2 (ja) 1999-11-18 2008-02-20 株式会社リコー 原本性保証電子保存方法、装置及びコンピュータ読み取り可能な記録媒体
US6959384B1 (en) * 1999-12-14 2005-10-25 Intertrust Technologies Corporation Systems and methods for authenticating and protecting the integrity of data streams and other data
US6785815B1 (en) * 1999-06-08 2004-08-31 Intertrust Technologies Corp. Methods and systems for encoding and protecting data using digital signature and watermarking techniques
US7650504B2 (en) * 1999-07-22 2010-01-19 Macrovision Corporation System and method of verifying the authenticity of dynamically connectable executable images
JP2001034470A (ja) 1999-07-22 2001-02-09 Fujitsu Ltd 管理自動化機構を有するサーバ
WO2001010076A2 (en) 1999-07-29 2001-02-08 Intertrust Technologies Corp. Systems and methods for protecting secure and insecure computing environments using cryptography
US7430670B1 (en) * 1999-07-29 2008-09-30 Intertrust Technologies Corp. Software self-defense systems and methods
US6658556B1 (en) * 1999-07-30 2003-12-02 International Business Machines Corporation Hashing a target address for a memory access instruction in order to determine prior to execution which particular load/store unit processes the instruction
US6324637B1 (en) 1999-08-13 2001-11-27 Sun Microsystems, Inc. Apparatus and method for loading objects from a primary memory hash index
US7406603B1 (en) * 1999-08-31 2008-07-29 Intertrust Technologies Corp. Data protection systems and methods
US20010034839A1 (en) 1999-12-24 2001-10-25 Guenter Karjoth Method and apparatus for secure transmission of data and applications
GB0003920D0 (en) 2000-02-21 2000-04-05 Ncipher Corp Limited Computer system
US6691143B2 (en) * 2000-05-11 2004-02-10 Cyberguard Corporation Accelerated montgomery multiplication using plural multipliers
US6986046B1 (en) * 2000-05-12 2006-01-10 Groove Networks, Incorporated Method and apparatus for managing secure collaborative transactions
US7003107B2 (en) * 2000-05-23 2006-02-21 Mainstream Encryption Hybrid stream cipher
JP2004531780A (ja) * 2000-06-22 2004-10-14 マイクロソフト コーポレーション 分散型コンピューティングサービスプラットフォーム
JP4973899B2 (ja) * 2000-07-06 2012-07-11 ソニー株式会社 送信装置、送信方法、受信装置、受信方法、記録媒体、および通信システム
JP3494961B2 (ja) * 2000-07-21 2004-02-09 パナソニック コミュニケーションズ株式会社 暗号化処理装置及び暗号化処理方法
US6954747B1 (en) * 2000-11-14 2005-10-11 Microsoft Corporation Methods for comparing versions of a program
AU2002232426A1 (en) 2000-11-17 2002-05-27 Biftone Corporation System and method for updating and distributing information
US7478243B2 (en) 2001-03-21 2009-01-13 Microsoft Corporation On-disk file format for serverless distributed file system with signed manifest of file modifications
JP2002353960A (ja) 2001-05-30 2002-12-06 Fujitsu Ltd コード実行装置およびコード配布方法
JP2003122726A (ja) * 2001-06-07 2003-04-25 Hitachi Ltd コンテンツ制御方法及びその実施装置並びにその処理プログラム
US7546629B2 (en) * 2002-03-06 2009-06-09 Check Point Software Technologies, Inc. System and methodology for security policy arbitration
US7310821B2 (en) * 2001-08-27 2007-12-18 Dphi Acquisitions, Inc. Host certification method and system
US7729495B2 (en) * 2001-08-27 2010-06-01 Dphi Acquisitions, Inc. System and method for detecting unauthorized copying of encrypted data
JP4020077B2 (ja) * 2001-09-14 2007-12-12 ソニー株式会社 記録媒体の再生方法および再生装置、並びに記録媒体の記録方法および記録装置
US20030084298A1 (en) * 2001-10-25 2003-05-01 Messerges Thomas S. Method for efficient hashing of digital content
US7240205B2 (en) 2002-01-07 2007-07-03 Xerox Corporation Systems and methods for verifying documents
JP2003202929A (ja) 2002-01-08 2003-07-18 Ntt Docomo Inc 配信方法および配信システム
AU2003202815A1 (en) * 2002-01-12 2003-07-24 Coretrust, Inc. Method and system for the information protection of digital content
JP2005532610A (ja) * 2002-03-14 2005-10-27 コンテントガード ホールディングズ インコーポレイテッド 変調された信号を使用して使用権を表現するシステム及び方法
US7409717B1 (en) * 2002-05-23 2008-08-05 Symantec Corporation Metamorphic computer virus detection
US7529929B2 (en) * 2002-05-30 2009-05-05 Nokia Corporation System and method for dynamically enforcing digital rights management rules
US7203844B1 (en) 2002-06-20 2007-04-10 Oxford William V Method and system for a recursive security protocol for digital copyright control
DE10239062A1 (de) * 2002-08-26 2004-04-01 Siemens Ag Verfahren zum Übertragen von verschlüsselten Nutzdatenobjekten
US20040064457A1 (en) 2002-09-27 2004-04-01 Zimmer Vincent J. Mechanism for providing both a secure and attested boot
FR2845493A1 (fr) 2002-10-04 2004-04-09 Canal Plus Technologies Logiciel embarque et procede d'authentification de celui-ci
US7761316B2 (en) * 2002-10-25 2010-07-20 Science Applications International Corporation System and method for determining performance level capabilities in view of predetermined model criteria
US7165076B2 (en) 2002-11-15 2007-01-16 Check Point Software Technologies, Inc. Security system with methodology for computing unique security signature for executable file employed across different machines
JP2004260639A (ja) 2003-02-27 2004-09-16 Hitachi Ltd データ埋め込み方法及び視聴確認方法
US7406176B2 (en) * 2003-04-01 2008-07-29 Microsoft Corporation Fully scalable encryption for scalable multimedia
KR100755683B1 (ko) * 2003-05-07 2007-09-05 삼성전자주식회사 컨텐츠 제공자 인증 및 컨텐츠 무결성 보장 방법
US7219329B2 (en) * 2003-06-13 2007-05-15 Microsoft Corporation Systems and methods providing lightweight runtime code generation
JP2007535718A (ja) * 2003-07-07 2007-12-06 クリプターグラフィー リサーチ インコーポレイテッド 海賊行為を規制し、インタラクティブコンテンツを使用可能にするための再プログラマブルなセキュリティ
US8006307B1 (en) * 2003-07-09 2011-08-23 Imophaze Research Co., L.L.C. Method and apparatus for distributing secure digital content that can be indexed by third party search engines
US7491122B2 (en) 2003-07-09 2009-02-17 Wms Gaming Inc. Gaming machine having targeted run-time software authentication
GB2404488B (en) * 2003-07-31 2006-05-31 Sony Uk Ltd Access control for digital content
GB2404489A (en) * 2003-07-31 2005-02-02 Sony Uk Ltd Access control for digital storage medium content
US7103779B2 (en) 2003-09-18 2006-09-05 Apple Computer, Inc. Method and apparatus for incremental code signing
US20050071274A1 (en) 2003-09-27 2005-03-31 Utstarcom, Inc. Method and Apparatus in a Digital Rights Client and a Digital Rights Source and associated Digital Rights Key
US7921300B2 (en) * 2003-10-10 2011-04-05 Via Technologies, Inc. Apparatus and method for secure hash algorithm
US7346163B2 (en) * 2003-10-31 2008-03-18 Sony Corporation Dynamic composition of pre-encrypted video on demand content
US7539691B2 (en) * 2004-02-20 2009-05-26 Microsoft Corporation Systems and methods for updating a query engine opcode tree
US7664728B2 (en) * 2004-02-20 2010-02-16 Microsoft Corporation Systems and methods for parallel evaluation of multiple queries
EP1730619B1 (en) 2004-04-02 2011-05-11 Panasonic Corporation Unauthorized contents detection system
US7434058B2 (en) * 2004-06-07 2008-10-07 Reconnex Corporation Generating signatures over a document
JP2005354217A (ja) * 2004-06-08 2005-12-22 Sony Corp 情報出力処理装置、情報入力処理装置、情報処理システム及び情報処理方法
US7568102B2 (en) * 2004-07-15 2009-07-28 Sony Corporation System and method for authorizing the use of stored information in an operating system
US7669056B2 (en) * 2005-03-29 2010-02-23 Microsoft Corporation Method and apparatus for measuring presentation data exposure
EP2634958A1 (en) * 2005-01-21 2013-09-04 Nec Corporation Group Signature Scheme
JP2006221629A (ja) 2005-02-07 2006-08-24 Sony Computer Entertainment Inc プロセッサのリソース管理によるコンテンツ制御方法および装置
US7594261B2 (en) * 2005-02-08 2009-09-22 Microsoft Corporation Cryptographic applications of the Cartier pairing
US20060259781A1 (en) * 2005-04-29 2006-11-16 Sony Corporation/Sony Electronics Inc. Method and apparatus for detecting the falsification of metadata
US8364965B2 (en) 2006-03-15 2013-01-29 Apple Inc. Optimized integrity verification procedures

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010148730A1 (zh) * 2009-12-31 2010-12-29 中兴通讯股份有限公司 Drm文件完整性的保护方法及装置
CN101739522B (zh) * 2009-12-31 2013-01-02 中兴通讯股份有限公司 Drm文件完整性的保护方法及装置
CN102004879A (zh) * 2010-11-22 2011-04-06 北京北信源软件股份有限公司 一种识别可信任进程的方法
CN102004879B (zh) * 2010-11-22 2012-12-26 北京北信源软件股份有限公司 一种识别可信任进程的方法
CN103959742A (zh) * 2011-10-25 2014-07-30 阿尔卡特朗讯公司 在点对点内容分发***中验证从对等点接收的内容的完整性
CN106685653B (zh) * 2016-12-29 2020-07-07 同济大学 一种基于信息安全技术的车辆远程固件更新方法及装置
CN106685653A (zh) * 2016-12-29 2017-05-17 同济大学 一种基于信息安全技术的车辆远程固件更新方法及装置
CN108900472A (zh) * 2018-05-31 2018-11-27 北京五八信息技术有限公司 信息的传输方法和装置
CN108920971A (zh) * 2018-07-06 2018-11-30 北京京东金融科技控股有限公司 数据加密的方法、校验的方法、加密的装置和校验的装置
CN112567371A (zh) * 2018-08-17 2021-03-26 微芯片技术股份有限公司 文件的认证
CN113287113A (zh) * 2019-01-23 2021-08-20 株式会社斯凯拉 具有篡改检测性的***
CN113287113B (zh) * 2019-01-23 2024-05-31 株式会社斯凯拉 具有篡改检测性的***
CN109949889A (zh) * 2019-03-29 2019-06-28 镇江市第一人民医院 一种电子护理病历***
CN111866554A (zh) * 2020-07-09 2020-10-30 郑州信大捷安信息技术股份有限公司 多媒体安全播放方法和***

Also Published As

Publication number Publication date
SE534208C2 (sv) 2011-05-31
EP2988238A1 (en) 2016-02-24
CN101443774B (zh) 2015-03-25
US8886947B2 (en) 2014-11-11
US20130145167A1 (en) 2013-06-06
SE535797C2 (sv) 2012-12-27
WO2007106831A1 (en) 2007-09-20
SE1150067A1 (sv) 2011-02-01
US8364965B2 (en) 2013-01-29
FR2911419B1 (fr) 2018-02-09
EP2988238B1 (en) 2018-06-06
US20070220261A1 (en) 2007-09-20
SE0700601L (sv) 2007-09-16
EP1835432A1 (en) 2007-09-19
EP2284755A1 (en) 2011-02-16
DE102007012490A1 (de) 2007-09-20
EP2284755B1 (en) 2015-04-22
FR2911419A1 (fr) 2008-07-18
EP2284754A1 (en) 2011-02-16

Similar Documents

Publication Publication Date Title
CN101443774B (zh) 优化完整性验证过程的方法和***
US10484185B2 (en) Method and system for distributing attestation key and certificate in trusted computing
US9847880B2 (en) Techniques for ensuring authentication and integrity of communications
US7721098B2 (en) System and method for guaranteeing software integrity via combined hardware and software authentication
WO2021012552A1 (zh) 一种登录处理方法及相关设备
US6516413B1 (en) Apparatus and method for user authentication
US20130151857A1 (en) System and Method for a Single Request - Single Response Protocol with Mutual Replay Attack Protection
US20020083325A1 (en) Updating security schemes for remote client access
WO2018112482A1 (en) Method and system for distributing attestation key and certificate in trusted computing
US20220216999A1 (en) Blockchain system for supporting change of plain text data included in transaction
US7490237B1 (en) Systems and methods for caching in authentication systems
KR102250430B1 (ko) Pki 기반의 일회성 아이디를 사용하여 서비스를 사용하는 방법, 및 이를 사용한 사용자 단말
US8667278B2 (en) Information processing apparatus and data transmission method of information processing apparatus
US7779269B2 (en) Technique for preventing illegal invocation of software programs
JP6939313B2 (ja) 分散認証システム
US20240004986A1 (en) Cla certificateless authentication of executable programs
JP2002006739A (ja) 認証情報生成装置およびデータ検証装置
CN117494104A (zh) 基于3des的密码管理方法、***、设备及介质
CN118199884A (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
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20150325

Termination date: 20210313