RSA数字签名在电子商务中的应用

2024-04-22

RSA数字签名在电子商务中的应用(精选7篇)

篇1:RSA数字签名在电子商务中的应用

RSA数字签名算法探析

摘 要

随着电子商务飞速发展、普及和应用,安全问题已经成为电子商务发展的瓶颈。本文从电子商务交易过程对电子商务安全性的需求出发,介绍了数字签名的原理,着重介绍了RSA加密算法的工作原理及其在电子商务中的应用。

关 键 词

RSA;加密算法;电子商务

Abstract Along with the electronic commerce rapid development, the popularization and the application, the security problem already became the electronic commerce development the bottleneck.This article embarked from the electronic commerce transaction process to the electronic commerce secure demand, introduced the digital signature principle, emphatically introduced the RSA encryption algorithm principle of work and its in the electronic commerce application.Keywords RSA;Encryption algorithm;electronic business

一、引言

随着经济的迅猛发展和网络技术的大范围的普及和应用,一种新兴的商务运作模式——电子商务,已经日趋成熟和完善。越来越多的人把上网作为自己获取信息的首要途径。目前在网上进行贸易的企业和个人日益增多,除了网上购物,还有网上商品销售、网上拍卖、网上货币支付等,人们的消费和生活习惯已经在慢慢改变,但与此同时,交易的风险性和不确定性也大大增加,安全问题已经成为电子商务发展的瓶预。

电子商务是建立在一个较为开放的网络环境上的,由于数据输入时的意外差错或欺诈行为,或数据传输过程中信息丢失、重复或传送次序差异等原因,贸易各方的信息有可能不同。这会导致纠纷的产生,甚至使交易无法进行。因此,要预防对信息的随意生成、修改和删除,同时要防止信息在传输过程中被非法窃取。鉴于此,电子商务活动中的信息及其传播的技术,不仅涉及到信息的制造和传输技术,同时还涉及到数据加密、身份认证和电子签名等技术。目前增强电子商务的安全方法很多,从网络系统到具体应用系统提出了多种方案、规范及加密体系,我们主要来探讨一下RSA加密算法。

二、数字签名的原理

数字签名的过程指报文发送方将报文文本带入哈希函数生成一个128位的数列值,即消息摘要,消息摘要代表文件的特征,其值随着文件的变化而变化,也就是说,不同的文件得到不同的消息摘要。哈希函数对于发送数据的双方都是公开的。发送方用自己的专用密钥对这个散列值进行加密,形成发送方的数字签名。然后,这个数字签名将作业报文的附件和报文一起发送给报文的接收方。报文的接收方首先从收到的原始报文中计算出128位的散列值(消息摘要),接着再用发送方的公开密钥来对报文附加的数字签名进行解密。如果两个散列值相同,那么接收方就能够确认数字签名是发送方的。通过数字签名能够实现对原始报文的鉴别和不可否认性。

从数字签名的过程可以看出,数字签名应当满足下列要求:接收方能够确认或证实发送方的签名,但不能伪造。发送方发出签名的消息给接收方后,就不能再否认所签发的消息。接收方对收到的签名消息不可否认,即有收报认证。

为了实现数字签名的目的,发送方需要向接收方提供足够的非保密信息,以便使其能够验证消息的签名,但又不能泄露用于产生签名的机密信息,以防他人伪造签名,因此,可用RSA签名机制来实现数字签名。

三、RSA加密算法的实现

RSA算法于1977年由美国麻省理工学院MIT(Massachusetts Institute of Technology)的Ronal Rivest,Adi Shamir和Len Adleman三位年轻教授提出,并以三人的姓氏Rivest,Shamir和Adlernan命名为RSA算法。该算法利用了数论领域的一个事实,那就是虽然把两个大质数相乘生成一个合数是件十分容易的事情,但要把一个合数分解为两个质数却十分困难。合数分解问题目前仍然是数学领域尚未解决的一大难题,至今没有任何高效的分解方法。与Diffie-Hellman算法相比,RSA算法具有明显的优越性,因为它无须收发双方同时参与加密过程,且非常适合于电子函件系统的加密。

RSA公共密钥加密算法的核心是欧拉(Euler)函数ψ。对于正整数n,ψ(n)定义为小于n且与n互质的正整数的个数。例如ψ(6)= 2,这是因为小于6且与6互质的数有1和5共两个数;再如ψ(7)= 6,这是因为互质数有1,2,3,5,6共6个。

欧拉在公元前300多年就发现了ψ函数的一个十分有趣的性质,那就是对于任意小于n且与n互质的正整数m,总有m

ψ(n)

mod n = 1。例如,5ψ(6)

mod 6 = 5 mod 6= 25 mod 6 =1。也就是说,在对n求余的运算下,ψ(n)指数具有周期性。

当n很小时,计算ψ(n)并不难,使用穷举法即可求出;但当n很大时,计算ψ(n)就十分困难了,其运算量与判断n是否为质数的情况相当。不过在特殊情况下,利用ψ函数的两个性质,可以极大地减少运算量。

性质1:如果p是质数,则ψ(p)=(p-1)。

性质2:如果p与q均为质数,则ψ(p·q)= ψ(p)·ψ(q)=(p-1)(q-1)。

RSA算法正是注意到这两条性质来设计公共密钥加密系统的,p与q的乘积n可以作为公共密钥公布出来,而n的因子p和q则包含在专用密钥中,可以用来解密。如果解密需要用到ψ(n),收信方由于知道因子p和q,可以方便地算出ψ(n)=(p-1)(q-1)。如果窃听者窃得了n,但由于不知道它的因子p与q,则很难求出ψ(n)。这时,窃听者要么强行算出ψ(n),要么对n进行因数分解求得p与q。然而,我们知道,在大数范围内作合数分解是十分困难的,因此窃密者很难成功。

2四、RSA加密算法的工作原理

有了关于ψ函数的认识,我们再来分析RSA算法的工作原理:

1、密钥配制。设m是要加密的信息,任选两个大质数p与q,选择正整数e,使得e与ψ(n)=(p-1)(q-1)互质。

利用辗转相除法,计算d,使得ed mod ψ(n)=1,即ed = kψ(n)+1,其中k为某一正整数。

公共密钥为(e,n),其中没有包含任何有关n的因子p和q的信息。专用密钥为(d,n),其中d隐含有因子p和q的信息。

2、加密过程。将明文m(其值的范围在0到n-1之间)按模为n自乘e次

e幂以完成加密操作,c=m(mod n),得密文c。

3、解密过程。使用(d,n)对密文c进行解密,将密文c按模为n自乘d次幂,完成解密操作m=c(mod n)计算过程为:

c mod n =(m mod n)mod n = m mod n = m(kψ(n)+ 1)kψ(n)edd

e

d

d

mod n =(m mod n)·(m mod n)

= m m即为从密文c中恢复出来的明文。

例如,假设我们需要加密的明文代码信息为m = 14,则: 选择e = 3,p = 5,q = 11; 计算出n = p·q = 55,(p-1)(q-1)= 40,d = 27; 可以验证:(e·d)mod(p-1)(q-1)= 81 mod 40 = 1; 加密:c = m mod n = 14 mod 55 = 49; 解密:m = c mod n = 49 mod 55 = 14。

关于RSA算法,还有几点需要进一步说明:

1、之所以要求e与(p-1)(q-1)互质,是为了保证 ed mod(p-1)(q-1)有解。

2、实际操作时,通常先选定e,再找出并确定质数p和q,使得计算出d后它们能满足公式(12-3)。常用的e有3和65537,这两个数都是费马序列中的数。费马序列是以17世纪法国数学家费马命名的序列。

3、破密者主要通过将n分解成p·q的办法来解密,不过目前还没有办法证明这是唯一的办法,也可能有更有效的方法,因为因数分解问题毕竟是一个不断发展的领域,自从RSA算法发明以来,人们已经发现了不少有效的因数分解方法,在一定程度上降低了破译RSA算法的难度,但至今还没有出现动摇RSA算法根基的方法。

4、在RSA算法中,n的长度是控制该算法可靠性的重要因素。目前129位、甚至155位的RSA加密勉强可解,但目前大多数加密程序均采用231、308甚至616位的RSA算法,因此RSA加密还是相当安全的。d

27e

3五、结束语

