使用地址比特来发送地址空间中数据安全属性的信号的系统和方法

文档序号:6634999阅读:113来源:国知局
专利名称:使用地址比特来发送地址空间中数据安全属性的信号的系统和方法
技术领域
本发明一般涉及计算机系统,尤其涉及用于在计算机系统内安全执行程序代码的系统和方法。
背景技术
当今的计算机系统常常遭受可破坏或中止计算机系统正常操作的各种攻击。计算机病毒、计算机网络“蠕虫”、以及特洛伊木马程序是不同形式攻击的示例。攻击也可直接来自计算机系统的恶意用户。这些攻击常取试图更改由计算机系统执行的现有程序代码的形式,或者试图对在计算机系统内正常程序执行的不同阶段置入新的未经授权程序代码的形式。用于防止这样的有害攻击的系统和方法正在变得越来越重要。
典型的计算机系统包括计算机硬件、操作系统、以及一个或多个应用程序。计算机硬件通常包括处理器(有时也称为“中央处理单元”或“CPU”)、存储器、以及便于各个组件之间通信的一个或多个系统总线。典型计算机系统的其它组件包括输入/输出控制器、存储器控制器、图形处理单元、音频控制器和电源。
这样的系统通常具有少量的片内(on-chip)存储器(称为高速缓冲存储器)以及多得多的片外(off-chip)存储器(称为系统存储器)。这种系统中的片外存储器一般被视为不可靠的(高速缓冲存储器也被视为不可靠,但通过防止攻击者读取高速缓冲存储器内容的硬件机制对它保护要容易得多)。即,存储在较大系统存储器中的数据易受攻击,其中数据可以数据所有者不希望的方式被轻易改变。这样的攻击将使程序以不希望的方式操作,或使副本保护方案受挫。
已开发了众多确保数据从系统存储器中检索并受保护的系统。特别地,系统已采用强化的加密技术以及检测存储器中数据的变化的其它篡改显现机制。
操作系统可被视为应用程序和计算机系统底层硬件之间的接口。操作系统通常包括在计算机系统处理器上执行的并由各种应用程序管理计算机系统的物理组件及其使用的各种软件例程。
计算机系统的处理器常包括通过操作系统和任何应用程序来管理存储器的使用的存储器管理单元。对计算机系统的许多攻击是以存储器中的程序为目标。例如,执行安全检查代码的各部分可通过当其存储在存储器时简单地替换该程序的一部分而被击败。其它黑客可更改计算机游戏并改变行为。例如,考虑在多人游戏中发现一弱点的情形,其中通过在游戏者本地机器上改变代码可使游戏者获取不公平的好处。这样的不公平好处可破坏否则会流行的游戏的流行度。所有这些考虑表明,防止对程序代码的未经授权更改是极为需要的。

发明内容
本发明提供维护存储于系统存储器中数据的安全性的安全计算环境。该系统包括一CPU,以及通过数据总线与CPU和存储器耦合的一安全机制。地址总线确定数据在系统存储器中的存储单元,并具有多条地址线。在数据存储于存储器之前地址线的至少之一启用安全机制以保护数据。CPU和安全机制可在同一集成电路上。安全机制可包括一加密和解密机制。该系统还可包括作为数据函数生成一完整性检查值的一完整性检查机制。另一地址线可启用完整性检查机制。完整性检查值最好是创建减小了大小值的数据的散列(以加密形式、明码形式或两者的组合),它可用于确定数据是否在存储于系统存储器期间被更改。完整性检查值最好存储在也可驻留于与CPU一起的同一集成电路的安全存储器中。


