完整性保护的制作方法

文档序号:6454170阅读:173来源:国知局
专利名称:完整性保护的制作方法
技术领域
本发明是关于一种非挥发性存储器数据有效性检査的方法及机制,特别(但不 限于)是针对移动性装置内的非挥发性存储器。本文中所提到的"移动性装置"是 包括手机、个人数字助理、笔记本计算机及台式计算机等等。
背景技术
移动性装置会遭受各类的破坏,比如说小偷会想去改变偷来手机的IMEI (International Mobile Equipment Identifier)码或者去规避手机被锁定 SIM (Subscriber Identity Module)卡。此外骇客也想设法取出数字版权管理 DRM(digital rights management)的金钥(key)去解密比如说像音乐文件这样的东 西,而产生一种不用付版权费即可放录及传播的版本。移动性装置也暴露在恶意的 软件下,比如说计算机病毒及广告软件(adware)在未经许可下会去存取甚至修改装 置内的程序代码或数据。
如今这种威胁的一个典型解决方式是在移动性装置的处理器新增一个防护装 置,此防护装置配备着某种计数测量来达到所要求的防护标准。然而在提高性能及 减少耗能的趋势下, 一个移动性装置往往内含多个处理器。如果多个处理器及其个 别的防护装置都共存于一个单一的移动性装置上,整个系统的安全性就会浮出弱 点,因为处理器上的防护装置可能有不同的机能(特别是处理器是来自于不同厂家 时)。
移动性装置的另一个设计趋势,尤指在手机的设计上,是使用大容量的非挥发 性储存装置(non-volatile storage device),比如画D快闪存储器(flash memory)。这一类的存储器是不能随机存取的,因此一个含此类存储器的移动性装 置在使用存储器内的数据之前,移动性装置内的一个处理器必须先行读取存储器的 数据然后再转存至一随机存取储存装置(RAM)
发明内容
根据本发明的其中一目的,本发明是一数据处理单元、 一控制单元以及一包含 非挥发性储存装置的集成电路,其中,该控制单元被设于该集成电路与该数据处理 单元之间,并提供所有该数据处理单元对该集成电路的存取,当该数据处理单元需 要该非挥发性储存装置的一信息时,该控制单元是用以检査该信息的有效性,并避 免该数据处理单元使用无效的该信息。
通过检査该数据的有效性(该数据可为程序代码、数据或是以上两者的组合), 控制单元维护了该数据处理系统的运作因而促进维持该数据处理系统的安全。
控制单元不一定是在数据处理单元与集成电路间的物理位置上,控制单元也可
能是位于数据处理单元与集成电路间的传达路径上。
控制单元可阻止该数据被使用,比如说控制单元可拒绝传送该数据至该数据处
理单元或拒绝储存该数据至该数据处理单元所属的储存装置。
该包含非挥发性储存装置的集成电路可为一 NAND快闪存储器。 该数据处理单元可包含一个或多个数据处理器。
在某些实施例中,数据处理单元及控制单元被整合至集成电路内系统的一部份。
数据处理系统本身可能为一手机(例如一 3G手机)或手机的一部份,当然本数 据处理系统可用于其它的应用上。