据专家测算,攻破512位密钥RSA算法大约需要8个月时间;而一个768位密钥RSA算法在1年之内无法攻破。现在,在技术上还无法预测攻破具有2048位密钥的RSA加密算法需要多少时间。美国Lotus公司悬赏1亿美元,奖励能破译其Domino产品中1024位密钥的RSA算法的人。从这个意义上说,遵照SET协议开发的电子商务系统是绝对安全的。

利用前面讲解的加密方法,尤其是基于双钥技术的现代加密方法,我们针对网络安全可以实现多种具体的手段及方法,如数字签名、数字时间戳、数字凭证及认证中心等,而且这些方法和手段常常结合在一起使用,长短互补,从而构成了网上安全防范的实用体系。

参考文献

[1]王茜,杨德礼.电子商务的安全体系结构及技术研究[J],计算机工程,2004年

[2]朱文余.计算机密码应用基础,科学出版社,2005年

[3]陈风,张利萍.RAS算法及其在电子商务中的应用[ J] .铁路训算机应用,2005 [4]倪春胜.数字签名技术在电子商务中的应用[J] .计算机工程与应用,2006

篇2:RSA数字签名在电子商务中的应用

一、前言

电子病历是医疗信息化的一个重要的组成部分,是属于医院信息化水平的高级阶段,是建立在基本的医院信息管理系统(HIS) 、临床信息系统(CIS) ,医生工作站、护士工作站等应用系统和相关数据库的基础之上,既是医院内部的一种诊疗过程记录,同时也是一种具有法律性质的文书,既然病历是一种法律性质的文书就要确保电子病历的真实性和安全性。电子病历是由 CIS 中的医生工作站、护士工作站、PACS、LIS 和相关的医疗设备以及其他系统采集的信息,通过网络传输把信息保存在后台数据库上的数字电文,可见电子病历的数据采集、传输、存储都是由医院的 CIS 来完成。目前国内医院 CIS的电子病历的数据采集、传输、存储都没有统一的规范和标准,而且 CIS在医疗业务和信息技术上都是一个庞大复杂的管理系统,很多CIS 只关注其功能的实现,对数据安全考虑较少,因此人们会对电子病历数据的安全性、真实性和合法性带来质疑。本文把电子病历结合了数字证书进行应用,利用合法的第三方机构的 CA 认证来确保电子病历数据的真实性、安全性和合法性。

二、电子病历的安全隐患

1. 电子病历产生过程以及基本内容

电子病历信息是病人就诊的各个环节产生的,上一个环节信息是为下个环节服务的,有病人填写或病人主诉信息,再由医务人员输入 CIS,有医务人员对病人的诊疗信息,由医务人员自己录入 CIS,这些信息经医院的网络系统传输到 CIS 后台数据服务器进行存储。其中既有后台数据库方式存储,也有在服务器上以文件方式存储的。在数据库中,建立病历的描述结构,或者说电子病历的数据模型,将这些信息按照类别及发生的时间顺序,有机地组织成一个整体,用于以后的调用、维护更新、归档。因此,电子病历是病人在医院就诊时的整个诊疗过程记录,其基本包含的内容有:

1) 患者信息:指患者个人信息,如:姓名、性别、年龄、婚姻状况、个人健康信息、过往病史、家庭状况等;

2) 医嘱信息:指医生对病人治疗过程和健康指导意见等;

3) 病程记录信息:指患者病情状况的连续性记录;

4) 检查检验信息:指病人在诊疗过程中所做的各项医学检查和检验的结果记录;

5) 影像检查信息:指病人在诊疗过程中所做的各项医学影像检查的影像资料和诊断结果记录;

6) 手术记录:指病人曾经所做的手术情况记录;

7) 护理信息:指患者接受护理的项目及护理情况和结果记录。

2. 电子病历安全的漏洞

从电子病历内容和产生过程可知,电子病历信息主要是由诊疗的各个医务人员录入信息通过网络传输到服务器进行存储,并且对每个环节实时性的要求都很高,不难看出电子病历存在如下

安全问题:

系统登陆身份验证的问题

CIS 目前大多采用用户名密码方式来登陆系统,采用此种方式进行登陆系统存在着很大的弊端,比如密码设置过于简单、利用自己关切自己的数字(比如生日)来设置密码,密码存储在数据库中以明文的方式等,很容易被人盗取或破解,因此,CIS 系统登陆的身份验证需要解决是否有人使用他人的用户和口令进行病历信息输入和修改,是否有人越过 CIS 的身份验证进行病历信息输入和修改等等问题。

数据在网络中完整传输问题

医院 CIS 多数运行在医院内的局域网上,局域网上的 CIS 终端与服务器间的信息传输安全往往被忽视,因此,信息有可能被窃取并篡改,无法保障医务人员在 CIS 终端上输入和浏览的电子病历信息的正确性。

数据存储安全

电子病历信息多数是以明文的方式保存在后台数据库服务器上,而后台数据库服务器对于某些人是透明的.。对于在数据库上的数据是否有人更改过,目前的医院 CIS 是没有这种机制来验证的,所以也无法保障医务人员在 CIS 终端上输入和浏览的电子病历信息的正确性。对系统信息录入或修改的不可抵赖问题

电子病历的信息需要在 CIS 终端进行录入,而且对录入的信息要确实反映病人的真实情况,因此,确保录入信息的真实性显得非常重要,这需要每位信息的录入或修改人员对自己的操作行为负有高度的责任,即其行为不可抵赖。

电子病历的时间取证问题

要准确的把握病人的病情发展,需要对病人的诊断、医疗等的时间有个准确的把握,这就要求电子病历对实时性的要求很高。目前医院的 CIS 对电子病历的时间记录往往是取终端计算机的系统时间,而不是国家授时的时间,因此,时间的准确性的取证非常重要。

三、基于数字证书的CA认证技术

数字证书是标志网络用户身份信息的一系列数据,用来在网络通讯中识别通讯各方的身份,即要在网络上解决“我是谁”的问题,就如同现实中我们每一个人都要拥有一张证明个人身份的身份证或驾驶执照一样,以表明我们的身份或某种资格。数字证书是由权威公正的第三方机构即 CA 中心签发的,以数字证书为核心的加密技术可以对网络上传输的信息进行加密和解密、数字签名和签名验证,确保网上传递信息的机密性、完整性,以及交易实体身份的真实性,签名信息的不可否认性,从而保障网络应用的安全性。简单的说我们可以使用数字证书来保证:信息除发送方和接收方外不被其他人窃取即使被窃取得到的也是不能读懂的乱码;信息在传输过程中不被篡改;发送方能够通过数字证书来确认接收方的身份;发送方对于自己发送的信息不能抵赖;信息存储的完整机密。 数字证书采用公钥密码体制,即每个实体都有一对互相匹配的密钥:公开密钥(公钥)和私有密钥(私钥)。每个用户拥有一把仅为本人所掌握的私钥,用它进行解密和签名;另外还拥有一把公钥并可以对外公开,用于加密和验证签名。 CA就是数字或电子证书认证中心,是一个负责数字证书发放和管理,同时为电子商务或电子政务系统等提供数字身份验证和安全可信支撑平台的第三方的权威机构。应用系统通过第三方认证机构提供的数字证书和安全支撑平台使应用系统具有可信性和合法性。这就是 CA 认证的意义。CA 认证对应用系统主要提供以下功能:

1) 身份认证

通过安全应用支撑平台为应用系统提供安全认证的环境基础,利用为系统的用户、设备、机构、业务等颁发数字证书作为身份识别和认证的依据,在应用系统的登陆部分,实现用户与服务资源的双向认证,达到“一人一证、一机一证、每个机构一证、每个业务一证、持证上岗”的效果。

2) 数据签名

对数据的签名和验签,是将数据作为证据的一种最有效的方法。系统通过利用用户的签名私钥,对数据进行签名运算,并把运算结果作为一个字段存储在数据库中,这样数据就是经过这个用户签名的数据,具有法律效力,不能修改。当需要对数据进行验签时,系统只要再用用户的证书进行一次运算,就可以确定签名的有效性。对数据作签名验签可以确认数据单元的来源和完整性,并保护数据,防止被人伪造或篡改。

3) 数据的加解密

