个性签名文字十篇

时间:2023-03-13 18:04:06

个性签名文字

个性签名文字篇1

他一直都是个不怎么善于用文字来表达感情的人。虽然很多的时候,他习惯于用嘴。可是,个性签名,最能表达出一个人那一刻的感受吧。

记得很久之前的时候,QQ还很流行的时候,自己总喜欢三天两头的写一条说说,关于生活感悟的,人生理想的,无聊的时候翻来看看,真的能看出来自己一路走来的心路历程。

如今,微信当道。翻翻朋友圈,人们每天都发很多。卖产品的,心灵鸡汤的,生活感悟的,可更多的时候,一眼就能够看出来是复制的,而且同样一句话,能在一会功夫看到好几个人发。

个性签名文字篇2

关键词:数字签名;时间戳;知识产权;数字证书

中图分类号:TP309 文献标识码:A 文章编号:1672-7800(2013)005-0126-02

0、引言

当你花费大量时间和精力制作的作品被他人窃取或获取,让你蒙受巨大损失时,你却不能证明你才是真正的原创者;当你辛苦研发的技术秘密被他人获取并抢先申请了专利保护,你却不能找出相关的文件来证明自己完成在先……基于上述问题,本文探讨并实现了使用基于公钥密码机制的数字签名技术,为企业乃至个人拥有的创新性成果等知识产权核心内容电子文件进行电子签名操作,生成相应的含有不可更改的时间戳电子签名文件。时间戳作为核心内容文件及其电子签名文件,在时间上的逻辑关系证明具有不可更改性和不可后补性,得到了法律的认可,将为企业和个人的知识产权保护提供强有力的保障。

1、原理

现代密码技术分为对称密码体制和非对称密码体制,除了提供对信息的加密解密外,还提供对信息来源的鉴别、保证信息的完整和不可否认等功能,而这三种功能都是通过数字签名实现的,基于公钥/私钥对的破解复杂性,使得数字签名具有完整性、可验证性和不可否认性三个特性。

知识产权的保护包括两个方面的内容,一方面是避免知识产权核心内容原文外泄;另一方面是对同一个技术的知识产权,如何证明自己才是该知识产权的原创方。基于数字签名的完整性、可验证性和不可否认性,使用数字签名提供对知识产权内容的保护,其原理如图1所示。

用户对于需要保护的知识产权内容的电子原文,对其进行带时间戳的数字签名,从而得到相应的数字签名文件。鉴于数字签名的不可否认性,所以此签名文件与原文之间只存在唯一的对应关系。若用户需要证明某内容自己是真正的原创方,只需要拿出知识产权的电子原文,与对应的电子签名文件进行验证,若二者匹配,则可得到用户对原文的签名时间,以此来证明自己拥有该内容的时间,通过时间的前后关系来证明该知识产权的原创方。

2、方案设计

基于公钥/私钥对的数字签名从原理上实现知识产权内容文件的保护是比较完美的,但是,从现实可行及法律效应等方面来考虑,只有基于数字证书的数字签名才是有实际意义的方案。数字证书是由CA(Certificate Au—thority)证书授权中心签发的,它是数字签名技术的基础保障。基于数字证书保护知识产权的方案包括电子文件的签名与验证和电子文件的加密与解密两个部分。

2.1 电子文件的签名与验证

电子文件的签名与验证基于公钥密码体制,其中私钥用于签名,公钥用于验证。为保证公钥、密钥的权威性和公正性,使用CA证书授权中心发行的数字证书,简称签名证书,实现过程如图2所示。

2.2 电子文件的加密与解密

对于一般性文件,采取直接对原文进行签名的方法来得到对应的签名文件。然而对于部分重点内容,保存电子文件的原文仍不能消除安全隐患,故可以采取首先对原文进行加密,然后对密文进行签名的方法得到密文对应的签名文件。需要时,通过验证密文签名文件得到与密文之间的唯一对应关系,最后再对密文进行解密,得到相应的原文。电子文件的加密与解密同样基于公钥密码体制,其中私钥用于解密信息,公钥用于加密信息。为保证公钥、密钥的权威性和公正性,使用CA证书授权中心发行的数字证书,简称加密证书。实现过程如图3所示。

3、方案实现

本文基于广东省电子商务认证中心(http://)的“网证通”数字证书,实现了电子文件的时间戳签名与验证,以及加密与解密。部分核心代码和演示结果如下:

(1)“网证通”数字证书封装了加密证书和签名证书,在IE浏览器中读取证书需要相应的ActiveX插件,代码如下:

(2)电子文件的时间戳签名与验证,需要调用Ac—tiveX中的相应函数。

seeuForm.signWithTSA(secuForm.readFileEx(原文路径),true,“https:///tsa.asp”);//时间戳签名函数:其中https:///tsa.asp为获取广东省电子商务认证中心服务器上的国际标准时间UTC(Coordinated UniversalTime)。

seeuForm.Verify(seeuForm.readFileEx(原文路径),seeu-Form.readFileEx(签名文件路径),true);//时间戳验证函数:如果验证通过,则提示用户对应的文件签名时间。

(3)签名与验证的结果演示,原文与签名内容都未修改则验证通过,原文与签名内容任一修改则验证失败。

个性签名文字篇3

关键词:数字签名;RSA;盲签名;多重签名

中图分类号:TP316文献标识码:A文章编号:1009-3044(2008)35-2095-02

Two RSA-based Special Digital Signature Schemes

JIANG Jun-feng

(Engineering of Information Hohai University,Changzhou 213022,China)

Abstract: The background, the formal definition and some special form of digital signature are firstly introduced.The research of how to realize the blind signature and the multisignature with RSA signature scheme are carried out secondly. The virtue and shortcoming of the two realized special digital signature schemes and the research to be continued are lastly put forward.

Key words: digital signature;RSA;blind signature;multisignature

1 引言

1.1 背景

签名一直被作为一种证明签名者身份的标识,它表明签名人看过乃至同意文件的内容。签名人作出签名后将无法否认,并要为自己的签名负责。随着密码学的发展,数字签名(digital signature)克服了手写签名的缺点。数字签名[1]具有签名可信性、不可抵赖性、不可复制性、不可伪造性和数据完整性的优点。2004年8月我国正式颁布了《中华人民共和国电子签名法》,确立了数字签名在我国的法律效力和地位。

1.2 数字签名的形式化定义

签名体制[2]是一个满足一下两个条件的概率多项式时间算法的三元组(G,S,V)。

1) 当输入1n时,算法G(调用密钥生成器)输出一对比特串。

2) 对G(1n)值域中的每一对(s,v),以及每个α∈{0,1}*,算法S(签名)和V(验证)满足:Pr[V(v, α,S(s, α)=1)]=1

这里的概率定义在算法S和V的所有内部掷币值上的。S(s, α)称为签名密钥对文档α产生的签名,当V(v, α,β)=1时称β是α对应与验证密钥v的有效签名。

数字签名主要基于公钥算法。其中RSA基于大整数难以分解为两个素数的乘积。特点是算法简单和安全。RSA是目前使用比较普遍的数字签名算法。ISO/IEC 9796和ANSI X9.30-199X已将RSA作为建议数字签字标准算法。在制定的标准中,PKCS#1是一种采用杂凑算法(如MD2或MD5等)和RSA相结合的公钥密码标准。

1.3 几种特殊的数字签名

人们根据不同的应用背景和签名目的,研究出了几种特殊的签名方案:盲签名方案,多重签名方案,签名方案,群签名方案等等。

盲签名方案(Blind-signature Scheme)是由D.Chaum[3]与1982年最先提出的。某人对一个文件签字,但又不让他知道文件内容,这点使盲签名应用在许多领域,比如电子投票系统,电子拍卖系统和电子现金系统。

