防备密钥窜改的制作方法

文档序号:10694089阅读:228来源:国知局
防备密钥窜改的制作方法
【专利摘要】本发明揭示了一种防备密钥窜改的设备和方法。一种计算装置可以包含密码处理器,其经配置以:写入包含密钥的第一部分的第一字;以及写入各自包含所述密钥的一部分的多个后续字。如果同一个字被写入不止一次,则将所述密钥复位并且不验证。
【专利说明】
防备密钥窜改
技术领域
[0001 ]本发明涉及一种防备密钥窜改的设备和方法。
【背景技术】
[0002]密码处理器可以是基于扩展语言为中央处理单元(CPU)执行信息的计算密集型编码和解码的协处理器,或者可以是密码引擎,它是一件单独的硬件(例如加速器处理器),由专用软件驱动程序运行以编码和解码信息。密码处理器可以存储用于加密和解密的密钥。这个信息通常是只写的,这意味着没有哪个组件(例如软件应用程序)可以读取这个信息,即使写入信息的组件也不可以读取。
[0003]然而,攻击者可能会试图覆写密钥的一部分以便收集关于密钥的信息。另外,攻击者可能会试图修改与密钥相关联的元数据,其限定可以用密钥进行什么操作、哪些执行环境或过程可以使用密钥、以及允许哪些域与密钥一起使用。
[0004]令人遗憾的是,这些类型的攻击可能对于利用密码处理器的计算装置有很大的破坏性,并且可能引起一些问题,例如高额费用、合同丢失、整个产品线撤销、品牌价值降低等。

【发明内容】

