完整性受保护的安全存储设备的实施的制作方法

文档序号:6670773阅读:203来源:国知局
专利名称:完整性受保护的安全存储设备的实施的制作方法
技术领域
本发明涉及为设备提供完整性受保护的安全存储设备。本发明 具体地但并非排他地涉及在比如移动电话这样的便携设备上的状态 维护。
背景技术
各种通信设备在我们日常生活方方面面中的使用已经在近年来 显著增长。现代移动电话正在变成能够实现各种新安全应用的多用
途设备,比如银行客户机和数字权利管理(DRM)客户机。随着个 人通信设备的激增,保护设备内存储的关键数据已经变得越来越重 要。例如,已经与个人通信设备一起实施PIN的使用用来控制对设 备的访问。然而有可能的是如果给定不受限制的时间和尝试来输入 PIN则可能猜到PIN。因此,除了使用PIN之外,限制尝试输入PIN 的次数也是有用的。
为了限制尝试访问设备的次数,有可能在个人通信设备中使用 某类计数器。该计数器在密码术上绑定到与设备所用关键数据有关 的状态信息并且可以用作防盗机制。在这一上下文下,状态信息可 以意味着指示了连续不正确的PIN访问尝试的次数。在某一数目(假 如三次)的不正确PIN输入尝试之后,设备锁定直至输入专用PIN 解锁密钥(即PUK代码)。
如果设备上的状态信息存储设备缺乏完整性保护,则攻击者有 可能记录当前状态信息、试验三次连续PIN(在这一过程中设备将更 新状态信息)并且用旧的记录数据来覆盖新更新的状态信息。以这 一方式,攻击者将获得多于三次试验以找到正确PIN。
除了保持对连续不正确口令/PIN访问常数的跟踪之外,在DRM领域中还有各种其它使用,在这些使用中可能需要用以在安全个人 设备中安全地存储状态信息的能力。
当需要控制数据内容的消费时保持对计数器值的跟踪可能也是 有用的。例如,第三方可能想要防止个人通信设备的用户播放歌曲 多于十次。交付用以播放歌曲十次的权利作为 一种通过实施计数器
来指定IO次使用限制的电子凭证。然而,如果用户能够在每次使用
之后重置计数器,则能够无限地播放歌曲而无需就每次使用向数据 的所有者付费。
在移动设备中,也有应当在设备的整个生命期中可靠地可访问 的依赖于设备的安全状态。例如,移动电话可以具有应当有效地防 止使用被盗电话的电话锁特征。当该锁接合时,当前用户标识模块
(SIM)的标识符与匹配通行代码的适当表示(例如单向散列代码) 一起存储于电话的可重写永久型存储器中。只要更换了 SIM,如果 启用电话保护,则电话先询问用户对应通行代码,并且只有成功地 输入,电话才存〗诸新SIM的ID并且允许它的^f吏用。然而,为了防止 强力攻击,电话应当保护失败通行代码的计数器,从而在三次失败 尝试之后,电i舌变成更4切底i也锁定。
在已经需要关键状态信息非易失性维护的DRM领域中,各种密 码术方法已经用来保护关键状态信息,比如关键计数器值等。
密码术的一个方面涉及到对数字数据进行编码或者加密以使它 不可为所有接收者而可为预定接收者所理解。换而言之,当在DRM 背景下利用密码术时,对数据进行加密并且将解密密钥交付给已经 为消费该数据内容而付费的那些终端或者用户。为此,密码系统能 够用来通过防止非授权方使用和更改数据来保存数据的私密性和完 整性。除了加密之外,也使用对数据起源的认证以便保证例如只有 具有正确密钥的一方才能够生成正确签名或者消息认证代码
(MAC)。
例如,能够在数字上对包括数字化声音、字母和/或数字的明文 消息进行编码,然后使用复杂的数学算法对该消息进行加密,该算
法基于也称为密码密钥的给定数字或者数位集对编码的消息进行变 换。密码密钥是可以根据所用算法或者密码系统来随机选择的或者 具有特殊数学性质的数据位序列。在计算机上实施的高级密码算法 能够变换和操控在长度上数以百计或者数以千计位的数字并且能够
抵御任何已知非授权解密方法。有两种基本类别的密码算法对称 密钥算法和非对称密钥算法。
对称密钥算法将一致的密码密钥既用于发送方对通信进行加密 又用于接收方对通信进行解密。对称密钥密码系统在共享密码密钥 的双方的相互信任的基础之上构建以使用密码系统来防范不受信任 的第三方。 一种众所周知的对称密钥算法是由National Institute of Standards and Technology (国家标准和4支术才几构)首先^>布的国家凄丈 据加密标准(DES )算法。参见Fe&ra/ i eg/Wer 7975半3 77《' # W蕃岸52痴和7975半S /《# W巻專欢。进行发送的 密码设备使用DES算法针对通信会话(会话密钥)在消息与密码密 钥(DES密码密钥长达56位) 一起加载时对消息进行加密。接收方 密码设备使用逆DES算法在加密消息和与用于加密的密码密钥相同 的密码密钥 一起加载时对加密消息进行解密。
非对称密钥算法将不同的密码密钥用于加密和解密。在使用非 对称密钥算法的密码系统中,用户使加密密钥公开而保持解密密锎 为私密,并且从公共加密密钥导出私密解密密钥是不可行的。由此,. 知道特定用户公共密钥的任何人都能够对去往该用户的消息进行加 密,但只有作为与该公共密钥相对应的私密密钥的所有者的用户才 能够对消息进行解密。这一公共/私密密钥系统首先在Diffie和 Hellman在IEEE Transactions on Information Theory 1976年11'月 的,Wew jD/re"/ow /" O>^ogra/ /^"中以及在美国专利第4,2卯,770号 (Hellman等人)中提出。
上述密码系统已经用来通过以若干方式安全地存储状态信息来 保护个人通信设备中的状态信息。首先,通过将快照写到状态信息 并且例如通过使用单向散列函数来计算它的"校验和"。将结果存
储于设备的防篡改存储器位置。因此,如果有人试图改变状态信息, 则结果的校验和将与个人设备内存储的校验和值不匹配。其次, 过使用设备内的单调永久型计数器。每当有状态变化时,状态信息 随着使用设备密钥来加密的当前计数器值一起存储。因此没人能够 不用密钥就改变加密的状态信息。
然而,这两种现有技术的方法均需要在同一防篡改区域中包含 安全处理器本身的少量读写存储设备。
在DRM领域中,通常通过数字集成电路来提供所涉及到的应 用。如果运行这种应用的安全处理器在它的防篡改永久型存储设备 内具有足够的可更新空间,则为状态信息实施完整性保护相当容易。 Maheshwari等人已经在OSDI 2000的'7/ow 万w/W a 7VwWed Z)afa6ose ow (7"fn^"d borage"中公开了这样的布置。遗憾的
是,经济原因正在消除数字集成电路上的非易失性可重写存储器。
在安全处理器的防篡改周界内集成可更新的存储器或者读写存储ii
备是昂贵的,尤其是在像移动电话这样的资源特别受制约的设备上 更是如此。换而言之,状态信息的存储和应用的安全处理在与安全 处理器相同的防篡改区域内(例如在安全处理器的集成电路内)并 非总是经济的(或者甚至不实际)。
另外,正如现有技术中已知的,数字IC块往往在成本上优化,
使得它们中的一些甚至不能容纳可重写永久型存储器(例如闪存),
因为包含这样的存储器将要求制造6硅层而不是普遍的用于IC块区 域的4硅层。因此同样地,简单地为安全处理器提供非易失性存储 器看上去在经济上和技术上并非适合于所有使用。
因而,存在的问题是如何为通常资源受制约的设备的安全处理 器实施完整性受保护的安全存储设备。
作为针对这一问题的实际解决方案,公开号为C/S2卯3/(W79/" 」/的本申请的申请人的共同未决专利申请提出了使用外部防篡改存 储设备来存储重要状态信息的思想。引入了认证(或者受信)计数 器的思想。专利申请t/51 20W/M79"2爿7 <^开了能够在比如智能卡
这样的外部防篡改安全令牌中实施能够由安全处理器用来在完整性 上保护其状态存储设备的认证计数器。为了使这一点起作用,安全
处理器需要能够认证外部安全令牌。为此,专利申请OS 2M3/M79"2」/公开了使用公共密钥框架(PKI)。
然而,公共密钥框架建立起来相当复杂,因为它涉及到设备制 造商与外部安全令牌制造商之间的协作和共识。它还对外部安全令 牌或者存储器造成一定数量的处理负荷。

发明内容
本发明的目的在于避免或者至少緩解现有技术中发现的问题。 #4居本发明的第一方面,提供一种设备,该设备包括 第一集成电路,用于形成第一信任区域,该第一集成电路包括
安全处理器;以及
与第一电路相分离的第二集成电路,用于形成第二信任区域,该第二集成电路包括在第二信任区域内的安全非易失性存储设备,
其中
安全处理器被配置用于以安全的方式将信息从第一信任区域传 送到第二信任区域以便安全信息安全地存储于安全非易失性存储设
备中;
第二集成电路被配置用于以安全的方式将它的安全非易失性存 储设备中存储的信息从第二信任区域传送到第 一信任区域内的安全 处理器;以及其中
所述第一集成电路和所述笫二集成电路是设备的内部部分。 在一个实施例中,提供内部安全令牌或者存储设备以安全地存 储安全信息,比如指示了不同计数器的信息。内部安全令牌是作为, 设备一部分的令牌并且能够在设备组装过程中被初始化。但是安全 令牌不在安全处理器的防墓改周界内。有利地,内部安全令牌由第 二集成电路提供,该第二集成电路包含能够在一定时间段维护与安 全有关的状态信息而无需连续供电的非易失性存储器。
有利地,该设备包括共用组件模块上的安全信息处理和存储电路, 使得不可从互连两个组件模块的连接器检测第一电路与第二电路之 间的通信。
另外,向第一电路仅提供易失性可重写存储器并且由此可能减 少第一电路的复杂度而同时利用可以更好地适合于提供永久型可重 写存储器的第二电路,这可能是经济的。例如,当前的数字集成电
路(IC)块可能无法经济地适于提供闪存,而模拟电路如能量管理
芯片可以相对简单地适于以很少的成本提供永久型存储设备。这在 以it以千万计或者^t以亿计的方式来制造产品如移动电话的情况下 特别地便利。
有利地,第一电路和第二电路适于建立将要在第一信任区域与
第二信任区域之间使用的安全通信协议。该协议至少包含READ(读) 和WRITE (写)命令以及密钥改变才喿作,例如WRITE KEY (写密 钥)命令。因而,在一个实施例中,为该设备提供使得能够在第一 信任区域与第二信任区域之间共享多个密钥的密钥状态管理。第二 信任区域的非易失性存储设备可以包括指示了将将要在通信中使用 的共享密钥的至少一个密钥状态变量。当改变了在第一信任区域与
第二信任区域之间共享的密钥时维持和更新状态变量。
本发明的一个实施例提供用于READ和WRITE才喿作的新近性 (freshness)检验。对于READ操作安全处理器可以包括随机值 作为READ命令中的参数,使得它能够验证从第二集成电路接收的 后续结果是新的,也就是没有重放。对于WRITE操作可以通过在 目标单元中包括旧值作为WRITE命令中的参数并且通过在第二集 成电路中检验WRITE命令中的这一参数是否与目标单元中的旧值 相同来执行新近性检验。如果不相同,则将不允许WRITE命令。
在又一实施例中,第二集成电路适于仅将单个密码原语用于其 所有密码操作。
根据本发明的第二方面,提供一种用于初始化将要在第一集成 电路与第二集成电路之间共享的安全密钥的方法,该方法包括
从安全密钥分发服务器向第一集成电路和第二集成电路分发将 要在第一集成电路与第二集成电路之间共享的安全密钥,其中该方
法包括
使用第一密钥来保护安全密钥从安全密钥分发服务器到第一集 成电路的分发,该第一密钥是在第一集成电路与安全密钥分发服务
器之间预先共享的密钥;以及
使用第二密钥来保护安全密钥从安全密钥分发服务器到第二集
成电路的分发,该第二密钥是在第二集成电路与安全密钥分发服务 器之间预先共享的密钥。
根据本发明的第三方面,提供一种集成电路,包括
安全处理器,用于根据安全协议发出和加密将要传送到另 一 集' 成电路的命令,其中
安全协议包括密钥改变操作,通过该密钥改变操作能够改变在 集成电路与所述另一集成电路之间共享的安全密钥。
根据本发明的第四方面,提供一种可由集成电路的安全处理器 执行的计算机程序,该计算机程序包括
用于根据安全协议发出将要传送到另 一集成电路的程序代码;
以及
用于使安全处理器启动密钥改变操作的程序代码,通过该密钥 改变操作来改变在集成电路与所述另一集成电路之间共享的安全密 钥。
根据本发明的第五方面,提供一种集成电路,该集成电路包括 非易失性存储器,用于存储从另一集成电路接收的安全数据;
以及
用于访问所述非易失性存储器的逻辑,其中集成电路适于将所 述非易失性存储器上存储的并且借助密码术来保证安全的安全数据 传送到所述另一集成电路,以及其中
集成电路适于使用单个密码原语。
根据本发明的第六方面,提供一种可在集成电路中执行的计算
机程序,该计算机程序包括
用于通过使用在集成电路与另一集成电路之间共享的密钥来保 证与所述另一集成电路的通信安全的程序代码;以及
根据本发明的第七方面,提供一种适于实现设备的能量管理的 能量管理芯片,该能量管理芯片包括安全的非易失性存储器和逻辑 以便为安全处理器提供安全令牌。
根据本发明第四和/或第六方面的计算机程序可以存储于计算 机可读介质上。根据本发明第四和/或第六方面的计算4几程序可以通 过信息信号来承载。
有利地,处理器的操作和/或第二集成电路的逻辑可以借助写入 到存储器中的计算机程序来编程,随后执行来自该存储器中的程序 以控制相应设备的操作。有利地,可以仅在包括处理器和逻辑的设 备的生成过程中写入该程序。可选地,可以在配置包括处理器和逻 辑的设备以便它的正常使用时存储该程序。可以与服务或者最终使 用相联系地执行在配置时的存储。
根据本发明的又一方面,提供一种与本发明的第一方面相符的 第一集成电路。第一集成电路被配置用以与第二集成电路一起操作 而作为设备的内部部分。根据本发明的又一方面,提供一种与本发 明的第一方面相符的第二集成电路。第二集成电路被配置用以与第 一集成电路一起操作而作为设备的内部部分。
乂人属4又利要求涉及本发明的实施例。涉及本发明特定方面的从 属权利要求中所含主题内容也适用于本发明的其它方面。


现在将参照附图通过例子来描述
具体实施例方式
图1示出了根据本发明实施例的设备内具有两个分立信任区域 的思想;
图2示出了根据本发明实施例的移动电话组件模块的简化框图3示出了根据本发明实施例的初始化过程;以及
图4示出了根据本发明实施例的蜂窝通信网络的移动台。
具体实施例方式
本发明的实施例被设计用以使安全处理器能够在内部安全令牌 上安全地存储状态信息。术语内部安全令牌在这里意味着与现有技 术中已知的在设备外部的安全令牌(比如可移动智能卡)相对照的 在设备内部的安全令牌。然而,虽然内部安全令牌形成设备的一部 分,也就是说它基本上是不可替代的,但是内部安全令牌没有集成 到安全处理器。换而言之,本发明的这一实施例提出了在(设备) 内部但是没有集成(到安全处理器)的安全令牌。
图1示出了由第一信任周界110限定的第一信任区域101。安 全处理器落在第 一信任周界以内。在第一信任周界以内的区域是防 篡改的。内部安全令牌不在第一信任周界以内,但是由第二信任周 界120限定的第二信任区域102布置于设备以内并且内部安全令牌 就实施于此。第二信任区域也是防篡改的。
第二信任区域102与第一信任区域101相分离。第一信任区域 的安全处理器经由在第 一信任区域与第二信任区域之间实施的通信 信道105与内部安全令牌通信。因而,在设备中实施通过通信信道 来联合的两个不变和分立防篡改信任区域。
安全处理器的一个例子是在比如蜂窝网络的移动电话这样的移 动台上的安全基带ASIC芯片。内部安全令牌的一个对应例子是分立 集成电路(IC)芯片,例如能量管理芯片。通信信道的一个例子是 I2C总线。
通常通过将组装模块集放置在一起来制造手持便携设备如移动 电话。根据一个有利的实施,包括安全处理器的芯片(或者电路)、 互连通信信道以及包括内部安全令牌的分立芯片(或者电路)属于 共同的组件模块。它们可以实施于共同的电路4反上。可选地,它们 可以属于经由通信信道连4妾在一起的不同组件冲莫块。
图2呈现了根据本发明实施例的移动电话组件模块200的简化 框图。组件模块200是包括两个或者更多IC块的电路板或者其它一 体化实体。IC块无论它们是否实际包含任何硅芯片在这里都称为集 成IC芯片。
组件模块200包括两个特定IC芯片主ASIC 210和辅ASIC 220,其中辅ASIC 220向主ASIC 210提供安全令牌。主ASIC 210 可以是安全基带ASIC,即能够实现基带频率操作的数字IC芯片, 而辅ASIC可以是能量管理芯片(也称为EMC),即能够实现能量 管理的模拟IC芯片。
主ASIC 210包括安全处理器211、安全随^^存取存储器212如 第1层高速緩存以及非易失性只读存储器213 (ROM) 。 ROM 213 包含用于在设备启动之后被加载时控制安全处理器211的操作的计 算机程序代码214的部分。主ASIC 210经由存储器总线215连接到 另 一非易失性存储器216。非易失性存储器216在第 一信任区域以外 的非安全(非防篡改)区域上形成受保护的存储设备。因而,安全 处理器仅在第一信任区域以外具有可重写非易失性存储器。受保护 的存储设备216之所以是保密的是因为使用在第一信任周界以内已 知的内部密钥来加密其信息。然而,受保护的存储设备在完整性上 没有受保护,因为高级攻击者至少在原理上可能更换存储设备内所 含信息。
辅ASIC 220包含可重写非易失性存储器如闪存223。辅ASIC 220还包括用于访问闪存的闪存访问逻辑222、用于实现与主ASIC 210的通信的控制逻辑221以及耦合到控制逻辑221用于执行密码原 语的密码块224。如果辅ASIC 220是蜂窝电话的能量管理芯片,则 辅ASIC 220还包括实现普通能量管理功能所需要的其它适当块。这 些功能涉及到控制以比典型蜂窝电话的数字电路可控制的电压更高 的电压为部件能量供应。逻辑块221和222以及密码块224可以通 过硬件、软件或者硬件和軟件的组合来实施。
应当认识到并非必须在模拟芯片上实施辅ASIC 220。反言之,
在具有可重写永久型存储器的组件200内集成的数字ID将同样可 用。另外,本发明的实施例对于其它类型的IC块同样适用。
主ASIC 210可以是任何适当的如下IC,该IC能够运行计算机 程序代码,使得当它在第一信任周界110以内、也就是在第一防篡 改信任区域101上运行应用时难以干预它的执行。信yf壬区域101包 含必要的寄存器和存储器区域,这些区域通常包含安全数据。辅 ASIC 220具有第二信任区域102,该区域包含逻辑电路221和222、 密码块224以及可重写非易失性或者永久型存储器223中相关的部 分(如果不是全部)。逻辑电路222有利地提供仅对永久型存储器 223中相关部分的受控访问。并非全部永久型存储器223必须在安全 周界120内。然而,通常将是这样的情况。
控制逻辑电路221能够通过密码块224所提供的密码手段来实 现与安全处理器211的安全通信。通过使用密钥在密码上保护通信 信道105来实现安全通信。本发明为辅ASIC提供不同的密钥状态值。 什么密钥用于保证通信信道安全取决于辅ASIC 220所在的当前密钥 状态。根据硬连线密钥K一H的密钥状态,使用组密钥K—G或者专用 密钥K—S。然而应当注意,虽然保i正经由通信3言道105进行的通信 安全,但是通信信道本身不在提及的任何信任周界之内而就这一意 义而言落在未受保护的区域上。这同样适用于受保护的存储设备 216。
在初始化过程中初始化主ASIC 210和辅ASIC 220以作为安全 对一起工作。在芯片制造过程中,在辅ASIC 220的控制逻辑221内 对全局硬接线密钥K一H进行编码(或者烧制)并将标识符ID—S分 配给芯片。标识符ID一S是唯一地标识辅ASIC 220的唯一标识符。 可选地,标识符ID一S是组标识符。在后续步骤中,将组密钥K一G 设置(或者写入)到辅ASIC。组密钥按照定义是例如成批码片这样 的组所特有的密钥。当设置了组密钥K—G时,将辅ASIC从它将硬 接线密钥KJi用于加密的密钥状态("硬接线密钥状态")切换到将 组密钥K G用于加密("组密钥状态")的密钥状态。有利地,当制
造芯片时实现组密钥K—G的设置以及从"硬接线密钥状态"到"组密 钥状态"的有关切换。
有利地,专用密钥K—S在芯片制造过程中并不设置到辅ASIC 而只有以后当在电话工厂组装线中将组装模块200放置在一起时或 者将包含组件模块200的设备放置在一起时才设置到辅ASIC。这一 初始化部分也能够在服务点进行。
图3示出了根据本发明实施例的初始化过程。图3的初始化过 程的目的在于将共享密钥或者保密密钥也就是专用密钥K—S分配给 主ASIC 210的安全处理器以及它的安全令牌即辅ASIC 220。组装线 中的安全服务器310充当密钥分发服务器。
在步骤S1中,主ASIC 210读取辅ASIC 220的标识信息。作为 响应(步骤S2),它获得辅ASIC 220的标识符ID—S。可选地,主 ASIC 210也可以从辅ASIC 220读取当前密钥状态信息。在步骤S3 中主ASIC 210向安全服务器310请求将在ASIC 210与220之间共 享的专用密钥K一S。这一请求有利地包含辅ASIC 220的密钥状态、 辅ASIC 220的标识符ID—S和主ASIC 210的唯一标识符ID—P。可 选地,可以使用密钥K—P即在安全服务器310与主ASIC 210之间预 先共享的保密密钥来认证该请求。基于收到的信息,安全服务器310 形成或者选择专用密钥K—S。安全服务器310可以具有它在其中维 护与各密钥有关的信息的数据库。例如,在这一情况下安全服务器
310可以将标识符ID_P和ID—S、辅ASIC 220的密钥状态和专用密 钥K—S联系在一起。
在步骤S4中,安全服务器310发回响应到主ASIC 210。该响 应包括两个部分。第一部分是用于将由主ASIC 210发到辅ASIC 220 的WRITE KEY命令的净荷。它包括使用密钥K—G来加密的专用密 钥K—S。第二部分包括使用密钥K—P来加密的专用密钥K一S。在步 骤S5中通过以上述第一部分发送WRITE KEY命令作为净荷而将专 用密钥传送和存储到辅ASIC 220的逻辑,并且将辅ASIC 220的密 钥状态相应地更新到"专用密钥状态"。同时,主ASIC 210还对第一
部分进行解密并且将它的K—S副本存储于其受保护的存储设备216 中。在步骤S6中,作为对WRITE KEY命令的反馈将成功或者失败 代码发送到主ASIC 210。密钥K一S的使用现在准备就绪。
应当注意尽管上文描述了用于改变辅ASIC 220的密钥状态使 得它从"组密钥状态"切换到"专用密钥状态"的初始化过程,但是类似 过程能够可选地用来将辅ASIC 220的密钥状态从"硬接线密钥状态" 改变成"组密钥状态"。就以上描述所涉及的而言,只需用KJI代替 K—G和用K—G代替K一S。所有其它部分应当4呆持相同。有利地,在 制造辅ASIC之时执行从K一H密钥状态变成K一G密钥状态。但是也 能够在电话工厂完成这一点。K—G(以及类似地,KJ1)的目的在于 保护K—S (以及类似地,K—G)转移到辅ASIC。在这些密钥之中, 只有密钥K—H是硬接线的,其它密钥没有硬接线而仅由WRITE KEY 命令来设置。
正如前文中提到的,共享密钥K—S用来^f呆证主ASIC 210与辅 ASIC 220之间的通信安全。因而,在一个实施例中,通过使用专用 密钥K一S的对称密钥密码算法例如对称DES算法来保障READ和 WRITE命令的安全,这些命令属于将要在ASIC之间使用的协议并 且用来读取和写入辅ASIC 220的永久型存储器223上的安全状态信 息(比如绑定到单调递增的PIN访问常数计数器的信息)。否则, READ或者WRITE命令的基本使用方案对应于在OS 2卯3/0O7W22 X/中呈现的方案。主ASIC 210将协议命令发送到辅ASIC 220而辅 ASIC 220通过发送对命令的响应对主ASIC 210做出响应。
安全处理器211使用K—S对将在完整性上受保护的数据进行加 密并且将数据存储于受保护的非易失性存储设备216中。也使用K_S 对这一数据或者它的关键部分进行加密并且将该数据或者部分存储 于辅ASIC 220的存储器223中。当电源接通时,安全处理器211比 较这些存储器的内容。如果例如已经篡改存储设备216,则将在比较 内容时通知这一点。
在下文中讨论特定的实施问题。
首先,写操作(WRITE或者WRITE KEY )不是原子性(atomic ) 的。写操作有可能失败。失败的写操作可能造成辅ASIC达到不具确 定性的密钥状态。在该情况下,辅ASIC例如将不知道使用哪个密钥。 为了緩解这一问题,根据本发明的一个实施例,内部安全令牌上的 至少两个分立存储器位置(而不是一个)用来跟踪它的密钥状态, 该状态指示了正在使用哪个密钥。这些存储器位置包含指示了在用 密钥状态或者密钥的密钥状态变量。在一个实施例中,向各密钥状 态变量添加冗余。通过至少部分地以魔数(magic value)的形式呈现 密钥状态变量的值来添加冗余,该魔数是基本上比"实际"值更长的 值。如果密钥状态变量具有除了魔数之外的任何值,则设备被布置 用以恢复到使用更保险的安全级密钥(例如,如果将密钥状态从"组 密钥状态"更新到"专用密钥状态"的过程遇到WRITE失败则继蜂使 用K—G)。另一实施例提供用以确认WRITE操作是否已经成功的手 段。在这一实施例中,在发出WRITE命令之后,发出任意数目的 READ命令以验证WRITE命令的结果。
其次,出于调试目的,应当有可能通过将内部安全令牌返回到 已知状态来重置该内部安全令牌,使得外部测试设备可以读取和写 入该令牌上的数据。自然,应当可能实现这一点而无损于系统在正 常操作中的安全性。为了实现这一点,在一个实施例中,布置重置 操作使得它先将一个密钥状态变量归零、然后抹去存储的密钥并转 入内部安全令牌,从而迫使设备使用硬接线密钥(或者根本不使用 密钥)。在一个实施例中,布置内部安全令牌使得只要设备上电时, 如果这一密钥状态变量不是魔数,就抹去密钥。
第三,如果内部安全令牌没有内部安全令牌内随机性的源头, 则只要涉及到重放攻击,这就可能造成困难。如前所述,在安全处 理器与内部安全令牌之间的通信被加密并且在完整性上受保护。接 着将分别针对读操作和写操作来讨论随机性源头的缺乏。
一读操作内部安全令牌并非必须进行重放检测,因为安全处理
器能够通过在READ命令中包括临时数(nonce)来实现这一点。.
-写操作重放检测将适于防止重放攻击。在一个实施例中,辅 ASIC验证除了新值之外,收到的WRITE命令也包括在目标存储 器位置存储的当前值(或者在其它实施例中,也包括在其它存储器 位置的值或者包括将相互已知的函数作用于在一些存储器位置的值 的结果)。否则就不允许WRITE操作。这保证了有限形式的重发保 护只要在存储器位置存储的值序列没有循环,攻击者就不能通过 重放旧的WRITE命令来攻击系统。在另一实施例中,为了减少攻击 者通过重放READ命令来确定存储器位置是否已经改变的机会,辅 ASIC具有线性反馈移位寄存器(LFSR)并且将来自LFSR的一些位 添加至答复。使用一个或者多个存储器位置的内容来初始化LFSR 并且通过时钟来驱动LFSR。
以这一方式,针对READ和WRITE才喿作而言保i正了通信信道 105的观察方不能轻易地确定参数传递的是什么或者效果是什么。
第四,使用基本密码原语来实施ASIC上的密码处理。如果辅 ASIC在资源上受制约,则在ASIC之间的安全通信协议应当如下方 式来设计即使得能够使用尽可能少的密码原语来实现辅ASIC上所 有必要的密码处理,但是仍然保存协议的必需性质如机密性和消息 完整性。例如如下所述那样使用适当的对称加密算法如AES (高级 加密标准)、DES (凄t据加密标准)或者三重DES来实现这一点。 对称加密算法包括前向变换(通常用于加密)和反向变换(通常用 于解密)。
对于在主ASIC中生成的并且发送到辅ASIC的消息
-通过在密码块链接(CBC)模式下使用前向变换作为基本操作 来实现才几密性;以及
-通过在CBC模式下使用CBC MAC (消息认证代码)但是使 用反向变换作为基本操作来实现完整性。
CBC模式是本领域技术人员通常已知的并且例如在2001年8 月出版的第5版、ISBN为0-8493-8523-7的由Alfred J. Menezes等人 著作的,7^ wWooA: o/々 / //W Co^ogra/ /y/,一书中更仔细描述的操作模式。
对于在辅ASIC中生成的并且从辅ASIC发送的消息 -通过使用反向变换来实现机密性;以及
-通过使用以反向变换作为基本操作的CBC MAC来实现完整性。
这样,辅ASIC只需实施对称加密原语的反向变换。主ASIC需 要实施前向变换和反向变换。
当对称加密算法是三重DES时,在辅ASIC中依次地使用基本 DES算法的三个反向变换。这样,辅ASIC只需实施DES的反向变 换。
如果从辅ASIC发送的消息长度仅有 一个块大小,则无需链接。 图4示出了根据本发明实施例的蜂窝通信网络的移动台的非常 简化的示意图。移动台400除了包括安全基带ASIC 210之外还包括 能量管理芯片220和I2C总线105、用户接口 410和射频(RF)部分 420。用户接口 410和射频部分420耦合到基带ASIC 210。用户接口 包括用于使用设备的键盘和显示器。键盘能够例如用于向设备输入 PIN。根据PIN尝试,安全基带ASIC 210在能量管理芯片220的易 失性存储器中维持状态信息(在这里是不成功的PIN尝试的次数)。 RF部分用于与无线网络430的无线射频通信。
已经描述了本发明的特定实施方式和实施例。对于本领域:技术 人员不言而喻,本发明不限于上文呈现的实施例细节,而是能够在. 不脱离本发明的特征情况下使用等效手段在其它实施例中实施本发 明。描述了多个特征作为前文中例子的一部分,而只要在技术上有 可能,这些特征应当被视为可选的并且可与说明书的任何其它不同 例子相组合。例如,本发明也使用于各种电子设备中,特别是使用 于便携电子书、PDA设备、游戏设备、音乐播放器、能够提供对(租 赁)内容的受限访问的具有DRM功能的置顶盒以及GPS定位设备。 因此,本发明的范围仅由所附专利权利要求来限制。
权利要求
1.一种设备,包括第一集成电路,用于形成第一信任区域,所述第一集成电路包括安全处理器;以及与所述第一电路相分离的第二集成电路,用于形成第二信任区域,所述第二集成电路包括在所述第二信任区域内的安全非易失性存储设备,其中所述安全处理器被配置用于以安全的方式将信息从所述第一信任区域传送到所述第二信任区域以便所述安全信息安全地存储于所述安全非易失性存储设备中;所述第二集成电路被配置用于以安全的方式将其安全非易失性存储设备中存储的信息从所述第二信任区域传送到所述第一信任区域内的所述安全处理器;以及其中所述第一集成电路和所述第二集成电路是所述设备的内部部分。
2. 根据权利要求1所述的设备,其中所述第一集成电路和第二 集成电路适于安全地初始化将要在所述第一信任区域与第二信任区 域之间共享的唯一安全密钥。
3. 根据权利要求2所述的设备,其中所述第一集成电路适于与 安全密钥分发服务器共享密钥,而所述第二集成电路适于与所述安 全密钥分发服务器共享另一密钥,以便保证所述唯一安全密钥从所 述安全密钥分发服务器到所述第一集成电路和第二集成电路的递送 安全。
4. 根据任一前述权利要求所述的设备,其中所述第一电路和第 二电路适于建立将要在所述第 一信任区域与第二信任区域之间使用 的安全通信协议。
5. 根据权利要求4所述的设备,其中所述安全通信协议包括将 要通过使用所述唯一安全密钥来执行的以便保证所述第一信任区域 与第二信任区域之间通信安全的密码算法。
6. 根据权利要求4或者5所述的设备,其中所述协议至少包括 READ和WRITE命令以及密钥改变操作。
7. 根据任一前述权利要求所述的设备,其中为所述设备提供使 得能够在所述第 一 信任区域与第二信任区域之间共享多个密钥的密 钥状态管理。
8. 根据权利要求7所述的设备,其中所述第二信任区域的所述 非易失性存储设备包括指示了将要在通信中使用的所述共享密钥的 至少一个被维持密钥状态变量。
9. 根据权利要求8所述的设备,其中所述第二集成电路适于通 过在开机操作时读取所述密钥状态变量的当前值来选择正确的密钥 状态。
10. 根据权利要求1-6中任一权利要求所述的设备,其中所述安 全处理器适于包括随机值作为READ命令中的参数,使得它能够验 证从所述第二集成电路接收的后续结果是新的(没有重放)。
11. 根据权利要求l-6或者10中任一权利要求所述的设备,其 中所述第二集成电路适于检验是否包含其安全非易失性存储设备的目标存储器单元的旧值作为接收的WRITE命令中的参数,以及如果 是这种情况则允许写操作。
12. 根据任一前述权利要求所述的设备,其中所述第二集成电 路被配置用以对接收的命令的响应的参数进行加密,这是通过使用来实现的,使得即使相同的命令仍将产生不同的响应。
13. 根据权利要求12所述的设备,其中所述不可预测的成分是 从通过时钟来驱动的线性反馈移位寄存器中导出的值。
14. 根据任一前述权利要求所述的设备,其中所述第二集成电 路适于仅将单个密码原语用于其所有的密码操作。
15. 根据任一前述权利要求所述的设备,其中所述第一集成电 路是数字的而所述第二集成电路是模拟的。
16. 根据任一前述权利要求所述的设备,其中所述第二电路驻 留于移动电话的能量管理芯片上。
17. 根据任一前述权利要求所述的设备,其中所述第一电路和 所述第二电路形成组件模块的一部分。
18. 根据任一前述权利要求所述的设备,其中所述安全信息包 括指示了所述设备的状态的信息。
19. 根据任一前述权利要求所述的设备,其中所述设备包括用 于存储所述安全信息并且通过使用密钥对所述安全信息进行加密的 第二非易失性存储器。
20. 根据权利要求19所述的设备,其中所述设备被布置用以将 所述第二非易失性存储器的内容与所述第二信任区域的所述安全非 易失性存储设备的内容做比较。
21. 根据任一前述权利要求所述的设备,其中所述设备是手持 通4言i殳备如移动电^舌。
22. —种用于初始化将要在第一集成电路与第二集成电路之间 共享的安全密钥的方法,所述方法包括从安全密钥分发服务器向所述第一集成电路和第二集成电路分 发将要在所述第一集成电路与所述第二集成电路之间共享的所述安 全密钥,其中所述方法包括使用第一密钥来保护所述安全密钥从所述安全密钥分发服务器 到所述第一集成电路的所述分发,所述第一密钥是在所述第一集成 电路与所述安全密钥分发服务器之间预先共享的密钥;以及使用第二密钥来保护所述安全密钥从所述安全密钥分发服务器 到所述第二集成电路的所述分发,所述第二密钥是在所述第二集成 电路与所述安全密钥分发服务器之间预先共享的密钥。
23. —种集成电路,包括安全处理器,用于根据安全协议发出和加密将要传送到另一集 成电路的命令,其中所述安全协议包括密钥改变操作,通过所述密钥改变操作能够 改变在所述集成电路与所述另一集成电路之间共享的安全密钥。
24. —种可由集成电路的安全处理器执行的计算机程序,包括 用于根据安全协议发出将要传送到另一集成电路的程序代码;以及用于使所述安全处理器启动密钥改变操作的程序代码,通过所 述密钥改变操作来改变在所述集成电路与所述另一集成电路之间共 享的安全密钥。
25. —种集成电路,包括非易失性存储器,用于存储从另一集成电路接收的安全数据;以及用于访问所述非易失性存储器的逻辑,其中所述集成电路适于 将所述非易失性存储器上存储的以及借助密码术来保证安全的安全 数据传送到所述另一集成电路,以及其中所述集成电路适于使用单个密码原语。
26. —种可在集成电路中执行的计算机程序,包括 用于通过使用在所述集成电路与另一集成电路之间共享的密钥来保证与所述另一集成电路的通信安全的程序代码;以及
27. —种适于实现设备的能量管理的能量管理芯片,所述能量 管理芯片包括安全的非易失性存储器和逻辑以便为所述能量管理芯 片外部的安全处理器提供安全令牌。
全文摘要
为一种包括第一集成电路的设备提供内部的但不是集成的安全令牌,该第一集成电路包括安全处理器。通过与第一电路相分离的第二集成电路来提供安全令牌。第二集成电路包括安全的非易失性存储设备。安全处理器以安全的方式将信息传送到第二电路以便安全信息安全地存储于安全的非易失性存储设备中,而第二集成电路以安全的方式将它的安全非易失性存储设备中存储的信息传送到安全处理器。借助密码术来保证通信安全。第一集成电路和第二集成电路是设备的内部部分。也公开了一种用于分发将要在电路之间共享的并且将要在密码术中使用的安全密钥的初始化方法。
文档编号G07F7/10GK101176125SQ200680016292
公开日2008年5月7日 申请日期2006年5月11日 优先权日2005年5月13日
发明者J-E·埃克贝格, L·帕特罗, N·阿索坎 申请人:诺基亚公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1