每个机构都需要使用一种机制来记录其实体(如员工、员工所在的部门)和资产(如建 筑物、会议室和设备等)。
这种机制通常以目录的形式出现,提供机构内所有成员的联系信 息。在商业社会普及计算机之前,这些目录通常只是一些私人电话簿,并且常常是按字母顺 序排列的员工名单和他们的联系信息,但这也反映了机构的组织结构的一个侧面。
如果组织 足够大,那么其目录可能包括部门列表、大楼以及会议室的电话号码等部分。
通常,这种目 录的发布由某个人或某个小组负责,组织越大,这项任务就越艰巨。
随着传呼机、移动电话和电子邮件等电子商务工具的普及,要维护这样的目录越发困难 。
现在,员工拥有不止一个电话号码,即他们有多条联系信息。这种状况要求使用电子目录 ,以便存储各种联系信息,且其结构要相当灵活以方便维护。
基于X.500目录标准的轻量级目录访问协议(Lightweight Directory Access Protocol ,LDAP)是一种标准目录结构和协议。
LDAP提供了一种标准电子目录服务,由众多厂商实现 并为许多公司所采用。
X.500目录标准是由国际标准化组织(International Organization f or Standards,ISO)和国际电信联盟(International Telecommunication Union,ITU)合 作制定的,并于1988年公布。在X.500目录标准中,一个主要概念是目录是对象的层次结构, 此外的对象可以代表员工、资产(如设备)或其他任何实体。
另一个概念是目录以这种形式 组织,机构的各个部门只负责维护目录结构中属于自己的那部分。
与这种分散化相关的是层 次结构,它确保每个对象都有父对象负责创建和维护该对象。
这点非常重要,因为公钥可能 是与员工有关的信息之一(本章前面对此已做过讨论)。
用户和目录结构之间使用目录访问协议(DAP)进行通信。
然而,很多人指责X.500标准 及其相关的DAP协议太复杂以致难以实现。
LDAP是1995年在密歇根大学开发出来的,旨在提供 一种通过TCP/IP协议访问X.500目录的轻量级DAP版本。
LDAP很快成为事实上的电子目录标准 。
在讨论非对称加密算法时,提到了公钥的使用以及验证公钥持有者的困难。
要核实公钥的真实性和验证持有者的身份,其中一种方法是以数字证书的方式提供公钥,即由 可信的第三方验证公钥持有者的身份,并将公钥和数字证书进行绑定。
这是通过对包含持有者的身份和公钥的文档进行数字签名而实现的,但之后还需要解决的问题是如何发布证书, 即让公众获得证书。
LDAP的灵活性使其不仅可以存储数字证书及员工的其他信息,还可以用于发布组织中全 部成员的数字证书链。
LDAP协议的基础是X.500目录标准,而X.509数字证书(被SSL和S/MIM E协议广泛使用)也基于该标准,因此这两种技术可以无缝地协同使用。
每个成员的公钥(包含在数字证书中)都 由其在层次结构中的父成员签名(并审核)。
该组织的CA负责审核组织中不同分部(如华盛 顿、洛杉矶和芝加哥)的公钥,而每个分部依次负责目录结构中属于自己那的部分,其中包 括数字证书。
例如,洛杉矶分部负责维护本地区的各个部门,如市场部、IT部和人力资源部 。
这些部门的数字证书由其所属分部的CA签发,市场部负责维护本部门员工的目录结构,该部门每个员工的证书由市场部主任签发。
注意,在层次结构顶端的CA没有父节点,其数字证书由自己签名,因此是根数字证书。
根数字证书广泛分发,其公钥值是众所周知的,因此,根据该公钥值可以验证其他所有证书 。
例如,假设公司服务部成员Q.McCluskey需要发送一个安全电子邮件给政府服务部的L.G ilroy。
Q.McCluskey通过获取数字证书链来验证L.Gilroy的证书,该证书链包括L.Gilroy的 证书、政府服务部的证书、华盛顿分部的证书以及CA的根证书。
如果每个证书的签名都通过验证,那么L.Gilroy的证书就是有效的。