发明名称 一种基于可信第三方的云服务行为可信证明方法和系统
摘要 本发明提出了一种基于可信第三方的云服务行为可信证明方法和系统,涉及信息安全和可信计算技术领域。本发明增加了一个独立于云服务提供商以及云服务软件开发商的可信第三方,提高了证明的公正性。本发明对用户来说,具有云服务可信性可证明、支持动态多租户并发环境和隐私保护的特点。本发明通过对比监控到的软件服务实际行为是否超出预先提出的可信声明的预期,向云租户证明软件服务是否可信。现有的可信证明技术大部分通过对平台中软硬件完整性信息进行静态证明,证明信息只反映运行前的软硬件完整性,本方法属于动态证明方法,对软件的动态行为进行检测,可以有效的检测出正在运行的软件的恶意行为。
申请公布号 CN103905461A 申请公布日期 2014.07.02
申请号 CN201410149573.0 申请日期 2014.04.14
申请人 北京工业大学 发明人 詹静;蔡磊;梁毅
分类号 H04L29/06(2006.01)I 主分类号 H04L29/06(2006.01)I
代理机构 北京思海天达知识产权代理有限公司 11203 代理人 张慧
主权项 一种基于可信第三方的云服务行为可信证明方法和系统,包括基于可信第三方的云服务行为可信证明方法、基于可信第三方的云服务行为可信证明系统,其特征在于包括如下步骤:基于可信第三方的云服务行为可信证明方法,方法如下:步骤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)通过完整性检验后,依次提取行为日志中每条行为信息,查看是否在软件开发商所提交的可信行为声明中已被声明,将检测结果报告给用户,当所有行为信息全部已声明时,则证明软件的行为可信;云端证明代理模块,包括接收模块、消息处理模块、安全模块、发送模块、记录模块;接收模块负责接收软件行为监控模块发来的行为信息,以及第三方证明服务模块发来的完整性验证请求和软件行为检测请求;消息处理模块依据请求进行处理,对行为信息,计算其摘要值并扩展到平台配置寄存器中,将此行为信息、摘要值作为一条信息交给记录模块;对完整性请求验证请求信息,交由安全模块;对软件行为检测请求信息,读取记录模块所记录的行为信息,交由安全模块处理;安全模块负责处理完整性验证请求消息,计算请求验证的软件的摘要值,用虚拟机中对应虚拟可信平台模块对其进行签名后交给发送模块;收到的消息为软件行为检测请求,依据请求消息中请求者和请求验证软件的信息,对行为日志中行为信息的使用者字段和行为主体字段进行匹配,有一项以上不相同则对该条目隐藏其行为信息,只保留其行为信息摘要值,生成用于验证的行为日志,将经过处理后的行为日志文件,与平台配置寄存器值,使用虚拟可信平台模块签名后交给发送模块;发送模块负责将所收到的信息发送给第三方证明服务模块;记录模块负责将收到的行为信息及摘要值记录到行为日志中;第三方证明服务模块,包括接收模块、签名检测模块、完整性检测模块、请求模块、行为检测模块、报告模块;接收模块负责接收用户发来的云服务行为验证请求信息,以及第三方证明服务模块返回的验证所需信息,对用户发来的云服务行为验证请求信息,交由请求模块处理,对第三方证明服务模块返回的信息交由签名检测模块处理;签名检测模块负责对信息的签名进行验证,保证信息来源的正确性,并将验证结果交给报告模块,若签名验证通过,根据验证消息的类型,将后续验证工作交给完整性检测模块或行为检测模块;完整性检测模块负责比对返回的完整性检测消息中摘要值是否与可信第三方服务器中存储的软件摘要值相同,将结果交给报告模块,若完整性检测通过则通知发送模块;请求模块负责收到接收模块的消息后向云端证明代理模块发送软件完整性验证请求,开始证明过程;收到完整性验证模块的消息,向云端证明代理模块发送软件行为检测消息;行为检测模块负责对行为日志信息进行检测,对于未被隐藏的行为信息,计算其摘要值,扩展到平台配置寄存器中,否则直接将摘要值扩展到平台配置寄存器中,计算完成后,比对计算出来的平台配置寄存器值与消息中传来的寄存器值是否相同,将结果交给报告模块,若结果相同,则逐条分析行为日志中行为信息的具体内容,对每条行为信息,查看是否在软件开发商的软件可信行为声明中已声明,将结果交给报告模块;报告模块负责将签名检测模块、完整性检测模块和行为检测模块的检测结果生成报告。
地址 100124 北京市朝阳区平乐园100号