首页 | 邮件资讯 | 技术教程 | 解决方案 | 产品评测 | 邮件人才 | 邮件博客 | 邮件系统论坛 | 软件下载 | 邮件周刊 | 热点专题 | 工具
网络技术 | 操作系统 | 邮件系统 | 客户端 | 电子邮箱 | 反垃圾邮件 | 邮件安全 | 邮件营销 | 移动电邮 | 邮件软件下载 | 电子书下载

邮件网络安全

系统安全 | 邮件软件漏洞 | 攻防技术 | 安全基础 | 病毒公告 | 病毒查杀 | Forefront/TMG/ISA | 防火墙 | 数字签名 |
首页 > 邮件网络安全 > 邮件安全与数字签名 > 使用SSL让OpenWebMail更加安全(上) > 正文

使用SSL让OpenWebMail更加安全(上)

出处:it168.com 作者:华江 时间:2006-8-9 13:24:00
 【IT168 专稿】OpenWebMail 是建立在LAMP构架上的Webmail。通过SSL可以提高基于LAMP的OpenWebMail邮件服务器的安全性。

    使用具有SSL(安全套接字协议层)功能的Web服务器,可以提高访问网站的安全性能。SSL使用加密方法来保护Web服务器和浏览器之间的信息流。SSL不仅用于加密在互联网上传递的数据流,而且还提供双方身份验证。这样,您就可以安全地在线购物而不必担心别人窃取您信用卡的信息。这种特性使得SSL适用于那些交换重要信息的地方,像电子商务和基于Web的邮件。

     Netcraft报道,Apache已经超越微软成为开发者首选的SSL服务器,有44.0%的加密连接网站使用Apache作为服务器,43.8%使用微软产品。作为SSL协议的最初开发者,Netscape原本拥有最多的市场。但是Netscape的市场份额很快被微软借助IIS超越,IIS在几年内始终拥有40-50%的市场。Apache的第一版不支持SSL,因为美国对加密算法有出口限制,所以开源项目的加密部分必须放到美国境外进行开发,同时必须单独发布。因此许多独立的项目为Apache提供了SSL支持,包括Apache-SSL和mod_ssl。但是当时一些商业版本的SSL模块,比如c2net的Stronghold更为流行。到了Apache第二版,mod_ssl被作为默认模块包含进来,Apache开始成为一个流行的SSL服务器。Netcraft's SSL调查自从1996年开始跟踪互联网上不断增多的SSL Web服务器,所用的服务器软件,操作系统和验证算法。http://news.netcraft.com/archives/2006/04/26/
apache_now_the_leader_in_ssl_servers.html 
 

