CN106355085A - 一种可信应用运行安全控制方法 - Google Patents
一种可信应用运行安全控制方法 Download PDFInfo
- Publication number
- CN106355085A CN106355085A CN201610956899.3A CN201610956899A CN106355085A CN 106355085 A CN106355085 A CN 106355085A CN 201610956899 A CN201610956899 A CN 201610956899A CN 106355085 A CN106355085 A CN 106355085A
- Authority
- CN
- China
- Prior art keywords
- trusted application
- tcm
- control method
- safety chip
- application operation
- 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
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/52—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
-
- 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/55—Detecting local intrusion or implementing counter-measures
- G06F21/56—Computer malware detection or handling, e.g. anti-virus arrangements
- G06F21/566—Dynamic detection, i.e. detection performed at run-time, e.g. emulation, suspicious activities
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Virology (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Mathematical Physics (AREA)
- Storage Device Security (AREA)
Abstract
本发明公开了一种可信应用运行安全控制方法,其基于TCM安全芯片和内核驱动程序控制可信应用的执行,可信应用的校验数据存储于TCM安全芯片内,通过内核驱动程序控制可信应用执行。本发明提供的新计算机安全控制机制,通过内核驱动程序和TCM安全芯片相结合的方式,实现对硬件的检查和合法程序的控制,在保证计算机安全可用的同时,具有移植简单、安装方便的特点。
Description
技术领域
本发明涉及网络安全领域,具体涉及计算机运行安全技术。
背景技术
随着互联网技术的发展,计算机已经走入了各行各业,并且扮演着越来越重要的角色,随之而来的计算机安全与保护问题也得到了广泛的关注。计算机安全包含硬件安全与软件安全,硬件安全指计算机的硬件环境不被破坏,软件安全包含指计算机的软件环境不被木马、病毒以及人为恶意篡改。
对于计算机的硬件安全,主要分为两种:
一、芯片问题,将有安全隐患的芯片植入到计算机核心部分,从而破坏计算机的核心内容,达到盗取数据或者破坏计算机系统的目的。
二、破坏硬件,通过损坏计算机的硬件和存储器,导致数据或者存储不能被使用。
目前针对计算机硬件安全的这两种情况,主要应对策略就是加固技术,但是加固技术仍然存在一些局限性,所以就不能更好的保护计算机硬件。
对于计算机的软件安全主要是木马或者病毒。这些木马或者病毒程序表面上是合法程序,其实是掩盖表面事实,从而用不正规手段窃取或者篡改用户数据。
目前处理计算机安全威胁的常见措施有:安装杀毒软件、安装木马清查工具;控制网络访问;数据备份;应用密码技术;切断传播途径等。但是针对木马或者病毒程序,现有一般的杀毒软件难以发现。
发明内容
针对现有计算机安全与保护技术所存在的问题,需要一种新的计算机安全机制,同时保证计算机芯片安全与软件安全。
由此,本发明的所要解决的技术问题是提供一种可信应用运行安全控制方法,该控制方法可实现对计算机硬件的检查和对可信任程序的控制。
为了解决上述技术问题,本发明提供的可信应用运行安全控制方法,所述安全控制方法基于TCM安全芯片和内核驱动程序控制可信应用的执行,可信应用的校验数据存储于TCM安全芯片内,通过内核驱动程序控制可信应用执行。
优选的,所述安全控制方法通过TCM安全芯片检查硬件平台的完整性。
优选的,所述安全控制方法在TCM安全芯片检查通过后,再由内核驱动程序控制可信应用执行。
优选的,所述安全控制方法中内核驱动程序控制可信应用执行时,内核驱动程序从TCM安全芯片内获取相应的可信应用的校验数据,并计算当前可信应用的校验数据,且两者进行比对,根据比对结构控制可信应用是否运行。
优选的,所述安全控制方法中内核驱动程序通过钩子程序,实现在Windows启动的时候,向Windows注册一个新进程创建通知函数。
优选的,所述内核驱动程序在系统启动时向操作系统内核注册钩子程序,之后任何新进程创建,操作系统都会调用该钩子程序,钩子程序首先会计算当前需要创建的进程的校验数据,并将该数据与从TCM安全芯片读取的所有可信应用校验数据进行比对,如果比对正确,则当前进程可以创建,如果不正确,则不能创建。
优选的,所述TCM安全芯片在没有所有者时,将通过密码模块EK私钥解密得到所有者授权数据并进行验证,保证符合国家密码规范定义的算法(SMS4)和长度要求(128),根据密钥参数创建SMK,将SMK和授权数据保存在芯片中。
优选的,所述TCM安全芯片在通电时,将进行硬件完整性检查、提供安全可信的存储空间。
本发明提供的新计算机安全控制机制,通过内核驱动程序和TCM安全芯片相结合的方式,实现对硬件的检查和合法程序的控制,在保证计算机安全可用的同时,具有具有移植简单、安装方便的特点。
附图说明
以下结合附图和具体实施方式来进一步说明本发明。
图1为本发明实例中TCM安全芯片的功能模块图;
图2为本发明实例中TCM安全芯片的体系结构图;
图3为本发明实例中应用程序安全检查的流程图。
具体实施方式
为了使本发明实现的技术手段、创作特征、达成目的与功效易于明白了解,下面结合具体图示,进一步阐述本发明。
本实例中通过TCM安全芯片和内核驱动程序相结合的方式构成计算机安全控制机制,并由此控制可信应用的执行。
这里的TCM(Trusted Cryptpgraphy Module)安全芯片,为可信密码模块,是可信计算平台的硬件模块,为可信计算平台提供密码运算功能,具有受保护的存储空间。
参见图1,本实例中的TCM加密芯片(即TCM安全芯片)具有以下核心功能:一、度量平台硬件完整性;二、平台身份唯一标识;三、提供硬件级密码学计算与秘钥保护。
该TCM加密芯片提供了受保护的非易失性存储器以及硬件完整性检查。据此,该TCM加密芯片在应用时,应用程序首先连接TCM芯片,连接成功后,芯片将检查计算机系统的平台完整性,如果检查通过,则应用程序正常启动,如果检查失败,则应用程序无法继续运行。
再者,本TCM加密芯片的体系结构如图2所示,应用程序将数据、存储秘钥的授权信息、PCR值发送给TCM执行引擎,TCM执行引擎将数据加密并且密封成数据块,存储于非易失性寄存器中。当应用程序读取数据时,需要传递授权信息,TCM执行引擎首先检查授权信息是否正确,如果正确,则解密数据并返回,如果不正确,则返回失败。
另外,本TCM安全芯片在没有所有者时,将通过密码模块EK私钥解密得到所有者授权数据并进行验证,保证符合国家密码规范定义的算法(SMS4)和长度要求(128),根据密钥参数创建SMK,将SMK和授权数据保存在芯片中。该TCM安全芯片在通电时,将进行硬件完整性检查、提供安全可信的存储空间。
本实例中通过TCM加密芯片提供硬件完整性检查和可信加密存储,配合内核驱动程序,可以实现从软件和硬件方面对计算机的安全运行进行控制。即通过TCM安全芯片进行硬件完整性检查和可信应用校验数据存储,通过内核驱动程序控制所有应用的执行。
本实例中的内核驱动程序,通过钩子程序实现在Windows启动的时候,向Windows注册一个新进程创建通知函数。
这里的钩子程序即回调函数,内核驱动程序通过在windows注册钩子程序,实现在进程创建的时候回调注册的钩子程序。
具体的,内核驱动程序在系统启动时向操作系统内核注册钩子程序(即注册一个回调函数),之后任何新进程创建,操作系统都会调用该钩子程序,钩子程序首先会计算当前需要创建的进程的校验数据,并将该数据与从TCM安全芯片读取的所有可信应用校验数据进行比对,如果比对正确,则当前进程可以创建,如果不正确,则不能创建。
由此,通过该内核驱动程序,可以实现对应用程序执行的控制,即只允许有特定特征,即程序文件的MD5签名满足一定的条件的程序运行。
基于上述方案的TCM加密芯片和内核驱动程序结合组成的控制机制,其可信应用的校验数据存储于TCM加密芯片内,通过内核驱动程序控制可信应用执行。
在该控制机制中,通过TCM安全芯片检查硬件平台的完整性,且在TCM安全芯片检查通过后,再由内核驱动程序控制可信应用执行。
其中,内核驱动程序控制可信应用执行时,内核驱动程序从TCM安全芯片内获取相应的可信应用的校验数据,并计算当前可信应用的校验数据,且两者进行比对,根据比对结构控制可信应用是否运行。
针对上述的计算机安全控制机制,以下通过一具体应用实例来说明其整个运行过程。
参见图3,其所示实例中通过TCM安全芯片对计算机进行安全控制与检查的流程。
由图可知,当计算机操作系统启动时,其首先连接TCM模块,如果连接成功,则尝试获取EK,每个TCM的EK是唯一的,可以由TCM厂商、平台厂商、应用程序三者自行创建。
如果EK不存在,则生成一个EK并写入TCM模块。如果EK存在,则进行硬件完整性检查,只有通过硬件完整性检查才可以进行下一步操作,如果检查失败,则程序退出。
本实例中将系统允许执行的所有程序分为两部分,一部分是系统必要程序,这部分程序的启动能保证用户使用操作系统的基本功能;另一部分是用户自定义的允许执行程序。
由于TCM的NV空间的大小有限(TCM的非易失性寄存器共有16个,即16个NV空间,应用程序可以自定义NV空间的名称,每个NV空间可以存储816长的字符串),本实例中将系统必要程序文件的MD5签名写在内核驱动程序(该内核驱动程序为操作系统启动时,开启的一个内核驱动程序)中;用户自定义允许执行的程序文件MD5签名写在TCM的NV空间。
在写入时,需要先判断对应的TCM的NV空间是否存在,如果不存在,则通过TCM芯片提供的API新建一个NV空间(通过调用TCM芯片提供的API进行新建),新建NV空间将导致TCM清空该寄存器的所有内容。由此可实现将可信应用数据存储在TCM加密芯片中。
据此,在TCM进行完硬件完整性检查后,操作系统将读取TCM各个寄存器中的值,并调用内核驱动程序,将允许执行的应用程序列表传递给内核驱动程序,由内核驱动程序对系统运行的程序进行控制。
例如,当有新的程序A运行时,系统将调用通过驱动程序注册的内核驱动程序,内核驱动程序首先计算当前程序的MD5值,并将其与持有应用程序MD5签名列表进行比对,如果存在于该列表,则程序A可以运行;如果不存在于该列表,则程序A直接退出。
据此实例可知,本安全控制机制通过内核驱动程序和TCM安全芯片相配合,不仅对整个计算机硬件进行完整性检查,保证芯片安全;同时还对各个合法程序进行校验,有效识别并禁止运行木马或者病毒程序,保证计算机软件安全。
以上显示和描述了本发明的基本原理、主要特征和本发明的优点。本行业的技术人员应该了解,本发明不受上述实施例的限制,上述实施例和说明书中描述的只是说明本发明的原理,在不脱离本发明精神和范围的前提下,本发明还会有各种变化和改进,这些变化和改进都落入要求保护的本发明范围内。本发明要求保护范围由所附的权利要求书及其等效物界定。
Claims (8)
1.一种可信应用运行安全控制方法,其特征在于,所述安全控制方法基于TCM安全芯片和内核驱动程序控制可信应用的执行,可信应用的校验数据存储于TCM安全芯片内,通过内核驱动程序控制可信应用执行。
2.根据权利要求1所述的一种可信应用运行安全控制方法,其特征在于,所述安全控制方法通过TCM安全芯片检查硬件平台的完整性。
3.根据权利要求2所述的一种可信应用运行安全控制方法,其特征在于,所述安全控制方法在TCM安全芯片检查通过后,再由内核驱动程序控制可信应用执行。
4.根据权利要求3所述的一种可信应用运行安全控制方法,其特征在于,所述安全控制方法中内核驱动程序控制可信应用执行时,内核驱动程序从TCM安全芯片内获取相应的可信应用的校验数据,并计算当前可信应用的校验数据,且两者进行比对,根据比对结构控制可信应用是否运行。
5.根据权利要求1所述的一种可信应用运行安全控制方法,其特征在于,所述安全控制方法中内核驱动程序通过钩子程序实现在Windows启动的时候,向Windows注册一个新进程创建通知函数。
6.根据权利要求5所述的一种可信应用运行安全控制方法,其特征在于,所述内核驱动程序在系统启动时向操作系统内核注册钩子程序,之后任何新进程创建,操作系统都会调用该钩子程序,钩子程序首先会计算当前需要创建的进程的校验数据,并将该数据与从TCM安全芯片读取的所有可信应用校验数据进行比对,如果比对正确,则当前进程可以创建,如果不正确,则不能创建。
7.根据权利要求1所述的一种可信应用运行安全控制方法,其特征在于,所述TCM安全芯片在没有所有者时,将通过密码模块EK私钥解密得到所有者授权数据并进行验证,保证符合国家密码规范定义的算法和长度要求,根据密钥参数创建SMK,将SMK和授权数据保存在芯片中。
8.根据权利要求1所述的一种可信应用运行安全控制方法,其特征在于,所述TCM安全芯片在通电时,将进行硬件完整性检查、提供安全可信的存储空间。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610956899.3A CN106355085B (zh) | 2016-10-25 | 2016-10-25 | 一种可信应用运行安全控制方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610956899.3A CN106355085B (zh) | 2016-10-25 | 2016-10-25 | 一种可信应用运行安全控制方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106355085A true CN106355085A (zh) | 2017-01-25 |
CN106355085B CN106355085B (zh) | 2020-03-10 |
Family
ID=57864376
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610956899.3A Active CN106355085B (zh) | 2016-10-25 | 2016-10-25 | 一种可信应用运行安全控制方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106355085B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108023979A (zh) * | 2017-11-30 | 2018-05-11 | 公安部第三研究所 | 安全强固的便携操作终端及系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102271333A (zh) * | 2011-08-08 | 2011-12-07 | 东南大学 | 一种基于可信链传递的3g消息安全收发方法 |
CN102332070A (zh) * | 2011-09-30 | 2012-01-25 | 中国人民解放军海军计算技术研究所 | 一种可信计算平台的信任链传递方法 |
CN102663301A (zh) * | 2012-04-13 | 2012-09-12 | 北京国基科技股份有限公司 | 一种可信计算机及可信性检测方法 |
-
2016
- 2016-10-25 CN CN201610956899.3A patent/CN106355085B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102271333A (zh) * | 2011-08-08 | 2011-12-07 | 东南大学 | 一种基于可信链传递的3g消息安全收发方法 |
CN102332070A (zh) * | 2011-09-30 | 2012-01-25 | 中国人民解放军海军计算技术研究所 | 一种可信计算平台的信任链传递方法 |
CN102663301A (zh) * | 2012-04-13 | 2012-09-12 | 北京国基科技股份有限公司 | 一种可信计算机及可信性检测方法 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108023979A (zh) * | 2017-11-30 | 2018-05-11 | 公安部第三研究所 | 安全强固的便携操作终端及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN106355085B (zh) | 2020-03-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111049825B (zh) | 一种基于可信执行环境的安全多方计算方法和系统 | |
KR100996784B1 (ko) | 공개 키 암호화에 기초한 데이터의 저장 및 검색을 위한, 컴퓨팅 장치에서 구현되는 방법, 시스템 및 복수의 명령어를 저장하는 하나 이상의 컴퓨터 판독가능 매체 | |
KR101067399B1 (ko) | 대칭 키 암호화에 기초한 데이터의 저장 및 검색을 위한, 컴퓨팅 장치에서 구현되는 방법, 시스템 및 복수의 명령어를 저장하는 하나 이상의 컴퓨터 판독가능 매체 | |
KR101231561B1 (ko) | 서비스 커넬 설계에 의한 보안 정책 차별화 | |
CN108055133B (zh) | 一种基于区块链技术的密钥安全签名方法 | |
US7694121B2 (en) | System and method for protected operating system boot using state validation | |
US7330981B2 (en) | File locker and mechanisms for providing and using same | |
US10503931B2 (en) | Method and apparatus for dynamic executable verification | |
US8843766B2 (en) | Method and system for protecting against access to a machine code of a device | |
JPH10313309A (ja) | 国際暗号法フレームワークでアプリケーションが一定のサービスクラスを合法的に実行することを認証する装置 | |
WO2017000648A1 (zh) | 一种被加固软件的认证方法及装置 | |
JP6387908B2 (ja) | 認証システム | |
US10713392B2 (en) | Network interface device and method | |
CN116881936A (zh) | 可信计算方法及相关设备 | |
CN106355085A (zh) | 一种可信应用运行安全控制方法 | |
JP4321303B2 (ja) | プログラム配信システムおよび車載ゲートウェイ装置 | |
CN111506915A (zh) | 授权访问的控制方法、装置和系统 | |
EP1811460A1 (en) | Secure software system and method for a printer | |
TW487839B (en) | A method of providing secure linkage of program modules | |
CN113966510A (zh) | 可信设备和计算系统 | |
JP5180264B2 (ja) | 装置鍵 | |
Noller | Security Target |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | 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 |