将数字签名嵌入到数字有效负荷中 背景
本发明通常涉及从一个基于处理器的系统被发送给另一个的数字有效负荷的认证。
数字签名是基于加密的个人认证方法和被用于“签署(signing)”电子文档的保密授权码。包括流数据的数字形式的电子文档、文件或其它电子数据可被称为有效负荷。当有效负荷从一个基于处理器的系统被发送给另一个时,产生了关于有效负荷是否为被授权的有效负荷的问题。
当有效负荷未被授权时可引起多种情况。在一种情况下,为了一些不正当的目的,未授权的第三方可能试图获得对基于处理器的接收系统的访问。在另一种情况下,为了不正当的目的,基于处理器的接收系统的拥有者可能试图使用另一个基于处理器的系统来访问其自己的基于处理器的系统以变更其自己的基于处理器的系统上的软件。这样,可能理想的是需要在给定的基于处理器的系统中接收的任何有效负荷上地数字签名的存在。
在其中可能理想的是需要有效负荷的认证的系统的一个实例是有从另一个基于处理器的系统如服务器接收更新软件的多个基于处理器的客户的网络。由客户接收的软件更新可能未经授权的可能性是存在的。例如,某人可能正通过提供有效打开(open up)客户以由第三方访问的软件而试图不正当地获得对客户的访问。其中这可能是问题的情形的实例包括实施电视分发的系统、在被限制的基础上提供对资源的访问的系统和允许在受限的情况下对电子文件的访问的系统。在每种情况下,如果未授权方试图改变加强对客户的控制的软件,则被嵌入客户的访问或计费控制可被绕开。
可能理想的是控制客户操作的方式的又另一种情形是与所谓的MP3播放器连接。MP3播放器依照MPEG-1、第3层标准(可从国际标准化组织得到的移动画面专家组-1,ISO/IEC 11172-3和ISO/IEC13818-3(1993))来播放数字文件。在一些应用中,可能理想的是限制用户下载电子文件而不付费的能力。例如,可能理想的是需要用户支付费用以在互联网上访问音乐。这种按下载支付的政策可由MP3播放器本身内的软件来加强。这样,有人可能通过提供未授权的软件更新给MP3播放器而试图绕开这种软件。
数字签名软件可涉及公共密钥算法的使用。可使用私人密钥以创建安全数字签名来加密电子文档。在其它情况下,不同的算法被用于不能被用于加密的数字签名。用户用私人密钥来加密文档,由此签署该文档。文档然后被发送给另一个基于处理器的系统,在那里用用户提供的公共密钥来解密它,由此校验签名。这样,用于描述的密钥分离于所签署的文档而被获得。
一旦有效负荷已被校验,其然后可不受损害地被用于基于处理器的接收系统中。在各种情况下,可能理想的是确保在被接收时未受破坏的有效负荷在其后的所有时间是未受破坏的。
这样,需要较好的方式来提供结合有效负荷的数字签名。
附图简述
图1是本发明一个实施例的方块图描述;
图2是依照本发明的一个实施例用于将有效负荷和数字签名捆绑在一起的软件的流程图;以及
图3是依照本发明的一个实施例可被用于将数字签名应用于有效负荷的软件的流程图。
详述
如图1中所示,基于处理器的接收系统10可从基于处理器的发送系统56接收有效负荷。基于处理器的接收10和发送56系统可以是分级或对等网络的一部分。在一个实施例中,发送系统56可以是服务器而接收系统10可以是客户。作为几个实例,可通过硬连线连接、网络连接如局域网(LAN)或互联网连接、电话连接或无线连接来耦合系统10和56。
发送系统56将经签署的有效负荷提供给接收系统10。有效负荷可以是由接收系统10使用的电子文档。作为一个实例,发送系统5 6可提供经签署的软件更新给接收系统10。
在本发明的一些实施例中,重要的是确保被提供给接收系统10的有效负荷是真实的(authentic)并且在接收系统10上在有效寿命中一直保持未受破坏。
在本发明的一个实施例中,接收系统10是MP3播放器。就是说,它是能接收并播放MP3文件形式的数字音乐文件的便携装置。然而,本发明可用于各种各样的基于处理器的系统应用而决不局限于MP3播放器。
在一个实施例中,系统10可包括被耦合于北桥14的处理器12。在一个实施例中,北桥14耦合于总线18和系统存储器16。在该实施例中,总线18可被耦合于耦合于显示器22的显示控制器20。在MP3播放器应用中,作为一个实例,显示器22可以是小液晶显示器。
在一个实施例中,总线18亦可耦合于音频加速器24和编码器/解码器或编解码器26。编解码器26可驱动可被耦合于内部或外部扬声器32的声音系统30。在MP3播放器的情况下,外部扬声器32可被耦合于系统10。
在一个实施例中,编解码器26和总线18可被耦合于南桥34。在该实施例中,闪存36可被利用。然而,包括硬盘驱动器的其它形式的存储可能较适用于其它应用。在所示的实施例中,作为一个实例,闪存36存储软件38、音乐文件40、软件系统42和备份软件系统44。
在一个实施例中,南桥34被耦合于总线46。在该实施例中,总线46可被耦合于串行输入/输出(SIO)装置48,该装置又耦合于控制50和接口52。控制50可接收用户输入。接口52提供了到远距离的、基于处理器的发送系统56的连接,该系统在一个实施例中可以是基站。举几个实例,接口52和系统56之间的连接可以是网络连接、硬连线连接、通用串行总线连接或无线连接。
可通过接口52从系统56接收有效负荷。系统56可将软件存储于存储58中。常规上系统56是基于处理器的系统。
亦被耦合于总线46的是基本输入/输出系统(BIOS)存储54。各种其它部件可被包括,并且其它体系结构可被用于各种不同的实施例。
接下来转到图2,软件60可被存储在基于处理器的发送系统56的存储58上,该系统在一些实施例中可起到基站的作用。软件60可负责创建数字文件,包括有数字签名的有效负荷。在一个实施例中,以这种方式,有效负荷和数字签名可被集成以使每次利用有效负荷时,可使用所集成的数字签名来自动认证它。
如在方块62中所示,软件60最初接收可执行的二进制数据。作为一个实例,可执行的二进制数据可以是用于基于处理器的系统10的软件更新。如在方块64中所示,系统56为可执行的二进制数据以及数字签名而创建文件。每个文件被创建为与可执行的二进制数据的大小以及预期的数字签名大小相等的大小。在一些实施例中,文件大小可被上舍入为特定数量的字节。
然后为可执行的二进制数据来创建数字签名。数字签名是为文件中的数据减去一旦完成则数字签名将进行的位而创建的。任何技术可被用于创建数字签名,包括使用用于加密的公共密钥和私人密钥。可替换的是,不同的算法可被用于创建数字签名并加密基础数据。
如在方块68中所示,数字签名被附加于适当尺寸的先前所创建的文件内的可执行二进制数据。在适当的时间,包括所集成的数字信号和可执行的二进制数据的合成文件可从系统56被传递到系统10。
在系统10中,可使用软件38来解开所签署的文件。作为一个实例,文件可通过接口52在可使用有线或无线连接的适当的通信链接上被接收。举几个实例,接口52可以是网络接口卡、调制解调器、无线接口或通用串行总线集线器。
如在方块70中所示,在系统10中,软件38接收并存储包括有效负荷和数字签名的经签署的数字文件。如在菱形72中所确定的,系统10下一次引导时,签名被自动应用于可执行二进制数据,如在方块74中所示。换句话说,每次需要使用有效负荷和可执行的二进制数据时,数字签名被应用。这意味着如果由于任何原因有效负荷变得受破坏,即使接收时是未受破坏的,这种不破坏在引导过程中亦被检测。
如在菱形76中所确定的,如果在给定的引导操作中,当与可执行的二进制数据杂混(hash)在一起时数字签名显示出可靠性,则可通过执行可执行的二进制数据而形成映像,如方块78中所示。这样,作为一个实例,只要通过使用数字签名而重复确定有效负荷是真实的,则每次系统10引导时软件更新可被重复加载。之后,如方块80中所示,引导过程继续进行。
在一个实施例中,在菱形76处,如果由于某些原因有效负荷被确定为受破坏,则如方块82中所示,有效负荷被立即删除。在本发明的一个实施例中,新的有效负荷从不替换现有软件。相反,每次系统引导时,有效负荷上的签名被检查,并且如果是未受破坏的,则新的有效负荷代替现有软件而运行。如果真实性被否定,则新的有效负荷被自动删除,如在方块82中所示。在此情况下,如在方块84中所示,现有软件被自动加载,并且根据方块80,引导过程继续进行。
如果有效负荷和现有软件都是受破坏的,则在一个实施例中,系统10可进入等待状态。在此情况下,系统10仅等待以便于替换软件而不引导。
在本发明的一个实施例中,用于数字签名的密钥被应用于相当于有效负荷或更新软件的整个映像的整个可执行二进制。
在涉及MP3播放器的应用中,有效负荷可基于每个引导序列而被检查。这减小了软件可在任何时间变得受破坏使用户能获得诸如数字音乐文件的文件并能使用这些文件无需经历适当的手续的可能性,由此。在一些情况下,这些手续可包括访问用于下载音乐文件的计费。
在一些实施例中,通过将签名结合于经签署的数据,数字签名技术的领域和应用可被简化。由于数字签名被结合于欲认证签名的有效负荷,创建了安全运行时间加载器。在一个实施例中,如果识别出任何非真实的位,所签署的映像可被自动删除。在一个实施例中,系统因为它在每次引导时校验所签署的数据而是安全的。
尽管已参照有限数量的实施例描述了本发明,本领域的技术人员将理解来自它们的诸多修改和变化。所附的权利要求旨在覆盖属于本发明真精神和范围的所有这些修改和变化。