网络安全体系结构使用行业标准接口,如 PAM、GSS-API、SASL 和 RSA Security Inc. 的 PKCS #11 加密令牌接口 (Cryptographic Token Interface, Cryptoki)。通过使用标准化的协议和接口,开发者可以编写无需随安全技术演变而进行修改的使用者和提供者。
使用安全服务的应用程序、库或内核模块称作使用者。向使用者提供安全服务的应用程序称作提供者,或称作插件。用来实现加密操作的软件称作机制。机制不只是算法,还包括算法的应用方式。例如,将 DES 算法应用于验证功能是一种机制,而将 DES 应用于逐块加密的数据保护功能是另外一种机制。
使用网络安全体系结构,使用者的开发者将不再需要编写、维护和优化加密算法。可以将经过优化的加密机制作为体系结构的一部分提供。
Oracle Solaris OS 提供了以下几个公共安全接口:
PAM-可插拔验证模块 (Pluggable authentication module)。PAM 模块主要用于系统对用户进行初始验证。用户可以通过 GUI、命令行或其他方法进入系统。除了验证服务以外,PAM 还提供用来管理帐户、会话和口令的服务。诸如 login、rlogin 和 telnet 之类的应用程序便是典型的 PAM 服务使用者。PAM SPI 服务由安全提供者(如 Kerberos v5)提供。请参见Chapter 3, Writing PAM Applications and Services。
GSS-API-通用安全服务应用编程接口 (Generic security service application program interface)。GSS-API 在对等应用程序之间提供安全通信。GSS-API 还提供验证、完整性和保密性服务。在 Oracle Solaris 中实现的 GSS-API 可以使用 Kerberos v5、SPNEGO 和 Diffie-Hellman 加密。GSS-API 主要用于设计或实现安全的应用程序协议。GSS-API 可以向其他类型的协议(如 SASL)提供服务。GSS-API 通过 SASL 来向 LDAP 提供服务。
GSS-API 通常由两个对等应用程序在最初建立了凭证之后通过网络进行通信时使用。GSS-API 由登录应用程序 NFS、ftp 在其他应用程序之间使用。
有关 GSS-API 的介绍,请参见Chapter 4, Writing Applications That Use GSS-API。Chapter 5, GSS-API Client Example和Chapter 6, GSS-API Server Example介绍了两个典型 GSS-API 应用程序的源代码。Appendix B, Sample C–Based GSS-API Programs介绍了 GSS-API 示例的代码列表。Appendix C, GSS-API Reference提供了有关 GSS-API 的参考信息。Appendix D, Specifying an OID 介绍了如何指定缺省机制之外的机制。
SASL-简单验证和安全层 (Simple authentication and security layer)。SASL 主要由协议使用,用来进行验证并提供保密性和数据完整性服务。SASL 适用于基于网络的较高级别的应用程序,这些应用程序使用动态安全协商机制来保护会话。LDAP 是 SASL 的一个众所周知的使用者。SASL 与 GSS-API 相似,但 SASL 的级别比 GSS-API 略高一些。SASL 使用 GSS-API 服务。请参见Chapter 7, Writing Applications That Use SASL。