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

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

Info

Publication number
CN105740713A
CN105740713A CN201610057994.XA CN201610057994A CN105740713A CN 105740713 A CN105740713 A CN 105740713A CN 201610057994 A CN201610057994 A CN 201610057994A CN 105740713 A CN105740713 A CN 105740713A
Authority
CN
China
Prior art keywords
priority
tpm
credible
layer
read
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
CN201610057994.XA
Other languages
English (en)
Other versions
CN105740713B (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或DDRSDRAM存储器”。
上述公开文件与本发明内容要解决的技术问题,采用的技术手段都不相同。
发明内容
本发明的技术任务是提供一种基于优先级的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 (3)

1.一种基于优先级的TPM读写控制方法,其特征在于,该TPM读写控制方法由可信软件栈实现,可信软件栈包含三个层次:内核层、系统服务层和用户应用层;
内核层:包括可信芯片设备驱动和可信芯片,用来操作系统内核的TPM设备驱动,负责把系统服务层的调用转化成TPM可接受的字节流传送给TPM,然后把TPM返回的数据发送给系统服务层;
系统服务层:主要由可信芯片设备驱动库和可信计算核心服务两部分组成;可信芯片设备驱动库提供用户态接口,使得不同的可信计算核心服务便于在不同平台的移植;可信计算核心服务则被用于控制和请求安全芯片的服务;
用户应用层:主要是指可信服务应用层和可信中间件,用于对可信计算应用提供接口;其中,可信服务应用层添加互斥锁来保证同一时刻只有一个实例来调用TPM硬件资源。
2.根据权利要求1所述的一种基于优先级的TPM读写控制方法,其特征在于,所述的可信服务应用层加锁的流程如下:
1)获取可信服务层的唯一实例;
2)在该实例下获取互斥锁;
3)如果成功进入下个步骤,如果未获取成功,则等待,直至获取到该实例下的互斥锁;
4)调用可信计算核心服务来进行系统层调用可信芯片;
5)释放该实例下的互斥锁,以便下次可以获取该锁;
6)退出返回。
3.根据权利要求1所述的一种基于优先级的TPM读写控制方法,其特征在于,所述的可信中间件的优先级控制流程如下:
1)有可信计算应用请求;
2)判断该请求中对象是否属于高优先级;
3)如果是高优先级,写入高优先级队列,否则写入到低优先级队列;
4)判断高优先级队列是否为空;不为空则进入步骤5),为空则进入步骤7);
5)调用可信应用层处理;
6)高优先级队列-1,返回步骤4);
7)判断低优先级队列是否为空;不为空则进入步骤8),为空则进入步骤10);
8)调用可信应用层处理;
9)低优先级队列-1,返回步骤7);
10)退出返回。
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 true CN105740713A (zh) 2016-07-06
CN105740713B 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)

Cited By (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 郑州云海信息技术有限公司 一种基于固态硬盘的多核控制器资源访问方法及其装置

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4685567B2 (ja) * 2005-09-15 2011-05-18 株式会社日立製作所 情報処理装置によるサービス提供システム
CN101355775B (zh) * 2008-08-15 2011-09-21 中兴通讯股份有限公司 配置数据批量导入装置及其多客户端互斥方法
CN103646206B (zh) * 2013-12-24 2016-08-17 北京可信华泰信息技术有限公司 一种兼容不同密码设备的访问方法
CN105184167B (zh) * 2015-07-21 2017-12-08 电子科技大学 基于TPM细粒度权限的Android系统安全增强系统及方法

Cited By (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 郑州云海信息技术有限公司 一种基于固态硬盘的多核控制器资源访问方法及其装置

Also Published As

Publication number Publication date
CN105740713B (zh) 2018-03-27

Similar Documents

Publication Publication Date Title
US7290066B2 (en) Methods and structure for improved transfer rate performance in a SAS wide port environment
JPH071495B2 (ja) データ処理システム
US8838863B2 (en) Resource controlling with dynamic priority adjustment
US10423558B1 (en) Systems and methods for controlling data on a bus using latency
WO2017056725A1 (ja) 車載制御装置
US20120239833A1 (en) Buffer management device, buffer management method, and storage device
JP2005242718A (ja) データ転送装置、および転送制御プログラム
US9471521B2 (en) Communication system for interfacing a plurality of transmission circuits with an interconnection network, and corresponding integrated circuit
KR100480605B1 (ko) 네트워크 제어기의 송신부 버퍼 및 수신부 버퍼를제어하는 방법 및 네트워크 제어기
US20100325375A1 (en) Data-access control device and data-access control method
CN102402422A (zh) 处理器组件及该组件内存共享的方法
US20090216960A1 (en) Multi Port Memory Controller Queuing
US8166316B2 (en) Single interface access to multiple bandwidth and power memory zones
JP5551201B2 (ja) メモリ制御装置
US8527684B2 (en) Closed loop dynamic interconnect bus allocation method and architecture for a multi layer SoC
US20050289254A1 (en) Dynamic buffer allocation method
CN105740713A (zh) 一种基于优先级的tpm读写控制方法
US8949845B2 (en) Systems and methods for resource controlling
US20060095637A1 (en) Bus control device, arbitration device, integrated circuit device, bus control method, and arbitration method
CN116685943A (zh) 可编程原子单元中的自调度线程
EP1513071B1 (en) Memory bandwidth control device
US20200104193A1 (en) Port Groups
US20090216959A1 (en) Multi Port Memory Controller Queuing
US20130054902A1 (en) Accelerating blocking memory operations
US20100088446A1 (en) Prioritizing interrupt controller

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