基于数字签名和数字水印技术的电子签章算法研究

2012-01-06 02:31王海瑶
河北工业科技 2012年3期
关键词:签章数字水印极大值

黄 敏,赵 艳,王海瑶

(1.河北科技大学信息科学与工程学院,河北石家庄 050018;2.福建江夏学院工商管理系,福建福州 350108)

基于数字签名和数字水印技术的电子签章算法研究

黄 敏1,赵 艳1,王海瑶2

(1.河北科技大学信息科学与工程学院,河北石家庄 050018;2.福建江夏学院工商管理系,福建福州 350108)

将数字签名技术、数字水印技术和时间戳技术相结合提出了一种电子签章的实现算法。该算法在数字签名中添加时间戳信息,进一步提高了签章的安全性和抗攻击性。在签章算法中设计了一个基于小波分解信号的局部极大值的数字水印嵌入算法,可以将签名信息作为水印嵌入到签章图片中,增强了签章信息的隐蔽性。经过仿真实验,该方案能够较好地完成电子商务交易中的合同签章应用,实现身份认证和保证合同文本的完整性和不可篡改性。

数字签名;数字水印;时间戳;电子签章

随着互联网的广泛应用,电子商务的应用已经深入到社会经济生活的各个领域。但伴随着电子商务行业蓬勃发展的同时也带来了许多法律问题,如网络通信的安全与隐私保护问题、知识产权问题、电子支付问题、电子合同问题、交易认证问题等等。电子签名问题也是其中一个重要方面。在传统的交易过程中,书面合同文件的法律效力体现在使用印章或企业法人的手写签名来完成身份认证。然而这种传统的手工盖章与签名已不能适应现代化的电子商务交易模式。《电子签名法》于2005-04-01在中国正式施行,其中明确指出:可靠的电子签名与手写签名或者盖章具有同等的法律效力[1]。这项法律规定使得以电子签章的形式实现身份认证保障电子合同在交易过程中的安全成为了可能。

电子签章是电子签名的一种特定形式,是数字签名的一种可视化的表现形式。在电子商务交易模式中,合同或文件需要以电子文件的形式表现和传递,但是在电子文件上是无法直接进行手工签名或盖章的。能够在电子文件中识别双方的真实身份,保证传输或交易的安全性、真实性及不可抵赖性,起到与手写签名或盖章同等作用的签名的电子技术手段,称之为电子签名。文献[2]提出使用组合公钥(CPK)技术实现电子签章。文献[3]提出利用时间戳技术实现电子签章的实现方案。文献[4]和文献[5]提出将数字水印技术和PKI技术相结合实现电子签章系统的方案。这些研究在一定程度上对电子签章技术进行了改进,但如何将数字签名技术、数字水印技术和时间戳技术相结合,进一步加强电子签章的安全性和保密性,是目前制约数字水印技术在电子签章系统上应用的一个难题。

笔者利用数字签名技术、数字水印技术和时间戳技术相结合设计了一个电子签章算法,完成对电子合同的加密、签名和认证。该方案有效地解决了电子商务交易过程中电子合同的完整性、防伪造性、防篡改性等安全问题。

1 电子签章的技术原理

1.1 PKI与数字签名

PKI(public key infrastructure,公钥基础设施)是指用公钥概念和技术来实施和提供安全服务的具有普适性的安全基础设施。它是国际上解决开放式互联网络信息安全需求的一套体系。PKI体系支持身份认证、信息传输和存储的完整性、消息传输和存储的机密性以及操作的不可否认性[5]。PKI通过CA(certificate authority,认证机构)实现数字证书的申请、签发、制作、废止、认证和管理,提供网上客户身份认证、数字签名、电子公证、安全电子邮件等服务。CA机构作为受信任和具有权威性的第三方,承担公钥体系中公钥的合法性检验的责任[6]。

数字签名(digital signature)技术是使用不对称加密算法来实现身份认证。在数字签名过程中,数据发送方使用自己的私钥对数据校验和或其他与数据内容有关的变量进行加密处理,完成对数据的合法“签名”,数据接收方则利用对方的公钥来解读收到的“数字签名”,并将解读结果用于对数据完整性的检验,以确认签名的合法性。数字签名技术是在网络系统虚拟环境中确认身份的重要技术,完全可以代替现实过程中的“亲笔签字”,在技术上和法律上保证了身份认证和数据安全。

数字签名实现过程如图1所示。

图1 数字签名过程Fig.1 Process of digital signature

1.2 数字水印技术

数字水印技术是信息隐藏技术的一个应用分支。数字水印是嵌在数字产品中的数字信号,是指具有不可见性、鲁棒性、抗检测性的,含有认证敏感信息的数字标记,诸如数字签名、日期、商标或随机序列等。利用数字水印的不可见性,将用户对文件的签名信息隐藏在印章图片中,实现电子签章,并且提高签章系统的安全性。

笔者使用小波变换工具来实现水印嵌入。与传统的傅里叶变换比较,小波变换是空间/时间和频率的局部化分析,它通过伸缩平移运算对信号逐步进行多尺度细化,最终达到高频处时间细分,低频处频率细分,从而聚焦到信号的任意细节。它克服短时傅里叶变换固定分辨率的弱点,既可分析信号的概貌,又可分析信号的细节。

图像的二级小波分解可以用图2表示,图像经过一级小波分解后,变成4个子图像,其中LL1为低频分量,HL1,LH1和HH1分别为水平细节分量、垂直细节分量和对角细节分量。若需要对图像进行二级小波分解,即将LL1分量进一步分解为1个低频分量LL2和3个细节分量HL2,LH2和HH2。

图2 图像的二级小波分解Fig.2 Two-scale wavelet transform of an image

1.3 时间戳技术

利用时间戳技术来验证数据信息的创建或签名是在一个特定的时间段完成的。在电子商务交易文件中,时间是十分重要的信息。在书面合同中,文件签署的日期和签名一样均是十分重要的,是防止文件被伪造和篡改的关键性内容。因此,在进行数字签名时需要加盖一个时间标记,是对数字时间戳的数字签名。

时间戳是一个经加密后形成的凭证文档,它包括3部分:1)需加时间戳的文件的摘要;2)DTS(digital time stamp service,数字时间戳服务)收到文件的日期和时间;3)DTS的数字签名。

2 电子签章算法

签章方首先使用散列算法SHA对电子合同文本进行数字签名,将签名信息发送到时间戳服务器加盖时间戳。对签章图片进行小波变换,将加时间戳的签名信息作为数字水印嵌入到变换系数中。完成小波逆变换,形成水印签章图片插入到电子合同文件中。将签章后的合同文件发送到验证方。

验证方首先将合同文件和水印签章图片分离开。对水印签章图片进行小波变换,从变换后得到的变换系数中提取水印信息。将水印信息转换为加时间戳的签名信息,对其进行签章验证。通过验证则认为该合同文档是完整的、未被篡改的、被签章人认可并且是不可抵赖的。验证未通过则认为合同文档在传输过程中可能被篡改、被攻击、不被签章人认可。

笔者所提出的基于数字签名和数字水印技术的电子签章算法的处理流程如图3所示。

2.1 时间戳服务

时间戳技术可以验证签章加盖的时间是否在有效期内,由此可以抵抗重复攻击。而且在本方案中并不是在文件摘要上直接加时间戳,而是由签章用户首先对合同文件进行数字签名,然后再传递给时间戳服务加盖时间戳。保证了在加盖时间戳的过程中文件信息的一致性和安全性。

加盖时间戳的过程如下。

1)对于原始合同文件M,首先使用SHA算法计算其摘要值S(M);

2)签章用户利用自己的私钥PrivateKeyA对摘要S(M)进行加密,形成数字签名PrivateKeyA(S(M));

3)将原始文件M和数字签名PrivateKeyA(S(M))封装形成时间戳请求发送到时间戳服务器;

4)时间戳服务器收到时间戳请求后,提取原始文件M′和数字签名PrivateKeyA(S(M))。从认证机构CA中得到签章用户的数字证书,获得其公钥PublicKeyA。利用公钥对数字签名PrivateKeyA(S(M))进行解密获得摘要信息S(M)。对原始文件M′计算摘要值S(M′),若S(M)与S(M′)不相等,则给出验证失败信息,若相等则通过验证。

5)通过验证后,将数字签名PrivateKeyA(S(M))和时间戳DateTime结合形成组合信息SignDT,利用时间戳服务器的私钥对其进行加密形成PrivateKeyDTS(SignDT)。将加盖了时间戳的数字签名信息发送回签名方,PrivateKeyDTS(SignDT)可以作为数字水印嵌入到签章图片中。

图3 电子签章算法处理流程Fig.3 Process of electronic signature algorithm

2.2 水印嵌入算法

水印的嵌入是指将前述的签名信息PrivateKeyDTS(SignDT)作为数字水印嵌入到签章图像信息中。这样的水印必须是不可见的、易碎的水印。如果企图破坏水印信息,则签章图像信息也被破坏。

