라이브러리 공급자의 암호화 방식 중 일부를 사용하면 안 되는 경우 선택한 방식을 제거할 수 있습니다. 예를 들어, 다른 라이브러리에 있는 동일한 방식의 성능이 더 낫거나 보안 취약성을 조사 중인 경우 방식을 사용하지 않도록 설정할 수 있습니다.
암호화 프레임워크가 AES와 같은 여러 모드의 공급자를 제공하는 경우 느리거나 손상된 방식이 사용되지 않도록 제거할 수 있습니다. 이 절차에 따라 보안 취약성이 입증된 알고리즘을 제거할 수도 있습니다.
하드웨어 공급자에서 방식과 난수 기능을 선택적으로 사용 안함으로 설정할 수 있습니다. 다시 사용으로 설정하려면 Example 3–22를 참조하십시오. 이 예제의 하드웨어인 Sun Crypto Accelerator 1000 보드는 난수 생성기를 제공합니다.
시작하기 전에
Crypto Management 권한 프로파일이 지정된 관리자여야 합니다. 자세한 내용은 Oracle Solaris 11.2의 사용자 및 프로세스 보안 의 지정된 관리 권한 사용을 참조하십시오.
% 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_AES_CBC,CKM_AES_CBC_PAD,CKM_AES_ECB,CKM_AES_KEY_GEN, …
$ cryptoadm list -p user-level providers: ===================== … /usr/lib/security/$ISA/pkcs11_softtoken.so: all mechanisms are enabled. random is enabled. …
$ cryptoadm disable provider=/usr/lib/security/\$ISA/pkcs11_softtoken.so \ > mechanism=CKM_DES_CBC,CKM_DES_CBC_PAD,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_ECB,CKM_DES_CBC_PAD,CKM_DES_CBC. random is enabled.
다음 예에서 사용 안함으로 설정된 DES 방식을 다시 사용할 수 있도록 만듭니다.
$ 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.예 3-16 모든 사용자 레벨 소프트웨어 공급자 방식을 사용으로 설정
다음 예에서 사용자 레벨 라이브러리의 모든 방식이 사용으로 설정됩니다.
$ 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.예 3-17 영구적으로 사용자 레벨 라이브러리 제거
다음 예에서는 libpkcs11.so.1 라이브러리가 /opt 디렉토리에서 제거됩니다.
$ cryptoadm uninstall provider=/opt/lib/\$ISA/libpkcs11.so.1 $ cryptoadm list user-level providers: /usr/lib/security/$ISA/pkcs11_kernel.so /usr/lib/security/$ISA/pkcs11_softtoken.so /usr/lib/security/$ISA/pkcs11_tpm.so kernel providers: …
시작하기 전에
Crypto Management 권한 프로파일이 지정된 관리자여야 합니다. 자세한 내용은 Oracle Solaris 11.2의 사용자 및 프로세스 보안 의 지정된 관리 권한 사용을 참조하십시오.
$ cryptoadm list -m provider=aes aes: CKM_AES_ECB,CKM_AES_CBC,CKM_AES_CTR,CKM_AES_CCM,CKM_AES_GCM, CKM_AES_GMAC,CKM_AES_CFB128,CKM_AES_XTS,CKM_AES_XCBC_MAC
$ cryptoadm list -p provider=aes aes: all mechanisms are enabled.
$ cryptoadm disable provider=aes mechanism=CKM_AES_ECB
$ cryptoadm list -p provider=aes aes: all mechanisms are enabled, except CKM_AES_ECB.
다음 예에서 사용 안함으로 설정된 AES 방식을 다시 사용할 수 있도록 만듭니다.
cryptoadm list -m provider=aes aes: CKM_AES_ECB,CKM_AES_CBC,CKM_AES_CTR,CKM_AES_CCM, CKM_AES_GCM,CKM_AES_GMAC,CKM_AES_CFB128,CKM_AES_XTS,CKM_AES_XCBC_MAC $ 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.예 3-19 커널 소프트웨어 공급자 가용성을 일시적으로 제거
다음 예에서는 AES 공급자가 사용되지 않도록 일시적으로 제거합니다. 설치를 제거하는 동안 공급자가 자동으로 로드되지 못하게 하려면 unload 하위 명령이 유용합니다. 예를 들어, unload 하위 명령은 이 공급자의 방식을 수정할 때 사용할 수 있습니다.
$ cryptoadm unload provider=aes
$ cryptoadm list … Kernel software providers: des aes (inactive) arcfour blowfish ecc sha1 sha2 md4 md5 rsa swrand n2rng/0 ncp/0 n2cp/0
암호화 프레임워크를 새로 고칠 때까지 AES 공급자를 사용할 수 없습니다.
$ svcadm refresh system/cryptosvc
$ cryptoadm list … Kernel software providers: des aes arcfour blowfish camellia ecc sha1 sha2 md4 md5 rsa swrand n2rng/0 ncp/0 n2cp/0
커널 소비자가 커널 소프트웨어 공급자를 사용 중인 경우 소프트웨어가 언로드되지 않습니다. 오류 메시지가 표시되고 공급자를 계속 사용할 수 있습니다.
예 3-20 소프트웨어 공급자 가용성을 영구적으로 제거다음 예에서는 AES 공급자가 사용되지 않도록 제거합니다. 일단 제거된 AES 공급자는 커널 소프트웨어 공급자의 정책 목록에 나타나지 않습니다.
$ cryptoadm uninstall provider=aes
$ cryptoadm list … Kernel software providers: des arcfour blowfish camellia ecc sha1 sha2 md4 md5 rsa swrand n2rng/0 ncp/0 n2cp/0
커널 소비자가 커널 소프트웨어 공급자를 사용 중인 경우 오류 메시지가 표시되고 공급자를 계속 사용할 수 있습니다.
예 3-21 제거된 커널 소프트웨어 공급자 재설치다음 예에서 AES 커널 소프트웨어 공급자가 재설치됩니다. 제거된 커널 공급자를 재설치하려면 설치할 방식을 열거해야 합니다.
$ cryptoadm install provider=aes \ mechanism=CKM_AES_ECB,CKM_AES_CBC,CKM_AES_CTR,CKM_AES_CCM, CKM_AES_GCM,CKM_AES_GMAC,CKM_AES_CFB128,CKM_AES_XTS,CKM_AES_XCBC_MAC
$ cryptoadm list … Kernel software providers: des aes arcfour blowfish camellia ecc sha1 sha2 md4 md5 rsa swrand n2rng/0 ncp/0 n2cp/0
시작하기 전에
Crypto Management 권한 프로파일이 지정된 관리자여야 합니다. 자세한 내용은 Oracle Solaris 11.2의 사용자 및 프로세스 보안 의 지정된 관리 권한 사용을 참조하십시오.
하드웨어 공급자를 나열합니다.
# cryptoadm list ... Kernel hardware providers: dca/0
# cryptoadm list -m provider=dca/0 dca/0: CKM_RSA_PKCS, CKM_RSA_X_509, CKM_DSA, CKM_DES_CBC, CKM_DES3_CBC random is enabled. # cryptoadm disable provider=dca/0 mechanism=CKM_DES_CBC,CKM_DES3_CBC # cryptoadm list -p provider=dca/0 dca/0: all mechanisms are enabled except CKM_DES_CBC,CKM_DES3_CBC. random is enabled.
# cryptoadm list -p provider=dca/0 dca/0: all mechanisms are enabled. random is enabled. # cryptoadm disable provider=dca/0 random # cryptoadm list -p provider=dca/0 dca/0: all mechanisms are enabled. random is disabled.
# cryptoadm list -p provider=dca/0 dca/0: all mechanisms are enabled. random is enabled. # cryptoadm disable provider=dca/0 mechanism=all # cryptoadm list -p provider=dca/0 dca/0: all mechanisms are disabled. random is enabled.
# cryptoadm list -p provider=dca/0 dca/0: all mechanisms are enabled. random is enabled. # cryptoadm disable provider=dca/0 all # cryptoadm list -p provider=dca/0 dca/0: all mechanisms are disabled. random is disabled.
다음 예에서는 하드웨어에서 사용 안함으로 설정된 방식이 선택적으로 사용으로 설정됩니다.
# 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.
다음 예에서 난수 생성기만 사용으로 설정됩니다.
# 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.
다음 예에서 방식만 사용으로 설정됩니다. 난수 생성기는 계속 사용 안함으로 설정됩니다.
# 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.
다음 예에서 보드의 모든 기능 및 방식이 사용으로 설정됩니다.
# 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.