一种基于可信第三方的云服务行为可信证明方法和系统的制作方法

文档序号:7801412阅读:346来源:国知局
一种基于可信第三方的云服务行为可信证明方法和系统的制作方法
【专利摘要】本发明提出了一种基于可信第三方的云服务行为可信证明方法和系统,涉及信息安全和可信计算【技术领域】。本发明增加了一个独立于云服务提供商以及云服务软件开发商的可信第三方,提高了证明的公正性。本发明对用户来说,具有云服务可信性可证明、支持动态多租户并发环境和隐私保护的特点。本发明通过对比监控到的软件服务实际行为是否超出预先提出的可信声明的预期,向云租户证明软件服务是否可信。现有的可信证明技术大部分通过对平台中软硬件完整性信息进行静态证明,证明信息只反映运行前的软硬件完整性,本方法属于动态证明方法,对软件的动态行为进行检测,可以有效的检测出正在运行的软件的恶意行为。
【专利说明】—种基于可信第三方的云服务行为可信证明方法和系统
【技术领域】
[0001]本发明涉及信息安全和可信计算【技术领域】,尤其涉及一种基于可信第三方的云服务行为可信证明方法和系统。
【背景技术】
[0002]可信计算中的可信证明方法是建立计算平台与用户之间信任关系的重要方法。在云计算环境下,可使用可信计算技术建立云服务与用户之间的信任,使用户能放心使用云服务。
[0003]可信计算组织(Trusted Computing Group, TCG)对可信的定义是:如果一个实体的行为总是按照预期的方式和目标进行,那么它就是可信的。其核心技术是将一个被称为可信平台模块的含有密码运算部件和存储部件的小型硬件芯片插入通用平台,通过信任链保障平台可信。平台配置寄存器(Platform Configuration Register,PCR)是可信平台模块中受保护的寄存器,存储信息摘要值以保证信息的完整性。在云计算环境中,需要实现可信平台模块虚拟化技术保证云虚拟化平台可信。
[0004]现有的软件可信保护方法多为静态保护方法,如=Sailer等人提出的完整性度量架构IMA(integrity measurement architecture)对平台中硬件到软件的静态完整性信息加以度量、报告并验证,保证平台完整性;李晓勇等提出了基于行为的平台可信证明方法,对静态策略进行了处理验证。但云服务的运行是一个动态过程,若服务软件没有按照用户所期望的执行,如:访问或修改了计算中所不需要的用户文件或者访问了某些未知网络,很可能使用户数据遭到破坏,泄露用户的隐私,因此需要保障并向用户证明云服务的动态运行过程是可信的。此外,在多服务、多租户的云平台中会产生大规模行为信息,由于用户之间可能存在利益冲突,资源有限的可信平台模块难以直接隔离和保护这些行为信息,因此现有基于TCG可信计算技术提出的软件保护方法还不能支持面向云计算环境的大规模行为信息保护和用户隐私保护。
[0005]另外,云服务提供商以及云服务软件开发商分别控制服务的运行环境和运行过程,对用户来说都是不可信的。现有的基于动态加密的云数据服务保护方法虽然不需要云服务提供商可信,但实用性较差;云服务软件开发商的行为也无从规范,因此需要独立的公开公正的可信第三方排除云服务提供商以及云服务软件开发商的影响,向用户证明云服务是可/[目的。

【发明内容】

[0006]本发明提供了一种基于可信第三方的云服务行为可信证明方法和系统,从而保证了云服务行为的可信性。
[0007]本发明采用如下技术手段实现:
[0008]基于可信第三方的云服务行为可信证明方法,方法如下:
[0009]步骤1.1:云端证明代理模块接收软件监控模块传来的由主体、客体、行为类型、发生时间以及使用者组成的行为信息,用虚拟可信平台模块计算每条行为信息的摘要值并扩展到平台配置寄存器中,将每对行为信息、摘要值作为一条信息保存到行为日志文件中;
[0010]步骤1.2:云租户向第三方证明服务模块提交云服务行为可信验证请求;
[0011]步骤1.3:第三方证明服务模块向云端证明代理模块发送完整性验证请求;
[0012]步骤1.4:云端证明代理模块收到请求后,计算请求验证的软件的摘要值,并用虚拟机的虚拟可信平台模块对其进行签名后发送给第三方证明服务模块,第三方证明服务模块在收到检验信息后,对签名进行检测,验证信息的来源,然后对比摘要值是否与可信第三方服务器中存储的软件摘要值相同,签名验证及摘要值验证通过,进入步骤1.5,否则向用户报告软件可信验证失败错误信息;
[0013]步骤1.5:第三方证明服务模块向云端证明代理模块发送软件行为检测请求;
[0014]步骤1.6:云端证明代理模块收到来自第三方证明服务模块发来的软件行为检测请求消息后,根据请求消息中请求者和请求验证软件的信息,对行为日志中行为信息的使用者字段和行为主体字段进行匹配,有一项以上不相同则对该条目隐藏其行为信息,只保留其行为信息摘要值,生成用于验证的行为日志,将经过隐私保护处理后的行为日志文件,连同平台配置寄存器中的值,使用虚拟可信平台模块签名后返回给第三方证明服务模块,第三方证明服务模块收到返回的信息后,对签名进行检验,验证消息的来源,来软检测通过后,对于未被隐藏的行为信息,计算其摘要值,扩展到平台配置寄存器中,对其他条目直接将摘要值扩展到平台配置寄存器中,比对计算出来的值与消息中传来的值是否相同,若数值相同,第三方证明服务模块逐条查看行为日志中每条行为信息是否在软件开发商的软件可信行为声明中已声明,当出现未知行为信息时,将此行为信息报告给用户,提醒用户软件出现非可信行为;当所有行为信息均已声明时,即报告用户此软件服务行为可信;
[0015]基于可信第三方的云服务行为可信证明系统,包括:云端证明代理模块和第三方证明服务模块;
[0016]云端证明代理模块,接收来自软件监控模块和第三方证明服务模块传来的消息,根据消息类型执行不同操作,消息类型分为软件行为消息、请求开始软件可信证明消息、请求软件行为验证消息,根据消息的不同做出不同的响应,方法如下:
[0017]步骤2.1:接收到软件监控模块发出的软件行为消息的响应:
[0018](I)计算行为信息摘要值,并扩展到平台配置寄存器中;
[0019](2)将行为信息连同其摘要值写入日志;
[0020]步骤2.2:接收到第三方证明服务模块请求软件可信证明消息的响应:
[0021](I)获得消息中请求验证的软件信息;
[0022](2)计算平台中运行的请求验证的软件的摘要值;
[0023](3)使用虚拟可信平台模块签名软件摘要值后发送给第三方证明服务模块;
[0024]步骤2.3:接收到第三方证明服务模块的请求软件行为验证消息的响应
[0025](I)查看云平台中行为日志信息,对于与请求消息中请求者和请求验证的软件对应字段不匹配的行为条目,隐藏其具体行为信息,只保留其行为摘要值,生成用于验证的行为日志;
[0026](2)将平台配置寄存器值与行为日志使用虚拟可信平台模块签名后发送给第三方服务证明模块;
[0027]第三方证明服务模块发送验证请求消息给云端证明代理模块后,分两步对软件行为进行验证;
[0028]步骤3.1:验证云平台中的软件的完整性,方法如下:
[0029](I)接收云端证明代理模块返回的软件完整性验证信息,对接收到的消息的签名进行检验,验证消息的发出方是否是预期的云平台,实现对消息来源的验证;
[0030](2)查看存储在可信第三方服务器中请求验证的软件的摘要值,与消息中的摘要值进行比对,两者相同,证明软件的完整性未受到破坏;
[0031](3)如果验证通过,向云端证明代理模块发送请求软件行为验证消息,否则报告用户软件相应信息验证失败的消息;
[0032]步骤3.2:验证软件行为是否可信,方法如下:
[0033](I)接收云端证明代理模块返回的软件实际行为验证信息,对信息的签名进行检验,验证信息的来源;
[0034](2)对返回的消息中行为日志的每条信息,若行为信息未被隐藏,计算其摘要值并扩展到平台配置寄存器中,否则直接将日志中该条目的摘要值扩展到平台配置寄存器中;
[0035](3)将平台配置寄存器中的值与消息中寄存器值进行对比,验证行为日志的完整性;
[0036](4)通过完整性检验后,依次提取行为日志中每条行为信息,查看是否在软件开发商所提交的可信行为声明中已被声明,将检测结果报告给用户,当所有行为信息全部已声明时,则证明软件的行为可信;
[0037]云端证明代理模块,包括接收模块、消息处理模块、安全模块、发送模块、记录模块;
[0038]接收模块负责接收软件行为监控模块发来的行为信息,以及第三方证明服务模块发来的完整性验证请求和软件行为检测请求;
[0039]消息处理模块依据请求进行处理,对行为信息,计算其摘要值并扩展到平台配置寄存器中,将此行为信息、摘要值作为一条信息交给记录模块;对完整性请求验证请求信息,交由安全模块;对软件行为检测请求信息,读取记录模块所记录的行为信息,交由安全模块处理;
[0040]安全模块负责处理完整性验证请求消息,计算请求验证的软件的摘要值,用虚拟机中对应虚拟可信平台模块对其进行签名后交给发送模块;收到的消息为软件行为检测请求,依据请求消息中请求者和请求验证软件的信息,对行为日志中行为信息的使用者字段和行为主体字段进行匹配,有一项以上不相同则对该条目隐藏其行为信息,只保留其行为信息摘要值,生成用于验证的行为日志,将经过处理后的行为日志文件,与平台配置寄存器值,使用虚拟可信平台模块签名后交给发送模块;
[0041]发送模块负责将所收到的信息发送给第三方证明服务模块;
[0042]记录模块负责将收到的行为信息及摘要值记录到行为日志中;
[0043]第三方证明服务模块,包括接收模块、签名检测模块、完整性检测模块、请求模块、行为检测模块、报告模块;
[0044]接收模块负责接收用户发来的云服务行为验证请求信息,以及第三方证明服务模块返回的验证所需信息,对用户发来的云服务行为验证请求信息,交由请求模块处理,对第三方证明服务模块返回的信息交由签名检测模块处理;
[0045]签名检测模块负责对信息的签名进行验证,保证信息来源的正确性,并将验证结果交给报告模块,若签名验证通过,根据验证消息的类型,将后续验证工作交给完整性检测模块或行为检测模块;
[0046]完整性检测模块负责比对返回的完整性检测消息中摘要值是否与可信第三方服务器中存储的软件摘要值相同,将结果交给报告模块,若完整性检测通过则通知发送模块;
[0047]请求模块负责收到接收模块的消息后向云端证明代理模块发送软件完整性验证请求,开始证明过程;收到完整性验证模块的消息,向云端证明代理模块发送软件行为检测消息;
[0048]行为检测模块负责对行为日志信息进行检测,对于未被隐藏的行为信息,计算其摘要值,扩展到平台配置寄存器中,否则直接将摘要值扩展到平台配置寄存器中,计算完成后,比对计算出来的平台配置寄存器值与消息中传来的寄存器值是否相同,将结果交给报告模块,若结果相同,则逐条分析行为日志中行为信息的具体内容,对每条行为信息,查看是否在软件开发商的软件可信行为声明中已声明,将结果交给报告模块;[0049]报告模块负责将签名检测模块、完整性检测模块和行为检测模块的检测结果生成?艮告。
[0050]本发明与现有技术相比,具有以下明显的优势和有益效果:
[0051]1.本发明增加了一个独立于云服务提供商以及云服务软件开发商的可信第三方,提高了证明的公正性。对用户来说,云服务具有可信性可证明、支持动态多租户并发环境和隐私保护的特点。本发明通过对比监控到的软件服务实际行为是否超出预先提出的可信声明的预期,向云租户证明软件服务是否可信;现有的可信证明技术大部分通过对平台中软硬件完整性信息进行静态证明,证明信息只反映运行前的软硬件完整性,本方法属于动态证明方法,对软件的动态行为进行检测,可以有效的检测出正在运行的软件的恶意行为;由于云平台具有多租户、多服务并发特点,而可信平台模块PCR数量有限,在云并发环境下使用可信平台模块时会导致存储服务行为的PCR数量不足,本方法的上述证明过程可以解决该问题;针对云租户希望保护其使用云服务产生的行为隐私信息,上述方法对行为日志进行隐私保护处理,是一种支持隐私保护的云服务行为证明方案。
[0052]2.云用户在使用本发明时,可以委托第三方对云服务行为可信性进行监控和证明,保障用户使用云服务的安全。本发明可以动态监控云服务行为,按照云租户要求针对用户恶意行为进行控制。本发明支持云平台的多租户、多服务并发特点,同时保护云租户证明信息的隐私性。本发明中可信证明模块可以使用符合我国标准的可信证明模块,兼容国产硬件设备。
【专利附图】

【附图说明】
[0053]图1基于可信第三方的云服务可信证明方法执行流程图;
[0054]图2基于可信第三方的云服务可信证明系统组成示意图;
[0055]图3云端证明代理模块结构图;[0056]图4第三方证明服务模块结构图。
【具体实施方式】
[0057]基于可信第三方的云服务行为可信证明过程的实现由云端证明代理模块和第三方证明服务模块组成,软件开发商需要根据行为规范对其开发的软件撰写可信行为声明,软件行为规范如表I所示,并将软件及行为声明交给可信第三方。可信第三方需要进行如下可信证明处理:
[0058]1.可信第三方根据行为规范中涉及到的内容,确定需要被监控的行为,找出程序中产生这些行为的函数调用代码,确定监控位置,编写监控代码,代码包括允许或拒绝该行为的控制逻辑以及行为报告逻辑。监控代码由编译器自动插入到原程序中,生成带监控模块的软件。实现对行为规范中涉及到的行为信息进行监控,并将监控信息发送给云端证明代理模块。
[0059]2.可信第三方计算经处理后软件的完整性摘要值(SHAl)并存储,以提供以后的软件完整性验证。
[0060]表I软件行为规范
【权利要求】
1.一种基于可信第三方的云服务行为可信证明方法和系统,包括基于可信第三方的云服务行为可信证明方法、基于可信第三方的云服务行为可信证明系统,其特征在于包括如下步骤: 基于可信第三方的云服务行为可信证明方法,方法如下: 步骤1.1:云端证明代理模块接收软件监控模块传来的由主体、客体、行为类型、发生时间以及使用者组成的行为信息,用虚拟可信平台模块计算每条行为信息的摘要值并扩展到平台配置寄存器中,将每对行为信息、摘要值作为一条信息保存到行为日志文件中; 步骤1.2:云租户向第三方证明服务模块提交云服务行为可信验证请求; 步骤1.3:第三方证明服务模块向云端证明代理模块发送完整性验证请求; 步骤1.4:云端证明代理模块收到请求后,计算请求验证的软件的摘要值,并用虚拟机的虚拟可信平台模块对其进行签名后发送给第三方证明服务模块,第三方证明服务模块在收到检验信息后,对签名进行检测,验证信息的来源,然后对比摘要值是否与可信第三方服务器中存储的软件摘要值相同,签名验证及摘要值验证通过,进入步骤1.5,否则向用户报告软件可信验证失败错误信息; 步骤1.5:第三方证明服务模块向云端证明代理模块发送软件行为检测请求; 步骤1.6:云端证明代理模块收到来自第三方证明服务模块发来的软件行为检测请求消息后,根据请求消息中请求者和请求验证软件的信息,对行为日志中行为信息的使用者字段和行为主体字段进行匹配,有一项以上不相同则对该条目隐藏其行为信息,只保留其行为信息摘要值,生成用于验证的行为日志,将经过隐私保护处理后的行为日志文件,连同平台配置寄存器中的值,使用虚拟可信平台模块签名后返回给第三方证明服务模块,第三方证明服务模块收到返回的信息后,对签名进行检验,验证消息的来源,来软检测通过后,对于未被隐藏的行为信息,计算其摘要值,扩展到平台配置寄存器中,对其他条目直接将摘要值扩展到平台配置寄存器中,比对计算出来的值与消息中传来的值是否相同,若数值相同,第三方证明服务模块逐条查看行为日志中每条行为信息是否在软件开发商的软件可信行为声明中已声明,当出现未知行为信息时,将此行为信息报告给用户,提醒用户软件出现非可信行为;当所有行为信息均已声明时,即报告用户此软件服务行为可信; 基于可信第三方的云服务行为可信证明系统,包括:云端证明代理模块和第三方证明服务模块; 云端证明代理模块,接收来自软件监控模块和第三方证明服务模块传来的消息,根据消息类型执行不同操作,消息类型分为软件行为消息、请求开始软件可信证明消息、请求软件行为验证消息,根据消息的不同做出不同的响应,方法如下: 步骤2.1:接收到软件监控模块发出的软件行为消息的响应: (1)计算行为信息摘要值,并扩展到平台配置寄存器中; (2)将行为信息连同其摘要值写入日志; 步骤2.2:接收到第三方证明服务模块请求软件可信证明消息的响应: (1)获得消息中请求验证的软件?目息; (2)计算平台中运行的请求验 证的软件的摘要值; (3)使用虚拟可信平台模块签名软件摘要值后发送给第三方证明服务模块; 步骤2.3:接收到第三方证明服务模块的请求软件行为验证消息的响应(1)查看云平台中行为日志信息,对于与请求消息中请求者和请求验证的软件对应字段不匹配的行为条目,隐藏其具体行为信息,只保留其行为摘要值,生成用于验证的行为日志; (2)将平台配置寄存器值与行为日志使用虚拟可信平台模块签名后发送给第三方服务证明模块; 第三方证明服务模块发送验证请求消息给云端证明代理模块后,分两步对软件行为进行验证; 步骤3.1:验证云平台中的软件的完整性,方法如下: (1)接收云端证明代理模块返回的软件完整性验证信息,对接收到的消息的签名进行检验,验证消息的发出方是否是预期的云平台,实现对消息来源的验证; (2)查看存储在可信第三方服务器中请求验证的软件的摘要值,与消息中的摘要值进行比对,两者相同,证明软件的完整性未受到破坏; (3)如果验证通过,向云端证明代理模块发送请求软件行为验证消息,否则报告用户软件相应信息验证失败的消息; 步骤3.2:验证软件行为是否可信,方法如下: (1)接收云端证明代理模块返回的软件实际行为验证信息,对信息的签名进行检验,验证信息的来源; (2)对返回的消息中行为日志的每条信息,若行为信息未被隐藏,计算其摘要值并扩展到平台配置寄存器中,否则直接将日志中该条目的摘要值扩展到平台配置寄存器中; (3)将平台配置寄存器中的值与消息中寄存器值进行对比,验证行为日志的完整性; (4)通过完整性检验后,依次提取行为日志中每条行为信息,查看是否在软件开发商所提交的可信行为声明中已被声明,将检测结果报告给用户,当所有行为信息全部已声明时,则证明软件的行为可信; 云端证明代理模块,包括接收模块、消息处理模块、安全模块、发送模块、记录模块; 接收模块负责接收软件行为监控模块发来的行为信息,以及第三方证明服务模块发来的完整性验证请求和软件行为检测请求; 消息处理模块依据请求进行处理,对行为信息,计算其摘要值并扩展到平台配置寄存器中,将此行为信息、摘要值作为一条信息交给记录模块;对完整性请求验证请求信息,交由安全模块;对软件行为检测请求信息,读取记录模块所记录的行为信息,交由安全模块处理; 安全模块负责处理完整性验证请求消息,计算请求验证的软件的摘要值,用虚拟机中对应虚拟可信平台模块对其进行签名后交给发送模块;收到的消息为软件行为检测请求,依据请求消息中请求者和请求验证软件的信息,对行为日志中行为信息的使用者字段和行为主体字段进行匹配,有一项以上不相同则对该条目隐藏其行为信息,只保留其行为信息摘要值,生成用于验证的行为日志,将经过处理后的行为日志文件,与平台配置寄存器值,使用虚拟可信平台模块签名后交给发送模块; 发送模块负责将所收到的信息发送给第三方证明服务模块; 记录模块负责将收到的行为信息及摘要值记录到行为日志中; 第三方证明服务模块,包括接收模块、签名检测模块、完整性检测模块、请求模块、行为检测模块、报告模块; 接收模块负责接收用户发来的云服务行为验证请求信息,以及第三方证明服务模块返回的验证所需信息,对用户发来的云服务行为验证请求信息,交由请求模块处理,对第三方证明服务模块返回的信息交由签名检测模块处理; 签名检测模块负责对信息的签名进行验证,保证信息来源的正确性,并将验证结果交给报告模块,若签名验证通过,根据验证消息的类型,将后续验证工作交给完整性检测模块或行为检测模块; 完整性检测模块负责比对返回的完整性检测消息中摘要值是否与可信第三方服务器中存储的软件摘要值相同,将结果交给报告模块,若完整性检测通过则通知发送模块; 请求模块负责收到接收模块的消息后向云端证明代理模块发送软件完整性验证请求,开始证明过程;收到完整性验证模块的消息,向云端证明代理模块发送软件行为检测消息; 行为检测模块负责对行为日志信息进行检测,对于未被隐藏的行为信息,计算其摘要值,扩展到平台配置寄存器中,否则直接将摘要值扩展到平台配置寄存器中,计算完成后,比对计算出来的平台配置寄存器值与消息中传来的寄存器值是否相同,将结果交给报告模块,若结果相同,则逐条分析行为日志中行为信息的具体内容,对每条行为信息,查看是否在软件开发商的软件可信行为声明中已声明,将结果交给报告模块; 报告模块负责将签名检测模块、完整性检测模块和行为检测模块的检测结果生成报生 口 O
【文档编号】H04L29/06GK103905461SQ201410149573
【公开日】2014年7月2日 申请日期:2014年4月14日 优先权日:2014年4月14日
【发明者】詹静, 蔡磊, 梁毅 申请人:北京工业大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1