用于签发ssl证书_SSL:不再仅用于商业

用于签发ssl证书

在Domino安静,安全和友好的土地之外,是一个充满兴奋,激动和危险的互联网世界。 Notes-to-Notes网络可以进行身份​​验证,加密并确保信任。 但是,当您连接到非Domino服务器时会发生什么? 您正在与朋友或陌生人交流吗? SSL(安全套接字层)最初是由Netscape创建的,目的是在常规HTTP传输周围添加经过证书认证的加密层。 它将很快成为保护所有Internet协议和应用程序流量的常规一级协议。 本文将帮助您了解什么是SSL,它如何与现有Domino和Notes安全协议共存,以及Domino如何实现SSL支持。

为什么SSL对Notes用户如此重要

让我们直接追逐。 如果通信仅限于Notes内部环境,Notes用户已经具有SSL无法触及的大量身份验证机制。 但是,您当天有多少邮件通信发送到非Notes服务器或从非Notes服务器接收? 如果为POP3客户端启用了SSL,则通过网络发送的所有数据(包括密码)都将被加密。 它只能由接收方读取。 如果未启用SSL,则您的邮件将以明文形式传输。 您的密码也是如此。 实际上,您作为Notes用户理所当然的身份验证和保护已完全无效。

SSL很重要,很重要。

TCP / IP,SSL和Netscape

推动互联网大获成功的简单性和灵活性则具有阴暗面。 对于有知识的黑客来说,在Internet会话中冒充个人或组织非常简单-太简单了。 严格来说,您无法确定在常规HTTP会话期间与谁或什么连接。

TCP / IP协议构成了可伸缩Internet通信的基础。 不幸的是,TCP / IP本质上是不安全的。 但是,结合使用Netscape的SSL协议和TCP / IP可以为这个以前不安全的环境提供合理的第一级安全性。

SSL可能为标准TCP / IP和HTTP会话带来的最重要功能是对服务器和客户端进行相互身份验证的能力。 通过启用SSL,您可以使用证书和数字签名在客户端和服务器之间建立信任关系。 虽然此功能长期以来一直为Notes用户所用,但它是跨TCP / IP的安全性的突破性发展。

尽管早期使用SSL以HTTP为中心,但现在SSL已用于包装许多Internet协议和应用程序。 SSL可以用于例如加密POP3客户端-服务器通信,并且可以在从服务器下载Java小程序时很快用于包装Java小程序。 Internet消息访问协议(IMAP)和轻型目录访问协议(LDAP)协议也将获得SSL支持。

换句话说,SSL应该被理解为开发人员可以实施以保护任何双向网络通信的简单,通用,有用的规范。 虽然我们将以下大部分讨论限制在服务器和客户端上,但可以将它们理解为代表在共享关键数据之前需要保证信任关系的任何两个通信实体。

SSL如何运作

SSL通过提供三种安全服务来工作,每种服务都使用公钥加密技术。

SSL的第一个也是最基本的功能是消息隐私。 SSL提供功能支持,因此应用程序可以交换和认证用户名和密码,而无需将其暴露给窃听者。 黑客可以使用IP嗅探器下载会话期间在客户端和服务器之间传递的所有数据包的副本。 然后,该信息以未加密的明文格式提供。 但是,使用SSL时,将对初始握手后的所有传输进行加密,以防止读取此类传输。

两种不同类型的加密团队共同确保消息的私密性:公钥和对称密钥加密。 使用在会话初始化期间发生的SSL握手期间协商的密钥和加密算法,对SSL服务器和SSL客户端之间的每条流量进行加密。

其次,SSL协议可确保发送方和接收方之间的消息在这两点之间不会受到任何篡改。 这样可以保持会话的完整性,并在客户端和服务器之间保持开放的安全通道。

为此,SSL服务器使用称为散列函数的特殊数学函数和共享机密的组合,以最强的可用密码对数据进行加密。 如果在会话期间数据包损坏或无法识别,我们必须假定发生了篡改。 通过不断地验证和保留消息的完整性,SSL服务器能够确保安全且连续的传输。

SSL的最后也是最重要的功能是相互身份验证。 这是客户端和服务器可以通过交换X.509证书使对等方确信其身份的过程。 服务器的身份以SSL握手期间交换的公共密钥证书的形式编码。

SSL握手

SSL旨在使其安全服务对最终用户尽可能透明。 通常,用户使用标准HTML页面链接,该链接自动连接到支持SSL的服务器。

大多数支持SSL的Web服务器在与标准HTTP请求(端口80)不同的端口(默认情况下为443)上进行SSL连接。 默认情况下,将为新兴协议分配其他端口(例如,IMAP的端口991)。 当应用程序建立端口连接时,它将启动建立SSL会话的握手。

从现在开始,将加密客户端和服务器之间的所有通信,并执行消息完整性检查,直到SSL会话断开连接为止。 在SSL会话中,握手仅发生一次。

SSL握手范围内发生了三个事件。 首先,客户端和服务器(或服务器和服务器)交换X.509证书以证明其身份。 检查证书是否过期,以及是否有受信任的第三方机构未篡改签名的证据。

