电子政务中信息发布真实性保护的研究

2016-02-05 03:35
贵州开放大学学报 2016年4期
关键词:数字签名哈希结点

蒋 红

(贵州广播电视大学 贵阳 550004)

电子政务中信息发布真实性保护的研究

蒋 红

(贵州广播电视大学 贵阳 550004)

电子政务中政府部门通过互联网发布的信息,在通过第三方转发时,如果对其没有约束性,网页有可能被伪造、篡改。文章提出基于Merkle 哈希树和时间戳的方法,对电子政务中发布的信息进行真实性保护,可有效防止信息被篡改和替换。

信息;Merkle哈希树;真实性保护

1 引言

电子政务是政府在国民经济和社会信息化的背景下,以提高政府办公效率和投资环境为目标,将政府的信息发布、管理、服务、沟通功能向国际互联网上迁移的系统解决方案。政府部门在国际互联网上进行信息发布是政务公开的载体和平台,也是政府与社会、企业、民众沟通的桥梁。通过信息发布,公众可以便捷地获取政府信息和服务,使公众与政府关系简单化。

在数据的传输中,一方面,由于网络本身传输性能的可靠性以及物理设备的性能缺陷,可能会导致传输的数据部分丢失;另一方面,数据在传输过程中被恶意攻击者非法篡改,甚至攻击者侵入数据源端(如数据存储服务器)对数据进行非法篡改,这样,获得的数据不但不真实,在某些关键的地方被恶意篡改,还会使用户无法获取完整有价值的信息,给用户造成不便,甚至会带来严重的后果。目前常用的完整性保护技术一般都是消息认证,验证接收到的信息来自真正的发送方并且未被修改。哈希函数是最常用的生成认证消息的方法,如常见的MD5、SHA-3,Myletundeng等 提 出 的 基 于RSA的压缩签名方法,采用可压缩的RSA数字签名一定程度上解决了数据完整性校验问题,但效率却不高。为解决这类问题,人们从不同应用方面提出了许多改进方法。本文针对政府电子政务中信息发布真实性问题,在一般哈希树结构的基础上,提出了基于MHT(Merkle Hash Tree)和时间戳的方法,保护电子政务中发布信息的真实性。

2 相关知识

Merkle哈希树是一种特殊的数字签名方法,它利用安全的Hash函数来构造一个二叉树,实现数字签名和认证。Merkle哈希树是指这样一个二叉树结构:树的每一个叶节点由一个数据的Hash值构成;每个父节点下面的两个子节点的Hash值组合到一起,再进行Hash运算就得到它们的父节点;依此类推直至得到树的根节点。Merkle哈希树的主要优点是仅需通过对树根节点的一次签名运算就可以对所有的叶节点独立地提供真实性验证。

对数据进行散列运算,将散列结果和日期进行签名,生成数字时间戳。时间戳的主要目的就是时间认证,证明某个文档的生成确定时间,带有时间戳的签名方案就是将不可篡改的时间信息纳入数字签名方案。