图1 使用SSL 的安全Web服务器市场份额


    E-soft也专门对安全的服务器(支持SSL/TLS的Web服务器,比如电子商务站点)进行了调查,即使是在这些领域,Apache的市场份额也有52.07%。而在同一领域中,IIS的份额是39.66%。因为Stronghold是将Apache重新打包以后发行的产品,所以Apache这个领域的实际市场份额应该更多。(链结:http://www.securityspace.com/s_survey/sdata/200606/index.html )

    SSL(Secure Sockets Layer) 是一个能够确认网站身份、将所传送数据加密的安全性通讯珕定,以确保使用者与网站之间数据传送的安全性。

SSL 的功能:

    1. 验证身份 (authentication)
    2. 加密 (encryption)
    3. 数据完整性 (data integrity)

一、 X509协议简介

    SSL 采用的是 X.509协议,由上而下金字塔式的凭证制度(图2)。在 X.509 中,每一个合格的凭证上,都会有一个签名。最下层的凭证上,会有一个认证中心 (CA)的签名,表示这个认证中心 (CA) 检查过,确认所有者数据无误。中间的认证中心(CA) 上,也会有管辖它的最高层认证中心 (Root CA)的签名,表示最高层认证中心授权给它,可以签发别人的凭证。只有最高层认证中心上,因为它已经是最大,没有再上层可以给它签名了,所以只好自己签自己,凭证上的签名是自己签的。X.509标准用于在大型计算机网络提供目录服务,X.509提供了一种用于认证X.509服务的PKI结构,两者都属于ISO和ITU提出的X系列国际标准,目前,有许多公司发展了基于X.509的产品,例如Visa、MasterCard 、Netscape,而且基于该标准的Internet和Intranet产品越来越多。X.509是目前唯一的已经实施的PKI系统。X.509 V3是目前的最新版本,在原有版本的基础上扩充了许多功能,目前电子商务的安全电子交易(SET)协议也采用基于X.509 V3。

图2 基于X.509协议的认证结构图


相关名词解释:

  • 什么是数字签名

    数字签名是用 Private Key针对某一段数据用 Digest Hash 算法(如 SHA1 )做出来的一Digest 摘要码。只要原来的数据有所不同,演算出来的 Digest 摘要码就会跟着变动。日后收到这个 Public Key 的人,只要检查上面认证中心的签名,就可以工具这个代码和它上面所载的所有人数据相不相符。也就知道连接的服务器,是不是真正的Web服务器。

  • private key(私钥)

    公钥算法中使用的加密密钥对的安全密钥部分。私钥通常用于解密对称会话密钥、对数据进行数字签名或解密已使用相应公钥加密的数据。

  • public key(公钥)

    公钥算法中使用的加密密钥对的非安全部分。公钥通常用于加密会话密钥、验证数字签名或加密可使用相应私钥解密的数据。

  • 什么是凭证?

    凭证的原文是 Certificate ,是附上所有人 (owner) 的数据(公司名称、服务器名称、个人真实姓名、电子邮件E-mail 、通讯地址等数据),后面加上数字签名的 Public Key 。凭证上会附有几个数字签名,代表这些签名的人,确认过这个 Public Key 的所有人,和凭证上所载的数据相符,没有假造。在 X.509 中,最下层每一个合格的凭证 (Certificate) 上,会有一个认证中心 (CA) 的签名,表示这个认证中心 (CA) 检查过,确认凭证上的所有者数据无误。当程序碰到没见过的凭证时,只要检查凭证上认证中心 (CA) 的签名无误,即代表这个认证中心 (CA) 查核过这个凭证 (Certificate) ,凭证上的资料无误。

  • 什么是认证中心?

    认证中心的原文是 CA ,是 Certificate Authority 的缩写。认证中心是 X.509 的一环。认证中心也是一种凭证,上面附有认证中心本身的资料,但不是用来加解密,而是用来签发凭证,证明凭证所有人和凭证上所载的数据无误。每一个合格的认证中心 (CA)上,会有一个管辖它的最高层认证中心 (Root CA) 的签名,表示最高层认证中心授权给它,可以签发别人的凭证。当程序碰到没见过的凭证,凭证上签名的认证中心 (CA) 也没见过时,只要检查认证中心上附的最高层认证中心(Root CA) 的签名无误,即代表这个最高层认证中心 (Root CA) ,认为这个认证中心 (CA) 的凭证签发过程很仔细,检查数据很详实,所以授权给它,准许它可以签发凭证 (Certificate) 。所以这个认证中心 (CA) 签发的凭证 (Certificate) ,凭证上的资料也没有问题。

  • 什么是最高层认证中心?

    最高层认证中心的原文是 Root CA ,也称为顶级CA。最高层认证中心是 X.509 的一环。最高层认证中心也是认证中心 (CA) ,和一般认证中心的差别在于,它不会直接用来签发凭证,而是授权给一些中间的认证中心,让这些中间的认证中心来签发凭证。最高层认证中心,因为已经拥有最高权限,没有再上层可以给它签名了,所以凭证上的是自己的签名,不是别人的签名。这样就产生一个问题:最高一级的证书机构没有授予者,那么谁为它的证书作担保呢?仅在这种情况下,此证书是"自签名的",即证书的授予者和主题中的一样,所以,必须对自签名的证书备加注意。顶级机构广泛发布的公共密钥可以减小信任这个密钥所带来的风险--这显然比其他某个人发布密钥并宣称他是证书机构要安全一些。浏览器被默认地配置为信任著名的证书机构。

    许多公司是专业证书机构,如Thawte(http://www.thawte.com/ )和VeriSign(http://www.verisign.com/) 提供如下服务:

  • 验证证书的申请 
  • 处理证书的申请 
  • 授予和管理证书

    自己建立一个证书机构也是可能的,虽然在Internet环境中有风险,但在验证个体或服务器较容易的Intranet环境中,会很有用。如果程序被加进一些不可靠的最高层认证中心,接下来碰到它签下来的凭证,都会有问题,整个程序的安全都会被破坏。所以在 X.509 下,SSL 程序一定要好好保护最高层认证中心,一定要再三确认,不可以随便让人手动加进最高层认证中心。

二、SSL协议简介

    SSL协议工作在Linux TCP/IP协议和HTTP协议之间,SSL是一个介于HTTP协议与TCP之间的一个可选层,其关系如图3所示。 

图3 SSL协议和Linux TCP/IP协议和其他协议之间关系


    SSL Handshake Protocol 中文名称:SSL握手协议,用来完成客户端和服务器之间对话的建立。 SSL握手协议是SSL协议中最复杂的协议。服务器和客户端使用这个协议相互鉴别对方的身份、协商加密算法和MAC算法以及在SSL记录协议中加密数据的加密密钥和初始向量。握手协议是建立SSL连接首先应该执行的协议,必须在传输任何数据之前完成。

    SSL Change Cipher Spec Protocol中文名称:SSL修改密文协议,以实际建立对话用密码组的约定。SSL Change Cipher Spec Protocol是一个最简单的SSL相关协议,它只有一个报文,报文由值为1的单个字节组成。这个协议的唯一作用就是将挂起状态被复制到当前状态,改变连接将要使用的密文族。

    SSL Alert Protocol中文名称:SSL告警协议,在客户端和服务器之间传输SSL出错消息。 SSL告警协议是将SSL有关的告警信息传送给通信的对方实体。SSL告警协议跟其它使用SSL的应用协议(如HTTP协议)一样,报文安装当前状态的被压缩和加密。

    SSL Record协议中文名称:SSL记录协议,为不同的高层协议提供安全服务,HTTP、FTP等高层应用协议都可以在SSL协议上运行。顾名思义,Record协议是在描述SSL信息交换的过程中的记录格式。SSL协议是介于应用层和网络层之间,因此它会接收来自应用层的信息,并加以包装后交由下一层(也就是网络层来传送)。

    SSL层: 借助下层协议的的信道安全的协商出一份加密密钥,并用此密钥来加密HTTP请求。TCP层:与web server的443端口建立连接,传递SSL处理后的数据。 接收端与此过程相反。 SSL在TCP之上建立了一个加密通道,通过这一层的数据经过了加密,因此达到保密的效果。

三、SSL工作流程图
 

图4 SSL工作详细流程图

    这里有一篇经典的SSL工作流程文档,需要的读者可以参考:《Apache 2 with SSL/TLS: Step-by-Step》,链接:http://www.securityfocus.com/comments/infocus/1818/560/threaded#560 。

    SSL使用公共密钥加密技术,服务器在连接结束时给客户端发送公用密钥用来加密信息,而加密的信息只有服务器用它自己持有的专用密钥才能解开。客户端用公用密钥加密数据,并且发送给服务端自己的密钥,以惟一确定自己,防止在系统两端之间有人冒充服务端或客户端进行欺骗。加密的HTTP连接用443端口号代替80端口号,以区别于普通的不加密的HTTP。客户端使用加密HTTP连接时会自动使用443端口而不是80端口,这使得服务端更容易作出相应的响应。SSL 验证和加密的具体过程如下:

    1. 用户使用浏览器,访问Web 服务器站点,发出SSL 握手信号;
    2. Web 服务器发出回应,并出示服务器证书(公钥),显示系统Web 服务器站点身
份;
    3. 浏览器验证服务器证书,并生成一个随机的会话密钥,密钥长度达到128 位;
    4. 浏览器用Web 服务器的公钥加密该会话密钥;
    5. 浏览器将会话密钥的加密结果发送Web 给服务器;
    6. Web 服务器用自己的私钥解密得出真正的会话密钥;
    7. 现在浏览器和Web 服务器都拥有同样的会话密钥,双方可以放心使用这个会话密钥来加密通讯内容。
    8. 安全通讯通道建立成功。

    SSL协议有多种版本。SSL3.0的一个优点是增加了对加载证书链的支持,以允许服务器在发给浏览器的授予者证书上附加一个服务器证书。链的加载也允许浏览器验证服务器证书,即使对此授予者的证书机构证书并没有安装,因为它已经包含在这个证书链中了。SSL3.0目前正由Internet Engineering Task Force(IETF)研发,是传输层安全[TLS]协议标准的基础。

    下篇文章介绍具体SSL技术应用实例,敬请关注。

相关文章 热门文章
  • 使用SSL让OpenWebMail更加安全(下)
  • 邮箱密码破解EmailCrack使用
  • 电子邮件安全漏洞大曝光--流行客户端软件之痛
  • Webmail安全问题莫忽视
  • 破解电子邮件
  • 用MailSpy拦截局域网邮件
  • 您的电子邮件签名了吗?
  • 加密你的电子邮件系统
  • 建立高可扩展的web邮件系统
  • 偷窥Hotmail用户邮件三部
  • Webmail攻防实战
  • 电子邮箱及IE安全设置指南
  • 邮件存储备份五种考虑
  • 自由广告区
     
    最新软件下载
  • SharePoint Server 2010 部署文档
  • Exchange 2010 RTM升级至SP1 教程
  • Exchange 2010 OWA下RBAC实现的组功能...
  • Lync Server 2010 Standard Edition 标..
  • Lync Server 2010 Enterprise Edition...
  • Forefront Endpoint Protection 2010 ...
  • Lync Server 2010 Edge 服务器部署文档
  • 《Exchange 2003专家指南》
  • Mastering Hyper-V Deployment
  • Windows Server 2008 R2 Hyper-V
  • Microsoft Lync Server 2010 Unleashed
  • Windows Server 2008 R2 Unleashed
  • 今日邮件技术文章
  • 腾讯,在创新中演绎互联网“进化论”
  • 华科人 张小龙 (中国第二代程序员 QQ...
  • 微软推出新功能 提高Hotmail密码安全性
  • 快压技巧分享:秒传邮件超大附件
  • 不容忽视的邮件营销数据分析过程中的算..
  • 国内手机邮箱的现状与未来发展——访尚..
  • 易观数据:2011Q2中国手机邮箱市场收入..
  • 穿越时空的爱恋 QQ邮箱音视频及贺卡邮件
  • Hotmail新功能:“我的朋友可能被黑了”
  • 入侵邻居网络发骚扰邮件 美国男子被重..
  • 网易邮箱莫子睿:《非你莫属》招聘多过..
  • 中国电信推广189邮箱绿色账单
  • 最新专题
  • 鸟哥的Linux私房菜之Mail服务器
  • Exchange Server 2010技术专题
  • Windows 7 技术专题
  • Sendmail 邮件系统配置
  • 组建Exchange 2003邮件系统
  • Windows Server 2008 专题
  • ORF 反垃圾邮件系统
  • Exchange Server 2007 专题
  • ISA Server 2006 教程专题
  • Windows Vista 技术专题
  • “黑莓”(BlackBerry)专题
  • Apache James 专题
  • 分类导航
    邮件新闻资讯:
    IT业界 | 邮件服务器 | 邮件趣闻 | 移动电邮
    电子邮箱 | 反垃圾邮件|邮件客户端|网络安全
    行业数据 | 邮件人物 | 网站公告 | 行业法规
    网络技术:
    邮件原理 | 网络协议 | 网络管理 | 传输介质
    线路接入 | 路由接口 | 邮件存储 | 华为3Com
    CISCO技术 | 网络与服务器硬件
    操作系统:
    Windows 9X | Linux&Uinx | Windows NT
    Windows Vista | FreeBSD | 其它操作系统
    邮件服务器:
    程序与开发 | Exchange | Qmail | Postfix
    Sendmail | MDaemon | Domino | Foxmail
    KerioMail | JavaMail | Winwebmail |James
    Merak&VisNetic | CMailServer | WinMail
    金笛邮件系统 | 其它 |
    反垃圾邮件:
    综述| 客户端反垃圾邮件|服务器端反垃圾邮件
    邮件客户端软件:
    Outlook | Foxmail | DreamMail| KooMail
    The bat | 雷鸟 | Eudora |Becky! |Pegasus
    IncrediMail |其它
    电子邮箱: 个人邮箱 | 企业邮箱 |Gmail
    移动电子邮件:服务器 | 客户端 | 技术前沿
    邮件网络安全:
    软件漏洞 | 安全知识 | 病毒公告 |防火墙
    攻防技术 | 病毒查杀| ISA | 数字签名
    邮件营销:
    Email营销 | 网络营销 | 营销技巧 |营销案例
    邮件人才:招聘 | 职场 | 培训 | 指南 | 职场
    解决方案:
    邮件系统|反垃圾邮件 |安全 |移动电邮 |招标
    产品评测:
    邮件系统 |反垃圾邮件 |邮箱 |安全 |客户端
    广告联系 | 合作联系 | 关于我们 | 联系我们 | 繁體中文
    版权所有:邮件技术资讯网©2003-2010 www.5dmail.net, All Rights Reserved
    www.5Dmail.net Web Team   粤ICP备05009143号