|
|||
1. Security Services (Overview) Part II System, File, and Device Security 2. Managing Machine Security (Overview) 3. Controlling Access to Systems (Tasks) 4. Virus Scanning Service (Tasks) 5. Controlling Access to Devices (Tasks) 6. Using the Basic Audit Reporting Tool (Tasks) 7. Controlling Access to Files (Tasks) Part III Roles, Rights Profiles, and Privileges 8. Using Roles and Privileges (Overview) 9. Using Role-Based Access Control (Tasks) 10. Role-Based Access Control (Reference) Part IV Solaris Cryptographic Services 13. Solaris Cryptographic Framework (Overview) 14. Solaris Cryptographic Framework (Tasks) Using the Cryptographic Framework (Task Map) Protecting Files With the Solaris Cryptographic Framework (Task Map) Protecting Files With the Solaris Cryptographic Framework Administering the Cryptographic Framework (Task Map) 15. Solaris Key Management Framework Part V Authentication Services and Secure Communication 16. Using Authentication Services (Tasks) 19. Using Solaris Secure Shell (Tasks) 20. Solaris Secure Shell (Reference) 21. Introduction to the Kerberos Service 22. Planning for the Kerberos Service 23. Configuring the Kerberos Service (Tasks) 24. Kerberos Error Messages and Troubleshooting 25. Administering Kerberos Principals and Policies (Tasks) 26. Using Kerberos Applications (Tasks) 27. The Kerberos Service (Reference) 28. Solaris Auditing (Overview) 29. Planning for Solaris Auditing 30. Managing Solaris Auditing (Tasks) |
Administering the Cryptographic FrameworkThis section describes how to administer the software providers and the hardware providers in the Solaris Cryptographic Framework. Software providers and hardware providers can be removed from use when desirable. For example, you can disable the implementation of an algorithm from one software provider. You can then force the system to use the algorithm from a different software provider. How to List Available ProvidersThe Solaris Cryptographic Framework provides algorithms for several types of consumers:
Example 14-19 Finding the Existing Cryptographic MechanismsIn the following example, all mechanisms that the user-level library, pkcs11_softtoken, offers are listed. % cryptoadm list -m provider=/usr/lib/security/'$ISA'/pkcs11_softtoken.so /usr/lib/security/$ISA/pkcs11_softtoken.so: CKM_DES_CBC,CKM_DES_CBC_PAD,CKM_DES_ECB,CKM_DES_KEY_GEN, CKM_DES3_CBC,CKM_DES3_CBC_PAD,CKM_DES3_ECB,CKM_DES3_KEY_GEN, … CKM_SSL3_KEY_AND_MAC_DERIVE,CKM_TLS_KEY_AND_MAC_DERIVE Example 14-20 Finding the Available Cryptographic MechanismsPolicy determines which mechanisms are available for use. The administrator sets the policy. An administrator can choose to disable mechanisms from a particular provider. The -p option displays the list of mechanisms that are permitted by the policy that the administrator has set. % cryptoadm list -p user-level providers: ===================== /usr/lib/security/$ISA/pkcs11_kernel.so: all mechanisms are enabled. random is enabled. /usr/lib/security/$ISA/pkcs11_softtoken.so: all mechanisms are enabled. random is enabled. kernel software providers: ========================== des: all mechanisms are enabled. aes: all mechanisms are enabled. blowfish: all mechanisms are enabled. arcfour: all mechanisms are enabled. sha1: all mechanisms are enabled. md5: all mechanisms are enabled. rsa: all mechanisms are enabled. swrand: random is enabled. kernel hardware providers: ========================== dca/0: all mechanisms are enabled. random is enabled. How to Add a Software Provider
Example 14-21 Adding a User-Level Software ProviderIn the following example, a signed PKCS #11 library is installed. # pkgadd -d /cdrom/cdrom0/SolarisNew Answer the prompts # svcadm refresh system/cryptosvc # cryptoadm list user-level providers: ========================== /usr/lib/security/$ISA/pkcs11_kernel.so /usr/lib/security/$ISA/pkcs11_softtoken.so /opt/SUNWconn/lib/$ISA/libpkcs11.so.1 <-- added provider Developers who are testing a library with the cryptographic framework can install the library manually. # cryptoadm install provider=/opt/SUNWconn/lib/'$ISA'/libpkcs11.so.1 How to Prevent the Use of a User-Level MechanismIf some of the cryptographic mechanisms from a library provider should not be used, you can remove selected mechanisms. This procedure uses the DES mechanisms in the pkcs11_softtoken library as an example.
Example 14-22 Enabling a User-Level Software Provider MechanismIn the following example, a disabled DES mechanism is again made available for use. $ cryptoadm list -m provider=/usr/lib/security/'$ISA'/pkcs11_softtoken.so /usr/lib/security/$ISA/pkcs11_softtoken.so: CKM_DES_CBC,CKM_DES_CBC_PAD,CKM_DES_ECB,CKM_DES_KEY_GEN, CKM_DES3_CBC,CKM_DES3_CBC_PAD,CKM_DES3_ECB,CKM_DES3_KEY_GEN, … $ cryptoadm list -p provider=/usr/lib/security/'$ISA'/pkcs11_softtoken.so /usr/lib/security/$ISA/pkcs11_softtoken.so: all mechanisms are enabled, except CKM_DES_ECB,CKM_DES_CBC_PAD,CKM_DES_CBC. random is enabled. $ cryptoadm enable provider=/usr/lib/security/'$ISA'/pkcs11_softtoken.so \ > mechanism=CKM_DES_ECB $ cryptoadm list -p provider=/usr/lib/security/'$ISA'/pkcs11_softtoken.so /usr/lib/security/$ISA/pkcs11_softtoken.so: all mechanisms are enabled, except CKM_DES_CBC_PAD,CKM_DES_CBC. random is enabled. Example 14-23 Enabling All User-Level Software Provider MechanismsIn the following example, all mechanisms from the user-level library are enabled. $ cryptoadm enable provider=/usr/lib/security/'$ISA'/pkcs11_softtoken.so all $ cryptoadm list -p provider=/usr/lib/security/'$ISA'/pkcs11_softtoken.so /usr/lib/security/$ISA/pkcs11_softtoken.so: all mechanisms are enabled. random is enabled. Example 14-24 Permanently Removing User-Level Software Provider AvailabilityIn the following example, the libpkcs11.so.1 library is removed. $ cryptoadm uninstall provider=/opt/SUNWconn/lib/'$ISA'/libpkcs11.so.1 $ cryptoadm list user-level providers: /usr/lib/security/$ISA/pkcs11_kernel.so /usr/lib/security/$ISA/pkcs11_softtoken.so kernel software providers: … How to Prevent the Use of a Kernel Software ProviderIf the cryptographic framework provides multiple modes of a provider such as AES, you might remove a slow mechanism from use, or a corrupted mechanism. This procedure uses the AES algorithm as an example.
Example 14-25 Enabling a Kernel Software Provider MechanismIn the following example, a disabled AES mechanism is again made available for use. cryptoadm list -m provider=aes aes: CKM_AES_ECB,CKM_AES_CBC $ cryptoadm list -p provider=aes aes: all mechanisms are enabled, except CKM_AES_ECB. $ cryptoadm enable provider=aes mechanism=CKM_AES_ECB $ cryptoadm list -p provider=aes aes: all mechanisms are enabled. Example 14-26 Temporarily Removing Kernel Software Provider AvailabilityIn the following example, the AES provider is temporarily removed from use. The unload subcommand is useful to prevent a provider from being loaded automatically while the provider is being uninstalled. For example, the unload subcommand would be used when installing a patch that affects the provider. $ cryptoadm unload provider=aes $ cryptoadm list ... kernel software providers: des aes (inactive) blowfish arcfour sha1 md5 rsa swrand The AES provider is unavailable until the cryptographic framework is refreshed. $ svcadm refresh system/cryptosvc $ cryptoadm list ... kernel software providers: des aes blowfish arcfour sha1 md5 rsa swrand If a kernel consumer is using the kernel software provider, the software is not unloaded. An error message is displayed and the provider continues to be available for use. Example 14-27 Permanently Removing Software Provider AvailabilityIn the following example, the AES provider is removed from use. Once removed, the AES provider does not appear in the policy listing of kernel software providers. $ cryptoadm uninstall provider=aes $ cryptoadm list … kernel software providers: des blowfish arcfour sha1 md5 rsa swrand If a kernel consumer is using the kernel software provider, an error message is displayed and the provider continues to be available for use. Example 14-28 Reinstalling a Removed Kernel Software ProviderIn the following example, the AES kernel software provider is reinstalled. $ cryptoadm install provider=aes mechanism=CKM_AES_ECB,CKM_AES_CBC $ cryptoadm list … kernel software providers: des aes blowfish arcfour sha1 md5 rsa swrand How to List Hardware ProvidersHardware providers are automatically located and loaded. For more information, see driver.conf(4) man page. Before You BeginWhen you add hardware that expects to be used within the Solaris Cryptographic Framework, the hardware registers with the SPI in the kernel. The framework checks that the hardware driver is signed. Specifically, the framework checks that the object file of the driver is signed with a certificate that Sun issues.
How to Disable Hardware Provider Mechanisms and FeaturesYou can selectively disable mechanisms and the random number feature from a hardware provider. To enable them again, see Example 14-29.
Example 14-29 Enabling Mechanisms and Features on a Hardware ProviderIn the following examples, disabled mechanisms on a piece of hardware are selectively enabled. # cryptoadm list -p provider=dca/0 dca/0: all mechanisms are enabled except CKM_DES_ECB,CKM_DES3_ECB. random is enabled. # cryptoadm enable provider=dca/0 mechanism=CKM_DES3_ECB # cryptoadm list -p provider=dca/0 dca/0: all mechanisms are enabled except CKM_DES_ECB. random is enabled. In the following example, only the random generator is enabled. # cryptoadm list -p provider=dca/0 dca/0: all mechanisms are enabled, except CKM_MD5,CKM_MD5_HMAC,…. random is disabled. # cryptoadm enable provider=dca/0 random # cryptoadm list -p provider=dca/0 dca/0: all mechanisms are enabled, except CKM_MD5,CKM_MD5_HMAC,…. random is enabled. In the following example, only the mechanisms are enabled. The random generator continues to be disabled. # cryptoadm list -p provider=dca/0 dca/0: all mechanisms are enabled, except CKM_MD5,CKM_MD5_HMAC,…. random is disabled. # cryptoadm enable provider=dca/0 mechanism=all # cryptoadm list -p provider=dca/0 dca/0: all mechanisms are enabled. random is disabled. In the following example, every feature and mechanism on the board is enabled. # cryptoadm list -p provider=dca/0 dca/0: all mechanisms are enabled, except CKM_DES_ECB,CKM_DES3_ECB. random is disabled. # cryptoadm enable provider=dca/0 all # cryptoadm list -p provider=dca/0 dca/0: all mechanisms are enabled. random is enabled. How to Refresh or Restart All Cryptographic ServicesBy default, the Solaris Cryptographic Framework is enabled. When the kcfd daemon fails for any reason, the service management facility can be used to restart cryptographic services. For more information, see the smf(5) and svcadm(1M) man pages. For the effect on zones of restarting cryptographic services, see Cryptographic Services and Zones.
Example 14-30 Refreshing Cryptographic ServicesIn the following example, cryptographic services are refreshed in the global zone. Therefore, kernel-level cryptographic policy in every non-global zone is also refreshed. # svcadm refresh system/cryptosvc |
||
|