IBM®
跳转到主要内容
    中国 [选择]    使用条款
 
 
Select a scope: Search for:    
    首页    产品    服务与解决方案     支持与下载    个性化服务    
跳转到主要内容

developerWorks 中国  >  AIX and UNIX  >

AIX 6 加密文件系统(Encrypted File System),第 4 部分:用户管理(下)

developerWorks
文档选项

未显示需要 JavaScript 的文档选项


Brad Gough, AIX 技术工程师, IBM Japan

2008 年 5 月 04 日

加密文件系统(EFS)是 AIX 6 的安全新特性之一。它实现了对单个文件的加密功能,从而提供了对文件系统更加精细地管理。本系列文章将比较详细地向您介绍这个新特性的详细内容,本文是系列文章的第 4 部分,我们将接着上半部分的内容继续向您介绍在各种用户管理功能中如何集成新的加密特性。本文是摘自 IBM 红皮书《AIX V6 Advanced Security Features Introduction and Configuration》。

您可以访问“AIX 6 资源中心”了解更多的 AIX 6 的新特性:

接受访问密钥

当在 root guard 模式中运行时,可能会提示您接受一些可能已经授予给您的访问密钥。采用 cookie 的形式将访问密钥发送到用户密钥存储库。您可以选择接受访问密钥、拒绝访问密钥、或者以后再做决定。如果您选择以后再做决定,那么在您每次打开您的密钥存储库时,都将提示您做出决定。根据您的具体操作,更新密钥存储库的内容。在示例 1 中显示了一个典型场景,在这个场景中发送了一个访问 cookie ia,如下所示:

  • 当 user1 尝试打开他或者她自己的密钥存储库时,将提示他或者她接受访问密钥。
  • user1 接受 group1 的访问密钥,拒绝 group2 的访问密钥,并且推迟对 user3 密钥存储库的访问密钥做出决定。
  • 显示密钥存储库的新内容,包括 Access cookie。

示例 1 提示用户接受访问密钥

$ id uid=214(user1) gid=1(staff) groups=206(group1),207(group2)
$ efskeymgr -v user1's EFS password:
The following operation(s) is(are) pending on your EFS keystore:
You are granted access to group/group1 keystore.
Do you want to process this action now (y), later (n:default), or never (d)?[ y / n / d ]y
You are granted access to group/group2 keystore.
Do you want to process this action now (y), later (n:default), or never (d)?[ y / n / d ]d
You are granted access to user/user3 keystore.
Do you want to process this action now (y), later (n:default), or never (d)?[ y / n / d ]n
Keystore content:
Keystore owner ............: uid 214
Keystore mode .............: guard:not managed by EFS
administrator
Password changed last on ..: 05/13/07 at 15:28:06
Private key:
Algorithm :RSA_1024
Fingerprint :55a4e75e:fe056880:8d305005:b2f817fa:3b9f2264
Validity :This key is valid.
Access key to keystore group/group1
Cookie:
Type ......: Access (grants access to)
Keystore ..: user/user3
Cookie:
Type ......: Access (grants access to)
Keystore ..: group/group2





回页首


为进程授予安全凭据

在示例 2 中,我们提供了为特定进程授予安全凭据的一个示例,如下所述:

  • 以 root 用户的身份登录系统。当前进程中没有加载任何密钥。
  • 运行 efskeymgr -o ksh 命令,以创建一个新的 Shell,并将密钥加载到这个进程中。
  • 验证在刚创建的新的 Shell 中,确实加载了密钥。

示例 2 为新的 Shell 加载密钥

# efskeymgr -V
There is no key loaded in the current process.
# efskeymgr -o ksh 
root's EFS password:
# efskeymgr -V
List of keys loaded in the current process:
Key #0:
Kind .....................User key
Id (uid / gid) ......... 0
Type .....................Private key
Algorithm ................RSA_1024
Validity .................Key is valid
Fingerprint ..............
59da6d2f:86c1295d:e6752cf5:73bde901:679ef770
Key #1:
Kind .....................Group key
Id (uid / gid) ......... 7
Type .....................Private key
Algorithm ................RSA_1024
Validity .................Key is valid
Fingerprint ..............
973bc437:3e06bf57:a17b1fec:eb815727:950894e3
Key #2:
Kind .....................Admin key
Id (uid / gid) ......... 0
Type .....................Private key
Algorithm ................RSA_1024
Validity .................Key is valid
Fingerprint ..............
32c9aff2:552a5a87:7e5bd819:e05d938e:21a077bf