基于安全的整体规划考虑,数据在网络中传输时要确保机密数据不为第三方窃取。需要在机密数据的传输过程中进行加密处理,只能由接收方进行解密还原成明文,才能保证机密数据即使被第三方窃取也由于没有解密密钥而只能是一些无用的加密文件,这就是“取得到,但看不懂”。认证系统采用的是基于非对称和对称加密技术的数字信封的加密方式,即原文利用对称算法进行加密,得到原文的密文,在把对称算法的密钥利用非对称算法进行加密得到密钥密文,把原文密文和密钥密文加上公钥组成了数字信封进行机密传输,而用于加密和解密的私钥只能在存在数字证书中。

4) 可信时间戳

可信时间戳服务是数字签名功能与基于公共标准时间源的时间服务系统的结合,通过对目标数据加上可信时间源提供的时间标记,以确认系统所处理的数据在某一时间(之前)的存在性,并用数据签名来保证时间标记的完整性与真实性。可信时间戳服务为实现事务处理的抵赖性提供了时间证据基础。当提交数据需要加盖时间戳时,可以通过使用认证系统中的时间戳服务系统,加盖有时间戳服务器签名的可信时间,并保留时间戳证据。这样对方就可以获得有时间戳标记的数据文件。

四、数字证书在电子病历中的应用

数字证书是网络上(或称为数字化的)实体身份证,可以用于出示给对方来表明自己的真实身份。围绕着数字证书中所包含的公钥和保存在“数字证书载体”(后面会具体描述,一种类似 U盘的 USB_KEY 硬件介质,由使用者实体自己保管)中的私钥,利用这两者之间可以互相加密解密的功能,来实现身份认证、保密性及完整性等一系列安全服务技术。

这个实体可以是自然人、机构、岗位或服务器等硬件设备。具体到电子病历系统中,主要是

指医护人员(医生、护士、药剂师等)、医院领导、系统管理人员和服务器设备等。在将来还可以扩展到患者(用于网上预约和查看结果)、他院相关人员(用于远程会诊)和上级领导部门(用于督察) 。结合数字证书 CA 认证平台的电子病历系统的架构图如图 1 所示。

图 1 电子病历系统数字证书安全平台 如图所示,电子病历系统安全平台服务器端的核心为 PKI Server(安全应用支撑服务器)及安全服务中间件,PKI Server 是一个硬件密码设备,它提供了身份认证识别(证书鉴别) 、数据加密解密、数字签名及验签等安全运算功能,以硬件方式为应用系统提供服务器端数据机密性、数据完整性、身份认证、防抵赖等服务,符合国密办《证书认证系统密码及其相关安全技术规范》,具有稳定、可靠、高效、易管理的特点。电子病历系统实时性要求很高,同时系统对 PKI Server 的依赖程度也较高,为了避免由于偶发的机器故障而导致对系统业务应用的较大影响,可以通过配置两台或两台以上的 PKI Server进行双机冗余,一旦出现故障时可以马上切换至备用设备。

安全服务中间件是基于 PKI 公钥基础设施构建安全应用的开发环境与运行支撑环境,遵循国密办《证书认证系统密码及其相关安全技术规范》 ,兼容 PKCS#11、Windows CSP、JCE 等国际信息安全应用标准。能够屏蔽底层安全设备的硬件差异和复杂的密码实现逻辑,使用户只需在特定业务逻辑中嵌入所需安全功能,然后再进行简单的部署和配置,即可实现基于 PKI 的安全应用,可极大程度的降低应用系统的开发成本,提高开发效率。简单的说,它提供给电子病历等业务应用系统一整套二次开发接口函数,通过它可以很方便的调用密码设备(包括 PKI Server 和数字证书载体)实现各种认证功能。TSP Server指时间戳服务器,电子病历系统中产生的各种关键数据,在签名之前可以通过时间戳服务器获取当前的标准时间,并附加在签名之中,不可更改,提供准确的时间证据。 客户端用户需要配置“数字证书载体” (简称 USB KEY),其中存储了由 CA中心颁布的数字证书,同时也在保护区存储了代表个人数字签名的私钥。USB KEY 还包含了相关加密算法,配合载体内置的 CPU 运算芯片,可以实现数据的加密和签名等运算功能。()USB KEY 通过 PIN 码保护其安全使用,三次尝试输入 PIN 码错误,KEY 将自动锁死,必须交还给 CA 中心进行解锁方能使用。

五、总结

医院 CIS 通过引入合法的第三方安全认证系统,结合数字证书进行应用可使电子病历受到系统的、连续的安全保护,意义主要有以下几点:

1. 电子病历的保密性。保证合法用户才能进入医院 CIS,医院 CIS 的信息在网络传输中和后台存储中不会给他人轻易盗取;

2. 电子病历的完整性。电子病历在医院 CIS 的整个操作过程中得到了有效的完整性验证,保证了医务人员在系统终端所看到的电子病历是正确的、真实的,保证了电子病历的存储过程完整性。

3. 电子病历的不可抵赖性。医务人员在 CIS 中对电子病历的任何操作和输入的电子病历信息都能得到有效证实,电子病历且可追溯、可查证,使电子病历具有不可抵赖性。

4. 电子病历的合法性。电子病历的整个产生全过程是受法律许可的第三方机构监控,并由第三方机构作公证,使电子病历和纸质病历一样受法律认可。

篇3:RSA数字签名在电子商务中的应用

1 电子商务中的安全性需求

安全性是电子商务中的一个核心问题。如何采取高效安全的措施保证电子商务的顺利展开,是电子商务良好运作的重要基础和关键因素。目前电子商务面临的安全问题主要包括系统的中断与瘫痪、信息被篡改与伪造、对交易行为进行抵赖等方面,从逻辑上看可以分成底层的物理系统安全(即计算机网络系统的安全)与上层业务逻辑系统安全(即电子商务的交易安全)。其中电子商务交易安全是指电子商务易活动过程中信息的安全性,其交易活动中信息的安全要求主要包括:

1)数据完整性:传输过程必须保证数据完整。

2)数据一致性:防止数据传输过程中交易信息的丢失或重复,并保证信息传递次序的统一。

3)数据保密性:应保证交易过程中数据的保密,确保合法用户的隐私不被侵犯等。

4)抗否认性:应防止商业信用和行为的抵赖,保证交易各方对已做交易无法否认。

5)身份确认性:确保电子商务中交易双方身份的可靠性及合法性,如:实现系统对用户身份的有效确认;对私有密钥和口令进行有效保护;防止假冒身份在网上交易欺诈等等。

2 数字签名技术

数字签名在ISO7498-2中的标准定义为:“附加在数据单元上的一些数据,或是对数据单元所作的密码变换,这种变换允许数据单元的接受者用以确认数据单元来源和数据单元的完整性,并保护数据,防止被人进行伪造”。由于在电子商务中交易双方尚未建立起完全的信任关系,当他们之间发生利益冲突的时候,单纯的数据加密、消息认证就显得不够了,数字签名技术则可以有效地解决这一问题,起到与书写签名或印章相同的法律效用。即发方(收方)事后不能否认自己的签名;收方能验证签名,其他人不能伪造签名;当双方关于签名发生纠纷时,第三方能解决双方的纠纷;数字签名技术首先要做的工作就是消息摘要,而单向杂凑函数(Hash函数)是生成消息摘要的快速加密算法。

2.1 Hash函数

单向杂凑函数(Hash函数)是一种公开的、不使用密钥的、不可逆运算的函数。函数的输入是可变大小的消息,输出是固定大小的消息摘要(一般为128bit的字符串),消息摘要具有错误检测能力。这种消息摘要我们可以近似地理解为是一篇文章的主题词,通过这个主题是不能推算出全文的,这是其不可逆运算性;如果这个消息的内容稍微动了一个或两个字,此时利用Hash算法推算出的消息摘要也是不同的,这是唯一性。因此,Hash函数可以用来提供验证消息完整性的服务。

2.2 公钥加密体制

公钥密码体制的思想是在1976年由Diffie和Hellman提出,公钥加密体制也称为非对称密钥加密体制。公钥加密体制使用一对密钥,其中加密密钥和解密密钥并不相同,而且不可能很轻易地从加密密钥推导出解密密钥,用其中一把密钥加密,就只能用另一把密钥解密。其算法主要有RSA、DSA、Diffie-Hellman等。

RSA是第一个既能用于数据加密也能用于数字签名的算法,是目前网络上进行保密通信和数字签名的最有效成熟的安全算法。其安全性是基于数论中大素数分解的困难性。所以,RSA需采用足够大的整数。这个整数的因子分解越困难,密码就越难以破译,加密强度也就越高。但公钥算法加密速度比较慢,仅对传输很少量的数据有用,所以在数字签名中常和哈希算法结合使用。

2.3 数字签名技术的实现原理

数字签名的基础是密码技术,由于加密算法的不同,实现的方法有单项散列函数(HASH)签名、对称密钥系统签名、非对称密钥系统签名三种。基于RSA的数字签名被普遍认为是目前最优秀的非对称密钥数字签名方案之一。数字签名主要由数字签名与鉴定数字签名两部分组成,其完整过程如图1所示,首先对需数字签名的文件用哈希函数生成一段数字摘要,再用发送方的私钥对数字摘要签名,然后将其与原文打包发送,接收方收到文件与数字签名后,用发送方的公钥对数字签名进行解密得到数字摘要H2,并将收到原文用HASH算法求得数字摘要H1,最后验证比较H1和H2,如果相同,则说明在传输中文件没有被破坏或篡改,并且文件是由发送者发的。

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

为了确保安全交易,将对称加密算法和非对称加密算法结合使用,利用对称加密算法3DES来进行大容量数据的加密,而采用RSA等非对称加密算法来传递对称加密算法所使用的密钥,通过这种方法可以有效地提高加密的效率并能简化对密钥的管理;在此基础上为有效防止交易过程中伪造,或冒用别人名义发送信息、篡改信息,或发出(收到)信件后否认抵赖等情况发生,将基于RSA数字签名应用于电子商务系统中的订单管理模块:如顾客在电子商务网站购买产品,则生成订单原文,顾客先用网站公钥对其加密生成订单密文,再对订单密文用自己的私钥进行数字签名,完成后将订单密文与签名传递给网站,网站对其进行签名认证,用顾客公钥进行解密得到订单密文后,再用自己的私钥对其解密,得到订单原文,从而完成网上购物。由于没有网站私钥,即便知道是哪一个顾客发送的数据,并用顾客公钥对其解密,得到的也只是订单密文,无法得到订单原文;同样没有顾客私钥,即使途中对订单密文进行修改,再加密送给网站,也无法通过数字认证。因此,利用数字签名技术可以有效地达到电子商务系统中信息传递的保密性、完整性、认证性和不可否认性等要求,有效防止各种电子商务中的安全隐患,充分实现电子商务交易活动中的信息安全。

4 结束语

数字签名技术是信息安全领域的一项重要技术,它有效地解决了电子商务活动中的否认、伪造、篡改及冒充等问题。尽管数字签名技术还不够完善,如签名后的文件可能被接收者重复使用,公开密钥加密算法的效率比较低,不易用于长文件的加密等,但随着安全技术措施的不断改进、有关数字签名法律法规的进一步完善,相信数字签名技术也将不断成熟,为商务活动和人们的生活提供可靠、便利的服务。

参考文献

[1]肖存涛.数字签名技术与电子商务安全性研究[J].网络安全技术与应用,2005(7).

[2]王玉奇.基于RSA的电子商务数字签名技术[J].经济师,2005(5).

[3]陈风,张利萍.RSA算法及其在电子商务中的应用[J].铁路计算机应用,2003(6).

[4]刘栋梁.陈艳萍.RSA密码体制在电子商务中的安全应用[J].大众科技,2005(11).

[5]林枫.电子商务安全技术及应用[M].北京航空航天大学出版社,2001,17-44.

篇4:电子签名在电子文件中的应用

一、电子签章、电子印章以及数字签名

实现电子签名的技术手段有多种,最常见的有电子签章、电子印章以及数字签名。

电子签章是指以电子形式存在,依附在电子文件并与其逻辑相关,可用于辨识电子文件签署者身份及表示签署者同意电子文件内容。电子签章必须以符合特定要求安全程序所制作的电子签章,才能确保签章的安全。将依特定安全程序制作的电子签章界定为安全电子签章,以有别于一般的电子签章,并赋予法律上视为签名或盖章的效力。因此,电子签章系统主要解决电子文件的签字盖章问题,用于辨识电子文件签署者的身份,保证文件的完整性,确保文件的真实性、可靠性;电子签章应该是电子签名的重要组成部分之一。

电子印章分为电子公章和电子名章,它是将公章或名章通过PKI技术进行加密,以数字认证存储介质方式,在电子文件中应用的电子版的印章。印章及管理系统须经政府授权方可制作,电子印章有望在许多领域替代传统印章,成为《电子签名法》实施后推动电子政务发展的有效举措。基于PKI的电子签名被称作“数字签名”。数字签名只是电子签名的一种特定形式。电子签名虽然获得了技术中立性,但也带来使用的不便,法律上又对电子签名作了进一步规定,如《电子签名法》中就规定其为“可靠电子签名”和“高级电子签名”。实际上就是规定了数字签名的功能,这种规定使数字签名获得了更好的应用安全性和可操作性。目前,具有实际意义的电子签名只有公钥密码技术。所以,目前国内外普遍使用的、技术成熟的、可实际使用的还是基于PKI的数字签名技术。

PKI的核心执行机构是电子认证服务提供者,即通称为认证机构CA,PKI签名的核心元素是由CA签发的数字证书。它所提供的PKI服务就是认证、数据完整性、数据保密性和不可否认性。它的作法就是利用证书公钥和与之对应的私钥进行加解密,并产生对数字电文的签名及验证签名。数字签名是利用公钥密码技术和其他密码算法生成一系列符号及代码组成电子密码进行签名,来代替书写签名和印章。这种签名方法可在很大的可信PKI域人群中进行认证,或在多个可信的PKI域中进行交叉认证,它特别适用于互联网和广域网上的安全认证和传输。

应用电子签章、电子印章以及数字签名等电子签名的方法可对电子文件进行签发处理。在网络中,还可应用网络安全中的动态电子签名认证技术自动对每份电子文件的修改、存取、传输等任何操作进行实时登记,从而为印证电子文件的来龙去脉提供完整、细致的查考信息。

二、档案部门电子签名系统的构建

为了推动电子文件归档工作进程,实现增量档案的电子化,必须尽快构建档案部门的电子签名系统,使电子签名能够充分发挥出比传统印章、签名更安全、高效、经济和易管理的作用。首先,由档案的信息化主管部门统一规划部署电子签名系统、数字证书颁发系统,然后以各单位为中心部署电子签名管理中心、电子签名应用系统。这样既能保证档案系统内部电子签名的通用性,又能满足不同使用单位对于电子签名系统的特殊要求,具有很大的灵活性。因此,档案系统的电子签名系统由统一的数字证书颁发系统、各单位的电子签名管理中心和电子签名服务器系统、电子签名客户端软件构成,电子签名系统是一个安全的电子签名平台,它独立于任何一个特定的应用系统,同时又提供与应用系统紧密集成的接口。

1.数字证书颁发系统。数字证书是电子签名的技术核心,是各个电子签名具有法律效力的惟一标识,档案信息化主管部门必须建设统一的数字证书颁发系统,便于系统内部各个部门之间以及上下级单位之间的相互认证。如果各单位自行架构数字证书颁发系统,那么电子签名只能在本单位通行。各单位通过电子签名管理系统和专门的网线连接到部署在档案信息化主管部门的数字证书颁发系统,申请电子签名使用的数字证书,然后在本地的签名制作系统制作电子签名,并管理电子签名。

2.电子签名管理中心。各单位部署一个电子签名管理中心,负责本单位各部门电子签名的申请、审批、制作、发放、挂失、销毁等管理(包括对数字证书的管理),同时提供电子签名使用审计管理功能——详细记录了签名人在何时、何处加盖过哪个电子签名。电子签名管理中心部署在各单位是符合电子签名管理规范的,这种方式大大减少了采取集中部署方式下各单位电子签名服务器需要不断与设在信息化主管部门的电子签名管理中心进行的数据通讯频率。

3.电子签名服务器系统。各单位都应该部署一套电子签名服务器系统,主要处理数字证书和签名的验证,以确保签名的合法性,同时负责与电子签名管理中心、电子签名审计系统的信息交换。电子签名服务器系统确保了电子签名的安全性和严密性,它主要进行如下几个方面的验证:一是数字证书是否由指定的合法颁发机构颁发;二是数字证书是否过期;三是数字证书是否被废止;四是电子签名是否被挂失或销毁;五是对数据进行验证,防止在网络传输过程中数据被非法篡改。

4.电子签名客户端软件。各单位由于需要实现的功能不同,所需要的电子签名客户端软件也有所不同,但都将具体实现电子文件的签名及验证,包括文档签名、撤销签名、文档验证、脱机验证、联机验证、查看证书、打印设置、文件打印等功能。

三、电子签名系统在电子文件中的作用

1.防范签名伪造风险计算机和风险技术促进了密码技术的迅速发展,并使其得到广泛应用。电子签名系统采用密码技术后,不仅能保证信息的机密性,而且具有数字签名、身份验证等功能。与手书签名和印章相比,电子签名系统增加了伪造印章的技术难度,有利于保证信息的机密性、完整性和不可抵赖性,能够有效防止信息被篡改、伪造和假冒。

2.规范签名运作及管理机制电子签名系统规定了签名人的权限和电子签名流程,通过程序化控制规范电子签名的运作流程和管理机制,以实现单位内部控制中授权、责任分配和记录等控制程序的功能。与手书签名和印章相比,电子签名系统能促进签名权限和电子签名流程的规范化,完善单位内部控制。

3.全面记录签名使用情况电子签名系统能全面、实时记录、存储印章的使用情况,通过查阅数据库或文件可随时查找具体签名人和文件内容,从而健全公章备案和监督制度,上级部门可以随时检查公章使用情况,防止公章保管人利用公章徇私舞弊。

篇5:RSA数字签名在电子商务中的应用

钱蓓蓓 天津市和平区教育信息化管理中心 2010年12月‚电子书包‛教育教学应用标准(规范)体系专家工作组在京成立[1],‚电子书包‛国家标准指日可待。目前,‚电子书包‛仍处在一个探索的阶段,这对于我们普通的教育信息化工作者来说是可以‚百家争鸣‛、‚各抒己见‛的好时期。作为一名热爱基础教育信息化的工作者,通过近期对相关材料的收集、资料的学习以及到多个移动终端生产公司的实地考察,我抑制不住想抓住这个难得机会分享自己的所思所想。

一、‚电子书包‛风生水起的必然性

随着信息网络的迅速发展和教学理念的转变,‚电子书包‛在教育信息化的浪潮中应运而生。

1.信息网络的发展

随着我国基础设施建立不断的提高,Wi-Fi和3G等无线网络的不断推广和普及,为教育信息化的深入提供了有利条件。‚数字化校园‛、‚智慧校园‛等成了现代化学校的标志。在通过实现从环境、资源到应用的全部数字化,在传统校园基础上构建一个数字空间,以拓展现实校园的时间和空间维度,提高管理水平和效率,从而提升教育信息化水平。这使得教学环境发生了改变,传统教学模式在一定程度上已满足不了教师和学生的需求,而且跟现代化、数字化的环境似乎不再协调。如何增加两者的耦合程度,需要一个关键的桥梁来承接,我想‚电子书包‛可以做到。2.教学理念的转变

在近代教学理念中,建构主义学习理论兴起,它强调学生是学习过程的主体,是意义的主动建构者,有利于学生的主动探索、主动发现、有利于创造型人才的培养。[2]所以,在这种教学理念下,学生的主动性和互动性备受重视。学生无阻碍的互动在于高互动的环境,‚电子书包‛的出现创造了这样的互动环境,提升了师生间互动的质和量,提高了学生学习的主动性,为个性化学习提供了基础。同时,我们都明确,‚电子书包‛在不久得将来就像学生手中的铅笔,将是一种必须的学习工具,而不是完全替代传统的教学。

二、‚电子书包‛在数字化校园中的应用方案 1.对‚电子书包‛的认识

现在被教育界广泛关注的‚电子书包‛并非横空出世,1999年世界上第一台应用在课堂教学的多媒体无线电子簿步入了新加坡德明中学一年级的课堂[3],十年过后,‚电子书包‛又再度兴起并备受关注。到目前为止,虽然‚电子书包‛的概念没有界定,但有一点业内已达成共识。‚电子书包‛不是单纯的把教材装进移动终端,而是新的教育理念和教学模式加网络环境的应用。

‚电子书包‛在第一个十年的发展中,除了存在技术和价格上的困难之外,没有建立起综合的网络支撑平台、优质的教学资源、教育观念指导也是一直无法推广的原因。学术界普遍认为一个完整的‚电子书包‛应该包括四个方面:第一是硬件,学生移动终端。它既是一个具有读写功能的书包,又是一个移动的即时交流工具。第二是与终端无缝连接的网络支撑平台。这是一个基础的、综合的工程,它能提供学习的数字资源和管理平台,同时也是师生、生生交流的平台。第三是丰富的数字化资源,要有大量的优质教育教学资源提供给学生,实现优质教育资源的共享。同时要有一支优秀的课程资源建设的队伍,对教育资源进行筛选,确保资源的优质性。第四是数字出版业的支持。教材永远是教与学的核心,数字化的教学需要电子化的教材,所以‚电子书包‛的施行需要数字出版业的跟进。

2009年7月第三届全国数字出版博览会召开,广东省出版集团数字出版有限公司、北京人教希望网络信息技术有限公司和广州金蟾软件研发中心有限公司联合举办‚电子书包‛启动仪式,在会上提出了‚电子书包‛的新内涵:教育内容+移动终端+服务平台。[4]业内权威祝智庭教授提出‚电子书包的建构发展必须同时考虑‘移动终端+教育内容+服务平台’三个核心要素,相对于第一个‘硬’的要素,后两个‘软’的要素在今后‚电子书包‛的发展中将越来越占居核心和主导地位,在‘硬’的基础上如何架构‘软’的支持和应用将成为决定‚电子书包‛成败的关键。‛[5]

2.‚电子书包‛在数字化校园中的应用方案

根据‚移动终端+教育内容+服务平台‛三个核心要素的原则,本人设计了‚电子书包‛在数字化校园中的应用方案图(见图1)。

图1‚电子书包‛在数字化校园中的应用方案图

在数字化校园这个大环境下,该应用共有管理员、教职工、学生、家长四种用户。不同的用户因身份不用而拥有不同的功能权限。

‚电子书包‛作为系统的核心应具备以下功能:

作为未来的学习工具,‚电子书包‛最核心的服务功能应是围绕电子课本展开学习活动,仅靠单一的终端产品是无法发挥出‚电子书包‛应有的潜能的。对学生而言,‚电子书包‛应具备互动学具和学习服务的功能。互动学具有两种,一是将传统物理性的学习工具以数字化、虚拟化的形式呈现,比如电子词典、虚拟直尺等;另一种则是结合认知科学和学习理论的研究成果而设计的用以支持学习活动优化的新兴工具,比如概念图工具、群件工具等。相对于前者,后者可能是今后学具发展的重点。[5]‚电子书包‛所具备的学习服务旨在提高学生的学习效率。比如学习记录、进度管理、评价服务、信息过滤、网络安全防护等。对于教师而言,应有数字化的备课工具和授课工具。无论教师的备课还是学生的学习,都还有一个关键要素——数字化内容资源。

‚电子书包‛是一个系统,不是几个要素的简单拼凑。它是一个产业,需要政府的组织推动,需要凝聚各界共识来协力运作。通过创新理念,整合资源,打造产品,树立品牌,打通硬件、平台、软件产业链,使产品和服务真正深入人心。这样,由移动终端、网路平台、学生、教师所构成的新型教学系统出现了,如何使‚师—生‛互动、‚生—机‛互动、‚生—机—生‛互动、‚师—机—生‛互动,在课前、课中、课后协调有效,将是未来教育的重点研究方向。

三、总结语

‚电子书包‛进入课堂后,互动式学习、探究式学习、小组协作学习、个性化学习都将会成为可能。对于下一代的孩子来说,使用技术学习将会成为一种自然,一种习惯。学生变成学习的主体,知识的建构者,教师应适应这种关系的变革,从传统身份转变为学生的引导者。‚电子书包‛的出现对教师提出了更高的要求,新型教师应具备新的教学设计理念,学会关注学生的个性差异,发展每一个学生的优势和潜能。

‚电子书包‛同一切事物一样,它需要一个从出现到成熟的过程。它会随着技术不断发展而逐渐赢得学生、教师和家长的认可。技术进步造就的新事物可以改变人们的学习习惯,但不会摧毁传统的教学行为。

参考文献

篇6:数字证书,电子商务中的应用前景

班级:12电商2班 学号:1220420227 姓名:邓朋飞

一、我们眼中的数字证书

数字证书就是互联网通讯中标志通讯各方身份信息的一系列数据,它提供了一种在Internet验证您身份的方式,其作用类似于司机的驾驶执照或日常生活中的身份证。它是由一个由权威机构——CA机构,又称为证书授权中心发行的,人们可以在网上用它来识别对方的身份。数字证书是一个经证书授权中心数字签名的包含公开密钥拥有者信息以及公开密钥的文件。

最简单的证书包含一个公开密钥、名称以及证书授权中心的数字签名。一般情况下证书中还包括密钥的有效时间,发证机关的名称,该证书的序列号等信息,证书的格式遵循ITUT X.509国际标准。

二、数字证书的工作原理

数字证书采用公钥体制,即利用一对互相匹配的密钥进行加密、解密。每个用户自己设定一把特定的仅为本人所知的私有密钥(私钥),用它进行解密和签名;同时设定一把公共密钥并由本人公开,为一组用户所共享,用于加密和验证签名。当发送一份保密文件时,发送方使用接收方的公钥对数据加密,而接收方则使用自己的私钥解密,这样信息就可以安全无误地到达目的地了。通过数字的手段保证加密过程是一个不可逆过程,即只有用私有密钥才能解密。

在公开密钥密码体制中,常用的一种是RSA体制。其数学原理是将一个大数分解成两个质数的乘积,加密和解密用的是两个不同的密钥。即使已知明文、密文和加密密钥(公开密钥),想要推导出解密密钥,在计算上是不可能的。按现在的计算机技术水平,要破解目前采用的1024位RSA密钥,需要上千年的计算时间。公开密钥技术解决了密钥发布的管理问题,商户可以公开其公开密钥,而 1 保留其私有密钥。购物者可以用人人皆知的公开密钥对发送的信息进行加密,安全地传送以商户,然后由商户用自己的私有密钥进行解密。

如果用户需要发送加密数据,发送方需要使用接收方的数字证书(公开密钥)对数据进行加密,而接收方则使用自己的私有密钥进行解密,从而保证数据的安全保密性。另外,用户可以通过数字签名实现数据的完整性和有效性,只需采用私有密钥对数据进行加密处理,由于私有密钥仅为用户个人拥有,从而能够签名文件的唯一性,即保证:数据由签名者自己签名发送,签名者不能否认或难以否认;数据自签发到接收这段过程中未曾作过任何修改,签发的文件是真实的。

三、数字证书的使用环境及要求

CA是证书的签发机构,它是PKI的核心。CA是负责签发证书、认证证书、管理已颁发证书的机关。它要制定政策和具体步骤来验证、识别用户身份,并对用户证书进行签名,以确保证书持有者的身份和公钥的拥有权,CA是可以信任的第三方。

数字证书为实现双方安全通信提供了电子认证。在因特网、公司内部网或外部网中,使用数字证书实现身份识别和电子信息加密。数字证书中含有密钥对(公钥和私钥)所有者的识别信息,通过验证识别信息的真伪实现对证书持有者身份的认证。目前全国各地现在均成立了各省市自己的CA公司,为本地企业提供商用数字证书。

在当前环境下,为了让用户切实感到CA中心所提供的服务是安全可信的,保证认证中心各项业务正常运行,规避潜在的安全隐患,从而推动电子政务、电子商务等对信任机制要求较高的网上业务的发展,CA中心必须加强信息安全管理以切实获得用户的信任,消除用户残余的安全忧虑。

数字证书颁发过程一般为:用户首先产生自己的密钥对,并将公共密钥及部分个人身份信息传送给认证中心。认证中心在核实身份后,将执行一些必要的步骤,以确信请求确实由用户发送而来,然后,认证中心将发给用户一个数字证书,该证书内包含用户的个人信息和他的公钥信息,同时还附有认证中心的签名信息。用户就可以使用自己的数字证书进行相关的各种活动。数字证书由独立的证 书发行机构发布。数字证书各不相同,每种证书可提供不同级别的可信度。可以从证书发行机构获得您自己的数字证书。

四、数字证书在网络安全中的作用

由于Internet技术的飞速发展,某些敏感或有价值的数据被滥用的风险大大增加。为了保证 用户在互联网上电子交易及支付的安全性,保密性等,防范交易及支付过程中的欺诈行为,必须在网上建立一种信任机制。这就要求参加电子商务的买方和卖方都必须拥有合法的身份,并且在网上能够有效无误的被进行验证。

数字证书特点有:安全性为了避免传统数字证书方案中,由于使用不当造成的证书丢失等安全隐患,支付宝创造性的推出双证书解决方案:支付宝会员在申请数字证书时,将同时获得两张证书,一张用于验证支付宝账户,另一张用于验证会员当前所使用的计算机。第二张证书不能备份,会员必须为每一台计算机重新申请一张。这样即使会员的数字证书被他人非法窃取,仍可保证其账户不会受到损失。支付盾是一个类似于U盘的实体安全工具,它内置的微型智能卡处理器能阻挡各种的风险,让您的账户始终处于安全的环境下。目前,为保证电子邮件安全性所使用的方式是数字证书。唯一性:支付宝数字证书根据用户身份给予相应的网络资源访问权限,申请使用数字证书后,如果在其他电脑登录支付宝账户,没有导入数字证书备份的情况下,只能查询账户,不能进行任何操作,这样就相当于您拥有了类似“钥匙”一样的数字凭证,增强账户使用安全。方便性:即时申请、即时开通、即时使用。量身定制多种途径维护数字证书,例如通过短信,安全问题等。不需要使用者掌握任何数字证书相关知识,也能轻松掌握。

五、数字证书在电子商务中的应用前景

电子商务是运用信息技术手段进行的社会经济活动,能有效降低经营成本、提高生产效率和优化资源配置,代表着未来经济运行和贸易发展方向。近年来互联网的发展极大地促进了电子商务的开展,通过网络实现的商业销售正以成倍的 速度增长,国内外众多企业把电子商务作为下世纪的业务增长点。面对众多企业潮水般涌入电子商务市场,如何分辨电子商务交易双方的真实机、合法性、机密性、交易行为的不可抵赖性,特别是如何解决交易双方身份信任的问题已成为了电子商务发展的重要问题。本文研究的内容正是以电子商务交易平台下如何彻底解决交易双方身份信任的问题为主要研究对象,在综合分析电子商务交易中面临的主要安全威胁,业界解决电子商务信息安全问题的关键技术,如数字加密理论、PKI/CA、数字证书、安全传输的技术基础之上,同时分析了国内电子商务交易平台的安全应用需求,本文提出了电子商务交易平台身份认证系统设计的目标与原则,接着本文进行了电子商务平台身份认证系统的详细设计过程,最后提出了一套基于数字证书的电子商务交易平台安全身份认证体系设计方案。本文又进一步以此为基础,结合本文作者在安全身份认证技术方面的实践研究,设计出了基于数字证书的身份认证技术应用解决方案实现过程。本文提出的基于数字证书的身份认证技术,可完全解决电子商务交易平台下交易双方身份信任的问题,保证整个电子商务过程中系统的安全性。

六、总结

篇7:RSA数字签名在电子商务中的应用

随着网络和通信技术的发展, 在给人们带来益处的同时, 也带来了安全隐患。数字签名就是通信双方在网上交换信息时, 基于公钥密码体制[1]来防止伪造和欺骗的一种身份认证技术。目前, 最常用的是RSA签名[2], 因为它安全性高, 易于实现, 既可用于身份认证, 又可用来加密数据。而在远程控制这一应用环境中, 数据加密性往往不是最主要的安全问题, 最主要的问题是数据的完整性和数据源的不可否认性。通常来说, 远程控制需要实现两个方面的内容:一是只有合法用户才能控制系统;二是要确保客户端发送的控制命令不会被篡改。RSA签名的应用可以很好解决这两方面的问题。

然而, 由于RSA算法涉及到大整数的模幂运算, 其效率一直不理想。针对这一问题, 很多学者提出了不同的优化算法, 比如基于乘同余对称特性和指数2k次方组合优化算法、加法链方法、滑动窗口法和模重复平方算法等[3], 这些都是从运算操作的角度去优化, 国外还提出了许多从结构上改进的算法, 比如Batch RSA、Mprime RSA、Mpower RSA和Rebalanced RSA[4]。这些方法都在一定程度上提高了算法运算效率, 其中效果比较显著的是利用中国剩余定理CRT (Chinese Remainder Theorem) 进行解密或签名[5], 它在运算效率上是传统RSA算法的3.47倍 (模数为2 048比特, 并且考虑中国剩余定理的计算代价) , 这个速度虽令人满意, 却存在安全隐患, 文献[6]指出传统双素数RSA签名算法, 运用中国剩余定理容易遭受出错攻击, 攻击者能够利用错误的签名来分解模数N。

出于安全性考虑, 目前一些远程控制系统, 比如远程办公、远程协助、远程维护等都采用模数为1 024-2 048 bits的RSA签名方法, 但是, 当模数达到2 048 bits时, 其签名效率可能会让客户无法接受, 本文通过运用改进的RSA签名, 在保证安全性的前提下, 大幅度减少运算量, 使签名效率达到令人满意的水平。

1 远程控制与数字签名

远程控制是在网络上由一台电脑 (主控端Remote/客户端) 远距离去控制另一台电脑 (被控端Host/服务器端) 的技术, 主要通过远程控制软件实现。远程控制软件一般分为客户端程序和服务器端程序两个部分, 通常将客户端程序安装到主控端电脑上, 将服务器端程序安装到被控端电脑上。使用时客户端程序向服务器端程序发出信号, 建立一个特殊的远程服务, 然后通过这个远程服务, 使用各种远程控制功能发送远程控制命令, 控制服务器端电脑中各种应用程序运行。

在以上控制过程中, 容易引发的安全问题是客户端发送的控制命令被第三方篡改以及客户端否认曾发送的控制命令。这时, 就需要客户端对发送的控制命令进行签名。通常, 在远程控制系统中, 签名过程如下:

(1) 客户端对要发送的控制信息生成摘要, 并用自己的私钥对摘要进行签名。

(2) 客户端将控制信息和签名后的摘要一同发送给服务器端。

(3) 服务器端接收到消息后, 用客户端的公钥解开签名, 得到一份摘要。

(4) 服务器端用相同的杂凑函数对原始控制信息计算一次摘要, 判定其是否与解签名后得到的摘要相同, 若相同, 则说明控制信息是由合法的客户端发出并且途中没有被篡改, 执行控制命令, 否则, 拒绝执行, 程序结束。

(5) 服务器端执行完命令后, 将执行结果用自己的私钥进行签名, 然后将执行结果和签名作为反馈信息一同发送给客户端。

当使用RSA算法进行签名时, 签名就是用私钥加密的过程, 解签名就是用公钥解密的过程。这里需要说明的是, 通常来说, 数字签名技术都是配合数字证书进行应用的, 数字证书包含了最基本的身份信息和持有者的公钥。但这不是本文讨论的重点, 本文假设客户端和服务器端都已经生成了自己的一对密钥, 并且知道对方的公钥。

2 RSA算法改进

我们把传统双素数RSA算法改为四素数, 算法依然成立, 其描述如下:

(1) 随机选取四个不同的大素数p, q, r和s, 计算n=pqrs, φ (n) = (p-1) (q-1) (r-1) (s-1) 。

(2) 取加密密钥e=65 537, 计算出私钥d, 满足de≡1modφ (n) 。

(3) 加密解密过程与传统算法一样, 仍为:

下面, 我们从数论的角度来证明算法的正确性。

证明假设明文为m, 密文c, 密钥 (d, n) , 公钥 (e, n) 。由加密解密过程有:D (c) ≡cdmodn≡ (me) dmodn≡medmodn, 又因为de≡1modφ (n) , 所以de≡1+kφ (n) , 其中k为正整数, 代入上式得D (c) ≡m1+φ (n) modn, 若gcd (m, n) =1, 根据欧拉定理有:mφ (n) ≡1modn, 故有m1+φ (n) ≡mmodn;若gcd (m, n) ≠1, 由于n=pqrs, 故 (m, n) 中必含p, q, r, s之一, 或者pq, pr, ps, qr之一, 或者pqr, prs, qrs之一, 由于这几种情况类似, 这里只给出gcd (m, n) 包含p, q, r, s之一的证明过程:若gcd (m, n) =p, m=cp, 1≤c

3 签名过程优化

3.1 中国剩余定理

中国剩余定理又叫孙子定理, 是中国古代求解一次同余式组的方法, 也是数论中一个重要的定理。令r个整数m1, m2, …, mr两两互素, a1, a2, …, ar是任意r个整数, 则同余方程组x≡aimodmi (1≤i≤r) 的模。

M=m1m2…mr有唯一解, 其表达式为:

其中Mi=M/mi, yiMi≡1modmi, 1≤i≤r。

可见, 中国剩余定理能够把高位宽大数的模幂运算转换为低位宽相对较小的数的模幂运算。

3.2 中国剩余定理的应用

运用中国剩余定理, 对消息摘要D的数字签名可转换为以下运算过程:

(1) 计算mp=Dmodp, mq=Dmodq, mr=Dmodr, ms=Dmods。

(2) 计算dp=dmod (p-1) , dq=dmod (q-1) , dr=dmod (r-1) , ds=dmod (s-1) 。

(3) 计算M1=mpdpmodp, M2=mqdqmodq, M3=mrdrmodr, M4=msdsmods。

(4) 计算S= (M1 (qrs) p-1+M2 (prs) q-1+M3 (pqs) r-1+M4 (pqr) s-1) modn, 即得出签名S。

在上述计算过程中, 我们把传统的签名算法S=Ddmodn转换为求解四个同余式:S≡Ddmodp, S≡Ddmodq, S≡Ddmodr和S≡Ddmods, 再利用中国剩余定理进行求解。在求乘法逆元时, 我们没有用扩展欧几里得算法, 而是运用了费马小定理:对任何不被素数p整除的整数A, 恒有:Ap-1≡1modp, 可得A-1≡Ap-2modp, 巧妙地通过一个多项式运算来代替其中一个逆元的求解, 进一步提高了运算效率。

3.3 Montgomery模指数算法

中国剩余定理中涉及到的模幂运算, 还可以用Montgomery模指数算法做进一步优化。Montgomery模指数算法是Montgomery模乘结合指数算法来求大数模幂运算的一种方法。这里, 我们运用文献[7]中一种改进的Montgomery模乘—CIOS (Coarsely Integrated Operand Scanning) 模乘法。设整数m= (mn-1…m1m0) b (b为进制数) , x= (xn-1…x1x0) b, y= (yn-1…y1y0) b, gcd (m, b) =1, R=bn, m, =-m-1modb (m-1为m模b的乘法逆元) , 其算法描述如下:

(1) A=0;

(2) 对i从0到n-1执行:A=A+xiy, ui=a0m, modb, A= (A+uim) /b;

(3) 如果A≥m, 则A=A-m;

(4) 返回A=xyR-1modm。

我们再定义函数mont (u, v) 为uvR-1modm, 用上述CIOS算法进行计算, 然后再结合指数算法, 便可得到xemodm的计算方法, 其中x为整数, 1≤x

(1) x'=mont (x, R2modm) , A=Rmodm;

(2) 对i从t到0执行:A=mont (A, A) , 若ei=1则A=mont (A, x') ;

(3) A=mont (A, 1) ;

(4) 返回A=xemodm。

经分析知, 如果仅仅是求模乘运算, Montgomery模乘并不能有速度上的提高, 因为算法在预处理时还是要用到一般的模运算和模逆运算, 但如果是模幂运算, 其中含有 (3loge) /2次模乘运算, 这些预处理只需一次就能进行多次没有除法的Montgomery模乘运算, 这将大幅度提高模幂运算的速度。

4 安全性分析

4.1 连分数攻击

一个连分数可以表生成:, 它经常被用于有理数或者无理数的逼近, 数论中将a1=1的情况称为狭义连分数。在文献[8]中, 作者提出当私钥d小于模数N1/4时, RSA密码系统是不安全的, 他的分析方法本质是利用了连分数中Legendre定理[9], 通过展开一个已知的正有理数f'的第i级连分数, 逼近所求的分数f的值。在本文的末尾提出了两个开放性问题, 其中之一是是否存在对小解密指数CRT-RSA的攻击。分析这个问题之前, 我们来看两个定理:

定理1设f'是小于f的一个近似估算值, 有f'=f (1-δ) , δ≥0, 当m是偶数且展开式〈q0, q1, …, qm-1〉

也就是说, 连分数算法是否成功依赖于f'和f之间的差值百分比δ的大小。

定理2当时, 用连分数算法可以找到f, 其中nm和dm分别是f的分子和分母。

由改进的RSA算法知, ed≡1modφ (n) 可得edp≡1mod (p-1) , 那么edp=k (p-1) +1, 其中k为正整数。两边同时除以pqrsdp, 得到:

4.2 出错攻击

文献[6]指出, 用传统双素数RSA算法对明文M进行签名时, 容易遭受出错攻击。签名方用自己的私钥计算C=Mdmodn, 使用中国剩余定理, C可通过Cp=Mdmodp, Cq=Mdmodq有效计算出来。假设错误发生在Cp时, 也就是说计算了一个错误的值Cp'≠Cp, 而Cq被正确计算出来, Cp'和Cq就联合产生了一个错误的签名C', 这样一来有如下性质:

证明根据中国剩余定理有C'=C'p (q-1modp) q+Cq (p-1modq) p (modn) , 所以 (C'e-Mmodn) modq= ( (Cp' (q-1modp) q) e+…+ (Cq (p-1modq) p) e-Mmodn) modq= ( (Cq (p-1modq) ) e-Mmodn) modq= (Ce-M) modq=0而C'是一个错误的签名, 所以 (C'e-Mmodn) modp≠0, 因而性质成立。

由以上证明过程推知, 在改进的RSA签名过程中, 若Cp出错, 则 (C'e-Mmodn) modp≠0, 而 (C'e-Mmodn) modq=0, (C'e-Mmodn) modr=0, (C'e-Mmodn) mods=0, 所以gcd (C'eMmodn, n) 求得的是另外三个素数q, r和s的乘积, 并不能求得某一个素因子, 也就无法分解模数n, 因此, 改进的RSA签名能抵抗出错攻击。

4.3 选择密文攻击

选择密文攻击是攻击者对RSA等公钥算法最常用的攻击, 其攻击方法可分为明文破译、骗取仲裁签名和伪造合法签名。本文重点讨论后两者。

1) 骗取仲裁签名

在有仲裁情况下, 若攻击者有一非法消息x想让仲裁T签名, 则他可任选一数N, 计算y≡Nemodn (e是T的公钥) , 然后计算M=yx发送给T, T将签名的结果Mdmodn发送给攻击者, 则有: (Mdmodn) N-1≡ (yx) dN-1≡ (xdydN-1) ≡xdNN-1≡xdmodn攻击者成功骗取T对x的签名。

2) 伪造合法签名

攻击者可利用自己伪造的两个合法消息x1和x2来拼凑出所需要的x3≡ (x1x2) modn。攻击者如果得到用户U对x1和x2的签名x1dbmodn和x2dmodn就可以计算出x3的签名:x3d≡ ( (x1dmodn) (x2dmodn) ) modn。

由于本文的签名算法并不是对消息直接签名, 而是运用杂凑函数先对消息进行压缩处理, 再对消息摘要进行签名, 由杂凑函数的不可逆性和随机性知, 当给定一个D, 很难找到一个消息M, 使得H (M) =D, 从这个意义上来说, 给攻击者造成了极大的难度, 以上攻击方法趋于不可行。在实际应用过程中, 为了安全起见, 应该拒绝对随机的陌生文档签名。

5 仿真实验及比较分析

本次实验的硬件环境为:Pentium (R) 4 CPU 3.00GHz、1.5 GB内存、80 GB硬盘;操作系统为:Windows XP;开发工具:Visual C++6.0。我们基于C++构建了一个较为完善的大数库, 采用无符号长整型数组从低位到高位存储大数, 也就是说, 把一个大数用232进制表示, 这样可以最大程度减少基本运算中循环的次数, 提高运算效率。然后用文献[11]中一种改进的Miller-Rabin算法随机生成两个1 024位素数和四个512位素数, 再用文献[12]中的杂凑函数SHA512来生成消息摘要, 分别用传统双素数RSA算法、用CRT优化的双素数RSA算法和文中的算法对三个512位消息摘要进行签名并记录其耗时情况, 实验结果如表1所示。

从表中可以看出, 用CRT进行优化的双素数RSA签名效率是传统签名算法的3.36倍, 与理论值3.47相接近。而采用CRT和Montgomery模指数算法进行的优化的四素数RSA签名算法, 其效率约是传统算法的10.86倍, 是双素数CRT-RSA的3.23倍, 这足以说明改进的RSA签名可以大幅度提高签名速度。

6 结语

随着网络的发展, 远程控制技术已经运用到各行各业, 如远程维护、远程办公, 在方便人们的同时也带来了安全隐患。远程控制要解决的主要安全问题就是保证数据的完整性和数据源的不可否认性, 数字签名技术可以很好解决这两方面问题。目前, 大多数远程控制系统都使用RSA签名, 但是其签名效率一直不理想, 特别是在一些对安全性要求较高的远程控制系统中, 采用模数为2 048 bits的RSA签名方法, 运算效率更是低下。

本文将传统双素数RSA算法改为四素数, 再利用中国剩余定理和蒙哥马利模指数算法对签名过程加以优化, 将高位宽的大整数运算变为求解四个低位宽较小整数的同余式方程, 蒙哥马利算法实现了不含除法的模乘运算, 这样大幅度减少了运算量, 从而提高了签名效率。然后通过算法安全性分析, 改进的RSA签名能够抵抗连分数攻击、出错攻击和选择密文攻击。最后在VC6.0的平台上做了仿真实验, 实验结果也证实了在保证安全性的前提下, 改进的RSA签名效率得到了大幅度提高。

摘要:针对传统的RSA签名在远程控制中签名效率低的问题, 将传统的双素数RSA算法改为四素数, 并采用中国剩余定理和蒙哥马利模指数算法对签名过程加以优化。经测试, 在模数为2 048 bits的RSA密码系统中, 改进算法对一个512 bits消息摘要进行签名耗时约300 ms, 其效率约是传统签名算法的11倍。实验结果和安全性分析表明, 新算法在保证安全性的同时, 大幅度提高了签名效率, 更适合应用于交互频繁的远程控制系统中。

关键词:远程控制,RSA密码算法,中国剩余定理,蒙哥马利算法,消息摘要,数字签名

参考文献

[1]Rivest R L, Shamir A, Adleman L.A method for obtaining digital signatures and public key cryptosystems[J].Communications of the ACM, 1978, 21 (2) :120-126.

[2]Chong Fu.An efficient Implementation of RSA Digital Signature Algorithm[C]//Wireless Communications.Networking and Mobile Computing.2008.WiCOM’08.4th International Conference on 12-14 Oct2008:1-4.

[3]贺克英.改进的RSA算法实现研究[D].成都:电子科技大学, 2010.

[4]Cesar A M Paixao.An Efficient Variant of the RSA Cryptosystem[EB/OL]. (2010-10-02) .http://www.ime.usp.br/~capaixao/paper.pdf.

[5]刘承彬, 耿也, 舒奎, 等.有关中国剩余定理在多个素数的RSA解密运算中的加速公示的论证以及加速效率的估算[J].大连工业大学学报, 2012, 31 (5) :372-375.

[6]费晓飞, 胡捍英.CRT-RSA算法安全性分析[J].微计算机信息, 2009, 25 (1-3) :36-38.

[7]王安.RSA公钥密钥算法的快速实现[D].济南:山东大学, 2008.

[8]Wiener M.Cryptanalysis of short RSA secret exponents[J].IEEE Trans Inf Theory, 1990, 36 (3) :553-558.

[9]韩立东, 王小云, 许光午.RSA密码系统小CRT解密指数的攻击分析[J].中国科学, 2011, 41 (2) :173-180.

[10]杜治国, 胡大辉.改进的RSA算法在无线传感器网络中的应用[J].计算机应用, 2012, 32 (6) :1609-1612.

[11]Couveignes J M, Ezome T, Lercier R.A faster pseudo-primality test[J].Rendiconti del Circolo Matematico di Palermo, 2012, 61 (2) :261-278.

上一篇:大溪镇情简介下一篇:2022《弟子规》600字读后感