图l是一手机的配置示意图。
具体实施例方式
本发明的某些实施例及相关的附图将通过下列范例来说明,其中 图l是一手机的配置示意图。
图1为手机10的图解。该图只显示了描述本发明所需的组件,基于简洁清楚 的原因,手机的其它元件(例如天线、键盘、电源、显示装置及外壳)在此被省略了。
于图1,手机10包括有数据处理器12及14 (亦即数据处理单元)、 一随机存 取储存装置(RAM ) 16 (亦即随机存取储存单元)、 一快闪存储器控制器18 (亦即 控制单元)以及一 NAND快闪存储器20 (亦即包含非挥发性储存装置的集成电路)。 图1内的双向箭头显示这些元件用于数据或指令流动的路径。数据处理器14是一数据处理器, 一方面解调来自天线端(未显示)所接收的数 字化载频信号, 一方面调变预定送至天线端的数据成为数字化载频信号。数据处理
器12是一应用处理器,使用来自数据处理器14解调后的信息,传送手机10欲传 递的信息至数据处理器14,控制手机10高阶接收及传送功能,并驱动手机10显 示屏幕(未显示)及扬声器(未显示)。
快闪存储器控制器18控制数据处理器12及14对NAND快闪存储器20内容的 存取。比如说当数据处理器12及14欲存取NAND快闪存储器20同一区块时,快闪 存储器控制器18可扮演仲裁的角色。快闪存储器控制器18包含只读存储器(ROM) 的两个区块其各包含数据处理器12及14的开机码26及28。
R認16可被划分为RAM区块22及24。 RAM区块22及24分别只能被数据处理 器12及14存取。
快闪存储器控制器18、应用处理器12、数据处理器14及RAM 16可被整合至 同一片芯片内或称为SoC (system on a chip,单芯片系统)。如此一来元件12 至18间未经许可的存取动作出现的困难度便增高了。
稍早有提到,数据处理器12及14只能通过快闪存储器控制器18去存取NAND 快闪存储器20。快闪存储器控制器18内包含一 HMAC安全信息摘要机制30及 AES (Advanced Encryption Standard)加密机制。HMAC及AES的准则分别在联邦信 息处理标准(Federal Information Processing , FIPS)的198及197项有详细介 绍。
当数据处理器12及14其中之一欲从NAND快闪存储器20撷取信息(可为数据、 指令或是以上两者的组合)时,快闪存储器控制器18可利用HMAC安全信息摘要机 制30去检查信息的完整性,如果此信息在NAND快闪存储器20是以加密的型式存 在的话,可使用AES加密机制32去解密。撷取出来的信息通过快闪存储器控制器 18以直接存储器存取(direct memory access, DMA)的方式被存入提出存取要求的 数据处理器相对应的RAM区块,以确保该信息安全无虑的传送至该数据处理器。
当数据处理器12及14其中之一欲在NAND快闪存储器20写入信息(可为数据、 指令或是以上两者的组合)时,快闪存储器控制器18可利用HMAC安全信息摘要机 制30去产生该信息的数字签章,如果需要的话,使用AES加密机制32去加密该信 息。HMAC安全信息摘要机制30及AES加密机制32所使用的金钥是储存在位于快 闪存储器控制器18内的一 ROM里(未显示),数据处理器12及14都没有权限至该 R0M存取。这些金钥是手机IO特有的。NAND快闪存储器20储存着不同种类的数据,比如说NAND快闪存储器20储存 着手机10的IMEI码、锁定SIM卡(SIM lock)的数据以及DRM的金钥。稍早有提 到,数据处理器12及14的开机码26及28储存在快闪存储器控制器18内。所有 数据处理器12及14所需的其它程序代码都被储存在NAND快闪存储器20。 NAND 快闪存储器20是一标准的商业芯片。
快闪存储器控制器18把NAND快闪存储器20内的信息划分成数组别,各组别 分别有其存取、完整性及机密的设定。关于这些组别的设定及前述划分法都储存在 NAND快闪存储器20内。快闪存储器控制器18把这些组别设定及划分法视为一个 特别的组别,称为组别定义表。每个组别的定义包括有
參一起始地址及该组别最大的容量,这两项数据可显示该组别在NAND快闪存 储器20内所占的范围。
攀一完整性标识以显示该组别内的信息是否有经过一 HMAC数字签章处理。
參一加密标识以显示该组别内的信息是否有经过AES加密。
參二个存取标识, 一个标识用以显示是否数据处理器12有权限存取该组别, 另一个标识用以显示是否数据处理器14有权限存取该组别。
两个数据处理器都有权限去存取该组别定义表。该组别定义表包含一 HMAC数 字签章,其是利用手机特有的HMAC金钥并根据表内的组别定义内容而产生的。
开机程序
快闪存储器控制器18可用以控制数据处理器12及14的重置信号(reset signal)。当图1显示的系统重开机时,快闪存储器控制器18会保持数据处理器 12及14处于重置模式下。快闪存储器控制器18然后会自先初始化并读取NAND快 闪存储器20内组别定义表的内容,提交代表组别定义表的数据至HMAC安全信息摘 要机制30,并在一适当金钥的辅助下,通过HMAC安全信息摘要机制30产生该组 别定义表所对应的数字签章,并据此检査组别定义表的真实性(authenticity)。若 组别定义表内的数字签章与HMAC安全信息摘要机制30产生的数字签章相同,快闪 存储器控制器18视该组别定义表为真。如果该组别定义表无法通过完整性检查 (integrity check),快闪存储器控制器18会中止开机的程序。如果该组别定义表 被视为真,快闪存储器控制器18会继续对NAND快闪存储器20内被选定的组别做 相同的完整性检査。如果有任何一组无法通过完整性检査,快闪存储器控制器18 会中止开机的程序。
假如组别定义表及其它被选定的组别都通过了完整性检査,快闪存储器控制器18会通过移除数据处理器内的重置信号以继续重幵机的程序。然后并允许数据处
理器自R0M26内读取开机码。依相同的程序,快闪存储器控制器18允许数据处理 器14利用R0M28内的开机码来开机。如此一来,快闪存储器控制器18能保证数据 处理器12及14能可靠的开机。当这一步完成后,为求充分的操作,数据处理器 12及14会请求快闪存储器控制器18自NAND快闪存储器20内读信息。通常在这 种情况下自NAND快闪存储器20内所撷取的多是程序代码,而且是用读取的方式, 于稍后会介绍读取的步骤。如此一来,数据处理器12及14的运作是安全的。 读取快闪计忆体
当数据处理器12及14其中之一请求快闪存储器控制器18去读取NAND快闪存 储器20内某一组别内的信息时,快闪存储器会执行以下一连串的步骤,在此,在 此称为读取步骤
參快闪存储器控制器18去读取组别定义表内该组别对应该数据处理器的存取 标识,若该存取标识显示该数据处理器无权存取该组别的信息,则中止读取步骤。
參若该存取标识显示该数据处理器有权存取,则继续读取步骤。接下来快闪存 储器控制器18自组别定义表检査该组别的加密标识,若该加密标识显示该组别是 机密并经过加密的保护,快闪存储器控制器18通过AES加密机制32及一适当的金 钥去解密需求的信息。
參快闪存储器控制器18自组别定义表检査该组别的完整性标识,若该完整性 标识显示该组别并无该信息的数字签章,则直接传送该信息给该数据处理器;若该 完整性标识显示该组别有包含一该信息所对应的一 HMAC数字签章,则快闪存储器 利用一适当的金钥向HMA丽AC安全信息摘要机制30申请该信息一数字签章,若以 上程序产生的数字签章与该组别的数字签章不同,则中止读取步骤。
參若两数字签章相同,则传送该信息给该数据处理器并结束读取步骤。
写入快闪存储器
当数据处理器12及14其中之一请求快闪存储器控制器18自NAND快闪存储器 20内的某一组别写入信息时,数据处理器请求快闪存储器控制器18执行以下一连 串的步骤,在此称为写入步骤
參快闪存储器控制器18去检査组别定义表内标示该数据处理器是否有权存取 该组别的存取标识,若该存取标识显示该数据处理器无权存取该组别,则中止写入 步骤。
參然而,若该数据处理器有权存取该组别,则快闪存储器控制器18开始读取该数据处理器欲写入该组别的信息。
參接下来快闪存储器控制器18自组别定义表检查该组别的完整性标识以决定
放置该组别内的信息是否需要一 HMAC数字签章。若该完整性标识显示需要一 面AC 数字签章,快闪存储器控制器18提交该信息至HMAC安全信息摘要机制30,并利 用一适当金钥产生该信息的HMAC数字签章。
參快闪存储器控制器18自组别定义表检查该组别的加密标识。若该加密标识 显示放置该组别内的信息需要加密处理,快闪存储器控制器18提交该信息至AES 加密机制32,并利用一适当金钥对该信息加密处理。
攀快闪存储器控制器18自NAND快闪存储器20内的该组别写入该信息,若加 密处理己完成,则以加密后的形式写入;若HMAC处理已完成,则包含一数字签章。
參结束写入步骤。
快闪存储器起始模式
快闪存储器控制器18有一起始模式是用以当NAND快闪存储器20有一起始产 生参考版(initial production image)且快闪存储器控制器18还未建立起组别定 义表时。起始模式也用于当手机欲更新一个或多个数据处理器的程序代码,或是 NAND快闪存储器20已无法提供多余容量时。
在起始模式下,快闪存储器控制器18只允许数据处理器12能重新激活。此时 数据处理器12自SoC内的ROM撷取重新激活所需的程序代码,以确保在起始模式 下数据处理器12能正常运作。在起始模式下,数据处理器12能更新NAND快闪存 储器20内的任何组别,包括组别定义表。因为去抑制数据处理器14重新激活,手 机10避免在起始模式下进入了完全运作模式(fully functional state)。
假设NAND快闪存储器20己内含一起始产生参考版,快闪存储器控制器18可 读取NAND快闪存储器20内那些在完整性标识内有显示需要HMAC数字签章的组别 信息,并替他们计算出HMAC数字签章,如果需要的话,进一步的以加密的型式写 回快闪存储器控制器18。
当某一程序代码更新需要覆盖(a卯ly)NAND快闪存储器20某一组别时,该程 序代码应经过HMAC安全信息摘要机制30而产生一数字签章,如果需要的话,也应 经过AES加密机制32的加密处理并送回NAND快闪存储器20的该组别。
在起始模式下,数据处理器12检査需要产生HMAC数字签章的信息是否使用来 自可信赖的机构(如该手机10的制造商)的金钥产生数字签章。
其它的实施例在主要实施例中,直到HMAC安全信息摘要机制30产生一与该信息对应的数字 签章,而且该数字签章与该信息所含的数字签章完全吻合,读取步骤才会送回该信 息给数据处理器。在其它的实施例中,完整性检查与传送信息至数据处理器的动作 可同时并行,万一完整性检查没有通过,则只要在信息尚未传送完毕之前有执行一 适当的动作即可(如同时重新激活数据处理器12及14)。
在主要实施例中,若在开机程序中没有通过完整性检査会导致手机io重新激 活。在某些实施例中,保留NAND快闪存储器20内某些重要组别的备份是有意义的, 因为如此一来,这些组别在一些偶发的事件后(例如因宇宙射线引起)得以复制回 来。
主要实施例是使用NAND快闪存储器20。然而,在其它的实施例中可用任何形 式的非挥发性存储器来取代NAND快闪存储器20。快闪存储器控制器18是用以驱 动单一的非挥发性存储器,如果有多个存储器元件,快闪存储器控制器18可通过 让快闪存储器经过一标准接口例如共有快闪存储器接口 (co(common flash interface, CFI)的方式去决定快闪存储器机制。
主要实施例是包含两个数据处理器,在其它的实施例中可包含其它数目的数据 处理器。
主要实施例是使用单一个NAND快闪存储器20,在其它的实施例中可使用其它 数目的存储器而且一个或多个的数据处理器只能通过控制器18来存取。
在主要实施例中,RAM16内的RAM区块22及24分别对应于数据处理器12及 14,在其它的实施例中单一个RAM就可能对应于所有的数据处理器。
在主要实施例中,快闪存储器控制器18传递一信息至处理器的方式是通过DMA 的方式储存该信息至该数据处理器对应的RAM区块上。在其它的实施例中,可以用 其它的机制来避免其它非请求的数据处理器使用自NAND快闪存储器20撷取出的信 息。比如说把自NAND快闪存储器20撷取出的信息传至该请求数据处理器内的缓存 器内,而非传至RAM16上。
在主要实施例中,本发明是实施在一手机10。本发明当然也可在其它的装置 实施,比如说PDA、笔记本计算机及台式计算机等等。
在主要实施例中,快闪存储器控制器18内的ROM 26及28分别各包含数据处 理器12及14的开机码。在其它的实施例中,这些幵机码可储存在NAND快闪存储 器20,通过快闪存储器控制器18传送至数据处理器12及14,由HMAC安全信息摘 要机制30来通过完整性的检查。在主要实施例中,完整性检査机制是依据HMAC的准则来实施而加密机制是依 据AES的准则来实施。在其它的实施例中,显然可使用其它的完整性检査机制及加 密机制。
在主要实施例中,快闪存储器控制器18是全部被建置在一芯片上。在其它的 实施例中,快闪存储器控制器18可用一仅具有简单功能的处理器来实施,原有更 高阶的功能可用储存在相关非挥发性存储器内的程序代码来提供。如此一来可允许 快闪存储器控制器18改变其机能(比如说在快闪存储器控制器18内发现有病毒或 安全漏洞时)。
在主要实施例中,元件12至18被建置在一 SoC上。其实不一定一定要这么做, 虽然不这么做会损失一些安全性。如果元件12至18须被建置在多个独立的芯片上, 可用配置一多芯片的套装组合来加强安全性。
在主要实施例中,数据处理器12在起始模式执行Soc内ROM里面的程序代码。 在一变化例中,数据处理器12在起始模式可执行来自其它来源的程序代码,所推 荐的方式是该程序代码先通过数据处理器12的确认并在Soc内ROM程序代码的控 制下进行。
但以上所述的实施例不应用于限制本发明的可应用范围,本发明的保护范围应 以本申请的权利要求范围内容所界定技术精神及其等同的变化所含括的范围为准。 即凡是根据本申请权利要求范围所作出的种种等同的改变或替换,仍将不失本发 明的要义所在,亦不脱离本发明的精神和范围,故都应视为本发明的进一步实施状 况。
权利要求
1. 一种数据处理系统,包括一数据处理单元、一控制单元以及一包含非挥发性储存装置的集成电路,其中,该控制单元被设于该集成电路与该数据处理单元之间,并提供所有该数据处理单元对该集成电路的存取,当该数据处理单元需要该非挥发性储存装置的一信息时,该控制单元是用以检查该信息的有效性,并避免该数据处理单元使用无效的该信息。
2. 根据权利要求l所述的数据处理系统,其特征在于,该信息是以加密的形式 储存在该非挥发性储存装置中,该控制单元是如同一前驱物对该信息解密以检査该 信息的有效性。
3. 根据权利要求1所述的数据处理系统,其特征在于,该数据处理单元包括一个以上的数据处理器。
4. 根据权利要求1所述的数据处理系统,其特征在于,该数据处理单元所使用 的开机码由该集成电路以外所提供。
5. 根据权利要求1所述的数据处理系统,其特征在于还包括一随机存取储存单 元,该控制单元得以自该集成电路传送该信息至该随机存取储存单元以供该数据处 理单元存取。
6. 根据权利要求5所述的数据处理系统,其特征在于,只有当有效性检査显示 该信息为有效后,该控制单元才传送该信息至该随机存取储存单元。
7. 根据权利要求5所述的数据处理系统,其特征在于,该控制单元只允许该数 据处理单元自该随机存取储存单元里存取经有效性检査为有效后而撷取的全部或 部分该信息。
8. 根据权利要求1所述的数据处理系统,其特征在于,该集成电路是一快闪存 储器集成电路。
9.根据权利要求1所述的数据处理系统,其特征在于,该信息是下列其中之一: 数据、指令及数据和指令的组合。
10. 根据权利要求9所述的数据处理系统,其特征在于,该信息或部分该信息 是用以被该数据处理单元请求作为开机之用。
11. 根据权利要求l所述的数据处理系统,其特征在于,当该数据处理单元要 求自该集成电路写入一信息时,该控制单元自该信息中计算出一完整性指针以在取出该信息时作为有效性检査之用。
12. 根据权利要求1所述的数据处理系统,其特征在于,该数据处理单元及该 控制单元是整合至一集成电路内的同一系统下以与该含非挥发性储存装置的集成 电路互动。
13. 根据权利要求1所述的数据处理系统,其特征在于,该数据处理单元、该控制单元及该随机存取储存单元是整合成一集成电路内的一系统以与该含非挥发 性储存装置的集成电路互动。
14. 一种包括有根据权利要求1至13中任一项所述的数据处理系统的无线通讯 网络装置。
15. —种包括有根据权利要求1至13中任一项所述的数据处理系统的手机。
全文摘要
本发明是一种数据处理系统,包括一数据处理单元、一控制单元以及一包含非挥发性储存装置(non-volatile storage)的集成电路,其中,该控制单元被设于该集成电路与该数据处理单元之间,并提供所有该数据处理单元对该集成电路的存取,当该数据处理单元需要该非挥发性储存装置的一信息时,该控制单元是用以检查该信息的有效性,并避免该数据处理单元使用无效的该信息。本发明并有关于一些相对应的方法以及实施这些方法的程序。
文档编号G06F21/79GK101427260SQ200780008130
公开日2009年5月6日 申请日期2007年2月28日 优先权日2006年3月9日
发明者J·D·莫许 申请人:开曼晨星半导体公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1