CN111783165A - 一种基于硬件隔离调用模式的安全可信***芯片架构 - Google Patents

一种基于硬件隔离调用模式的安全可信***芯片架构 Download PDF

Info

Publication number
CN111783165A
CN111783165A CN202010609450.6A CN202010609450A CN111783165A CN 111783165 A CN111783165 A CN 111783165A CN 202010609450 A CN202010609450 A CN 202010609450A CN 111783165 A CN111783165 A CN 111783165A
Authority
CN
China
Prior art keywords
area
application development
data
development area
control area
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
Application number
CN202010609450.6A
Other languages
English (en)
Other versions
CN111783165B (zh
Inventor
郭朋飞
张立朝
戴紫彬
王佳宁
李军伟
朱春生
严迎建
陈琳
徐劲松
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Information Engineering University of PLA Strategic Support Force
Original Assignee
Information Engineering University of PLA Strategic Support Force
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Information Engineering University of PLA Strategic Support Force filed Critical Information Engineering University of PLA Strategic Support Force
Priority to CN202010609450.6A priority Critical patent/CN111783165B/zh
Publication of CN111783165A publication Critical patent/CN111783165A/zh
Application granted granted Critical
Publication of CN111783165B publication Critical patent/CN111783165B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting 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/72Protecting 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 in cryptographic circuits
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting 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/73Protecting 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 by creating or determining hardware identification, e.g. serial numbers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting 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/75Protecting 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 by inhibiting the analysis of circuitry or operation
    • G06F21/755Protecting 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 by inhibiting the analysis of circuitry or operation with measures against power attack

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Storage Device Security (AREA)

Abstract

本发明公开了一种基于硬件隔离调用模式的安全可信***芯片架构,包括:安全管控区、隔离缓冲区和应用开发区;其中:安全管控区,用于处理敏感数据服务;应用开发区,用于处理普通服务;隔离缓冲区,用于将安全管控区和应用开发区硬件隔离,以使应用开发区通过隔离缓冲区向安全管控区发起服务请求,安全管控区在接收到服务请求后,对数据进行处理,并在数据处理完成后通过隔离缓冲区传输至所述应用开发区。本发明通过采用硬件隔离,能够有效的提高安全可信***芯片的安全性。

Description

一种基于硬件隔离调用模式的安全可信***芯片架构
技术领域
本发明涉及安全可信***芯片技术领域,尤其涉及一种基于硬件隔离调用模式的安全可信***芯片架构。
背景技术
目前,为了限制不可信软件和不可避免的***漏洞对***可能造成的损害,众多研究者引入了安全隔离机制,利用其提供的安全隔离运行环境来维护代码的完整性,并检测和防护***安全。嵌入式设备的安全隔离机制可分为基于软件的隔离机制和基于硬件的***级隔离机制。基于硬件的安全SoC隔离架构常见的有以下三种:
第一种是基于TPM的可信架构,TPM是可信计算组织(Trusted Computing Group,TCG)结合硬件和软件,为实现更安全的计算环境,发布的适用于PC平台的可信平台模块。其基本结构图如图1所示,TPM作为可信根,通过信任链的传递,为***构建一个安全可信的执行环境。但基于TPM的可信架构并不适用于对面积和功耗要求苛刻的嵌入式领域,如果将TPM模块应用于嵌入式***,势必导致资源消耗过大。同时,在实际的使用过程中,***的资源利用率也比较低。
第二种是基于TrustZone技术的隔离架构,TrustZone架构如图2所示,是由ARM公司提出的一种面向嵌入式SoC的***级隔离技术,通过对硬件和软件部分的合理组合设计而成的具有较高安全性的***架构,而对功耗、性能和面积影响较小。
TrustZone技术广泛应用于嵌入式***,并在很大程度上提高了嵌入式***的安全性,它在保证***性能的同时为片上的保密数据提供一个安全的隔离环境。尽管TrustZone技术是提高嵌入式***安全性比较有效的安全解决方案,但其仍有许多不足之处,首先,TrustZone技术必须是使用ARM的处理器才能支持,此外,目前通过cache侧信道攻击技术可以实现对TrustZone的成功攻击。
第三种是总线防火墙架构,如图3所示,它是结合了网络防火墙的安全隔离思想,通过在SoC的总线和IP核之间增加安全监控单元,过滤非法的总线访问行为,从而达到访问控制的效果。这种架构设计成本较低而且便于集成,但访问控制策略的配置安全性不高,依赖于***中的可信进程,一旦***内核被攻破,访问控制策略则形同虚设,并且频繁地配置策略也会增加性能损耗。
综上所述,目前基于软件的防护技术大多依赖于操作***内核提供的保护机制,如隔离和访问控制机制,一旦操作***内核被攻破,则整个***的安全性就无法受到保护。基于硬件隔离的安全机制可以有效的解决这一问题,类似的解决方案有TPM(TrustedPlatform Module,可信计算模块)、TrustZone技术和总线防火墙技术,但三者均有一定的局限性。
因此,如何有效的提高安全可信***芯片的安全性,是一项亟待解决的问题。
发明内容
有鉴于此,本发明提供了一种基于硬件隔离调用模式的安全可信***芯片架构,通过采用硬件隔离,能够有效的提高安全可信***芯片的安全性。
本发明提供了一种基于硬件隔离调用模式的安全可信***芯片架构,包括:安全管控区、隔离缓冲区和应用开发区;其中:
所述安全管控区,用于处理敏感数据服务;
所述应用开发区,用于处理普通服务;
所述隔离缓冲区,用于将所述安全管控区和所述应用开发区硬件隔离,以使所述应用开发区通过所述隔离缓冲区向所述安全管控区发起服务请求,所述安全管控区在接收到所述服务请求后,对数据进行处理,并在数据处理完成后通过所述隔离缓冲区传输至所述应用开发区。
优选地,所述安全管控区包括:安全管控区中央处理器、密码协处理器、OTP存储器、片上存储器、JTAG接口和第一直接存储器访问控制器;其中:
所述安全管控区中央处理器,用于管理安全管控区程序,并实现安全管控区内部各模块的协调与控制;
所述密码协处理器,用于完成数据的加解密密码服务;
所述OTP存储器,用于存储安全管控区一级启动代码;
所述片上存储器,用于存储安全管控区的二级启动代码、密码协处理器配置数据、密钥信息、运算过程中产生的中间数据;
所述JTAG接口,用于作为所述安全管控区中央处理器的调试接口,该调试接口可封闭;
所述第一直接存储器访问控制器,用于所述安全管控区数据搬移。
优选地,所述应用开发区包括:应用开发区中央处理器、第二直接存储器访问控制器、中断控制器、JTAG接口和片内存储器;其中:
所述应用开发区中央处理器,用于运行操作***、管理应用开发区程序,并实现应用开发区内部各模块的协调与控制;
所述第二直接存储器访问控制器,用于所述应用开发区数据搬移;
所述中断控制器,用于处理中断请求,进行中断管理;
所述JTAG接口,用于作为所述应用开发区中央处理器的调试接口;
所述片内存储器,用于作为所述应用开发区的程序和数据存储区。
优选地,所述隔离缓冲区包括:安全管控区和应用开发区共享存储器、安全管控区-应用开发区寄存器、应用开发区-安全管控区寄存器、FIFO模块和程序推送接口;其中:
所述安全管控区和应用开发区共享存储器,用于存储待处理的数据、已处理数据及其它数据;
所述安全管控区-应用开发区寄存器,用于寄存当前安全管控区的工作状态;
所述应用开发区-安全管控区寄存器,用于寄存当前应用开发区的工作状态;
所述FIFO模块,用于负责所述安全管控区和所述应用开发区在通信中的任务传输;
所述程序推送接口,用于安全管控区中央处理器控制应用开发区中央处理器启动程序加载。
优选地,所述安全管控区和应用开发区共享存储器包括:作为应用开发区的可写区,安全管控区只读,用于存储应用开发区向安全管控区发送的待处理数据的SRAM-D,以及作为安全管控区的可写区,应用开发区只读,用于存储安全管控区的返回结果和已处理数据的SRAM-S。
优选地,所述FIFO模块包括:第一FIFO、第二FIFO、第一寄存器和第二寄存器。
优选地,所述第一FIFO,用于存储应用开发区可写、安全管控区只读的任务队列。
优选地,所述第二FIFO,用于存储安全管控区可写、应用开发区只读的任务队列。
优选地,所述第一寄存器包括:安全管控区FIFO状态寄存器、安全管控区数据写入寄存器和安全管控区数据读出寄存器。
优选地,所述第二寄存器包括:应用开发区FIFO状态寄存器、应用开发区数据写入寄存器和应用开发区数据读出寄存器。
综上所述,本发明公开了一种基于硬件隔离调用模式的安全可信***芯片架构,包括:安全管控区、隔离缓冲区和应用开发区;其中:安全管控区,用于处理敏感数据服务;应用开发区,用于处理普通服务;隔离缓冲区,用于将安全管控区和应用开发区硬件隔离,以使应用开发区通过隔离缓冲区向安全管控区发起服务请求,安全管控区在接收到服务请求后,对数据进行处理,并在数据处理完成后通过所述隔离缓冲区传输至所述应用开发区。本发明通过采用硬件隔离,能够有效的提高安全可信***芯片的安全性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为现有技术公开的TPM架构示意图;
图2为现有技术公开的TrustZone架构示意图;
图3为现有技术公开的分布式总线防火墙架构示意图;
图4为本发明公开的一种基于硬件隔离调用模式的安全可信***芯片架构实施例1的结构示意图;
图5为本发明公开的隔离缓冲区架构示意图;
图6为本发明公开的FIFO模块结构示意图;
图7为本发明公开的双区通信协议流程图;
图8为本发明公开的另一种基于硬件隔离调用模式的安全可信***芯片架构的结构示意图;
图9为本发明公开的芯片安全启动示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图4所示,为本发明公开的一种基于硬件隔离调用模式的安全可信***芯片架构实施例1的结构示意图,所述架构可以包括:安全管控区11、隔离缓冲区12和应用开发区13;其中:
安全管控区11,用于处理敏感数据服务;
应用开发区13,用于处理普通服务;
隔离缓冲区12,用于将安全管控区11和应用开发区13硬件隔离,以使应用开发区13通过隔离缓冲区12向安全管控区11发起服务请求,安全管控区11在接收到服务请求后,对数据进行处理,并在数据处理完成后通过隔离缓冲区12传输至应用开发区13。
在上述实施例中,整个SoC***根据需求不同划分为安全管控区11和应用开发区13,安全管控区11和应用开发区13可以看成是两个较为独立的SoC,其中安全管控区11与应用开发区13通过隔离缓冲区12硬件隔离。安全管控区11处理敏感数据服务,如密码服务,应用开发区13处理普通服务,如网络数据包。隔离缓冲区12起到双区隔离的作用,应用开发区13仅能访问隔离缓冲区12资源,不能直接访问安全管控区11内部资源,可以通过隔离缓冲区12向安全管控区11发起密码服务请求,安全管控区11接收到服务请求后,会对数据进行处理,数据处理完成后又会通过隔离缓冲区12传输回应用开发区13。这样以来安全管控区11与应用开发区13就实现硬件强制隔离,确保了整个SoC***的安全最大化。
具体的,安全管控区是整个SoC***的密码服务核心,主要功能有提供加解密运算、密钥存储和密钥管理等,在应用开发区的请求下完成相应的密码服务。
安全管控区是基于AMBA总线的密码SoC,主要包括安全管控区中央处理器(以下简称安控CPU)、第一直接存储器访问控制器(DMA控制器)、密码协处理器、OTP存储器、JTAG接口和片上存储器等。安控CPU主要用来管理安全管控区程序,并实现安全管控区内部各模块的协调与控制;密码协处理器主要完成数据的加解密等密码服务,是整个安全管控区的运算核心;片上存储器主要用来存储安全管控区的二级启动代码、密码协处理器配置数据、密钥信息、运算过程中产生的中间数据等信息;JTAG接口主要用于作为安控CPU的调试接口,该调试接口可封闭;DMA控制器主要用来进行大批量数据的搬移。
具体的,应用开发区连接各种通信接口,通过通信接口实现与上位机/***电路通信,处理基于各种接口的上层网络通信、安全存储协议,根据外部的密码服务请求,转换为内部专用的任务描述符及有效载荷数据,实现上层的安全应用。
应用开发区同样采用基于AMBA总线的通用SoC架构,主要包括应用开发区中央处理器(以下简称应用CPU)、第二直接存储器访问控制器(DMA控制器)、中断控制器、JTAG接口、片内存储器等。应用CPU用于运行操作***、管理应用开发区程序,并实现应用开发区内部各模块的协调与控制;DMA控制器主要用来进行大批量数据的搬移;通信接口用于应用开发区与外界进行数据通信;中断控制器主要负责处理中断请求,进行中断管理;JTAG接口是应用CPU的调试接口,用于应用开发人员调试使用;片内存储器主要作为应用开发区的程序和数据存储区。
具体的,由于隔离缓冲区的设计将安全管控区与应用开发区隔离成两个独立的区域,双区的通信是通过隔离缓冲区进行的,因此隔离缓冲区具有存储和通信的功能。隔离缓冲区由安全管控区和应用开发区共享存储器、安全管控区-应用开发区寄存器S2DR、应用开发区-安全管控区寄存器D2SR、FIFO模块和程序推送接口组成,如图5所示,其中安全管控区和应用开发区共享存储器一侧连接安全管控区,具有独立的读写端口,一侧连接应用开发区,同样也具有独立的读写端口,安全管控区和应用开发区共享存储器主要存储待处理的数据、已处理数据及其它数据;安全管控区-应用开发区寄存器S2DR和应用开发区-安全管控区寄存器寄存器D2SR主要用于寄存当前安全管控区和应用开发区的工作状态;FIFO模块负责安全管控区和应用开发区在通信中的任务传输;程序推送接口主要用于安控CPU控制应用CPU启动程序加载,当加载完成后,会将此接口关闭。
具体的,双区是采用共享存储器+FIFO模块的通信方式,双区的通信区域可以分为数据传输区和任务传输区,其中数据传输是双区可以通过读写共享存储器区进行数据传输的过程;任务传输是双区通过向FIFO模块写入和读取任务信息数据来进行任务传输的过程。双区采用FIFO模块能够快速写入和读出任务信息数据,完成数据的传输,从而保证双区的通信效率。
安全管控区和应用开发区共享存储器采用双端口SRAM,共享存储器划分为两个部分,一部分作为应用开发区的可写区,安全管控区只读,主要用于存储应用开发区向安全管控区发送的待处理数据,用SRAM-D标识;另一个部分作为安全管控区的可写区,应用开发区只读,用SRAM-S标识,主要用于存储安全管控区的返回结果和已处理数据。同样,FIFO模块,如图6所示,也是由两组FIFO和两组寄存器组成,两组FIFO中一组存储应用开发区可写、安全管控区只读的任务队列,用FIFO-IN标识;另一组存储安全管控区可写、应用开发区只读的任务队列,用FIFO-OUT标识。为了便于双区通过FIFO进行读写数据操作,在安全管控区和应用开发区各设有一组寄存器,为FIFO状态寄存器、数据写入寄存器和数据读出寄存器,其中FIFO状态寄存器用于寄存当前两组FIFO的状态,CPU通过FIFO状态寄存器读取两组FIFO的当前状态;CPU通过数据写入寄存器将数据写入FIFO;同理,CPU通过数据读出寄存器把数据从FIFO中取出。
双区之间的任务传输以FIFO模块作为传输介质,CPU通过轮询方式对FIFO模块的状态寄存器进行查询,当状态寄存器为非空状态时,CPU就会从FIFO模块中读取数据。结合双区数据传输和任务传输机制,双区通信的基本协议如下图7所示。当应用开发区需要将数据送往安全管控区进行密码处理时,应用CPU首先初始化共享存储器的数据指针,分配一块空闲区域,再调用应用开发区DMA将需要传输的数据段写入共享存储器的SRAM-D区,然后再查看APP-STATE中FIFO-IN状态,若为非满就通过APP-FIFO-IN将传送的任务信息数据(包括写入SRAM-D的数据地址和长度等信息)写入FIFO-IN中;若APP-STATE中FIFO-IN状态为几乎满时,则等待。当安控CPU查询到CRY-STATE中FIFO-IN为非空时,安控CPU就会通过CRY-FIFO-IN来读取任务信息数据,接着安控CPU会对任务信息数据进行解析,随后调用DMA进行数据的搬运,当DMA的数据搬运完成之后会返回一个中断给安控CPU。当安全管控区将数据处理完成后,安控CPU调用DMA将数据写入SRAM-S区,同理,当CRY-STATE中FIFO-OUT状态为非满时,安控CPU会将传送到应用开发区的任务信息数据(主要是写入SRAM-S区的数据地址和长度等信息)通过CRY-FIFO-OUT写入到FIFO-OUT;当CRY-STATE中FIFO-OUT状态为几乎满时,则等待。应用CPU查询到APP-STAE中FIFO-OUT为非空时,就会读取FIFO-OUT的任务信息数据,读取FIFO-OUT中的任务信息数据之后,再进行相应的处理。
具体的,安全启动是保证***安全一个重要前提。如图8所示,为保证***启动的安全性,本发明引入可信度量机制,通过验证各级代码的真实性和完整性,实现信任链的传递,从而构建一个安全可信的执行环境。OTP(One-Time-Programmable)ROM具有不可更改特性且具有较强的抗硬件攻击能力,所以经常将***的一级启动代码固化在OTP-ROM中,其余代码存储在安全管控区的片内FLASH中,如果代码较大,可以将操作***等应用开发区的代码存储在NandFlash等大容量存储器中。
上电时,安控CPU作为引导CPU先启动,应用CPU在安控CPU的引导下启动。在安控CPU启动前,应用CPU—直处于复位状态,当安控CPU启动后,对安全环境进行设置,主要内容包括配置密码协处理器、启动安全服务与管理程序等,建立安全执行环境,接着再一步步启动应用CPU,建立普通执行环境。在安控CPU启动阶段采用链式度量模型,逐级度量二级启动代码、安全管控区应用程序;在应用CPU启动阶段采用星型度量模型,由安全管控区分别度量应用开发区CPU引导程序、应用开发区操作***、应用开发区应用程序。
如图9所示,芯片启动流程分为两个阶段:安全管控区启动阶段和应用开发区启动阶段。在安全管控区启动阶段,应用开发区始终处于复位状态,双区按以下流程启动:
1、***上电,安控CPU先启动,应用CPU处于复位状态;
2、安控CPU运行OTP中一级的启动代码FSBL,完成CPU及***初始化,配置密码协处理器;
3、安控CPU将存储在FLASH中的二级启动代码搬到SRAM中,并利用密码协处理器和存储在OTP中的公钥PuK对二级启动代码进行完整性和真实性验证,验证成功后,将信任链传递到二级启动代码,并运行二级启动代码;
4、安全管控区二级启动代码验证安全服务与管理程序的完整性,验证成功后,运行并启动安全服务与管理程序,从而建立起安全管控区可信执行环境;
5、安全管控区安全服务与管理程序验证应用开发区CPU引导程序,验证成功后,将其推送至双区通信接口;
6、应用开发区CPU复位信号由安控CPU撤销,应用CPU从双区通信接口加载并运行应用CPU引导程序;
7、安全管控区安全服务与管理程序验证应用开发区操作***,验证成功后,将其通过双区共享存储器推送到应用开发区,应用开发区加载并运行操作***;
8、应用开发区将应用程序从片外NandFlash中作为数据读入,交给安全管控区安全服务与管理程序进行验证,验证成功后,应用开发区加载并运行应用程序,从而完成整个***的启动。
综上所述,本发明实现了安全区与非安全区的完全隔离,相比于之前的硬件隔离结构,双区只能通过隔离缓冲区进行通信,隔离性显然更强,同时由于两个区域没有共享总线,因此当两个区域不需要进行通信时,两个区可以各自在自己区域运行,互不干扰;构建了安全可信运行环境,在芯片启动的过程中,除了安全管控区内部的第一级引导程序,应用开发区的启动程序、操作***及应用程序要通过安全管控区的可信度量后才能加载运行,这样从一开始就构建了安全可信的运行环境,从根本上保证了芯片的内生安全性;设计了高效的双区通信机制,在保证了基于硬件的强隔离环境的基础上,设计了基于FIFO和双口SRAM的隔离缓冲区架构,将任务和数据的传输分离,可以实现双区间高效的数据通信和数据处理;减少了双区切换的复杂性,相比TrustZone技术,不需要分时切换两个安全世界和普通世界,双区架构中的安全管控区和应用开发区的软件是独立运行在安控CPU与应用CPU上的;减少了双区软件耦合度,双区架构中安全管控区软件和应用开发区软件是高度分离的,只需考虑二者之间的调用及通信问题即可,同时也减少了由于软件BUG带来的潜在的安全风险,减少了攻击界面。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

Claims (10)

1.一种基于硬件隔离调用模式的安全可信***芯片架构,其特征在于,包括:安全管控区、隔离缓冲区和应用开发区;其中:
所述安全管控区,用于处理敏感数据服务;
所述应用开发区,用于处理普通服务;
所述隔离缓冲区,用于将所述安全管控区和所述应用开发区硬件隔离,以使所述应用开发区通过所述隔离缓冲区向所述安全管控区发起服务请求,所述安全管控区在接收到所述服务请求后,对数据进行处理,并在数据处理完成后通过所述隔离缓冲区传输至所述应用开发区。
2.根据权利要求1所述的架构,其特征在于,所述安全管控区包括:安全管控区中央处理器、密码协处理器、OTP存储器、片上存储器、JTAG接口和第一直接存储器访问控制器;其中:
所述安全管控区中央处理器,用于管理安全管控区程序,并实现安全管控区内部各模块的协调与控制;
所述密码协处理器,用于完成数据的加解密密码服务;
所述OTP存储器,用于存储安全管控区一级启动代码;
所述片上存储器,用于存储安全管控区的二级启动代码、密码协处理器配置数据、密钥信息、运算过程中产生的中间数据;
所述JTAG接口,用于作为所述安全管控区中央处理器的调试接口,该调试接口可封闭;
所述第一直接存储器访问控制器,用于所述安全管控区数据搬移。
3.根据权利要求2所述的架构,其特征在于,所述应用开发区包括:应用开发区中央处理器、第二直接存储器访问控制器、中断控制器、JTAG接口和片内存储器;其中:
所述应用开发区中央处理器,用于运行操作***、管理应用开发区程序,并实现应用开发区内部各模块的协调与控制;
所述第二直接存储器访问控制器,用于所述应用开发区数据搬移;
所述中断控制器,用于处理中断请求,进行中断管理;
所述JTAG接口,用于作为所述应用开发区中央处理器的调试接口;
所述片内存储器,用于作为所述应用开发区的程序和数据存储区。
4.根据权利要求3所述的架构,其特征在于,所述隔离缓冲区包括:安全管控区和应用开发区共享存储器、安全管控区-应用开发区寄存器、应用开发区-安全管控区寄存器、FIFO模块和程序推送接口;其中:
所述安全管控区和应用开发区共享存储器,用于存储待处理的数据、已处理数据及其它数据;
所述安全管控区-应用开发区寄存器,用于寄存当前安全管控区的工作状态;
所述应用开发区-安全管控区寄存器,用于寄存当前应用开发区的工作状态;
所述FIFO模块,用于负责所述安全管控区和所述应用开发区在通信中的任务传输;
所述程序推送接口,用于安全管控区中央处理器控制应用开发区中央处理器启动程序加载。
5.根据权利要求4所述的架构,其特征在于,所述安全管控区和应用开发区共享存储器包括:作为应用开发区的可写区,安全管控区只读,用于存储应用开发区向安全管控区发送的待处理数据的SRAM-D,以及作为安全管控区的可写区,应用开发区只读,用于存储安全管控区的返回结果和已处理数据的SRAM-S。
6.根据权利要求5所述的架构,其特征在于,所述FIFO模块包括:第一FIFO、第二FIFO、第一寄存器和第二寄存器。
7.根据权利6所述的架构,其特征在于,所述第一FIFO,用于存储应用开发区可写、安全管控区只读的任务队列。
8.根据权利要求7所述的架构,其特征在于,所述第二FIFO,用于存储安全管控区可写、应用开发区只读的任务队列。
9.根据权利要求8所述的架构,其特征在于,所述第一寄存器包括:安全管控区FIFO状态寄存器、安全管控区数据写入寄存器和安全管控区数据读出寄存器。
10.根据权利要求9所述的架构,其特征在于,所述第二寄存器包括:应用开发区FIFO状态寄存器、应用开发区数据写入寄存器和应用开发区数据读出寄存器。
CN202010609450.6A 2020-06-29 2020-06-29 一种基于硬件隔离调用模式的安全可信***芯片架构 Active CN111783165B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010609450.6A CN111783165B (zh) 2020-06-29 2020-06-29 一种基于硬件隔离调用模式的安全可信***芯片架构

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010609450.6A CN111783165B (zh) 2020-06-29 2020-06-29 一种基于硬件隔离调用模式的安全可信***芯片架构

Publications (2)

Publication Number Publication Date
CN111783165A true CN111783165A (zh) 2020-10-16
CN111783165B CN111783165B (zh) 2022-09-20

Family

ID=72761116

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010609450.6A Active CN111783165B (zh) 2020-06-29 2020-06-29 一种基于硬件隔离调用模式的安全可信***芯片架构

Country Status (1)

Country Link
CN (1) CN111783165B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112948086A (zh) * 2021-03-04 2021-06-11 浙江中控研究院有限公司 一种可信plc控制***
CN113923046A (zh) * 2021-11-04 2022-01-11 北京天融信网络安全技术有限公司 一种分布式防火墙安全通信的实现方法及***

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102088393A (zh) * 2009-12-02 2011-06-08 南京南瑞继保电气有限公司 一种跨安全区正反向数据传输方法
CN107194287A (zh) * 2017-05-12 2017-09-22 中国科学院信息工程研究所 一种arm平台上的模块安全隔离方法
US20190012271A1 (en) * 2017-07-05 2019-01-10 Qualcomm Incorporated Mechanisms to enforce security with partial access control hardware offline
CN110851885A (zh) * 2019-11-08 2020-02-28 北京计算机技术及应用研究所 嵌入式***安全防护架构体系

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102088393A (zh) * 2009-12-02 2011-06-08 南京南瑞继保电气有限公司 一种跨安全区正反向数据传输方法
CN107194287A (zh) * 2017-05-12 2017-09-22 中国科学院信息工程研究所 一种arm平台上的模块安全隔离方法
US20190012271A1 (en) * 2017-07-05 2019-01-10 Qualcomm Incorporated Mechanisms to enforce security with partial access control hardware offline
CN110851885A (zh) * 2019-11-08 2020-02-28 北京计算机技术及应用研究所 嵌入式***安全防护架构体系

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
赵峰等: "基于边界控制的安全SoC芯片硬件结构设计", 《电子技术应用》 *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112948086A (zh) * 2021-03-04 2021-06-11 浙江中控研究院有限公司 一种可信plc控制***
CN112948086B (zh) * 2021-03-04 2023-11-03 浙江中控研究院有限公司 一种可信plc控制***
CN113923046A (zh) * 2021-11-04 2022-01-11 北京天融信网络安全技术有限公司 一种分布式防火墙安全通信的实现方法及***
CN113923046B (zh) * 2021-11-04 2023-11-10 北京天融信网络安全技术有限公司 一种分布式防火墙安全通信的实现方法及***

Also Published As

Publication number Publication date
CN111783165B (zh) 2022-09-20

Similar Documents

Publication Publication Date Title
US20220222387A1 (en) Methods and Systems to Restrict Usage of a DMA Channel
JP5153887B2 (ja) プロセッサから周辺機器へのセキュア動作モードアクセス特権の譲渡のための方法及び装置
CN110414235B (zh) 一种基于ARM TrustZone的主动免疫的双体系结构***
KR102255767B1 (ko) 가상 머신 감사를 위한 시스템 및 방법들
US8458791B2 (en) Hardware-implemented hypervisor for root-of-trust monitoring and control of computer system
US8959311B2 (en) Methods and systems involving secure RAM
US7836299B2 (en) Virtualization of software configuration registers of the TPM cryptographic processor
US8776245B2 (en) Executing trusted applications with reduced trusted computing base
JP6053786B2 (ja) Arm(登録商標)トラストゾーン実施のためのファームウェア基盤トラステッドプラットフォームモジュール(tpm)
AU2011285762B2 (en) Providing fast non-volatile storage in a secure environment
US10095862B2 (en) System for executing code with blind hypervision mechanism
US20070226795A1 (en) Virtual cores and hardware-supported hypervisor integrated circuits, systems, methods and processes of manufacture
Wilson et al. Implementing embedded security on dual-virtual-cpu systems
CN111783165B (zh) 一种基于硬件隔离调用模式的安全可信***芯片架构
US20170286701A1 (en) Secure driver platform
JP2022544912A (ja) オープンインターコネクトを介してヘテロジニアスプロセッサ上でリモート認証及び情報分離を備えた信頼できるコンピューティングを実行するためのシステム及び方法
CN113268447A (zh) 计算机架构及其内的访问控制、数据交互及安全启动方法
CN116340243A (zh) 一种双核可信执行的安全芯片架构
Stecklina Shrinking the hypervisor one subsystem at a time: A userspace packet switch for virtual machines
US20100191961A1 (en) Method and system achieving individualized protected space in an operating system
Masti et al. Isolated execution on many-core architectures
CN112181860B (zh) 具有快闪存储器仿真功能的控制器及其控制方法
CN114154163B (zh) 漏洞检测方法和装置
WO2024040508A1 (en) Memory preserved warm reset mechanism
Wan et al. Remotely controlling TrustZone applications? A study on securely and resiliently receiving remote commands

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant