系统管理指南:安全性服务

第 13 章 Solaris 加密框架(概述)

本章介绍 SolarisTM 加密框架。以下是本章中信息的列表:

要管理和使用 Solaris 加密框架,请参见第 14 章,Solaris 加密框架(任务)

Solaris 加密框架的新增功能

Solaris 10 1/06:框架库 libpkcs11.so 包含新组件元插槽。元插槽充当一个虚拟插槽,它具有框架中安装的所有令牌和槽的组合功能。实际上,元插槽使应用程序通过单个插槽与任何可用的加密服务透明地连接。

Solaris 加密框架

Solaris 加密框架提供用于处理加密要求的算法和 PKCS #11 库的公共存储区。PKCS #11 库按照以下标准实现:RSA Security Inc. 推出的 PKCS #11 加密令牌接口 (Cryptographic Token Interface, Cryptoki)。

在内核级别,框架当前处理 Kerberos 和 IPsec 的加密要求。用户级使用者包括 libsasl 和 IKE。

美国出口法要求应限制使用开放式加密接口。Solaris 加密框架通过要求对内核加密提供器和 PKCS #11 加密提供器签名来满足当前法律规定。有关进一步介绍,请参见第三方软件的二进制文件签名

框架使加密服务的提供器可以让 Solaris 操作系统 中的许多使用者使用其服务。提供器的另外一个名称是插件。框架允许使用三种类型的插件:

框架为用户级提供器实现了标准接口 PKCS #11 v2.11 库。第三方应用程序可以使用该库来访问提供器。第三方也可以向框架中添加签名库、签名内核算法模块和签名设备驱动程序。pkgadd 实用程序安装该第三方软件时将添加这些插件。有关框架的主要组件图,请参见《Solaris 开发者安全性指南》中的第 8  章 “Solaris 加密框架介绍”

Solaris 加密框架术语

以下列出的定义和示例在使用加密框架时非常有用。

Solaris 加密框架的范围

框架为给出提供器的管理员、用户和开发者提供命令:

Solaris 加密框架中的管理命令

cryptoadm 命令管理正在运行的加密框架。该命令是加密管理权限配置文件的一部分。可以将此配置文件指定给用于安全管理加密框架的角色。cryptoadm 命令管理以下方面:

svcadm 命令用于启用、刷新和禁用加密服务守护进程 kcfd。此命令是 Solaris 服务管理工具 smf 的一部分。svc:/system/cryptosvcs 是加密框架的服务实例。有关更多信息,请参见 smf(5)svcadm(1M) 手册页。

Solaris 加密框架中的用户级命令

Solaris 加密框架提供了用于检查文件完整性、加密文件和解密文件的用户级命令。独立命令 elfsign 使提供器可以对要在框架中使用的二进制文件签名。

第三方软件的二进制文件签名

elfsign 命令提供了对要用于 Solaris 加密框架的提供器签名的方法。通常,此命令由提供器的开发者运行。

elfsign 命令具有请求 Sun 提供的证书和对二进制文件进行签名的子命令。另外一个子命令验证签名。未签名的二进制文件无法被 Solaris 加密框架使用。要对一个或多个提供器进行签名,需要 Sun 提供的证书和用于请求该证书的私钥。有关更多信息,请参见 《Solaris 开发者安全性指南》中的附录 F “打包和签署加密提供者”

Solaris 加密框架插件

第三方可以将其提供器插入到 Solaris 加密框架中。第三方提供器可以是以下对象之一:

必须使用 Sun 提供的证书对提供器对象进行签名。证书请求基于第三方选择的私钥和 Sun 提供的证书。证书请求发送到 Sun,Sun 将注册该第三方并发布证书。第三方然后使用 Sun 提供的证书对其提供器对象进行签名。

可装入的内核软件模块和硬件加速器的内核设备驱动程序也必须在内核中注册。注册通过 Solaris 加密框架 SPI(service provider interface,服务提供器接口)进行。

要安装提供器,第三方应提供用于安装签名的对象和 Sun 提供的证书的软件包。该软件包必须包括证书,并允许管理员将该证书放到安全目录中。有关更多信息,请参见 《Solaris Security for Developers Guide》《Solaris 开发者安全性指南》中的附录 F “打包和签署加密提供者”

加密服务和区域

全局区域和每个非全局的区域都有独立的 /system/cryptosvc 服务。在全局区域中启用或刷新加密服务时,kcfd 守护进程会在该全局区域中启动,全局区域的用户级策略将被设置,系统的内核策略也将被设置。在非全局区域中启用或刷新服务时,kcfd 守护进程将在该区域中启动,用户级策略将在该区域中设置。内核策略由全局区域设置。

有关区域的更多信息,请参见《系统管理指南:Solaris Containers-资源管理和 Solaris Zones》中的第 II 部分, “Zones”。有关用于管理持久性应用程序的服务管理工具的更多信息,请参见《系统管理指南:基本管理》中的第 14  章 “管理服务(概述)”smf(5) 手册页。