新書推薦:
《
现代吴语的研究(中华现代学术名著3)
》
售價:HK$
65.0
《
天下的当代性:世界秩序的实践与想象(新版)
》
售價:HK$
77.3
《
德国天才4:断裂与承续
》
售價:HK$
109.8
《
妈妈的情绪,决定孩子的未来
》
售價:HK$
42.6
《
推拿纲目
》
售價:HK$
403.2
《
精致考古--山东大学实验室考古项目论文集(一)
》
售價:HK$
244.2
《
从天下到世界——国际法与晚清中国的主权意识
》
售價:HK$
76.2
《
血色帝国:近代英国社会与美洲移民
》
售價:HK$
58.2
|
編輯推薦: |
(1)理论和实践相结合,注重素质和能力的培养,突出教材的实用性高等教育由精英教育转入大众化教育,本科教学的主要目标应该是将能力教育放在首位,在此前提下兼顾学科与研究教育。本教材编写的特色之一就是体现了这种思想,通过实例来阐述复杂理论,将枯燥的理论融于有趣的实例,使理论教学不再乏味。(2)理论以够用为限,技术有所取舍电子商务技术基础课程属于电子商务专业的核心基础课,牵涉到的技术非常广泛,在有限的时间内不可能对所有的技术都作清晰的介绍,只能有所取舍。本书对一些基础和核心的技术作重点阐述,其它的技术只作简单介绍。电子商务系统逻辑上分成若干层,其中*核心的是商务逻辑层,通过中间件软件、组件调用、动态网页等技术,实现了电子商务系统中的主要功能。因此本书重点阐述了电子商务系统的核心商务逻辑层的实现技术,分析了动态网页、组件、组件调用技术,纠正了其它同类书籍中对这一部分技术认识上的偏差。(3)内容编排由浅入深,按功能层次逐步推进在内容编排上,应力求贴近市场,贴近实际,学以致用,在阐述基础概念的同时,努力用精选的实例来讲解抽象复杂的技术理论,将实践与理论结合起来,由浅入深,循序渐进,以求得实效;在章节
|
內容簡介: |
本书以电子商务应用系统的多层结构为主线,讲述了电子商务应用系统的表达层、逻辑应用层、数据层和安全层的相关技术,重点介绍了静态网页技术、动态网页技术、组件与中间件技术、数据访问技术、安全与支付技术、网络营销技术、基于UML的系统开发技术等; 最后以一个综合性的实例将这些技术集成在一起,构成一个完整的电子商务应用系统。 本书以目前市场上构建大型电子商务系统的Java通用平台作为实例依据,介绍了大量基于Java的技术。本书各章中都有若干精选的实例,通过实例来阐述相关的理论,目的是做到理论和实践相结合。在内容编排上,本书力求贴近市场,贴近实际,由浅入深,循序渐进,最终能够学以致用,求得实效。 本书可作为高等院校电子商务、信息管理、计算机应用、国际贸易类专业本科生或研究生的教材或教学参考书,也可作为相关领域高级管理人员的培训用书。
|
目錄:
|
目录
第1章电子商务技术概论
1.1电子商务的基本概念
1.1.1电子商务的定义
1.1.2电子商务中涉及的相关技术
1.1.3电子商务与技术的关系
1.2电子商务系统
1.2.1电子商务系统的基本概念
1.2.2电子商务系统的特性
1.2.3电子商务系统的功能
1.3电子商务系统的平台与技术分析
1.3.1J2EE的产生背景
1.3.2J2EE平台简介
1.4Java技术基础
1.4.1Java语言简介
1.4.2一个简单的Java应用程序
1.4.3Java程序的运行
1.4.4Java程序的基本结构、数据类型与运算符
1.4.5表达式与基本语句
1.4.6类
1.4.7Java源程序的进一步说明
1.4.8数组
1.4.9Java中不同类型数据之间的转换
1.4.10利用Java进行文件输入输出
1.4.11窗口应用程序的编制
本章小结
习题与思考
第2章商务表达层及其技术
2.1商务表达层的功能与实现
2.2静态网页的表达及其技术
2.2.1静态网页的表达
2.2.2HTTP协议
2.2.3网站
2.3标记语言
2.3.1SGML语言与HTML语言
2.3.2XML
2.3.3Web服务器的安装与设置
2.4动态网页与客户端脚本
2.4.1动态网页概述
2.4.2JavaScript语言
2.4.3利用Applet实现动态网页
2.5服务器端脚本
2.5.1PHP
2.5.2ASP
2.5.3JSP
本章小结
习题与思考
第3章商务逻辑层及其技术
3.1商务逻辑层的构成
3.2应用服务器
3.2.1应用服务器的技术演变
3.2.2应用服务器的产品类型及开发工具
3.2.3应用服务器的基本功能
3.2.4应用服务器的安装
3.3中间件与组件的开发
3.3.1中间件与组件
3.3.2JeanBean与JSP指令
3.3.3使用JavaBean实现中间件
3.4EJB组件的开发
3.4.1EJB组件简介
3.4.2EJB中的角色
3.4.3EJB的类型
3.4.4EJB开发步骤
3.4.5EJB环境和资源
3.5面向服务的系统开发
3.5.1面向服务的系统架构及其特征
3.5.2Web Service
3.5.3面向Web Service的系统开发方法
3.5.4WSDL内容分析
3.5.5Apache开源项目
本章小结
习题与思考
第4章商务数据层及其技术
4.1数据管理技术的发展
4.1.1手工管理与文件系统
4.1.2数据库系统
4.1.3数据仓库与商务智能
4.1.4NoSQL数据库
4.2电子商务系统数据层实现
4.2.1数据库平台的选择与数据模型的设计
4.2.2数据访问接口的实现
本章小结
习题与思考
第5章电子商务安全与支付技术
5.1电子商务的安全需求
5.2信息的保密性技术
5.2.1加密解密技术
5.2.2防火墙技术
5.3数据完整性技术
5.4不可否认技术
5.4.1数字签名
5.4.2数字时间戳
5.5身份认证技术
5.5.1数字证书
5.5.2认证中心
5.5.3数字证书的申请与应用
5.5.4安全协议
5.6PKI技术
5.7电子支付与电子支付系统
5.7.1电子支付概述
5.7.2电子支付系统的特点
5.7.3电子支付系统的组成及其支付流程
5.7.4支付网关
本章小结
习题与思考
第6章网络营销技术
6.1网络营销概述
6.2搜索引擎营销及其技术
6.2.1搜索引擎
6.2.2搜索引擎营销
6.2.3搜索引擎营销的一些技术
6.3网络广告
6.3.1网络广告概述
6.3.2网络广告的策划与制作
6.3.3网络广告的监测与评估
6.4Email营销
6.4.1Email营销的含义
6.4.2Email地址资源
6.4.3Email效果评估
6.5在线市场调研
6.5.1在线市场调研的优势
6.5.2在线市场调研的途径及应注意的问题
6.5.3在线市场调研技术
6.6网络营销导向的企业网站建设
6.6.1企业网站建设的一般原则及相关规范
6.6.2企业网站优化
6.6.3网站建设中的常见问题
6.6.4网站流量统计
本章小结
习题与思考
第7章基于UML的系统开发技术
7.1建模的提出
7.1.1为什么需要建模
7.1.2信息系统的建模方法
7.2UML建模
7.2.1UML建模概述
7.2.2UML的内容
7.2.3UML的主要特点
7.2.4UML的应用领域
7.3UML的建模机制
7.3.1静态建模机制
7.3.2动态建模机制
7.4Web应用程序的建模
7.4.1Web应用程序的类型
7.4.2Web页的建模
7.4.3UML符号和关系
本章小结
习题与思考
第8章电子商务功能的实现
8.1电子商务系统的软硬件建设概述
8.2一个在线商店: 讯达网上购物系统
8.2.1系统简要说明
8.2.2系统的页面编排
8.3中间件的实现与服务环境的设置
8.3.1中间件dbaccess的实现
8.3.2服务环境设置
8.4利用JSP实现商店首页
8.5利用JSP实现客户的注册与登录
8.6利用JSP实现商品的查询
8.7利用JSP实现购物车与物品选购
8.8利用JSP实现结账及订单生成
8.9利用JSP实现在线电子支付
8.10发布在线商店
本章小结
习题与思考
参考文献
|
內容試閱:
|
前言 经过多年的沉淀与洗礼,电子商务在我国得到了蓬勃发展,已成为我国战略性新兴产业。大力发展电子商务,培养电子商务人才,对优化产业结构、满足和提升消费需求、实现创新驱动、转型发展、带动就业具有十分重要的意义。作为承担高校电子商务专业人才培养的基础教材,《电子商务技术基础》第1版自2005年出版以来,承蒙读者厚爱,销量一直很好,先后被全国几十所院校选用,作为电子商务、信息管理、计算机应用、国际商务等专业的教学和实践辅导教材,产生了很好的社会效益。十年前,当开始撰写本书第1版的时候,市场上有关电子商务技术的书籍并不多,具有鲜明特色的更加少之又少,该书的及时出版满足了教学与培训的需要。但是十年后的今天,情况大不一样了: 电子商务的影响越来越大,人们对电子商务技术的理解越来越深,加之信息技术的发展一日千里,各种新技术、新设备、新标准不断出现,电子商务新应用、新模式不断涌现。在这样的情况下,《电子商务技术基础》的内容已经不能同步市场需求和教学需要,客观上需要进行修订,与时俱进。2007年9月,本书第1版成功申报成为我国普通高等教育十一五国家级规划教材。作为十一五国家级规划教材,要求教材内容能反映学校教学改革与课程建设的最新成果,能体现一定的特色与风格,符合新世纪教学发展的规律并能有所创新。与此要求相比,本书第1版和第2版中的内容已不能完全反映电子商务技术的时代潮流,部分内容已经过时。为了弥补这些不足,清华大学出版社和我都有了改版的想法。目前,世界经济正在从实体经济向二元的实体与虚拟经济相结合的方向发展,技术、需求、法规在此过程中起到了决定性的作用。技术是电子商务发展的引力,创新是技术发展的核心。秉承创新思维、实现技术增值、突破传统方法,是本次修订的主要思想。《电子商务技术基础(第3版)》主要在以下几个方面进行了修订:(1) 对第1章中电子商务涉及的相关技术进行了修改和补充,修改了Web应用技术、移动电子商务技术等内容,增加了大数据和云计算的内容。(2) 对第2章中静态网页和动态网页等商务表达层内容进行了修改和补充,修改了一些实例,给出了购物车的实现方法,添加了用户接口和层叠式样式表的相关说明。(3) 对第3章商务逻辑层内容进行了简单修改,保留了商务逻辑层构成与应用服务器方面的一些概念和内容,添加中间件与组件、JSP与JavaBean及面向服务的系统开发方法及实例。(4) 在第4章商务数据层中添加了NoSQL数据库管理系统的一些内容。本次修订由张宝明承担了相关任务,保留了文燕平、陈梅梅主笔的第7章、第8章内容。同时,为加强和规范学校教研项目的管理工作,发挥各类教育教学项目和项目经费匹配资助的积极作用,上海理工大学设立了精品本科系列教材建设项目。本书改版也是上海理工大学精品本科系列教材成果之一。本书的特色体现在以下几个方面:(1) 理论和实践相结合,注重素质和能力的培养,突出教材的实用性。高等教育由精英教育转入大众化教育,本科教学的主要目标应该是将能力教育放在首位,在此前提下兼顾学科与研究教育。本书编写的特色之一就是体现了这种思想,通过实例来阐述复杂理论,将枯燥的理论融于有趣的实例,使理论教学不再乏味。(2) 理论以够用为限,技术有所取舍。电子商务技术基础课程属于电子商务专业的核心基础课,牵涉到的技术非常广泛,在有限的时间内不可能对所有的技术都作清晰的介绍,只能有所取舍。本书对一些基础和核心的技术作重点阐述,其他的技术只作简单介绍。电子商务系统逻辑上分为若干层,其中最核心的是商务逻辑层,通过中间件软件、组件调用、动态网页等技术,实现了电子商务系统中的主要功能。因此本书重点阐述了电子商务系统的核心商务逻辑层的实现技术,分析了动态网页、组件、组件调用技术,纠正了其他同类书籍中对这一部分技术认识上的偏差。(3) 内容编排由浅入深,按功能层次逐步推进在内容编排上,应力求贴近市场,贴近实际,学以致用,在阐述基础概念的同时,努力用精选的实例来讲解抽象复杂的技术理论,将实践与理论结合起来,由浅入深,循序渐进,以求得实效; 在章节安排上,也按照系统的多层结构体系逐步推进,力求讲清楚每层的核心技术,使读者对电子商务的技术有一个正确的定位。(4) 切合市场实际,实例以Java平台为主。大型电子商务系统,考虑到可靠性、可用性、安全性等因素,一般以Java平台作为运行的载体,对于中小企业的小型电子商务系统,即使使用PHP技术,也与Java技术有千丝万缕的联系,因此本书重点介绍了Java及其相关技术,如第1章中的Java技术基础,第3章中的JavaScript、JSP与Servlet等,第4章中的EJB组件,这在同类书籍中是少有的。由于《电子商务技术基础》涉及的技术内容较多,受课时限制,在教学过程中作者建议将重点放在第1章~第4章,而第5章~第8章的内容在其他课程(如网络营销、电子商务系统分析与设计等)中也会出现,可视情况有选择性地进行讲解。本书提供电子教案,用PowerPoint制作,可以任意修改; 也提供书中的运行环境、实例和相关实验内容,需要者可以到清华大学出版社网站(http:tup.com.cn)下载,也可直接和作者本人联系(邮箱: zhang_bm555@163.com)。本书在改版的过程中,由于水平有限,对相关技术的把握若有不当之处,敬请读者不吝赐教。作者2016年7月
第5章电子商务安全与支付技术
现代电子商务,交易双方的资金结算主要通过网上支付平台来完成。在B to B交易方式中,要求通过网上支付平台能够完成诸如账户之间资金划转、核对账户、账户划转历史查看等资金结算功能; 而在B to C交易方式中,不仅要求网上支付平台能够完成资金结算功能,还要求能解决交易各方的身份认证等一系列的安全问题。现代电子商务所要求的网上支付平台,是这样的一个交易环境: 提供完全可以信赖的资金汇兑交易,保证企业和消费者的利益不受到任何损失,保证厂商的重要商业信息、消费者的个人信息和个人隐私不被泄露。要达到这些目的,离不开基本的安全与支付技术,其中,加密技术是现代电子商务安全技术的基础。5.1电子商务的安全需求电子商务提供了全新的交易和服务方式,通过Internet,不但能为全球的客户提供丰富的商务信息、简便的交易过程,而且使得交易的成本大为降低。但是,在享受这些好处的同时,人们也碰到了一系列的问题,较为突出的就是有关交易安全的问题。有时,交易系统会遭到各种各样病毒的侵扰、黑客的攻击,导致系统突然崩溃,用户账号被盗,网站页面内容被恶意篡改,偶尔还会产生子虚乌有的合同,等等。在这样的情况下,电子商务要能正常地进行下去,必须满足一定的安全需求,具备相应的安全保障。一般来讲,电子商务的安全需求涉及信息安全需求、信用安全需求、管理安全需求和法律保障安全需求这几个方面。只有同时满足了这些安全需求,才能够真正地保障电子商务的顺利实施。但要完全做到这几点,不仅在主观上和客观上存在一定的困难,而且有时也显得没有必要。事实上,在不同的电子商务发展时期,对电子商务的安全需求是不一样的。最早对电子商务的安全需求,主要是提供计算机安全,也就是要能对信息进行保密,而保密这个问题,通过加密、访问控制等技术手段可以获得解决。之后的电子商务安全需求,要求能提供信息安全,而信息安全所要解决的问题,一是防止不法分子冒名顶替合法交易者参与交易或未经授权地篡改数据; 二是防止交易数据丢失或交易数据在通信网络中传输出现问题。此时要求电子商务具备4个基本安全特性,即数据的保密性、完整性、可用性和身份的确定性。电子商务发展到今天,其安全需求,已不再满足于电子商务的4个基本安全特性,而是进一步要求得到更全面的安全保证,包括管理安全和法律保障安全。换句话说,目前对电子商务的安全需求,是一个立体的需求,不但要求电子商务能提供数据保密性、完全性、可用性和对交易行为的可控性、保护性、监测响应等,还要求具备安全的外部交易法律环境,要求制定一系列的有关交易安全的法律法规,以解决管理安全问题和法律保障问题。总之,除了外部交易环境的安全因素外,要求电子商务具备以下几个安全特性:(1) 信息的保密性;(2) 信息的完整性;(3) 信息的不可否认性;(4) 交易者身份的真实性;(5) 系统的可靠性、可用性、可控性。
5.2信息的保密性技术信息的保密性在技术上是通过加密解密和防火墙等措施来实现的。5.2.1加密解密技术加密解密技术是一种用来防止信息泄露的技术。电子商务中的信息在通过Internet传送之前,为了防止信息的内容被他人有意或无意地知晓,需要将它的内容通过一定的方法转变成别人看不懂的信息,这个过程就是加密(encription); 而将看不懂的信息再转变还原成原始信息的过程称为解密decription。这里,加密之前的信息被称为明文plaintext,加密之后的内容称为密文,加密通常要采用一些算法(对应着加密解密的程序),而这些算法需要用到不同的参数,这些不同的参数称作密钥,密钥空间是所有密钥的集合。加密解密所用方法的种类,按照历史发展阶段可分为手工加密、机械加密、电子机内乱加密、计算机加密这4种。手工加密是指以手工完成加解密的过程,或者以简单器具来辅助完成加解密的过程,在第一次世界大战之前主要就采用这种加密形式。机械加密是指以机械密码机或电动密码机来完成加解密过程,它在第一次世界大战到第二次世界大战期间曾得到普遍应用。电子机内乱加密是指通过电子电路,以严格的程序进行逻辑运算,以少量制乱元素来生成大量的加密乱数,最终完成加解密过程。由于制乱是在加解密的过程中完成的,不需要预先制作,所以称其为电子机内乱加密,在20世纪60年代到70年代被广泛应用。计算机加密是指以计算机软件程序来进行加密,程序是公开的,也就是加解密的算法是公开的,密文的保密程度不取决于加密程序,而是取决于加密中用到的参数,即密钥,这种方法适用于对现代计算机中的数据进行保护和通信。计算机加密方法,按照保密程度来说,又可分为理论上保密的加密、实际上保密的加密、不保密的加密3种类型。对于理论上保密的加密,不管获取多少密文和有多大的计算机计算能力,对明文始终不能得到唯一解,所以也叫理论不可破的加密,如客观随机一次一密的加密就属于这种; 而对于实际上保密的加密,虽然在理论上可破,但在现有客观条件下,无法通过计算来确定密码; 至于不保密的加密,当获取一定数量的密文后就可以得到所用的密码,如早期的单表代替密码,后来的多表代替密码,以及明文加少量密钥等。按照密钥使用方式的不同,计算机加密方法通常又分为对称加密和非对称加密两种类型。对称加密是指加密和解密时使用相同的密码,传统的加密都属此类; 而非对称加密,在加密和解密时,分别使用两个不同的密码,一个称为公钥,另一个称为私钥。常见的对称加密和非对称加密的方法如表51所示。
表51常见的对称加密和非对称加密方法
方法描述
对称加密
DES是美国国家标准局于20世纪70年代开发的一种对称加密算法,采用分组乘积密码体制。数据块64位,密码64位或56位
IDEA由瑞士苏黎世联邦工业大学的赖学嘉和James L.Massey于1990年共同提出。数据块64位,密码长128位
FEAL日本NTT公司的清水和宫口设计
Rijndael荣代尔一种高级的加密标准AES,由比利时Joan Daemen和Vincent Rijmen提出,用于代替DES,其数据块长度和密钥长度可分别为128、192、256RC一种由Ron Rivest为RSA数据安全公司(RSADSI)所设计的密钥长度可变的对称加密算法
非对称加密
RSA由MIT的Ron rivest、Adi Shamir、Leonard Adleman于1978年提出。安全性基础是数论和计算复杂性理论中的下述论断: 求两个大素数〉10100的乘积在计算上是容易的,但若要分解两个大素数的积而求出它的因子则在计算上是困难的
EL Gamal1985年由EL Gamal提出,安全性基于在有限域上计算离散对数比计算指数更高的困难DLP
背包系统第一种出现的公开钥加密算法,由Ralph Merkle和Martin Hellman于1978年基于求解背包问题的难解性而提出的
McEliece1978年由McEliece提出。基于将一个译码容易的线性码经过变换而伪装成一个译码困难的线性码原理
DiffieHellman1976年出现,安全性基于在有限域上计算离散对数比计算指数更高的困难
椭圆曲线密码FEE、ECC1985年由N.Koblitz和V.Miller提出,利用有限域上的椭圆曲线上点集所构成的群,在其上定义离散对数系统。安全性基于在有限域上计算离散对数比计算指数更高的困难
1. 对称加密对称加密也叫共享密钥加密或机密密钥加密,收发双方拥有相同的单个密钥,这把密钥既可用于加密,也可用于解密,即加密和解密使用的是相同的一把密钥,此密钥又称为对称密钥或会话密钥。常见的对称加密方法有DES、DES3、AES、Base64等。DESData Encryption Standard 算法是美国政府机关为了保护信息处理中的计算机数据而使用的一种加密方式,是一种常规密码体制的密码算法,目前已广泛使用。该算法输入的是64bit的明文,在64bit密钥的控制下产生64bit的密文; 反之输入64bit的密文,输出64bit的明文。64bit 的密钥中含有8bit的奇偶校验位,所以实际有效密钥长度为56bit。1997 年RSA数据安全公司发起了一项DES 挑战赛的活动,志愿者4次分别用4个月、41天、56个小时和22个小时破解了其用56bit DES算法加密的密文。因此,DES加密算法在计算机速度提升后的今天被认为是不太安全的。DES3是DES算法扩展其密钥长度的一种方法,可使加密密钥长度扩展到128bit(实际有效位为112bit)或192bit(实际有效位为168bit)。其基本原理是将128bit 的密钥分为64bit的两组,对明文多次进行普通的DES加解密操作,从而增强加密强度。AESAdvanced Encryption Standard是在2001年由NIST宣布的一种DES后继加密算法。AES处理以128bit数据块为单位的对称密钥加密算法,可以用长为128、192和256位的密钥加密。NIST估计如果用能在1秒钟内破解56bitDES算法的计算机来破解128位的AES加密密钥,那需要用大约149 亿万年时间才行。例51使用Openssl软件,来对某个文件进行DES3加密。Openssl是一个有关安全的自由软件,具有多个版本(可从www.openssl.org站点下载),分别运行在UNIX、Linux、Windows平台上。运行在Windows平台上的Openssl功能主要包括对称加密、非对称加密、SSL接口及PKCS接口包括X.509证书、PKCS标准、ASN.1等。利用Openssl可以直接构建各种有关数据加密和PKCS接口的应用,不仅如此,用它构建的应用,其加密的强度要比微软(受美国安全产品出口限制)公司用组件来加密的强度要高得多,也安全得多。目前,Openssl已发展到0.95版,功能越来越丰富。Openssl软件由ssleay和openssl这两个模块构成。openssl模块是建立在ssleay模块上的一个高级应用; ssleay模块是整个Openssl软件的核心,由Eric A. Young和Tim J. Hudson用标准C语言写成,跨平台运行,功能很齐全,涉及的范围很广,提供的接口大约有2000多个,其中有关对称加密的算法主要有DES、IDEA、RC2、RC4、RC5、Blowfish、CAST等; 有关非对称加密算法主要有RSA、DH、DSA等; 有关哈希算法主要有MD2、MD5、SHA、SHA1、RIPEMD、MDC2等。本例就是直接利用Openssl中的ssleay模块功能接口,在Windows平台下对某个文件进行加密。值得注意的是,在运行Openssl时,要求存在一个Openssl的配置文件: openssl.cnf,该配置文件中包含了运行Openssl时的一些默认选项,如果没有这个文件,可用记事本编辑一个,将它保存到C:\openssl\out32dll文件目录下(这里假设Openssl软件安装在C:\openssl目录下),内容如下:
[ req ]
default_bits = 1024
default_keyfile = myca.key
distinguished_name = req_distinguished_name
x509_extensions = v3_ca
string_mask = nombstr
req_extensions = v3_req
[req_distinguished_name ]
countryName = Country Name 2 letter code
countryName_default = CN
countryName_min = 2
countryName_max = 2
stateOrProvinceName = State or Province Name full name
stateOrProvinceName_default = Shanghai
localityName = Locality Name e.g.,city
localityName_default = Shanghai xuhui
0.organizationName = Organization Name e.g.,company
0.organizationName_default = My Directory USST
organizationalUnitName = Organizational Unit Name e.g.,section
organizationalUnitName_default = Certification Services Division
commonName = Common Name e.g.,USST Root CA
commonName_max = 64
emailAddress = Email Address
emailAddress_max = 40
[v3_ca]
basicConstraints = critical,CA: true
subjectKeyIdentifier = hash
[v3_req]
nsCertType = objsign,email,server
[ ca ]
default_ca = default_CA
[default_CA ]
dir= ..out32dll# Where everything is kept
certs= ?瘙嚜dir# Where the issued certs are kept
crl_dir= ?瘙嚜dir # Where the issued crl are kept
database= ?瘙嚜dirindex.txt# database index file.
unique_subject = no# Set to ''no'' to allow creation of
# several ctificates with same subject.
new_certs_dir= ?瘙嚜dir # default place for new certs.
certificate= ?瘙嚜dirmyca.crt # The CA certificate
serial = ?瘙嚜dirserial# The current serial number
private_key= ?瘙嚜dirmyca.key # The private key
#crlnumber= ?瘙嚜dircrlnumber# the current crl number
# must be commented out to leave a V1 CRL
#crl= ?瘙嚜dircrl.pem # The current CRL
#RANDFILE= ?瘙嚜dirprivate.rand# private random number file
default_days = 3650
default_crl_days = 30
default_md = md5
preserve = yes
x509_extensions = user_cert
policy = policy_anything
[policy_anything ]
commonName = supplied
emailAddress = supplied
[user_cert ]
#SXNetID = 3: yeak
subjectAltName = email: copy
basicConstraints = critical,CA: false
authorityKeyIdentifier = keyid: always
extendedKeyUsage= clientAuth,emailProtection
接下来对文件进行加密,具体操作步骤如下:(1) 先用记事本创建一个待加密的文本文件,文件名为026h23f.txt,文件内容可为任意一个字符,将它保存到C:\openssl\out32dll文件目录下。(2) 在Windows中,打开命令提示符窗口,输入cd C:\openssl\out32dll命令并按Enter键,进入到openssl\out32dll目录。(3) 在命令提示符窗口中输入命令: openssl encdes3in 026h23f.txtout out026h23f.des,即可对文件026h23f.txt(明文)进行加密,如图51所示。
图51对文件026h23f.txt(明文)进行加密
命令中参数encdes3,表示用des3算法来进行加密; 参数in 026h23f.txt,表示要加密的文件名为026h23f.txt; 参数out out026h23f.des,表示加密后的文件名为out026h23f.des。在加密过程中会提示输入一个用来产生对称密码的口令,按Enter键后还会要求再输一次以进行确认(注意,在输入口令时,基于安全的缘故,屏幕上无任何显示)。执行完上述命令后,在C:\openssl\out32dll目录下会自动生成一个用des3算法加密后的out026h23f.des文件(密文)。(4) 在命令提示符窗口中输入命令: type out026h23f.des,按Enter键后在屏幕上即可显示out026h23f.des密文内容。例52使用Openssl软件,来对某个已加密的文件进行解密。假设要解密的文件就是上例中的密文out026h23f.des,则解密的操作过程如下:(1) 若命令提示符窗口没有打开,则先打开命令提示符窗口,输入命令: cd C:\openssl\out32dll,进入到openssl\out32dll目录。(2) 在命令提示符窗口中输入命令: openssl enc des3 d in out026h23f.desout new026h23f.txt,将会对out026h23f.des密文进行解密,产生一个明文文件new026h23f.txt。命令中的参数d,表示解密,在解密的过程中,为了获得用于解密用的对称密钥,需要输入加密时的口令。(3) 输入命令: type new026h23f.txt,看看屏幕上显示的内容是否与原始文件026h23f.txt的内容一致。在对称加密的方法组中,有一类比较特殊的方法,例如Base64,它们实际上只能算是一种编码方法,将信息从明文编码变成一种密文,从原理上来说,这种密文实际上并不保密。以Base64为例,在进行编码时,其运用的具体算法如下:(1) 先将要编码的信息内容(明文)以二进制流的形式排成一行,从高位开始,每6位为一个单位进行排列。例如,信息内容为字符流ABCD,在计算机中以ASCII码进行编码,因此对应的二进制流为:01000001,01000010,01000011,01000100上述二进制流以6位为单位重新排列,结果为:010000,010100,001001,000011,010001,00由于末尾一组不足6位,在不足六位的后面补零,组成6位,结果为:010000,010100,001001,000011,010001,000000(2) 根据符号到数字的映射表(见表52),把6位二进制流对应的数值分别转化成相应的数字,重新整理成一个字符流。
表52Base64符号与数字对应关系
数字字符数字字符数字字符数字字符
0A16Q32g48w
1B17R33h49x2C18S34i50y3D19T35j51z4E20U36k5205F21V37l5316G22W38m5427H23X39n5538I24Y40o5649J25Z41p57510K26a42q58611L27b43r59712M28c44s60813N29d45t61914O30e46u62 15P31f47v63
由于以上二进制对应的数字大小为: 16、20、9、3、17、0,因此根据映射表,得到的对应字符流为: QUJDRA。实际上,经过Base64编码后的信息,内容中只能存在上表中的64个ASCII字符,即A~Z、a~z、0~9、 和。(3) 由于规定编码的原始字符流字节数应是3的整数倍,原始字符流ABCD还需要补足两个字节,总的字节数才能被3整除,为此后面需补上两个=字符,所以原始字符流ABCD的最终Base64编码为QUJDRA==。从Base64编码的原理可以看出,最终得到的密文实际上是很容易进行逆运算从而得到原始的明文,因此Base64编码算法其实并不保密。事实上,Base64编码方法只是运用在MIME电子邮件传送的协议中,用来将需要传送的图像文件、二进制文件等统一编码成由A~Z、a~z、0~9、 和组成的ASCII字符串,在传统的只能传输字符串的邮件系统上进行传输。例53使用Openssl软件包,来对某个经过Base64编码后的文件进行解码。在支持MIME协议的邮件系统中,所有要发送的邮件,实际上已经经过了Base64编码。例如,在Outlook Express中,选中某个邮件,右击鼠标,快捷菜单中选属性(见图52),然后单击属性窗口中详细信息选项下的邮件来源按钮(见图53),在软件来源窗口中即可看到对应邮件内容的Base64编码内容(见图54),可将编码内容选中并复制到记事本,保存到某个文件如026h23fbase64.txt中。
图52查看邮件属性
图53邮件属性窗口
图54邮件来源窗口
下面就以026h23fbase64.txt文件为例,来对它的内容进行解码。具体操作步骤如下:(1) 若命令提示符窗口没有打开,则先打开命令提示符窗口,输入命令: cd C:\openssl\out32dll,进入到openssl\out32dll目录。(2) 输入命令: openssl enc base64 d in 026h23fbase64.txt out 026h23fplain.txt,对Base64编码后的文件026h23fbase64.txt进行解码,解码后产生的新文件为026h23f plain.txt。
(3) 输入命令: type newname.txt,可看到屏幕上显示的内容和邮件的内容是一致的。对称加密具有算法简单、加密与解密的速度较快的特点,能对大量的明文进行加密,但也有一些明显的缺点,最主要的缺点是,由于加解密双方都要使用相同的密钥,因此在发送、接收信息之前,必须完成密钥的分发,密钥不能直接通过网络来传递,在首次通信前,通信方必须通过除网络以外的途径来传递对称密钥给接收方。因而,密钥的分发便成了该加密方法中最薄弱、风险最大的环节,在非对称加密方法出现前,各种基本的手段很难保障安全、高效地完成此项工作。另外,当某个对象需要与多个对象保密通信时,就需要产生多个密钥,因此对密钥的管理难度很大。对称加密是建立在共同保守秘密的基础之上的,在管理和分发密钥过程中,任何一方的泄密都会造成密钥的失效,因而存在着潜在的危险。
2. 非对称加密对称加密方法遇到了密钥分发管理的难题,不管算法多么优秀,如果密钥在分发时发生泄露,则整个安全将毁于一旦。非对称加密方法则有效地避免了密钥分发的难题。非对称加密方法中使用一对密钥: 公钥public key和私钥private key组合。用公钥加密的密文只能用私钥解密,反之,用私钥加密的密文只能用公钥解密。在操作过程中,公钥可向外界发布,让其他人知道,私钥则自己保存,只有自己知道。如果A要发一份秘密信息给B,则A只需要得到B的公钥,然后用B的公钥加密秘密信息,此加密的信息只有B能用其保密的私钥解密。反之,B也可以用A的公钥加密保密信息给A。信息在传送过程中,即使被第三方截取,也不可能解密其内容。非对称加密也有许多种方法,常见的有RSA加密和椭圆曲线加密等。由Ron Rivest,Adi Shamir和Leonard Adleman三人首创的RSA是一种公开密钥加密方法,它的原理是: 先由密钥管理中心产生一对公钥和私钥,称为密钥对。方法是: 先产生两个足够大的强质数p、q。可得p与q的乘积为 n=pq。再由p和q算出另一个数z=p-1q-1,然后再选取一个与z互素的奇数b,称b为公开指数; 从这个b值可以找出另一个值a,并能满足ba=1 mod z条件。由此而得到的两组数n,b和p,q,a分别被称为公开密钥和秘密密钥,或简称公钥和私钥。若对明文信息x0x
|
|