回页首


导出密钥存储库的内容

在示例 3 中,我们提供了一个示例,其中采用 PKCS #12 格式导出密钥存储库,并在 OpenSSL 中对其进行导入,如下所示:

  • 使用 efskeymgr 命令将密钥存储库导出到一个文件中。将两次提示您输入密码来保护这个文件。
  • 如果您的系统中安装了 OpenSSL,那么运行它。
  • 使用 pkcs12 -in /tmp/keyfile -info -nodes 子命令,以便显示密钥存储库中所包含的信息,并且避免对私钥进行加密。

示例 3 采用 PKCS #12 格式导出密钥存储库,并使用 OpenSSL 对其进行导入

# efskeymgr -e /tmp/keyfile
Enter password for the new PKCS#12-protected file:
Enter the same password again:
# /usr/linux/bin/openssl
OpenSSL> pkcs12 -in /tmp/keyfile -info -nodes
Enter Import Password:
MAC Iteration 2000
MAC verified OK
PKCS7 Data
Certificate bag
Bag Attributes:<No Attributes>
subject=/CN=CLiC v4.0 0128D26E
issuer=/CN=CLiC v4.0 0128D26E
-----BEGIN CERTIFICATE-----
MIIBqjCCARMCBAEo0m4wCwYJKoZIhvcNAQEBMB0xGzAZBgNVBAMTEkNMaUMgdjQu
MCAwMTI4RDI2RTAeFw0wNjA1MDgwMDAwMDBaFw0xNjA1MDgwMDAwMDBaMB0xGzAZ
BgNVBAMTEkNMaUMgdjQuMCAwMTI4RDI2RTCBnzANBgkqhkiG9w0BAQEFAAOBjQAw 
gYkCgYEAqx36ny+2jrpjE5SMlz+vOtldbub6928nEOvf5IdLz9qn+V8/OdwTSokr 
zN9EnRHeflzuFMGy2Zrztd3yOlP2QJsfL3sQUT3l9Flf4NmTTTjg/ToWroduYm6O
cOoDPvxffNh4/YSN/J8JFXKGFi8U5zttObpMAQsNjiLXJbP3IfkCAwEAATANBgkq 
hkiG9w0BAQUFAAOBgQB5soW0IQbccHj5Z8im5OZmqV6GG0hrtLAD9Qo/Wdu9hzVI
uzQ7eJ3a7yVkKWNaENT8nb522fNzvEef0dm+pkzOJr0EHCQQcksvEqjv8VHFt8oo 
mTQXX5ZjyWcVG3p67LbyKHsiRWhVFp/siFAnRD9dXb6uZFNKzT3sD211pODh1Q==
-----END CERTIFICATE-----
Shrouded Keybag:pbeWithSHA1And3-KeyTripleDES-CBC, Iteration 2000
Bag Attributes:<No Attributes>
Key Attributes:<No Attributes>
-----BEGIN RSA PRIVATE KEY-----
MIICXAIBAAKBgQCrHfqfL7aOumMTlIyXP6862V1u5vr3bycQ69/kh0vP2qf5Xz85
3BNKiSvM30SdEd5+XO4UwbLZmvO13fI6U/ZAmx8vexBRPeX0WV/g2ZNNOOD9Ohau 
h25ibo5w6gM+/F982Hj9hI38nwkVcoYWLxTnO205ukwBCw2OItcls/ch+QIDAQAB
AoGABxuKLEWHlYXGwBVKAlhKAi2YKhdHB7MNZ4Wx+Y89xhGaK4taGCBSNCTeywuK
Zo8g85UO6zwhHn/HWApdhDBg8zxPLlTNx4HcbAVnE9pV+o2nuLo8nRtWKHp16Rmc 
dKw8JQZSE8BdLPRv24DXxxoJ+pj1y6pXzlwWFYoeSURbqNkCQQDWVR9dAoLrmgNB
ClLz/sSi7dTrwArgcdXkobl5UGmGh86frvpONGXjSEJhPtihZtvmVOLb4wC3nOXf 
oat4xOY9AkEAzGId6Wkzr7QS53xCm6msFwdrRLLE0pz0zinCoRgPT11mjIJIUtYK
QRuY1hFP6LSlUUPaiADUcw8zlV8iLZEibQJACfcFMUbXnWqYsiJvvuZecBDMsHVK
TCsevbWDMQ+7CEUyJxx0iMRI5GtMosbQPZjRqoDR11VTiDXkPiR/G2tUJQJBAMhY
PZ35w/KuAAHuKpTQQ6LnYN0cqBcUSFx3TxP+s7NGiSme5CpfKfochTsCCWTA/3Sj 
oOnEdny7IAOCF8y3AhkCQES0l8uLBDtGAng4SIqU/U0uogJtwaRdp+CnOG8So2WP
y9o6Hn7Q+mGOynsOiBV1mlTwVO6oAFZcU6BSQ4Ujx6c=
-----END RSA PRIVATE KEY-----
OpenSSL> quit





