0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

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

电子设计 2018-08-31 01:21 次阅读

摘 要:为了提高网上书店交易过程的安全性,利用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 证书的实现过程以及应用流程,该研究内容对电子商务安全有促进作用,能够推动电子商务的发展。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
收藏 人收藏

    评论

    相关推荐

    如何实现 HTTP 协议的安全性

    协议的安全性,可以采取以下几种方法: 1. 使用HTTPS HTTPS(安全超文本传输协议)是HTTP的安全版本,它在HTTP的基础上通过SSL/TLS协议提供了数据加密、数据完整
    的头像 发表于 12-30 09:22 124次阅读

    集中告警管理如何提升设施安全性

    在工业或商业建筑中,集中告警管理已成为确保安全性或检测故障的必备工具。它是如何提升设施安全性的?欢迎大家阅读文章了解~
    的头像 发表于 12-13 15:51 106次阅读
    集中告警管理如何提升设施<b class='flag-5'>安全性</b>?

    电池的安全性测试项目有哪些?

    电池的安全性测试是保证电池在实际使用过程中稳定、安全的重要手段。通过一系列严格的测试项目,能够有效评估电池在不同条件下的表现,并提前发现潜在的安全隐患。对于消费者而言,了解这些测试项目不仅能帮助他们
    的头像 发表于 12-06 09:55 366次阅读
    电池的<b class='flag-5'>安全性</b>测试项目有哪些?

    汽车制动系统安全性的影响

    汽车制动系统安全性的影响至关重要,主要体现在以下几个方面: 一、紧急制动能力 制动系统的主要功能是通过摩擦力阻止车轮的转动或运动趋势,使行驶中的汽车减速或停止。在紧急情况下,良好的制动性能能够迅速
    的头像 发表于 11-28 09:56 383次阅读

    在电气安装中通过负载箱实现最大效率和安全性

    在电气安装中,负载箱是一种常用的设备,主要用于模拟实际的电力负载,以便进行各种电气设备的测试和调试。通过负载箱,可以实现最大效率和安全性,从而提高电气设备的运行性能和使用寿命。 负载箱可以实现最大
    发表于 11-20 15:24

    如何有效地监控电力系统的运行状态并保证系统安全性

    安科瑞徐赟杰18706165067 随着电力系统的智能化发展,如何有效地监控电力系统的运行状态并保证系统安全性,成为电力运维中不可忽视的问题。AMB100智能母线直流监控装置应运而生。本文将详细介绍
    的头像 发表于 11-18 14:10 219次阅读
    如何有效地监控电力<b class='flag-5'>系统</b>的运行状态并保证<b class='flag-5'>系统安全性</b>?

    socket编程的安全性考虑

    在Socket编程中,安全性是一个至关重要的考虑因素。以下是一些关键的安全性考虑和措施: 1. 数据加密 使用TLS/SSL协议 :TLS/SSL(传输层安全性/安全套接层)是网络
    的头像 发表于 11-01 16:46 260次阅读

    UWB模块的安全性评估

    UWB(超宽带)模块的安全性评估是一个复杂而关键的过程,涉及多个方面,包括技术特性、加密机制、抗干扰能力、物理层安全等。以下是对UWB模块安全性评估的分析: 一、技术特性带来的安全性
    的头像 发表于 10-31 14:17 248次阅读

    智能系统安全性分析

    智能系统安全性分析是一个至关重要的过程,它涉及多个层面和维度,以确保系统在各种情况下都能保持安全、稳定和可靠。以下是对智能系统安全性的分析
    的头像 发表于 10-29 09:56 258次阅读

    云计算安全性如何保障

    云计算的安全性是一个复杂而多维的问题,涉及多个层面和多种技术手段。为了保障云计算的安全性,需要采取一系列综合措施,以下是具体的保障方法: 一、数据加密 数据加密是保护云计算安全性的核心手段之一
    的头像 发表于 10-24 09:14 279次阅读

    固态电池安全性怎么样

    固态电池在安全性方面表现出显著的优势,这主要得益于其独特的固态电解质结构。以下是对固态电池安全性的详细分析:
    的头像 发表于 09-15 11:47 710次阅读

    请问DM平台访问安全性如何控制?

    DM平台访问安全性如何控制?
    发表于 07-25 06:10

    工业控制系统安全性分析与对策

    中断、设备损坏、数据泄露等严重后果,甚至威胁到国家安全和公共利益。因此,对工业控制系统安全性进行深入分析,并提出相应的对策,具有重要的现实意义和战略价值。
    的头像 发表于 06-28 18:07 1200次阅读

    蓝牙模块的安全性与隐私保护

    蓝牙模块作为现代无线通信的重要组成部分,在智能家居、可穿戴设备、健康监测等多个领域得到了广泛应用。然而,随着蓝牙技术的普及,其安全性和隐私保护问题也日益凸显。本文将探讨蓝牙模块在数
    的头像 发表于 06-14 16:06 547次阅读

    分布式无纸化交互系统如何实现信息的安全性和保密

    分布式无纸化交互系统可以通过以下几种方式实现信息的安全性和保密: 数据加密 :对会议内容、文件和通信进行端到端加密,确保数据在传输和存储过程中的安全性。 身份验证和授权管理 :实施严
    的头像 发表于 01-15 15:44 404次阅读