一般的数字签名是由单个用户完成的,而由多人参与对同一文件进行的签名方案,称为多重签名方案(Multisignature Scheme)。多重签名方案是D. Chaum 和E.van Heyst[4]于1991 年提出的。根据签名过程的不同,多重数字签名可分为有序多重数字签名方案和广播多重数字签名方案。

2 方案实现

2.1 盲签名方案

下面介绍用RSA实现的盲签名方案。整个过程分为:密钥建立与管理、消息盲化、签名、消息解盲和签名验证。

2.1.1 盲签名过程

1) 密钥的建立与管理

设有参与盲签名的人分别是A和B,A知道消息M,让B进行盲签名。首先建立RSA密钥,任意选取两个大素数p及q ,计算n = pq。φ(n)为n的欧拉函数。任意选择一个整数e, 使得(e,φ(n))=1,计算d (1

2) 消息盲化

A进行对消息M盲化:选用盲因子k,1

3) 签名过程:A把盲化过的消息t发送给B,B对t进行RSA签名,计算S(t) = td = (Mke)d (mod n)

4) 消息解盲: B将签名S(t)传送给A。A通过下面的运算获得B对消息M的直接RSA签名。

Sig = S(t)/k td/k Md (mod n)

对上步等式的证明:td(Mke)dMdk(mod n)⇒td/kMdk/kMd(mod n)。

5) 签名验证:A利用B公布的(e,n)对消息进行验证。

M'=Sige(mod n)

若M'=M,则验证通过,否则验证失败。

2.1.2 盲签名方案的安全性分析

匿名性和不可伪造性:B在获取了t=Mke (mod n),B不知道盲因子k,所以B在多项式时间内无法推出M的值。这种盲化方法具有匿名性。B签名后如果被攻击者截取,因为攻击者不知道B的私钥d,所以也无法伪造签名Sig。

2.2 多重签名方案

下面介绍基于RSA的有序多重签名方案。整个过程分为:密钥建立与管理、多重签名、部分签名多重验证和签名验证。

2.2.1 多重签名过程

1)用户密钥建立和管理

设有参与多重签名的人分别是U1,U2,…,Un。他们都使用RSA密码体制进行签名。首先建立RSA密钥,任意选取两个大素数pi及qi ,计算ni = piqi。任意选择一个整数ei ,使得(ei,φ(ni))=1,计算di (1

2) 有序多重签名

签名者U1 对M的散列值进行签名,计算m=H (M), S1(m)d1(mod n1)。U1把签名结果S1传递给下一个签名者U2 , U2首先验证签名S1的正确性,验证如下:

计算m'(S1)e1(mod n1)以及m =H (M),如果m′ =m说明签名正确,否则,签名不正确。

当验证部分签名通过后, U2 签名如下:S2(S1)d1(mod n2)然后U2把S2传递给U3,U3首先验证签名S2的正确性。同样首先计算m'[(S2)e2(mod n2)]e1(mod n1), 如果m′ =m说明签名正确,否则,签名不正确。

依次类推,当签名者Ui(1≤i

3) 验证多重签名:

计算m'(((Sn)en(mod nn))en-1(mod nn-1)…)e1(mod n1)和m=H (M )

如果m′=m,说明签名正确,否则签名不正确。

2.2.2 多重签名方案的安全性分析

1) 签名可信性:对于最终的签名Sn,其他人接收到最终签名的过程中,攻击者有可能窃取并对其进行篡改。但是其他人都可以利用公布的(en,nn)来验证签名Sn的正确性;对于部分签名Si(1≤i

2) 不可伪造性:对于最终的签名Sn,攻击者截取进行冒充签名是不可能的,因为攻击者不知道dn。对于部分签名Si(1≤i

3) 防止收到已知签名攻击(know-signature attack):文献[1]中提到,克服已知签名攻击的有效方法是选择安全Hash函数对签名的消息做Hash变换,然后再对变换后的消息摘要进行签名。因此在多重签名方案中,在签名之前现对消息M做了Hash变换,所以这个方案可以有效防止收到已知签名攻击。

3 小结

文章使用RSA分别实现了盲签名和有序多重签名。通过安全性分析,盲签名方案具有匿名性和不可伪造性。在实现盲签名时没有使用哈希函数,对于短消息适用并且签名速度快。但是对于长消息签名速度比较慢,RSA是幂模运算,当底数M很大时,运算量很大。下面要做的工作是考虑如何把签名和摘要结合起来。

多重签名具有可信性、不可伪造性和防止收到已知签名攻击。由于多重签名中产生的密钥对较多,密钥的产生、发放和管理等操作比较繁琐。应该用数字证书来管理多重签名每个用户的公钥和密钥。

参考文献:

[1] 徐茂智,游林.信息安全与密码学[M].北京:清华大学出版社,2007.

[2] Goldreich O.密码学基础[M].2卷.北京:人民邮电出版社,2005.

个性签名文字篇4

【关键词】数字签名;密钥;时间标记

一、数字签名的相关定义

所谓“数字签名”,就是通过某种密码运算生成一系列符号及代码组成电子密码进行签名,来代替手写签名或印章,对于这种电子式的签名还可进行技术验证。数字签名在ISO7498-2标准中定义为:“附加在数据单元上的一些数据,或是对数据单元所作的密码变换,这种数据和变换允许数据单元的接收者用以确认数据单元来源和数据单元的完整性,并保护数据,防止被人(例如接收者)进行伪造”。数字签名实现的功能与我们“有纸办公”的手写签名类同,具有准确性、实用性、完整性、可鉴别性、不可抵赖性等特性,同时解决否认、伪造、篡改及冒充等问题。

二、数字签名技术

数字签名技术实际使用了信息发送者的私有密钥变换所需传输的信息,对于不同的文档信息,发送者的数字签名并不相同。目前主要是基于公钥密码体制的数字签名,包括普通数字签名和特殊数字签名。普通数字签名算法有SHA、RSA、Schnorr数字签名算法等。特殊数字签名有签名、门限签名等。

(一)RSA算法体制

1978年,美国三位学者Rivest、Shamir和Adleman,提出了RSA公钥密码体制,它是第一个成熟的、迄今为止上最成功的公钥密码体制。

RSA算法是建立在大数分解和素数检测的理论基础上的,是一种分组密码体制。它的思路是:两个大素数相乘在计算上是容易实现的,但将它们的乘积分解为两个大素数的因子的计算时却相当巨大,甚至在计算机上也是不可实现的。所谓素数检测,是指判断给定的一个整数是否为素数。RSA的安全性基于数论中大整数的素因子分解的困难性。

(二)使用公开密钥密码技术对文件签名的过程

公开密钥或者私人密钥都可用作加密。用你的私人密钥加密文件,你就拥有安全的数字签名。

1.数字签名的协议举例:假设有A公司的老板名叫John,B公司的老板名叫Marry,现John想传输一个文件给Marry,这个文件是有关于一个合作项目标书,属公司机密,不能让其它人知道,而恰好有一个C公司的老板David对A和B公司的那项合作标书非常关注,总想取得A公司的标书。于是他时刻监视他们的网络通信,想在John通过网络传输这份标书时,从网络上截取它。为了防止David截取标书,实现安全传输,我们可以采用以下步骤:

(1)Marry用她的私人密钥对文件加密,从而对文件签名。

(2)Marry将签名的文件传给John。。

(3)John用Marry的公开密钥解密文件,从而验证签名。

这个协议比以前的算法更好。不需要Trent去签名和验证。从中需要证明Marry的公开密钥确实是她的。甚至协议的双方不需要Trent来解决争端;如果John不能完成第3步,那么他知道签名是无效的。