回页首


用户私钥

当用户密钥无法继续提供安全保障时,可以弃用或者删除这些用户密钥。我们将介绍如何从用户密钥存储库导出用户私钥。我们将深入地介绍密钥存储库的内容。

在示例 4 中,我们提供了一个示例,以说明如何创建、弃用和删除私钥,如下所示:

  • 运行 efskeymgr -v 命令,以显示当前密钥存储库的内容。它包含一个 1024 位的 RSA 密钥。
  • 使用 efskeymgr -e keyfile1 命令将密钥存储库的当前内容导出到 keyfile1 中。
  • 使用 OpenSSL 子命令 pkcs12 -in keyfile1 -info –node 验证 keyfile1 的内容。这时将显示 1024 位的 RSA 私钥。
  • 使用 efskeymgr -R RSA_2048 命令将密钥存储库私钥更改为 2048 位的 RSA 密钥。
  • 运行 efskeymgr -v 命令,以显示当前密钥存储库的内容。新的 2048 位密钥已经被激活,并且弃用了 1024 位密钥。
  • 使用 efskeymgr -e keyfile2 命令将密钥存储库的当前内容导出到 keyfile2 中。
  • 使用 OpenSSL 子命令 pkcs12 -in keyfile2 -info –nodes 验证 keyfile2 的内容。这时将显示 1024 位和 2048 位的 RSA 私钥。
  • 使用 efskeymgr -R RSA_4096 命令将密钥存储库私钥更改为 4096 位的 RSA 密钥。
  • 运行 efskeymgr -v 命令,以显示当前密钥存储库的内容。新的 4096 位密钥已经被激活,并且弃用了 2048 位密钥。
  • 使用 efskeymgr -e keyfile3 命令将密钥存储库的当前内容导出到 keyfile3 中。
  • 使用 OpenSSL 命令 pkcs12 -in keyfile3 -info –nodes 验证 keyfile3 的内容。这时将显示三个密钥。两个已弃用的密钥也都将显示。
  • 使用 efskeymgr –D 3661bf34:530116eb:1861a3eb:0cf71b91:91ca25e9 命令删除 2048 位密钥。
  • 运行 efskeymgr -v 命令,以显示当前密钥存储库的内容。已经删除了新的 2048 位密钥。
  • 使用 efskeymgr -e keyfile4 命令将密钥存储库的当前内容导出到 keyfile4 中。
  • 使用 OpenSSL 子命令 pkcs12 -in keyfile4 -info –nodes 验证 keyfile4 的内容。已经删除了新的 2048 位密钥。

示例 4 创建、弃用和删除私有 RSA 密钥

