CN101443774B - 优化完整性验证过程的方法和系统 - Google Patents
优化完整性验证过程的方法和系统 Download PDFInfo
- Publication number
- CN101443774B CN101443774B CN200780017674.0A CN200780017674A CN101443774B CN 101443774 B CN101443774 B CN 101443774B CN 200780017674 A CN200780017674 A CN 200780017674A CN 101443774 B CN101443774 B CN 101443774B
- Authority
- CN
- China
- Prior art keywords
- content
- equipment
- hash
- certain content
- 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.)
- Expired - Fee Related
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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/3247—Cryptographic 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/64—Protecting data integrity, e.g. using checksums, certificates or signatures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2228—Indexing structures
- G06F16/2255—Hash tables
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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/3236—Cryptographic 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 (101)
1.一种为内容提供数字签名的方法,包括:
对于包括多组操作码和相关联的操作数的单个内容,选择每组操作码和操作数的一部分,其中所述多组中的每组的所述部分少于整个组;
仅对该组操作码和操作数的选定部分使用散列函数,以生成散列;
对于所述单个内容,根据所生成的散列生成所述数字签名,所述数字签名对整个所述单个内容进行验证;以及
向用户设备提供所述数字签名和所述单个内容。
2.根据权利要求1所述的方法,进一步包括:选择所述单个内容的每组操作码和操作数的所述部分。
3.根据权利要求2所述的方法,其中选择每组操作码和操作数的所述部分的步骤包括:选择使对所述单个内容的篡改的检测最大化的部分。
4.根据权利要求2所述的方法,其中选择每组操作码和操作数的所述部分的步骤包括:选择使散列的冲突最小化的部分。
5.根据权利要求2所述的方法,其中选择每组操作码和操作数的所述部分的步骤包括:选择使计算资源最小化的部分。
6.根据权利要求1所述的方法,进一步包括:基于所述单个内容中的有序比特模式来选择所述单个内容的每组操作码和操作数的所述部分。
7.根据权利要求1所述的方法,进一步包括:基于伪随机操作来选择所述单个内容的每组操作码和操作数的所述部分。
8.根据权利要求1所述的方法,其中所述单个内容包括:用于特定设备的固件的更新内容。
9.根据权利要求1所述的方法,其中所述单个内容是用于在特定设备上操作的应用程序。
10.根据权利要求9所述的方法,其中所述设备是便携式播放器。
11.根据权利要求1所述的方法,其中所述单个内容包括目标代码。
12.根据权利要求1所述的方法,其中每组操作码和操作数的所述部分仅包括操作码。
13.根据权利要求1所述的方法,其中每组操作码和操作数的所述部分包括操作码和操作数二者。
14.根据权利要求1所述的方法,进一步包括:提供所述单个内容。
15.一种为内容提供数字签名的方法,包括:
对于包括多组操作码和相关联的操作数的特定内容,选择所述特定内容的一部分,其中所述部分仅包括每组中的操作码;
仅对所述特定内容的所述部分使用散列函数以生成散列;
根据所述散列为所述特定内容生成所述数字签名;以及
向用户设备提供所述数字签名。
16.根据权利要求15所述的方法,其中所述特定内容包括目标代码。
17.根据权利要求15所述的方法,进一步包括提供所述特定内容。
18.一种在客户设备验证特定内容的真实性的方法,包括:
在客户设备接收包括多组操作码和操作数的特定内容;以及
通过使用数字签名,验证所述特定内容的可靠性,所述数字签名是从仅对所述特定内容的一部分使用散列函数而生成的散列导出的,其中所述部分包括伪随机选择的操作码和操作数的组合。
19.根据权利要求18所述的方法,其中验证特定内容的可靠性的步骤包括使用非对称完整性过程。
20.根据权利要求19所述的方法,其中使用非对称完整性过程的步骤包括:
仅为所接收的特定内容的所述部分计算特定散列;以及
生成完整性检查值以确定所述特定散列对于所导出的数字签名是否适当。
21.根据权利要求20所述的方法,其中当确定所述特定散列对于所导出的数字签名适当时,所述特定内容被验证为可靠的。
22.根据权利要求18所述的方法,其中验证特定内容的可靠性的步骤包括使用对称完整性过程。
23.根据权利要求22所述的方法,其中使用对称完整性过程的步骤包括:
仅为所接收的特定内容的所述部分生成特定散列;
基于所述特定散列生成另一个数字签名;以及
确定所导出的数字签名是否与所述另一个数字签名匹配。
24.根据权利要求23所述的方法,其中当确定这两个数字签名匹配时,所述特定内容被验证为可靠的。
25.根据权利要求18所述的方法,其中所述特定内容包括:用于特定设备的固件的更新内容。
26.根据权利要求18所述的方法,其中所述特定内容是用于在特定设备上操作的应用程序。
27.根据权利要求21所述的方法,其中所述设备是便携式播放器。
28.根据权利要求18所述的方法,进一步包括:执行与设备的同步操作,以接收所述特定内容和数字签名。
29.根据权利要求28所述的方法,其中所述设备是第一设备,其中所述接收、验证和执行是由第二设备执行的。
30.根据权利要求29所述的方法,其中在所述第二设备的引导序列期间执行所述验证。
31.根据权利要求18所述的方法,其中所述验证至少部分地是由存储在设备的只读存储器中的指令集来执行的。
32.一种验证特定内容的真实性的方法,包括:
接收包括多组操作码和操作数的特定内容;以及
通过使用数字签名来验证所述特定内容的可靠性,其中所述数字签名是从仅对所述特定内容的一部分使用散列函数而生成的散列导出的,其中所述部分包括每组操作码和操作数的一部分,其中至少一组操作码和操作数的所述一部分少于整个组。
33.根据权利要求32所述的方法,其中验证所述特定内容的可靠性包括使用非对称完整性过程。
34.根据权利要求33所述的方法,其中使用非对称完整性过程包括:
仅为所接收的特定内容的所述部分计算特定散列;以及
生成完整性检查值以确定所述特定散列对于所导出的数字签名是否适当。
35.根据权利要求34所述的方法,其中当确定所述特定散列对于所导出的数字签名适当时,所述特定内容被验证为可靠的。
36.根据权利要求32所述的方法,其中验证所述特定内容的可靠性包括使用对称完整性过程。
37.根据权利要求36所述的方法,其中使用对称完整性过程包括:
仅为所接收的特定内容的所述部分生成特定散列;
基于所述特定散列生成另一个数字签名;以及
确定所导出的数字签名是否与所述另一个数字签名匹配。
38.根据权利要求37所述的方法,其中当确定这两个数字签名匹配时,所述特定内容被验证为可靠的。
39.根据权利要求32所述的方法,进一步包括:执行与第一设备的同步操作,以接收所述特定内容和所述数字签名,其中接收、验证和执行由第二设备执行。
40.根据权利要求39所述的方法,其中验证在所述第二设备的引导序列期间被执行。
41.根据权利要求32所述的方法,其中验证至少部分地是由存储在设备的只读存储器中的指令集来执行的。
42.一种用于访问内容的设备,所述设备包括:
用于存储包括多组操作码和操作数的特定内容的存储器,每组包括操作码和与操作码相关联的一组操作数;以及
用于利用单个数字签名来鉴别整个所述特定内容的电子组件,所述单个数字签名是从仅对所述特定内容的一部分使用散列函数而生成的散列导出,其中所述部分仅包括来自所述多组中的每组的操作码、但没有与所述操作码相关联的一组操作数。
43.根据权利要求42所述的设备,其中所述电子组件进一步用于仅根据所述特定内容的所述部分生成所述单个数字签名。
44.根据权利要求43所述的设备,其中所述电子组件生成所述单个数字签名是通过首先仅根据所述特定内容的所述部分生成散列,然后根据所生成的散列生成单个数字签名。
45.根据权利要求43所述的设备,其中所述电子组件通过将所生成的数字签名与所述设备接收的数字签名相比较,来利用所述单个数字签名。
46.根据权利要求42所述的设备,其中所述单个数字签名是所述设备接收的签名。
47.根据权利要求42所述的设备,其中所述设备是计算机。
48.根据权利要求42所述的设备,其中所述设备是便携式播放器。
49.根据权利要求42所述的设备,进一步包括:用于存储指令集的只读存储器,所述指令集用于利用所述单个数字签名来鉴别整个所述特定内容。
50.根据权利要求43所述的设备,其中所述指令集包括用于仅根据所述特定内容的所述部分生成单个数字签名的指令。
51.一种用于发布内容的系统,所述系统包括:
用于提供包括多组操作码和操作数的特定内容的计算机组;以及
用于利用单个数字签名来鉴别整个特定内容的设备,其中所述单个数字签名是基于特定内容的有序比特模式、从仅对所述特定内容的一部分使用散列函数而生成的散列导出,其中所述部分仅包括多组操作码和操作数中的每组的一部分。
52.根据权利要求51所述的系统,其中所述计算机组进一步用于:
仅对所述特定内容的所述部分使用散列函数,以生成所述散列;以及
根据所述散列生成所述单个数字签名。
53.根据权利要求52所述的系统,其中所述计算机组通过选择所述特定内容的使对所述特定内容的篡改的检测最大化的部分,来生成所述散列。
54.根据权利要求52所述的系统,其中所述计算机组通过选择所述特定内容的使散列冲突最小的部分,来生成所述散列。
55.根据权利要求52所述的系统,其中所述计算机组通过选择所述特定内容的使计算资源最小化的部分,来生成所述散列。
56.根据权利要求51所述的系统,其中所述设备包括用于存储指令集的只读存储器,所述指令集用于鉴别整个特定内容。
57.根据权利要求51所述的系统,其中所述计算机组包括一台计算机。
58.根据权利要求51所述的系统,其中所述计算机组包括多于一台的计算机。
59.根据权利要求51所述的系统,其中所述设备通过使用非对称完整性过程,来利用所述单个数字签名鉴别整个特定内容。
60.根据权利要求51所述的系统,其中所述设备通过使用对称完整性过程,来利用所述单个数字签名鉴别整个特定内容。
61.根据权利要求51所述的系统,其中所述单个数字签名是由所述计算机组提供的签名。
62.根据权利要求61所述的系统,其中所述设备通过生成完整性检查值以确定由所述设备计算的散列对于所提供的数字签名是否适当,来利用所述单个数字签名。
63.根据权利要求52所述的系统,其中所述单个数字签名是由所述设备生成的。
64.根据权利要求63所述的系统,其中所述设备通过将由所述设备生成的单个数字签名与由所述计算机组提供的另一个数字签名相比较,来利用所述单个数字签名。
65.一种验证内容的方法,包括:
在数字内容的来源处,通过将散列函数应用于数字内容的特定部分来为整个数字内容生成单个签名,所述数字内容包括多组操作码和操作数,以及对于多组操作码和操作数中的每一组,所述特定部分包括所述组的一部分但不是所述组的全部;
向计算设备提供所述单个签名和所述数字内容;以及
在所述设备处,将所述散列函数应用于所述数字内容的所述特定部分以生成散列,使用所生成的散列以验证与所述数字内容一起被提供的所述单个签名,并由此验证所提供的数字内容的完整性。
66.根据权利要求65所述的方法,进一步包括:
在所述数字内容的来源处,选择每组操作码和操作数的一部分作为所述数字内容的所述特定部分;以及
在所述设备处,选择所述数字内容的每组操作码和操作数的所述部分作为所述数字内容的所述特定部分。
67.根据权利要求65所述的方法,其中所述来源是所述数字内容的作者。
68.根据权利要求65所述的方法,其中所述来源是数字权限管理系统中所述数字内容的发布者。
69.根据权利要求65所述的方法,进一步包括:将标识所述特定部分的代码存储在所述设备的只读存储器中。
70.根据权利要求65所述的方法,进一步包括:将所述散列函数存储在所述设备的只读存储器中。
71.根据权利要求65所述的方法,其中为整个数字内容生成单个签名的步骤包括:
将所述散列函数应用于所述特定部分,以生成散列;以及
根据所述散列生成所述单个签名。
72.根据权利要求65所述的方法,进一步包括:在所述设备处,向签名验证过程提供所生成的散列和所述签名,其中所述签名验证过程基于所提供的散列来确定所述签名的可靠性。
73.根据权利要求65所述的方法,其中被提供给所述设备的签名是第一签名,其中使用所生成的散列的步骤包括:
在所述设备处,基于所生成的散列,生成第二签名;以及
在所述设备处,比较第一签名和第二签名,以确定所提供的数字内容的完整性。
74.根据权利要求65所述的方法,其中所述数字内容包括用于在所述设备上执行的代码,其中在所述设备处应用所述散列函数的步骤包括在将所述代码加载到可执行存储器中之前应用所述散列函数。
75.根据权利要求65所述的方法,其中所述数字内容包括用于修改所述设备的操作系统的代码。
76.一种验证应用程序的方法,包括:
在便携式媒体播放设备处,接收用于所述设备的包括可执行代码的应用程序,所述可执行代码包括多个操作码和操作数;
在所述设备处,接收用于所述应用程序的数字签名,其中所述数字签名是基于所述应用程序的有序比特模式、仅对所述应用程序的一部分使用散列函数而被生成,所述部分包括多组操作码和操作数的每组的一部分;以及
通过重新计算在导出所述数字签名时使用的摘要,来鉴别整个所述应用程序,重新计算的摘要是仅根据应用程序的同一部分导出的。
77.根据权利要求76所述的方法,其中所接收的应用程序是对现有应用程序的更新。
78.根据权利要求77所述的方法,其中所述现有应用程序是所述设备的固件。
79.根据权利要求76所述的方法,其中所述鉴别步骤包括:
在所述便携式媒体播放设备处,仅根据所接收的应用程序中的被用于生成所接收的数字签名的所述部分来生成数字签名;以及
将所生成的数字签名与所接收的数字签名相比较。
80.根据权利要求79所述的方法,其中生成数字签名的步骤包括:将散列函数仅应用于:所接收的应用程序中的被用于生成所接收的数字签名的所述部分。
81.一种验证特定内容的真实性的装置,包括:
用于接收包含多组操作码和操作数的特定内容的模块;以及
用于通过使用单个数字签名,验证整个所述特定内容的可靠性的模块,其中所述单个数字签名是从仅对所述特定内容的一部分使用散列函数而生成的散列导出的,其中对于多组操作码和操作数中的每一组,所述部分包括所述组的一部分但不是所述组的全部。
82.根据权利要求81所述的装置,其中验证整个特定内容的可靠性的模块使用非对称完整性过程。
83.根据权利要求82所述的装置,其中使用非对称完整性过程包括:
仅为所接收的特定内容的所述部分计算特定散列;以及
生成完整性检查值以确定所述特定散列对于所导出的数字签名是否适当。
84.根据权利要求83所述的装置,其中当确定所述特定散列对于所导出的数字签名适当时,整个所述特定内容被验证为可靠的。
85.根据权利要求81所述的装置,其中验证整个特定内容的可靠性的模块使用对称完整性过程。
86.根据权利要求85所述的装置,其中使用对称完整性过程包括:
仅为所接收的特定内容的所述部分生成特定散列;
基于所述特定散列生成另一个数字签名;以及
确定所导出的数字签名是否与所述另一个数字签名匹配。
87.根据权利要求86所述的装置,其中当确定这两个数字签名匹配时,所述特定内容被验证为可靠的。
88.根据权利要求81所述的装置,进一步包括:用于基于所述特定内容中的有序比特模式来选择所述特定内容的所述部分的模块。
89.根据权利要求81所述的装置,进一步包括:用于基于伪随机操作来选择所述特定内容的所述部分的模块。
90.根据权利要求81所述的装置,其中所述特定内容包括:用于特定设备的固件的更新内容。
91.根据权利要求81所述的装置,其中所述特定内容是用于在特定设备上操作的应用程序。
92.根据权利要求91所述的装置,其中所述设备是便携式播放器。
93.根据权利要求81所述的装置,其中所述部分仅包括操作码。
94.根据权利要求81所述的装置,其中所述部分包括操作码和操作数。
95.根据权利要求81所述的装置,进一步包括:用于执行与设备的同步操作,以接收所述特定内容和数字签名的模块。
96.根据权利要求95所述的装置,其中所述设备是第一设备,其中所述接收、验证和执行是由第二设备执行的。
97.根据权利要求85所述的装置,其中在所述第二设备的引导序列期间执行所述验证。
98.根据权利要求81所述的装置,其中所述验证至少部分地是由存储在设备的只读存储器中的指令集来执行的。
99.一种验证内容的真实性的装置,包括:
用于在便携式媒体播放设备处,接收特定内容以及根据仅对所述特定内容的一部分使用散列函数而生成的散列基于所述特定内容的有序比特模式导出的数字签名的模块,所述特定内容包括多组操作码和操作数,所述部分包括所述多组操作码和操作数的每组的一部分;和
用于在所述设备处,通过重新计算在导出数字签名时使用的摘要来鉴别整个所述特定内容的可靠性的模块,重新计算的摘要是仅根据所述特定内容的所述部分导出的。
100.根据权利要求99所述的装置,其中所述部分仅包括操作码。
101.根据权利要求99所述的装置,其中所述部分包括操作码和操作数。
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 CN101443774A (zh) | 2009-05-27 |
CN101443774B true 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) | EP1835432A1 (zh) |
CN (1) | CN101443774B (zh) |
DE (1) | DE102007012490A1 (zh) |
FR (1) | FR2911419B1 (zh) |
SE (2) | SE535797C2 (zh) |
WO (1) | WO2007106831A1 (zh) |
Families Citing this family (43)
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 |
JP4479703B2 (ja) * | 2006-08-29 | 2010-06-09 | ブラザー工業株式会社 | 通信システムと管理装置 |
JP4305481B2 (ja) * | 2006-08-29 | 2009-07-29 | ブラザー工業株式会社 | 通信システムと管理装置と情報処理装置 |
US20090235083A1 (en) * | 2008-02-20 | 2009-09-17 | Micheal Bleahen | System and method for preventing unauthorized access to information |
US9443068B2 (en) | 2008-02-20 | 2016-09-13 | 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 | 한국전자통신연구원 | 프로그램 정보에 포함된 시그너처를 이용하여 방송 프로그램의 사용을 제어하는 방송 신호 수신 장치 및 그 방법 |
CN101739522B (zh) * | 2009-12-31 | 2013-01-02 | 中兴通讯股份有限公司 | Drm文件完整性的保护方法及装置 |
CN102004879B (zh) * | 2010-11-22 | 2012-12-26 | 北京北信源软件股份有限公司 | 一种识别可信任进程的方法 |
US9852143B2 (en) | 2010-12-17 | 2017-12-26 | Microsoft Technology Licensing, Llc | Enabling random access within objects in zip archives |
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 |
US8972967B2 (en) | 2011-09-12 | 2015-03-03 | Microsoft Corporation | Application packages using block maps |
US9148478B2 (en) | 2011-10-25 | 2015-09-29 | Alcatel Lucent | Verification of integrity of peer-received content in a peer-to-peer content distribution system |
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 |
CN106685653B (zh) * | 2016-12-29 | 2020-07-07 | 同济大学 | 一种基于信息安全技术的车辆远程固件更新方法及装置 |
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 |
CN108900472B (zh) * | 2018-05-31 | 2021-11-30 | 北京五八信息技术有限公司 | 信息的传输方法和装置 |
CN108920971A (zh) * | 2018-07-06 | 2018-11-30 | 北京京东金融科技控股有限公司 | 数据加密的方法、校验的方法、加密的装置和校验的装置 |
US11210413B2 (en) * | 2018-08-17 | 2021-12-28 | Microchip Technology Incorporated | Authentication of files |
US11144375B2 (en) | 2018-10-09 | 2021-10-12 | Argo AI, LLC | Execution sequence integrity parameter monitoring system |
US11138085B2 (en) | 2018-10-09 | 2021-10-05 | Argo AI, LLC | Execution sequence integrity monitoring system |
WO2020153454A1 (ja) * | 2019-01-23 | 2020-07-30 | 株式会社Scalar | 改ざん検知性を有するシステム |
CN109949889B (zh) * | 2019-03-29 | 2020-09-11 | 镇江市第一人民医院 | 一种电子护理病历系统 |
US11443048B2 (en) * | 2019-05-06 | 2022-09-13 | Microsoft Technology Licensing, Llc | Install-time procedural content generation for encrypted packages |
US11418345B2 (en) | 2019-06-19 | 2022-08-16 | Amazon Technologies, Inc. | Digest proofs in a journaled database |
US11310054B2 (en) | 2019-06-19 | 2022-04-19 | Amazon Technologies, Inc. | Symmetric function for journaled database proof |
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 | 株式会社ソニー・インタラクティブエンタテインメント | アクセス制御装置、アクセス制御方法及びプログラム |
US11809482B2 (en) | 2019-08-12 | 2023-11-07 | Medex Forensics, Inc. | Source identifying forensics system, device, and method for multimedia files |
CN111866554B (zh) * | 2020-07-09 | 2022-05-17 | 郑州信大捷安信息技术股份有限公司 | 多媒体安全播放方法和系统 |
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 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1496419A1 (en) * | 2003-07-09 | 2005-01-12 | Wms Gaming, Inc. | Gaming machine having targeted run-time software authentication |
Family Cites Families (85)
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 |
JP2001034470A (ja) | 1999-07-22 | 2001-02-09 | Fujitsu Ltd | 管理自動化機構を有するサーバ |
US7650504B2 (en) * | 1999-07-22 | 2010-01-19 | Macrovision Corporation | System and method of verifying the authenticity of dynamically connectable executable images |
AU6614600A (en) | 1999-07-29 | 2001-02-19 | Intertrust Technologies Corp. | Systems and methods for using cryptography to protect secure and insecure computing environments |
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 |
US6820105B2 (en) * | 2000-05-11 | 2004-11-16 | Cyberguard Corporation | Accelerated montgomery exponentiation 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 |
CN1300677C (zh) * | 2000-06-22 | 2007-02-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 |
CA2414281C (en) | 2000-11-17 | 2009-06-02 | Bitfone 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 |
US7729495B2 (en) * | 2001-08-27 | 2010-06-01 | Dphi Acquisitions, Inc. | System and method for detecting unauthorized copying of encrypted data |
US7310821B2 (en) * | 2001-08-27 | 2007-12-18 | Dphi Acquisitions, Inc. | Host certification method and system |
WO2003025930A1 (fr) * | 2001-09-14 | 2003-03-27 | Sony Corporation | Procede de reproduction de support d'enregistrement et appareil de reproduction, procede d'enregistrement de support d'enregistrement et appareil d'enregistrement |
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 | 配信方法および配信システム |
WO2003058485A1 (en) * | 2002-01-12 | 2003-07-17 | Coretrust, Inc. | Method and system for the information protection of digital content |
AU2003220269A1 (en) * | 2002-03-14 | 2003-09-29 | Contentguard Holdings, Inc. | Method and apparatus for processing usage rights expressions |
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 |
AU2003282996A1 (en) * | 2002-10-25 | 2004-05-25 | Science Applications International Corporation | Determining performance level capabilities using 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 |
US8055910B2 (en) * | 2003-07-07 | 2011-11-08 | Rovi Solutions Corporation | Reprogrammable security for controlling piracy and enabling interactive content |
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 |
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 |
US7664728B2 (en) * | 2004-02-20 | 2010-02-16 | Microsoft Corporation | Systems and methods for parallel evaluation of multiple queries |
US7539691B2 (en) * | 2004-02-20 | 2009-05-26 | Microsoft Corporation | Systems and methods for updating a query engine opcode tree |
KR101067613B1 (ko) | 2004-04-02 | 2011-09-28 | 파나소닉 주식회사 | 비인증 콘텐츠 검출시스템 |
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 |
EP1843511A4 (en) * | 2005-01-21 | 2010-11-03 | Nec Corp | GROUP SIGNATURE SYSTEM |
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 |
-
2006
- 2006-03-15 US US11/377,082 patent/US8364965B2/en active Active
-
2007
- 2007-03-13 CN CN200780017674.0A patent/CN101443774B/zh not_active Expired - Fee Related
- 2007-03-13 WO PCT/US2007/063919 patent/WO2007106831A1/en active Application Filing
- 2007-03-13 SE SE1150067A patent/SE535797C2/sv unknown
- 2007-03-13 SE SE0700601A patent/SE534208C2/sv unknown
- 2007-03-15 EP EP07104227A patent/EP1835432A1/en not_active Ceased
- 2007-03-15 DE DE102007012490A patent/DE102007012490A1/de not_active Withdrawn
- 2007-03-15 EP EP20100183083 patent/EP2284754A1/en not_active Withdrawn
- 2007-03-15 EP EP20100183093 patent/EP2284755B1/en not_active Not-in-force
- 2007-03-15 EP EP15187219.9A patent/EP2988238B1/en not_active Not-in-force
- 2007-03-15 FR FR0753849A patent/FR2911419B1/fr not_active Expired - Fee Related
-
2012
- 2012-12-20 US US13/723,097 patent/US8886947B2/en not_active Expired - Fee Related
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1496419A1 (en) * | 2003-07-09 | 2005-01-12 | Wms Gaming, Inc. | Gaming machine having targeted run-time software authentication |
Also Published As
Publication number | Publication date |
---|---|
SE535797C2 (sv) | 2012-12-27 |
EP2988238A1 (en) | 2016-02-24 |
EP2284754A1 (en) | 2011-02-16 |
US8886947B2 (en) | 2014-11-11 |
WO2007106831A1 (en) | 2007-09-20 |
US20070220261A1 (en) | 2007-09-20 |
SE534208C2 (sv) | 2011-05-31 |
SE0700601L (sv) | 2007-09-16 |
EP2284755A1 (en) | 2011-02-16 |
CN101443774A (zh) | 2009-05-27 |
FR2911419A1 (fr) | 2008-07-18 |
FR2911419B1 (fr) | 2018-02-09 |
US20130145167A1 (en) | 2013-06-06 |
DE102007012490A1 (de) | 2007-09-20 |
EP2284755B1 (en) | 2015-04-22 |
SE1150067A1 (sv) | 2011-02-01 |
EP1835432A1 (en) | 2007-09-19 |
US8364965B2 (en) | 2013-01-29 |
EP2988238B1 (en) | 2018-06-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101443774B (zh) | 优化完整性验证过程的方法和系统 | |
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 | |
US6421779B1 (en) | Electronic data storage apparatus, system and method | |
CN1985466B (zh) | 使用分发cd按签署组向设备传递直接证据私钥的方法 | |
US20020083325A1 (en) | Updating security schemes for remote client access | |
CN109815747B (zh) | 基于区块链的离线审计方法、电子装置及可读存储介质 | |
US20090025061A1 (en) | Conditional peer-to-peer trust in the absence of certificates pertaining to mutually trusted entities | |
US7347366B2 (en) | Method and apparatus to provide authentication using an authentication card | |
US7743145B2 (en) | Verifying measurable aspects associated with a module | |
KR100897075B1 (ko) | 배포 cd를 사용하는 장치에 서명 그룹의 다이렉트 증명개인 키들을 전달하는 방법 |
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 |