笔者提出一种基于小波分解信号的模极大值的水印嵌入算法。其基本思想是:将水印信息转换为二进制的比特序列重新进行调制。将图像进行小波变换,得到多层小波变换分解系数。在变换系数的高频分量中查找符合一定规则的特征值(局部极大值),重新对这些特征值进行排列,使其排列顺序规则包含水印比特序列的排列规则,即将水印信息隐藏在这些特征值的排列顺序中。

水印嵌入算法步骤如下。

1)采用小波变换的方法,首先对签章图像进行2层尺度的小波变换。

假定给定平方可积的二维离散信号(图像)A0(m,n)。令h和g分别为小波多分辨率分析获得的低通和高通滤波器,则通过下列二维图像的金字塔算法,可以将图像分解尺度为j+1的低频图像Aj+1(m,n)和高频图像Hj+1(m,n),Vj+1(m,n),Dj+1(m,n):

其中:Aj保持了原图像的低频分量;Hj保持了原图像的水平边缘细节;Vj保持了原图像的垂直边缘细节;Dj保持了原图像的斜边缘细节。

2)在变换后得到的分解系数中计算局部极大值。

对图像信息A0(m,n)进行2层尺度的小波变换,获得小波系数V2(m,n),H2(m,n)和D2(m,n)。由上所述,H分量系数体现了原图像的水平边缘细节,V分量系数体现了原图像的垂直边缘细节。根据这2个分量可以计算其合成向量的模和幅角。计算公式:

幅角矩阵Arc表示向量方向与水平方向的夹角,代表的是图像边缘的法线方向。与该角度相垂直的表示图像的梯度方向。所以将局部极大值点定义为沿着梯度方向具有局部拐点特性的点。

在矩阵Arc(m,n)中的元素是在区间[-π/2,π/2]上,而对于图像中的一个像素来说,假定在其八邻域内划分0°,45°,90°,135°的方向。因此必须对Arc(m,n)中元素的角度值进行合并转换。

a代表矩阵Arc(m,n)中某一元素值,

若a∈(3π/8,π/2]并且a∈[-π/2,-3π/8),认为a=0°;

若a∈(π/8,3π/8], 认为a=135°;

若a∈[-π/8,π/8), 认为a=90°;

若a∈[-3π/8,-π/8), 认为a=45°。

根据式(2)求出2层尺度上的模值图像ABS和相应的方向图像Arc。根据角度值合并准则,对Arc中各元素进行转换,得到新的角度矩阵Arc′。如果ABS中某一点大于其八邻域中(沿着Arc′中对应点所表示的方向)的相邻两点,则判定该点为候选局部极大值。为了克服对噪声的敏感,对模值图像ABS取阈值t1,仅对其模值大于t1的点进行进一步的判断。这里选取阈值t1与尺度参数成反比,与ABS中最大值成正比:

在式(3)中s是尺度参数,取值1,2,3。c1是常数,这里取为0.1。max(ABS)代表模值图像矩阵ABS中的最大值。

对于保留下来的点如果大于在角度方向上相邻2个点,超过阈值t2才视为局部极大值点。这里选取t2=c2(t1-min(ABS))/s。 (4)

式(4)中c2是常数,取值为0.05;min(ABS)代表ABS矩阵中的最小值。

将水印信息重新调制隐藏在局部极大值中,局部极大值示例见图4。

图4 局部极大值示例Fig.4 Examples of wavelets transform module maximum

得到2层尺度下所有局部极大值后,记录下这些局部极大值在矩阵中的位置,形成位置集合Z。在保持了原图像的斜边缘细节的变换系数D2中找到对应位置的变换系数,形成特征数列集合,记为{M(x,y),(x,y)∈Z}。

将签名信息PrivateKeyDTS(SignDT)转换为二进制序列(x1x2x3…xn),mi为特征数列集合M中的一个元素。对变换系数D2进行变换,规则是:若xi为1,交换m2i-1和m2i使得m2i-1大于m2i;若xi为0,交换m2i-1和m2i使得m2i-1小于m2i。

对小波系数进行逆变换,得到嵌入水印后的图像签章。

2.3 水印提取算法和签章验证

接收到电子合同后,对电子合同的完整性验证流程具体如下。

1)从电子合同中分离出图像签章,对其进行2层小波变换。

2)利用小波系数V2(m,n)和H2(m,n),根据以上描述的算法计算其局部极大值。

3)扫描小波系数D2(m,n),提取水印信息。xi表示提取的水印数据位。

