CN105740713B - 一种基于优先级的tpm读写控制方法 - Google Patents
一种基于优先级的tpm读写控制方法 Download PDFInfo
- Publication number
- CN105740713B CN105740713B CN201610057994.XA CN201610057994A CN105740713B CN 105740713 B CN105740713 B CN 105740713B CN 201610057994 A CN201610057994 A CN 201610057994A CN 105740713 B CN105740713 B CN 105740713B
- Authority
- CN
- China
- Prior art keywords
- layer
- tpm
- priority
- credible
- application layer
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 18
- 230000007717 exclusion Effects 0.000 claims description 14
- 230000015654 memory Effects 0.000 description 4
- 230000006870 function Effects 0.000 description 2
- 230000003139 buffering effect Effects 0.000 description 1
Classifications
-
- 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/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
-
- 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/72—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 in cryptographic circuits
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2141—Access rights, e.g. capability lists, access control lists, access tables, access matrices
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Storage Device Security (AREA)
Abstract
本发明公开了一种基于优先级的TPM读写控制方法,该TPM读写控制方法由可信软件栈实现,可信软件栈包含三个层次:内核层、***服务层和用户应用层。本发明的一种基于优先级的TPM读写控制方法和现有技术相比,通过在可信软件栈的可信服务应用层TSP增加互斥锁,在可信中间件TMD增加优先级控制,把并行访问控制成串行访问,增强了可信软件栈的易用性和鲁棒性。
Description
技术领域
本发明涉及信息安全领域,具体地说是一种基于优先级的TPM读写控制方法。
背景技术
基于TPM安全芯片的可信应用必须基于可信软件栈。可信软件栈提供一种从上而下,从应用层到硬件层的接口。但是常规的可信软件栈中只提供单线程的TPM读写能力,在许多应用***中,可信软件栈的可用性都受到约束。
公开的相关专利文件:名称为“一种多接口SRAM读写控制电路及方法”,该文件公开了“一种多接口SRAM读写控制电路及方法,所述控制电路包括接口信号转换模块和带优先级的多路选择及反馈模块,通过简单的硬件电路,判断***中访问SRAM的各模块接口的优先级,以协调各模块接***替连续访问SRAM。本发明既节省了软件开销,又大大提高了SRAM的访问效率,可以广泛应用于嵌入式SOC芯片”。
名称为“视频处理芯片数据流控制及帧缓存装置”,该文件公开了“一种视频处理芯片数据流控制及帧缓存装置,它包括接收并缓存外部数据流的输入缓冲池;实现处理后的数据流输出的输出缓冲池;对数据流的输入、输出进行实时控制和对帧缓存器进行读写控制,以及对数据流的视频帧率进行转换的控制模块。输入缓冲池片内连接OSD控制模块和视频输入处理模块,输出缓冲池片内连接视频输出处理模块,控制模块片外连接帧缓存器。输入缓冲池和输出缓冲池均含有多个FIFO结构异步缓冲器,控制模块包括仲裁模块、地址管理模块和显存控制器,仲裁模块由有限状态转换机组成,它采用直接跳转策略和优先级动态调整策略实现对各路数据流的输入输出的实时控制,显存控制器采用突发传输方式,帧缓存器采用SDRAM或DDR SDRAM存储器”。
上述公开文件与本发明内容要解决的技术问题,采用的技术手段都不相同。
发明内容
本发明的技术任务是提供一种基于优先级的TPM读写控制方法。
本发明的技术任务是按以下方式实现的,该TPM读写控制方法由可信软件栈实现,可信软件栈包含三个层次:内核层、***服务层和用户应用层;
内核层:包括可信芯片设备驱动和可信芯片,用来操作***内核的TPM设备驱动,负责把***服务层的调用转化成TPM可接受的字节流传送给TPM,然后把TPM返回的数据发送给***服务层;
***服务层:主要由可信芯片设备驱动库和可信计算核心服务两部分组成;可信芯片设备驱动库提供用户态接口,使得不同的可信计算核心服务便于在不同平台的移植;可信计算核心服务则被用于控制和请求安全芯片的服务;
用户应用层:主要是指可信服务应用层和可信中间件,用于对可信计算应用提供接口;其中,可信服务应用层添加互斥锁来保证同一时刻只有一个实例来调用TPM硬件资源。
所述的可信服务应用层加锁的流程如下:
1)获取可信服务层的唯一实例;
2)在该实例下获取互斥锁;
3)如果成功进入下个步骤,如果未获取成功,则等待,直至获取到该实例下的互斥锁;
4)调用可信计算核心服务来进行***层调用可信芯片;
5)释放该实例下的互斥锁,以便下次可以获取该锁;
6)退出返回。
所述的可信中间件的优先级控制流程如下:
1)有可信计算应用请求;
2)判断该请求中对象是否属于高优先级;
3)如果是高优先级,写入高优先级队列,否则写入到低优先级队列;
4)判断高优先级队列是否为空;不为空则进入步骤5),为空则进入步骤7);
5)调用可信应用层处理;
6)高优先级队列-1,返回步骤4);
7)判断低优先级队列是否为空;不为空则进入步骤8),为空则进入步骤10);
8)调用可信应用层处理;
9)低优先级队列-1,返回步骤7);
10)退出返回。
本发明的一种基于优先级的TPM读写控制方法和现有技术相比,通过在可信软件栈的可信服务应用层TSP增加互斥锁,在可信中间件TMD增加优先级控制,把并行访问控制成串行访问,增强了可信软件栈的易用性和鲁棒性。
附图说明
附图1为一种基于优先级的TPM读写控制方法的可信软件栈的整体架构图;
附图2为一种基于优先级的TPM读写控制方法的可信服务应用层加锁控制流程图;
附图3为一种基于优先级的TPM读写控制方法的可信中间件的优先级控制流程图。
具体实施方式
实施例1:
该TPM读写控制方法由可信软件栈实现,可信软件栈包含三个层次:内核层、***服务层和用户应用层;
内核层:包括可信芯片设备驱动和可信芯片,用来操作***内核的TPM设备驱动,负责把***服务层的调用转化成TPM可接受的字节流传送给TPM,然后把TPM返回的数据发送给***服务层;
***服务层:主要由可信芯片设备驱动库和可信计算核心服务两部分组成;可信芯片设备驱动库提供用户态接口,使得不同的可信计算核心服务便于在不同平台的移植;可信计算核心服务则被用于控制和请求安全芯片的服务;
用户应用层:主要是指可信服务应用层和可信中间件,用于对可信计算应用提供接口;其中,可信服务应用层添加互斥锁来保证同一时刻只有一个实例来调用TPM硬件资源。
其中可信服务应用层加锁的流程如下:
1)获取可信服务层的唯一实例;
2)在该实例下获取互斥锁;
3)如果成功进入下个步骤,如果未获取成功,则等待,直至获取到该实例下的互斥锁;
4)调用可信计算核心服务来进行***层调用可信芯片;
5)释放该实例下的互斥锁,以便下次可以获取该锁;
6)退出返回。
可信服务应用层位于可信软件栈的最上层,为应用程序使用可信计算服务提供调用接口,并为应用程序与安全芯片的数据传输提供保护。它接收可信中间件的接口请求,调用可信计算核心服务接口来完成相应功能。在可信服务层调用可信计算核心服务接口时,增加互斥锁,保证在同一时刻该调用接口独占TPM硬件资源的目的。通过此种方案,把并行访问控制成串行访问,增强了可信服务层的鲁棒性。
其中可信中间件的优先级控制流程如下:
1)有可信计算应用请求;
2)判断该请求中对象是否属于高优先级;
3)如果是高优先级,写入高优先级队列,否则写入到低优先级队列;
4)判断高优先级队列是否为空;不为空则进入步骤5),为空则进入步骤7);
5)调用可信应用层处理;
6)高优先级队列-1,返回步骤4);
7)判断低优先级队列是否为空;不为空则进入步骤8),为空则进入步骤10);
8)调用可信应用层处理;
9)低优先级队列-1,返回步骤7);
10)退出返回。
可信中间件主要功能是完成上下文管理,策略管理,NVRAM(非易失性存储)管理,PCR对象管理和Hash(杂凑)对象等。可信中间件的工作对象分为需要授权和无须授权两种,按照此种类型,把需要访问的对象,按照优先级划为两类:(1)需要授权的为高优先级,包括:上下文对象,NVRAM对象,策略对象(2)不需要授权的为低优先级,包括:PCR对象和Hash对象。当同时有两种不同类型对象访问时,在可信中间件添加优先级控制,来保证高优先级的优先顺序。
通过上面具体实施方式,所述技术领域的技术人员可容易的实现本发明。但是应当理解,本发明并不限于上述的几种具体实施方式。在公开的实施方式的基础上,所述技术领域的技术人员可任意组合不同的技术特征,从而实现不同的技术方案。
Claims (1)
1.一种基于优先级的TPM读写控制方法,其特征在于,该TPM读写控制方法由可信软件栈实现,可信软件栈包含三个层次:内核层、***服务层和用户应用层;
内核层:包括可信芯片设备驱动和可信芯片,用来操作***内核层的TPM设备驱动,负责把***服务层的调用转化成TPM可接受的字节流传送给TPM,然后把TPM返回的数据发送给***服务层;
***服务层:主要由可信芯片设备驱动库和可信计算核心服务两部分组成;可信芯片设备驱动库提供用户态接口,使得不同的可信计算核心服务便于在不同平台的移植;可信计算核心服务则被用于控制和请求可信芯片的服务;
用户应用层:主要是指可信服务应用层和可信中间件,用于对应用程序提供接口;其中,可信服务应用层添加互斥锁来保证同一时刻只有一个实例来调用TPM硬件资源;
所述的可信服务应用层加锁的流程如下:
1)获取可信服务层的唯一实例;
2)在该实例下获取互斥锁;
3)如果成功进入下个步骤,如果未获取成功,则等待,直至获取到该实例下的互斥锁;
4)调用***服务层的可信计算核心服务来进行可信芯片的控制和请求;
5)释放该实例下的互斥锁,以便下次可以获取该锁;
6)退出;
所述的可信中间件的优先级控制流程如下:
01)接收到应用程序的请求;
02)判断该请求中对象是否属于高优先级;
03)如果是高优先级,写入高优先级队列,否则写入到低优先级队列;
04)判断高优先级队列是否为空;不为空则进入步骤05),为空则进入步骤07);
05)调用可信服务应用层处理;
06)高优先级队列-1,返回步骤04);
07)判断低优先级队列是否为空;不为空则进入步骤08),为空则进入步骤010);
08)调用可信服务应用层处理;
09)低优先级队列-1,返回步骤07);
010)退出。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610057994.XA CN105740713B (zh) | 2016-01-28 | 2016-01-28 | 一种基于优先级的tpm读写控制方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610057994.XA CN105740713B (zh) | 2016-01-28 | 2016-01-28 | 一种基于优先级的tpm读写控制方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105740713A CN105740713A (zh) | 2016-07-06 |
CN105740713B true CN105740713B (zh) | 2018-03-27 |
Family
ID=56246914
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610057994.XA Active CN105740713B (zh) | 2016-01-28 | 2016-01-28 | 一种基于优先级的tpm读写控制方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105740713B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107066885A (zh) * | 2016-10-11 | 2017-08-18 | 深圳市华威世纪科技股份有限公司 | 跨平台可信中间件的实现***及实现方法 |
CN107273214A (zh) * | 2017-06-30 | 2017-10-20 | 郑州云海信息技术有限公司 | 一种基于固态硬盘的多核控制器资源访问方法及其装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1764719A2 (en) * | 2005-09-15 | 2007-03-21 | Hitachi, Ltd. | System and method for authorizing the installation of applications on a smart-card |
CN101355775A (zh) * | 2008-08-15 | 2009-01-28 | 中兴通讯股份有限公司 | 配置数据批量导入装置及其多客户端互斥方法 |
CN103646206A (zh) * | 2013-12-24 | 2014-03-19 | 北京可信华泰信息技术有限公司 | 一种兼容不同密码设备的访问方法 |
CN105184167A (zh) * | 2015-07-21 | 2015-12-23 | 电子科技大学 | 基于TPM细粒度权限的Android***安全增强***及方法 |
-
2016
- 2016-01-28 CN CN201610057994.XA patent/CN105740713B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1764719A2 (en) * | 2005-09-15 | 2007-03-21 | Hitachi, Ltd. | System and method for authorizing the installation of applications on a smart-card |
CN101355775A (zh) * | 2008-08-15 | 2009-01-28 | 中兴通讯股份有限公司 | 配置数据批量导入装置及其多客户端互斥方法 |
CN103646206A (zh) * | 2013-12-24 | 2014-03-19 | 北京可信华泰信息技术有限公司 | 一种兼容不同密码设备的访问方法 |
CN105184167A (zh) * | 2015-07-21 | 2015-12-23 | 电子科技大学 | 基于TPM细粒度权限的Android***安全增强***及方法 |
Non-Patent Citations (3)
Title |
---|
可信密码模块软件栈兼容方案设计;张兴等;《武汉大学学报 信息科学版》;20100531;第35卷(第5期);全文 * |
可信软件栈中TSP的研究与应用;关巍;《中国优秀硕士学位论文全文数据库 信息科技辑》;20130315;第3.1节,3.3.1节 * |
嵌入式实时操作***可信计算技术研究;徐明迪;《计算机工程》;20140131;第40卷(第1期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN105740713A (zh) | 2016-07-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9772959B2 (en) | I/O scheduling | |
US8171213B2 (en) | Information processing apparatus and method, and program | |
KR101881089B1 (ko) | 스트림 트랜잭션 정보에 기초하여 페이지 관리 정책들을 적용하기 위한 메모리 제어기들, 시스템들 및 방법들 | |
JPH071495B2 (ja) | データ処理システム | |
US8838863B2 (en) | Resource controlling with dynamic priority adjustment | |
US10423558B1 (en) | Systems and methods for controlling data on a bus using latency | |
EP3477461A1 (en) | Devices and methods for data storage management | |
US7213084B2 (en) | System and method for allocating memory allocation bandwidth by assigning fixed priority of access to DMA machines and programmable priority to processing unit | |
KR20150066588A (ko) | 메모리 액세스 제어 모듈 및 그에 관련된 방법들 | |
KR102106541B1 (ko) | 공유 리소스 액세스 중재 방법 및 이를 수행하기 위한 공유 리소스 액세스 중재 장치 및 공유 리소스 액세스 중재 시스템 | |
US20160239446A1 (en) | Supporting flow control mechanism of bus between semiconductor dies assembled in wafer-level package | |
JP2012190415A (ja) | バッファ管理装置、バッファ管理方法及び記憶装置 | |
US9213545B2 (en) | Storing data in any of a plurality of buffers in a memory controller | |
US20100325375A1 (en) | Data-access control device and data-access control method | |
JP2017502421A (ja) | メモリアクセスパターンに基づいてdramページ競合を解消するためのシステムおよび方法 | |
KR100480605B1 (ko) | 네트워크 제어기의 송신부 버퍼 및 수신부 버퍼를제어하는 방법 및 네트워크 제어기 | |
US7698476B2 (en) | Implementing bufferless direct memory access (DMA) controllers using split transactions | |
US10255218B1 (en) | Systems and methods for maintaining specific ordering in bus traffic | |
CN105740713B (zh) | 一种基于优先级的tpm读写控制方法 | |
US20090216960A1 (en) | Multi Port Memory Controller Queuing | |
US8560782B2 (en) | Method and apparatus for determining access permissions in a partitioned data processing system | |
US8527684B2 (en) | Closed loop dynamic interconnect bus allocation method and architecture for a multi layer SoC | |
US20060095637A1 (en) | Bus control device, arbitration device, integrated circuit device, bus control method, and arbitration method | |
JP2013089226A (ja) | メモリ制御装置 | |
JP4560498B2 (ja) | 共有メモリ装置のための仲裁スキーム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |