CN110188547A - 一种可信加密系统及方法 - Google Patents
一种可信加密系统及方法 Download PDFInfo
- Publication number
- CN110188547A CN110188547A CN201910396361.5A CN201910396361A CN110188547A CN 110188547 A CN110188547 A CN 110188547A CN 201910396361 A CN201910396361 A CN 201910396361A CN 110188547 A CN110188547 A CN 110188547A
- Authority
- CN
- China
- Prior art keywords
- credible
- encryption
- software
- file
- measurement
- 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/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/31—User authentication
-
- 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/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/31—User authentication
- G06F21/34—User authentication involving the use of external additional devices, e.g. dongles or smart cards
-
- 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/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Storage Device Security (AREA)
Abstract
本发明公开了一种可信加密系统及方法,可信加密系统包括:可信计算平台和U‑Key类信任根,U‑Key类信任根作为可信计算平台的信任链起点,用于支撑可信计算平台的可信度量工作和加解密工作;可信计算平台包括:可信软件基和加密软件。本发明所提供的可信加密系统及方法,采用主动免疫机制保障了加解密过程中数据的安全性;能够保证加密软件工作时的安全性;安全策略可存于U‑key类信任根中,由U‑key类信任根提供安全的存储区域进行安全存储,对加密的明文提供虚拟磁盘的安全保护,能够保证加解密过程中数据的安全性。
Description
技术领域
本发明涉及加密技术领域,具体涉及一种可信加密系统及方法。
背景技术
目前,传统的加密软件系统在各个方面均存在各种问题:
(1)在主动免疫方面,传统加密软件系统只考虑了加密环节和加密本身的安全性,没有考虑到在加解密过程中,病毒木马对加解密程序的干扰和破坏,不具备主动免疫机制。
(2)在可信环境保障方面,其一,在进行加解密时,无法确定自身程序的完整性和所依赖环境的安全性,也缺乏对系统环境和程序自身的保护措施;其二,在不工作时并不运行,容易遭到各种手段的攻击和破坏;其三,其安全策略是存于硬盘中,容易遭到破坏篡改;其四,工作完成后对磁盘上的数据没有很好的安全处理和保护,无法保障系统的运行环境可信。
因此,目前亟需提供一种可信加密系统,用以解决上述传统加密软件系统在主动免疫、可信环境保障等方面存在的各种技术问题。
发明内容
针对现有技术中存在的缺陷,本发明的目的在于提供一种可信加密系统及方法,可以解决传统加密软件系统在主动免疫、可信环境保障等方面存在的各种技术问题。
为实现上述目的,本发明采用的技术方案如下:
一种可信加密系统,所述可信加密系统包括:可信计算平台和U-Key类信任根,所述U-Key类信任根作为所述可信计算平台的信任链起点,用于支撑所述可信计算平台的可信度量工作和加解密工作;
所述可信计算平台包括:可信软件基和加密软件;
所述可信软件基用于在所述U-Key类信任根的支撑下,对所述加密软件以及所述加密软件所依赖的执行环境进行可信度量,所述加密软件所依赖的执行环境包括:所述可信计算平台启动时的启动环境、所述可信计算平台运行时的系统环境和进程环境;
所述加密软件用于在所述U-Key类信任根的支撑下进行加解密。
进一步,如上所述的一种可信加密系统,所述U-Key类信任根包括:可信与密码运算模块、用户身份认证模块和可信引导模块;
所述可信与密码运算模块用于为所述可信计算平台提供密码算法服务;
所述用户身份认证模块用于对所述用户身份信息进行认证;
所述可信引导模块的通用存储空间中存储有引导度量程序,所述引导度量程序用于引导度量所述可信计算平台的操作系统以及所述可信软件基。
进一步,如上所述的一种可信加密系统,对所述可信计算平台启动时的启动环境的可信度量包括:
所述U-key类信任根作为信任链的起始点,对所述可信计算平台的启动加载器进行可信度量,若度量结果可信则信任链扩展至所述启动加载器;
嵌入到所述启动加载器中的所述可信软件基的基本信任基对所述可信计算平台的宿主机基础软件和嵌入到所述宿主机基础软件中的所述可信软件基的其他组成部分进行可信度量,若度量结果可信则信任链扩展至所述可信软件基;
在所述可信计算平台的应用程序启动时,所述可信软件基对所述应用程序进行可信度量,所述应用程序包括所述加密软件。
进一步,如上所述的一种可信加密系统,所述可信软件基用于在所述可信计算平台运行时对其进行动态度量,所述动态度量包括:行为触发度量、周期触发度量;
所述行为触发度量包括:当检测到行为触发钩子点时,根据可信策略对所述行为及所述行为所依赖的所述系统环境和所述进程环境进行度量,根据度量结果对所述行为进行控制;
所述周期触发度量包括:每隔预定周期对所述可信计算平台运行时的所述系统环境和所述进程环境进行度量,根据度量结果对所述可信计算平台进行控制。
进一步,如上所述的一种可信加密系统,所述加密软件用于在所述U-Key类信任根的支撑下进行文件加解密,在进行文件加密时,将用户身份信息与加密后的文件进行封装,在进行文件解密时,对所述用户身份信息进行验证,验证通过后对所述加密后的文件进行解密。
进一步,如上所述的一种可信加密系统,在所述可信计算平台与所述U-Key类信任根连接后,所述可信软件基调用所述U-Key类信任根进行用户身份信息认证,若认证通过则所述可信计算平台中生成加解密目录,所述加密软件进行文件加解密;在所述可信计算平台与所述U-Key类信任根断开连接后,所述可信软件基隐藏所述加解密目录。
进一步,如上所述的一种可信加密系统,
所述加密软件进行文件加密包括:所述加密软件在检测到存在待加密的文件时,所述可信软件基对所述待加密的文件、所述加密软件、所述可信计算平台的系统环境和进程环境进行可信度量,若度量结果可信则所述加密软件对待加密文件进行加密;
所述加密软件进行文件解密包括:所述加密软件在检测到存在待解密的文件时,所述可信软件基对所述待解密的文件、所述加密软件、所述可信计算平台的系统环境和进程环境进行可信度量,若度量结果可信则所述加密软件对待解密文件进行解密。
进一步,如上所述的一种可信加密系统,所述加解密目录包括:用于存储待加密的文件的明文发送目录、用于存储加密后的文件的密文发送目录、用于存储待解密的文件的密文接收目录、用于存储解密后的文件的明文接收目录;所述加密软件包括:显式加密软件和隐式加密软件,所述隐式加密软件包括:解密同步线程、解密模块、加密同步线程、加密模块、加密解密控制模块以及可信度量校验模块;
所述解密同步线程用于在检测到所述密文接收目录中出现待解密的文件时,调用所述解密模块对所述待解密的文件进行解密,并将解密后的文件发送到所述明文接收目录;
所述解密模块用于对所述密文接收目录进行解封装,通过所述可信软件基对所述待解密的文件进行可信度量,度量通过后进行解密;
所述加密同步线程用于在检测到所述明文发送目录中出现待加密的文件时,调用所述加密模块对所述待加密的文件进行加密,并将加密后的文件发送到所述密文发送目录;
所述加密模块用于通过所述可信软件基对所述待加密的文件进行可信度量,度量通过后进行加密,并将度量结果和待加密的文件进行加密封装;
所述加密解密控制模块用于对加密和解密过程进行控制;
所述可信度量校验模块用于调用所述可信软件基进行可信度量。
本发明还提供一种可信加密方法,应用于本发明所述的一种可信加密系统,所述方法包括:
S1、在U-key类信任根与可信计算平台连接后,通过所述U-key类信任根对所述可信计算平台的操作系统和可信软件基进行引导度量,若度量结果可信则所述可信软件基对所述可信计算平台中的应用程序进行可信度量,所述应用程序包括加密软件;
S2、若所述加密软件的度量结果可信,则所述加密软件在所述U-Key类信任根的支撑下进行加解密,其中,在所述加密软件进行加解密过程中,所述可信软件基在所述U-Key类信任根的支撑下,对所述加密软件以及所述加密软件所依赖的执行环境进行可信度量,所述加密软件所依赖的执行环境包括:所述可信计算平台运行时的系统环境和进程环境。
进一步,如上所述的一种可信加密方法,步骤S2包括:
所述加密软件进行文件加密包括:所述加密软件在检测到存在待加密的文件时,所述可信软件基对所述待加密的文件、所述加密软件、所述可信计算平台的系统环境和进程环境进行可信度量,若度量结果可信则所述加密软件对待加密文件进行加密;
所述加密软件进行文件解密包括:所述加密软件在检测到存在待解密的文件时,所述可信软件基对所述待解密的文件、所述加密软件、所述可信计算平台的系统环境和进程环境进行可信度量,若度量结果可信则所述加密软件对待解密文件进行解密。
本发明的有益效果在于:本发明所提供的可信加密系统及方法,采用主动免疫机制保障了加解密过程中数据的安全性;在进行加解密前需要重启电脑进行可信引导,从启动开始进行一步步的可信环境度量,且在进行加解密时能够对加密软件自身及其所依赖的执行环境进行可信度量,能够保证加密软件工作时的安全性;安全策略可存于U-key类信任根中,由U-key类信任根提供安全的存储区域进行安全存储,对加密的明文提供虚拟磁盘的安全保护,能够保证加解密过程中数据的安全性。
附图说明
图1为本发明实施例中提供的一种可信加密系统的结构示意图;
图2为本发明实施例中提供的操作系统启动过程工作流程图;
图3为本发明实施例中提供的隐式加密软件的结构示意图;
图4为本发明实施例中提供的一种可信加密方法的流程示意图;
图5为本发明实施例中提供的加解密流程图。
具体实施方式
下面结合说明书附图与具体实施方式对本发明做进一步的详细说明。
本发明提供一种可信加密系统,可信加密系统包括:可信计算平台和U-Key类信任根,U-Key类信任根作为可信计算平台的信任链起点,用于支撑可信计算平台的可信度量工作和加解密工作;
可信计算平台包括:可信软件基和加密软件;
可信软件基用于在U-Key类信任根的支撑下,对加密软件以及加密软件所依赖的执行环境进行可信度量,加密软件所依赖的执行环境包括:可信计算平台启动时的启动环境、可信计算平台运行时的系统环境和进程环境;
加密软件用于在U-Key类信任根的支撑下进行加解密。
如图1所示,可信加密系统可以包括:U-Key类信任根、可信软件基TSB、加密软件、密钥与策略管理软件等部分,其中,U-Key类信任根为硬件设备(例如U盘),其他均为软件。
U-Key类信任根
U-Key类信任根也即USB接口信任根,U-Key类信任根存储着可信引导程序,在系统启动时进行用户身份认证和系统可信引导,保证使用者身份合法及和平台初始态可信,在平台运行时为可信软件基TSB提供密码运算等功能支撑。U-Key类信任根是可信计算平台的信任起点,存储着支撑可信度量、加密存储的密钥、证书等关键信息,并执行Hash、对称加密、数字签名、密钥协商、公钥加密等密码运算,是实现可信计算平台功能的基础。U-Key类信任根能够生成平台所需的各类随机数,且通过硬件的密闭存储区域确保关键信息和数据不被非法访问和篡改。
U-Key类信任根包括:可信与密码运算模块、用户身份认证模块和可信引导模块;
可信与密码运算模块用于为可信计算平台提供密码算法服务;
具体地,可信与密码运算模块可以包括:处理器,以及处理器外围的Hash算法模块、存储空间、公钥加密算法模块、数字签名算法模块、随机数产生器、密钥协商算法模块和对称加密算法模块,处理器通过USB接口连接可信计算平台,用于接收可信计算平台发送的指令,根据该指令向可信计算平台提供相应的服务,可信与密码运算模块中除处理器之外的其他所有模块均通过内部总线与处理器连接,用于接受处理器的调度。
用户身份认证模块用于对用户身份信息进行认证;
具体地,用户身份认证模块包括:用户身份认证信息采集子模块和信息处理子模块,用户身份认证信息采集子模块用于采集用户输入的用户身份信息,信息处理子模块用于对用户身份信息进行处理,得到识别结果,用户身份认证模块通过RS232接口与处理器连接,用于接收处理器发送的指令和数据,根据该指令和数据向处理器提供用户身份信息或识别结果。
可信引导模块的通用存储空间中存储有引导度量程序,引导度量程序用于引导度量可信计算平台的操作系统以及可信软件基。
可信计算平台的信任链从U-key类信任根开始,U-key类信任根通过设置引导区域只读保障引导器自身的完整性,可信引导验证操作系统,操作系统将信任传递给可信软件基,可信软件基验证应用,从而实现应用系统的安全可信运行。信任链技术是通过度量验证计算机启动序列中各环节的组件的完整性来判断平台的可信状态,是保护安全机制不被篡改和旁路的基础。
可信软件基
可信软件基在U-Key类信任根的支持下,保障整个操作系统运行环境和加密软件工作状态可信。可信软件基是系统运行过程中度量、存储功能的实际执行部件,是可信加密系统的核心。在U-Key类信任根的支撑下,可信软件基为应用和系统运行建立可信的运行环境,并将可信计算功能的接口提供给应用和操作系统使用。可信软件基通过与操作系统的融合,能够完成对操作系统核心态行为的度量,进一步掌握操作系统内核自身运行状态的可信性。同时,操作系统通过调用可信软件基提供的可信支撑接口,实现对自身功能(身份认证、数据加解密等)的可信增强。可信软件基以软件的形式安装在承载业务系统的操作系统之中,实现可信认证、可信度量、加密存储等功能。
可信软件基以Windows内核驱动的形式实现,在文件系统加载时进行加载,因此具备对所有通过文件系统加载的程序进行校验的能力。可信软件基自身的完整性可以通过引导程序进行验证。
可信软件基对可信计算平台启动时的启动环境的可信度量为静态度量,可信软件基对可信计算平台运行时的系统环境和进程环境的可信度量为动态度量。
可信软件基对可信计算平台启动时的启动环境的可信度量包括:
U-key类信任根作为信任链的起始点,对可信计算平台的启动加载器进行可信度量,若度量结果可信则信任链扩展至启动加载器;
嵌入到启动加载器中的可信软件基的基本信任基对可信计算平台的宿主机基础软件和嵌入到宿主机基础软件中的可信软件基的其他组成部分进行可信度量,若度量结果可信则信任链扩展至可信软件基;宿主机基础软件包括操作系统的核心和操作系统的系统服务。
在可信计算平台的应用程序启动时,可信软件基对应用程序进行可信度量,应用程序包括加密软件。
如图2所示,操作系统启动过程的工作流程。U-key类信任根负责起始的可信链构建,度量并验证启动加载器的可信性,将可信扩展至启动加载器(OSLoader);基本信任基嵌入到启动加载器中,基本信任基除了对宿主基础软件的核心部分进行可信度量外,还对嵌入在宿主基础软件的可信软件基其它机制(包括主动监控机制、协作机制、支撑机制和可信基准库)进行完整性度量;最后,可信软件基的其他TSB机制利用可信基准库在应用(加密软件)启动时进行可信度量。
可信引导和初始度量都属于静态度量,只能证明系统一开始处于可信状态,并不能为启动之后的可信提供保障和证明。为了保障可信计算平台运行环境的可信,通常在计算机执行关键任务时应度量其环境和相关的主客体资源,度量的结果通常作为安全控制措施的依据。因此,可信软件基还对可信计算平台运行时的系统环境和进程环境进行动态度量。
可信软件基用于在可信计算平台运行时对其进行动态度量,动态度量包括:行为触发度量、周期触发度量;
行为触发度量包括:当检测到行为触发钩子点时,根据可信策略对行为及行为所依赖的系统环境和进程环境进行度量,根据度量结果对行为进行控制;
具体地,当资源访问行为触发钩子点时,根据可信策略对资源访问行为的相关信息进行度量,相关信息包括:主体、客体、环境、行为,环境包括系统环境和进程环境,根据度量结果对是否允许执行资源访问行为进行判定,根据判定结果对资源访问行为进行控制,资源访问行为包括:白名单程序加载、共享库加载和内核模块加载。比如白名单就程序加载时对程序文件进行度量,作为是否允许执行的控制;共享库加载时对共享库文件进行度量,作为是否允许加载的依据;内核模块加载对内核模块文件的度量,作为是否允许加载的控制。
周期触发度量包括:每隔预定周期对可信计算平台运行时的系统环境和进程环境进行度量,根据度量结果对可信计算平台进行控制。周期性检查操作系统的运行环境是否正常,比如检查内核和进程的代码或关键的数据是否被非法篡改,如果被篡改则可以控制杀死主机进程。主要包括检查内核代码段、内核模块代码段、系统调用表、中断描述表、文件系统和超级块、网络协议族、进程代码段等。
在触发度量点时,动态度量从执行代码和数据结构两个层次对工作状态下的每个程序、驱动和内核进行度量,度量点包括以下至少之一:SSDT表、shadow SSDT表、中断描述符表、全局描述表枚举、对象枚举、应用进程枚举和举动枚举。
动态度量主要包含以下两个功能:
(1)内核关键数据度量
度量内核的代码段、只读数据段、关键跳转表等操作系统正常运行过程中的关键数据,保障系统重要数据结构的可信性,保证加解密数据的系统环境安全。
(2)进程运行状态监测
通过监测系统中运行的进程状态实现对运行时注入式攻击的检测,对数据加解密模块进程进行安全度量,保护加解密应用程序的安全性。
动态度量还包括:对内核关键数据进行度量,以及通过监测系统中运行的进程状态对运行时注入式攻击行为进行检测,对数据加解密模块进行安全度量,内核关键数据包括内核的代码段、只读数据段和关键跳转表。
可信软件基包括:基本信任基、控制机制、度量机制、判定机制、支撑机制和可信基准库;
基本信任基用于在U-key类信任根的支撑下,对可信软件基的其他组成部分进行可信度量,在可信软件基启动之后且可信软件基的其他组成部分尚未加载时,对可信软件基的其他组成部分进行度量,将信任链传递给其他组成部分。
基本信任基是可信软件基中最基础的部件,是具备基本的度量能力的软件或固件的最小集合。度量能力体现为基本信任基负责对可信软件基的其它部分实施完整性度量。基本信任基应不依赖可信软件基的其它部分,也不依赖宿主基础软件,只需利用U-key类信任根和硬件平台就能够正常工作。启动时,基本信任基在其它机制尚未加载时,完成其他机制的度量工作,将信任链传递给其它功能机制。度量操作通过调用U-key类信任根提供的度量接口实现。基本信任基的更新操作由可信策略密钥与策略管理软件完成。
控制机制用于拦截应用的系统行为,获取应用的系统行为的相关信息,根据控制策略将应用的系统行为的相关信息发送给度量机制进行度量,并接收判定机制发送的判定结果,根据判定结果对系统调用行为进行控制,应用的系统行为的相关信息包括:主体、客体、操作和环境,控制策略包括:系统控制点的范围、系统控制点获取的信息和控制机制响应判定结果的处理方式。
度量机制用于根据度量策略对度量对象进行度量,并将度量结果发送给判定机制,度量策略包括:度量对象和度量方法,度量对象包括以下至少之一:程序、数据和行为,度量方法包括:度量对象中度量点的设置、度量的时机和度量的算法;
判定机制用于根据判定策略,通过可信基准库对度量结果进行综合判定,并将判定结果发送给控制机制,判定策略包括:度量结果与基准值的比较方式、不同度量结果的权重值和综合计算方法;
可信基准库用于存储、查询和更新可信基准值;
支撑机制用于访问和管理U-key类信任根。
当应用的系统行为为系统调用行为时,可信软件基对系统调用行为进行度量和控制的过程包括:控制机制拦截系统调用行为,获取系统调用行为的相关信息,根据控制策略将系统调用行为的相关信息发送给度量机制进行度量,度量机制根据度量策略对系统调用行为的相关信息进行度量,将度量结果发送给判定机制,判定机制根据判定策略,通过可信基准库对度量结果进行综合判定,并将判定结果发送给控制机制,控制机制接收判定结果,根据判定结果对系统调用行为进行控制。
加密软件
加密软件用于在U-Key类信任根的支撑下进行文件加解密,在进行文件加密时,将用户身份信息与加密后的文件进行封装,在进行文件解密时,对用户身份信息进行验证,验证通过后对加密后的文件进行解密。
在可信计算平台与U-Key类信任根连接后,可信软件基调用U-Key类信任根进行用户身份信息认证,若认证通过则可信计算平台中生成加解密目录,加密软件进行文件加解密;在可信计算平台与U-Key类信任根断开连接后,可信软件基隐藏加解密目录。
加密软件进行文件加密包括:加密软件在检测到存在待加密的文件时,可信软件基对待加密的文件、加密软件、可信计算平台的系统环境和进程环境进行可信度量,若度量结果可信则加密软件对待加密文件进行加密;
加密软件进行文件解密包括:加密软件在检测到存在待解密的文件时,可信软件基对待解密的文件、加密软件、可信计算平台的系统环境和进程环境进行可信度量,若度量结果可信则加密软件对待解密文件进行解密。
加解密目录包括:用于存储待加密的文件的明文发送目录、用于存储加密后的文件的密文发送目录、用于存储待解密的文件的密文接收目录、用于存储解密后的文件的明文接收目录;加密软件包括:显式加密软件和隐式加密软件,显式加密软件包含人机交互解密,如图3所示,隐式加密软件包括:解密同步线程、解密模块、加密同步线程、加密模块、加密解密控制模块以及可信度量校验模块;
解密同步线程用于在检测到密文接收目录中出现待解密的文件时,调用解密模块对待解密的文件进行解密,并将解密后的文件发送到明文接收目录;
解密模块用于对密文接收目录进行解封装,通过可信软件基对待解密的文件进行可信度量,度量通过后进行解密;
加密同步线程用于在检测到明文发送目录中出现待加密的文件时,调用加密模块对待加密的文件进行加密,并将加密后的文件发送到密文发送目录;
加密模块用于通过可信软件基对待加密的文件进行可信度量,度量通过后进行加密,并将度量结果和待加密的文件进行加密封装;
加密解密控制模块用于对加密和解密过程进行控制;
可信度量校验模块用于调用可信软件基进行可信度量。调用可信软件基可信度量的功能,获取可信度量数据,以及接收可信度量数据,调用远程可信验证功能对可信度量数据进行验证。
隐式加密软件还用于定期检查同步明文发送目录与密文发送目录之间的文件和密文接收目录与明文接收目录之间的文件。
对于隐式加密来说,由于监控的目标目录中的文件内容随时可能发生变化,即使在传输过程中(从普通目录往明文发送目录拷贝需要一定的时间),后台监控程序可能在拷贝结束之前就会调用加密命令。因此,有必要定期检查同步“明文发送目录”与“密文发送目录”以及“密文接收目录”与“明文接收目录”之间的文件。
隐式加密与显式加密最大的不同就是两个对应目录之间的文件内容同步。文件同步中主要考虑内外两个前置机之间的同步,因此采用“最后修改时间”作为同步依据,一旦时间发生变化,则将数据进行同步处理。同步成功之后将目标目录中的同名文件的“最后修改时间”修改为源前置机中同一文件的“最后修改时间”。
同步需要支持下述的特性:
(1)同步初始化,程序启动时对目的端和源端的文件“最后修改时间”进行对比,一旦目的目录中的文件修改时间陈旧,则进行同步工作;
(2)单向同步,根据需求,两对同步目录中的同步方向都是单向的:
①明文发送目录到密文发送目录之间的同步;
②密文接收目录到明文接收目录之间的同步。
可信计算平台还包括:密钥与策略管理软件,用于为U-Key类信任根颁发证书并进行证书管理,采集用户身份认证信息(例如指纹、虹膜等)并形成模板,制定并存储安全策略,以及证书模板、用户身份认证信息模板和下发策略的任务;基本信任基具体通过调用U-key类信任根提供的度量接口对可信软件基的其他组成部分进行度量,通过可信策略密钥与策略管理软件对基本信任基进行更新操作。
可信计算平台还包括:白名单应用模块和访问控制模块;
白名单应用模块
1.白名单的生成
白名单在系统初始化的时候进行采集,由扫描进程在安装过程中调用本地哈希算法计算每个可执行文件的摘要值,生成白名单信息。除应用层程序外,还包括内核驱动程序。扫描采集进程完成数据采集,将采集到的信息追加到白名单库当中。
2.白名单的构成
白名单记录由管理员进行配置,首先确定终端上需要用到的所有的应用程序的信息。由于应用程序在工作的过程中需要加载若干相关的动态库,因此同时需要确定其加载的所有动态库的信息。白名单文件即包含:可执行应用及动态库的名称和对应的摘要值。
3.白名单工作原理和工作流程
引导完成以后,信任链的维护过程主要由白名单驱动程序完成。白名单驱动要尽快加载启动;白名单驱动对在用户动态加载的应用、服务或外部设备驱动等进行拦截,调用本地哈希算法对拦截到应用、服务或外部设备驱动进行检验运算,并与白名单配置文件(白名单库)比对,如一致则允许加载,否则拒绝加载。
白名单应用模块用于在操作系统初始化时采集白名单,生成白名单文件并添加进白名单库中,白名单文件包含可执行应用及动态库的名称和对应的摘要值;启动加载白名单驱动,白名单驱动用于拦截用户动态加载的应用、服务或外部设备驱动,调用本地哈希算法对拦截的用户动态加载的应用、服务或外部设备驱动进行检验运算,并将其与白名单库中的文件进行比对,如一致则允许加载,否则拒绝加载。
访问控制模块
访问控制模块用于当U-key类信任根未插入USB接口或者插入USB接口且未通过用户身份认证时,禁止应用程序访问明文发送目录、密文发送目录、密文接收目录和明文接收目录,同时通过驱动层模块对明文发送目录、密文发送目录、密文接收目录和明文接收目录进行隐藏。
明文发送目录:将利用加密虚拟磁盘和ntfs挂载点实现。NTFS(New TechnologyFile System)是WindowsNT环境的文件系统,它支持创建挂载点(加FILE_FLAG_OPEN_REPARSE_POINT标记),明文发送目录实际上为一个NTFS文件系统的挂载点,下面挂载一个虚拟磁盘。虚拟磁盘采取透明加密解密技术进行加密保护:当用户身份认证通过时,系统将自动挂载该磁盘。对于使用者来说,该操作是透明的。当信任根拔出时,系统将删除磁盘中的文件,同时卸载该磁盘。当信任根拔出时,系统会通过驱动程序隐藏和保护明文发送目录。
明文接收目录:仍然采用加密虚拟磁盘和ntfs挂载点实现。当用户身份认证通过时,系统将自动挂载该磁盘。对于使用者来说,该操作是透明的。当信任根拔出时,系统将卸载该磁盘。由于磁盘是采用加密文件虚拟的,一旦卸载,数据将受到加密保护,杜绝了泄密的可能性。当信任根拔出时,系统会通过驱动程序隐藏和保护明文接收目录。
密文接收目录和密文发送目录:这两个目录由系统初始化时指定,内核驱动对这两个目录进行保护:阻止对目录的删除、移动和修改名字的操作。当信任根拔出时,系统会通过驱动程序隐藏这两个目录。当用户身份通过认证,正常工作时,系统驱动会撤销对这两个目录的隐藏。
如图4所示,本发明还提供一种可信加密方法,方法包括:
S1、在U-key类信任根与可信计算平台连接后,通过U-key类信任根对可信计算平台的操作系统和可信软件基进行引导度量,若度量结果可信则可信软件基对可信计算平台中的应用程序进行可信度量,应用程序包括加密软件;
S2、若加密软件的度量结果可信,则加密软件在U-Key类信任根的支撑下进行加解密,其中,在加密软件进行加解密过程中,可信软件基在U-Key类信任根的支撑下,对加密软件以及加密软件所依赖的执行环境进行可信度量,加密软件所依赖的执行环境包括:可信计算平台运行时的系统环境和进程环境。
步骤S2包括:
加密软件进行文件加密包括:加密软件在检测到存在待加密的文件时,可信软件基对待加密的文件、加密软件、可信计算平台的系统环境和进程环境进行可信度量,若度量结果可信则加密软件对待加密文件进行加密;
具体地,加密同步线程在检测到明文发送目录中出现待加密的文件时,通过可信度量校验模块调用可信软件基对待加密的文件、加密软件、可信计算平台的系统环境和进程环境进行可信度量,若度量结果可信则加密同步线程调用加密模块对待加密的文件进行加密,并将加密后的文件发送到密文发送目录;加密模块通过可信软件基对待加密的文件进行可信度量,度量通过后进行加密,并将度量结果和待加密的文件进行加密封装。
加密软件进行文件解密包括:加密软件在检测到存在待解密的文件时,可信软件基对待解密的文件、加密软件、可信计算平台的系统环境和进程环境进行可信度量,若度量结果可信则加密软件对待解密文件进行解密。
具体地,解密同步线程在检测到密文接收目录中出现待解密的文件时,通过可信度量校验模块调用可信软件基对待加密的文件、加密软件、可信计算平台的系统环境和进程环境进行可信度量,若度量结果可信则解密同步线程调用解密模块对待解密的文件进行解密,并将解密后的文件发送到明文接收目录;解密模块对密文接收目录进行解封装,通过可信软件基对待解密的文件进行可信度量,度量通过后进行解密。
实施例一
可信加密方法主要包括启动流程和加解密流程。
启动流程:
启动流程是加解密流程的前置流程,通过重启电脑利用U-Key类信任根对系统和应用的初态环境进行可信度量,建立信任链,确保下一阶段可信软件基和显式/隐式加密软件应用的安全性。
启动过程为插入信任根->启动电脑->信任根引导度量->可信软件基启动度量环境->显式/隐式加密软件启动。
加解密流程:
加解密流程是加密的主要过程,其中涉及U-Key类信任根、可信软件基、加解密软件的多个过程的相互配合。加解密流程如图5所示。
首先,可信软件基调用U-Key类信任根闪灯提示进行用户身份认证,用户身份信息认证通过后,依据可信策略执行访问控制、白名单保护等机制,出现明文发送目录、明文接收目录、明文编辑目录、密文接收目录、密文发送目录,使用者将需要加解密的文件拷入对应的目录。
加密工作:可信软件基主动对需要加密的数据文件进行可信度量,度量结果可信则加密软件对加密目录(明文发送目录)中的文件加密,加密软件调用信任根对度量结果和加密文件进行封装和签名。
解密工作:加密软件对解密目录(密文接收目录)进行解封装,可信软件基读取解密文件,验证可信度量结果,对度量结果进行可信验证,验证通过后加密软件调用信任根对解密目录中的文件进行解密。
当加密工作和解密工作完成后,拔出信任根,可信软件基进行明文清理,并开启保护机制,隐藏加密目录和解密目录。
本发明提供的一种可信加密系统及方法,相比于现有技术,存在以下几个方面的优点:
1)主动免疫机制方面
传统的加密软件系统只考虑了加密环节和加密本身的安全性,没有考虑到在加解密过程中病毒木马对加解密程序的干扰和破坏。本发明的可信加密系统采用可信计算技术在加解密过程中对可执行代码进行可信控制,阻止病毒、恶意代码的运行,保障了加解密过程中数据的安全性。
2)可信环境保障方面
传统加密软件系统在进行加解密时,无法确定自身程序的完整性和所依赖环境的安全性,也缺乏对系统环境和程序自身的保护措施。本发明的可信加密系统在进行加解密前需要重启电脑进行可信引导,从启动开始进行一步步的可信环境度量,如果没有通过可信度量,对方可判断加解密的文件不可信,不进行使用。同时可信软件基基于内核实现,有较强的系统控制和保护能力,在进行加解密时可信软件基会开启保护策略进行白名单、访问控制等保护,提供加密软件工作时的安全性。
传统加密软件在不工作时并不运行,容易遭到各种手段的攻击和破坏。而可信软件基是常驻内存的保护机制,全程监控系统变化,只是在进行加解密工作时启动特定的安全策略,这样一方面解决了安全性保护,另一方面也解决了易用性的问题。
传统加密软件的安全策略是存于硬盘中,容易遭到破坏篡改。本发明的可信加密系统的安全策略可存于U-key类信任根中,由U-key类信任根提供安全的存储区域进行安全存储。
传统加密软件在系统工作完成后对磁盘上的数据没有很好的安全处理和保护。本发明的可信加密系统对加密的明文提供虚拟磁盘的安全保护,在U-key类信任根工作时,明文展现进行业务工作;拔出U-key类信任根后加密存储于虚拟磁盘上,加载此虚拟磁盘需要通过U-key类信任根才能完成。
3)用户身份检测方面
传统加密软件系统使用口令或证书的方式来验证使用者的身份,并不能准确确定使用者的真实身份。本发明的可信加密系统结合活体身份检测技术可以准确鉴别用户真实身份。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其同等技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (10)
1.一种可信加密系统,其特征在于,所述可信加密系统包括:可信计算平台和U-Key类信任根,所述U-Key类信任根作为所述可信计算平台的信任链起点,用于支撑所述可信计算平台的可信度量工作和加解密工作;
所述可信计算平台包括:可信软件基和加密软件;
所述可信软件基用于在所述U-Key类信任根的支撑下,对所述加密软件以及所述加密软件所依赖的执行环境进行可信度量,所述加密软件所依赖的执行环境包括:所述可信计算平台启动时的启动环境、所述可信计算平台运行时的系统环境和进程环境;
所述加密软件用于在所述U-Key类信任根的支撑下进行加解密。
2.根据权利要求1所述的一种可信加密系统,其特征在于,所述U-Key类信任根包括:可信与密码运算模块、用户身份认证模块和可信引导模块;
所述可信与密码运算模块用于为所述可信计算平台提供密码算法服务;
所述用户身份认证模块用于对所述用户身份信息进行认证;
所述可信引导模块的通用存储空间中存储有引导度量程序,所述引导度量程序用于引导度量所述可信计算平台的操作系统以及所述可信软件基。
3.根据权利要求1所述的一种可信加密系统,其特征在于,对所述可信计算平台启动时的启动环境的可信度量包括:
所述U-key类信任根作为信任链的起始点,对所述可信计算平台的启动加载器进行可信度量,若度量结果可信则信任链扩展至所述启动加载器;
嵌入到所述启动加载器中的所述可信软件基的基本信任基对所述可信计算平台的宿主机基础软件和嵌入到所述宿主机基础软件中的所述可信软件基的其他组成部分进行可信度量,若度量结果可信则信任链扩展至所述可信软件基;
在所述可信计算平台的应用程序启动时,所述可信软件基对所述应用程序进行可信度量,所述应用程序包括所述加密软件。
4.根据权利要求1所述的一种可信加密系统,其特征在于,所述可信软件基用于在所述可信计算平台运行时对其进行动态度量,所述动态度量包括:行为触发度量、周期触发度量;
所述行为触发度量包括:当检测到行为触发钩子点时,根据可信策略对所述行为及所述行为所依赖的所述系统环境和所述进程环境进行度量,根据度量结果对所述行为进行控制;
所述周期触发度量包括:每隔预定周期对所述可信计算平台运行时的所述系统环境和所述进程环境进行度量,根据度量结果对所述可信计算平台进行控制。
5.根据权利要求1所述的一种可信加密系统,其特征在于,所述加密软件用于在所述U-Key类信任根的支撑下进行文件加解密,在进行文件加密时,将用户身份信息与加密后的文件进行封装,在进行文件解密时,对所述用户身份信息进行验证,验证通过后对所述加密后的文件进行解密。
6.根据权利要求1所述的一种可信加密系统,其特征在于,在所述可信计算平台与所述U-Key类信任根连接后,所述可信软件基调用所述U-Key类信任根进行用户身份信息认证,若认证通过则所述可信计算平台中生成加解密目录,所述加密软件进行文件加解密;在所述可信计算平台与所述U-Key类信任根断开连接后,所述可信软件基隐藏所述加解密目录。
7.根据权利要求6所述的一种可信加密系统,其特征在于,
所述加密软件进行文件加密包括:所述加密软件在检测到存在待加密的文件时,所述可信软件基对所述待加密的文件、所述加密软件、所述可信计算平台的系统环境和进程环境进行可信度量,若度量结果可信则所述加密软件对待加密文件进行加密;
所述加密软件进行文件解密包括:所述加密软件在检测到存在待解密的文件时,所述可信软件基对所述待解密的文件、所述加密软件、所述可信计算平台的系统环境和进程环境进行可信度量,若度量结果可信则所述加密软件对待解密文件进行解密。
8.根据权利要求6所述的一种可信加密系统,其特征在于,所述加解密目录包括:用于存储待加密的文件的明文发送目录、用于存储加密后的文件的密文发送目录、用于存储待解密的文件的密文接收目录、用于存储解密后的文件的明文接收目录;所述加密软件包括:显式加密软件和隐式加密软件,所述隐式加密软件包括:解密同步线程、解密模块、加密同步线程、加密模块、加密解密控制模块以及可信度量校验模块;
所述解密同步线程用于在检测到所述密文接收目录中出现待解密的文件时,调用所述解密模块对所述待解密的文件进行解密,并将解密后的文件发送到所述明文接收目录;
所述解密模块用于对所述密文接收目录进行解封装,通过所述可信软件基对所述待解密的文件进行可信度量,度量通过后进行解密;
所述加密同步线程用于在检测到所述明文发送目录中出现待加密的文件时,调用所述加密模块对所述待加密的文件进行加密,并将加密后的文件发送到所述密文发送目录;
所述加密模块用于通过所述可信软件基对所述待加密的文件进行可信度量,度量通过后进行加密,并将度量结果和待加密的文件进行加密封装;
所述加密解密控制模块用于对加密和解密过程进行控制;
所述可信度量校验模块用于调用所述可信软件基进行可信度量。
9.一种可信加密方法,其特征在于,应用于权利要求1-8任一项所述的一种可信加密系统,所述方法包括:
S1、在U-key类信任根与可信计算平台连接后,通过所述U-key类信任根对所述可信计算平台的操作系统和可信软件基进行引导度量,若度量结果可信则所述可信软件基对所述可信计算平台中的应用程序进行可信度量,所述应用程序包括加密软件;
S2、若所述加密软件的度量结果可信,则所述加密软件在所述U-Key类信任根的支撑下进行加解密,其中,在所述加密软件进行加解密过程中,所述可信软件基在所述U-Key类信任根的支撑下,对所述加密软件以及所述加密软件所依赖的执行环境进行可信度量,所述加密软件所依赖的执行环境包括:所述可信计算平台运行时的系统环境和进程环境。
10.根据权利要求9所述的一种可信加密方法,其特征在于,步骤S2包括:
所述加密软件进行文件加密包括:所述加密软件在检测到存在待加密的文件时,所述可信软件基对所述待加密的文件、所述加密软件、所述可信计算平台的系统环境和进程环境进行可信度量,若度量结果可信则所述加密软件对待加密文件进行加密;
所述加密软件进行文件解密包括:所述加密软件在检测到存在待解密的文件时,所述可信软件基对所述待解密的文件、所述加密软件、所述可信计算平台的系统环境和进程环境进行可信度量,若度量结果可信则所述加密软件对待解密文件进行解密。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910396361.5A CN110188547B (zh) | 2019-05-14 | 2019-05-14 | 一种可信加密系统及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910396361.5A CN110188547B (zh) | 2019-05-14 | 2019-05-14 | 一种可信加密系统及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110188547A true CN110188547A (zh) | 2019-08-30 |
CN110188547B CN110188547B (zh) | 2021-05-14 |
Family
ID=67716124
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910396361.5A Active CN110188547B (zh) | 2019-05-14 | 2019-05-14 | 一种可信加密系统及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110188547B (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112035844A (zh) * | 2020-08-31 | 2020-12-04 | 全球能源互联网研究院有限公司 | 一种终端信任状态的采集系统、方法及计算机设备 |
CN112149132A (zh) * | 2020-09-08 | 2020-12-29 | 北京工业大学 | 一种主动免疫的大数据可信计算平台 |
CN112527358A (zh) * | 2020-12-16 | 2021-03-19 | 中安可信(青岛)网络科技有限公司 | 一种基于自我度量的可信应用可信度量方法、装置及系统 |
CN113222048A (zh) * | 2021-05-26 | 2021-08-06 | 郑州轻工业大学 | 一种基于人工免疫的疫苗接种与疫苗数据融合方法 |
US20220108001A1 (en) * | 2020-10-07 | 2022-04-07 | WhiteBeam Security, Incorporated | System for detecting and preventing unauthorized software activity |
CN114385248A (zh) * | 2020-10-22 | 2022-04-22 | 四零四科技股份有限公司 | 处理信任链的计算系统及装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8909940B2 (en) * | 2008-06-23 | 2014-12-09 | Intel Corporation | Extensible pre-boot authentication |
CN104573549A (zh) * | 2014-12-25 | 2015-04-29 | 中国科学院软件研究所 | 一种可信的数据库机密性保护方法及系统 |
CN105354493A (zh) * | 2015-10-22 | 2016-02-24 | 中国人民解放军装备学院 | 基于虚拟化技术的终端可信增强方法及系统 |
CN106372487A (zh) * | 2016-08-30 | 2017-02-01 | 孙鸿鹏 | 一种服务器操作系统可信增强方法及系统 |
CN106991329A (zh) * | 2017-03-31 | 2017-07-28 | 山东超越数控电子有限公司 | 一种基于国产tcm的可信计算单元及其运行方法 |
-
2019
- 2019-05-14 CN CN201910396361.5A patent/CN110188547B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8909940B2 (en) * | 2008-06-23 | 2014-12-09 | Intel Corporation | Extensible pre-boot authentication |
CN104573549A (zh) * | 2014-12-25 | 2015-04-29 | 中国科学院软件研究所 | 一种可信的数据库机密性保护方法及系统 |
CN105354493A (zh) * | 2015-10-22 | 2016-02-24 | 中国人民解放军装备学院 | 基于虚拟化技术的终端可信增强方法及系统 |
CN106372487A (zh) * | 2016-08-30 | 2017-02-01 | 孙鸿鹏 | 一种服务器操作系统可信增强方法及系统 |
CN106991329A (zh) * | 2017-03-31 | 2017-07-28 | 山东超越数控电子有限公司 | 一种基于国产tcm的可信计算单元及其运行方法 |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112035844A (zh) * | 2020-08-31 | 2020-12-04 | 全球能源互联网研究院有限公司 | 一种终端信任状态的采集系统、方法及计算机设备 |
CN112149132A (zh) * | 2020-09-08 | 2020-12-29 | 北京工业大学 | 一种主动免疫的大数据可信计算平台 |
US20220108001A1 (en) * | 2020-10-07 | 2022-04-07 | WhiteBeam Security, Incorporated | System for detecting and preventing unauthorized software activity |
CN114385248A (zh) * | 2020-10-22 | 2022-04-22 | 四零四科技股份有限公司 | 处理信任链的计算系统及装置 |
CN114385248B (zh) * | 2020-10-22 | 2024-04-23 | 四零四科技股份有限公司 | 处理信任链的计算系统及装置 |
CN112527358A (zh) * | 2020-12-16 | 2021-03-19 | 中安可信(青岛)网络科技有限公司 | 一种基于自我度量的可信应用可信度量方法、装置及系统 |
CN112527358B (zh) * | 2020-12-16 | 2024-07-09 | 中安可信(青岛)网络科技有限公司 | 一种基于自我度量的可信应用可信度量方法、装置及系统 |
CN113222048A (zh) * | 2021-05-26 | 2021-08-06 | 郑州轻工业大学 | 一种基于人工免疫的疫苗接种与疫苗数据融合方法 |
CN113222048B (zh) * | 2021-05-26 | 2023-02-17 | 郑州轻工业大学 | 一种基于人工免疫的疫苗接种与疫苗数据融合方法 |
Also Published As
Publication number | Publication date |
---|---|
CN110188547B (zh) | 2021-05-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110188547A (zh) | 一种可信加密系统及方法 | |
US8856544B2 (en) | System and method for providing secure virtual machines | |
US8332930B2 (en) | Secure use of user secrets on a computing platform | |
KR101402509B1 (ko) | 사용자 인증에 기초하여 무결성을 수정하는 방법 및 컴퓨터시스템 | |
CN105099705B (zh) | 一种基于usb协议的安全通信方法及其系统 | |
US8341616B2 (en) | Updating digitally signed active content elements without losing attributes associated with an original signing user | |
WO2011146305A2 (en) | Extending an integrity measurement | |
US10050977B2 (en) | Preventing misuse of code signing certificates | |
Böck et al. | Towards more trustable log files for digital forensics by means of “trusted computing” | |
CN108958768A (zh) | 一种gpu固件更新方法、装置、设备及计算机可读存储介质 | |
CN104680061A (zh) | 一种Android环境下应用程序启动中代码签名验证的方法和系统 | |
CN103888948B (zh) | 一种智能终端移动应用的安全控制方法和装置 | |
US10154023B1 (en) | Method and system for secure instantiation of an operation system within the cloud | |
CN113726726B (zh) | 一种基于边缘计算的电力物联网可信免疫体系及度量方法 | |
US20150264047A1 (en) | Method and system for providing secure communication between multiple operating systems in a communication device | |
EP3217310A1 (en) | Hypervisor-based attestation of virtual environments | |
CN108595983A (zh) | 一种基于硬件安全隔离执行环境的硬件架构、及应用上下文完整性度量方法 | |
CN109784061A (zh) | 控制服务器可信启动的方法及装置 | |
US11531769B2 (en) | Information processing apparatus, information processing method, and computer program product | |
GB2424494A (en) | Methods, devices and data structures for trusted data | |
KR20100054940A (ko) | 임베디드 리눅스에서 서명 검증 방식을 이용한 악성 프로그램 차단 장치 및 방법 | |
EP3356987B1 (en) | Securely writing data to a secure data storage device during runtime | |
CN107086977A (zh) | 应用安全处理方法及装置 | |
US20060064593A1 (en) | Technique for preventing illegal invocation of software programs | |
CN111160905B (zh) | 一种区块链节点用户请求处理保护方法及装置 |
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 |