4)将二进制水印数据位串转换为签名信息PrivateKeyDTS′(SignDT)。使用时间戳服务器的公钥(若没有,则从认证机构CA中得到时间戳服务器的数字证书,获得其公钥PublicKeyDTS)对签名信息进行解密,得到签章用户的签名信息PrivateKeyA′(S(M))和时间戳 DateTime′。

5)验证时间戳DateTime′是否在有效时间范围内。若验证无效,则提示该签章无效。

6)利用签章用户A的公钥PubilcKeyA对签名信息PrivateKeyA′(S(M))进行解密,得到摘要信息S(M′)。

7)使用SHA算法对电子合同文本进行哈希计算,得到摘要S(M)。

8)将S(M′)和S(M)进行比较,若相等,则表明签章验证通过;若不相等则表明签章验证未通过,见图5和图6。

图5 签章验证通过Fig.5 Signature validated

图6 签章验证未通过Fig.6 Signature verification failed

3 电子签章系统的安全性分析

相比于传统的基于数字签名的电子签章系统,笔者将数字签名技术、数字水印技术和时间戳技术相结合,实现的电子签章系统在安全性上具有以下优点。

1)电子签章能够对电子合同文本的完整性进行检查,保证合同文本的真实性、不可修改、不可伪造,一旦电子合同文本内容被篡改,电子签章能够给予提示。

2)签名信息以水印的形式隐藏在签章图片中,具有很好的隐蔽性,对其进行删除或篡改都十分困难,具有很好的安全性。

3)以水印形式存在的签名信息能够唯一的表明所有者的身份,具有不可抵赖性。

4)在签名信息中加盖时间戳,可以对签名时间进行验证,保证签章时间在电子图章的有效期范围内,而且时间戳可以防止合同签章的重复攻击。

4 结 语

提出一种将数字签名技术、数字水印技术和时间戳技术相结合的电子签章实现方案。在签章算法中设计了一个基于小波分解信号的局部极大值的数字水印嵌入算法,可以将签名信息作为水印嵌入到签章图片中。与传统的电子签章方案相比,该方案进一步提高了电子签章的安全性、隐蔽性和抗攻击性。

[1]全国人民代表大会常务委员会.中华人民共和国电子签名法[EB/OL].http://news.xinhuanet.com/zhengfu/2004-08/30/content_1924493.htm,2004-08-28.

[2]范志强,李 成,马兆丰.基于CPK组合公钥的电子签章技术研究[J].信息安全与通信保密,2011(7):98-102.

[3]张 飞,肖 刚,程振波.基于时间戳服务的电子签章验证方法研究[J].浙江工业大学学报,2009,37(3):300-305.

[4]李 静,汤光明,孙怡峰,等.一种基于数字水印和PKI的电子签章系统[J].微计算机信息,2005,21(26):62-64.

[5]张沈斌,陈 浩.一种基于数字签名与数字水印认证的电子签章系统[J].苏州大学学报,2011,27(2):23-28.

[6]关振胜.公共基础设施PKI与认证机构CA[M].北京:电子工业出版社,2002.

Electronic signature algorithm based on digital signature and digital watermarking technology

HUANG Min1,ZHAO Yan1,WANG Hai-yao2
(1.College of Information Science and Engineering,Hebei University of Science and Technology,Shijiazhuang Hebei 050018,China;2.Department of Business Administration,Fujian Jiangxia University,Fuzhou Fujian 350108,China)

An electronic signature algorithm,using a combined technology of digital signature,digital watermarking and time stamp,is presented.In this algorithm time,stamp information is added to digital signature data for improving the signature safety and anti-offensive.A digital watermark embedding algorithm based on wavelets transform module maximum is designed.By using this algorithm the signature information can be embedded into the signature image as a watermark,thus enhancing the imperceptibility.The experiment shows that the algorithm can meet the requirements of contract signature in e-commerce transactions,implements the identity authentication,and ensures the integrity and non-tampering of the contract.

digital signature;digital watermarking;time stamp;electronic signature

TP317.4

A

1008-1534(2012)03-0149-06

2012-01-09

陈书欣

黄 敏(1979-),男,河北邯郸人,讲师,硕士,主要从事电子商务和网络管理方面的研究。

猜你喜欢
签章数字水印极大值
基于网屏编码的数字水印技术
基于FPGA的数字水印提取系统设计研究
电子签章制作系统设计与开发研究
基于小波模极大值理论的励磁涌流新判据研究
基于经验模态分解的自适应模极大值去噪方法
行人检测中非极大值抑制算法的改进
浅谈带有电子签章文件的归档
基于数字水印的人脸与声纹融合识别算法
基于自适应非极大值抑制的SIFT改进算法
基于矩阵分解和混沌置乱的数字水印算法