四年专业论文网,提供各种免费论文及范文报告下载及代写论文服务,包括硕士论文,毕业论文,职称论文,英语论文

加入收藏 | 网站地图 | 在线留言
华东论文网网站LOGO 代写论文论文定制 发表论文发表论文 合作流程合作流程 付款方式付款方式 信用说明信用说明 刊物介绍刊物介绍
本站公告: 热烈庆祝华东论文网新版上线 [华东论文网 2008年6月16日] 欢迎光临华东论文网-专业的代写论文网 [华东论文网 2007年10月21日] 欢迎广大网友来投稿! [华东论文网 2006年11月10日] 为您提供高质量的代写论文服务 [华东论文网 2007年10月20日] 代写论文 论文定制 发表论文 发表论文 诚邀合作 诚邀合作
您现在的位置: 华东论文网 >> 免费论文 >> 计算机类 >> 应用软件类 >> 正文
热门文章
推荐文章
相关文章
  • 电子商务与企业信息化建…

  • 论电子商务在我国旅游业…

  • 电子商务带来的机遇和挑…

  • 电子商务在中国的发展

  • 中国电子商务差在哪儿?

  • 发展我国电子商务都要以…

  • 基于Internet远程教育系…

  • 电子化政府:发展及其前…

  • 电子商务与隐私权保护

  • 国内电子商务面临的问题…

  • 论文网栏目 毕业论文选题指导 [图文]用OPENSSL实现电子商务中的CA认证 论文网栏目

    用OPENSSL实现电子商务中的CA认证

    作者:佚名 文章来源:本站原创 点击数: 更新时间:2005-3-3
       摘要:本文主要介绍了使用公开源代码的工具OpenSSL来完成数字证书的签署,实现电子商务中的CA认证的过程。
    关键词:电子商务;OpenSSL;CA认证

    1. 前言
    作为电子商务的安全核心SSL协议在电子商务安全性方面扮演了重要的角色。本文就是从安全技术角度介绍了以公开源代码的工具OpenSSL来实现电子商务中的安全认证过程。

    2. SSL(Secure Socket Layer)协议及其主要技术
    1996年由美国Netscape公司开发和倡导的SSL协议,它是目前安全电子商务交易中使用最多的协议之一,它被许多世界知名厂商的Intranet和Internet网络产品所支持。
    SSL应用在Client和Server间安全的Web HTTP通信,URL以https开始替代http,并使用443端口进行通信。它主要使用加密机制、数字签名、数字摘要、身份认证、CA认证技术提供Client和Server之间的秘密性、完整性、认证性三种基本的安全服务。

    3. 用OpenSSL工具实现安全认证
    目前,国外主流的电子商务安全协议在核心密码算法上都有出口限制,如只允许40位或56位的RC4和512位的RSA算法出口等。这样的算法强度引进后无法满足我国电子商务实际应用当中的安全需求。但是,完全自主定义和开发一套安全标准体系不是一蹴而就的事情,需要人、财、物的长期投入。
    因此,如何对国外主流的电子商务安全协议的安全模块进行改造,用国内先进的密码算法替换其相应的安全强度不够的算法,变为国产的强安全协议,这样就能较好地提高我国电子商务安全技术水平。
    在SSL未提供源代码的情况下,由澳大利亚软件工程师Eric Young与Tim Hudson联合开发的OpenSSL恰好解决了这一难题。它不仅能实现SSL的所有功能,支持目前所有基于SSL V2/V3和TSL V1的应用软件,而且由于源代码公开和提供了各种加密算法,完全可以满足国外安全协议引进后的本地化改造需求。
    下面就用OpenSSL提供的强大功能在FreeBSD平台下进行手工签署证书的过程。
    ⑴ 先建立一个 CA 的证书,首先为 CA 创建一个 RSA 私用密钥:
    # OpenSSL genrsa -des3 -out ca.key 1024
    该指令中genras表示生成RSA私有密钥文件。
    -des3表示用DES3加密该文件。
    -out ca.key表示生成文件ca.key。
    1024是我们的RSA key的长度。
    生成server.key的时候会要你输入一个密码,这个密钥用来保护你的ca.key文件,这样即使人家偷走你的ca.key文件,也打不开,拿不到你的私有密钥。
    运行该指令后系统提示输入 PEM pass phrase,也就是ca.key文件的加密密码,这里设为12345678。
    ⑵ 用下列命令查看它的内容:
    # OpenSSL rsa -noout -text -in ca.key
    该指令中rsa表示对RSA私有密钥的处理。
    -noout表示不打印出key的编码版本信息。
    -text表示打印出私有密钥的各个组成部分。
    -in ca.key 表示对ca.key文件的处理

    对RSA算法进行分析可以知道,RSA的私有密钥其实就是三个数字,其中两个是质数prime numbers。产生RSA私有密钥的关键就是产生这两个质数。还有一些其他的参数,引导着整个私有密钥产生的过程。
    ⑶ 利用 CA 的 RSA 密钥创建一个自签署的 CA 证书
    # OpenSSL req -new -x509 -days 365 -key ca.key -out ca.crt
    该指令中req用来创建和处理CA证书,它还能够建立自签名证书,做Root CA。
    -new 产生一个新的CSR, 它会要输入创建证书请求CSR的一些必须的信息。
    -x509 将产生自签名的证书,一般用来做测试用,或者自己做个Root CA用。
    -days 365 指定我们自己的CA给人家签证书的有效期为365天。
    -key ca.key指明我们的私有密钥文件名为ca.key。
    -out ca.crt指出输出的文件名为ca.crt。
    执行该指令时系统要求用户输入一些用户的信息,如下所示:(框内为输入的内容)
    Using configuration from /etc/ssl/OpenSSL.cnf
    Enter PEM pass phrase:12345678
    You are about to be asked to enter information that will be incorporated
    into your certificate request.
    What you are about to enter is what is called a Distinguished Name or a DN.
    There are quite a few fields but you can leave some blank
    For some fields there will be a default value,
    If you enter '.', the field will be left blank.
    -----
    Country Name (2 letter code) [AU]:CN (两个字母的国家代号)
    State or Province Name (full name) [Some-State]:JIANG SU (省份名称)
    Locality Name (eg, city) []:ZHANGJIAGANG (城市名称)
    Organization Name (eg, company) [Internet Widgits Pty Ltd]:FAMILY NETWORK (公司名称)
    Organizational Unit Name (eg, section) []:HOME (部门名称)
    Common Name (eg, YOUR name) []:TJL (你的姓名)
    Email Address []:TJL@WX88.NET (Email地址)
    ⑷ 用下列命令查看生成证书的内容:
    # OpenSSL x509 -noout -text -in ca.crt
    该指令中x509表示证书处理工具。
    -noout表示不打印出key的编码版本信息。
    -text 表示以文本方式显示内容。
    -in ca.crt 表示对ca.crt文件进行处理
    系统显示证书内容为:
    Certificate:
    Data:
    Version: 3 (0x2)
    Serial Number: 0 (0x0)
    Signature Algorithm: md5WithRSAEncryption
    Issuer: C=CN, ST=JIANG SU, L=ZHANGJIAGANG, O=FAMILY NETWORK, OU=HOME, CN=TJL/Email=TJL@WX88.NET

    Validity
    Not Before: Feb 24 14:49:27 2003 GMT
    Not After : Feb 21 14:49:27 2013 GMT
    Subject: C=CN, ST=JIANG SU, L=ZHANGJIAGANG, O=FAMILY NETWORK, OU=HOME, CN=TJL/Email=TJL@WX88.NET
    Subject Public Key Info:
    Public Key Algorithm: rsaEncryption
    RSA Public Key: (1024 bit)
    Modulus (1024 bit):
    00:da:20:09:11:19:1f:12:f0:98:0c:fc:91:ac:3e:
    ……
    22:e1:ca:04:0f:dc:e9:bd:9f
    Exponent: 65537 (0x10001)
    X509v3 extensions:
    X509v3 Subject Key Identifier:
    03:B0:14:8C:5D:C6:F8:F4:B0:96:A0:CC:7C:8F:9B:00:BB:78:E6:A6
    X509v3 Authority Key Identifier:
    keyid:03:B0:14:8C:5D:C6:F8:F4:B0:96:A0:CC:7C:8F:9B:00:BB:78:E6:A6
    DirName:/C=CN/ST=JIANG SU/L=ZHANGJIAGANG/O=FAMILY NETWORK/OU=HOME/CN=TJL/Email=TJL@WX88.NET
    serial:00

    X509v3 Basic Constraints:
    CA:TRUE
    Signature Algorithm: md5WithRSAEncryption
    8d:e8:46:82:40:b4:18:a2:12:9f:7a:66:e5:fc:0c:3f:77:5a:
    ……
    04:13
    从上面的输出内容可以看出这个证书基本包含了X.509数字证书的内容,从发行者Issuer和接受者Subject的信息也可以看出是个自签署的证书。
    下面创建服务器证书签署请求(使用指令和系统显示信息基本和以上类似):
    ⑸ 首先为Apache 创建一个 RSA 私用密钥:
    # OpenSSL genrsa -des3 -out server.key 1024
    这里也要设定口令pass phrase,生成 server.key 文件。
    ⑹ 用下列命令查看它的内容:
    # OpenSSL rsa -noout -text -in server.key
    ⑺ 用 server.key 生成证书签署请求 CSR:
    # OpenSSL req -new -key server.key -out server.csr
    这里也要输入一些请求证书的信息,和上面的内容类似。
    ⑻ 生成证书请求后,下面可以签署证书了,需要用到OpenSSL源代码中的一个脚本 sign.sh,签署后就可以得到数字证书server.crt。
    # sign.sh server.csr
    ⑼ 启动安全Web服务
    最后在apache服务器中进行ca认证设置,拷贝server.crt 和server.key到/usr/local/apache/conf
    修改httpd.conf 将下面的参数改为:
    SSLCertificateFILE /usr/local/apache/conf/server.crt
    SSLCertificateKeyFile /usr/local/apache/conf/server.key
    可以启动带安全连接的Apache试一下了。
    # /usr/local/apache/bin/apachectl startssl
    提示输入pass phrase(就是前面为服务器设置的口令)
    ⑽ 进行安全连接
    通过另一台电脑(IP地址为192.168.0.1)的IE浏览器与这台Apache服务器(IP地址为192.168.0.2)连接并且选择https协议,即:https://192.168.0.2:443。出现安全连接警告窗口,因为我的服务器证书是自己手工签署的,不是经过真正的CA颁发的证书,是个无效证书,所以按确定后出现安全证书无效的警告窗口。按“是”继续,出现如图1所示:
    注意这里浏览器地址栏内输入的是https而不是http,另外此时在状态栏内出现了一把小锁,这说明SSL协议起作用了,服务器和浏览器之间建立了一个安全连接。

    这样我们使用开放源代码的工具OpenSSL来完成了电子商务的CA认证过程,同时这也只是使用现成的工具来完成的,在实际使用中还要分析它的源代码,修改源代码,来达到自己的安全需要。

    4.结束语
    SSL是目前国际上流行Web安全工具,它融合了多种安全技术,实现安全的Web通信,必将在国内的安全电子交易领域得到广泛的应用。通过对公开源代码的工具OpenSSL的使用和分析,可以使我们对SSL协议有很好的理解和应用,对研究电子商务中的安全问题有具有特别的理论价值和实用价值。

    参考文献:
    [1] Alan O Freier,Philip Karlton. The SSL Protocol Version 3.0[J]. Netscape Communications.1996
    [2] CCITT.Recommendation X.509:The Directory.Authentication Framework[R].1998
    [3] 林 枫主编. 电子商务安全技术及应用 北京:航空航天大学出版社
    [4] 易江波,赵战生,阮耀平. SSL及使用SSLeay实现证书的签发和管理 计算机应用研究2001
    [5] 韦 卫,王德杰等. 基于SSL的完全WWW系统的研究与实现[J].计算机研究与发展 1999
    [6] 唐礼勇,陈钟编写. 电子商务技术及其安全问题. 计算机工程与应用 2000

    论文录入:华东论文网    责任编辑:华东论文网 
  • 上一篇论文: 浅谈VFP报表打印问题

  • 下一篇论文: 3dsmax中高级曲面编辑技巧
  • 【字体: 】【发表评论】【告诉好友】【打印此文】【关闭窗口
    联系我们 | 版权申明 | 友情链接 | 关于论文网 | 网站地图 | 银行汇款说明 | 加盟笔杆子说明

    客服电话:13886096221(全天) QQ在线客服:论文代写在线QQ50403530 联系邮箱:hdlww@hdlww.com
    CopyRight (C)2004-2008 Www.hdlww.Com All Rights Reserved.. 浙ICP备05017412号
    所有论文资料均源于网上的共享资源及期刊共享,请特别注意勿做其他非法用途
    如有侵犯您的版权或其他有损您利益的行为,请联系指出,华东论文网会立即进行改正或删除有关内容
    本站关键词:

    论文网 硕士论文 毕业论文 职称论文 英语论文 代写论文