CN105740713B - 一种基于优先级的tpm读写控制方法 - Google Patents

一种基于优先级的tpm读写控制方法 Download PDF

Info

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
Application number
CN201610057994.XA
Other languages
English (en)
Other versions
CN105740713A (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.)
Inspur Electronic Information Industry Co Ltd
Original Assignee
Inspur Electronic Information Industry Co Ltd
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 Inspur Electronic Information Industry Co Ltd filed Critical Inspur Electronic Information Industry Co Ltd
Priority to CN201610057994.XA priority Critical patent/CN105740713B/zh
Publication of CN105740713A publication Critical patent/CN105740713A/zh
Application granted granted Critical
Publication of CN105740713B publication Critical patent/CN105740713B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • 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
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing 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/2141Access 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安全芯片的可信应用必须基于可信软件栈。可信软件栈提供一种从上而下,从应用层到硬件层的接口。但是常规的可信软件栈中只提供单线程的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)退出。
CN201610057994.XA 2016-01-28 2016-01-28 一种基于优先级的tpm读写控制方法 Active CN105740713B (zh)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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系统安全增强系统及方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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
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
US20080263307A1 (en) Information processing apparatus and method, and program
US20050210159A1 (en) Methods and structure for improved transfer rate performance in a SAS wide port environment
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
JP5551201B2 (ja) メモリ制御装置
US20120124260A1 (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

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