这个协议也满足我们期待的要求:

(1)签名是可信的,当John用Marry的公开密钥时,他知道是由Marry的签名。

(2)签名不可伪造的,只有Marry知道她的私人密钥解密。

(3)签名是不可重用的。签名是文件的函数,并且不可能转换成另外的文件。

(4)被签名的文件是不可改变的。如果文件有任何的改变,文件就不可能用Marry的公开密钥验证。

(5)签名是不可抵赖的。John不需要Marry的帮助就能验证Marry的签名。

2.文件签名和时间标记。实际上,John在某种情况下可以欺骗Marry。他可能把签名和文件一起重用。如果Marry在合同上签名,这种重用不会有什么问题,但如果Marry在一张数字支票上签名,那样做就令人兴奋了。假若Marry交给John一张¥100000的签名数字支票,John把支票拿到银行去验证签名,然后把钱从Marry的账户上转到自己的账户上。John是一个无耻之徒,他保存了数字支票的副本。过了一星期,他又把数字支票拿到银行(或可能是另一个银行),并把钱转到他的账户上。只要Marry不去对支票本清账,John就可以一直干下去。

因此,数字签名经常包括时间标记。对日期和时间和签名附在消息中,并跟消息中的其他部分一起签名。银行将时间标记存储在数据库中。现在,当John第二次想支取Marry的支票时,银行就要检查时间标记是否和数据库中的一样。由于银行已经从Marry的支票上支付了这一时间标记的支票,于是就报警。

三、我国数字签名存在的问题及分析

数字签名的保密性很大程度上依赖于公开密钥。数字认证是基于安全标准、协议和密码技术的电子证书,用以确立一个人或服务器的身份,它把一对用于信息加密和签名的电子密钥捆绑在一起,保证了这对密钥真正属于指定的个人和机构。

由于互联网自身的开放性和全球性,在电子交易过程中也产生了诸多安全和诚信的法律问题。

(一)数字签名存在的问题

网络信息系统的技术性和管理性安全成为数字签名应用的最大威胁。同时在我们广泛接受数字签名的过程中还存在着诸多法律问题。争论最激烈的是关于数字签名能否与手写签名一样具有可靠性,是否能具备“认可”的条件。为了更好地努力分析数字鉴定的可靠性, 全世界的国家都起草了数字签名的提议, 联合国甚至也在试图建立一个国际标准。美国联邦政府基于有限域上的离散对数问题制定了自己的数字签名标准(DSS)。一些国家如法国和德国已经制定一套法律、规则及实际操作方法,用于规范某个机构如何来管理、保护和分配资源以达到安全策略的既定目标。由于我国电子商务起步相对较晚,技术相对落后,缺乏具有自主知识产权的安全产品,因此在安全问题方面还存在着更多的风险与危机。

(二)解决我国数字签名存在问题的策略

目前我国电子签名法对可靠的数字签名判断的不易掌握性与执法者对这一崭新领域的陌生感之间的反差,使我们很是忧虑。下面提出解决我国数字签名存在问题的若干建议:

1.大力发展先进的、具有自主知识产权的信息技术,建立一个完整的信息网络安全体系。我国信息安全研究起步较晚,在网络信息系统中使用的计算机、路由器等软、硬件系统大部分由国外引进,而且信息技术相对落后,由此加大了我国数字签名发展的安全风险和技术选择风险。因此要加快完善我国信息网络安全的技术安全、管理安全和政策法律安全体制的步伐。只有信息网络体系健全,那么通过网络传输的信息的安全才能得到保证,数字签名技术才能发挥真正的作用。

2.数字签名技术仍需进一步完善,大力改进数字签名内在的安全技术措施,如生成和验证数字签名的工具需要完善,只有用SSL(安全套接层)建立安全链接的Web浏览器,才会频繁使用数字签名。

3.和数字签名有关的复杂认证能力程序化、简易化并易于掌握、便于操作;就像现在操作、应用环境中的口令密码一样直接做进操作系统环境、应用、远程访问产品、信息传递系统及In?鄄ternet防火墙中,方便用户的操作和使用。另一方面,还要不断教育我们的广大用户,使其具备自行约定可靠数字签名的常识和能力,以便及时维护自身的合法权益。

4.及时修改、完善《电子签名法》和《电子认证服务管理办法》等相关法律法规。法律为数字签名的安全和诚信提供必要的保障。科技和社会的发展要比法律变化快,我们的法律不能一成不变,要让法律的变化与科技、社会的发展同步而行。

5.确定CA认证权的归属问题尤为关键。数字签名的第三方认证由依法设立的电子认证服务提供者提供认证服务。需要第三方认证的数字签名应由依法设立的电子认证服务提供者提供认证服务。由于公共密钥的存储需要,所以需要建立一个鉴定中心(CA),来完成个人信息及其密钥的确定工作。鉴定中心是一个政府参与管理的具有可信赖性的第三方成员,以便保证信息的安全和集中管理。数字签名决定着技术商业信誉的建立,数字签名技术的发展决定着电子商务中的诚信问题。

在电子签名法及电子支付的指引下,大力发展数字签名在我国网上支付、电子税收、电子海关、网上采购等领域的应用,让我国更安全的新一代电子认证与世界接轨。当数字签名技术越来越普遍的时候, 并不是每个人都觉得满意。数字签名是未来信息安全发展的潮流,不断完善数字签名的基础设施环境和法律、技术问题,自然成了我国目前发展数字签名的当务之急。 【参考文献】

[1]谢希仁.计算机网络[M].电子工业出版社,2003.

[2]Rivest,Shamir, Adleman.A Method for Obtaining Digital Signature and Public Key cryptosystems.Commun.ACM[J].1978,(2).

[3]管有庆,王晓军.电子商务安全技术[M].电子工业出版社,2005.

[4]吴汉平.信息站与信息安全[M].电子工业出版社,2003.

[5]彭钦,郭晶.电子商务教程[M].人民邮电出版社,2005,.

个性签名文字篇5

关键词 基于属性的签名 双线性对 可追踪性 匿名性

中图分类号:TN918.1 文献标识码:A

数字签名也叫签名、数字签字、签字、数位签字,是证明当事者的身份和数据真实性的一种信息。在传统事务处理中,事务处理通常采用书面签名形式,如手签、印章、指印等保障传统事务处理的有效性,同时具有一定的法律意义。而数字签名是在信息时代人们通过网络所进行的迅速的、远距离的签名方式,是对传统书面签名在处理现代电子事务时的一种模拟,它保障了网络传输中合法信息的完整性、不可否认性和用户身份的可认证性,同时也具有一定的法律意义。作为信息安全领域的核心技术之一,数字签名技术得到了密码学研究者的广泛关注和青睐,并被广泛应用于电子商务、电子政务、网上银行和网上购物等现代电子事务的处理中。

数字签名的概念是伴随着公钥密码体制的发展而提出的。Diffie和Hellman在1976年首次提出了数字签名概念的思想,但当时他们并没有给出一个具体的数字签名方案。

RSA数字签名方案是在1978年由Rivest等人提出的第一个数字签名方案,它的安全性归约到解决大整数素因子分解问题的困难性上。RSA密码体制是一个基于数论的非对称密码体制,也是一种分组密码体制。对于RSA密码体制来说,它在理论上是完全可以被破解的,但多年来研究者对它在密码学上的安全性分析表明它在实际应用中依然是一种安全可靠的密码体制。RSA密码体制被广泛应用的优势在于,它既是一个加密算法又是一个签名算法,其中,加密(签名)过程和解密(验证)过程中使用了完全相同的操作。作为第一个标准数字签名方案,RSA数字签名方案是应用时间最长,也是接受范围最广的一个数字签名方案。

DSA签名方案是在1991年作为美国国家标准局的数字签名标准DSS,它的安全性是基于离散对数问题的困难性。DSA签名方案是在著名的ElGamal签名方案的基础上设计的,不同的是,在DSA签名方案中使用了安全散列函数SHA-1,即对于任意长度小于264bit的明文输入,SHA-1都能产生160bit的输出作为消息的摘要,而此消息摘要可以用来作为DSA签名算法中的输入,用于产生消息的签名或者验证签名。因为消息摘要一般要比消息小得多,所以对消息摘要进行签名大大提高的签名算法的效率。与RSA签名体制相比,DSA签名方案拥有比较高效的密钥生成算法,但签名验证算法效率比较低下。作为标准数字签名方案,DSA签名方案是离散对数型数字签名方案中最为著名的一个签名算法,也是专门为签名技术而设计的一个数字签名方案。ECDSA签名方案是在1992年作为美国国家标准局数字签名标准的候选算法,它的安全性是基于椭圆曲线上离散对数问题的困难性。ECDSA签名方案借鉴了DSA签名方案的设计思想,只是将基于传统离散对数问题的方案转化到基于椭圆曲线上的离散对数问题上来,但是由于椭圆曲线上离散对数问题的困难性远远高于已有离散对数问题的困难性,使得该类签名算法具有更高的安全性。与基于传统离散对数的密码体制和RSA签名体制相比,在具有同等安全强度的情况下,ECDSA签名方案具有计算效率高、存储空间占用少、宽带要求低、软件和硬件实现要求低、签名速度快等优点。作为一种新的标准数字签名方案,ECDSA签名方案是唯一被广泛接受的椭圆曲线数字签名算法,已被众多的标准化组织采纳,被越来越多地应用于计算能力和集成电路空间受限、宽带资源受限、要求高速实现的无线网络环境中。

但是,近年来随着信息化条件的不断发展,过去依赖于传统手写签名的所有业务都可以被数字签名技术所替代,这使得标准数字签名方案已经很难满足实际应用的需要。例如在一些特殊的应用环境下,数字签名方案要求必须满足某些特定的功能,如签名消息的可匿名性、用户身份的完全匿名性、签名的可传递性、用户身份的可追踪性等等。针对这一现实问题,数字签名开始由单纯地实现对信息完整性和签名者身份的验证,发展到特定环境下具有某些特殊功能的数字签名,极大地扩充了数字签名技术的应用领域。1982年,Chaum提出了盲签名的概念,它实现了签名消息的可匿名性,即签名者签名时不知道所签消息的内容;1984年,Shamir提出了基于身份的密码体制,它实现了用户的公钥由能够唯一标示用户身份的信息直接计算出来;1992年,Chaum和Heyst提出了群签名的概念,它是一种对用户的身份既具有匿名性又具有可跟踪性的群体性数字签名技术;1996年,Mambo、Usuda和Okamato提出了签名的概念,它是一类能够实现用户间签名权力传递的数字签名;2001年,Rivest、Shamir和Tauman提出了环签名的概念,它实现了群体性数字签名中签名者身份的完全匿名性;2005年,Sahai和Waters提出了模糊身份的概念,引出了基于属性的密码体制,它将用户的生物特性直接作为身份信息应用于基于身份的加密方案中,实现了签名者身份的可匿名性。2014年,田苗苗提出了首个基于格的消息恢复签名方案,并在随机预言机模型下证明了方案的安全性。

这些具有特殊功能的数字签名的出现大大地推动了数字签名技g的研究与发展,并且使得数字签名技术更为广泛地应用于国民经济建设和国防建设的各个领域中去。

参考文献

[1] W.Diffie and M.Hellman.New directions in cryptography[J].IEEE Transactions on Information Theory,1976,22(6):644-654.

个性签名文字篇6

[关键词]数字签名PKI公钥私钥数字摘要Hash函数

一、引言

电子商务是伴随着网络信息技术的发展和计算机应用的普及而产生的一种新型的商务交易形式。这种新型的国际贸易方式以其特有的优势(成本低、易于参与、对需求反映迅速等),已被愈来愈多的国家及不同行业所接受和使用。然而,在电子商务中一个最重要问题就是确保交易安全,为了确保数据传输安全及交易安全,不得不采取一系列的的安全技术,如加密技术、数字签名、身份认证、密钥管理、防火墙、安全协议等。本文就数字签名技术作了较深刻探讨,并给出了该技术的实现方法。

数字签名是电子商务安全系统的核心技术,在信息安全,包括身份认证、数据完整性、不可否认性以及匿名性等方面有重要应用,特别是在大型网络安全通信中的密钥分配、认证以及电子商务系统中具有重要作用。

二、数字签名的概念

所谓数字签名就是通过某种密码运算生成一系列符号及代码组成电子密码进行签名,来代替书写签名或印章,对于这种电子式的签名还可进行技术验证,其验证的准确度是一般手工签名和图章验证无法比拟的。数字签名是目前电子商务、电子政务中应用最普遍、技术最成熟的、可操作性最强的一种电子签名方法。它采用了规范化的程序和科学化的方法,用于鉴定签名人身份以及对一项电子数据内容的认可。它还能验证出文件的原文在传输过程中有无变动,确保传输电子文件的完整性、真实性、和不可抵赖性。

数字签名在ISO7498-2标准中定义为“附加在数据单元上的一些数据,或是对数据单元所作的密码变换,这种数据和变换允许数据单元的接收者用以确认数据单元来源和数据单元的完整性,并保护数据,防止被进行伪造。美国电子签名标准对数字签名作了如下解释:利用一套规则和一个参数对数据进行计算得到结果,用此结果能够确认签名者的身份和数据的完整性。按上述定义PKI(PublicKeyInfrastruction公钥基础设施)可以提供数据单元的密码变换,并能使接收者判断数据来源及对数据进行验证。

三、数字签名的原理

该技术在具体工作时,首先发送方对信息施以数学变换,所得的信息与原信息唯一对应;在接收方进行逆变换,得到原始信息。只要数学变换方法优良,变换后的信息在传输中就具有很强的安全性,很难被破译、篡改。这一过程称为加密,对应的反变换过程称为解密。

现在有两类不同的加密技术,一类是对称加密,双方具有共享的密钥,只有在双方都知道密钥的情况下才能使用,通常应用于孤立的环境之中,比如在使用自动取款机(ATM)时,用户需要输入用户识别码(PIN),银行确认这个号码后,双方在获得密码的基础上进行交易,如果用户数目过多,超过了可以管理的范围时,这种机制并不可靠。

另一类是非对称加密,也称为公开密钥加密,密钥是由公开密钥和私有密钥组成的密钥对,用私有密钥进行加密,利用公开密钥可以进行解密,但是由于公开密钥无法推算出私有密钥,所以公开的密钥并不会损害私有密钥的安全,公开密钥无需保密,可以公开传播,而私有密钥必须保密,丢失时需要报告鉴定中心。

四、公钥密码技术原理

目前的数字签名技术采用的就是这种公钥密码技术。即利用两个足够大的质数与被加密原文相乘产生的积来加/解密。这两个质数无论是用哪一个与被加密的原文相乘(模乘),即对原文件加密,均可由另一个质数再相乘来进行解密。但是,若想用这个乘积来求出另一个质数,就要对大数进行质因子分解,分解一个大数的质因子是十分困难的,若选用的质数足够大,这种求解几乎是不可能的。因此,将这两个质数称为密钥对,其中一个采用私密的安全介质保密存储起来,应不对任何外人泄露,简称为“私钥”;另一个密钥可以公开发表,用数字证书的方式在称之为“网上黄页”的目录服务器上,用LDAP协议进行查询,也可在网上请对方发送信息时主动将该公钥证书传送给对方,这个密钥称之为“公钥”。