在第二次握手事件期间,客户端随机生成一组密钥,用于加密消息。 这与服务器的公共密钥一起,总共创建了四个密钥,其中两个用于加密数据传输。 基本上,客户端使用从服务器接收到的公钥对密码进行加密。 然后,客户端将加密的消息发送到服务器。 服务器现在使用其私钥解密该消息。 如果一切顺利,现在可以在整个会话中使用交换的密钥,以保护数据免遭潜伏者攻击。

作为相互协商阶段的一部分,客户端和服务器确定哈希函数(用于完整性)和消息加密算法(用于加密)。 在此过程中,服务器要求浏览器提供所有可能密码的列表。 然后,服务器使用与客户端相同的最强允许密码对信息进行加密。

利用Domino架构

Domino SSL实施的关键点在于我们能够利用我们的体系结构来确保单点控制。 由于Domino网络抽象层可在所有平台之间完全移植,因此即使不同的平台与不同的网络通信方式不同,相同的简单例程也始终适用于整个平台。

相比之下,许多供应商必须在其每个产品中直接重新编码SSL例程。 因此,即使功能对于他们的用户而言是一致的,代码维护和性能也会有所不同。 SSL可能在一种产品上运行良好,而在另一种产品上崩溃。

基本上,一旦SSL握手完成,我们就已经加入了用于网络通信的发送-接收例程,以使这些例程能够识别SSL。

我们有目的地不使用钩子连接例程,因为我们可以设想一个计算世界,在此过程中,应用程序可以在连接阶段实时协商适用于给定事务的特定类型的加密。 CIA传输所需的加密级别与临时电子邮件所需的加密级别不同。

我们的方法的一个好处是它为启用单端口解决方案铺平了道路。 当前,非SSL HTTP传输需要分配端口,而SSL传输则需要分配另一个端口。 IMAP还要求另一个。 端口不可用的可能性因此增加。 如果使应用程序能够协商其端口及其加密,则可以提高安全性和安全网络连接的性能。

为Domino实施SSL

请注意,在关于SSL的Domino实现的讨论中,我们将深入描述网络API内部。 我们通过设计将大多数API暴露给Notes开发人员,但我们看不到这些例程,主要是因为它们与Notes内核紧密绑定。

实际上,考虑到它们的表达能力,这些例程非常简单。 从根本上讲,我们在用于管理Web通信的通用网络代码中添加了一个新例程(尽管它具有更长的系统名称,但我们仅将其称为ICT)。 ICT进行适当的API调用,以与远程Web服务器建立SSL对话框。

在完全初始化Web浏览器的检索过程并与远程服务器建立TCP / IP连接之后,将调用该例程。 正确建立SSL握手后,浏览器无需采取其他任何操作。

当浏览器完成与远程服务器的通信后,无需执行特殊工作即可断开SSL会话。 我们从以下SSL流程的角度对此进行描述。

实施SSL握手

更加仔细地研究SSL握手,我们在实现过程中跟踪当双方通过网络联系时本文中已经讨论的步骤。

  1. 握手过程开始。 启动服务器发送带有(可能是)有效证书的消息。 接收方客户端检查证书及其随附的数字签名的有效性。 如果一切顺利,握手将以继续进行的协议结束。 如果有些东西不正常,则通信将由接收服务器终止。
  2. 内部Notes ICT例程与每个发送操作挂钩,以对准备发送到目标的消息进行适当的加密。
  3. 对于传入的加密消息,另一个内部ICT例程会挂接到接收操作上,以执行适当的解密算法。
  4. 断开连接后,Domino会自动释放内存或其他计算资源。

证书颁发机构的作用

SSL握手管理证书和数字签名的交换。 Domino完全支持行业标准的RSA加密和CA(证书颁发机构)。

证书颁发机构的作用是增强相互信任。 用街头语言来说,他们在其他两个政党之间作为第三方站立,以验证其中一个政党没有把羊毛拉过来。 该过程如下所示:

  1. 认证中心用他们的私钥在证书(您将说您)上签名以对其进行验证。
  2. 您发给我您的证书。
  3. 我使用证书颁发机构提供给我的公钥来检查您的证书确实是由他们颁发的,并且自颁发以来它没有被更改。 当然,要做到这一点,我必须能够在由服务器管理的密钥库中找到证书颁发机构的公钥。

在许多领域中,Notes长期以来一直期待着Internet上当今的“新新闻”。 实际上,Notes验证者实际上就是在Domino环境中起作用的真正的证书颁发机构。 因此,了解Notes认证者的角色将有助于您理解以Internet为中心的认证者并与之交互。

关于自签名证书呢?

自签名证书在最近几个月已广为人知,但是它们又是什么?它们可靠吗? 自签名证书提供了一个容器,供证书颁发机构(例如VeriSign)用来分发其公钥或用作为远程系统创建的不可信证书。

