在云环境日志取证中实现数据完整性验证的方法

文档序号:7821657阅读:861来源:国知局
在云环境日志取证中实现数据完整性验证的方法
【专利摘要】本发明涉及一种在云环境日志取证中实现数据完整性验证的方法,其中包括:粗粒度时间服务器根据设定的粗粒度时间周期产生相应的数字签名,并将粗粒度时间周期和数字签名发送至日志监控服务器;可信计算模块根据一时间间隔确定细粒度时间,并将细粒度时间作为公钥;日志监控服务器根据公钥更新细粒度时间敏感密钥;日志监控服务器接收云环境的日志块的哈希链和哈希消息认证码,根据细粒度时间敏感密钥生成相应的时间敏感数字签名,并根据验证算法进行日志数据完整性验证。采用本发明的在云环境日志取证中实现数据完整性验证的方法,无需将日志的具体内容提交到日志监控服务器,隐私保护性强,且结构简单,易于实现,具有更广泛的应用范围。
【专利说明】在云环境日志取证中实现数据完整性验证的方法

【技术领域】
[0001] 本发明涉及电子数据取证【技术领域】,尤其涉及云环境下的日志取证【技术领域】,具 体是指一种在云环境日志取证中实现数据完整性验证的方法。

【背景技术】
[0002] 云环境中的日志是重要的证据来源,日志数据包含了系统运行状况以及安全事件 的详细记录。调查者可以通过日志分析获取重要的证据、加速调查进程。然而,由于调查者 缺乏对云环境物理资源的控制,从中收集日志的工作主要得依靠云服务提供者(CSP,Cloud Service Provider)来完成。在这样的场景下,无法有效证明所获取日志的完整性,不得不 假设CSP在记录日志和生成日志完整性证明时是可靠的,但某些事件发生后CSP可能试图 修改、篡改日志。


【发明内容】

[0003] 本发明的目的是克服了上述现有技术的缺点,提供了 一种将日志监控服务器部署 在云环境中,通过可信计算来产生日志完整性的证明,且日志的具体内容无需提交到日志 监控服务器的在云环境日志取证中实现数据完整性验证的方法。
[0004] 为了实现上述目的,本发明的在云环境日志取证中实现数据完整性验证的方法具 有如下构成:
[0005] 该在云环境日志取证中实现数据完整性验证的方法,其主要特点是,所述的云环 境包括粗粒度时间服务器和日志监控服务器,所述的日志监控服务器包括可信计算模块, 所述的方法包括以下步骤:
[0006] (1)所述的粗粒度时间服务器根据设定的粗粒度时间周期产生相应的数字签名, 并将所述的粗粒度时间周期和所相应的数字签名发送至所述的日志监控服务器;
[0007] (2)所述的可信计算模块根据一时间间隔确定细粒度时间,并将所述的细粒度时 间作为公钥;
[0008] (3)所述的日志监控服务器根据所述的公钥更新所述的数字签名相应的细粒度时 间敏感密钥;
[0009] (4)所述的日志监控服务器接收云环境的日志块的哈希链和哈希消息认证码;
[0010] (5)所述的日志监控服务器根据所述的细粒度时间敏感密钥对各个日志块生成相 应的时间敏感数字签名,并根据验证算法进行日志数据完整性验证。
[0011] 进一步地,所述的步骤(4)和(5)之间,还包括以下步骤:
[0012] (4. 1)所述的日志监控服务器根据说所述的哈希链验证所述的哈希消息认证码。
[0013] 进一步地,所述的可信计算模块包括滴答计数器单元,所述的可信计算模块根据 一时间间隔确定细粒度时间,具体为:
[0014] 可信计算模块根据滴答计数器单元和粗粒度时间周期确定细粒度时间。
[0015] 进一步地,所述的可信计算模块包括单调计数器单元,所述的步骤(1)和(2)之 间,还包括以下步骤:
[0016] (1. 1)所述的日志监控服务器验证所述的数字签名,并判断验证结果是否为通过 验证,如果是,则继续步骤(1. 2),否则提示验证失败;
[0017] (1. 2)所述的日志监控服务器将所述的粗粒度时间周期更新至所述的单调计数器 单元中。
[0018] 进一步地,所述的步骤(5)之后,还包括以下步骤:
[0019] (6)所述的可信计算模块重新计算细粒度时间并继续更新所述的数字签名私钥和 所述的公钥。
[0020] 采用了本发明的在云环境日志取证中实现数据完整性验证的方法,云取证过程 中,通过完整性的证明,调查者能够确认CSPs提供的日志是否是可信的,而且,本方案的实 现中日志的具体内容无需提交到日志监控服务器,所以CSPs以及云计算客户端的隐私信 息能很好地受到保护。