公钥密码体制下的数字签名技术实际上是通过一个单向Hash函数来实现的。信息的发送方从信息文本中生成一个128位的散列值(或消息摘要)。发送方用自己的私人密钥对这个散列值进行加密形成发送方的数字签名。然后,这个数字签名将作为信息的附件和信息一起发送给信息的接收方。信息的接收方首先从接收到的原始信息中计算出128位的散列值(消息摘要),接着再用发送方的公用密钥来对信息附加的数字签名进行解密。如果两个散列值相同,那么接收方就能确认该数字签名是发送方的。

五、数字签名技术的实现方法

建立在公钥密码基础上的数字签名方法有很多,RSA签名、DSS签名及Hash签名等。其中Hash签名是目前电子商务安全中最主要的数字签名方法。下面我们就Hash签名的详细过程进行分析。

Hash签名也称之为数字摘要法(DigitalDigest)或数字指纹法(DigitalFingerPrint)。该数字签名方法是将数字签名与要发送的信息紧密联系在一起,它更适合于电子商务活动。将一个商务合同的个体内容与签名结合在一起,比合同和签名分开传递,更增加了可信度和安全性。数字摘要加密方法亦称安全Hash编码法(SHA:SecureHashAlgorithm)或MD5(MDStandardForMessageDigest),由RonRivest所设计。该编码法采用单向Hash函数将需加密的明文“摘要”成一串128bit的密文,这一串密文亦称为数字指纹(FingerPrint),它有固定的长度,且不同的明文摘要必定一致。这样这串摘要使可成为验证明文是否是“真身”的“指纹”了。

只有加入数字签名及验证才能真正实现在公开网络上的安全传输。加入数字签名和验证的文件传输过程如下:

1.方首先用哈希函数从原文得到数字签名,然后采用公开密钥体系用发达方的私有密钥对数字签名进行加密,并把加密后的数字签名附加在要发送的原文后面。

2.发送方选择一个密钥对文件进行加密,并把加密后的文件通过网络传输到接收方。

3.发送方用接收方的公开密钥对密秘密钥进行加密,并通过网络把加密后的秘密密钥传输到接收方。

4.接受方使用自己的私有密钥对密钥信息进行解密,得到秘密密钥的明文。

5.接收方用秘密密钥对文件进行解密,得到经过加密的数字签名。

6.接收方用发送方的公开密钥对数字签名进行解密,得到数字签名的明文。

7.接收方用得到的明文和哈希函数重新计算数字签名,并与解密后的数字签名进行对比。如果两个数字签名是相同的,说明文件在传输过程中没有被破坏。

数字签名的实现过程如下:

如果第三方冒充发送方发出了一个文件,因为接收方在对数字签名进行解密时使用的是发送方的公开密钥,只要第三方不知道发送方的私有密钥,解密出来的数字签名和经过计算的数字签名必然是不相同的。这就提供了一个安全的确认发送方身份的方法。

安全的数字签名使接收方可以得到保证:文件确实来自声称的发送方。鉴于签名私钥只有发送方自己保存,他人无法做一样的数字签名,因此他不能否认他参与了交易。

数字签名的加密解密过程和私有密钥的加密解密过程虽然都使用公开密钥体系,但实现的过程正好相反,使用的密钥对也不同。数字签名使用的是发送方的密钥对,发送方用自己的私有密钥进行加密,接收方用发送方的公开密钥进行解密。这是一个一对多的关系:任何拥有发送方公开密钥的人都可以验证数字签名的正确性,而私有密钥的加密解密则使用的是接收方的密钥对,这是多对一的关系:任何知道接收方公开密钥的人都可以向接收方发送加密信息,只有唯一拥有接收方私有密钥的人才能对信息解密。在实用过程中,通常一个用户拥有两个密钥对,一个密钥对用来对数字签名进行加密解密,一个密钥对用来对私有密钥进行加密解密。这种方式提供了更高的安全性。

六、结束语

数字签名在电子商务活动中有效解决否认、伪造、篡改及冒充等问题。然而,我国数字签名技术的研究和应用刚刚起步,与国际先进水平有一定差距。在数字签名的引入过程中不可避免地会带来一些问题,需要进一步加以解决,数字签名需要相关法律条文的支持。如需要立法机构对数字签名技术有足够的重视,并且在立法上加快脚步,制定有关法律,以充分实现数字签名具有的特殊鉴别作用,有力推动电子商务以及其他网上事务的发展。

随着电子商务的蓬勃发展,数字签名技术也将不断成熟,为商务活动和人们的生活提供可靠、便利的服务。

参考文献:

[1]刘亚松:电子商务概论.机械工业出版社,2005.9

个性签名文字篇7

关键词 椭圆曲线;数字签名;签名;验证

中图分类号:TN918 文献标识码:A 文章编号:1671-7597(2013)12-0051-03

1 何为数字签名技术

电子签名(Electronic Signature)泛指所有以电子形式存在,依附在电子文件并与其逻辑相关的一种签名,它以密码技术加密文件,辨别文件签署者身份,保证文件的完整性,并表示签署者认可电子文件所陈述事项的内容。

目前最成熟的电子签名技术就是“数字签名(Digital Signature)”,它由两种形式,一种是以公钥及密钥的”非对称型”密码技术制作的电子签名,还有一种是对称的密码技术电子签名,即只有公钥无需密钥。由于数字签名技术采用的是单向不可逆运算方式,即文件明文用密钥加密得到的密文进行传输,如果不知道密钥,要有密文推导出明文几乎不可能。并且传输时是以乱码的形式显示的,他人无法阅读或篡改。因此,从某种意义上讲,使用数字签名的电子文件,甚至比使用签字盖章的书面文件安全得多。

数字签名机制应用在电子网络环境下,可提供四重的安全保证:

1)完整性(integrity):文件接收者通过数字签名核对可确保文件完整性。

2)不可否认性(non-repudiation):只有文件发送者知道自己的密钥,而且文件具有发送者的数字签名附据,使其无法否认发送事实。

3)可鉴别(authentication):文件接收者可确认文件发送者的身份。

4)机密性(confidentiality):文件可以用密钥加密,达到机密性。

2 数字签名技术的分类

数字签名技术有RSA、DSS、McEliece、AES、PGP等,主流的有:RSA、DSS和Hash。

在RSA是非对称密钥加密算法,用两个大素数生成公钥和密钥,核心算法是欧拉函数,安全性是基于合数分解问题。

DSS数字签名是由发送者对文件摘要用自己的私钥进行签名再发送,接收方通过公钥解密数字签名得到文件摘要,以此验证文件是由发送方发送的,由此可见它不能用于加密,只能用于签名,是在EIGamal和Schnorr数字签名的基础上设计的,安全性基于离散对数问题的困难性。

Hash签名方法如下:发送方用hash从信息中生成一个固定长度的散列值(即数字摘要),然后用自己的私钥对这个散列值进行加密,形成发送方的数字签名。该数字签名附在信息中一起发送给接收方。接收方用Hash从接收到的信息中计算出固定长度的散列值,接着用发送方的公钥对报文附加的数字签名解密,如果得到的数字摘要一致,则可认为该消息由发送发发出,且没有经过篡改。

本文主要介绍非对称密码技术,它的使用原理大致为:由计算机程序将密钥和需传送的文件用某种数据算法加以运算,得出数字签名,将加密后的文件传给交易方。交易方用公钥来验证该信息确实由前者传送、查验文件在传送过程是否遭他人篡改,并防止对方抵赖。

利用数字签名实现身份认证的方案如下:

l)发送方选择一个对称密钥对数据原文进行加密,然后用公钥加密对称密钥,并将加密后的数据和密钥用哈希函数运算后得到的定长哈希值做为发送方的数字签名,再用私钥加密哈希值,把加密后的数据、密钥和哈希值封装起来发送。

2)接收方解封收到的数据,然后把加密哈希值用公钥解密,再用哈希函数运算加密后的数据和密钥。

3)将两个运算得到的哈希值比较,如果相同,则证明消息确实是由发送方发送的,且没被篡改,从而验证了发送方的身份。

该方案示意图如下。

3 选择椭圆曲线密码系统的原因

5 结束语

椭圆曲线密码系统是基于椭圆曲线理论基础的密码体系,已经在网络应用中发挥巨大的作用,例如软件注册码的验证等,但在具体实现中椭圆曲线的快速生成,关键算法的改进等都需要进一步优化和完善。未来基于椭圆曲线的密码体制主要研究内容是:1)椭圆曲线快速算法的研究;2)椭圆曲线上的离散对数问题;3)椭圆曲线编码方法的研究;4)超椭圆曲线的密码学应用。

个性签名文字篇8

[关键词]计算机技术 数字签名 应用

[中图分类号]TP[文献标识码]A[文章编号]1007-9416(2010)03-0050-02

目前,随着越来越多的政府部门和企业机构开始应用Internet,他们的信息共享程度与网上业务不断增加。与此同时,网络攻击和犯罪活动也日益猖獗。如何防止机密信息在网络中被泄露或窜改、如何有效地抵制和打击信息犯罪、保障网络与信息安全等,给人们提出了严峻的挑战。

在因特网这个虚拟的世界中,该通过何种措施来使人们相信因特网信息的准确性呢?当然可以采用强大的安全保障机制,来保证网上的信息不被那些“非法分子”入侵。目前有许多种技术来保证信息的安全不受侵犯,例如加密技术,访问控制技术、认证技术以及安全审计技术等,但这些技术大多数是用来预防用的,而且一旦被攻破,我们就不能保证信息的完整性。为此,只有在信息本身的安全上作出努力,数字签名技术应运而生。

1 数字签名的概念

数字签名不是指将你的签名扫描成数字图像,或者用触摸板获取的签名,更不是你的落款。数字签名(又称公钥数字签名、电子签章)是一种类似写在纸上的普通的物理签名,但是使用了公钥加密领域的技术实现,用于鉴别数字信息的方法。其验证的准确度是一般手工签名和图章的验证而无法比拟的。

简单地说,所谓数字签名就是附加在数据单元上的一些数据,或是对数据单元所作的密码变换。这种数据或变换允许数据单元的接收者用以确认数据单元的来源和数据单元的完整性并保护数据,防止被人(例如接收者)进行伪造。它是对电子形式的消息进行签名的一种方法。一个签名消息能在一个通信网络中传输。基于公钥密码体制和私钥密码体制都可以获得数字签名,目前主要是基于公钥密码体制的数字签名。包括普通数字签名和特殊数字签名。普通数字签名算法有RSA、ElGamal、Fiat-Shamir、Guillou- Quisquarter、Schnorr、Ong-Schnorr-Shamir数字签名算法、Des/DSA,椭圆曲线数字签名算法和有限自动机数字签名算法等。特殊数字签名有盲签名、签名、群签名、不可否认签名、公平盲签名、门限签名、具有消息恢复功能签名等,它与具体应用环境密切相关。

“数字签名”是目前电子商务、电子政务中应用最普遍、技术最成熟的、可操作性最强的一种电子签名方法。它采用了规范化的程序和科学化的方法,用于鉴定签名人的身份以及对一项电子数据内容的认可。它还能验证出文件的原文在传输过程中有无变动,确保传输电子文件的完整性、真实性和不可抵赖性。这样数字签名就可用来防止有人修改信息;或冒用别人名义发送伪造信息;或发出(收到)信息后又加以否认等情况的发生。

2 数字签名的工作原理及实现

一套数字签名通常定义两种互补的运算,一个用于签名,另一个用于验证。

通常要验证文档未被篡改,而不必加密文档。数字签名可以验证文档未被篡改和确实来自有关方面。

数字签名有两个基本组件:安全散列函数和公用密钥加密。安全散列算法取一块数据并将其分解成小位块。这个算法每次运行时对特定位模式产生相同的散列值。这样,发送文件之间计算散列时,接收计算相同的散列值。一个好的散列算法在文档少量改变时也能使结果大大改变。这样,别人篡改文档之后就很难保持相同的散列值。

例如,创设散列算法根据文档中的各个字符计算数值,不管字符顺序。这样,ABC与CBA有相同散列值。因此别人可以把文档内容做顺序上的调整,面散列值却不变,从而使数字签名仍然有效。

MD5和SHA之类的安全散列算法考虑字节顺序,几乎不可能对文档进行小改而散列值不变。这两种广泛应用的签名算法都是基于非对称加密即公钥密码学,目前已被破解。

这样,数字签名的第二个部分就是某种逆公用密钥算法。通常,使用公用密钥算法时,用公用密钥加密数据,用专用密钥解密数据。对于数字签名正好相反,用专用密钥加密文本块的散列值,任何人要验证签名有效性时,就使用公用密钥验证该散列值是用相应的专用密钥加密的。

在公钥密码学中,密钥是由公开密钥和私有密钥组成的密钥对。数字签名就是用私有密钥进行加密,接受方用公开密钥进行解密,由于从公开密钥不能推算出私有密钥,所以公开密钥不会损害私有密钥的安全。公开密钥无需保密,可以公开传播,而私有密钥必须保密。因此,当某人用其私有密钥加密消息时,能够用他的公开密钥正确解密,就可以肯定该消息是某人签字的,这就是数字签名的基本原理。因为其他人的公开密钥不可能正确解密该加密过的消息,其他人也不可能拥有该人的私有密钥而制造出该加密过的消息。

3 数字签名的常用算法

数字签名用到的算法很多,大体上可以分为密钥算法和单向散列算法,除上文提到的最常用的单向散列算法MD5和SHA,应用最为广泛的三种是: Hash签名、DSS签名、RSA签名。

(1)Hash签名

Hash签名不属于强计算密集型算法,应用较广泛。很多少量现金付款系统,如DEC的Millicent和CyberCash的CyberCoin等都使用Hash签名。使用较快的算法,可降低服务器资源消耗,减轻中央服务器负荷。Hash的主要局限是接收方必须持有用户密钥的副本以检验签名,因为双方都知道生成签名的密钥,较容易攻破,存在伪造签名的可能。如果中央或用户计算机中有一个被攻破,那么其安全性就受到了威胁。

(2)DSS和RSA签名

DSS和RSA采用了公钥算法,不存在Hash的局限性。RSA是最流行的一种加密标准,许多产品的内核中都有RSA的软件和类库,早在Web飞速发展之前,RSA数据安全公司就负责数字签名软件与Macintosh操作系统的集成,在Apple的协作软件PowerTalk上还增加了签名拖放功能,用户只要把需要加密的数据拖到相应的图标上,就完成了电子形式的数字签名。RSA与Microsoft、IBM、Sun和Digital都签订了许可协议,使在其生产线上加入了类似的签名特性。与DSS不同,RSA既可以用来加密数据,也可以用于身份认证。和Hash签名相比,在公钥系统中,由于生成签名的密钥只存储于用户的计算机中,安全系数大一些。

4 数字签名的用途

在网络应用中,凡事要解决伪造、抵赖、冒充、篡改与身份鉴别的问题,都可运用数字签名来处理。