[0005]本发明的方面可以涉及一种防备密钥窜改的设备和方法。计算装置可以包含密码处理器,其经配置以:写入包含密钥的第一部分的第一字;以及写入各自包含密钥的一部分的多个后续字。如果同一个字写入不止一次,则密钥被复位并且不验证。
【附图说明】
[0006]图1是可在其中实践本发明的方面的计算装置的图。
[0007]图2是包含验证或不验证密钥的密码处理器的计算环境的实例。
[0008]图3A是说明验证或不验证密钥的方法的实例的流程图。
[0009]图3B是说明根据另一个实施例的验证或不验证密钥的方法的实例的流程图。
[0010]图4说明验证或不验证密钥的密钥输入状态机过程。
【具体实施方式】
[0011]词语“示范性”在本文中用于意味着“充当实例、例子或说明”。本文中描述为“示范性”或描述为“实例”的任何方面或实施例未必应被解释为比其它方面或实施例优选或有利。
[0012]如本文所使用,术语“计算系统或装置”指代任何形式的可编程计算机装置,包含但不限于膝上型计算机和桌上型计算机、平板计算机、智能电话、电视机、家用电器、蜂窝式电话、个人电视装置、个人数据助理(PDA)、掌上型计算机、无线电子邮件接收器、具多媒体因特网功能的蜂窝式电话、全球定位系统(GPS)接收器、无线游戏控制器、交通工具(例如,汽车)内的接收器、交互式游戏装置、笔记本计算机、智能笔记本计算机、上网本、移动电视装置或任何数据处理设备。
[0013]图1中说明下文中将详细地描述的其中可以实践本发明的方面的实例计算装置100,其可以用于验证或不验证密钥。计算装置100示出为包括可以经由总线105电耦合(或可以按需要以其它方式通信)的硬件元件。硬件元件可以包含一或多个处理器110,包含(不限于)一或多个通用处理器和/或一或多个专用处理器(例如数字信号处理芯片、图形加速处理器、密码处理器等等);一或多个输入装置115(例如键盘、小键盘、触摸屏、鼠标等);以及一或多个输出装置120,其包含至少显示装置121,并且可以进一步包含(不限于)扬声器、打印机等等。
[0014]计算装置100可进一步包含以下各项(和/或与以下各项通信):一或多个非暂时性存储装置125,所述非暂时性存储装置可包括(但不限于)本地及/或网络可存取的存储装置,和/或可包含(但不限于)磁盘驱动器、驱动阵列、光学存储装置、例如随机存取存储器(“RAM”)和/或只读存储器(“ROM”)等固态存储装置,其可为可编程的、可快闪更新的等等。此类存储装置可经配置以实施任何适当的数据存储装置,包含(但不限于)各种文件系统、数据库结构等等。
[0015]计算装置100还可包含通信子系统130,其可包含(不限于)调制解调器、网卡(无线或有线)、红外通信装置、无线通信装置和/或芯片组(例如蓝牙装置、802.11装置、W1-Fi装置、WiMax装置、蜂窝式通信装置等)和/或类似物。通信子系统130可准许与网络、其它计算机系统和/或本文中所描述的任何其它装置交换数据。在许多实施例中,计算装置100将进一步包括工作存储器135,其可包含RAM或ROM装置,如上文所描述。此外,计算装置100可以包含系统存储器管理单元(SMMU),这是存储器参考所经过的计算机硬件单元,并且可以用于执行虚拟存储器地址到物理地址的翻译以便实施应用程序。计算装置100还可包括展示为当前位于工作存储器135内的软件元件,其包含操作系统140、应用程序145、装置驱动器、可执行库和/或其它代码。
[0016]仅举例来说,相对于下文论述的方法描述的一或多个程序可以实施为可通过计算装置(和/或计算装置内的处理器)执行的代码和/或指令;在一个方面中,于是,这样的代码和/或指令可以用于配置和/或调适通用计算机(例如计算装置)以依据根据本发明的实施例的所描述的方法执行一或多个操作。作为一个特定实例,如下文将更详细地描述,密码处理器可以实施本发明的实施例以验证或不验证密钥。一组这些指令和/或代码可存储在非暂时性计算机可读储存媒体上。在一些情况下,存储媒体可并入到例如计算装置100等计算机装置内。在其它实施例中,存储媒体可与计算机系统(例如,可装卸式媒体,例如压缩光盘)分开,及/或提供于安装包中,使得存储媒体可用以编程、配置及/或调适其上存储有指令/代码的通用计算机。这些指令可呈可由计算机化计算装置100执行的可执行代码形式,和/或可呈源和/或可安装代码的形式,所述源和/或可安装代码在由计算装置100编译和/或安装于计算装置100上后(例如,使用各种大体可用编译程序、安装程序、压缩/解压缩实用程序等中的任一者),随后采用可执行代码的形式。
[0017]此外,尤其如图1中所示,计算装置100可以包含密码处理器220,其可以用于验证或不验证密钥以防备密钥窜改,如下文中将更详细地描述。密码处理器220可以是基于扩展语言为中央处理单元(CPU)(例如,110)或其它处理器执行信息的计算密集型编码和解码的协处理器,或者可以是密码引擎,它是一件单独的硬件(例如加速器处理器),由专用软件驱动程序运行以编码和解码信息。
[0018]参看图2,下文中将描述其中可以实践本发明的方面的计算环境200的实例,其可通过包含密码处理器220的计算装置100实施以验证或不验证密钥。密码处理器220可以是基于扩展语言为CPU(或其它处理器)执行信息的计算密集型编码和解码的协处理器,或者可以是密码引擎,它是一件单独的硬件(例如加速器处理器),由专用软件驱动程序运行以编码和解码信息。在这个实例中,密码处理器220是密码引擎,并且下文中描述的实例将在通过密码引擎实施的上下文中。然而,对于所属领域的技术人员应当显而易见的是,这些相同的实施方案可以类似地通过协处理器执行。在这个实例实施方案中,控制密钥以加密和解密数据的各种执行环境密钥所有者(EE1-EEN)202、204、206与各种执行环境数据所有者(EE1-EEN)210、212、214合作操作。利用密钥的执行环境可以安全地传送数据用于通过计算装置输入和输出。具体来说,可以经由密码处理器220的密钥表224中的密钥225加密和解密数据。加密的或解密的数据可以经由SMMU 133提供到输入域240或输出域250。实例输入域240包含音频数据242、高级别操作系统数据(HL0S)244和视频数据246,而类似地,实例输出域250包含音频数据252、高级别操作系统数据(HL0S)254和视频数据256。应了解,这些仅是实例域,并且可以利用许多不同类型的域(例如企业、调制解调器等)。此外,可以利用许多不同类型的执行环境,先前所述的执行环境只是实例。
[0019]作为一个实例,执行环境I可以用于视频数据并且可以包含EEl密钥所有者202和EEl数据所有者I 210。用于数据所有者201的输入视频数据246可能需要通过密码处理器220用与EEl密钥所有者相关联的密钥表224中的密钥225解密,从而使得它可以显示在输出域256中。在这个实例中,密码处理器220可以包含密钥输入状态机222(下文中将描述)和密钥表224。密钥表224可以包含密钥(0-N)225和相关联的使用规则(例如硬件使用规则227和软件使用规则229)。硬件和软件使用规则227和229可被称为元数据230,其还限定可以利用的域。每个执行环境(包含密钥所有者和数据所有者)可在密钥表224中具有指派的群组,其包含密钥225和硬件和软件使用规则227和229,所述使用规则另外限定与执行环境相关联的域。继续此实例,视频执行环境(例如密钥所有者202和数据所有者210)可以请求加密的视频数据246通过密码处理器220用视频执行环境的密钥表224的相关联密钥225解密,从而使得视频数据256可以输出到输出域250用于显示。应了解,这只是密码处理器220(可以用于加密或解密数据)的操作的一个实例,并且许多不同类型的执行环境、数据类型、域类型等可以与密码处理器一起利用。
[0020]密码处理器220的密钥表224中的密钥225通常需要通过执行环境更新和验证。举例来说,执行环境密钥所有者202通常请求更新和验证密钥。在密钥225经过更新和验证之前,执行环境数据所有者210的数据无法加密或解密。然而,需要用安全的方式更新和验证密钥以防攻击者获得关于密钥的数据。
[0021]根据本发明的一个实施例,密码处理器220可经配置以:写入包含密钥的第一部分的第一字;以及写入各自包含密钥的一部分的多个后续字;以及如果同一个字被写入不止一次,并且,任选地如果字被乱序写入,则密钥被复位。并且,如果未写入密钥的部分,则密钥无法验证。此外,如果字被写入到已经有效的密钥,则密钥被复位并且相关联元数据被失效。举例来说,执行环境密钥所有者202可能请求经过更新的密钥或新密钥。如果同一个字未被写入不止一次,并且,任选地字未被乱序写入,则密码处理器220执行密钥验证过程。作为密钥验证过程的一部分,密码处理器220确定与密钥相关联的元数据230是否满足系统特权,并且如果是,则验证密钥。如先前已描述,相关联的元数据230可以包含使用规则,例如硬件使用规则227和软件使用规则229。如果密钥经过验证,则密钥225和相关联的元数据230被写入到密码处理器220的密钥表224。密钥225接着可被密码处理器220用来加密和解密来自数据所有者210的数据以用于特定域中。作为一实例,如果相关联的元数据230(硬件和软件使用规则)满足系统特权(例如对于视频处理),则密钥225经过验证并且连同硬件和软件使用规则227和229被写入到密钥表224,使得执行环境数据所有者210可以利用密码处理器220以利用视频数据进行加密和解密。作为一实例,视频数据246可以被解密并且输出到输出域250用于在显示器上查看。
[0022]另外参看图3A,图3A是说明根据本发明的一个实施例的验证或不验证密钥的方法过程300的实例的流程图。在框302处,写入包含密钥的第一部分的第一字。在框304处,写入各自包含密钥的一部分的多个后续字。接下来,在框306处,过程300确定是否同一个字写入不止一次,或者任选地,是否字被乱序写入。如果是,则在框310处,将密钥复位(S卩,不验证)。如果不是,则过程300进行到密钥验证。在密钥验证期间,密码处理器220确定与密钥相关联的元数据是否满足系统特权,并且如果是的话则验证密钥。如先前已描述的,相关联元数据可以包含使用规则,例如硬件使用规则和软件使用规则。如果密钥经过验证,则将密钥225和相关联的元数据230写入到密码处理器220的密钥表224。以此方式,确保密钥225和其相关联的元数据230中的每个位被写入一次,并且只写入一次,其中,如果不是所有位都符合所述准则,则密钥225无法使用。假设验证,密码处理器220接着可利用密钥225加密和解密来自数据所有者210的数据供与特定域一起使用。
[0023]另外参照图3B,图3B是说明根据本发明的一个实施例的验证或不验证密钥的方法过程320的另一实例的流程图。在框322处,请求对密钥225或元数据230的写入。在决策框324,过程320确定所述字是否正被写入已经有效的密钥,或者字是否已经写入,并且如果是,则将密钥复位(框326)并且过程320再次开始(框322)。另一方面,如果确定字不是正被写入到已经有效的密钥,或者字尚未写入,则不复位密钥,并且写入字(框328)。接下来,在决策框330,过程320确定是否所有字已经写入,并且如果是,则所述过程进行到密钥验证(框332)。如果并未写入所有字,则过程320继续返回至框322。
[0024]另外参照图4,图4说明根据本发明的一个实施例的验证或不验证密钥的密钥输入状态机过程400。在一个实施例中,密码处理器220实施的密钥输入状态机222可以执行密钥输入状态机过程400。作为一实例,执行环境密钥所有者202可以请求经过更新的密钥请求或新密钥请求。在图4中可以看出,密钥输入状态机过程开始于步骤402,其中状态是空的并且状态值设置成0(V = 0)。接下来,写入密钥的第一字部分(Wr(addr=l))并且过程400移动到状态I 404,其中值设置成1(V= I)。然而,如果密钥的第一字部分未被正确地写入(Wr(addr! = I)),则将密钥复位并且过程400移动返回至步骤402。接下来,写入密钥的第二字部分(ffr(addr = 2),并且过程400移动到状态2 406,其中状态值设置成2(V = 2)。然而,如果密钥的第二字部分未被正确地写入(ffr(addr! =2)),则将密钥复位并且过程400移动返回至步骤402。类似地,接下来,写入密钥的第三字部分(ffr(addr = 3),并且过程400移动到状态3 408,其中状态值设置成3(V = 3)。然而,如果密钥的第三字部分未被正确地写入(Wr(addr! =3)),则将密钥复位并且过程400移动返回至步骤402。这个过程重复到状态10420,在这些点检验域。
[0025]在状态420,检验域。如先前已描述,在这个密钥验证过程期间,密码处理器220确定与密钥相关联的元数据(例如硬件和软件使用规则)是否满足系统特权和域规则。如果系统特权经过批准,则在步骤430验证密钥。如果系统特权未经过批准,则将密钥复位并且过程400移动返回至步骤402(例如见线431)。并且,如果尝试修改已经有效的密钥(430),例如,尝试写入有效密钥,则密钥变成无效,并且整个密钥需要重写(例如,见线432)。应了解,可以利用任何类型的大小和任何类型的算法的任何类型的密钥(例如DES、F8、F9、AES、3DES、HMAC等)。
[0026]通过利用先前描述的密钥输入状态机过程400验证密钥和其元数据确保了用正确的顺序写入整个密钥信息。任何乱序写入或密钥的部分写入不止一次,都会导致状态机过程返回到开始状态402 (V = O)(例如复位和无效)。
[0027]然而,应了解,在一些实施例中,乱序类型的强制执行并不是必需的。在这个类型的实施例中,并不监视写入顺序。实情为,仅有的要求可能是一次并且仅一次的写入操作。举例来说,密码处理器220写入包含密钥的第一部分的第一字,并且写入各自包含密钥的一部分的多个后续字。密码处理器220接着确定同一个字是否已写入不止一次,并且如果是,则将密钥复位(即,不验证)。如果不,则发生密钥验证。应了解,在这个实例中,并不监视写入顺序。在密钥验证期间,密码处理器220确定与密钥相关联的元数据是否满足系统特权,并且如果是的话则验证密钥。应了解,图3A、图3B和图4的先前描述的过程以及多种多样的类似或不同的过程可以通过密码处理器220实施。通过利用先前描述的方法,如果攻击者尝试试图在密钥数据正在写入的同时改变密钥数据,则这样会导致密钥输入状态机过程400复位密钥(状态402)。此外,一旦实现写入序列,则密钥和元数据通过验证过程,其中检验域(步骤420),并且如果域准确,只有这时,才验证密钥并且作为密钥225与相关联的元数据使用规则230—起写入到密码处理器220的密钥表224。否则,并不验证和复位密钥。因此,任何修改有效的密钥信息或其元数据的尝试都会导致密钥失效。
[0028]应了解,可以防止各种类型的攻击。举例来说,一种可以防止的攻击类型是在密钥正被写入但尚未验证的同时(例如如图4的验证步骤中所见)修改密钥的尝试。这种类型的攻击可以通过强制执行这样的规则来防止:其中密码处理器220确定是否同一个字已写入不止一次,并且如果是,则复位密钥(即,不验证)。可以防止的另一类型的攻击是尝试修改已经有效的密钥。如先前已描述,如果密码处理器200确定已尝试修改已经有效的密钥,则密钥变成无效并且被复位而且需要重写(例如如通过图4的步骤430和线432所见的)。
[0029]应了解,这些类型的强制执行规则提供了密钥225与其元数据230之间的紧密联系。以此方式,整体更新密钥225和其相关联的元数据230以实现额外的安全性。这些步骤使得攻击者很难收集关于密钥的信息。另外,这些步骤使得攻击者很难修改与密钥相关联的元数据。
[0030]因此,当密码处理器220确定密钥的部分已经按顺序写入并且密钥的部分并未写入不止一次,并且密码处理器220确定与密钥相关联的元数据(例如硬件和软件使用规则)满足系统特权时,验证密钥。但是,如先前描述,乱序类型的强制执行是任选的。此外,如先前已描述,相关联的元数据230可以包含使用规则,例如硬件使用规则227和软件使用规则229。如果密钥经过验证,则将密钥225和相关联的元数据230写入到密码处理器220的密钥表224。密码处理器220接着可利用密钥225加密和解密来自数据所有者210的数据以用于特定域中。作为一实例,如果相关联的元数据230(硬件和软件使用规则)满足系统特权(例如对于视频处理),则密钥225经过验证并且连同硬件和软件使用规则227和229被写入到密钥表224,使得执行环境数据所有者210可以利用密码处理器220以利用视频数据进行加密和解密。作为一实例,视频数据246可以被解密并且输出到输出域250用于在显示器上查看。
[0031]应了解,先前描述的本发明的各方面可以结合由装置(例如,计算装置100)的处理器(例如,密码处理器220)执行指令而实施,如先前所描述。具体来说,装置的电路(包含但不限于处理器)可以在程序、例程或指令执行的控制下操作以执行根据本发明的实施例的方法或过程(例如图3-4的过程和功能)。例如,此类程序可以在固件或软件(例如,存储于存储器和/或其它位置中)中实施且可由处理器和/或装置的其它电路实施。此外,应了解,术语处理器、微处理器、电路、控制器等是指能够执行逻辑、命令、指令、软件、固件、功能性等的任何类型的逻辑或电路。
[0032]应了解,当装置为移动或无线装置时其可经由通过无线网络的一或多个无线通信链路通信,所述无线通信链路基于或以其它方式支持任何合适的无线通信技术。举例来说,在一些方面,无线装置及其它装置可以与包含无线网络的网络相关联。在一些方面中,网络可包括人体局域网络或个人局域网络(例如,超宽带网络)。在一些方面,网络可以包括局域网或广域网。无线装置可支持或以其它方式使用多种无线通信技术、协议或标准中的一或多个,例如,3G、LTE、高级 LTE、4G、CDMA、TDMA、OFDM、OFDMA、WiMAX 及 WiFi。类似地,无线装置可以支持或以其它方式使用多种对应调制或多路复用方案中的一或多者。无线装置因此可以包含适当组件(例如,空中接口)以使用上文或其它无线通信技术建立一或多个无线通信链路及经由一或多个无线通信链路来通信。举例来说,装置可包括具有相关联的发射器和接收器组件(例如,发射器和接收器)的无线收发器,其可包含便于无线介质上的通信的各种组件(例如,信号产生器和信号处理器)。众所周知,移动无线装置因此可以无线方式与其它移动装置、蜂窝电话、其它有线及无线计算机、因特网网站等通信。
[0033]本文中的教示可并入到多种设备(例如,装置)中(例如,在多种设备内实施或通过多种设备执行)。举例来说,本文中教示的一或多个方面可并入到电话(例如蜂窝电话)、个人数据助理(“PDA”)、平板计算机、移动计算机、膝上型计算机、娱乐装置(例如音乐或视频装置)、头戴耳机(例如头戴式耳机、耳机等)、医疗装置(例如生物计量传感器、心率监测仪、步数计、EKG装置等)、用户I/O装置、计算机、有线计算机、固定计算机、桌上型计算机、服务器、销售点装置、机顶盒或任何其它合适的装置中。这些装置可具有不同的功率和数据要求。
[0034]在一些方面中,无线装置可包括用于通信系统的接入装置(例如,W1-Fi接入点)。此类接入装置可提供(例如)经由有线或无线通信链路到另一网络(例如,广域网,例如,因特网或蜂窝网络)的连接性。因此,接入装置可使得另一装置(例如,WiFi站)能够接入另一网络或某一其它功能性。
[0035]所属领域的技术人员将理解,可以使用多种不同技术和技艺中的任一者来表示信息和信号。举例来说,可通过电压、电流、电磁波、磁场或磁粒子、光场或光粒子或其任何组合来表示在整个上文描述中可能参考的数据、指令、命令、信息、信号、位、符号和码片。
[0036]所属领域的技术人员将进一步了解,结合本文所揭示的实施例描述的各种说明性逻辑块、模块、引擎、电路及算法步骤可实施为电子硬件、计算机软件或两者的组合。为清晰地说明硬件与软件的此可互换性,以上已大体就其功能性来描述了各种说明性组件、块、模块、电路和步骤。此功能性是实施为硬件还是软件取决于特定应用及施加于整个系统的设计约束。熟练的技术人员可针对每一特定应用以不同方式来实施所描述的功能性,但这样的实施方案决策不应被解释为会引起脱离本发明的范围。
[0037]可使用通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或经设计以执行本文所描述的功能的其它可编程逻辑装置、离散门或晶体管逻辑、离散硬件组件或其任何组合来实施或执行结合本文中所揭示的实施例而描述的各种说明性逻辑块、模块和电路。通用处理器可为微处理器,但在替代方案中,处理器可为任何常规的处理器、控制器、微控制器或状态机。处理器还可实施为计算装置的组合,例如,DSP与微处理器的组合、多个微处理器、一或多个微处理器结合DSP核心,或任何其它此类配置。
[0038]结合本文所揭示的实施例而描述的方法或算法的步骤可直接体现在硬件、由处理器执行的软件模块或所述两者的组合中。软件模块可驻留在RAM存储器、快闪存储器、ROM存储器、EPROM存储器、EEPROM存储器、寄存器、硬盘、可装卸磁盘、⑶-ROM,或此项技术中已知的任何其它形式的存储媒体中。示范性存储媒体耦合到处理器,使得处理器可从存储媒体读取信息和将信息写入到存储媒体。在替代方案中,存储媒体可与处理器一体形成。处理器和存储媒体可驻留于ASIC中。ASIC可以驻留于用户终端中。在替代方案中,处理器及存储媒体可作为离散组件驻留于用户终端中。
[0039]在一或多个示范性实施例中,所述功能可以在硬件、软件、固件或其任何组合中实施。如果在软件中实施为计算机程序产品,那么可将功能作为一或多个指令或代码存储于计算机可读媒体上或经由计算机可读媒体予以传输。计算机可读媒体包含计算机存储媒体及通信媒体两者,通信媒体包含促进将计算机程序从一处传送到另一处的任何媒体。存储媒体可以是可由计算机存取的任何可用媒体。举例来说且非限制,此类计算机可读媒体可包括RAM、R0M、EEPR0M、⑶-ROM或其它光盘存储装置、磁盘存储装置或其它磁性存储装置,或可用于携载或存储呈指令或数据结构的形式的所要程序代码且可由计算机存取的任何其它媒体。并且,任何连接被恰当地称作计算机可读媒体。举例来说,如果使用同轴电缆、光纤电缆、双绞线、数字订户线(DSL)或如红外线、无线电以及微波的无线技术从网站、服务器或其它远程源传输软件,那么同轴电缆、光纤电缆、双绞线、DSL或如红外线、无线电以及微波的无线技术包含于媒体的定义中。如本文中所使用,磁盘和光盘包含压缩光盘(CD)、激光光盘、光学光盘、数字多功能光盘(DVD)、软性磁盘和蓝光光盘,其中磁盘通常以磁性方式再现数据,而光盘利用激光以光学方式再现数据。以上各项的组合也应包含在计算机可读媒体的范围内。
[0040]提供所揭示实施例的先前描述以使得所属领域的任何技术人员能够制作或使用本发明。所属领域的技术人员将容易地了解对这些实施例的各种修改,并且可以在不脱离本发明的精神或范围的情况下将本文所定义的一般原理应用到其它实施例中。因此,本发明并不既定限于本文中所展示的实施例,而应符合与本文中所揭示的原理和新颖特征相一致的最广泛范围。
【主权项】
1.一种计算装置,其包括: 密码处理器,其经配置以: 写入包含密钥的第一部分的第一字;以及 写入各自包含所述密钥的一部分的多个后续字; 其中,如果同一个字被写入不止一次,则所述密钥被复位。2.根据权利要求1所述的计算装置,其中,如果字被乱序写入,则所述密钥被复位。3.根据权利要求1所述的计算装置,其中如果字被写入到已经有效的密钥,则所述密钥被复位并且相关联的元数据被失效。4.根据权利要求2所述的计算装置,其中,如果同一个字未被写入不止一次,并且字未被乱序写入,则所述密码处理器执行密钥验证过程。5.根据权利要求4所述的计算装置,其中,在所述密钥验证过程中,所述密码处理器确定与所述密钥相关联的元数据是否满足系统特权,并且如果是的话,则验证所述密钥。6.根据权利要求5所述的计算装置,其中,所述相关联的元数据包含使用规则。7.根据权利要求6所述的计算装置,其中,所述使用规则包含硬件使用规则和软件使用规则。8.根据权利要求5所述的计算装置,其中,如果所述密钥经过验证,则所述密钥和所述相关联的元数据被写入到密钥表。9.根据权利要求1所述的计算装置,其中,所述密码处理器实施密钥输入状态机以写入所述多个字。10.一种验证密钥的方法,其包括: 写入包含密钥的第一部分的第一字;以及 写入各自包含所述密钥的一部分的多个后续字; 其中,如果同一个字被写入不止一次,则将所述密钥复位。11.根据权利要求10所述的方法,其中,如果字被乱序写入,则将所述密钥复位。12.根据权利要求10所述的方法,其中如果字被写入到已经有效的密钥,则将所述密钥复位并且使相关联的元数据失效。13.根据权利要求11所述的方法,其中,如果同一个字未被写入不止一次,并且字未被乱序写入,则所述方法进一步包括执行密钥验证过程。14.根据权利要求13所述的方法,其中,所述密钥验证过程进一步包括确定与所述密钥相关联的元数据是否满足系统特权,并且如果是的话,则验证所述密钥。15.根据权利要求14所述的方法,其中,所述相关联的元数据包含使用规则。16.根据权利要求15所述的方法,其中,所述使用规则包含硬件使用规则和软件使用规则。17.根据权利要求14所述的方法,其中,如果所述密钥经过验证,则所述方法进一步包括将所述密钥和所述相关联的元数据写入到密钥表。18.—种包含代码的非暂时性计算机可读媒体,所述代码在由密码处理器执行时致使所述密码处理器: 写入包含密钥的第一部分的第一字;以及 写入各自包含所述密钥的一部分的多个后续字; 其中,如果同一个字被写入不止一次,则所述密钥被复位。19.根据权利要求18所述的计算机可读媒体,其中,如果字被乱序写入,则所述密钥被复位。20.根据权利要求19所述的计算机可读媒体,其中,如果同一个字未被写入不止一次,并且字未被乱序写入,则所述计算机可读媒体进一步包括执行密钥验证过程的代码。21.根据权利要求20所述的计算机可读媒体,其中,所述密钥验证过程进一步包括确定与所述密钥相关联的元数据是否满足系统特权的代码,并且如果是,则验证所述密钥。22.根据权利要求21所述的计算机可读媒体,其中,所述相关联的元数据包含使用规则。23.根据权利要求22所述的计算机可读媒体,其中,所述使用规则包含硬件使用规则和软件使用规则。24.根据权利要求21所述的计算机可读媒体,其中,如果所述密钥经过验证,则所述计算机可读媒体进一步包括将所述密钥和所述相关联的元数据写入到密钥表的代码。25.—种计算装置,其包括: 用于写入包含密钥的第一部分的第一字的装置;以及 用于写入各自包含所述密钥的一部分的多个后续字的装置; 其中,如果同一个字被写入不止一次,则所述密钥被复位。26.根据权利要求25所述的计算装置,其中,如果字被乱序写入,则所述密钥被复位。27.根据权利要求26所述的计算装置,其进一步包括用于如果同一个字未被写入不止一次并且字未被乱序写入则执行密钥验证过程的装置。28.根据权利要求27所述的计算装置,其进一步包括用于确定与所述密钥相关联的元数据是否满足系统特权并且如果是的话则验证所述密钥的装置。29.根据权利要求28所述的计算装置,其中,所述相关联的元数据包含使用规则。30.根据权利要求29所述的计算装置,其中,所述使用规则包含硬件使用规则和软件使用规则。
【文档编号】G06F21/79GK106062772SQ201580011099
【公开日】2016年10月26日
【申请日】2015年2月27日 公开号201580011099.8, CN 106062772 A, CN 106062772A, CN 201580011099, CN-A-106062772, CN106062772 A, CN106062772A, CN201580011099, CN201580011099.8, PCT/2015/18173, PCT/US/15/018173, PCT/US/15/18173, PCT/US/2015/018173, PCT/US/2015/18173, PCT/US15/018173, PCT/US15/18173, PCT/US15018173, PCT/US1518173, PCT/US2015/018173, PCT/US2015/18173, PCT/US2015018173, PCT/US201518173
【发明人】罗恩·凯达尔
【申请人】高通股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1