下面通过一个具体的例子来介绍Merkle 哈希树,如图1所示。对于数据d1,d2,d3,d4,我们可以基于d1,d2,d3,d4构造一棵Merkle 哈希树。每一个叶子节点Ni的值为H(di)(i=1,2,3,4),其中H是一个安全的Hash函数。中间节点的值是通过他们的子节点计算出来的。例如,N12=H(N1//N2)(其中“//”表示连接符),N34=H(N3//N4),R*=H(N12//N34),其中R*是Merkle哈希树的根结点的值。我们定义,为了计算R*,从每一个叶结点到根结点R*之间的结点的值构成了相应的叶结点的认证路径。例如,图1中叶结点d1的认证路径为(N2,N34),d2的认证路径为(N1,N34),d3的认证路径为(N4,N12),d4的认证路径为(N3,N12)。每一个叶结点及其认证路径构成了叶结点的签名。

图1 一个Merkle 哈希树的例子

验证Merkle签名是为了表明某个叶结点是否一定存在于原始的Merkle哈希树中。根据叶结点和相应的认证路径重新计算出Merkle哈希树的根结点的值R**。把R**与原始签名树的根结点的值R*进行比较,如果相等,则表明相应的叶结点一定存在于原始的Merkle哈希树中。

3 真实性保护的方法

3.1 符号说明

A:政府部门;B:用户

(Ksig,Kver):政府部门A的公/私密钥对,政府部门A拥有相应的公钥证书;

Q=SigA(X):表示A用私钥Kver对信息X 进行签名运算,产生数字签名Q;

VerA(Q):表示对A的数字签名Q的验证。

M:表示发布的信息;T:表示网页发布时间;H:代表安全的Hash函数。

3.2 方法和步骤

本文提出的保护政务信息真实性的思想是:政府部门在发布信息时,先对网页构造Merkle 哈希树,将主网页及链接子网页作为叶子节点,计算哈希值,并两两结合,得到Merkle哈希树的根节点的值R(A),对R(A)和信息发布时间T的组合的Hash值进行签名,生成数字时间戳,然后将签名和验证路径附加在网页里发送给第三方转载。客户端在第三方浏览时下载网页、数字签名和验证路径,对网页真实性进行验证。

具体步骤如下:

(1)A先对发布信息网页构造Merkle哈希树;

① 使用单向Hash 函数(如MD5 或 SHA-1)计算各个网页S1,S2,…,Si(i=1,…n)的Hash 值,这些Hash 值作为Merkle哈希树的叶节点的值。

② Merkle哈希树的每个中间节点(包括根节点)的值是将其左右子节点的值拼接后计算出的Hash 值。

假设有4个网页S1,S2,S3和S4,则Merkle哈希树构成如图2所示。

图2 网页为偶数时构造Merkle 哈希树的方法

如果网页是奇数组成,而不是偶数,我们采取的方法是在把孩子层的结点从左到右两两配对后剩下的结点移到本层。如果本层的结点数仍成奇数,则再采取上述方法直至该结点找到与之配对的结点为止,如图3所示。

图3 网页为奇数时构造Merkle 哈希树的方法

(2)A对R(A)和信息发布时间T的组合的Hash值进行数字签名,生成数字时间戳:Q=SigA(H(R(A) //T));

(3)A将签名Q和要发布的各个网页及其验证路径发送给第三方;

(4)B在第三方浏览网页时,下载网页、签名及验证路径;

(5)B验证数字签名:VerA(Q);

(6)B按下载的网页和验证路径重新计算Merkle哈希树的根节点R(B),然后计算H(R(B) //T),并将结果与H(R(A) //T)进行比较,如果相等,则说明网页真实,否则说明网页遭到破坏、篡改或替换。

4 性能分析

安全性讨论:如果有人试图伪造(通过非法修改或替换)网页信息,一种方法是用伪造的网页和其他网页一起重新构造产生另一Merkle哈希树,然后对其根节点伪造A的签名,但是由于第三方不知道A的私钥,因此他无法伪造A的签名;第二种方法是第三方对伪造网页生成相应的认证路径,使得通过它们计算出的根节点的值与合法的R(A)相同,但是由于h()是单向散列函数,这些参数想要从哈希函数逆推出来在计算上是无法实现的,离散对数难题使得这种计算是无法实现的。

时间和空间的开销:存储开销为信息发布时信息所需的存储空间和保存相应的Merkle签名树所需存储空间。假设主网页及其链接的子网页有n个,则验证每个网页需要提供「log2n」个其他节点的值作为Merkle哈希树的认证路径;验证所有的n个网页节点,最坏情况下需要「log2n」×n个其他节点的值作为Merkle哈希树的认证路径。

Hash函数采用SHA-1数据加密法,对于长度小于2^64位的消息,SHA1会产生一个160位的消息摘要,每个节点的值采用20位的存储空间。

表1 额外存储开销

表1中的分析结果表明:本文所提出的模型产生的额外存储开销是可以接受的。

在配置为Intel CPU 2.7GHz,4GRAM的机器上,使用C++语言编写了N=1000参数的算法模拟程序。在程序运行中,全部节点的验证时间为52μs,时间开销是可以接受的。

5 结语

本文所提出的保护信息真实性的方法中,传输的数据除了网页数据以外,还有网页的认证信息,其中主要是网页的认证路径的信息,在政府发布信息时采用本文的方法增加的信息传输量不大,额外开销可以接受。这种基于Merkle树实现电子政务中信息发布真实性校验策略,使用基于时间戳的数字签名的方法保证获得信息的正确性和完整性,开销较小,是一种比较实用的数据真实性保护方法。此种方法还可扩大到实际运用的其它方面,例如云存储完整性检测、云计算中数据安全性检测等等。此种方法对于信息发布的数据量是有效的,对于云存储、云计算中,用户数目巨大,存在成千上万的节点认证路径,使用此方法代价太大,还有待于做进一步的研究扩展。

姚滢.网页防篡改系统的研究与设计方案 .计算机安全,2010(6).

Rivest R.RFC 1321:The MD5 message-digest algorithm. Internet activeties board,1992(143).

Bertoni G, Daemen J, Peeters M, et al. The keccak sha-3 submission. Submission to NIST(Round 3),2011 (8).

Mykletun E. Narasimha M. Tsudik G. Authentication and integrity in outsourced databases. ACM Transactions on Storage,2006 (2).

张晓燕,范冰冰.基于Merkle 树的移动平台文件完整性校验 .计算机系统与应用,2010 (9) .

李添杰,刘述,高强.基于Merkle树的P2P流媒体内容完整性校验 .计算机工程与设计,2015(7).

(责任编辑:谢 鸣)

On Authenticity Protection of Information Release in E-government

JIANG Hong

(Guizhou Radio & TV University Guiyang 550004)

Under the circumstance of e-government, information released by government may be maliciously counterfeited or modified when transmitted via tertiary parties. The author of this thesis puts forward approaches based on Merkle Hash Tree and time stamp to realizing authenticity protection of information release.

Information; Merkle Hash Tree; Authenticity Protection

2016-08-29

蒋红(1968—),女,河南荥阳人,副教授。

1008—2573(2016)04—0055—04

猜你喜欢
数字签名哈希结点
LEACH 算法应用于矿井无线通信的路由算法研究
基于特征选择的局部敏感哈希位选择算法
基于八数码问题的搜索算法的研究
哈希值处理 功能全面更易用
文件哈希值处理一条龙
浅析计算机安全防护中数字签名技术的应用
基于数字签名的QR码水印认证系统
数字签名简述
巧用哈希数值传递文件
掌握方法用好数字签名