# efskeymgr -v
Keystore content:
Keystore owner ............: uid 0
Keystore mode .............: admin:managed by EFS administrator
Password changed last on ..: 04/18/07 at 04:08:43
Private key:
Algorithm :RSA_1024
Fingerprint :47dab395:99d8aa70:82659beb:700a4a6e:e232c8e4
Validity :This key is valid.
Access key to keystore group/security
Access key to keystore admin/
# efskeymgr -e keyfile1
Enter password for the new PKCS#12-protected file:
Enter the same password again:
OpenSSL> pkcs12 -in keyfile1 -info -nodes
Enter Import Password:
MAC Iteration 2000
MAC verified OK
PKCS7 Data
Certificate bag
Bag Attributes:<No Attributes>
subject=/CN=CLiC v4.0 4613EBC8
issuer=/CN=CLiC v4.0 4613EBC8
-----BEGIN CERTIFICATE-----
MIIBqjCCARMCBEYT68gwCwYJKoZIhvcNAQEBMB0xGzAZBgNVBAMTEkNMaUMgdjQu
MCA0NjEzRUJDODAeFw0wNjA1MDgwMDAwMDBaFw0xNjA1MDgwMDAwMDBaMB0xGzAZ
BgNVBAMTEkNMaUMgdjQuMCA0NjEzRUJDODCBnzANBgkqhkiG9w0BAQEFAAOBjQAw 
gYkCgYEAvMey0sd1hh8YdoExhATlSR9KQP61zOQGQgp2c5aU97N30rxCqpwAcm6L
dE4yzOl9WsQWRg8yJqkzE3J9G2547aq2vNxRuo/zgM5YZnK1JAnRZyZO0NGDooVf 
sb782Q9jL9n8sudFzEpIQ9jb68+kn7maXCGMHFImEnZjv3YGt0sCAwEAATANBgkq 
hkiG9w0BAQUFAAOBgQAhFp2ujXe9la4/9c25loqONgBot8kiJoH70BuXRC8UexoP
w0Ip3Q17m8nyW3ymGcyfXtOUu2eC5NLWpr3W6orhr/ffwEVYJ6f7r5b4ADwBeHUL
3xYcQ4wnn/cO8E9NugmBM9ix5IyxPgZsy4VeN0sKY5YvtkNsWFX3vCqOUMA+Ig==
-----END CERTIFICATE-----
Shrouded Keybag:pbeWithSHA1And3-KeyTripleDES-CBC, Iteration 2000
Bag Attributes:<No Attributes>
Key Attributes:<No Attributes>
-----BEGIN RSA PRIVATE KEY-----
MIICXQIBAAKBgQC8x7LSx3WGHxh2gTGEBOVJH0pA/rXM5AZCCnZzlpT3s3fSvEKq 
nABybot0TjLM6X1axBZGDzImqTMTcn0bbnjtqra83FG6j/OAzlhmcrUkCdFnJk7Q
0YOihV+xvvzZD2Mv2fyy50XMSkhD2Nvrz6SfuZpcIYwcUiYSdmO/dga3SwIDAQAB
AoGAHJ7KtyxYiSQiEXv7wE/9B616lJ5T0gOItAQhujDMVpNlvqlzvVRCYxbsWzks 
eCbhWNydTd4plHVBfO4gwS2/SnHGwnQwO6LcVgkqONSDqbf2yTJGBUDUwmZOq0xp
HPrFsl99VzrJM+/pgEQcqEbdwc7l82NgCBcuPYtNpNSKL9ECQQD6X5os5wTbWdzo 
ukQlWTmKWpdn3K+muDwIwy2oGesSY2G24i5IZcrrsX5gzUlSI4Z22zG9m1JnaItC
/b44Tl9bAkEAwQW/8OG4Vd216ULbLNoasoA1GVGfIiVJCzqzEO2nt19bQwwNwwrt 
zmzJVczCi8cEWSFQxbe/3geOAYiNfoT60QJBAO+1/IylGndQ0DpZq8j+ZiLanT8p 
gVrj5UaWZ+4b8n6GfBV2880I+IE0TMUthteHf8PoFPVt8jVjWIHpIugR0SUCQBUp
XTa6eGwph3UQWFkdfEnPloK1GR40OkLZ56HWfEm1UZsTKjsU6qdz88rNTRLn+ckP
xvw2PfnImEAAyYpyZ9ECQQDSx4/ZF2/Uk/l0Be5SOBkYKKDnVrioXBjLqn161ERa
8ABuiz3EeI5knBx/sd8FVhNF+Izka5qcA4rd7XYvar1s
-----END RSA PRIVATE KEY-----
# efskeymgr -R RSA_2048
# efskeymgr -v
Keystore content:
Keystore owner ............: uid 0
Keystore mode .............: admin:managed by EFS administrator
Password changed last on ..: 04/18/07 at 04:08:43
Private key:
Algorithm :RSA_2048
Fingerprint :3661bf34:530116eb:1861a3eb:0cf71b91:91ca25e9
Validity :This key is valid.
Private key:
Algorithm :RSA_1024
Fingerprint :47dab395:99d8aa70:82659beb:700a4a6e:e232c8e4
Validity :This key was deprecated on 04/20/07 at 07:35:45.
Access key to keystore group/security
Access key to keystore admin/
# efskeymgr -e keyfile2
Enter password for the new PKCS#12-protected file:
Enter the same password again:
OpenSSL> pkcs12 -in keyfile2 -info -nodes
Enter Import Password:
MAC Iteration 2000
MAC verified OK
PKCS7 Data
Certificate bag
Bag Attributes:<No Attributes>
subject=/CN=CLiC v4.0 7F14828C
issuer=/CN=CLiC v4.0 7F14828C
-----BEGIN CERTIFICATE-----
MIICrzCCAZcCBH8UgowwCwYJKoZIhvcNAQEBMB0xGzAZBgNVBAMTEkNMaUMgdjQu
...
...
...
buDin1FTUmyt6cQ0eAnfaO8FMQ==
-----END CERTIFICATE-----
Shrouded Keybag:pbeWithSHA1And3-KeyTripleDES-CBC, Iteration 2000
Bag Attributes:<No Attributes>
Key Attributes:<No Attributes>
-----BEGIN RSA PRIVATE KEY-----
MIICXQIBAAKBgQC8x7LSx3WGHxh2gTGEBOVJH0pA/rXM5AZCCnZzlpT3s3fSvEKq
...
...
...
8ABuiz3EeI5knBx/sd8FVhNF+Izka5qcA4rd7XYvar1s
-----END RSA PRIVATE KEY-----
Shrouded Keybag:pbeWithSHA1And3-KeyTripleDES-CBC, Iteration 2000
Bag Attributes:<No Attributes>
Key Attributes:<No Attributes>
-----BEGIN RSA PRIVATE KEY-----
MIIEowIBAAKCAQEApPRiwrebZ0ZNKEuxh8obBsmIYO/JLOLCRNCaJN3Xnw+SDhs1
...
...
...
C6t2lfrwq1aq2iZ6pkO4jpk7dsbeuUDHLoQIzZB3HVRrVhXfu/Ag
-----END RSA PRIVATE KEY-----
# efskeymgr -v
Keystore content:
Keystore owner ............: uid 0
Keystore mode .............: admin:managed by EFS administrator
Password changed last on ..: 04/18/07 at 04:08:43
Private key:
Algorithm :RSA_4096
Fingerprint :f961c000:8305d1ba:65a72c48:eeafde52:b954bf78
Validity :This key is valid.
Private key:
Algorithm :RSA_2048
Fingerprint :3661bf34:530116eb:1861a3eb:0cf71b91:91ca25e9
Validity :This key was deprecated on 04/20/07 at 08:08:44.
Private key:
Algorithm :RSA_1024
Fingerprint :47dab395:99d8aa70:82659beb:700a4a6e:e232c8e4
Validity :This key was deprecated on 04/20/07 at 07:35:45.
Access key to keystore group/security
Access key to keystore admin/
# efskeymgr -e keyfile3
Enter password for the new PKCS#12-protected file:
Enter the same password again:
#
OpenSSL> pkcs12 -in keyfile3 -info -nodes
Enter Import Password:
MAC Iteration 2000
MAC verified OK
PKCS7 Data
Certificate bag
Bag Attributes:<No Attributes>
subject=/CN=CLiC v4.0 17162B54
issuer=/CN=CLiC v4.0 17162B54
-----BEGIN CERTIFICATE-----
MIIErzCCApcCBBcWK1QwCwYJKoZIhvcNAQEBMB0xGzAZBgNVBAMTEkNMaUMgdjQu
...
...
...
rPpS/9ZtxfujJSjjIAQrNKjoHhewrBB0gq2JZ37PU+BB/TOmjWOd0DX4q5QJOcXG
TUk7
-----END CERTIFICATE-----
Shrouded Keybag:pbeWithSHA1And3-KeyTripleDES-CBC, Iteration 2000
Bag Attributes:<No Attributes>
Key Attributes:<No Attributes>
-----BEGIN RSA PRIVATE KEY-----
MIICXQIBAAKBgQC8x7LSx3WGHxh2gTGEBOVJH0pA/rXM5AZCCnZzlpT3s3fSvEKq
...
...
...
8ABuiz3EeI5knBx/sd8FVhNF+Izka5qcA4rd7XYvar1s
-----END RSA PRIVATE KEY-----
Shrouded Keybag:pbeWithSHA1And3-KeyTripleDES-CBC, Iteration 2000
Bag Attributes:<No Attributes>
Key Attributes:<No Attributes>
-----BEGIN RSA PRIVATE KEY-----
MIIEowIBAAKCAQEApPRiwrebZ0ZNKEuxh8obBsmIYO/JLOLCRNCaJN3Xnw+SDhs1
...
...
...
C6t2lfrwq1aq2iZ6pkO4jpk7dsbeuUDHLoQIzZB3HVRrVhXfu/Ag
-----END RSA PRIVATE KEY-----
Shrouded Keybag:pbeWithSHA1And3-KeyTripleDES-CBC, Iteration 2000
Bag Attributes:<No Attributes>
Key Attributes:<No Attributes>
-----BEGIN RSA PRIVATE KEY-----
MIIJKAIBAAKCAgEA6qo7cNWI2bkLfbqYl0SYzXD/XtFdQHGjuk+EBnEyenSj7cq7
...
...
...
86HBQ9Fgee+TkzDEj+ojwaZAyrH1G5oTmfaP2AlvHk8gBTPsOJuZjN2AXfE=
-----END RSA PRIVATE KEY-----
# efskeymgr -D 3661bf34:530116eb:1861a3eb:0cf71b91:91ca25e9
# efskeymgr -v
Keystore content:
Keystore owner ............: uid 0
Keystore mode .............: admin:managed by EFS administrator
Password changed last on ..: 04/18/07 at 04:08:43
Private key:
Algorithm :RSA_4096
Fingerprint :f961c000:8305d1ba:65a72c48:eeafde52:b954bf78
Validity :This key is valid.
Private key:
Algorithm :RSA_1024
Fingerprint :47dab395:99d8aa70:82659beb:700a4a6e:e232c8e4
Validity :This key was deprecated on 04/20/07 at 07:35:45.
Access key to keystore group/security
Access key to keystore admin/
#
# efskeymgr -e keyfile4
Enter password for the new PKCS#12-protected file:
Enter the same password again:
#
OpenSSL> pkcs12 -in keyfile4 -info -nodes
Enter Import Password:
MAC Iteration 2000
MAC verified OK
PKCS7 Data
Certificate bag
Bag Attributes:<No Attributes>
subject=/CN=CLiC v4.0 17162B54
issuer=/CN=CLiC v4.0 17162B54
-----BEGIN CERTIFICATE-----
MIIErzCCApcCBBcWK1QwCwYJKoZIhvcNAQEBMB0xGzAZBgNVBAMTEkNMaUMgdjQu
...
...
...
rPpS/9ZtxfujJSjjIAQrNKjoHhewrBB0gq2JZ37PU+BB/TOmjWOd0DX4q5QJOcXG
TUk7
-----END CERTIFICATE-----
Shrouded Keybag:pbeWithSHA1And3-KeyTripleDES-CBC, Iteration 2000
Bag Attributes:<No Attributes>
Key Attributes:<No Attributes>
-----BEGIN RSA PRIVATE KEY-----
MIICXQIBAAKBgQC8x7LSx3WGHxh2gTGEBOVJH0pA/rXM5AZCCnZzlpT3s3fSvEKq
...
...
...
8ABuiz3EeI5knBx/sd8FVhNF+Izka5qcA4rd7XYvar1s
-----END RSA PRIVATE KEY-----
Shrouded Keybag:pbeWithSHA1And3-KeyTripleDES-CBC, Iteration 2000
Bag Attributes:<No Attributes>
Key Attributes:<No Attributes>
-----BEGIN RSA PRIVATE KEY-----
MIIJKAIBAAKCAgEA6qo7cNWI2bkLfbqYl0SYzXD/XtFdQHGjuk+EBnEyenSj7cq7
...
...
...
86HBQ9Fgee+TkzDEj+ojwaZAyrH1G5oTmfaP2AlvHk8gBTPsOJuZjN2AXfE=
-----END RSA PRIVATE KEY-----





回页首


用户公钥

查找用户公钥同样是非常重要的,特别是当您希望在证书基础架构中集成用户密钥的时候。

在示例 5 中,我们提供了一个示例,其中说明了如何查找公钥的值,如下所示:

  • 使用 efskeymgr -e keyfile 命令将密钥存储库的当前内容导出到 keyfile 中。
  • 使用命令 openssl pkcs12 -in keyfile -nodes -out file1 导出 keyfile 的内容。
  • 使用 cat file1 命令显示 file1 的内容。
  • 编辑 file1 以删除私有包,并且只留下公共包的内容。公钥包含在证书中。在编辑 file1 之后,我们显示了其中的内容。
  • 使用 openssl x509 -in file1 -pubkey -noout 命令显示公钥。

示例 5 显示 RSA 公钥

# efskeymgr -e keyfile
Enter password for the new PKCS#12-protected file:
Enter the same password again:
# openssl pkcs12 -in keyfile -nodes -out file1
# cat file1
Bag Attributes:<No Attributes>
subject=/CN=CLiC v4.0 7CB79796
issuer=/CN=CLiC v4.0 7CB79796
-----BEGIN CERTIFICATE-----
MIICrzCCAZcCBHy3l5YwCwYJKoZIhvcNAQEBMB0xGzAZBgNVBAMTEkNMaUMgdjQu
...
...
...
9CNCyS0PidTe6gHrmqzC5ZvQsA==
-----END CERTIFICATE-----
Bag Attributes:<No Attributes>
Key Attributes:<No Attributes>
-----BEGIN RSA PRIVATE KEY-----
MIIEpAIBAAKCAQEAy0h8jo9zxRM0mPkZ8AcFQJ6Pt+3CwFcMkSF4eyKgfJ02Odt4
...
...
...
czd1J5qwVKDZf6BMkOByAysrG42c5xDg/SpaYSj/f0ZOS9wfNERVGA==
-----END RSA PRIVATE KEY-----
# cat file1
subject=/CN=CLiC v4.0 7CB79796
issuer=/CN=CLiC v4.0 7CB79796
-----BEGIN CERTIFICATE-----
MIICrzCCAZcCBHy3l5YwCwYJKoZIhvcNAQEBMB0xGzAZBgNVBAMTEkNMaUMgdjQu
...
...
...
9CNCyS0PidTe6gHrmqzC5ZvQsA==
-----END CERTIFICATE-----
# openssl x509 -in file1 -pubkey -noout
-----BEGIN PUBLIC KEY-----
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAy0h8jo9zxRM0mPkZ8AcF
QJ6Pt+3CwFcMkSF4eyKgfJ02Odt4N9QrwktbQryPtLHL9ZnH8NCvAyt8cGCsiVT2
Q27s9juuMe+LVO/nwRmk1mpBdNajhqA50YVDwY68hJSFbNG0vn61yV7HrpQsMRK0
GdAGYC7DRBQF0hS2me8qVUmymFpGVz3ApbwoN7bKLQna55K+ykgS1bw9tAa5U9yS
uC7wfN9QCjJtfrnhqgQo5BzT5loXXZJ1mI77lmWzZ0Zt1WOgi0ssZ7zLg1ZC8t97
2jIHKDPo1VoNRpUYh78ykJmO9FujIwg9cbiCHCxjvko1zY04xp9ZGAd1elwM0KHt wQIDAQAB
-----END PUBLIC KEY-----





