基于ASP.net的网上书店系统安全性研究

摘 要:为了提高网上书店交易过程的安全性,利用asp.net提供的安全技术,构建了基于rsa公钥密码体系的安全网上书店系统。在系统中设计了一个ca认证子系统,给交易双方颁发数字证书,ca对含有公钥的证书进行数字签名,使证书无法伪造,用户使用私钥对所下订单进行数字签名,保证信息的完整性、真实性,从而防止交易抵赖。最后对ca认证子系统的关键技术,包括客户数字证书的生成、订单的生成给出具体的实现方法。该系统对网上书店的健康发展起到促进作用。
0 引 言
书店担心读者提交订单却不付款,或收到假订单;而读者担心付款后收不到书,或自己的金融信息被别人窃取等。在传统的购书过程中,买卖双方是面对面的,很容易建立起信任关系,但是在网上书店交易过程中,彼此远隔千山万水,由于互联网络既不安全,也不可信,很难建立起交易双方的信任。网上书店从最初发展开始,就摆脱不了网络带给它的安全问题。
随着信息化的深入,制约网上书店发展的安全问题更为突出。因此,本文着重在网上书店交易时引入ca认证系统而使交易双方不能抵赖,从而提高网上书店交易过程中的安全性。这将对网上书店的发展起到促进作用。
1 asp.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仅支持数字签名,不支持数据加密。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=1modφ(n),即求e的逆。然后a 方将以下数对作为公钥及私钥:公钥(publickey):pk= ?e,n?,私钥(secret key):sk= ?d,n?.
1.2 加密/解密过程
利用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=mdmod n,则任何人(知道a 方公钥的人)都可以进行解密,如:m=se mod n,但是由于只有a方才能将信息m转变为s,因此s 相当于a方对信息m 的数字签名,是rsa最基本和原始的数字签名方案。这也是rsa 既作为数据加密算法,又可以作为数字签名算法的原因。
相对于散户而言,有一些网上书店的客户是长期、业务量大的合作伙伴,比如院校、个体书商、中小型书店等。这些客户的每笔业务量通常较大,要求网上书店所给予的服务应该是快捷、准确、无误的。伴随着业务量的增大,双方结账可能并不及时,这就要求这些大的客户在与网上书店进行电子交易的时候,双方的认证及信息都不可抵赖是至关重要的。为此,该系统采用asp.net作为开发工具,利用。net提供的安全技术,构建基于rsa公钥密码体系的安全网上书店。在网上书店系统中设计了一个ca认证子系统,可以给交易双方颁发数字证书,并可以对订单进行数字签名,从而防止交易抵赖。
2 ca认证子系统的设计
网上书店系统划分为若干个子系统,包括前台销售子系统、后台管理子系统、网上银行子系统和ca 认证子系统[4-5].电子证书及其认证系统的设计是网上书店的重要安全保障,本文只讨论ca认证子系统的设计与实现。
ca认证子系统是保证书店安全的关键,在书店交易中,消费者、商家、银行都应向ca 中心申请数字证书,并在交易中使用数字证书,以确保交易过程中各方身份的真实性,保证信息安全性和交易的不可抵赖性。ca对含有公钥的证书进行数字签名,使证书无法伪造,每个用户可以获得ca的公开密钥,验证任何一张数字证书的数字签名,从而确定证书是否合法,在这样的安全体制保证下,消费者就可以放心地在网上购书了。
下面是系统设计的ca认证系统的工作步骤:
ca认证子系统的工作包括如下步骤:申请证书、下载订单、给订单签名、更新证书、撤销证书。
用户首先下载数字签名软件,然后安装在个人电脑上。在产生密钥对后,软件自动向外界传送公开密钥。
用户在获取公开密钥时,首先向鉴定中心请求数字确认,鉴定中心确认用户身份后,发出数字确认,同时鉴定中心向数据库发送确认信息。然后用户使用私有密钥对所下订单签名,保证信息的完整性、真实性,也使发送方无法否认信息的发送,之后上传到网上书店;书店方工作人员接收到信息后,使用公开密钥确认数字签名,进入数据库检查用户确认信息的状况;之后数据库返回用户的确认信息。如果验证签名成功,书店方就对订单附加一些确认信息,并使用自己的私钥对信息签名,然后放到网站上供用户下载,这就完成了数字签名过程,可以防止双方的抵赖。不过,在使用这种技术时,签名者必须注意保护好私有密钥,因为它是公开密钥体系安全的重要基础。如果密钥丢失,应该立即报告鉴定中心取消认证,将其列入确认取消列表之中。
3 ca认证子系统关键技术的实现
3.1 客户数字证书的生成过程
(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加密服务对象,并将自身的私钥导入;
④ 约定采用sha1hash算法,将数字摘要进行私钥加密,即数字签名;
(5)计算各信息段的字符长度,并依次写入数字证书文件。
至此,整个数字证书文件即告生成。该证书同时在网上书店的服务器上保留一个副本,由于此证书含有客户的基本信息及公钥,书店方可凭此证书验证客户对信息的数字签名,客户方可对书店方的确认信息的数字签名进行验证。
3.2 订单的生成
大客户在生成数字证书之前,已经将自己的信息注册到网上书店的服务器中。客户可在任何一台计算机上登录,进入自己的订单填写界面,用户在确定所购图书后,提交订单。一般情况下,订单的数量可能较大,为避免不必要的纠纷,以及防止恶意的攻击、信息变更、伪造假订单等,在这里要充分利用所签发数字证书的功能进行验证,而且双方都要进行签名,其基本步骤及协议如下:
(1)用户打开浏览器登录网站;
(2)填写订单信息,由服务器端程序自动生成一份订单的详细信息,分别用数据库的字段形式及文件形式进行存储;
(3)用户下载文件形式的订单信息,并采用生成数字证书时获得的本用户的私钥对此信息进行签名,将此文件及其签名链接后,上传至服务器;
(4)网上书店的工作人员登录进入服务器;检查大客户的订单,并对客户的订单信息进行核对及数字签名的验证。验证后,将所回复的信息及对信息的签名一并放入服务器,让客户下载;
(5)客户下载经店方签名的信息文件,并进行签名验证。通过后,保存此文件,以备以后发生纠纷时作为证据。
4 结 语
网上书店系统包括前台销售子系统、后台管理子系统、网上银行子系统和ca 认证子系统[10]几个不可或缺的子系统。在此只讨论ca 认证子系统的设计与实现。这里将asp.net提供的安全技术结合rsa公钥密码体系技术构建了安全网上书店,并将ca认证技术应用于网上书店。这里介绍ca 证书的实现过程以及应用流程,该研究内容对电子商务安全有促进作用,能够推动电子商务的发展。

氮化镓功率芯片的开创者纳微打造充电新方式
超声波传感器的四个创新应用
FEC衍生的SEI膜可以抑制薄膜电极的开裂
AR与VR在过去一年的进展如何?
为什么现在的人工智能助理都像人工智障
基于ASP.net的网上书店系统安全性研究
如何制造温度和湿度控制器
直流模块:12V/15V升高压至10000V/12000V
这项电磁兼容国家标准正式发布,今年12月实施
探析5G网联无人机整体解决方案
智慧电力物联网网关AF-GSM500-4GSEY-2S 无线通讯模块 断点续传 上行4G 下行Lora、RS485
RFID(WIP)是一种灵活的项目和组件跟踪解决方案
超高清视频产业发展现状和趋势分析
2n系列三极管
赛普拉斯PSoC 4:让设计方案满足未来之需
哈深智材:人才济济,积累今日实力;千锤百炼,成就来日辉煌
中科院宁波材料所“智能全向移动机器人”项目荣获“好设计”金奖
三星要把Bixby实体化搭载智能家庭助手 但开发进度缓慢
如何通过HP 547A电流示踪器追踪ESD电流路径
路灯控制器怎么调?路灯控制器怎么设置?