Oracle® Solaris 11.2의 암호화 및 인증서 관리

인쇄 보기 종료

업데이트 날짜: 2014년 9월
 
 

방식 사용 금지

라이브러리 공급자의 암호화 방식 중 일부를 사용하면 안 되는 경우 선택한 방식을 제거할 수 있습니다. 예를 들어, 다른 라이브러리에 있는 동일한 방식의 성능이 더 낫거나 보안 취약성을 조사 중인 경우 방식을 사용하지 않도록 설정할 수 있습니다.

암호화 프레임워크가 AES와 같은 여러 모드의 공급자를 제공하는 경우 느리거나 손상된 방식이 사용되지 않도록 제거할 수 있습니다. 이 절차에 따라 보안 취약성이 입증된 알고리즘을 제거할 수도 있습니다.

하드웨어 공급자에서 방식과 난수 기능을 선택적으로 사용 안함으로 설정할 수 있습니다. 다시 사용으로 설정하려면 Example 3–22를 참조하십시오. 이 예제의 하드웨어인 Sun Crypto Accelerator 1000 보드는 난수 생성기를 제공합니다.

사용자 레벨 방식의 사용을 금지하는 방법

시작하기 전에

Crypto Management 권한 프로파일이 지정된 관리자여야 합니다. 자세한 내용은 Oracle Solaris 11.2의 사용자 및 프로세스 보안 의 지정된 관리 권한 사용을 참조하십시오.

  1. 특정 사용자 레벨 소프트웨어 공급자가 제공한 방식을 나열합니다.
    % 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,
    …
  2. 사용할 수 있는 방식을 나열합니다.
    $ cryptoadm list -p
    user-level providers:
    =====================
    …
    /usr/lib/security/$ISA/pkcs11_softtoken.so: all mechanisms are enabled.
    random is enabled.
    …
  3. 사용하면 안되는 방식을 사용 안함으로 설정합니다.
    $ cryptoadm disable provider=/usr/lib/security/\$ISA/pkcs11_softtoken.so \
    > mechanism=CKM_DES_CBC,CKM_DES_CBC_PAD,CKM_DES_ECB
  4. 사용할 수 있는 방식을 나열합니다.
    $ 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.
예 3-15  사용자 레벨 소프트웨어 공급자 방식을 사용으로 설정

다음 예에서 사용 안함으로 설정된 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의 사용자 및 프로세스 보안 의 지정된 관리 권한 사용을 참조하십시오.

  1. 특정 커널 소프트웨어 공급자가 제공한 방식을 나열합니다.
    $ 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
  2. 사용할 수 있는 방식을 나열합니다.
    $ cryptoadm list -p provider=aes
    aes: all mechanisms are enabled.
  3. 사용하면 안 되는 방식을 사용 안함으로 설정합니다.
    $ cryptoadm disable provider=aes mechanism=CKM_AES_ECB
  4. 사용할 수 있는 방식을 나열합니다.
    $ cryptoadm list -p provider=aes
    aes: all mechanisms are enabled, except CKM_AES_ECB.
예 3-18  커널 소프트웨어 공급자 방식을 사용으로 설정

다음 예에서 사용 안함으로 설정된 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.
예 3-22  하드웨어 공급자에서 방식 및 기능을 사용으로 설정

다음 예에서는 하드웨어에서 사용 안함으로 설정된 방식이 선택적으로 사용으로 설정됩니다.

# 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.