例如:网上银行通过Internet向客户提供信息查询、对账、网上支付、资金划转、信贷业务以及投资理财等金融业务。网上银行将对传统银行业带来巨变,有人估计:网上银行将使劳动生产率年均增长54%。比如工商银行发给客户的U盾,就存储了代表你身份的数字证书与其他信息,其交易过程就需要数字签名的支持。

电子商务能完成企业之间、企业与消费者之间在网上的交互活动。网上证券能在网上完成股票交易、网上证券信息服务、网上银行/证券转账业务等。这些业务需要身份鉴别防篡改等功能,也要使用数字签名。

还有电子政务。加入一个没有身份认证服务的电子政务系统,任何人都可随便签发文件散布,而不用担心事发后的追查,因为无法甄别出签字者,该电子政务系统的危害性可想而知。电子政务系统必须提供身份认证服务、权限控制服务、信息保密服务、数据完整和不可否认服务。

[参考文献]

[1] 熊德健.采用数字签名及时保障网络通信安全应用研究[J].甘肃科技,2008(22):p25~26.

[2] 陈赫贝,阮飞.XML数字签名及其应用研究[J].微机发展,2005(2):p53~54.

[3] 罗清元,王晓晓.数字签名技术的研究及应用[J].计算机安全,20084(2):p72~73.

个性签名文字篇9

[关键词] 数字签名 电子商务 交易安全

以网络技术为基础的电子商务作为一种全新的商务活动模式,已经成为经济增长的动力,推动着经济的迅猛发展。但互联网所固有的开放性与资源共享性使电子商务成为一把双刃剑,它在给人类带来了经济、便捷、高效的交易方式的同时,也引发了新的社会问题,电子商务的安全交易问题已成为全球电子商务活动的焦点问题,如何保证网上交易的有效性、机密性、完整性、可靠性和不可否认性是电子商务可持续发展的关键。

电子商务交易中,鉴别交易伙伴身份、确定合同、契约和单据的可靠性是十分关键的问题。在传统贸易中,交易双方通过在合同、贸易单据等书面文件上手写签名或盖章来鉴别对方的身份,确定贸易合同、契约、单据的可靠性并预防抵赖行为的发生,其具有较高的可靠性。而在无纸化的电子商务中,人们希望通过数字通信网络迅速传递合同、契约和单据,这就出现了数据真实性认证的问题,数字签名技术就应运而生了。

数字签名是用来保证信息传输过程中信息的完整性、私有性和不可抵赖性,其是实现网上交易安全的核心技术之一。

一、数字签名技术的概念

数字签名技术就是利用数据加解密技术、数据变换技术,根据某种协议来产生一个反映被签署文件和签署人特性的数字化签名。数字签名涉及被签署文件和签署人两个主体,密码技术是数字签名的技术基础,其核心是采用加密技术的加、解密算法体制来实现对数据的数字签名。

1.公开密钥加密技术

公开密钥加密又称为非对称密钥加密,其特点是每个用户有两个不同的密钥:公有密钥和私有密钥,分别用于加密和解密,如果用公有密钥对数据进行加密,只有用对应的私有密钥才能进行解密;如果用私有密钥对数据进行加密,则只有用对应的公有密钥才能解密。其中公有密钥是公开的,而私有密钥是保密的。

公开密钥加密的关键在于公有密钥和私有密钥是数学相关的,但不能从公钥推导出私钥,也不能从私钥推导出公钥。

公开密钥加密的优点是便于密钥的管理和分发,便于通信加密和数字签字。但公开密钥加密的算法相对复杂,加密数据速度较慢。

2.hash算法

hash算法又称为散列算法或报文摘要,hash算法并不是加密算法,但却能产生信息的数字“指纹”,主要用途是为了确保数据没有被篡改或发生变化,以维护数据的完整性。Hash算法有三个特点:(1)能处理任意大小的信息,并生成固定长度(160bit)的信息摘要。(2)具有不可预见性。信息摘要的大小与原信息的大小没有任何联系。原信息内容的任何一个微小变化都会对信息摘要产生很大的影响。(3)具有不可逆性。没有办法通过信息摘要直接恢复原文信息。

3.数字签名

数字签名是指使用密码算法对要传输的数据进行加密处理,生成一段信息,附着在原文上一起发送,这段信息类似现实中的签名或印章,接收方对其进行验证,判断原文真伪,其目的是提供数据的完整性保护和抗否认功能。

实现数字签名的方法很多,目前使用较多的是比较容易实现的公开密钥加密技术。其是先将要发送的信息通过hash算法形成信息摘要,然后用发送方的私钥加密,再将生成的结果附加到原信息上去,就形成了原信息的数字签名。接收方收到数字签名和原信息后,用发送方的公钥将信息摘要解密,将原信息通过hash算法生成新的信息摘要。将两个信息摘要进行对比,若相同则表明这份数字签名和文件是正确的,否则文件就是伪造的或已被篡改。

二、数字签名技术在电子商务中的应用

将数字签名技术应用于电子商务中,可以解决数据的否认、伪造、篡改及冒充等问题,其主要用途有三个方面:

1.验证数据的完整性

这个功能能保证信息自签发后到收到为止没有做任何修改。因为当两条信息摘要完全相同时,可以确信这两条信息的内容完全一样。因此,可以通过将信息发送前生成的信息摘要与接收后生成的信息摘要进行对比,来判断信息在传输过程中是否被篡改或改变。由于信息摘要在发送之前,发送方使用私钥进行加密,其他人要生成相同加密的信息摘要几乎不可能,于是,接受方收到信息后,可以使用相同的函数变换,重新生成―个新的信息摘要,将接收到的信息摘要解密,然后进行对比,从而验证信息的完整性。

2.验证签名者的身份

此功能证明信息是由签名者发送的。因为数字签名中,是使用公开密钥加密算法,信息发送方是使用自己的私钥对发送的信息进行加密的,只有持有私钥的人才能对数据进行签名,所以只要密钥没有被窃取,就可以肯定该数据是用户签发的。信息接收方可以使用发送方的公钥对接受到的信息进行解密,因而,接收方一旦解密成功,就完全可以确认信息是由发送方发送的,同时也证实了信息发送方的身份。

3.防止交易中的抵赖行为

当交易中出现抵赖行为时,信息接收方可以将加了数字签名的信息提供给认证方,由于带有数字签名的信息是由发送方的私钥加密生成的,其他任何人不可能产生这种信息,而发送方的公钥是公开的,任何人都可以获得他的公钥对信息解密.这样认证方可以使用公钥对接收方提供的信息解密,从而可以判断发送方是否出现抵赖行为。

由以上论述可知,在电子商务系统的安全服务中的身份验证、数据完整和不可否认服务,都要用到数字签名技术。数字签名在电子商务中有如下功能:发送者事后不能否认发送的报文签名、接收者能够核实发送者发送的报文签名、接收者不能伪造发送者的报文签名、接收者不能对发送者的报文进行部分篡改、交易中的某一用户不能冒名另一用户作为发送者或接收者。

个性签名文字篇10

关键词:数据通信;公开密钥;加密体系;数字签名

中图分类号:062.5 文献标识码:A 文章编号:1005-6432(2008)41-0076-02

互联网的迅速发展改变了传统的事务处理方式,开放的网络环境和开放的网络协议给基于网络的业务系统的使用(如证券系统、银行系统、网上购物以及电子政务系统等)带来了极大的方便性。计算机网络得到了迅猛的发展,同时,由于计算机网络缺乏足够的安全性,网络的安全性问题越来越受到高度的重视,网络安全对策显得尤为重要,如客户密码的安全保密和客户身份的网络认证,身份认证的真实性和身份认证手段本身的可靠性。数字签名技术的发展,很好地解决了网络用户身份认证的功能,防止虚假用户冒充真实用户在网上开展业务。

