休眠用于处理安全数据的处理装置的制作方法

文档序号:6461928阅读:185来源:国知局
专利名称:休眠用于处理安全数据的处理装置的制作方法
休目,于鹏安全繊的鹏驢駄领域本发明涉Mc^处理系统领域,更具体地,本发明涉,于处理安全 的M^g的休眠的领域。背景M已知一些系统,具附fi那些靠电 艇行的系统,响应某些斜怜自动鹏 入低功率模式棘休目^t态以保存功率,这样的剝牛例如一个用户在预定时间内没有执行任何操作或者电池达到一个特别的低功率状态。在这样做的时候, 需要保存处理器的状态以使得在再次加电时处理器可以重新开始同样的状态。 需要把状态保存在可以保存的地方,同样地其中,M某个芯片内,当芯片 断电时,它可以很好地留在那个芯片内。在鹏器正在鹏安全数据的情况下, 以±3^方式留在芯片内的数据可能是潜在的安全风险。已知在一些系统中,当用户指示他希望CPU iftA低功,式时,在存储 CPU的状态之前使用软件来加密它,参见例子EnciyptSwapAnd Root-suspend 2Wikipedia。这样會嫩<,包含敏感信息的CPU的状态免于被不信任的存取。 这些是响应于用户断电CPU而M软件完成的。皿一步,已知处理器具有用于湖赋M器的扫描链。它们可以被^ffi以 便任意模式i2A触发器的链中,并S/棘可以读出,拨器的状态。这在安 全系统例如智能卡中也可能是安全数据泄漏的潜在源头。Nwophasis Archives ISN^0087-"Scan design called portal for hackers"公开了有关于此的讨论,其中建议应该在一个扫描链的输入端设置解码逻辑,在输出端设置编码逻辑。倘若编码逻辩,码逻新一样,可以保证扫描进去的内容不育嫩扫描出来。这样可 以衝共增加的安全性。所期望的是增加处理安全 并_@34^氐功率或者休目^^态的系统的安全性。发明内容本发明的第一方面提供了用于处理安全 的 处理装置,所述数据处 理體包括处理电路,包括多个用于保持所述鹏电路的当前状态的状鄉 持单元,至少一些所述状皿持单元被串联布置;加密电路;以及休目民信号输 入端;所述麵处理體响应于在所述休眠信号输A^接收到休目瞻号,从其 中所述数据处理装置加电的操作模式切换到其中至少所述处理电路断电的低功 率模式,所述数据处理装置用于在所述处理电路断电之前从所述多个状态保持 单元输出所述处理电路的状态,并利用所述加密电路加密所述输出状态,并且 舰述加密状繊存到所述存储设备。响应接收至1淋目歸号而断电的 舰體在断电之前需要把状态存储。 存储该状态可能是安全风险,特别是如果状态被存储在能够由其他处理器存取 的位置。因此,把这个麵加密是有利的。然而,在切换至咻鹏莫式期间进行 的任何加密需要以快速有效的方式进行,否则,Mil切换到该模式获得的功率 节省会被抵消。实际上,假定休眠是功率节省技术,那么当切换到该状态时执 行很多处理明显是很不禾,。本发明禾,状态保持单元,该状态保持单元保持 处理电路的当前状态以至少部分连续的方式检索该状态。因此,这不仅是一种 对用户透明的导出处理电路的*状态的方便方式,它还以一个或多个连续数 据流的形式产生电路的状态。这使得^ffl硬件加密机制进行加密是有效的。因 此,在存储状态的同时,对机器的状态的加密育嫩以快速并且节省电量的方式 进行。在一些实施例中,所述多个状^^呆持单元被串联布置并且包含扫描链。 处理电路经常包括扫描链并且这對3描链可l細来输出机器的状态。在处理电路的状态以单个娜流输出的情况下它们是单个扫描链,棘在产生并行数据流的情况下它们是多个扫描链。在任一瞎况下,响应简单的命令对状态进行驗,并且會辦以有效的方式把状态加密。在一些实施例中,所述 舰縫包括所述存储设备并且所述存储设备用于 ^述低功率模式期间保持 。在另外的实施例中,存储设备在 处理装置的外面。如果存储设备在数据处理錢之内,那么状态存储在繊鹏縫之内。 如果存储设备在繊处理體的外面,那么会有与之有关的特殊的安全问题,在这样的环境中把鹏电路的状态加密是特别有利的。在一些实施例中,所述iyg处理^a形,芯片上。本发明特别适用于形成在芯片上的 处理装置。在这种情况下,对状态 的加密在芯片之内执行,并且这样使其更健壮的^t在的黑客攻击。处理电路可以是许多形式,在一些实施例中它是中央,单元。在一些实施例中,娜舰錢进一步包括另夕卜的舰电路,例如协同处 理器或另外的中央处理单元。在一些实施例中,所述电路进一步包括休赚态控制逻辑,所述休赚态 控制逻辑响应在所述休目歸号输入端接收至,述休目隨号以启动对所述数据处 理體的所述状态的输出禾咖密,雜制所述加密状态的存储。对切换到休眠的控制可以由休SK^态控制逻辑来执行。在这种情况下,该逻辑还控制对状态的加密和对这个加密拔态的存储。在一些实施例中,戶腿繊舰驢进一步包括非易失性 存储器,所 述休ss^态控制逻辑还用于控制所述加密逻辑在所,作模式期间生成加密密 钥,并且控制所述娜处理體把所述加密密钥存储到所述非易失性娜存储 器。把加密密钥存储到織鹏錢之内的非易失性娜碰器是有利的。这 样使其能够被保持并且使其难于存取。更有利的是在操作模式期间生成该加密 密钥。通a^地生成密钥,使得安全健壮性增加。在其他实施例中,戶, ,^进一步包括非易失性 存储器,所 述非易失性娜存储^#储所淑卩密逻辑<顿的加密密钥。可能没有加密密钥生成逻辑并且旨 处理装置具有存储在非易失性数 据存储器之中的其特有密钥。这样免去了生成密钥的需要,但j^t黑客攻击 的健壮性陶氐。在一些实施例中,戶;Mi^M^a进一步包括唤醒信号输A^和解密电 路,戶脱翻^a錢响应在所述唤離号输A^接收到唤醒信号以M^述低 功率模式切换到所,作模式,所述解密电路用于把所述存储状态解密并且把 所述状态恢复到所述处理电路。在唤醒时,在恢fflt)密状态之前需要解密该加密状态。在一些实施例中,加密和解密电路可以是独立的单元,在其他一些实施例中,它们可以是单个的硬件设备。在一些实施例中,所述fygM^S进一步包括校^f辑,所述校,辑 用于从所述状态中得到校验值,所述加密逻辑用于加密所述校验值,所述校验 值和所述加密状态一起存储到臓存储设备。为了校验状态己经被成功地存储并且没有被潜在的黑絲改,可以采用校 ^!辑,该校验逻辑计算校验值并且存储该校验值。这可以在未加密状态下执 行并且校验值可以和状态一起加密并存储。可选择的,这可以在加密状态下执行,于是校验鹏该与加密状态分离地存储。在任一情况下,提供校ai^辑帮 助确定是否有黑客篡改了状态。如果是被篡改了的情况, 处理装置在唤醒 时复位而不Jiit纟亍咴复。在一些实施例中,所述解密电路用于从所述校验值确^ 码状态的完在解密中,解密逻辑育辦确定和计算预定的校验值,如果该值与存储的值 不同,夷卩么可知状态可能已经被篡改,并且处理器的状絲被复位而不是被恢 复。在一些实施例中,所述娜舰體用于响应检测到设定斜牛而产4^述 休目瞧号。尽管休目^t号可以皿多种方式生成,它还可以自动M。本发明的实施 例特别适用于休目民信号的自动生成,这归功于加密在硬件中执行的事实,它可 以响应自幸信号'i^I有效地执行。本发明的另一方面衝共用于在休目繊间安^itk保存处理^^态的方法,包 括以下步骤使用处理电路来处理安全数据,所述处理电l^括多^h用于保持所述处理电路的当前状态的状态保持单元,至少一些所述状态保持单元被串联布置;在休目瞻号输A^接收休目臨号;响应所述休g瞻号,通过以下步骤从其中所述数据处理^a加电的操作模式切换到其中至少所述处理电路断电的低功率模式Mf述状态保持单元输出所述处理电路的状态;釆用加密电路加密 所述输出状态;S^M加密状劍呆存至瞎储设备;以及断电所述处理电路。M31下面对参考附图所阅读的具体实施方式
的详细描述,本发明的以上和 其他目的、特点和优点将显而易见。