放置在自签名证书中的信任级别永远不会大于传递它们的方式中的信任。 由您自己认为值得信赖的人亲自颁发给您的证书将是值得信赖的。 您从Internet上收到的未知方无法证明的证书当然是不可信的。 买者自负。 这里的权衡是在分配方便性和可靠性之间。

术语“自签名”是指授权机构本身(“我”)正在发送未经第三方证明的证书。 它对接收者说:“这是我的证书。我已颁发并亲自验证。” 在这种情况下询问信任就像进入一个无休止的循环或Abbott and Costello例程:“你是谁?” “我。” “我是谁?” “无论我说我是谁。” “好的,你说'我'是谁?” “我。” 这样吧。

实际上,自签名证书是一种方便的分发机制,用于将密钥分发给开发人员,而验证则推迟到以后。 服务器管理员可以发布它们以提供不可信的证书供服务器使用。 实际上,管理员正在告诉其使用者他们已经到达了他们所请求的服务器。

Domino现在可以颁发自签名证书。 在不久的将来,Domino将使VeriSign如今可以分发和管理这些证书成为可能。 我们希望这会增加证书颁发机构的数量,尤其是在公司内部。

毕竟,大多数公司可以通过发行自己的证书来确保内部至少具有相同的信任级别,而不必为该特权而向外部供应商付款,该特权必须在证书到期时每年更新一次。 自签名证书可能会继续存在于完整的Internet安全性和对于大多数内部操作而言“足够好”的安全性之间的灰色区域中。

Domino,SSL和Notes安全性

您现在可以在Domino服务器和客户端浏览器端(例如Web Navigator)方便地启用SSL。 有关详细信息,请查阅您的产品文档。 在不久的将来,Domino将随船提供SSL。 您将能够为一系列Internet和Intranet支持的应用程序和服务打开或关闭SSL。

我们的SSL实施不会以任何方式废除Notes特定安全性的可用性或我们的承诺。 现有的Notes网络协议保留完整的支持。 实际上,您可以并且应该继续尽可能使用Notes安全性,认证和加密模型。 有两个原因:

首先,在Domino内部环境中,Notes认证模型比SSL丰富。 我们采用了一种深层次的命名结构,该结构简化了证书的颁发和这些证书的系统验证。 为简化起见,我们在证书树内以及在树间和其他经过验证的信任链之间上下遵循信任链。 实际上,Notes维护一个语义认证网络,其中的Internet模型只是语法上的。

其次,使用ACL和其他机制,SSL绝不会影响您对应用程序访问的管理。 一旦建立了连接本身的准确性,SSL便不会影响实际访问应用程序的人员。 这很关键。 毕竟,身份验证和加密只是关键任务计算的最低条件,而不是最高条件。 在Notes环境中,我们可以打开或关闭对字段级别的访问。

因此,到目前为止,Internet安全解决方案可以看作是板载Notes安全性的一个子集,而不是其超集。 它们是至关重要的,可用的子集(毕竟,这是本文的全部重点)。 但是,它们是一个子集。 就是说,我们的SSL实施完全支持开放,Internet标准,协议和应用程序,直到它们的当前成熟阶段。 随着时间的流逝,我们期望Internet能够达到或超过当今的Notes安全库。 我们正在努力实现这一目标。

SSL版本2或3?

SSL版本3即将取代版本2。版本3并不是重大升级,但是它可以改进代码并增强SSL的可移植性。 应用程序应显着减少客户端和服务器之间的消息通信量,从而实现更快的握手。 通过增强握手终止和消息结束身份验证来调整安全可靠性。 Netscape还将V3定位为合并智能卡加密技术。

SSL V3确实增加了对几种新的密钥交换和加密算法的支持,并且还增强了其用于证书请求协议的方法。 服务器和客户端现在可以交换证书链,从而启用深度超过两个证书的层次结构。 尽管V2定义了客户证书,但由于实际的市场问题,它们并未得到太多使用。 相互认证才刚刚开始。

尽管SSL样式技术的基础工作是加密数学的先驱者早在几年前就奠定了,但Netscape必须充分认识到对关键的市场需求的认识和响应。 随着Internet安全要求变得越来越复杂,它的简单性提出了一些关于未来方向的问题。

底线:立即使用SSL

没有什么是完全免费的。 每当启用SSL时,网络都会受到适度的性能影响。 尽管如此,与28.8调制解调器连接甚至是ISDN线路的内部网格锁相比,性能下降是不可察觉的。 如果您认为人类的生活因网络而变慢,请考虑您的服务器的感受。 再考虑一下

由于对性能的影响可以忽略不计,并且连接到非Domino服务器的安全性是真实的,因此,今天应该使SSL启用Notes网络管理的补充方面。 由于我们的实现对网络进行了抽象,并提供了一个设计和管理点,因此您基本上可以免费获得跨平台和整个企业的Domino SSL保护。

妈妈总是告诉你要当心陌生人。 实施SSL将有助于Momma感觉更好,并使用户的睡眠更轻松。

版权所有 1997 Iris Associates,Inc.保留所有权利。


翻译自: https://www.ibm.com/developerworks/lotus/library/ls-SSL_basics/index.html

用于签发ssl证书

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值