单位文秘网 2021-10-13 08:12:35 点击: 次
摘要:为了提高网上书店交易过程的安全性,利用ASP.NET提供的安全技术,构建了基于RSA公钥密码体系的安全网上书店系统。在系统中设计了一个CA认证子系统,给交易双方颁发数字证书,CA对含有公钥的证书进行数字签名,使证书无法伪造,用户使用私钥对所下订单进行数字签名,保证信息的完整性、真实性,从而防止交易抵赖。最后对CA认证子系统的关键技术,包括客户数字证书的生成、订单的生成给出具体的实现方法。该系统对网上书店的健康发展起到促进作用。
关键词:安全性; 网上书店系统; 数字证书; 数字签名
中图分类号:TN91134; TP311文献标识码:A文章编号:1004373X(2012)04003503
Security research of online bookstore system based on ASP.net
CHEN Mingzhong
(Shantou Polytechnic College, Shantou 515078, China)
Abstract: In order to improve the security of online bookstore transaction process, a safety online bookstore system based on RSA public key password system was constructed with the security technology provided by ASP.net. A CA certification subsystem was designed in the system to issues digital certificates to both sides in transaction. The digital signature for the certificate with public key is executed by CA to avoid the appearance of any faked certificate. Users order goods with their private keys and make digital signature to ensure the integrity and authenticity of the information, and prevent transaction repudiation. The implementation measures of CA authentication subsystem key technologies, including the generation of digital certificates and customer orders are given. The online bookstore transaction system plays a promoting role in the healthy development of online bookstores.
Keywords: safety; online bookstore system; digital certificate; digital signature
收稿日期:201109260引言
书店担心读者提交订单却不付款,或收到假订单;而读者担心付款后收不到书,或自己的金融信息被别人窃取等。在传统的购书过程中,买卖双方是面对面的,很容易建立起信任关系,但是在网上书店交易过程中,彼此远隔千山万水,由于互联网络既不安全,也不可信,很难建立起交易双方的信任。网上书店从最初发展开始,就摆脱不了网络带给它的安全问题。
随着信息化的深入,制约网上书店发展的安全问题更为突出。因此,本文着重在网上书店交易时引入CA认证系统而使交易双方不能抵赖[1],从而提高网上书店交易过程中的安全性。这将对网上书店的发展起到促进作用。
1ASP.NET提供的安全技术
ASP.NET是Microsoft公司于2000年推出的一种Internet编程技术,是.NET Framework的组成部分,.NET Framework具有两个主要组件:公共语言运行库(CLR)和.NET Framework基础类库(BCL)。CLR的主要功能是把.NET语言编译成与机器无关的中间语言MSIL(Microsoft Intermediate Language),然后在执行代码时再用即时编译器JIT(Just In Time)将MSIL翻译成面向机器的二进制代码。BCL是一个综合性的、面向对象的和可重用类型的集合,可以使用它开发多种应用程序。
.NET Framework包括两种支持数字签名的非对称算法。一种是RSA算法:RSA支持数据加密和数字签名;另一种是数字签名算法(DSA):DSA仅支持数字签名,不支持数据加密[2]。DSA的应用没有RSA广泛。
目前RSA公钥密码算法在网络上广泛应用于保密通信和数字签名。RSA算法的安全性是基于数论中大素数分解的困难,所以RSA需采用足够大的整数。因子分解越困难,密码就越难以破译,加密强度就越高。RSA算法如下所述:
1.1作为通信一方的A方生成公钥及私钥
(1) 选择两素数p,q,这两个素数一定要保密,且要求一般为100~200十进制数,甚至更大,目的是使解密者难于分解p与q的乘积;计算n=pq。
(2) 计算n的欧拉函数Φ(n)=(p-1)(q-1)(即n的Euler函数)。选择整数e,使e与Φ(n)互质,且1 (3) 计算d,使d×e=1 mod Φ(n),即求e的逆。然后A方将以下数对作为公钥及私钥:公钥(Public Key):PK=e,n,私钥(Secret Key):SK=d,n。 1.2加密/解密过程[3] 利用RSA加密,首先需将明文数字化,取长度小于log n位的数字作为明文块。对于明文块M和密文块C,加/解密的形式如下: (1) B方若给A方传递秘密信息,则可能用A方产生的公钥进行加密如下: 加密:C=Me mod n; 此时,由于没有解密密钥d,因此即使是加密者B也不能将此密文C再解密为明文M,这就是公钥密码的特点。 (2) A方在收到B传来的信息C后,用其自己的私钥(也称秘密钥)d进行解密如下: 解密:M=Cd mod M; 1.3数字签名过程 若A方用自己的私钥对明文进行加密:S=Md mod n,则任何人(知道A方公钥的人)都可以进行解密,如:M=Se mod n,但是由于只有A方才能将信息M转变为S,因此S相当于A方对信息M的数字签名,是RSA最基本和原始的数字签名方案。这也是RSA既作为数据加密算法,又可以作为数字签名算法的原因。 相对于散户而言,有一些网上书店的客户是长期、业务量大的合作伙伴,比如院校、个体书商、中小型书店等。这些客户的每笔业务量通常较大,要求网上书店所给予的服务应该是快捷、准确、无误的。伴随着业务量的增大,双方结账可能并不及时,这就要求这些大的客户在与网上书店进行电子交易的时候,双方的认证及信息都不可抵赖是至关重要的。为此,该系统采用ASP.NET作为开发工具,利用.NET提供的安全技术,构建基于RSA公钥密码体系的安全网上书店。在网上书店系统中设计了一个CA认证子系统,可以给交易双方颁发数字证书,并可以对订单进行数字签名,从而防止交易抵赖。 2CA认证子系统的设计 网上书店系统划分为若干个子系统,包括前台销售子系统、后台管理子系统、网上银行子系统和CA认证子系统[45]。电子证书及其认证系统的设计是网上书店的重要安全保障,本文只讨论CA认证子系统的设计与实现。 CA认证子系统是保证书店安全的关键,在书店交易中,消费者、商家、银行都应向CA中心申请数字证书,并在交易中使用数字证书,以确保交易过程中各方身份的真实性,保证信息安全性和交易的不可抵赖性[6]。CA对含有公钥的证书进行数字签名,使证书无法伪造,每个用户可以获得CA的公开密钥,验证任何一张数字证书的数字签名,从而确定证书是否合法,在这样的安全体制保证下,消费者就可以放心地在网上购书了[7]。 下面是系统设计的CA认证系统的工作步骤: CA认证子系统的工作包括如下步骤:申请证书、下载订单、给订单签名、更新证书、撤销证书。 用户首先下载数字签名软件,然后安装在个人电脑上。在产生密钥对后,软件自动向外界传送公开密钥。用户在获取公开密钥时,首先向鉴定中心请求数字确认,鉴定中心确认用户身份后,发出数字确认,同时鉴定中心向数据库发送确认信息。然后用户使用私有密钥对所下订单签名,保证信息的完整性、真实性,也使发送方无法否认信息的发送,之后上传到网上书店;书店方工作人员接收到信息后,使用公开密钥确认数字签名,进入数据库检查用户确认信息的状况;之后数据库返回用户的确认信息。如果验证签名成功,书店方就对订单附加一些确认信息,并使用自己的私钥对信息签名,然后放到网站上供用户下载,这就完成了数字签名过程,可以防止双方的抵赖。不过,在使用这种技术时,签名者必须注意保护好私有密钥,因为它是公开密钥体系安全的重要基础。如果密钥丢失,应该立即报告鉴定中心取消认证,将其列入确认取消列表之中。 3CA认证子系统关键技术的实现 3.1客户数字证书的生成过程[8] (1) 注册客户信息 由客户本身填写客户注册信息,并与网上书店经营方一起提供:主体名称(SubjectName)、证书注册日期(CreateDate)、有效期限(ValidDate),包括附加一些双方约定的信息(AddInfo)等,然后生成惟一的客户数字证书编码(SerialNumber)。 (2) 生成客户惟一RSA公/私钥对 RSACryptoServiceProvider RSASubject=new RSACryptoServiceProvider(); SubjectPK=RSASubject.ToXmlString(false);//导出公钥 string SubjectPrivateKey=RSASubject.ToXmlString(true);//导出私钥 (3) 将信息进行链接,以便计算数字摘要算法SHA1 sMSG=证书标识||版本号||证书序列号||发行者名称||主体名称||附加信息||建立日期||有效日期||主体公钥 即算法为: sMSG="CA"+Version.ToString()+SerialNumber.ToString()+IssuerName+SubjectName+AddInfo+CreateDate+ValidDate+SubjectPK; (4) 对链接的信息进行数字签名 ① 发送方将此信息转换为字节序列; ② 计算数字摘要SHA1,将信息存入内存文件,然后以字节的形式读出,再计算数字摘要SHA1值; ③ 建立一个发送方RSA加密服务对象,并将自身的私钥导入; ④ 约定采用SHA1 Hash算法,将数字摘要进行私钥加密,即数字签名; (5) 计算各信息段的字符长度,并依次写入数字证书文件。 至此,整个数字证书文件即告生成。该证书同时在网上书店的服务器上保留一个副本,由于此证书含有客户的基本信息及公钥,书店方可凭此证书验证客户对信息的数字签名,客户方可对书店方的确认信息的数字签名进行验证。 3.2订单的生成[9] 大客户在生成数字证书之前,已经将自己的信息注册到网上书店的服务器中。客户可在任何一台计算机上登录,进入自己的订单填写界面,用户在确定所购图书后,提交订单。一般情况下,订单的数量可能较大,为避免不必要的纠纷,以及防止恶意的攻击、信息变更、伪造假订单等,在这里要充分利用所签发数字证书的功能进行验证,而且双方都要进行签名,其基本步骤及协议如下: (1) 用户打开浏览器登录网站; (2) 填写订单信息,由服务器端程序自动生成一份订单的详细信息,分别用数据库的字段形式及文件形式进行存储; (3) 用户下载文件形式的订单信息,并采用生成数字证书时获得的本用户的私钥对此信息进行签名,将此文件及其签名链接后,上传至服务器; (4) 网上书店的工作人员登录进入服务器;检查大客户的订单,并对客户的订单信息进行核对及数字签名的验证。验证后,将所回复的信息及对信息的签名一并放入服务器,让客户下载; (5) 客户下载经店方签名的信息文件,并进行签名验证。通过后,保存此文件,以备以后发生纠纷时作为证据。 4结语 网上书店系统包括前台销售子系统、后台管理子系统、网上银行子系统和CA认证子系统[10]几个不可或缺的子系统。在此只讨论CA认证子系统的设计与实现。这里将ASP.NET提供的安全技术结合RSA公钥密码体系技术构建了安全网上书店,并将CA认证技术应用于网上书店。这里介绍CA证书的实现过程以及应用流程,该研究内容对电子商务安全有促进作用,能够推动电子商务的发展。 参考文献 [1]陈流星..NET框架下的电子商务系统安全性研究\[J\].商场现代化,2006(7):5051. [2][美]弗里曼 A,琼斯 A..NET安全编程[M].靳京,译.北京:清华大学出版社,2007. [3]STALLINGS Wiili,刘玉珍,王丽.密码编码学与网络安全:原理与实践\[M\].北京:电子工业出版社,2005. [4]陈泽烨.我国网上书店现状发展分析[J].大众科学,2007(17):3940. [5]尹传勇,刘寿强.网上书店安全体系结构设计与实现\[J\].计算机安全,2005(5):3840. [6]李艳.电子商务信息安全策略研究[J].甘肃科技,2005(4):2627. [7]甘悦.浅议电子商务信息安全体系的构建\[J\].西北成人教育学报,2007(6):2127. [8]胡建伟.网络安全与保密[M].西安:西安电子科技大学出版社,2003. [9]阚晓初.电子商务安全中数据加密技术\[J\].计算机教育,2007(9):166168. [10]潘晓勇,张蕾,樊学会.使用数字证书增强RFID系统的通信安全性\[J\].电子科技,2010(11):123124.
地址:https://www.kgf8887.com/show-113-95827-1.html
上一篇:天使之泪
下一篇:令人大开眼界的“反贪”秘密武器
版权声明:
本站由单位文秘网原创策划制作,欢迎订阅或转载,但请注明出处。违者必究。单位文秘网独家运营 版权所有 未经许可不得转载使用