CN1647011A - 包括可透过安全通信路径连接中央处理器与安全服务处理器的安全执行模式的计算机系统 - Google Patents
包括可透过安全通信路径连接中央处理器与安全服务处理器的安全执行模式的计算机系统 Download PDFInfo
- Publication number
- CN1647011A CN1647011A CNA038087049A CN03808704A CN1647011A CN 1647011 A CN1647011 A CN 1647011A CN A038087049 A CNA038087049 A CN A038087049A CN 03808704 A CN03808704 A CN 03808704A CN 1647011 A CN1647011 A CN 1647011A
- Authority
- CN
- China
- Prior art keywords
- processor
- disposal
- security
- secure execution
- security services
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000004891 communication Methods 0.000 title description 8
- 230000002093 peripheral effect Effects 0.000 claims abstract description 72
- 238000000034 method Methods 0.000 claims description 7
- 230000004044 response Effects 0.000 claims description 6
- 230000001419 dependent effect Effects 0.000 abstract 1
- 230000006870 function Effects 0.000 description 98
- 230000015654 memory Effects 0.000 description 93
- 230000005540 biological transmission Effects 0.000 description 28
- 239000000872 buffer Substances 0.000 description 27
- 230000004224 protection Effects 0.000 description 15
- 230000007246 mechanism Effects 0.000 description 12
- 230000005055 memory storage Effects 0.000 description 12
- 230000009183 running Effects 0.000 description 11
- 238000001994 activation Methods 0.000 description 9
- 238000012545 processing Methods 0.000 description 9
- 230000004913 activation Effects 0.000 description 8
- 238000006243 chemical reaction Methods 0.000 description 8
- 238000011144 upstream manufacturing Methods 0.000 description 8
- 101100221836 Arabidopsis thaliana CPL3 gene Proteins 0.000 description 7
- 101100065702 Arabidopsis thaliana ETC3 gene Proteins 0.000 description 7
- 238000005516 engineering process Methods 0.000 description 7
- 238000013507 mapping Methods 0.000 description 5
- 238000003860 storage Methods 0.000 description 5
- 101100016034 Nicotiana tabacum APIC gene Proteins 0.000 description 4
- 238000012937 correction Methods 0.000 description 4
- 238000012546 transfer Methods 0.000 description 4
- 238000000926 separation method Methods 0.000 description 3
- 238000012163 sequencing technique Methods 0.000 description 3
- 230000032258 transport Effects 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000009191 jumping Effects 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000009466 transformation Effects 0.000 description 2
- 101100221835 Arabidopsis thaliana CPL2 gene Proteins 0.000 description 1
- 101150016835 CPL1 gene Proteins 0.000 description 1
- 101100468774 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) RIM13 gene Proteins 0.000 description 1
- 238000010521 absorption reaction Methods 0.000 description 1
- 230000000712 assembly Effects 0.000 description 1
- 238000000429 assembly Methods 0.000 description 1
- 230000001149 cognitive effect Effects 0.000 description 1
- 230000000052 comparative effect Effects 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000005314 correlation function Methods 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 230000002950 deficient Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000008676 import Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- NHDHVHZZCFYRSB-UHFFFAOYSA-N pyriproxyfen Chemical compound C=1C=CC=NC=1OC(C)COC(C=C1)=CC=C1OC1=CC=CC=C1 NHDHVHZZCFYRSB-UHFFFAOYSA-N 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 230000009897 systematic effect Effects 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
- G06F9/4403—Processor initialisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/10—Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/71—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
- G06F21/74—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information operating in dual or compartmented mode, i.e. at least one secure mode
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
Abstract
一种计算机系统(10、20)包括可透过执行安全初始化指令以初始化安全执行模式的处理器。此外,该处理器可透过执行安全操作系统程序代码区段而于安全执行模式中予以执行。该计算机系统复包括透过输入/输出连结(225)耦接至该处理器的输入/输出接口(120、220)。该输入/输出接口接收透过安全初始化指令所执行的处置(transaction)。该处置包括该安全系统程序代码区段的至少一部分。该输入/输出接口复判断该处理器是否为处置来源。该计算机系统复包括透过外围总线(135)耦接至该输入/输出接口的安全服务处理器(130)。当判断出该处理器为处置来源时该输入/输出接口可传送该处置予该安全服务处理器。
Description
技术领域
本发明有关于计算机系统,更详而言之,系有关于利用信任执行模式以保护储存于计算机系统内存中的数据不受到未授权存取的计算机系统。
背景技术
近代的计算机系统已彻底改变了人们的生活。特别是对包括利用X86系统架构的微处理器的系统平台而言更是如此。以X86为架构的系统的开放导致大量的使用者可自行安装的第三方外围装置以及应用程序的广大软硬件市场已促使贩售者竞争、创新与发展。以发展为例,该平台现在已被广泛的用作为持续提升品质与功能的数字通信与媒体系统。伴随着网际网络,此些系统平台在大量的数字内容散布上产生暸革命性变革,提供从世界各角落对新闻、实时气象情况以及无线电台进行存取,以及线上的银行交易与购物以及影音娱乐等。
由于X86平台系为一开放架构,其装置通常具有销售者提供并于核心模式下执行的驱动程序藉以对该装置进行存取,而某些软件应用程序则包括核心模式构件。因此,纵使该开放架构具有许多优点并防止其它应用程序意外的对其它应用程序的干扰而提供高程度的保护,然现今的架构保护机制仍暴露于有缺陷的篡改环境中。
包括利用前述X86架构的微处理器的计算机系统具有保护应用程序间不会相互干扰的设计特性。举例而言,以X86为架构的操作系统依赖X86保护模式架构的两个特性以提供应用程序彼此间相互独立的环境,且关键操作系统码以及数据系从应用程序的(1)分页虚拟内存,以及(2)执行专属层级中予以隔离出来。
分页虚拟内存提供该操作系统针对每一个应用程序定义出分离的虚拟地址空间,并且透过地址转换表集选择性的映像(map)个别的物理内存分页至该些虚拟地址空间中的每一个地址空间中。如此可以提供每一个应用程序个别所有物理内存区段俾使程序代码与数据不受其它应用程序的影响。该虚拟内存机制复提供该操作系统选择性的将物理内存分页映像至多重虚拟地址空间,并且选择性的将虚空间中的分页指定为只读。此分享的映像功能亦提供操作系统核心本身的复本长驻于每一个应用程序的地址空间,且同样的提供分享的外围装置存取端口的映像以及相关的装置驱动程序路径,因此允许应用程序在不要求高成本的地址空间交换的情况下有效的对操作系统服务进行存取。但是该地址空间的操作系统部份必须包括操作系统程序代码可予以修改的系统数据区域,且必须保持免受于应用程序代码影响。该只读指定并补提供该些区域适当的保护。
此X86架构复定义出由0至3的四个专属层级,该些层级透过操作系统分配至程序代码区域并保持为程序代码区段描述符号。典型的,当前执行码的专属层级或程序将予以储存成当前专属层级(CurrentPrivilege Level;CPL)。因此该些专属层级通常被称为CPL0至CPL3。利用该些专属层级,特定的系统资源仅可针对位于适当层级的程序代码进行存取。透过专属层级,该分页虚拟内存架构允许对限制的虚拟内存分页进行存取。尽管定义有四个专属层级,然而因为虚拟内存架构无法将CPL1或CPL2与CPL0予以区别,故通常仅有CPL0与CPL3二个层级为主流的操作系统所采用。CPL0通常被用作为核心模式并作为最高专属层级,而CPL3通常被用作为使用者模式并作为最低专属层级。操作系统程序代码与数据通常被分配至CPL0而应用程序代码与数据则通常被分配制CPL3。CPL0执行专属全并不会凌驾于只读保护;两者间是相互独立的。程序代码区段描述符号系用以指定此些层级。
除了内存保护之外,所有包括控制虚拟内存作业的处理器控制缓存器均透过架构定义而仅于CPL0层级可予以存取。此外,特殊控制转换指令通常系被要求将执行从一区段切换至另一区段,并据佌切换专属层级。该些指令提供操作系统限制该控制的目标转换至操作系统控制程序码中特定的进入点,因此在没有同时交出控制权与操作系统的情况下应用程序不会改变专属层级。
彼此相分离的地址空间以及与应用程序分离出来的操作系统内存,可透过该虚拟内存地址转换表的内容予以完全的控制。该转换表定义有将一应用程序内存与其它应用程序内存相分离的虚拟至实体分页映像表,以及保护分享的数据库与操作系统的为独与专属层级属性。该转换表系为内存常驻数据结构,且包含映像至该分享的操作系统内存区域的转换进入点以及限制对于核心模式程序代码的存取。
现今的保护机制似乎提供应用程序以及操作系统足够的保护。于跨平台的系统中(如透过操作系统修正该些机制的应用程序,修正控制该些机制的操作系统程序代码的操作,以及其它于核心模式中执行的程序代码不会受到干扰)的确如此。然而,典型的X86架构的系统包含有大量的核心模式程序代码,不只是来自于操作系统的销售者也来自于许多独立资源,因此对于无法对任何人确保不会受到干扰,意外或是其它状况不会发生。
依据使用者执行的作业种类以及所执行的软件应用程序种类,储存于计算机系统并于其中执行的讯息很难防守来自外部的存取。因此,有必要提升其安全性并藉以使X86架构的系统较不易为外部存取。
发明内容
本发明揭露包括有透过安全通信连结相连接的安全执行模式功能处理器与安全性服务处理器的计算机系统的多个实施态样。于一实施态样中,该计算机系统包括设定为可透过执行安全初始化指令以初始化安全执行模式的处理器。此外,该处理器可透过执行安全操作系统程序代码区段而于安全执行模式中予以执行。该计算机系统复包括透过输入/输出连结耦接至该处理器的输入/输出接口。该输入/输出接口可设定为接收透过安全初始化指令所执行的处置(transaction)。该处置包括该安全系统程序代码区段的至少一部份。该输入/输出接口复判断该处理器是否为处置来源。该计算机系统复包括透过外围总线耦接至该输入/输出接口的安全服务处理器。当判断出该处理器为处置来源时该输入/输出接口可传送该处置予该安全服务处理器。
于一特定的实施例中,该输入/输出接口可设定为阻挡该处置至该安全服务处理器以响应当判断出该处理器并非该处置的唯一来源。
于另一特定的实施例中,该透过安全初始化指令所执行的处置包括起始处置、相应的数据处置以及相应的结束处置。
于又一特定的实施例中,起始处置、相应的数据处置以及相应的结束处置系为依据超传输(HyperTransport)规格的封包。
附图说明
第1图系为用以显示具有安全执行模式功能处理器的一实施例中的运算域以及于该运算域中程序代码执行的状态;
第2图系为用以显示利用信任的计算平台的计算机系统的实施例的方块图;
第3图系为用以显示利用信任的计算平台的计算机系统的另一实施例的方块图;
第4图系为用以连结至安全服务处理器的输入/输出接口的实施例方块图;
第5图系为用以连结至安全服务处理器的输入/输出接口的实施例方块图;
第6图系用以显示依据超传输协议格式的砸凑起始封包;
第7图系用以显示依据超传输协议格式的砸凑起始封包;以及
第8图系用以显示依据超传输协议格式的砸凑起始封包。
本发明容许不同的修改与格式的替换,本发明的特定实施例系透过例示的图式与详细说明予以揭露。然而,需了解者,该图标与详细说明并非用以将本发明限制于所揭露的特定形式,相反的,本发明涵盖所有落于权利要求书中所界定的权利范围的修改与等效替换。
具体实施方式
安全计算平台概观
信任的计算允许计算机系统(如个人计算机(PC))使用者可参与新的活动,如下载电子现金以及电影的同时可保护他们的隐私受到攻击。要成为信任的计算环境的|部分,该个人计算机本身必须受到来自使用者以及如银行以及内容提供者等外部实体的同时信任。关键的组件在于创造信任的个人计算机其包括有:信任的处理环境、特殊平台机密、密码处理、安全的存储装置以及作为安全核心的安全的操作系统程序代码区段。建构用以执行该些组件的模块将更详细的揭露于下。
建构成用以执行X86指令的处理器通常包括如保护模式的架构特征,俾提供分页虚拟内存以及专属执行模式,以及控制该些特征的控制缓存器集。控制对该些控制缓存器以及分页表的存取可额外的提供计算机系统中的程序代码或数据免于未授权存取的保护。因此,增加架构延伸集至该处理器以及相应的软件支持可提供前述的保护。对于该处理器整体安全增强可称的为安全执行模式。安全执行模式系增加于处理器中用以生成信任的执行环境的操作模式,其中安全核心可在免于外部窜改的情况下予以执行。
据此,可于安全执行环境操作的处理器包括安全硬件(未图标),举例而言,该安全硬件系用以于该安全执行模式致能后提供安全执行模式如信任执行等操作模式的支持。如后述的详细说明,依据所执行的是何种软件及其所有的转属层级,该信任执行模式可包括具有安全执行模式功能的处理器,该处理器除了于正常使用者模式与正常核心模式外复可于安全使用者模式与安全核心模式下操作。复可提供该机制生成受保护的内存区域,该内存区域仅接受于此环境中执行的软件的存取以及来自硬件内存的存取(如直接内存存取(Direct MemoryAccess;DMA))。
新的信任执行环境于某些部分系与用以分离使用者与核心环境的传统正常/保护模式(环(Ring)3/环1)机制相同。如后述伴随第1图的详细说明,使用者/核心模式与信任的/不信任的模式产生四象限模式。因此,具有安全执行模式的中央处理器包含用以生成并执行该信任执行的硬件机制。
请参阅第1图,系用以显示具有安全执行模式功能处理器的一实施例中的运算域以及于该运算域中程序代码执行的状态的示意图。承前所述,现今X86架构的操作系统通常利用该四个有效的专属层级中的两个层级(如CPL0与CPL3)以执行正常执行模式或保护域中的两个模式:正常核心模式与正常使用者模式。当安全执行模式致能时,该安全执行模式增强定义出称的为信任的执行模式的新执行模式。当与现行的正常执行模式保护域相结合时,安全执行模式生成下述的四个不相同的模式或软件运算域。于本实施例中,该四个运算域系为正常使用者域1010、正常核心域1020、安全使用者域1030以及安全核心域1040。
该正常使用者域1010可透过处理器于正常使用者模式(亦即CPL3)执行,而非于信任的执行模式执行。于该正常使用者域1010中,典型的虚拟内存设定允许未修改的应用程序正常的运作。于安全执行模式下,然而该些应用程序被阻止对常驻于该安全使用者域1030中的应用程序的内存,或于该安全核心域1040中包含有安全核心1021的内存进行存取。此外,该些应用程序透过如U/S与R/W分页特性的现行保护逻辑机制(未图标)被阻止对于操作系统核心1023的内存或于该正常核心域1020中的装置驱动程序进行存取。
于该正常核心域1020中,安全执行模式未修改的操作系统核心1023构件以及核心模式装置的正常运作。于此正常核心域1020中的程序代码执行可存取正常使用者域1010中的对象,但于安全执型模式下则被阻止对于安全使用者域1030或安全核心域1040中的对象进行存取。此外,该正常核心域1020可透过处理器于正常核心模式(亦即CPL0)执行,而非于信任的执行模式执行。当分页于该正常核心域1020下被致能时,处理器有时会被视为在本体核心模式下运作。
于安全核心域1040中,安全执行模式允许如高安全性应用程序(High Security Application;HSA)等新类型的应用程序软件进行如执行等运作。透过现行的X86分页保护以及分页映像机制,高安全性应用程序会被阻止对于任何域中的对象进行存取。此外,透过任何于正常使用者域1010与正常核心域1020中的程序代码执行可免于未授权的存取,包括侅操作系统核心1023与装置驱动程序(未于第2图中示出)。如后述的详细说明,安全核心1021需负责设定与维持该高安全性应用程序的虚拟地址空间。此外,该安全核心域1040可透过处理器于使用者模式(亦即CPL3)以及信任的执行模式执行。该使用者模式亦可视为安全使用者模式。
于安全核心域1040中,安全执行模式允许安全核心1021对于全部的平台资源进行完全存取,此外复可给予安全核心1021该些资源的专属控制权。该安全核心域1040可透过处理器于正常核心模式(亦即CPL0)以及信任的执行模式执行。该使用者模式亦可视为安全核心模式。
一般而言,安全核心1021系于信任执行模式中执行的软件。于一实施例中,安全核心1021系于安全核心域1040中执行的唯一软件。于安全核心域1040中,安全核心1021控制所有虚拟至物理内存映像以及物理内存的何区域可供外部装置存取。然而,安全核心1021依靠该操作系统核心的处理产生包括正常模式虚拟内存映像、初始高安全性应用程序映像以及高安全性应用程序的程序代码与数据区段的加载等功能。安全核心1021无论如何监视该些映像中的每一个映像以确保信任的内存的未授权映像不会进入不信任的虚空间。因此,安全核心1021将所有未获信任的内存的区域视为不信任的。此外,安全核心1021亦会将所有未被安全核心1021所控制的执行程序代码视为不信任的。须特别说明者系于一实施例中,安全核心1021可为独立的程序代码区段并作为现行操作系统修正程序。于可替代的实施例中,安全核心1021可为特定的操作系统中的模块或程序代码区段或为其中的|部份。
该安全执行模式的主要功能包括透过初始化该处理器以令其于安全执行模式中执行、对于该安全核心信任的核对以及保护该信任的环境不受到外界的攻击等,俾将该系统设置于信任的环境中。须特别说明者,系前述所使用的专有名词中央处理器、微处理器以及处理器是可相互替换的。
安全执行模式初始化
其主要在于生成独特、特殊平台、机密的可信任个人计算机。实际上,该机密可为半公开半机密的密码钥对。该机密仅能于该个人计算机于信任的环境下运作时予以使用,且永远不会接露于任何人或任何程序代码。利用该机密的密码运算结果则可予以公开,但机密本身则不可公开。为了让其运作,该机密以及使用该机密的密码处理机构必须存在于具有受控制的输入与输出的封闭环境(box)中。于业界的术语中,封闭环境系指结合有处理功能与非挥发储存单元的单一集成电路封装件。该装置可称的为安全服务处理器。于一实施例中,要求至少一个安全服务处理器且恰好有一个安全服务处理器于该平台中分担初始化程序。
于结构上,该安全服务处理器可置于该平台中的任何位置。唯一的要求便是介于该具有安全执行模式的处理器以及该安全服务处理器间存在有不受欺骗且安全的沟通路径。于此所使用者,系介于该具有安全执行模式的处理器以及该安全服务处理器间用作为安全沟通路径的不受欺骗的沟通路径,其中该安全服务处理器不接收来自于信任的环境以外所执行的软件或直接内存存取硬件的指令。当信任的环境初始化时这将变得非常的复杂。于此,该安全服务处理器必须就该安全核心的有效性予以认证并确认该安全核心实际上有效的于该具有安全执行模式功能的处理器上执行程序代码。该确认取得安全核心影像(image)的密码杂凑形式。该杂凑必须透过非起因于正常软件运作的方式传送至安全服务处理器。此外,该具有安全执行模式功能的处理器必需自完全的初始状态下(该安全服务处理器必须认知此点)起始安全新核心的执行。此要求可透过利用对正常软件无法利用的中央处理器微程序代码以及硬件机制予以达成。更具体而言,称作为安全核心初始化指令的新的安全初始化指令系用以:初始化该具有安全执行模式功能的处理器、确认于该MP系统中的其它处理器是停止的、利用保留的系统地址与该具有安全执行模式功能的处理器沟通并进入至安全核心模式。须特别说明者系于一实施例中,该安全核心初始化指令系具有多个极微化执行执行的构件所组成的单一指令。另需特别说明者系于一实施例中,该初始化程序包括两个步骤:透过该安全服务处理器确认小型安全加载器,接着确认大得多的安全核心。
利用信任的计算平台的计算机系统
请参阅第2图,其系为用以显示利用信任的计算平台的计算机系统的实施例的方块图。计算机系统10包括二个分别被指定为具有安全执行模式功能的处理器100A以及具有安全执行模式功能的处理器100B的具有安全执行模式功能的处理器。该具有安全执行模式功能的处理器100A透过处理器总线105耦接至该具有安全执行模式功能的处理器100B。计算机系统10复包括耦接至具有安全执行模式功能的处理器100A的系统内存110A,以及耦接至具有安全执行模式功能的处理器100B的系统内存110B。具有安全执行模式功能的处理器100A透过系统总线125耦接至输入/输出接口120。该输入/输出接口120系耦接至存储装置140并透过外围装置总线145耦接至外围装置150。该输入/输出接口120复透过外围装置总线135耦接至安全服务处理器130。于可替代的实施例中,如图中虚线所示,该安全服务处理器130透过该外围装置总线145以取代外围装置总线135。需特别说明者,尽管图中显示二个具有安全执行模式功能的处理器,于其它实施例中可具有其它数量的具有安全执行模式功能的处理器。另需特别说明者,具有相同数字组件符号以及英文字母组件符号的组件将简化成仅以数字组件符号表示。举例而言,具有安全执行模式功能的处理器100A会简化成具有安全执行模式功能的处理器100。
于所示的实施例中,该具有安全执行模式功能的处理器100A以及具有安全执行模式功能的处理器100B各包括分别用以连接至系统内存100A与100B的集成内存控制器(未图标)。需特别说明者,系于可替代的实施例中,系该输入/输出接口120包括一个或多个内存控制器以及主桥(host bridge)。于此实施例中,系统内存110连接至该输入/输出接口120。
具有安全执行模式功能的处理器100系利用X86架构的处理器予以说明。举例而言,于一实施例中,具有安全执行模式功能的处理器100可为高级微(AMD)公司所制造的Athlon处理器。于此种处理器中,该具有安全执行模式功能的处理器100被设定成执行储存于系统内存110或存储装置140中的X86指令集。于此实施例中,具有安全执行模式功能的处理器100包括安全性硬件(未图标),当安全执行模式致能时,可提供如前述伴随第1图的说明的信任执行模式等安全执行模式运作模式的支持。
系统内存110被设定成储存时常需为该具有安全执行模式功能的处理器100所使用的程序指令以及数据。于典型的系统架构中,存储装置140系作为永久储存该程序指令以及数据之用,以当该具有安全执行模式功能的处理器100需要数据与程序代码时,可转换至该系统内存110。于该具有安全执行模式功能的处理器100执行期间,透过于系统内存110外与操作系统共同执行的安全核心,可提供安全执行模式运作模式附加的支持。此外,系统内存110可划分为信任的部份与不信任的部份。该安全核心常驻于该系统内存110的信任的部份中。如前所述,系统内存110通常系利用分页虚拟内存予以存取。于此架构中,系统内存110系透过独立的分页或大量的内存予以存取。此分页功能通常系透过操作系统内存管理功能予以控制。
于一实施例中,系统内存110可利用多数的内存芯片予以实现,该些内存芯片可为动态随机存取内存(DRAM)技术或另一种现存的动态随机存取内存技术如同步动态随机存取内存(SDRAM)等。该动态随机存取内存芯片通常系接置于具有用以插入主机板的插槽连接端中的边缘连接端的小型电路板上。依据电路板的架构,该内存可为单行或双行的内存模块(分别可例如为SIMM或DIMM)。系统内存110可包括多个内存库模块俾允许内存延伸。
如前所述,存储装置140可储存该程序指令以及数据。于一实施例中,存储装置140可为硬盘驱动器或硬盘驱动器组,然而于其它实施例中可考虑包括其它主要的存储装置,如光盘驱动器、软盘驱动器以及磁带驱动器等等。
外围装置150可例如为调制解调器、影像撷取装置或其它一般功能的输入输出装置等外围装置。须特别说明者,系于其它实施例中,可采用其它数量的外围装置。
输入/输出接口120被设定成提供总线控制以及于正常系统运作期间介于不同外围装置总线与具有安全执行模式功能的处理器100A与100B间处置的转换。于一实施例中,输入/输出接口120包括执行类似于北桥的功能的总线桥121。举例而言,外围装置总线145可为外围装互连总线,而外围装置总线135则可为低接脚数(LPC)总线。此外,总线桥121被设定成提供安全机制(未示于第2图中)以允许于安全初始化期间,在具有安全执行模式功能的处理器100与安全服务处理器130间产生不受欺骗的沟通。举例而言,总线桥121可被设定成用以判断安全服务处理器是否连接至总线桥121且至哪一个总线。如后所述,依据总线的类型,总线桥121可被设定为执行不同的安全相关功能,例如将接收来自于系统总线125上具有安全执行模式功能的处理器100A的安全初始化指令转换至可于外围总线135上传送的适当格式。举例而言,总线桥121可被设定成可识别安全核心初始化指令相关讯息并以外围装置总线135的特定格式传送该些讯息予安全服务处理器130。此外,总线桥121可被设定成透过如地址过滤等机制以阻挡对该安全服务处理器130的点对点交通。总线桥121复可被设定成于安全核心初始化指令运作期间强制存取窗口至安全服务处理器130映像的输入/输出内存。
一般而言,该安全核心初始化指令可例如于具有安全执行模式功能的处理器100A与具有安全执行模式功能的处理器100B等具有安全执行模式功能的处理器上执行。如前所述,该安全核心初始化指令系具有多个极微化执行执行的构件所组成的单一指令。此外,于一实施例中,该安全核心初始化指令可具有如EAX缓存器等的单一输入运算域。于一实施例中,该安全核心初始化指令包括三个执行阶段:初始化、数据传送与跳越。
于初始化阶段中,可重设具有安全执行模式功能的处理器100A的状态且任何微程序代码修正程序会被清除。此外,该安全加载器影像会加载至系统内存110A并于阻止直接内存存取产生前优先保护该安全加载器影像,亦即对物理内存中64K字节连续空间存取,其中常驻有安全加载器影像的部分已被封锁。该64K字节区域被称的为安全加载器区块。该64K字节空间的基础地址系为该安全核心初始化指令的参数(如利用EAX输入至安全核心初始化指令)。杂凑起始处置传送该基础地址作为其地址栏的|部分。于此方法中,所有的内存控制器接收该杂凑起始处置会被通知何一内存区域被保护。
于数据传送阶段中,该为程序代码执行杂凑起始、杂凑数据以及杂凑结束指令。于一实施例中,该杂凑起始处置可为于所有介于具有安全执行模式功能的处理器100A与安全服务处理器130间的中间连结与总线传送的广播处置。于此实施例中,杂凑起始可于处理器总线105、系统总线125以及外围装置总线135上传送。于多处理器环境中,具有安全执行模式功能的处理器100A等待来自具有安全执行模式功能的处理器100B的响应。具有安全执行模式功能的处理器100B用以响应该具有状态位的讯息,该状态位系用以指示:「APIC初始化模式激活」或「APIC初始化模式未激活」。若具有安全执行模式功能的处理器100B未响应「APIC初始化模式激活」则具有安全执行模式功能的处理器100A结束该杂凑起始并接着执行杂凑结束,据此跳过该杂凑数据指令。假设具有安全执行模式功能的处理器100B响应「APIC初始化模式激活」则该杂凑起始指令传送至安全服务处理器130并接着传送杂凑数据指令。分别与具有安全执行模式功能的处理器100A与具有安全执行模式功能的处理器100B相关联的主桥/内存控制器(未图标)会开启内存。输入/输出以及直接内存存取专属保护。
一旦该杂凑起始处置传送至安全服务处理器130,该微程序代码执行杂凑数据处置。杂凑数据处置自该系统内存110A中提取安全加载器程序代码影像并通过系统总线125将其传送至输入/输出接口120。
一旦该杂凑数据处置及其相对应的数据传送至安全服务处理器130,该微程序代码执行杂凑结束处置。该杂凑结束处置可为于所有介于具有安全执行模式功能的处理器100A与安全服务处理器130间的中间连结与总线传送的广播处置。
输入/输出接口120接收透过该杂凑起始/结束讯息所围限的安全加载器影像。接收来自该起始/结束范围外的处置将被忽略。该数据传送至安全服务处理器130。总线桥121可设定成阻止任何其它的处置至该安全服务处理器130地址范围,该范围系与介于杂凑起始与杂凑结束间的安全核心初始化指令相关联。
于跳越阶段中,该安全核心初始化指令藉由跳越至该安全加载器而完成。
于一实施例中,当安全服务处理器130接收该杂凑数据处置的数据载量(payload)(亦即安全加载器影像)以及杂凑结束处置,其执行该影像的密码杂凑并将该结果与内存值比较。若比较结果相符,该安全服务处理器130接着透过储存用以指示该安全加载器有效的内部指示以使该安全加载器影像生效。于此状态下,安全服务处理器130被视为受到保护的并准备参与如使大许多安全核心的杂凑生效等后续运作。
须特别说明者系于实施例中安全服务处理器130系耦接至外围装置总线145,总线桥121可设定为执行转换以及与该外围装置总线145相关联的安全功能。
请参阅第3图,其系为用以显示利用信任的计算平台的计算机系统的另一实施例的方块图。相应于第2图的组件则以相同的组件符号以求简单明确。计算机系统20包括二个分别被指定为具有安全执行模式功能的处理器100A以及具有安全执行模式功能的处理器100B的具有安全执行模式功能的处理器。该具有安全执行模式功能的处理器100A透过形成高速点对点连结的同调连结205耦接至该具有安全执行模式功能的处理器100B。计算机系统20复包括耦接至具有安全执行模式功能的处理器100A的系统内存110A,以及耦接至具有安全执行模式功能的处理器100B的系统内存110B。具有安全执行模式功能的处理器100A透过非同调输入/输出连结225耦接至输入/输出接口220。非同调输入/输出连结225亦可为高速点对点连结。该输入/输出接口220系耦接至存储装置140并透过外围装置总线145耦接至外围装置150。该输入/输出接口220复透过外围装置总线135耦接至安全服务处理器130。于可替代的实施例中,如图中虚线所示,该安全服务处理器130透过该外围装置总线145以取代外围装置总线135。需特别说明者,尽管图中显示二个具有安全执行模式功能的处理器,于其它实施例中可具有其它数量的具有安全执行模式功能的处理器。
于所示的实施例中,该具有安全执行模式功能的处理器100A以及具有安全执行模式功能的处理器100B各包括分别用以连接至系统内存100A与100B的集成内存控制器(未图标)。此外,具有安全执行模式功能的处理器100A包括用以连接至非同调输入/输出连结225以及依据同调连结205传送介于具有安全执行模式功能的处理器100A以及具有安全执行模式功能的处理器100B的讯息的集成主桥逻辑(未图标)。然而须特别说明者,系其它实施例可考量该主桥可为单独的(如北桥)或组合的。
于本实施例中,同调连结205以及非同调输入/输出连结225的每一个均用作为单向线路集。每一个特定的线路集以不同的方向传送处置。该同调连结205可于快取同调形式下运作以于具有安全执行模式功能的处理器100A以及具有安全执行模式功能的处理器100B沟通。此外,非同调输入/输出连结225可于非同调形式下运作以于该输入/输出接口220与如该具有安全执行模式功能的处理器100A的主桥等主桥间沟通。透过同调连结于两个或更多的装置间互连可称作为「同调结构」。同样的,透过非同调连结于两个或更多的装置间互连可称作为「非同调结构」须特别说明者,系于一实施例中,非同调输入/输出连结225可兼容于「超传输」技术。
一般而言,封包系为两个节点或装置间的沟通(亦即起始节点传送封包而目的节点则接收该封包)。该起始节点与目的节点不同于该处置的来源与目标节点,该封包只是一部份,而该二节点则可为来源节点或目标节点。控制封包系唯一用以运送关于该处置的控制讯息的封包。某些控制封包具体指定数据封包跟随。该数据封包运送相应于该处置以及相应于该指定的控制封包的数据。于一实施例中,控制封包包括指令封包、讯息封包以及响应封包。须特别说明者系于其它实施例中可考量包括其它类型的封包。
当该封包于非同调连结上或同调连结的同调节点间的向上游或向下游传送时,该封包会通过一或多个节点。此处所用的「向上游」系指封包从输入/输出接口220朝该具有安全执行模式功能的处理器100A的主桥方向流动,而「向下游」系指从该具有安全执行模式功能的处理器100A的主桥向输入/输出接口220方向流动。
如第2图所示者,第2图的具有安全执行模式功能的处理器100系以利用X86架构的处理器为例示。据此,具有安全执行模式功能的处理器100系用以执行储存于该系统内存110或存储装置140中的X86架构的指令。于此实施例中,具有安全执行模式功能的处理器100包括安全硬件(未图标),当透过安全执行模式致能时,提供如前所述信任的执行模式等安全执行模式运作模式。
如后述的详细说明,利用「超传输」技术执行不受欺骗的沟通路径,主桥复用以执行相关安全功能。举例而言,该具有安全执行模式功能的处理器100A的主桥可:执行输入/输出空间排除,安全核心初始化指令相关讯息支持以及具有安全服务处理器130是否常驻于其下游总线的讯息。输入/输出空间排除系指阻挡任何来自下游总线处置的到来。举例而言,上游处置既不被允许通过该桥至上游总线亦不被允许向下游反射回该下游总线。此外,任何向上游存取该「超传输」40位架构地址窗口(FD_FE00_0000h-FD_FFFF_FFFFh)将透过该主桥阻档。于一实施例中,该些存取会藉由「目标失败」或「主体失败」予以终止。
如前述伴随第2图的说明,该具有安全执行模式功能的处理器100A的主桥可传送杂凑起始、杂凑数据以及杂凑结束处置。于一实施例中,杂凑起始以及杂凑结束讯息系为广播封包,而杂凑数据处置包括非公布符合写入要求封包并跟随包含数据载量的数据封包。后述的第6图至第8图将讨论例示的杂凑起始、杂凑数据以及杂凑结束超传输封包。用于该些处置的40位地址将说明于下。于一实施例中,确保至该些地址的处置仅来自于具有安全执行模式功能的处理器100A被视为安全核心初始化指令的|部份是具有安全执行模式功能的处理器100A的超传输主桥的责任。须特别说明者,系下列指定用于安全初始化的地址范围系为超传输规格中所保留者:
FD_F920_0000h-FD_F923_FFFFh(杂凑起始)
FD_F924_0000h-FD_F927_FFFFh(保留)
FD_F928_0000h-FD_F928_0003h(杂凑结束)
FD_F928_0004h-FD_F928_0007h(杂凑数据)
FD_F928_0008h-FD_F92F_FFFFh(保留)
系统内存110大致上与伴随第2图所述的系统内存110相同的方式运作。举例而言,系统内存110被设定成储存时常需为该具有安全执行模式功能的处理器100所使用的程序指令以及数据。对该安全执行模式运作模式额外的支持则可于该具有安全执行模式功能的处理器100运作期间透过与该系统内存110外操作系统共同执行的安全核心予以提供。此外,如前所述,系统内存110可划分为信任的部份与不信任的部份。该安全核心常驻于该系统内存110的信任的部份中。如前所述,系统内存110通常系利用分页虚拟内存予以存取。于此架构中,系统内存110系透过独立的分页或大量的内存予以存取。此分页功能通常系透过操作系统内存管理功能予以控制。
如前所述,存储装置140可储存该程序指令以及数据。于一实施例中,存储装置140可为硬盘驱动器或硬盘驱动器组,然而于其它实施例中可考虑包括其它主要的存储装置,如光盘驱动器、软盘驱动器以及磁带驱动器等等。
外围装置150可例如为调制解调器、影像撷取装置或其它一般功能的输入输出装置等外围装置。须特别说明者,系于其它实施例中,可采用其它数量的外围装置。
于此实施例中,输入/输出接口220包括硬件(未于第3图中示出)总线桥221,该总线桥221系用以桥接透过非同调输入/输出连结225传送的非同调超传输处置与透过该外围装置总线135、145两者所传送的总线处置。于一实施例中,外围装置总线135则可为低接脚数(LPC)总线。此外,外围装置总线145可为外围装互连总线。于此实施例中,总线桥221可用以桥接透过非同调输入/输出连结225传送的非同调超传输处置与透过低接脚数总线135以及外围装互连总线145两者所传送的总线处置。须特别说明者,系于一实施例中,该低接脚数总线系不可数的,串行总线可利用四条线路以传送介于主机与外围装置间的控制、地址以及数据讯息。该讯息沟通系:起始、停止(中止周期)、传送类型(内存、输入/输出、直接内存存取)、传送方向(读取/写入)、地址、数据、等待状态、直接内存存取信道以及总线主体同意。若要取得更多关于低接脚数总线的讯息,可参阅由Intel所提供版本为1.1的低接脚数接口规格书。此外,该外围装互连总线其特性在于系为平行多通路的地址与数据总线。此外,若要取得更多关于外围装互连总线的讯息,可参阅由PCI专业组织所提供版本为2.2的外围装置互连局部总线规格书。
输入/输出接口220系用以于正常系统运作期间提供总线控制以及介于不同外围装置总线间处置的转换。此外,总线桥221包括于安全初始化允许不受欺骗的沟通产生于具有安全执行模式功能的处理器100与安全服务处理器130间。举例而言,总线桥221可用以判断安全服务处理器是否连接至其本身及其总线。此外,如后述伴随第4图与第5图的说明,总线桥221可用以执行如安全初始化处置转换等多种安全性相关功能。举例而言,总线桥221可用以辨识于该非同调输入/输出连结225上所接收到的该安全核心初始化指令讯息并于必要时依据该安全服务处理器130所在的位置以符合低接脚数总线135或外围装置互连总线145的传送格式传送该些讯息予安全服务处理器130。此外,总线桥221可阻挡至安全服务处理器130的点对点交通。总线桥121复可用以于安全核心初始化指令运作期间强制存取窗口至安全服务处理器130映像的输入/输出内存。
如后述伴随第4图与第5图的更详细说明,总线桥221包括用以判断该安全核心初始化指令相关的超传输讯息并于必要时依据该安全服务处理器130所在的位置以及正确的格式透过低接脚数总线135或外围装置互连总线145传送至安全服务处理器130的逻辑(未图标)。此外,总线桥221包括用以显示超传输至安全服务处理器流量控制的逻辑(未图标)。举例而言,总线桥221可用以以支持超传输的数据率上吸收连续到达的杂凑数据处置流量,或请求于非同调输入/输出连结225上游的流量控制。
总线桥221复包括用以执行该杂凑起始,杂凑结束存取窗口规则的逻辑(未图标)。更具体的,除了接收来自上游连结杂凑数据处置外禁止对介于杂凑起始与杂凑结束的围限间安全服务处理器内存映像的输入/输出地址窗口进行存取。此包括依据安全服务处理器所在的位置禁止任何于低接脚数总线135或外围装置互连总线145上的点对点交通。
请参阅第4图,其系为第3图所示的总线桥的实施例方块图。相应于第3图的组件则以相同的组件符号以求简单明确。低接脚数总线桥321包括耦接至非同调连结225以及内部总线421的内部桥单元401。低接脚数总线桥321复包括耦接至内部桥单元401以及安全核心初始化指令来源检测器450的安全核心初始化指令过滤器405。低接脚数总线桥321尚包括耦接至地址过滤器410的地址映像器411,而该地址过滤器410复耦接至安全核心初始化指令过滤器405。低接脚数总线桥321复包括耦接的控制逻辑416以控制组态标头标准缓存器415。低接脚数总线桥321复包括耦接至内部总线421的内部总线周期译码单元420。低接脚数总线桥321复包括均耦接至内部总线421的读取缓冲器425以及写入缓冲器430。低接脚数总线桥321复包括耦接至安全核心初始化指令来源检测器450以及低接脚数总线循环引擎435的杂凑_x指令转换器455。此外,低接脚数总线桥321复包括耦接至低接脚数总线335的低接脚数总线驱动器440。
于此实施例中,内部总线421可用以于低接脚数总线桥321内部传送处置。透过非同调连结225所接收的处置可透过内部桥单元401并转换至内部总线周期。于一实施例中,内部桥单元401可用以透过非同调连结225接收超传输讯息并将其转换为外围装置总线互连格式的总线周期以于内部总线421中传送。举例而言,伴随第6图与第8图的后续说明,如杂凑起始、杂凑结束与杂凑数据等超传输讯息可予以传送。
当内部桥单元401接收来自非同调连结225的处置时,安全核心初始化指令过滤器405可用以辨识安全核心初始化指令处置。若该处置系为安全核心初始化指令处置,则会被送至安全核心初始化指令来源检测器450。地址映像器411映像所接收的地址至下述的相应的低接脚数总线335地址。地址过滤器410接收该相应于超传输讯息的外围装置互连处置且当该处置的地址系于该安全服务处理器的256字节安全初始化地址窗口中,则可透过地址过滤器410提供范围内讯号予安全核心初始化指令来源检测器450。如后所述,地址过滤器410利用组态标头标准缓存器415以比较输入的讯息地址。于一实施例中,于系统激活期间可透过安全服务处理器130的基础地址占存器(未图标)的内容程序化组态标头标准缓存器415。此程序化可藉由基本输入/输出系统的帮助予以完成。
于一实施例中,该安全加载器有效性以及内存映像输入/输出处置可透过低接脚数总线桥321的地址映像器411映像至低接脚数总线335上固定地址范围的4K字节中,其地址如下:
FED0_0000h-FED0_0003h(杂凑结束)
FED0_0004h-FED0_0007h(杂凑数据)
FED0_0008h-FED0_000Bh(杂凑起始)
FED0_000Ch-FED0_00FFh(保留)
FED0_0100h-FED0_0103h(装置识别码-销售者识别码缓存器)
FED0_0104h-FED0_0107h(级别程序代码-修正识别码缓存器)
FED0_0108h-FED0_010Bh(次系统识别码-次系统销售者识别码缓存器)
FED0_010Ch-FED0_01FFh(保留)
FED0_0200h-FED0_0FFFh(安全服务处理器内存-映像输入/输出窗口)
FED0_1000h-FEDF_FFFFh(保留)
需注意者系低接脚数总线335的处置系以字节进行读取与写入。据此,任何接收来自非同调连结225的杂凑数据Dword处置会转换至相应的字节处置。
安全核心初始化指令来源检测器450可用以判断该处置的来源。若安全核心初始化指令来源检测器450判断出该安全核心初始化指令处置的来源并非主桥,该安全核心初始化指令处置会被丢弃或去除。于一实施例中,当接收到的安全核心初始化指令处置并非仅来自于主桥时系统会予以响应并起始重置。然而,若安全核心初始化指令来源检测器450判断出该安全核心初始化指令处置的来源系具有安全执行模式功能的处理器100A的主桥且透过范围内讯号判断出该处置的地址系于安全初始化窗口中,则随即允许该安全核心初始化指令处置透过杂凑_x指令转换器455转换至低接脚数指令并映像至相对应的低接脚数地址。低接脚数总线循环引擎435接着产生适当的低接脚数总线周期。低接脚数总线驱动器440接着产生适当的讯号以驱动在低接脚数总线335上的总线周期以传送至安全服务处理器130。
读取缓冲器425以及写入缓冲器430可为储存单元用以储存与每一个内部总线周期相关联。当处置透过内部总线421传送时,内部总线周期译码器420判断该处置是否为读取周期或写入周期。任何与周期相关联的数据将储存于适当的缓冲器中以于产生低接脚数总线周期时透过低接脚数总线引擎435。
由于低接脚数总线335系不可数总线,低接脚数总线桥321依据安全服务处理器130是否存在提供软件已存在且可存取组态标头予安全服务处理器130。于一实施例中,组态标头标准缓存器415可兼容于标准外围装置互连组态标头。于系统激活期间,基本出入系统会确认低接脚数总线335上的安全服务处理器130是否存在。若判断出安全服务处理器130存在时,基本输入输出系统会设定控制逻辑416中的位以致能组态标头标准缓存器415可为软件所看见与存取。可替代的,当安全服务处理器130安装后并透过控制逻辑416于起始时读取,则硬线跳脚可设定于适当的位置。此外,若安全服务处理器130不存在时该组态标头及其标准缓存器415透过控制逻辑416而不被软件发现。此外,安全服务处理器130包括只读缓存器集用以映像至固定低接脚数总线位置。基本输入输出系统可读取该些缓存器并加载该值至组态标头标准缓存器415的可计数的缓存器中。于一实施例中,下述的安全服务处理器只读缓存器可映像于固定的低接脚数地址:
地址 | 缓存器 |
FED0_0100 | 位【31:36】=装置识别码;位【15:0】=销售者识别码 |
FED0_0104 | 位【31:8】=级别程序代码;位【7:0】=修正识别码 |
FED0_0108 | 位【31:16】=次系统识别码;位【15:0】=次系统销售者识别码 |
于一实施例中,低接脚数总线桥321复可包括用于安全服务处理器130的中断机制。低接脚数总线桥321可透过组态标头标准缓存器415的组态标头中断缓存器提供该安全服务处理器中断。于一实施例中,低接脚数总线桥321可固定该安全服务处理器中断的映像并对组态标头报告其内容。可替代的,基本输入输出系统可程序化该组态标头缓存器。
据此,透过前述的说明,低接脚数总线桥321允许来自具有安全执行模式功能的处理器100主桥的安全服务处理器130的安全初始化地址窗口,并于该具有安全执行模式功能的处理器100的安全初始化期间阻挡如点对点的存取。
尽管前述伴随第4图的实施例说明中低接脚数总线桥321包括功能性的相关特定模块,须特别说明者,系此处的特定模块系作为说明之用,于其它实施例中可考虑其它执行相类似功能的其它模块。
请参阅第5图,其系为第3图所示的总线桥的实施例方块图。相应于第2图与第3图的组件则以相同的组件符号以求简单明确。外围装置互连总线桥421包括耦接至非同调输入/输出连结225以及内部总线521的内部桥单元501。外围装置互连总线桥421复包括耦接至内部桥单元501以及安全核心初始化指令来源检测器550的安全核心初始化指令过滤器505。外围装置互连总线桥421复包括耦接于地址过滤器510的地址映像器511,而该地址过滤器510复耦接至安全核心初始化指令过滤器505以及基础地址缓存器影子缓存器515。外围装置互连总线桥421复包括耦接至内部总线521的总线周期译码器520。外围装置互连总线桥421复包括均耦接至内部总线521的读取缓冲器525以及写入缓冲器530。外围装置互连总线桥421复包括耦接至安全核心初始化指令来源检测器550以及低接脚数总线循环引擎535的杂凑_x指令转换器555。此外,外围装置互连总线桥421复包括耦接至外围装置总线545的外围装置总线驱动器540。
于一实施例中,基础地址缓存器影子缓存器515可于系统起始期间透过安全服务处理器130的基础地址缓存器内容予以程序化。此程序化可藉由基本输入/输出系统的帮助予以完成。基础地址缓存器影子缓存器515系设定为与安全服务处理器130的基础地址缓存器相匹配。控制逻辑516为安全服务处理器130定义专用的初始化装置选择。安全服务处理器130可实际上的接置于或固定于主机板上。该主机板可藉由来自输入输出接口520的外围装置互连总线桥421的预设与专属初始化装置选择连接至安全服务处理器130。为映像该40位安全地址至该相应的外围装置总线545的32位地址空间,当可计数的写入产生时地址映像器515可用以通知该控制逻辑516。该控制逻辑516「取走」(snarf)关于安全服务处理器130的基础地址缓存器的计数写入并使该被取走的技术写入替换基础地址缓存器影子缓存器515的内容。取走系关于为特定的处置监视总线或接口并于发现匹配时,移除或拦截该处置。
于一实施例中,该安全加载器有效性以及内存映像输入/输出处置系透过外围装置互连总线桥421的地址映像器511映像至外围装置总线545的地址范围内,该地址范围如下:
XXXX_XXX0h-XXXX_XXX3h(杂凑结束)
XXXX_XXX4h-XXXX_XXX7h(杂凑数据)
XXXX_XXX8h-XXXX_XXXBh(杂凑起始)
XXXX_X00Ch-XXXX_X1FFh(保留)
XXXX_X200h-XXXX_XFFFh(安全服务处理器内存-映像输入/输出窗口)
于此实施例中,内部总线521可用以于外围装置互连总线桥421中以内部方式传送处置。藉由非同调输入/输出连结225所接收的处置可透过内部桥单元501予以接收并转换至内部总线周期。于一实施例中,内部桥单元501可用以藉由非同调输入/输出连结225接收超传输讯息并该些讯息转换成可于内部总线521上传送的外围装置互连总线周期。举例而言,伴随第6图与第8图的后续说明,如杂凑起始、杂凑结束与杂凑数据等超传输讯息可予以传送。
当内部桥单元501接收来自非同调输入/输出连结225处置时,安全核心初始化指令过滤器505可用以辨识该安全核心初始化指令处置。若该处置系为安全核心初始化指令处置,则会被送至安全核心初始化指令来源检测器550。如下所述,地址映像器511映像该40位安全地址至该相应的外围装置总线545的32位地址空间。地址过滤器510接收该相应于超传输讯息的外围装置互连处置且当该处置的地址系于该安全服务处理器130的256字节安全初始化地址窗口中(如该内存之前三个Dwords映像相应于该杂凑起始、杂凑结束与杂凑数据地址的输入/输出空间),则可透过地址过滤器510提供范围内讯号予安全核心初始化指令来源检测器550。
安全核心初始化指令来源检测器550可用以判断该处置的来源。若安全核心初始化指令来源检测器550判断出该安全核心初始化指令处置的来源并非主桥,该安全核心初始化指令处置会被丢弃或去除。于一实施例中,当接收到的安全核心初始化指令处置并非仅来自于主桥时系统会予以响应并起始重置。于可替代的实施例中,外围装置互连总线桥421会阻挡后续同意该主机对该安全服务处理器130的安全初始化地址的发布。
然而,若安全核心初始化指令来源检测器550判断出该安全核心初始化指令处置的来源系具有安全执行模式功能的处理器100A的主桥且透过范围内讯号判断出该处置的地址系于安全初始化窗口中,则随即允许该安全核心初始化指令处置透过杂凑_x指令转换器555转换至低接脚数指令并映像至相对应的低接脚数地址。外围装置互连总线循环引擎535接着产生适当的外围装置互连总线周期。外围装置互连总线驱动器540接着产生适当的讯号以驱动在外围装置互连总线545上的总线周期以传送至安全服务处理器130。
读取缓冲器525以及写入缓冲器530可为储存单元用以储存与每一个内部总线周期相关联。当处置透过内部总线521传送时,内部总线周期译码器520判断该处置是否为读取周期或写入周期。任何与周期相关联的数据将储存于适当的缓冲器中以于产生外围装置互连总线周期时透过外围装置互连总线引擎535。
据此,透过前述的说明,外围装置互连总线桥421允许来自具有安全执行模式功能的处理器100主桥的安全服务处理器130的安全初始化地址窗口,并于该具有安全执行模式功能的处理器100的安全初始化期间阻挡如点对点的存取。
尽管前述伴随第5图的实施例说明中外围装置互连总线桥421包括功能性的相关特定模块,须特别说明者,系此处的特定模块系作为说明之用,于其它实施例中可考虑其它执行相类似功能的其它模块。
利用超传输处置的安全核心初始化
如前所述,封包可藉由如非同调输入/输出等超传输连结向上游或向下游传送。此外部份封包会有其它的目的地且其它的则可广播至所有的装置。第6至8图显示与超传输规格兼容的安全核心初始化指令处置封包的例示。第6图显示杂凑起始封包的例示、第7图显示杂凑结束封包的例示而第8图显示杂凑数据封包的例示。该连结组态与设定以及多种的超传输封包格式的相关详细数据可见于超传输技术联合会所出版的最新的超传输输入/输出连结规格。
请参阅第6图,系用以显示杂凑起始封包的例示。杂凑封包600包括由位0-7或一字节所组成的字段。此外,该封包包括位时间0-7,且因此成为8字节封包。该杂凑封包600的格式将其识别成通常为主桥利用以与下游装置沟通的广播讯息。于位时间为零的期间,位0-5用以将该指令类型予以编码并标示为CMD【5:0】,而位6-7则用以将后续的位2与3予以编码并标示为SeqID【3:2】。于此实施例中,CMD【5:0】的编码系为111010b,其系用以指示非公布的、相符的写入、双字符、等时性的、非同调封包。于位时间1期间,位0-4系用以将该主桥(00000b)的单元识别码予以编码并标示为UnitID【4:0】。位5-6系用以将后续识别码位0与1予以编码并标示为SeqID【1:0】。位7系为通过公布的写入位并标示为PassPW。于此实施例中,PassPW位的值系固定为0b。于位时间2期间,所有的位均予以保留。于位时间3期间,位0-1予以保留。位2-7系用以将地址位2至7予以编码并将其标示为Addr【7:2】。该些位为不采位。于位时间4期间,位0-7系用以将地址位8至15予以编码并将其标示为Addr【15:8】。该些位为不采位。于位时间5期间,位0-1系用以将地址位1 6至17予以编码并将其标示为Addr【17:16】。该些位为不采位。位2-7系用以将地址位18至23予以编码并将其标示为Addr【23:18】。该些位编码为具有001010b的地址值。于位时间6期间,位0-7系用以将地址位24至31予以编码并将其标示为Addr【31:24】。该些位编码为具有F9h的地址值。于位时间7期间,位0-7系用以将地址位32至39予以编码并将其标示为Addr【39:32】。该些位编码为具有FDh的地址值。该些地址相应于前述伴随第2图至第5图的说明中安全服务处理器130所保留的安全核心初始化指令地址空间。
请参阅第7图,系用以显示杂凑结束封包的例示。相同于第6图所示的杂凑封包600,杂凑结束封包700包括由位0-7或一字节所组成的字段。此外,该封包包括位时间0-7,且因此成为8字节封包。该杂凑结束封包700的格式将其识别成通常为主桥利用以与下游装置沟通的广播讯息。于位时间为零的期间,位0-5用以将该指令类型予以编码并标示为CMD【5:0】,而位6-7则用以将后续的位2与3予以编码并标示为SeqID【3:2】。于此实施例中,CMD【5:0】的编码系为111010b,其系用以指示非公布的、相符的写入、双字符、非同调封包。于位时间1期间,位0-4系用以将该主桥(00000b)的单元识别码予以编码并标示为UnitID【4:0】。位5-6系用以将后续识别码位0与1予以编码并标示为SeqID【1:0】。位7系为通过公布的写入位并标示为PassPW。于此实施例中,PassPW位的值系固定为0b。于位时间2期间,所有的位均予以保留。于位时间3期间,位0-1予以保留。位2-7系用以将地址位2至7予以编码并将其标示为Addr【7:2】。将该些位编码成00000b的地址值。于位时间4期间,位0-7系用以将地址位8至15予以编码并将其标示为Addr【15:8】。将该些位编码成00000b的地址值。于位时间5期间,位0-7系用以将地址位16至23予以编码并将其标示为Addr【23:16】。将该些位编码成28h的地址值。于位时间6期间,位0-7系用以将地址位24至31予以编码并将其标示为Addr【31:24】。该些位编码为具有F9h的地址值。于位时间7期间,位0-7系用以将地址位32至39予以编码并将其标示为Addr【39:32】。该些位编码为具有FDh的地址值。该些地址相应于前述伴随第2图至第5图的说明中安全服务处理器130所保留的安全核心初始化指令地址空间。
请参阅第8图,系用以显示杂凑数据封包的例示。杂凑数据封包800包括由位0-7或一字节所组成的字段。此外,该封包包括位时间0-7,且因此成为8字节封包。该杂凑结束封包700的格式将其识别成符合写入要求封包。于位时间为零的期间,位0-5用以将该指令类型予以编码并标示为CMD【5:0】,而位6-7则用以将后续的位2与3予以编码并标示为SeqID【3:2】。于此实施例中,CMD【5:0】的编码系为0011x0b,其系用以指示非公布的、要求具有双字符的相符的写入、非同调封包。于位时间1期间,位0-4系用以将该主桥(00000b)的单元识别码予以编码并标示为UnitID【4:0】。位5-6系用以将后续识别码位0与1予以编码并标示为SeqID【1:0】。位7系为通过公布的写入位并标示为PassPW。于此实施例中,PassPW位的值系固定为0b。于位时间2期间,位0-4系用以将来源卷标值予以编码并标示为SrcID【4:0】。位5系作为兼容性位并固定于0b的值。位6-7系用以将该数据屏蔽或数据计数值的位0与1予以编码并标示为Mask/Count【1:0】。该些位编码成0xb值用以指示杂凑数据可视为每一个处置的单一Dword,且可利用字节或Dword模式。举例而言,于Dword模式下该计数=0000b(一个Dword)而于字节模式下该计数=0001b(二个Dwords、一个数据、一个屏蔽),且该屏蔽Dword=000Fh。于位时间3期间,利用位0-1将该数据屏蔽或数据计数值的位2与3予以编码并标示为Mask/Count【3:2】。位2-7系用以将地址位2至7予以编码并将其标示为Addr【7:2】。将该些位编码成000001b的地址值。于位时间4期间,位0-7系用以将地址位8至15予以编码并将其标示为Addr【15:8】。将该些位编码成00h的地址值。于位时间5期间,位0-7系用以将地址位16至23予以编码并将其标示为Addr【23:16】。将该些位编码成28h的地址值。于位时间6期间,位0-7系用以将地址位24至31予以编码并将其标示为Addr【31:24】。该些位编码为具有F9h的地址值。于位时间7期间,位0-7系用以将地址位32至39予以编码并将其标示为Addr【39:32】。该些位编码为具有FDh的地址值。该些地址相应于前述伴随第2图至第5图的说明中安全服务处理器130所保留的安全核心初始化指令地址空间。
上述实施例仅为例示性说明本发明的原理及其功效,而非用于限制本发明。任何熟习此项技艺的人士均可在不违背本发明的精神及范畴下,对上述实施例进行修饰与变化。因此,本发明的权利保护范围,应如所述的权利要求书中所列。
产业利用性
本发明大致上可应用于计算机系统中。
Claims (10)
1.一种计算机系统(20)包含:
透过执行安全初始化指令以初始化安全执行模式的处理器(110),该处理器(110)还透过执行安全操作系统程序代码区段而于安全执行模式中予以执行;
透过输入/输出连结(225)耦接至该处理器的输入/输出接口(120、220),其中该输入/输出接口接收透过安全初始化指令所执行的处置并判断该处理器是否为所述处置的来源,其中该处置包括该安全系统程序代码区段的至少一部份;以及
透过外围总线(135)耦接至该输入/输出接口的安全服务处理器(130);
其中,当判断出该处理器为处置来源时该输入/输出接口可传送该处置予该安全服务处理器。
2.如权利要求1所述的计算机系统,其中该输入/输出接口用以阻挡该处置至该安全服务处理器以响应当判断出该处理器并非该处置的唯一来源。
3.如权利要求1所述的计算机系统,其中该安全服务处理器用以于该处理器初始化进入该安全执行模式期间确认该安全操作系统程序代码区段的至少一部份系有效的。
4.如权利要求1所述的计算机系统,其中该透过安全初始化指令所执行的处置包括起始处置、相应的数据处置以及相应的结束处置。
5.如权利要求4所述的计算机系统,其中该输入/输出接口还用以于接收该起始处置之后接收该结束处置之前阻挡所有至该安全服务处理器的点对点处置。
6.一种初始化处理器(110)以于安全执行模式中运作的方法,据此该处理器透过执行安全操作系统程序代码区段以于该安全执行模式中运作,该方法包含:
该处理器执行安全初始化指令;
输入/输出接口(120、220)接收来自I/O连结(225)上的所述处理器的安全初始化指令所执行的所述处置,其中该处置包括该安全系统程序代码区段的至少一部份;
该输入/输出接口判断该处理器是否为处置来源;以及
当判断出该处理器为处置来源时该输入/输出接口可传送该处置予该安全服务处理器。
7.如权利要求6所述的方法,还包含:该输入/输出接口阻挡该处置至该安全服务处理器以响应当判断出该处理器并非该处置的唯一来源。
8.如权利要求6所述的方法,还包含:该安全服务处理器于该处理器初始化进入该安全执行模式期间确认该安全操作系统程序代码区段的至少一部份系有效的。
9.如权利要求6所述的方法,其中该透过安全初始化指令所执行的处置包括起始处置、相应的数据处置以及相应的结束处置。
10.如权利要求9所述的方法,还包含:该输入/输出接口于接收该起始处置之后接收该结束处置之前阻挡所有至该安全服务处理器的点对点处置。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US37357102P | 2002-04-18 | 2002-04-18 | |
US60/373,571 | 2002-04-18 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1647011A true CN1647011A (zh) | 2005-07-27 |
CN100339780C CN100339780C (zh) | 2007-09-26 |
Family
ID=29251047
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB038087049A Expired - Fee Related CN100339780C (zh) | 2002-04-18 | 2003-04-18 | 包括可通过安全通信路径连接中央处理器与安全服务处理器的安全执行模式的计算机系统 |
Country Status (8)
Country | Link |
---|---|
US (3) | US7603550B2 (zh) |
EP (1) | EP1495394B1 (zh) |
JP (1) | JP4762494B2 (zh) |
KR (1) | KR100921779B1 (zh) |
CN (1) | CN100339780C (zh) |
AU (1) | AU2003231070A1 (zh) |
DE (1) | DE60322366D1 (zh) |
WO (1) | WO2003090052A2 (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104021104A (zh) * | 2014-06-12 | 2014-09-03 | 国家电网公司 | 一种基于双总线结构的协同系统及其通信方法 |
CN106484634A (zh) * | 2015-09-01 | 2017-03-08 | 联发科技股份有限公司 | 执行安全内存分配控制的装置以及相关方法 |
Families Citing this family (114)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7334123B2 (en) * | 2003-05-02 | 2008-02-19 | Advanced Micro Devices, Inc. | Computer system including a bus bridge for connection to a security services processor |
US8892878B2 (en) * | 2003-05-09 | 2014-11-18 | Oracle America, Inc. | Fine-grained privileges in operating system partitions |
US7389512B2 (en) * | 2003-05-09 | 2008-06-17 | Sun Microsystems, Inc. | Interprocess communication within operating system partitions |
US20040226015A1 (en) * | 2003-05-09 | 2004-11-11 | Leonard Ozgur C. | Multi-level computing resource scheduling control for operating system partitions |
US20040226017A1 (en) * | 2003-05-09 | 2004-11-11 | Leonard Ozgur C. | Mechanism for associating resource pools with operating system partitions |
US7461080B1 (en) * | 2003-05-09 | 2008-12-02 | Sun Microsystems, Inc. | System logging within operating system partitions using log device nodes that are access points to a log driver |
US7437556B2 (en) * | 2003-05-09 | 2008-10-14 | Sun Microsystems, Inc. | Global visibility controls for operating system partitions |
DE602005007531D1 (de) * | 2004-04-09 | 2008-07-31 | Proton World Int Nv | Gemeinsamer Dateizugriff an unteilbaren Dateien |
EP1763744B1 (en) | 2004-04-30 | 2017-07-19 | BlackBerry Limited | System and method of owner application control of electronic devices |
EP1619572A1 (en) * | 2004-07-23 | 2006-01-25 | Texas Instruments Incorporated | System and method of identifying and preventing security violations within a computing system |
US8145816B2 (en) * | 2004-09-15 | 2012-03-27 | Intel Corporation | System and method for deadlock free bus protection of resources during search execution |
US7502928B2 (en) * | 2004-11-12 | 2009-03-10 | Sony Computer Entertainment Inc. | Methods and apparatus for secure data processing and transmission |
US8181182B1 (en) | 2004-11-16 | 2012-05-15 | Oracle America, Inc. | Resource allocation brokering in nested containers |
US7457960B2 (en) * | 2004-11-30 | 2008-11-25 | Analog Devices, Inc. | Programmable processor supporting secure mode |
US20060136338A1 (en) * | 2004-12-16 | 2006-06-22 | Intel Corporation | Techniques for filtering attempts to access component core logic |
US7979702B2 (en) * | 2004-12-29 | 2011-07-12 | Intel Corporation | Protecting privacy of networked devices containing management subsystems |
US8799428B2 (en) * | 2004-12-30 | 2014-08-05 | Intel Corporation | Automated provisioning of new networked devices |
JP2006203564A (ja) * | 2005-01-20 | 2006-08-03 | Nara Institute Of Science & Technology | マイクロプロセッサ、ノード端末、コンピュータシステム及びプログラム実行証明方法 |
US7917753B2 (en) * | 2005-05-16 | 2011-03-29 | Texas Instruments Incorporated | Transferring control between programs of different security levels |
US8806224B2 (en) * | 2005-06-28 | 2014-08-12 | Intel Corporation | Low cost trusted platform |
US20070067826A1 (en) * | 2005-09-19 | 2007-03-22 | Texas Instruments Incorporated | Method and system for preventing unsecure memory accesses |
US20100132053A1 (en) * | 2005-10-04 | 2010-05-27 | Nec Corporation | Information processing device, information processing method and program |
US8112798B2 (en) * | 2005-11-09 | 2012-02-07 | Microsoft Corporation | Hardware-aided software code measurement |
US7616218B1 (en) * | 2005-12-05 | 2009-11-10 | Nvidia Corporation | Apparatus, system, and method for clipping graphics primitives |
US8959339B2 (en) * | 2005-12-23 | 2015-02-17 | Texas Instruments Incorporated | Method and system for preventing unauthorized processor mode switches |
US7882227B2 (en) | 2006-02-23 | 2011-02-01 | Oracle America, Inc. | Mechanism for implementing file access control across a network using labeled containers |
US8938473B2 (en) | 2006-02-23 | 2015-01-20 | Oracle America, Inc. | Secure windowing for labeled containers |
US7885975B2 (en) | 2006-02-23 | 2011-02-08 | Oracle America, Inc. | Mechanism for implementing file access control using labeled containers |
US20070234330A1 (en) * | 2006-03-01 | 2007-10-04 | Microsoft Corporation | Prevention of executable code modification |
US8938554B2 (en) * | 2006-03-02 | 2015-01-20 | Oracle America, Inc. | Mechanism for enabling a network address to be shared by multiple labeled containers |
EP1845470B1 (en) * | 2006-04-13 | 2016-11-09 | STMicroelectronics (Research & Development) Limited | Multiple purpose integrated circuit |
US7925815B1 (en) * | 2006-06-29 | 2011-04-12 | David Dunn | Modifications to increase computer system security |
US8661265B1 (en) | 2006-06-29 | 2014-02-25 | David Dunn | Processor modifications to increase computer system security |
US8352709B1 (en) | 2006-09-19 | 2013-01-08 | Nvidia Corporation | Direct memory access techniques that include caching segmentation data |
US8347064B1 (en) | 2006-09-19 | 2013-01-01 | Nvidia Corporation | Memory access techniques in an aperture mapped memory space |
US8601223B1 (en) | 2006-09-19 | 2013-12-03 | Nvidia Corporation | Techniques for servicing fetch requests utilizing coalesing page table entries |
US8543792B1 (en) | 2006-09-19 | 2013-09-24 | Nvidia Corporation | Memory access techniques including coalesing page table entries |
US8707011B1 (en) | 2006-10-24 | 2014-04-22 | Nvidia Corporation | Memory access techniques utilizing a set-associative translation lookaside buffer |
US8700883B1 (en) | 2006-10-24 | 2014-04-15 | Nvidia Corporation | Memory access techniques providing for override of a page table |
US8607008B1 (en) | 2006-11-01 | 2013-12-10 | Nvidia Corporation | System and method for independent invalidation on a per engine basis |
US8706975B1 (en) | 2006-11-01 | 2014-04-22 | Nvidia Corporation | Memory access management block bind system and method |
US8347065B1 (en) | 2006-11-01 | 2013-01-01 | Glasco David B | System and method for concurrently managing memory access requests |
US8504794B1 (en) | 2006-11-01 | 2013-08-06 | Nvidia Corporation | Override system and method for memory access management |
US8533425B1 (en) | 2006-11-01 | 2013-09-10 | Nvidia Corporation | Age based miss replay system and method |
US8700865B1 (en) | 2006-11-02 | 2014-04-15 | Nvidia Corporation | Compressed data access system and method |
WO2008078564A1 (ja) * | 2006-12-22 | 2008-07-03 | Panasonic Corporation | 情報処理装置、集積回路、方法、およびプログラム |
US7610426B1 (en) | 2006-12-22 | 2009-10-27 | Dunn David A | System management mode code modifications to increase computer system security |
US7949834B2 (en) * | 2007-01-24 | 2011-05-24 | Qualcomm Incorporated | Method and apparatus for setting cache policies in a processor |
US8677457B2 (en) * | 2007-02-09 | 2014-03-18 | Marvell World Trade Ltd. | Security for codes running in non-trusted domains in a processor core |
US8276201B2 (en) * | 2007-03-22 | 2012-09-25 | International Business Machines Corporation | Integrity protection in data processing systems |
CN100464339C (zh) * | 2007-04-25 | 2009-02-25 | 深圳兆日技术有限公司 | 一种多兼容性可信计算系统及方法 |
US8726041B2 (en) * | 2007-05-09 | 2014-05-13 | Sony Corporation | Methods and apparatus for generating a random number in one or more isolated processors |
US20080282341A1 (en) * | 2007-05-09 | 2008-11-13 | Sony Computer Entertainment Inc. | Methods and apparatus for random number generation in a multiprocessor system |
US8001390B2 (en) * | 2007-05-09 | 2011-08-16 | Sony Computer Entertainment Inc. | Methods and apparatus for secure programming and storage of data using a multiprocessor in a trusted mode |
US20090144332A1 (en) * | 2007-11-29 | 2009-06-04 | Wallace Paul Montgomery | Sideband access based method and apparatus for determining software integrity |
US8250354B2 (en) * | 2007-11-29 | 2012-08-21 | GlobalFoundries, Inc. | Method and apparatus for making a processor sideband interface adhere to secure mode restrictions |
US8117642B2 (en) * | 2008-03-21 | 2012-02-14 | Freescale Semiconductor, Inc. | Computing device with entry authentication into trusted execution environment and method therefor |
US7831816B2 (en) * | 2008-05-30 | 2010-11-09 | Globalfoundries Inc. | Non-destructive sideband reading of processor state information |
US8954696B2 (en) | 2008-06-24 | 2015-02-10 | Nagravision S.A. | Secure memory management system and method |
CA2728445C (en) * | 2008-06-24 | 2017-01-24 | Nagravision S.A. | Secure memory management system and method |
US8151077B1 (en) * | 2008-06-30 | 2012-04-03 | Emc Corporation | Application aware cache management |
JP5228938B2 (ja) | 2009-01-21 | 2013-07-03 | ソニー株式会社 | アクセスキー生成装置および情報処理装置 |
US8151027B2 (en) * | 2009-04-08 | 2012-04-03 | Intel Corporation | System management mode inter-processor interrupt redirection |
EP2433238B1 (en) * | 2009-05-18 | 2015-10-07 | Hewlett-Packard Development Company, L.P. | Systems and methods of determining a trust level from system management mode |
US8972746B2 (en) * | 2010-12-17 | 2015-03-03 | Intel Corporation | Technique for supporting multiple secure enclaves |
KR101734199B1 (ko) * | 2010-12-29 | 2017-05-24 | 삼성전자주식회사 | 멀티-비트 메모리 장치를 포함한 데이터 저장 시스템 및 그것의 동작 방법 |
US10496824B2 (en) | 2011-06-24 | 2019-12-03 | Microsoft Licensing Technology, LLC | Trusted language runtime on a mobile platform |
US8707289B2 (en) * | 2011-07-20 | 2014-04-22 | Google Inc. | Multiple application versions |
US8631212B2 (en) * | 2011-09-25 | 2014-01-14 | Advanced Micro Devices, Inc. | Input/output memory management unit with protection mode for preventing memory access by I/O devices |
US8973144B2 (en) * | 2011-10-13 | 2015-03-03 | Mcafee, Inc. | System and method for kernel rootkit protection in a hypervisor environment |
US9069586B2 (en) | 2011-10-13 | 2015-06-30 | Mcafee, Inc. | System and method for kernel rootkit protection in a hypervisor environment |
WO2013101246A1 (en) * | 2011-12-31 | 2013-07-04 | Intel Corporation | Processor that detects when system management mode attempts to reach program code outside of protected space |
US10146545B2 (en) | 2012-03-13 | 2018-12-04 | Nvidia Corporation | Translation address cache for a microprocessor |
US9880846B2 (en) | 2012-04-11 | 2018-01-30 | Nvidia Corporation | Improving hit rate of code translation redirection table with replacement strategy based on usage history table of evicted entries |
US10241810B2 (en) | 2012-05-18 | 2019-03-26 | Nvidia Corporation | Instruction-optimizing processor with branch-count table in hardware |
KR101373542B1 (ko) * | 2012-08-06 | 2014-03-12 | (주)소만사 | 가상화 기반 논리적 망 분리 기법을 이용한 개인정보 보호 시스템 |
US8873747B2 (en) | 2012-09-25 | 2014-10-28 | Apple Inc. | Key management using security enclave processor |
US9043632B2 (en) | 2012-09-25 | 2015-05-26 | Apple Inc. | Security enclave processor power control |
US8775757B2 (en) | 2012-09-25 | 2014-07-08 | Apple Inc. | Trust zone support in system on a chip having security enclave processor |
US8832465B2 (en) | 2012-09-25 | 2014-09-09 | Apple Inc. | Security enclave processor for a system on a chip |
US9047471B2 (en) | 2012-09-25 | 2015-06-02 | Apple Inc. | Security enclave processor boot control |
US9558006B2 (en) * | 2012-12-20 | 2017-01-31 | Intel Corporation | Continuous automatic tuning of code regions |
US20140189310A1 (en) | 2012-12-27 | 2014-07-03 | Nvidia Corporation | Fault detection in instruction translations |
US10108424B2 (en) | 2013-03-14 | 2018-10-23 | Nvidia Corporation | Profiling code portions to generate translations |
US9411600B2 (en) * | 2013-12-08 | 2016-08-09 | Intel Corporation | Instructions and logic to provide memory access key protection functionality |
US9772953B2 (en) * | 2014-02-03 | 2017-09-26 | Samsung Electronics Co., Ltd. | Methods and apparatus for protecting operating system data |
US8756417B1 (en) | 2014-02-04 | 2014-06-17 | Sypris Electronics, Llc | Multi-level assurance trusted computing platform |
GB2522906B (en) * | 2014-02-10 | 2021-07-14 | Advanced Risc Mach Ltd | Region identifying operation for identifying a region of a memory attribute unit corresponding to a target memory address |
US10152331B2 (en) | 2014-05-16 | 2018-12-11 | Wind River Systems, Inc. | Method and system for enforcing kernel mode access protection |
US9720868B2 (en) * | 2014-07-07 | 2017-08-01 | Xilinx, Inc. | Bridging inter-bus communications |
WO2016018233A1 (en) * | 2014-07-28 | 2016-02-04 | Hewlett-Packard Development Company, L.P. | Memory access control |
US10101936B2 (en) | 2014-07-28 | 2018-10-16 | Hewlett Packard Enterprise Development Lp | Memory access control |
US9547778B1 (en) | 2014-09-26 | 2017-01-17 | Apple Inc. | Secure public key acceleration |
US10140457B2 (en) | 2015-07-31 | 2018-11-27 | Intel Corporation | Secure input/output device management |
US9767320B2 (en) * | 2015-08-07 | 2017-09-19 | Qualcomm Incorporated | Hardware enforced content protection for graphics processing units |
US10102391B2 (en) | 2015-08-07 | 2018-10-16 | Qualcomm Incorporated | Hardware enforced content protection for graphics processing units |
US10628192B2 (en) * | 2015-12-24 | 2020-04-21 | Intel Corporation | Scalable techniques for data transfer between virtual machines |
EP3314516B1 (en) | 2016-01-26 | 2022-04-13 | Hewlett-Packard Development Company, L.P. | System management mode privilege architecture |
US10572687B2 (en) * | 2016-04-18 | 2020-02-25 | America as represented by the Secretary of the Army | Computer security framework and hardware level computer security in an operating system friendly microprocessor architecture |
US10277561B2 (en) | 2016-07-22 | 2019-04-30 | International Business Machines Corporation | Database management system shared ledger support |
US10382436B2 (en) * | 2016-11-22 | 2019-08-13 | Daniel Chien | Network security based on device identifiers and network addresses |
US10360353B2 (en) * | 2017-02-08 | 2019-07-23 | International Business Machines Corporation | Execution control of computer software instructions |
US20180365425A1 (en) * | 2017-06-15 | 2018-12-20 | Qualcomm Incorporated | Systems and methods for securely booting a system on chip via a virtual collated internal memory pool |
EP3506143B1 (en) * | 2017-12-27 | 2024-02-14 | Siemens Aktiengesellschaft | Interface for a hardware security module |
US11188622B2 (en) | 2018-09-28 | 2021-11-30 | Daniel Chien | Systems and methods for computer security |
US11544069B2 (en) * | 2018-10-25 | 2023-01-03 | Micron Technology, Inc. | Universal pointers for data exchange in a computer system having independent processors |
US11741196B2 (en) | 2018-11-15 | 2023-08-29 | The Research Foundation For The State University Of New York | Detecting and preventing exploits of software vulnerability using instruction tags |
US10826912B2 (en) | 2018-12-14 | 2020-11-03 | Daniel Chien | Timestamp-based authentication |
US10848489B2 (en) | 2018-12-14 | 2020-11-24 | Daniel Chien | Timestamp-based authentication with redirection |
US11251942B2 (en) | 2019-01-09 | 2022-02-15 | Alibaba Group Holding Limited | Secure communication channel between encryption/decryption component and trusted execution environment |
GB2591978B (en) | 2019-10-07 | 2023-06-21 | Siemens Ind Software Inc | Message Monitoring |
US11677754B2 (en) | 2019-12-09 | 2023-06-13 | Daniel Chien | Access control systems and methods |
US11509463B2 (en) | 2020-05-31 | 2022-11-22 | Daniel Chien | Timestamp-based shared key generation |
US11438145B2 (en) | 2020-05-31 | 2022-09-06 | Daniel Chien | Shared key generation based on dual clocks |
Family Cites Families (31)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4858138A (en) * | 1986-09-02 | 1989-08-15 | Pitney Bowes, Inc. | Secure vault having electronic indicia for a value printing system |
US5615263A (en) * | 1995-01-06 | 1997-03-25 | Vlsi Technology, Inc. | Dual purpose security architecture with protected internal operating system |
US5692211A (en) * | 1995-09-11 | 1997-11-25 | Advanced Micro Devices, Inc. | Computer system and method having a dedicated multimedia engine and including separate command and data paths |
US5758177A (en) * | 1995-09-11 | 1998-05-26 | Advanced Microsystems, Inc. | Computer system having separate digital and analog system chips for improved performance |
US5784592A (en) * | 1995-09-11 | 1998-07-21 | Advanced Micro Devices, Inc. | Computer system which includes a local expansion bus and a dedicated real-time bus for increased multimedia performance |
US5873127A (en) * | 1996-05-03 | 1999-02-16 | Digital Equipment Corporation | Universal PTE backlinks for page table accesses |
US5860144A (en) * | 1996-08-09 | 1999-01-12 | Oracle Corporation | Addressing method and system for providing access of a very large size physical memory buffer to a number of processes |
US5987582A (en) * | 1996-09-30 | 1999-11-16 | Cirrus Logic, Inc. | Method of obtaining a buffer contiguous memory and building a page table that is accessible by a peripheral graphics device |
US5937063A (en) * | 1996-09-30 | 1999-08-10 | Intel Corporation | Secure boot |
GB9626241D0 (en) * | 1996-12-18 | 1997-02-05 | Ncr Int Inc | Secure data processing method and system |
US6073226A (en) * | 1997-03-19 | 2000-06-06 | Microsoft Corporation | System and method for minimizing page tables in virtual memory systems |
JP3293760B2 (ja) * | 1997-05-27 | 2002-06-17 | 株式会社エヌイーシー情報システムズ | 改ざん検知機能付きコンピュータシステム |
US5987604A (en) * | 1997-10-07 | 1999-11-16 | Phoenix Technologies, Ltd. | Method and apparatus for providing execution of system management mode services in virtual mode |
US6735696B1 (en) * | 1998-08-14 | 2004-05-11 | Intel Corporation | Digital content protection using a secure booting method and apparatus |
US6327652B1 (en) | 1998-10-26 | 2001-12-04 | Microsoft Corporation | Loading and identifying a digital rights management operating system |
US6330670B1 (en) | 1998-10-26 | 2001-12-11 | Microsoft Corporation | Digital rights management operating system |
US7225333B2 (en) * | 1999-03-27 | 2007-05-29 | Microsoft Corporation | Secure processor architecture for use with a digital rights management (DRM) system on a computing device |
US6651171B1 (en) * | 1999-04-06 | 2003-11-18 | Microsoft Corporation | Secure execution of program code |
WO2001025925A1 (en) * | 1999-10-01 | 2001-04-12 | Infraworks Corporation | Port blocking method and system |
US6477612B1 (en) * | 2000-02-08 | 2002-11-05 | Microsoft Corporation | Providing access to physical memory allocated to a process by selectively mapping pages of the physical memory with virtual memory allocated to the process |
US6507904B1 (en) * | 2000-03-31 | 2003-01-14 | Intel Corporation | Executing isolated mode instructions in a secure system running in privilege rings |
US7039801B2 (en) | 2000-06-30 | 2006-05-02 | Microsoft Corporation | System and method for integrating secure and non-secure software objects |
US6938164B1 (en) | 2000-11-22 | 2005-08-30 | Microsoft Corporation | Method and system for allowing code to be securely initialized in a computer |
US20020066039A1 (en) * | 2000-11-30 | 2002-05-30 | Dent Paul W. | Anti-spoofing password protection |
US6854046B1 (en) | 2001-08-03 | 2005-02-08 | Tensilica, Inc. | Configurable memory management unit |
US7272832B2 (en) * | 2001-10-25 | 2007-09-18 | Hewlett-Packard Development Company, L.P. | Method of protecting user process data in a secure platform inaccessible to the operating system and other tasks on top of the secure platform |
JP3863447B2 (ja) * | 2002-03-08 | 2006-12-27 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 認証システム、ファームウェア装置、電気機器、及び認証方法 |
US7003607B1 (en) * | 2002-03-20 | 2006-02-21 | Advanced Micro Devices, Inc. | Managing a controller embedded in a bridge |
US7069442B2 (en) * | 2002-03-29 | 2006-06-27 | Intel Corporation | System and method for execution of a secured environment initialization instruction |
US6986006B2 (en) | 2002-04-17 | 2006-01-10 | Microsoft Corporation | Page granular curtained memory via mapping control |
US7058768B2 (en) * | 2002-04-17 | 2006-06-06 | Microsoft Corporation | Memory isolation through address translation data edit control |
-
2003
- 2003-04-18 AU AU2003231070A patent/AU2003231070A1/en not_active Abandoned
- 2003-04-18 JP JP2003586729A patent/JP4762494B2/ja not_active Expired - Fee Related
- 2003-04-18 KR KR1020047016769A patent/KR100921779B1/ko not_active IP Right Cessation
- 2003-04-18 CN CNB038087049A patent/CN100339780C/zh not_active Expired - Fee Related
- 2003-04-18 US US10/419,082 patent/US7603550B2/en not_active Expired - Fee Related
- 2003-04-18 WO PCT/US2003/012659 patent/WO2003090052A2/en active Application Filing
- 2003-04-18 US US10/419,038 patent/US7401358B1/en not_active Expired - Fee Related
- 2003-04-18 DE DE60322366T patent/DE60322366D1/de not_active Expired - Lifetime
- 2003-04-18 EP EP03724195A patent/EP1495394B1/en not_active Expired - Lifetime
- 2003-04-18 US US10/419,120 patent/US7496966B1/en active Active
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104021104A (zh) * | 2014-06-12 | 2014-09-03 | 国家电网公司 | 一种基于双总线结构的协同系统及其通信方法 |
CN104021104B (zh) * | 2014-06-12 | 2017-11-07 | 国家电网公司 | 一种基于双总线结构的协同系统及其通信方法 |
CN106484634A (zh) * | 2015-09-01 | 2017-03-08 | 联发科技股份有限公司 | 执行安全内存分配控制的装置以及相关方法 |
Also Published As
Publication number | Publication date |
---|---|
EP1495394B1 (en) | 2008-07-23 |
KR100921779B1 (ko) | 2009-10-15 |
JP4762494B2 (ja) | 2011-08-31 |
WO2003090052A2 (en) | 2003-10-30 |
US7603550B2 (en) | 2009-10-13 |
US7496966B1 (en) | 2009-02-24 |
AU2003231070A1 (en) | 2003-11-03 |
JP2005528677A (ja) | 2005-09-22 |
WO2003090052A3 (en) | 2004-08-12 |
DE60322366D1 (de) | 2008-09-04 |
CN100339780C (zh) | 2007-09-26 |
US20040210760A1 (en) | 2004-10-21 |
US7401358B1 (en) | 2008-07-15 |
KR20040099459A (ko) | 2004-11-26 |
EP1495394A2 (en) | 2005-01-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100339780C (zh) | 包括可通过安全通信路径连接中央处理器与安全服务处理器的安全执行模式的计算机系统 | |
TWI342495B (en) | A computer system including a bus bridge for connection to a security services processor | |
EP3726392B1 (en) | Non-posted write transactions for a computer bus | |
JP6311164B2 (ja) | 統合コンポーネント相互接続 | |
CN1285033C (zh) | 包含可进入安全执行模式的处理器的计算机系统及其初始化方法 | |
US20090064178A1 (en) | Multiple, cooperating operating systems (os) platform system and method | |
US8316414B2 (en) | Reconfiguring a secure system | |
TW201120643A (en) | Providing hardware support for shared virtual memory between local and remote physical memory | |
CN1892626A (zh) | 管理共享输入/输出结构的地址空间的方法、系统和设备 | |
US7779254B1 (en) | Mechanism to enhance and enforce multiple independent levels of security in a microprocessor memory and I/O bus controller | |
CN1524206A (zh) | 用于个人计算机存储器区域的外部锁固机构 | |
CN1930553A (zh) | 访问逻辑分区中的存储器 | |
CN1499388A (zh) | 事件传送 | |
CN102947808A (zh) | 用于适配器函数的转换格式的运行时确定 | |
CN1582438A (zh) | 具有嵌入式微控制器的微电脑桥式结构 | |
TW200809573A (en) | Prevention of executable code modification | |
JP4478458B2 (ja) | 所望のセキュリティを用いた入出力デバイスにアクセスするための方法及び装置 | |
US6915393B2 (en) | Method and apparatus for physical memory partitioning |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20070926 Termination date: 20180418 |