当前位置: 首页 > 专利查询>苹果公司专利>正文

优化的完整性验证过程制造技术

技术编号:2913760 阅读:180 留言:0更新日期:2012-04-11 18:40
本发明专利技术的某些实施例提供一种验证数字内容完整性的方法。在数字内容的来源处,所述方法通过将散列函数应用于数字内容的特定部分,来为数字内容生成签名,其中特定部分少于全部数字内容。所述方法向设备提供签名和数字内容。在设备处,所述方法将散列函数应用于数字内容的特定部分,以验证所提供的签名,并由此验证所提供的数字内容的完整性。

【技术实现步骤摘要】
【国外来华专利技术】
本专利技术涉及优化的完整性验证过程
技术介绍
如今,对于很多企业而言,保护通过网络在计算机之间传输的数字内容非常重要。企业试图通过实施某些形式的数字权益管理(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的涂黑的部分。在某些实施例中,该比特模式(例如由内本文档来自技高网
...

【技术保护点】
一种方法,包括: a)仅根据特定内容的一部分为所述特定内容生成数字签名;以及 b)提供所述数字签名。

【技术特征摘要】
【国外来华专利技术】US 2006-3-15 11/377,0821.一种方法,包括: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)用于确定所述特定散列对于所接收的数字签...

【专利技术属性】
技术研发人员:AJ法鲁吉亚JF林德奥
申请(专利权)人:苹果公司
类型:发明
国别省市:US[美国]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1