图l示意性itk/示出了依照本发明的实施例的m^M^a;图2示出了应用于Trustzone系统的本发明的实施例;图3a示出了当依照本发明的实施例休眠时所执行的步骤;以及图3b示出了OT本发明的实施例唤醒休眠的系统时所执行的步骤。
具体实施方式
图1示出了^^本发明的实施例的 ,芯片5和在M芯片iSA休眠 模式时用于存储处理芯片的保#1^态的芯片外(offchip)存储库7。
处理芯 片5包括具有扫描使能输入端12和扫描链16的CPUIO。尽管在这个实施例中 示出了CPU,但是如本领域^人员所熟知的,本发明的实施例还可以应用于 其他 模±央。扫描链16具有各自与加密电路20和解密电路24连接的输A^ 和输出端。尽管在这个实施例中,它们显示为独立的电路,但是如本领域技术 人员所熟知的,这也可以是单个的密码模块。除甜卜,M鹏芯片5包括休目劻卩密控制逻辑30,其可操作鹏于控 制在把休眠的CPU的状态存储于芯片外之制每其加密。舰芯片5还包括用于 控制存储的存储器接口 40以及校验和逻辑50。处理芯片5还包括芯片上密钥生 臓60糊賜失性密钥存储区域62。非易失性密钥存储单元62在常加电区域, 这ME休眠期间这个信息不会丢失。休目劻口密控制逻辑30包括输局32,用于接收休眠或者唤鹏号。响应 于鄉鴻32接收到休目矓号,休g劻卩密控伟腿辑30可操作地用于把扫描使 能信号从输出端33縱到CPU10的扫描使能输爛12。这#^活了扫描链16 并且表明CPU10的状态可以经由扫描链16扫描出去。在这个实施例中,示出 了相互并行的多个扫描链16。如本领TO术人员所熟知的,单个扫描链或者多 个扫描链都是可以的。扫描链充当串鄉位寄存器并且有效舰包含CPU10的 状态的数据串纟m从其中移出。多个并庁的扫描链缩短了移出这,息所花费 的时间。这^ 出 然后|雌超咖密逻辑20,该加密逻辑20用^E状态加密。扫描链的特性意i^数据输出是作为一个或者多个串行数据流的形式的输 出。这是很便利的,因为串行娜流尤其适用于硬件加密,加密逻辑把数据的 串fr流加密比把并行到达的^h大量娜加密更加容易。加密逻辑20包括另一 输入端22,在繊入端22上输入加密密钥。加密密钥存储在非易失性密钥存储9器62中。在这个实施例中,从芯片上密钥生臓60生戯卩密密钥。因此,在 处理芯片5操作的功能模式期间,这个芯片上密钥生麟用以生成密钥并且把 该密钥存储到非易失性存储器62。在芯片的操作期间生成新密钥衝共了健壮的 安全性。可选方案的是在非易失性密钥存储器62±7乂久地存储加密密钥。这个 加密密钥可以在生产芯片5的时候存储到密钥存储器中,并且这个加密密钥对 于特定芯片是唯一的離对于多个芯片来说这个加密密钥是固定的密钥。这将 避免需要芯片上密钥生成器60,但是相比于连续的生成新密钥不会提供如此健 壮的安全性。接着在存储器接口 40的控制下把加密状态存储到芯片外存储器7。在将它 存储到芯片夕卜存储器之前,細校验和生 50执行校验和。校验和Ji^余校 验的一种形式, 一种S31检测数据中的错误来保护数据完整性的简单措施。这 通过把数据的基本要素相加,并且存储得到的it3le实现。之后,任何人都可以 对该繊执行同样的操作,把得到的结果与真实的校验和相比较,并且(假设 和匹配)推定 大1^没有被破坏。在加密之前对M执行校验和,并且接着 把校验值和数据一起加密并存储。可选择的,可以对加密数据执行校验和,正 如所示出的,在这种情况下,校验和的值本身没有被加密并且因te该存储到 与加密 所在皿不同的^§0尽管在这个实施例中示出的劍娜执行校验和以此校验麵,但就于 本领m术人员显而易见的是,也可以对 执行不同运算以产生用于校验数 据的结果。例如,可以对加密的数据执行船涵数并存储其值。船U函数以任 意长度的长数据串作为输入并产生固定长度的串作为输出。它有时被称为数字 指纹。该函数是单向函数,并且不肯,散列获取关于数据的信息。对数据再 次执行该函数应该产生同样的结果,如果没有产生同样的结果,那么这指示数 据已经被篡改了。因为散列函数没有给出关于数据的任何信息,所以可以存储尽管在这个实施例中,用于保存机态的存储親皮示为在芯片外的,但魏 于本领域技术人员显而易见的是,存储器也可以在芯片上。然而,本发明的实 施例特别适用于芯片夕卜存储^^储,因为在此其安全问题特另湘关。一旦这个信息已经被存储时,接着处理芯片5就可以itA休職莫式,在休 目民模式中芯片的一部分断电。这将包括CPUIO并且可能包括芯片的许多其他部分。不包括非易失性密钥存储单元62,由于需要该密钥用来恢复CPU的状态所 以非易失性密钥单元需要保持加电。应该注意的是,这个非易失性繊存储器可以是在芯片的一部分上的存储器,雜休眠期间一勤B电,^"t:可以是即使没有功率也可以保持状态的存储器,例如闪存,或者如果该密钥并一瞎操作 期间 的而是在制造的时候设定的,那么密钥可以硬布线到系统中。应该注意的是,使用扫描链输出,器的状态不仅因为它们的串行特性是 所期望的,并且因为响应单个信号可以简单自动地保持和输出状态也是所期望的。g该注意的是,在休目^号输入端32的休眠信号可以来自于用户,但是 它也可以响应预定的条件而自动生成。这些条件可能是皿预定的时间用户没 Wlf入,或者可能是电池功率下斷氏于某个值,或者可能是任意数目的预定条 件。当需要把CPU从其休目K^态唤醒时,鄉A^32输入唤醒信号,给齡 芯片加电并且接下来休目K^制逻辑30用,制处理芯片5恢复其状态。这样, 经由输出端34 ffijl存储器接口 40发送信号并且经由存储器接口 40把保存的力口 密状态指向解密电路24。这由休眠控制逻辑雜制并且把密钥从非易失性密钥 存储器62发超蠏密逻辑。解密逻辑接着能把加密过的娜流解密并且ffliffi 描链传送以恢复CPU10的状态。CPU—经恢复即可继续处理。当经由解密逻辑24解密 时,如果执行了校验和^tt^性成便还可以 进行校验以校验状态没有被篡改过。如果状态被篡改了那么接下来不把状态进 行咴复并且复位CPU。图2示出具有ARM Trustzone内核的数据处理装置5,具有与该 ARM Tnistzone内核紧密耦合的休B劻B密。ARM Trustzone内核駒于鹏安 全数据以及为非安^f呈,安全数据的ARM安全系统。ARMTrustzone系统 的细节例如可以在共同转让的共同待审美国专利申请号为10/714,561中得到。
处理装置5具有安全Tmstzone处理内核10,具有与该安全Trastzone Ml 内核10紧密耦合的休目觔P密逻辑80。还具有总线,存储控带藤,其做卜设,能 够用来生働B密密钥的随机数^a60和用于存储加密和解密密钥糊一易失性 密钥存储区域62。还具有包括闪存92和SDRAM94的外鹏储器。在休眠期 间内核10的加密状态能被存储到SDRAM94中。尽管没有明确的示出,但内核 10具有用于保持和扫描出处理器的状态的扫描链。在休眠时该状态被扫描出送到休目劻卩密逻辑80,御哩将竊储之前进行加密。图3a示出了根据本发明的实施例休眠安全内核的方法的步骤的繊图。在 该系统中,当对于预定时间量t检测不到fi^lf入时,生成懒瞻号并:^咻 眠控制逻辑。接着,保持在扫描单元内的状态并総加密密钥。接着,从处理 器扫描输出保持的状态并且然后織出的状态被加密。接着对加密的状态执行 散列函数并把加密的状态和附十算的船隨保存到非易失性存储器。接着断电 鹏器。图3b示出了根据本发明的实施例的唤,眠的安全内核的方法的步骤的 繊图。最初检测唤Hft号,响应于此,处理器加电。检索解密密钥。接着从非易失性存储器检索加密状态和散列餅舰其执fim列函数。如果所计算的散列值与所检索的值匹配,那么可能娜没有被破坏,并且把加密的状态解密 并经由扫描链恢^M处理器。接下里Mff开始操^^莫式。如果所述敝隨与存储的齢値不相同,那么数据可能已经被篡改了,那 么不再进行解密并且不恢复处理器的状态。而是复位处理器并把存储的加密状 絲弃。如果本发明的实施例应用的安全系统没有安全 时,则不需要把状态加密。尽管本发明的实施例已经参照附图在此做了详细阐述,但可以理解的是本 发明并不仅限于这些实施例,在不脱离本发明的权利要求所限定的保护范围和 樹申的情况下,本领域狱人员可以实现各种鄉和修改。
权利要求
1、用于处理安全数据的数据处理装置,所述数据处理装置包括处理电路,包括多个用于保持所述处理电路的当前状态的状态保持单元,至少一些所述状态保持单元被串联布置;加密电路;以及休眠信号输入端;所述数据处理装置响应于在所述休眠信号输入端接收到休眠信号,从其中所述数据处理装置加电的操作模式切换到其中至少所述处理电路断电的低功率模式,所述数据处理装置用于在所述处理电路断电之前从所述多个状态保持单元输出所述处理电路的状态,并利用所述加密电路加密所述输出状态,并且把所述加密状态保存到所述存储设备。
2、 如权利要求1所述的 ,装置,其中所述多个状皿持单元被串联布置將含扫描链。
3、 如权利要求1所述的 ^5,其中所述多个状皿持单元包含彼 此并联布置的多个扫描链。
4、 如权利要求i戶皿的 ,装置,其中所述i^M^a包括戶;M存 储设备并,述存储设备用于在戶,低功 式期间保持数据。
5、 如权利要求i所述的 装置,其中所述i^M^a形皿芯片上。
6、 如权利要求1所述的 处理^3,其中所述M电路是中央处理单元。
7、 如权利要求1所述的 ,^,所述 装置进一步包括另外的处理电路,所述另夕卜的舰电船括协同鹏器和中央处理单元的至少一个。
8、 如权利要求1所述的 装置,所述电路进一步包括懒^R皿制逻辑,所述休目s^态控制逻辑用于响应在所述休目民信号输入端接收到所述休眠 信号以启动对所述娜舰錢的所述状态的输出禾咖密,并控制所述加密状 态的存储。
9、 如权利要求8所述的 ,装置,所述 ^2进一步包括非易 失性鄉存储器,所述休目^R态控制逻辑进一步用于控制所述加密逻辑在所述 操作模式期间生成加密密钥,并控制戶腿娜处理體把所述加密密钥存储到所述非易失性 存储器中。
10、 如权利要求1所述的娜鹏縫,所述繊处理驢进一步包括非易失性娜存储器,所述非易失性娜存储蹄储所述加密逻辑f顿的加密密 钥。
11、 如权利要求i所述的 ,^3,所述 ^进一步包括唤 醒信号输入端和解密电路,所述 ^3^§响应在所述唤醒信号输入端接收 到唤醒信号以M述低功對莫式切换到所述操作模式,所述解密电路用于解密 戶腿存储状态并^^f述状态恢复到所述鹏电路。
12、 如权利要求10所述的数据鹏體,其中所述加密电路和解密电g鲍 括单个的硬件密码设备。
13、 如权利要求1所述的 装置,所述 处理装置进一步包括校验逻辑,所述校验逻辑用于M^f述状态得到校验值,所述加密逻辑用于加密所述校验值,所述校验值与所述加密状态一起存储^^f述存储设备中。
14、 如权利要求1所述的 ^§,所述 处理^进一步包括校验逻辑,所述校^i辑用于w;F述加密状态得到校验值,所述校验值存储在与 存储所述加密状态的所述存储装置分离的非易失性存储器中。
15、 如权利要求12所述的娜鹏體,所述M处理縫进一步包括唤 醒信号输A^和解密电路,所述 鹏錢响应在所述唤醒信号输入端接收 到唤,号以从所述低功^^莫式切换到所,作模式,所i^密电路用于解密 所述存储状态并把所述状态恢复至術述处理电路,其中,所述解密电路用于从所述校验值确定戶;M 密状态的雄性。
16、 如权禾腰求1所述的娜鹏體,其中戶腐娜舰縫用于响应 检测至顾定剝牛以产生所述休目臨号。
17、 用于在休眠期间安全地保存,:g^R态的方法,包括以下步骤 ^ffl处理电路来处理安全数据,所述处理电路包括多个用于保持所述处理电路的当前状态的状皿持单元,至少一些所述状^j呆持单元被串联布置; 在休目,输入端接收休目臨号;响应戶;M休目Kft号,M以下步骤从其中所述自处理装置加电的操作模式切换到其中至少所述鹏电路断电的€1力斜莫式^^述状皿持单元输出戶,M电路的状态;采用加密电路加密,输出状态; 舰述加密状繊存到存储设备;以及 断电所述^ba电路。
全文摘要
本发明公开了用于处理安全数据的数据处理装置。该数据处理装置包括处理电路,包括多个以用于保持所述处理电路的当前状态的扫描链形式的状态保持单元,至少一些所述状态保持单元被串联布置;加密电路;以及休眠信号输入端;所述数据处理装置响应于在所述休眠信号输入端接收到休眠信号,从其中所述数据处理装置加电的操作模式切换到其中至少所述处理电路断电的低功率模式,所述数据处理装置用于在所述处理电路断电之前从所述多个状态保持单元输出所述处理电路的状态,并利用所述加密电路加密所述输出状态,并且把所述加密状态保存到所述存储设备。
文档编号G06F21/74GK101256606SQ200810088150
公开日2008年9月3日 申请日期2008年2月19日 优先权日2007年2月19日
发明者B·D·劳伦斯, N·E·帕里斯 申请人:Arm有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1