【专利附图】

【附图说明】
[0021] 图1为本发明的在云环境日志取证中实现数据完整性验证的方法的流程图。
[0022] 图2为本发明的一个具体实施例的系统结构图。
[0023] 图3为本发明的一个具体实施例的数据交互图。
[0024] 图4为本发明的云服务提供商将哈希消息认证码传送给日志监控服务器的流程 图。

【具体实施方式】
[0025] 为了能够更清楚地描述本发明的技术内容,下面结合具体实施例来进行进一步的 描述。
[0026] 本发明针对现有技术问题,增加日志监控服务器来解决云环境中日志取证中的完 整性证明问题。
[0027] 如图2和3所示,为本发明的一个【具体实施方式】,其云环境中包括:云服务提供商 (Cloud Service Provider,CSP)、取证调查者(Forensics Server,FS)、粗粒度时间服务 器、日志监控服务器(Log Monitoring Server, LMS)、云服务客户端,其中,CSP维护整个云 服务环境,LMS部署在云环境中同CSP配合,实时生成云日志的完整性证明数据,
[0028]此外,CSP包括虚拟机(Virtual Machine,VM),云服务提供商具有日子数据库来存 储日志块的数据(Log DB),日志监控服务器具有日志证明数据库,用于存储日志完整性证 明(Proof)。
[0029] 由可靠的密钥权威方(Key Authority,KA)为粗粒度时间服务生成公私钥,该密 钥用于对粗粒度时间服务发布的时间信息进行数字签名(本文的数字签名就是密码学里 边的数字签名方案),该数字签名采用"普通的数字签名方案,如E⑶SA(Elliptic Curve Digital Signature Algorithm椭圆曲线数字签名算法密钥权威方为LMS生成主密钥, 该密钥为LMS生成细粒度时间敏感的数字签名,该数字签名用于实时生成日志完整性证明 项。LMS上的密钥存储、密钥更新以及数字签名算法在可信计算模块(TPM)中实现。
[0030] 由于密钥权威方主要作用是初始化整个系统的密钥,当系统开始运作后,密钥权 威方并不参与运行,故在图2和3中未画出。
[0031] LMS部署在云环境中同CSP配合,实时生成云日志的完整性证明数据。CSP需 要对日志进行集中管理,然后实时生成日志块的哈希消息认证码(HMAC)和哈希链(HC), 传送给LMS。LMS通过哈希链验证接收到的日志块的HMAC,然后采用TPM中的细粒度 时间敏感密钥,对该日志项生成数字签名,该数字签名采用" Sakai-Ogishi-Kasahara 基于身份的数字签名方案(BELLARE M, NAMPREMPRE C, NEVEN G. Security Proofs for Identity-Based Identification and Signature Schemes[J]. Journal of Cryptology,2009, 22 (1) : 1 - 61.)",保存当前的时间数据(即验证数字签名用的公钥)。
[0032] 本方案中LMS不属于CSP,无法看到日志具体内容,同时LMS需要实时记录CSP - 方日志生成的情况,故让CSP发送日志块的HMAC给LMS进行记录,虽然LMS从HMAC难以获 得日志具体内容,但是不同的日志块几乎不可能生成一样的HMAC,所以采用HMAC来验证取 证过程中获得的日志数据的完整性。
[0033] LMS从粗粒度时间服务上获取当前的粗粒度时间以后,在该时间段(下次接收到 粗粒度时间服务的时间消息之前)按照一定的时间间隔(如一个小时)生成细粒度时间 敏感的密钥,LMS更新时间敏感密钥,细粒度时间敏感的密钥用于实时生成日志完整性证明 项。
[0034] 为了防止LMS上的时间敏感密钥被更新到以前的时间段。通过LMS上的单调计数 器和滴答计数器来计算时间,生成细粒度时间敏感密钥。其中单调计数器用来记录从粗粒 度时间服务获取的时间。
[0035] 取证阶段中,FS从CSP获取日志数据,从LMS获取日志完整性证明,然后可验证所 获取的日志完整性。
[0036] 基于上述实施方式,本发明的一个具体实施例如下:
[0037] 本发明在Sakai-Ogishi-Kasahara基于身份的数字签名方案(简称S0K-IBS)的 基础上来实现细粒度时间敏感的数字签名,如图1所示,具体如下:
[0038] (1)KA 初始化
[0039] 按照S0K-IBS要求设定公开参数,选择好哈希函数;为每个LMSi上配备的TPMi随 机选择主密钥a i并计算相应公钥Xp a ,安全地存于TPMi中,Xi可由FS保存。其中,Xi的 计算方法可参阅S0K-IBS方案文献,其中有详细的计算方法说明。
[0040] 粗粒度时间服务器初始化。该服务器可使用普通的数字签名方案,如 ECDSA (Elliptic Curve Digital Signature Algorithm 捕圆曲线数字签名算法)qKA需要 为粗粒度时间服务设定相应的私钥并生成公钥证书。公钥证书由各个LMS保存。
[0041] 由于在标准的数字签名方案中对"设定相应的私钥并生成公钥证书"都有详细说 明,因此此处略去生成公钥证书的方法步骤;一段数据可以用私钥生成数字签名,然后信息 接收方可用收到的数据和公钥证书验证该数字签名是否有效,是否真是私钥拥有者生成, 从而确保数据来源可靠。
[0042] (2)粗粒度时间同步
[0043] 粗粒度时间周期可以设定的比较长,如1天。当一个新的时间周期开始时,粗粒度 时间服务器生成时间周期d的数字签名〇 d,并发送< d,〇 d >给各个LMS。
[0044] 其中,"〈,>"表示这里边放置了一个n元组,跟"{}"等括号含义类同。数字签名 0 d同KA设定的私钥以及生成公钥证书相关。
[0045] (3)细粒度时间敏感密钥的更新
[0046] TPMi可从自己的主密钥a ,生成细粒度时间敏感的数字签名密钥。细粒度时间t 由粗粒度时间d和TPMi的滴答计数器决定。例如粗粒度时间是一天,则细粒度时间可以是 一小时,细粒度时间(1小时)的字符串为"2014081224",即表示2014年08月12日24时。
[0047] 具体过程如下:
[0048] 当收到< d,〇 d >以后,LMSi验证该数字签名。通过验证后,将d更新到TPMi的单 调计数器me中,由于单调计数器是只能单向更新,例如数值只能增加不能减小,这样做为 了防止细粒度时间t被更新为以前的时间,进而伪造过去时间段日志的完整性证明。
[0049] TPMi通过d和滴答计数器计算出当前时间t,简单的计算方法就是把两个字符串 链接起来,并按S0K-IBS的做法,将字符串t作为公钥更新数字签名所需要的私钥。更新成 功后t就成为了数字签名验证用的公钥。但新的细粒度时间开始后,TPMi重新计算当前时 间t时(由于t由粗粒度时间和TPM滴答计数器共同生成,若细粒度时间为一小时,则每过 一个小时就产生一个新的t),继续更新私钥和公钥。
[0050] S0K签名方案的公钥可是一段字符串,本实施方式中这个公钥就是细粒度时间这 个字符串。S0K签名方案的主密钥是由TPM保留的,TPM可根据细粒度时间字符串的变化重 新生成对应的私钥(数字签名方案中,公钥私钥是一一对应的)。本实施方式中,为了保证 日志完整性记录生成的时间戳正确,所以采用了以时间串作为公钥的数字签名方案。
[0051] (4) CSP传送日志块的HMAC给LMS
[0052] 如图4所示,存储于集中化日志数据库中的未处理的云日志可以被分成多个块, 这里采用了哈希链用来校验网络传输的日志块校验码和划分日志块的顺序。CSP通过以下 公式为日志块log」计算校验码和哈希链:
[0053] HMACj = H(logj);
[0054] HCj = HMACj, machine, process);
[0055] 其中,H是哈希函数,可以是SHA_1,SHA_256等函数。1%等数据作为参数调用该 函数即可。
[0056] 然后传送元组L」=〈Machine, Process, HMAC」,HC」〉给LMS。LMS可用HC」来对数据 进行验证,由于LMS已保存过上次的哈希链HCy,此时,可直接比较已保存的上次的哈希链 与本次刚接收的哈希链是否满足下列恒等式来验证收到的数据是否正确:
[0057] HCj = H (HC^,HMACj, machine, process)。
[0058] (5)日志完整性证明
[0059] 在 t 时刻收到 L」=〈Machine, Process, HMAC」, HC」〉后,LMS 用沒算法为 Lj 计算时间敏感的数字签名% (通过TPM)并放入LPEi中保存,如下所示:
[0060] LPEj =〈Machine,Process,HMACj, HCj, 〇』,t〉;
[0061] 其中,数字签名5 =力^(以"/_(^//(:)〉),该数字签名算法采用sok-IBS,其中, 为数字签名算法,t为细粒度时间,m为消息,此处m为〈HMACp HCj ;LPE表示日 志完整性证明项的含义,即"Log、Proof、Entry"的缩写;Machine就是产生日志的机器; Process是产生日志的进程。
[0062] 在取证时,取证人员收集到具体的日志后并从LMS获得LPE后,计算日志对应的 HMAC和HC,与MAC」和HCj进行比较,并通过以下算法验证数字签名有效性,完成完整性验 证:

【权利要求】
1. 一种在云环境日志取证中实现数据完整性验证的方法,其特征在于,所述的云环境 包括粗粒度时间服务器和日志监控服务器,所述的日志监控服务器包括可信计算模块,所 述的方法包括以下步骤: (1) 所述的粗粒度时间服务器根据设定的粗粒度时间周期产生相应的数字签名,并将 所述的粗粒度时间周期和所相应的数字签名发送至所述的日志监控服务器; (2) 所述的可信计算模块根据一时间间隔确定细粒度时间,并将所述的细粒度时间作 为公钥; (3) 所述的日志监控服务器根据所述的公钥更新所述的数字签名相应的细粒度时间敏 感密钥; (4) 所述的日志监控服务器接收云环境的日志块的哈希链和哈希消息认证码; (5) 所述的日志监控服务器根据所述的细粒度时间敏感密钥对各个日志块生成相应的 时间敏感数字签名,并通过验证该时间敏感数字签名来生成日志数据完整性证明。
2. 根据权利要求1所述的在云环境日志取证中实现数据完整性验证的方法,其特征在 于,所述的步骤⑷和(5)之间,还包括以下步骤: (4. 1)所述的日志监控服务器根据说所述的哈希链验证所述的哈希消息认证码。
3. 根据权利要求1所述的在云环境日志取证中实现数据完整性验证的方法,其特征在 于,所述的可信计算模块包括滴答计数器单元,所述的可信计算模块根据一时间间隔确定 细粒度时间,具体为: 可信计算模块根据滴答计数器单元和粗粒度时间周期确定细粒度时间。
4. 根据权利要求1所述的在云环境日志取证中实现数据完整性验证的方法,其特征在 于,所述的可信计算模块包括单调计数器单元,所述的步骤(1)和(2)之间,还包括以下步 骤: (1. 1)所述的日志监控服务器验证所述的数字签名,并判断验证结果是否为通过验证, 如果是,则继续步骤(1. 2),否则提示验证失败; (1. 2)所述的日志监控服务器将所述的粗粒度时间周期更新至所述的单调计数器单元 中。
5. 根据权利要求1所述的在云环境日志取证中实现数据完整性验证的方法,其特征在 于,所述的步骤(5)之后,还包括以下步骤: (6) 所述的可信计算模块重新计算细粒度时间并继续更新所述的数字签名私钥和所述 的公钥。
【文档编号】H04L29/08GK104392185SQ201410719425
【公开日】2015年3月4日 申请日期:2014年12月1日 优先权日:2014年12月1日
【发明者】张勇, 吴松洋, 熊雄, 何俊峰, 刘善军, 孔华锋 申请人:公安部第三研究所
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1