结合附图阅读前面的发明内容和以下说明性实施例的详细描述,能得到更好的理解。为了说明本发明各实施例,在附图中示出本发明的示例性结构;然而,本发明并不限于所揭示的特定方法和装置。在附图中图1是本发明各方面可在其中实现的示例性计算机环境的框图;图2是示出被结合到诸如图1计算环境的计算环境内的安全引擎的框图;图3是示出在一示例计算环境中地址空间的转换的框图;图4是进一步示出从有效地址到虚拟地址的转换的各方面的框图;图5是进一步示出从虚拟地址到实地址的转换的各方面的框图;图6是进一步示出其中地址比特被设置成表示计算系统安全特征的本发明各方面的框图;图7是示出用于加密和保护存储于存储器内的数据的安全引擎的方面的框图;图8是示出用于解密和检查存储于存储器内的数据的安全引擎的方面的框图。
具体实施例方式
本发明提供有助于防止对计算机系统的攻击的安全计算环境,这些攻击包括逆向工程、分解、更改或以其它方式改变包括计算机系统存储器中程序代码的数据。本发明可在包括不受信任存储器和处理器的计算机系统或计算装置中体现,该处理器具有包括加密和/或校验机制的安全引擎。系统使用地址比特来向安全引擎发送信号以在将数据存储于系统存储器之前对数据执行安全操作。地址比特可指示例如应对系统存储器的特定页加密。此外,地址比特可指示例如应保护存储器的特定页(即可校验的未更改的页)。在保护情形中,是数据函数的诸如散列的校验信息最好存储于防篡改的安全存储器中。安全存储器可被视为驻留于安全区域中。通常,安全区域通过将安全存储器置于与CPU相同的集成电路上来提供。从不受信任系统存储器中检索校验信息并且将其与已存储的校验信息比较之后,校验信息从数据中复制。信息之间的差异指示该数据已经被改变。
图1示出本发明的一些方面可在其中实现的多媒体控制台100的功能组件。多媒体控制台100具有中央处理单元(CPU)101,包括1级缓存区102、2级缓存区104、以及MMU(存储器管理单元)103。1级缓存区102和2级缓存区104临时存储数据并因此减少存储器访问周期数,从而改进了处理速度和输入输出吞吐量。可提供具有一个以上内核的CPU 101,以及因之而附加的1级和2级缓存区102和104。MMU 103负责处理由CPU请求的存储器访问。由MMU 103执行的其它功能包括从虚拟地址到物理地址的翻译(即虚拟存储器管理)、存储器管理、高速缓存控制等。
图形处理单元(GPU)108和视频编码器/视频编解码器(编码器/解码器)114形成用于高速和高分辨率图形处理的视频处理管道。通过总线数据从图形处理单元108被运送到视频编码器/视频编解码器114。视频处理管线将数据输出到A/V(音频/视频)端口140用于传送到电视和其它显示器。存储器控制器110被连接到GPU108以便于处理器对各类存储器112的访问,诸如但不限于RAM(随机存取存储器)。
多媒体控制台100包括最好在模块118上实现的I/O控制器120、系统管理控制器122、音频处理单元123、网络接口控制器124、第一USB主控制器126、第二USB控制器128、以及前面板I/O子组合130。USB控制器126和128用作外围控制器142(1)-142(2)、无线适配器148、以及外部存储器装置146(例如闪存、外部CD/DVD ROM盘、可移动介质等)的主机。网络接口124和/或无线适配器148提供对网络(例如因特网、家庭网络等)的访问,并可以是各种各样有线或无线接口组件的任一种,包括以太卡、调制解调器、蓝牙模块、电缆调制解调器等等。
例如闪存的非易失性存储器143被提供用以存储在启动过程期间载入的应用程序数据。介质驱动器144被提供并可包括DVD/CD驱动器、硬盘驱动器、或其它可移动介质的驱动器。介质驱动器144可在多媒体控制台100内部或外部。应用程序数据可通过介质驱动器144访问用于由多媒体控制台100执行、回放等。介质驱动器144通过诸如串行ATA总线或其它高速连接(例如IEEE 1394)的总线连接到I/O控制器120。
系统管理控制器122提供各种与确保多媒体控制台100可用性相关的服务功能。音频处理单元123以及音频编/解码器136形成具有高保真和立体声处理的相应音频处理管道。音频数据通过通信链接在音频处理单元123和音频编/解码器126之间传送。音频处理管道将数据输出到A/V端口140用于由具有音频能力的外部音频播放器或装置复制。
前面板I/O子组合130支持电源按钮150、弹出按钮152、以及任何LED(发光二极管)或在多媒体控制台100外表面上展现的其它指示器的功能。系统电源模块136向多媒体控制台100的组件提供电源。电扇138冷却多媒体控制台100内的电路。
CPU 101、GPU 108、存储器控制器110以及多媒体控制台100内的各个其它组件通过一个或多个总线相互连接,包括串行和并行总线、存储器总线、外围总线、以及使用各种总线体系结构的任一种的处理器或本地总线。
当多媒体控制台接通电源时,程序代码和数据可从非易失性存储器143载入存储器112和/或高速缓存102、104,并在处理器101上执行。应用程序代码可呈现当导航到多媒体控制台100上可用的不同介质类型时提供一致用户体验的图形用户界面。在操作中,包含在媒介驱动器144内的应用程序和/或其它介质可被启动或从介质驱动器144播放,以向多媒体控制台100提供其它功能。
通过简单地将系统连接到电视或其它显示屏,多媒体控制台100可作为单机系统操作。在该单机模式中,多媒体控制台100使一个或多个用户能与该系统交互、观看电影、或收听音乐。然而,结合通过网络接口124或无线适配器148可用的宽带连接,多媒体控制台100还可作为更大网络区域的参与者而操作。
图2示出图1系统的其它方面,其中本发明的各个组件被集成以提供防止代码改变、逆向工程、篡改等的安全特征。集成装置20包括CPU 101、MMU 103、高速缓存104、安全引擎105和总线接口107。各个组件通过地址总线28和数据总线26相互连接。MMU 103控制存储于高速缓存104的存储器,以确保高速缓存行(例如22)按CPU 101所需地移入移出高速缓存104。存储于高速缓存104的数据由CPU 101在其上操作,因而以明码存储。根据本发明一方面,当高速缓存行存储于系统存储器112时,数据通过安全引擎105移动并可在它移入移除存储器112时被加密和解密。图2示出高速缓存行22以明码存储于高速缓存104中而当存储于存储器112中时则被加密成高速缓存行22’。
系统存储器112被视为不受信任。即,攻击者可危及它的安全并可发现和改变其全部内容。此外,可监视地址以及将总线接口107连接到系统存储器112的数据总线28、26。另一方面,集成装置20被视为是安全的。在装置20内部的总线28、26不能被监视。高速缓存104在安全引擎105和CPU 101之间,并被视为是受信任的。高速缓存104对系统存储器的所有写入都由安全引擎105保护,如下进行更全面描述。除系统RAM 112之外,系统还包含被视为受信任的安全存储器23。最好该安全存储器23在集成装置20内以防止其总线28、26被监视。
存储器管理单元103处理确保所必需的数据在高速缓存104内从而CPU 101可继续有效地操作。为此,当所需指令和数据在存储器112中时MMU 103与高速缓存104交换数据。根据本发明一方面,安全引擎105确定安全级别以应用于要在高速缓存104和系统存储器112之间移动的数据。例如,高速缓存行22移到存储器中变为加密高速缓存行22’。
由于移到系统存储器112的高速缓存104的每一行都有可能具有应用于它的安全措施,重要的是尽可能快地应用安全措施以避免对整个系统的性能有很大打击。换言之,需要对写入不受信任系统存储器112的数据提供安全措施但又不想为添加的安全措施付出重大性能损失的代价。本发明一方面是要使用地址总线来提供一种控制安全措施的应用的有效机制。最终,示例系统所采用的存储器管理方案有助于理解如何使用寻址机制来确定安全措施的应用。存储器管理通常利用把程序地址空间翻译成物理地址空间的各种寻址方案。PowerPC系统所使用的一种这样的寻址方案使用从有效地址到实地址的转换。图3有助于示出在PowerPC环境中执行的地址翻译。其它寻址方案可在适当时用于不同处理器环境。
参照图3,通过诸如段后援缓冲器304和翻译后援缓冲器308的一个或多个地址转换表格,有效地址302被转换成实地址310。通常程序在相连的地址空间中(称为有效地址空间)操作;然而,物理地址空间必须提供并由众多应用程序共享。这样,物理地址空间由系统管理并可包含任意数量的不同程序或程序部分。为了解决各个程序的需要,系统使程序能在显现为相连但由跟踪程序和数据的物理位置的存储器管理单元管理的地址空间中操作。该程序在被称为有效地址空间的空间中操作。该有效地址空间被翻译成虚拟的地址空间(即可同时容纳所有程序的寻址连续体)。
有效地址是由CPU 101生成的用于提取指令或用于数据访问的地址。地址翻译机制试图将有效地址302转换成随后用于访问存储器112的实地址310。地址翻译中的第一步骤是将有效地址302转换成虚拟地址306。第二步骤是将虚拟地址306转换成实地址310。图4进一步提供了从有效地址302转换成虚拟地址306的工程的细节。段后援缓冲器(SLB)304指定有效段ID(ESID)402和虚拟段ID(VSID)410之间的映射。SLB 304条目的数量是实现相关的。SLB 304的内容通常由操作系统管理。表格304中每个SLB条目将一ESID 402映射为一VSID 410。然后VSID组成虚拟地址306中的较高位比特。剩下的较低位比特,页地址信息404和字节地址信息406,被直接从有效地址302映射到虚拟地址306。
地址翻译中的第二个步骤是把虚拟地址翻译成实地址。虚拟到实的翻译使用了页表格308’。在概念上,页表格308’由地址再定位硬件搜索以翻译每个基址。由于性能的原因,硬件通常保留持有最近使用的页表格条目的翻译后援缓冲器(TLB)308。TLB 308在搜索页表格308’之前搜索。或者,页表格可以不是表格而是生成TLB条目所需的算法。在该布置中,当地址翻译未在TLB 308中发现时,可生成一个或多个TLB条目并用于更新TLB 308中的条目。
图5提供了从虚拟到实的地址映射的更多细节。页表格308’(如上所述该页表格的一部分被高速缓存于TLB 308中)是指定虚拟页号和实页号之间映射的大小可变的数据结构。页表格308’的大小通常是4KB的倍数,其起始地址是其大小的倍数且位于具有有限访问的存储器中,即它仅可由操作系统访问。VSID 410和虚拟页号404形成对页表格308’的索引。然后页表格308’具有一相应的实页号502。该实页号502形成实地址的较高位比特。字节地址信息406直接从虚拟地址306中翻译。
图6示出从虚拟到实的页号映射的操作。虚拟页号306被用来查找一相应的页表格条目602。例如502a、502b、502c的每个页表格条目包含一实页号和页保护比特604。页保护比特604指示例如是否有一页可读、写等。页表格条目的26个高位比特(即0-25)形成实页号502。除形成实页地址之外,高位比特还提供对该页安全级别的指示。注意,比特0-11中的各个比特(比特606)提供页是否加密、受保护或不加密、不保护等的指示。此外,比特提供用于加密和保护存储器页的其它信息。存储在实页号中的包括安全比特的信息形成地址310的一部分。
参看图7,根据本发明一方面进一步示出安全系统。图7提供示出由安全系统执行的部分功能的框图。然而,实现的各方面可以变化,例如判决框718可被实现为一逻辑电路。其它特征也可用各种方法实现。无论如何,该图用来示出根据本发明各方面执行的一般功能。
如图所示,比特0和1指示寻址单元是受保护的还是加密的。在本说明性实施例中,保护被控制在页级别上,因为单个页表格条目被单页中的所有存储器地址所共享。这样,所有那些存储器单元都属于同一安全级别。如果比特0被设置,则启用保护。类似地,如果比特1被设置,则启用加密。
如果未启用加密,则启用门722而禁用门720,且数据700作为明文块724被存储于存储器112中。另一方面,如果启用了加密,则数据700作为明文726被移到加密引擎714中。例如密钥等的安全引擎状态710由加密引擎714应用以产生密文块726’。所应用的加密技术可以是诸如AES或其某些变体的众所周知的加密算法的任一种。相关要点是加密引擎由存储于页表格中的地址信息驱动。这样,存储器页可被设置为直接通过地址信息加密。
如果保护被启用(可加密或不加密),则确定安全存储器的偏移量并还启用数据散列。该安全存储器偏移量可以是地址信息的组合。例如,存储在例如比特3-8的较高位比特中的比特与较低位比特26-34组合来提供安全存储器的偏移量。该偏移量提供了完整性检查值应被存储在安全存储器中的地方。除了安全存储器偏移量,散列函数也应用于数据700。散列可以是密文、明文或两者的函数。该特定散列函数可以是安全散列函数,并可以是数据700的但在大小上有所缩减的任一函数。经计算的散列728被存储在安全存储器716中由安全存储器偏移712指定的位置中。此后,当数据(如密文726’或明文724)被存储在存储器112中(不安全存储器)时,散列值可被用来确定存储器112中的数据是否已被改变。散列值在数据从存储器112中检索时重新计算,并与所存储的散列值相比较以确定一致性。不一致的值将指示数据在存储于存储器112中时有未经授权的改变。
图8示出从存储器112检索加密和/或保护数据的逆向操作。此时加密数据726’或明文数据724从存储器112中检索。再一次,实地址中的高位比特指示要应用的安全措施类型。如果比特1被设置,则数据作为密文通过门820传送(即先前已被存储为密文)。如果比特1未设置,则明文724通过门822传送并存储于高速缓存104中。由设置比特1指示的密文726’还被送往解密引擎714,其中它被解密为明文726并存储于高速缓存104中。
如果保护比特0被设置,则对从存储器112检索的数据计算散列值802。在此示例中,对明文726的数据计算散列;然而,散列函数可被应用于密文数据726’和/或明文数据。此外,可使用不加密的保护方案。经计算的散列802与从由安全存储器偏移量712所指向的安全存储器716中检索的已存储的散列728比较。如果已存储的散列728与计算散列不相同,则指示存储器已被更改的安全例外808生成。
再参看图2,将总线接口连接到系统存储器112的地址总线28最好截去用来寻址存储器112的高位比特。因为它是用来寻址存储器112的实际地址,所以该地址被称为物理地址。在所述示例实现中,最好截去12个高位比特(0-11)。该截短将使比特12-41组成物理地址。
本发明提供用于确保存储于系统存储器112的数据的完整性和安全性的一种系统和方法。通过采用地址比特来指示要应用于存储在存储器112的数据的安全措施。安全措施可直接存储于地址翻译表格,而无需使数据与特定安全措施相关联的独立表格。
以上系统和方法仅是示例描述,并非旨在表示需要一特定的寻址方案或处理器体系结构。相反,该示例旨在指示使用地址比特来一般地确定安全措施。
以下所述的本发明各实施例的元件可通过硬件、固件、软件或其任意组合来实现。术语硬件通常指具有诸如电子、电磁、光学、电光学、机械、机电部件的物理结构的元件,而术语软件一般指逻辑结构、方法、过程、程序、例程、进程、算法、公式、函数、表达式等。术语固件一般指在硬件结构中(例如闪存、ROM、EROM)实现或体现的逻辑结构、方法、过程、程序、例程、进程、算法、公式、函数、表达式等。固件的示例可包括微码、可写控制存储器、以及微编程结构。当以软件或固件实现时,本发明实施例的元件实质上是执行必须任务的代码分段。软件/固件可包括执行本发明一实施例中所述操作的实代码,或仿真或模拟操作的代码。程序或代码分段可被存储在处理器或机器可访问介质中,或由体现为载波的计算机数据信号或载波信号调制的信号经传输介质传送。“处理器可读或可访问介质”或“机器可读或可访问介质”可包括可存储、传输或传送信息的任何介质。处理器可读或机器可访问介质的示例包括电子电路、半导体存储器装置、只读存储器(ROM)、闪存、可擦写ROM(EROM)、软盘、光盘(CD)ROM、光盘、硬盘、光纤介质、射频(RF)链接等。计算机数据信号可包括可在诸如电子网络信道、光纤、空气、电磁波、RF链接等的传输介质上传播的任何信号。代码分段可经诸如因特网、内联网等的计算机网络下载。机器可访问介质可被体现为一制造品。机器可访问介质可包括当由机器访问时使机器执行下述操作的数据。机器可访问介质还可包括内嵌程序代码。程序代码可包括执行下述操作的机器可读代码。术语“数据”在此指为机器可读目的而编码的任意类型的信息。因此,它可包括程序、代码、数据、文件等。
本发明实施例的全部或部分可通过硬件、软件、或固件、或其任意组合实现。硬件、软件、或固件硬件可具有彼此耦合的若干模块。硬件模块可通过机械、电子、光学、电磁、或任何物理连接与另一模块耦合。软件模块通过函数、过程、子程序、或子例程调用、跳转、链接、参数、变量、以及实参传递、函数返回等与另一模块耦合。软件模块与另一模块耦合以接收变量、形参、实参、指针等和/或生成或传送结果、经更新变量、指针等。固件模块通过以上硬件和软件耦合方法的任意结合与另一模块耦合。硬件、软件、或固件模块可与另一硬件、软件、或固件模块的任一模块耦合。模块还可以是软件驱动程序或接口以与运行于该平台上的操作系统交互。模块还可以是硬件驱动程序以配置、设置、初始化、从硬件装置收发数据。装置可包括硬件、软件和固件模块的任意组合。
本发明各实施例可以被描述为通常陈述为流程图、流程表、结构图、或框图的过程。尽管流程图可将操作描述为顺序过程,许多操作可并行或并发执行。此外,操作的顺序可重排。当其操作完成时过程终止。
本领域技术人员将容易理解,在示例性实施例中许多其它更改是可能的,而未在本质上背离本发明的新颖性教学和优点。任何这样的更改旨在被包括于由以下示例性权利要求所定义的本发明范围中。
权利要求
1.一种用于将数据存储在存储器中的系统,其特征在于,包括一CPU;一安全机制,它通过数据总线与所述CPU耦合,并通过数据总线与所述存储器耦合;以及具有多个地址线的一地址总线,所述地址线的至少之一启用所述安全机制以在存储于所述存储器之前提供对所述数据的安全措施。
2.如权利要求1所述的系统,其特征在于,所述地址线上的设置的值由存储器管理单元确定。
3.如权利要求2所述的系统,其特征在于,所述值是由所述存储器管理单元维护的表格的函数。
4.如权利要求1所述的系统,其特征在于,所述安全机制包括一加密机制。
5.如权利要求1所述的系统,其特征在于,所述安全机制包括按照所述数据的函数生成完整性检查值的完整性检查机制。
6.如权利要求5所述的系统,其特征在于,所述完整性检查机制执行一散列函数。
7.如权利要求5所述的系统,其特征在于,所述完整性检查值被存储于一安全存储器中。
8.如权利要求7所述的系统,其特征在于,所述安全存储器在与所述CPU相同的同一集成电路上。
9.如权利要求4所述的系统,其特征在于,所述数据在从高速缓存移动之后以及存储到系统存储器之前被加密。
10.如权利要求7所述的系统,其特征在于,所述地址线提供对所述完整性检查值存储在安全存储器的地方的指示。
11.如权利要求7所述的系统,其特征在于,所述完整性检查值为高速缓冲存储器的一行而生成。
12.如权利要求4所述的系统,其特征在于,还包括通过数据总线与所述CPU耦合并通过数据总线与所述存储器耦合的一解密机制,其中启用所述加密机制以在存储于所述存储器之前加密数据的所述地址线的至少之一,被用来启用在从存储器检索所述数据期间对所述数据的解密。
13.如权利要求6所述的系统,其特征在于,所述完整性检查值与在从系统存储器检索所述数据期间生成的第二完整性检查值比较。
14.如权利要求1所述的系统,其特征在于,启用所述安全机制的至少一个地址线是一高位地址线。
15.一种用于将数据存储在存储器中的方法,其特征在于,包括提供一安全机制,它通过数据总线与所述CPU通信,并通过数据总线与所述存储器通信;在所述安全机制处从具有多个地址线的地址总线的至少一个地址线中接收一启用信号;以及响应于所述启用信号将安全措施应用于所述数据。
16.如权利要求15所述的方法,其特征在于,所述启用信号由存储器管理单元确定。
17.如权利要求15所述的方法,其特征在于,所述安全机制包括一加密机制,且其中所应用的安全措施是加密。
18.如权利要求15所述的方法,其特征在于,所述安全机制包括一完整性检查机制,且其中所应用的安全措施是按照所述数据的函数生成完整性检查值,且其中所述地址线的至少另一条启用所述完整性检查机制。
19.如权利要求18所述的方法,其特征在于,所述完整性检查机制执行一散列函数。
20.如权利要求18所述的方法,其特征在于,包括将所述完整性检查值存储于安全存储器中。
21.如权利要求20所述的方法,其特征在于,包括在与所述CPU相同的同一集成电路上提供所述安全存储器。
22.如权利要求17所述的方法,其特征在于,所述数据在从高速缓冲器的移动之后以及存储到系统存储器之前被加密。
23.如权利要求20所述的方法,其特征在于,所述地址线提供了对所述完整性检查值存储在安全存储器的地方的指示。
24.如权利要求20所述的方法,其特征在于,所述完整性检查值为高速缓冲存储器的一行而生成。
25.如权利要求17所述的方法,其特征在于,还包括在从存储器检索所述数据期间解密数据。
26.如权利要求19所述的方法,其特征在于,还包括将所述完整性检查值与在从系统存储器检索所述数据期间生成的第二完整性检查值作比较。
全文摘要
一完整性控制系统使用地址比特来启用对存储于系统存储器中数据的加密和/或保护。加密和保护机制通过数据总线与CPU耦合,并通过数据总线与存储器耦合。确定要存储的或从系统存储器检索的数据的位置的地址总线具有多个地址线。地址线的至少之一启用加密机制,以在存储于存储器中之前加密数据并在从存储器检索之后解密数据。另一地址线启用保护机制以生成数据的散列。散列被存储并被用来确定数据在存储于系统存储器中时是否被改变。
文档编号G06F1/00GK1740991SQ20051008950
公开日2006年3月1日 申请日期2005年7月27日 优先权日2004年8月27日
发明者D·R·莫瑞斯, J·A·安德鲁斯 申请人:微软公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1