技术开发 频道

Lotus Domino/Notes 中的安全技术

    【IT168 技术文章】

    1 引言

    Lotus Domino/Notes 是世界主流的企业级通讯、协同计算和Internet/Intranet平台,在办公自动化系统研究和建设以及企业信息系统集成方面处于领先地位。它之所以在商业办公领域占据如此重要的地位。除了本身具有完善的工作流控制、强大的数据库复制技术等因素之外,另一个重要的原因就是它提供了先进可靠的安全机制。在此着重讨论一下Lotus Domino/Notes 中所采用的几种安全技术。

    2 基本的安全概念

    为了更好的说明Notes采用的安全技术的原理,这里先介绍一下基本的安全概念。

    2.1 加密算法

    基本的加密算法有两种,对称密钥加密和非对称密钥加密。用于保证通信中数据的保密性、完整性、真实性和非抵赖服务。

    <1> 对称密钥加密 在对称密钥加密方法中,对信息的加密和解密都使用相同的密钥。也就是说,一把钥匙开一把锁。最著名的对称密钥加密算法是数据加密标准(DES)。DES是一种使用56个数据位的密钥来操作64位数据块的块加密算法,可同时对大量数据进行快速加密。

    <2> 非对称密钥加密 又叫作公开密钥加密算法。在非对称加密体系中,密钥被分解为一对(即一把公开密钥或加密密钥和一把私有密钥或解密密钥)。这对密钥中的任何一把都可作为公开密钥(加密密钥)通过非保密方式向他人公开,而另一把则作为私有密钥(解密密钥)加以保存。公开密钥用于对机密性信息的加密,私有密钥则用于对加密信息的解密。私有密钥只能由生成密钥对的用户掌握,公开密钥可广泛发布,但它只对应于生成该密钥的用户。公开密钥加密技术解决了密钥的发布和管理问题,是目前商业密码的核心。使用公开密钥技术,数据通信的双方可以安全的确认对方的身份和公开密钥。非对称密钥加密算法主要有RSA、PGP等。

    2.2 报文摘要算法

    报文摘要算法(Message Digest Algorithms)即采用单向HASH算法将需要加密的明文进行摘要,而产生具有固定长度的单向散列(HASH)值,其中散列函数是将一个不同长度的报文转换成一个数字串(即报文摘要)的公式,该函数不需要密钥,公式决定了报文摘要的长度。报文摘要通常和非对称密钥加密一起,提供了数字签名的方法。MD5算法是一种常用的报文摘要算法,它采用单向Hash函数将需加密的明文"摘要"成一串128bit的密文,这一串密文亦称为数字指纹,它有固定的长度,且不同的明文摘要成密文,其结果总是不同的,而同样的明文其摘要必定一致。这样这个摘要便可成为验证明文是否是"真身"的"指纹"了。

    2.3 数字签名

    通过采用数字签名,可以确认以下两点:a. 信息是由签名者发送的。b. 信息在传输过程中未曾作过任何修改。这样数字签名就可用来防止冒用别人名义发送信息;或发出信件后又加以否认等情况发生。

    它的使用方式是: 报文的发送方从报文文本中生成一个128位的散列值(或报文摘要)。发送方用自己的专用密钥对这个散列值进行加密来形成发送方的数字签名。然后,这个数字签名将作为报文的附件和报文一起发送给报文的接收方。报文的接收方首先从接收到的原始报文中计算出128位的散列值(或报文摘要),接着再用发送方的公开密钥来对报文附加的数字签名进行解密。如果两个散列值相同,那么接收方就能确认该数字签名是发送方的并且报文在传送的过程中没有被改动。通过数字签名能够实现对原始报文的鉴别和不可抵赖性。

    2.4 数字证书

    数字证书作为网上通信双方真实身份证明的依据,是一个经证书授权中心(CA)数字签名的包含证书申请者(公开密钥的拥有者)个人信息及其公开密钥的文件。它类似于现实生活中的身份证。Notes中的验证字实际上就是一种Notes内部的数字证书。它包括:

    1) 提交验证字的验证者名称。

    2) 验证字被提交给的用户或服务器的名称。

    3) 同时存储在"Domino目录"和标识符文件中的公用密钥。Notes使用公用密钥加密发送给公用密钥所有者的消息,并且校验标识符所有者的数字签名。

    4) 验证者的数字签名。

    5) 验证字的过期日期。

    2.5 验证中心

    验证中心又称作验证字权威(Certificate Authority)。它负责证书的颁发与管理。数字证书的基本目的是将个人的姓名与公钥绑定。 CA中心实现了类似于现实生活中的身份认证过程,是发放证书的权威机构,是被公众信任的对象。证书的登记、审批、发放、废止、查询、管理等,由安全要求非常高的CA系统承担。

    3 Domino/Notes中具体的安全技术

    现在,具体讨论一下在Domino/Notes的安全体系中,所提供的四级安全措施:校验与验证、数字签名、存取控制、字段级加密。

    3.1 校验与验证

    在Notes环境中每一个Domino服务器、Notes验证者和Notes用户都拥有标识符。当注册用户和服务器时,Domino自动创建他们的标识符。标识符文件包括:

    所有者的姓名。

    永久许可证号,此编号指明其所有者是合法的,并指定所有者是否具有运行Domino或Notes的北美或国际许可证。

    至少拥有一个来自验证者标识符的Notes验证字。

    私有密钥。Notes使用私有密钥来签名其所有者发送的消息、解密发送给它的所有者的消息并且(如果标识符属于  验证者)为验证字签名。

    Internet验证字(可选)。此验证字用于保护SSL连接,并且加密和签名S/MIME邮件消息。

    一个或多个加密密钥,由用户创建并分发,以允许其他用户加密和解密文档中的域(可选)。

    口令(可选)。口令将生成密钥加密ID中的私有数据。

   

0