IKE 实现提供了采用可变密钥长度的算法。所选的密钥长度是由站点安全性确定的。通常,密钥越长,提供的安全性就越高。
以下过程使用系统名称 enigma 和 partym。请用您的系统名称替换名称 enigma 和 partym。
在系统控制台上,承担主管理员角色或成为超级用户。
主管理员角色拥有主管理员配置文件。有关如何创建该角色并将其指定给用户,请参见《系统管理指南:基本管理》中的第 2 章 “使用 Solaris Management Console(任务)”。
远程登录会使安全关键型通信易于遭到窃听。即使以某种方式保护远程登录,系统的安全性也会降至远程登录会话的安全性。请使用 ssh 命令进行安全的远程登录。
在每个系统上,将文件 /etc/inet/ike/config.sample 复制到文件 /etc/inet/ike/config。
在每个系统上的 ike/config 文件中输入规则和全局参数。
此文件中的规则和全局参数应该允许系统的 ipsecinit.conf 文件中的 IPsec 策略可以成功实施。以下是与如何使用 IPsec 保证两个系统之间的通信安全中的 ipsecinit.conf 示例配合使用的 ike/config 示例。
例如,在 enigma 系统上修改 /etc/inet/ike/config 文件:
### ike/config file on enigma, 192.168.116.16
## Global parameters
#
## Phase 1 transform defaults
p1_lifetime_secs 14400
p1_nonce_len 40
#
## Defaults that individual rules can override.
p1_xform
{ auth_method preshared oakley_group 5 auth_alg sha encr_alg des }
p2_pfs 2
#
## The rule to communicate with partym
# Label must be unique
{ label "enigma-partym"
local_addr 192.168.116.16
remote_addr 192.168.13.213
p1_xform
{ auth_method preshared oakley_group 5 auth_alg sha1 encr_alg aes }
p2_pfs 5
}
|
auth_method 参数的所有变量都必须在同一行上。
在 partym 系统上修改 /etc/inet/ike/config 文件:
### ike/config file on partym, 192.168.13.213
## Global Parameters
#
p1_lifetime_secs 14400
p1_nonce_len 40
#
p1_xform
{ auth_method preshared oakley_group 5 auth_alg sha encr_alg des }
p2_pfs 2
## The rule to communicate with enigma
# Label must be unique
{ label "partym-enigma"
local_addr 192.168.13.213
remote_addr 192.168.116.16
p1_xform
{ auth_method preshared oakley_group 5 auth_alg sha1 encr_alg aes }
p2_pfs 5
}
|
# /usr/lib/inet/in.iked -c -f /etc/inet/ike/config |
如果站点具有随机数生成器,请使用该生成器。在 Solaris 系统上,可以使用 od 命令。例如,以下命令列显两行十六进制数:
% od -X -A n /dev/random | head -2
f47cb0f4 32e14480 951095f8 2b735ba8
0a9467d0 8f92c880 68b6a40e 0efe067d
|
有关 od 命令的说明,请参见如何在 Solaris 系统上生成随机数和 od(1) 手册页。
其他操作系统可能需要 ASCII 加密材料。要以十六进制格式和 ASCII 格式生成相同的密钥,请参见示例 23–1。
利用步骤 5 的输出构造一个密钥。
f47cb0f432e14480951095f82b735ba80a9467d08f92c88068b6a40e |
此过程中的验证算法是 SHA–1,如步骤 3 所示。散列的大小(即验证算法输出的大小)确定预先共享密钥的最小建议大小。SHA–1 算法的输出是 160 位或 40 个字符。示例密钥的长度是 56 个字符,这将提供其他加密材料供 IKE 使用。
在每个系统上创建文件 /etc/inet/secret/ike.preshared。
在每个文件中放置预先共享的密钥。
例如,在 enigma 系统上,ike.preshared 文件的显示与以下信息类似:
# ike.preshared on enigma, 192.168.116.16
#…
{ localidtype IP
localid 192.168.116.16
remoteidtype IP
remoteid 192.168.13.213
# enigma and partym's shared key in hex (192 bits)
key f47cb0f432e14480951095f82b735ba80a9467d08f92c88068b6a40e
}
|
在 partym 系统上,ike.preshared 文件的显示与以下信息类似:
# ike.preshared on partym, 192.168.13.213
#…
{ localidtype IP
localid 192.168.13.213
remoteidtype IP
remoteid 192.168.116.16
# partym and enigma's shared key in hex (192 bits)
key f47cb0f432e14480951095f82b735ba80a9467d08f92c88068b6a40e
}
|
每个系统上的预先共享密钥必须完全相同。
Solaris IPsec 可与其他操作系统交互操作。如果您的系统与需要 ASCII 预先共享密钥的系统通信,则需要以两种格式(十六进制格式和 ASCII 格式)生成一个密钥。
在此示例中,Solaris 系统管理员需要 56 个字符的加密材料。该管理员使用以下命令从 ASCII 口令短语中生成十六进制的密钥。在所有 Solaris 系统中,-tx1 选项每次输出一个字节。
# /bin/echo "papiermache with cashews and\c" | od -tx1 | cut -c 8-55 | \
tr -d '\n' | tr -d ' ' | awk '{print}'
7061706965726d616368652077697468206361736865777320616e64
|
通过删除偏移和串联十六进制输出,Solaris 系统的十六进制密钥为 7061706965726d616368652077697468206361736865777320616e64。管理员可以将该值放在 Solaris 系统上的 ike.preshared 文件中。
# Shared key in hex (192 bits) key 7061706965726d616368652077697468206361736865777320616e64 |
在需要 ASCII 预先共享密钥的系统中,口令短语就是预先共享的密钥。Solaris 系统管理员使用口令短语 papiermache with cashews and 给其他管理员打电话。