回页首


已弃用的密钥的重要性

要获得对文件的访问权限,私钥是至关重要的。私钥用于对创建文件时使用用户公钥进行加密的文件对称密钥进行解密。通过这种方式,用户将获得对称加密密钥,并且可以访问文件中的数据。

示例 6 中的场景显示了这种情况,如下所示:

  • efsmgr -l 命令显示了可以访问该文件的密钥。
  • 用户密钥存储库中包含可以访问该文件的密钥,并且正如 efskeymgr -v 命令所显示的,该密钥是有效的。
  • 用户使用 efskeymgr -R 命令更改他的或者她的私钥。
  • 刚生成的密钥,以及旧的密钥都存储在用户密钥存储库中。旧的密钥被标记为已弃用。
  • 尽管已弃用了旧的密钥,但仍然可以使用它获得对文件的访问权限。
  • efskeymgr -V 命令显示,当前 Shell 中仍然加载了旧的密钥,并且没有自动地加载新的密钥。
  • 用户使用 efskeymgr -D 命令删除已弃用的密钥,并且使用 efskeymgr -v 命令,确认已经从密钥存储库中删除了旧的密钥。
  • 执行 efskeymgr -o ksh 命令加载密钥存储库的内容。
  • efskeymgr -V 命令显示,只有新的密钥可供使用。已经删除了旧的密钥。
  • 因为没有适当的密钥,所以用户不能再访问此文件了。

示例 6 使用已弃用的密钥来访问旧文件

$ efsmgr -l file
EFS File information:
Algorithm:AES_128_CBC
List of keys that can open the file:
Key #1:
Algorithm :RSA_1024
Who :uid 205
Key fingerprint :30412121:e5a7b90d:dba7dd19:2c45b1e0:c331c09f
$ efskeymgr -v
Keystore content:
Keystore owner ............: uid 205
Keystore mode .............: admin:managed by EFS administrator
Password changed last on ..: 05/10/07 at 09:41:20
Private key:
Algorithm :RSA_1024
Fingerprint :30412121:e5a7b90d:dba7dd19:2c45b1e0:c331c09f
Validity :This key is valid.
$ efskeymgr -R RSA_1024
$ efskeymgr -v user3's EFS password:
Keystore content:
Keystore owner ............: uid 205
Keystore mode .............: admin:managed by EFS administrator
Password changed last on ..: 05/10/07 at 09:41:20
Private key:
Algorithm :RSA_1024
Fingerprint :44b0c7e1:53384985:ca1be27e:864b9431:3a57c0d1
Validity :This key is valid.
Private key:
Algorithm :RSA_1024
Fingerprint :30412121:e5a7b90d:dba7dd19:2c45b1e0:c331c09f
Validity :This key was deprecated on 05/10/07 at 19:24:35.
$ cat file data in encrypted file
$ efskeymgr -V
List of keys loaded in the current process:
Key #0:
Kind .....................User key
Id (uid / gid) ......... 205
Type .....................Private key
Algorithm ................RSA_1024
Validity .................Key is valid
Fingerprint ..............
30412121:e5a7b90d:dba7dd19:2c45b1e0:c331c09f
$ efskeymgr -D 30412121:e5a7b90d:dba7dd19:2c45b1e0:c331c09f user3's EFS password:
$ efskeymgr -v
Keystore content:
Keystore owner ............: uid 205
Keystore mode .............: admin:managed by EFS administrator
Password changed last on ..: 05/10/07 at 09:41:20
Private key:
Algorithm :RSA_1024
Fingerprint :44b0c7e1:53384985:ca1be27e:864b9431:3a57c0d1
Validity :This key is valid.
$ efskeymgr -o ksh user3's EFS password:
$ k
$ efskeymgr -V
List of keys loaded in the current process:
Key #0:
Kind .....................User key
Id (uid / gid) ......... 205
Type .....................Private key
Algorithm ................RSA_1024
Validity .................Key is valid
Fingerprint ..............
44b0c7e1:53384985:ca1be27e:864b9431:3a57c0d1
$ cat file cat:0652-050 Cannot open file.



参考资料

学习

讨论


关于作者

Brad Gough 是 IBM 悉尼全球服务部门的一名 AIX 技术工程师,他从1987年进入 IBM,最开是一名 RS/6000 的硬件工程师,2000年他转做 AIX 的支持工作,主要擅长于AIX,NIM和HACMP。他目前主要负责澳大利亚和新西兰地区的 P 系列主机的安装以及实施工作。他拥有多个 IBM 的 P 系列认证。




对本文的评价










回页首


IBM 和 AIX 是 International Business Machines Corporation 在美国和/或其他国家/地区的注册商标。 Java 和所有基于 Java 的商标都是 Sun Microsystems, Inc. 在美国和/或其他国家/地区的商标。 UNIX 是 Open Group 在美国和其他国家/地区的注册商标。 其他公司、产品或服务的名称可能是其他公司的商标或服务标志。

IBM 公司保留在 developerWorks 网站上发表的内容的著作权。未经IBM公司或原始作者的书面明确许可,请勿转载。如果您希望转载,请通过 提交转载请求表单 联系我们的编辑团队。
    关于 IBM 隐私条约 联系 IBM 使用条款