一、公开密钥加密体系

公开密钥加密的基本思想是:每个用户都分配两个密钥,一个是公开密钥,对其他用户都公开;另一个是私有密钥,仅为自己所有。经用户公开密钥加密的信息只能通过他的私有密钥来解密。反过来,经用户私有密钥加密的信息也只能通过他的公开密钥来解密。其中最有名的一种是RSA体制,它已被推荐为公开密钥数据加密的标 准。

RSA算法取自于它的创始人的名字(Rivest Shamir Adelman),该算法也属于分组加密算法。他使用2个密钥,密钥长度从40b到2048b可变,加密时把明文分割成长度小于密钥长度的块,RSA算法把每一块明文转化为与密钥长度相同的密文块。密钥越长,加密效果越好,但开销也随之增大,所以要在安全与性能之间折中考虑,实际应用中一般采用64b密钥。RSA算法的体制构造是基于数论的欧拉定理,产生公开密钥和秘密密钥的方法如下:

(1)取2个互异的大素数p和q,p和q是保密的。

(2)计算n=(p-1)(q-1),式中:n为公开;p和q为保密。

(3)随机选取整数e,且e与1互为素数,可以找出另一个值d满足。

(4)(n,e)和(n,d)这两组数即分别为公开密钥和私有密钥。对于明文M,用公钥(n,e)加密可得到密文C,C=Memod(n);对于密文C,用私钥(n,d)解密可得到明文M,M=Cdmod(n)。

基于公开密钥密码系统优点如下:

①保护信息机密:任何人均可以将明文加密成密文,此后只有拥有解密密钥的人才能解密;

②简化密钥分配及管理问题:网络上的每一个人只需要一把加密(公开)密钥及一把解密(私有)密钥,这些密钥只要由接受方自己产生即可,除拥有更高的安全性外,更大大简化密钥之分配及管理问题,不需要在用户之间传递私钥,n个人互相通信仅需要23n个密码,密码管理容易,可以适应开放性的使用环境;

③可达到不可否认功能:由于只有接受方自己才拥有解密密钥,若他先用解密密钥将明文加密(签名)成密文(签名文),则任何人均能用公开密钥将密文解密(验证)成明文,并与原来明文对照。由于只有接受方才能将明文签名,任何人均能验证无法伪造。因此,此签名文就如同接受方亲笔签名一样,具有法律效力,日后有争执时(如签名者事后否认),第三者(如法院)可以很容易做出正确的判断。这种功能称做数字签名。

二、数据签名

根据数字签名标准DSS(Digital Signature Standard),数字签名的实现过程有以下五个步骤。

步骤1 发送方用一个hash函数对消息进行处理,产生消息摘要(Message Digest)。

步骤2 发送方将自己的私人密钥和消息摘要进行DSA算法计算产生数字签名。

步骤3 将数字签名和消息一起发送出去。

步骤4 接收方用同样的hash函数对消息进行计算, 产生消息摘要。

步骤5 接收方用DSA算法对消息摘要和发送方的公开密钥进行计算,产生数字签名1,同时,从接收到的消息中可以得到数字签名2。两者相等,则该数字签名通过验证,否则不能。

有效的数字签名有一对一的数字签名和多重签名等。多重数字签名,在今天的分布式系统上比较流行,往往在地理上是分布的,多人签名的组织有很多方法,一种简单有效的方法是按一定的顺序签名,签名是累加的,每个签名人只能验证前一位的签名是否正确,然后在它的基础上加上自己的签名,否则停止签名。比较典型的有序多重数字签名方案,是以美国数字签名标准算法DSA为基础设计的一种名叫ELGamal型有序多重数字签名方案。它允许多方有顺序地对某一份文件进行签名,然后把它们构成一份群体签名。该方案可以检测和防止不诚实签名者的欺骗行为。由于简化了签名者之间的接口,减少了通信成本,有效地避免了签名死锁,因而更具安全性和实用性。除了有序多重签名, 广播多重签名应用也很广泛。这两种多重数字签名方案从安全性上说均基于大整数因子分解或者有限域上的离散对数难题,需要PKI的支持和验证,而用更加安全的椭圆曲线密码体制实现多种签名将更能满足实际应用的需求,因而设计出基于椭圆曲线密码体制的多重签名方案将成为现今研究的新课题。

三、局域网中文件加密和数字签名系统的管理

在局域网中文件加密和数字签名系统的管理主要是对服务器端公开密钥库的管理。

管理员的主要工作有:

(1)公开密钥的申请登记。当新用户加入时,用户把他的公开密钥和用户信息传送给管理员,管理员确认后,把用户密钥和资料加入到数据库中。

(2)密钥的备份与恢复。为了系统的稳定和安全,管理员应定期对公开密钥数据库进行备份,在系统出错或崩溃时负责数据的恢复。

(3)公开密钥的更新。当用户的私人密钥发生灾难性毁坏不能恢复时,需要重新申请加入公开密钥,管理员负责更新公开密钥库,但其原来的公开密钥转移到相关数据库中。

(4)公开密钥的吊销。当用户需要离开单位或其他原因不再使用本系统时,管理员负责将其公开密钥转移到相关数据库中保存。

四、局域网中文件加密和数字签名系统的具体应用

用户使用文件加密和数字签名系统的步骤:

(1)当用户第一次使用该系统时,要安装客户端软件,利用客户端软件生成用户的公开密钥和私人密钥,私人密钥存储在用户的计算机内部,把公开密钥导出到文件中,再把该文件和用户的相关信息一起发送给服务器管理员。管理员收到信息后,根据其他手段确认用户的资料正确后,把用户的公开密钥和资料加入到数据库中,并用用户的公开密钥把确认信息加密后发送给用户,用户得到确认信息后就可以使用文件加密和数字签名了。

(2)当用户之间传送带有数字签名的文件时,发送方利用客户端软件产生要发送的文件的数字签名,并把文件和数字签名一起发送给接收方。接收方收到文件和数字签名后,可以利用客户端软件对数字签名进行验证。验证时,客户端软件向服务器端索取发送方的公开密钥,利用发送方的公开密钥对数据签名进行验证,如果验证通过,接收方可以把文件和数字签名保存,事后发送方不能否认所发送的文件,如果所传送的文件在传送中出现错误或被纂改,则数字签名将不能通过验证。

(3)当用户之间传送加密文件时,发送方首先利用客户端软件对文件加密,加密时客户端软件产生一个密钥,以对称加密算法用该密钥对文件进行加密,然后向服务器索取接收方的公开密钥,用接收方的公开密钥对加密文件所用的随机密钥进行加密,并把加密后的随机密码一起写到文件中。发送方把密钥加密后的文件发送给接收方,接收方收到文件后用自己的私人密钥可以对文件解密。根据公开密钥算法的原理,利用公开密钥加密的数据,只能用其对应的私人密钥进行加密,所以,发送方发送的加密文件只能由相应的合法接收方才能对文件进行解密。在发送加密文件时,也可使用数字签名。

基于网络环境下数据加密/签名的应用将越来越广泛,PKI及数字证书作为技术基础可以很好地实现通行于网络的统一标准的身份认证,包含有线和无线通信领域。目前国外已经选择安全系数较高的椭圆曲线数字签名算法,而国内仍然只是在RSA和DSA之间进行选择。因此,吸收国外先进经验,开展具有自主创新思想的加密签名技术研究已经变得非常迫切。随着人们对于密码体系的更深入的研究以及数字签名算法的完善和新算法的提出,数字签名作为网络信息安全的一项重要技术,它的应用领域也将不断扩大。

作者单位:首都经济贸易大学信息学院

参考文献: