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

인쇄 보기 종료

업데이트 날짜: 2014년 9월
 
 

사용 가능한 공급자 나열

하드웨어 공급자는 자동으로 검색되어 로드됩니다. 자세한 내용은 driver.conf(4) 매뉴얼 페이지를 참조하십시오.

암호화 프레임워크에 연결해야 할 하드웨어가 있을 경우 하드웨어가 커널에서 SPI에 등록됩니다. 프레임워크가 하드웨어 드라이버를 서명했는지 확인합니다. 특히, Oracle이 발행한 인증서로 드라이버의 객체 파일이 서명되었는지 검사됩니다.

예를 들어, Sun Crypto Accelerator 6000 보드(mca), UltraSPARC T1 및 T2 프로세서의 암호화 가속기용 ncp 드라이버(ncp), UltraSPARC T2 프로세서의 n2cp 드라이버(n2cp), T-Series 시스템용 /dev/crypto 드라이버가 하드웨어 방식을 프레임워크에 연결합니다.

공급자 서명 얻기에 대한 자세한 내용은 암호화 프레임워크의 사용자 레벨 명령에서 elfsign 명령에 대한 내용을 참조하십시오.

사용 가능한 공급자를 나열하려면 원하는 특정 정보에 따라 여러 옵션과 함께 cryptoadm list 명령을 사용합니다.

  • 시스템의 모든 공급자 나열

    공급자 목록의 내용 및 형식은 여러 Oracle Solaris 릴리스 및 플랫폼마다 다릅니다. 시스템에서 cryptoadm list 명령을 실행하여 시스템이 지원하는 공급자를 확인하십시오. 일반 사용자는 사용자 레벨의 방식만 직접 사용할 수 있습니다.

    % cryptoadm list
    User-level providers:  /* for applications */
    Provider: /usr/lib/security/$ISA/pkcs11_kernel.so
    Provider: /usr/lib/security/$ISA/pkcs11_softtoken.so
    Provider: /usr/lib/security/$ISA/pkcs11_tpm.so
    
    Kernel software providers:  /* for IPsec, kssl, Kerberos */
    des
    aes
    arcfour
    blowfish
    camellia
    ecc
    sha1
    sha2
    md4
    md5
    rsa
    swrand
    n2rng/0 /* for hardware */
    ncp/0
    n2cp/0
    
  • 암호화 프레임워크에서 공급자 및 해당 방식 나열

    사용 가능한 방식의 강도 및 모드(예: ECBCBC)를 볼 수 있습니다. 그러나 나열된 방식 중 일부는 사용하지 못할 수 있습니다. 사용할 수 있는 방식을 나열하는 방법에 대한 지침은 다음 항목을 참조하십시오.

    표시 목적상 다음 출력이 잘립니다.

    % cryptoadm list -m [provider=provider]
    User-level providers:
    =====================
    
    Provider: /usr/lib/security/$ISA/pkcs11_kernel.so
    
    Mechanisms:
    CKM_DSA
    CKM_RSA_X_509
    CKM_RSA_PKCS
    ...
    CKM_SHA256_HMAC_GENERAL
    CKM_SSL3_MD5_MAC
    
    Provider: /usr/lib/security/$ISA/pkcs11_softtoken.so
    Mechanisms:
    CKM_DES_CBC
    CKM_DES_CBC_PAD
    CKM_DES_ECB
    CKM_DES_KEY_GEN
    CKM_DES_MAC_GENERAL
    ...
    CKM_ECDSA_SHA1
    CKM_ECDH1_DERIVE
    
    Provider: /usr/lib/security/$ISA/pkcs11_tpm.so
    /usr/lib/security/$ISA/pkcs11_tpm.so: no slots presented.
    
    Kernel providers:
    ==========================
    des: CKM_DES_ECB,CKM_DES_CBC,CKM_DES3_ECB,CKM_DES3_CBC
    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
    arcfour: CKM_RC4
    blowfish: CKM_BLOWFISH_ECB,CKM_BLOWFISH_CBC
    ecc: CKM_EC_KEY_PAIR_GEN,CKM_ECDH1_DERIVE,CKM_ECDSA, \
         CKM_ECDSA_SHA1
    sha1: CKM_SHA_1,CKM_SHA_1_HMAC,CKM_SHA_1_HMAC_GENERAL
    sha2: CKM_SHA224,CKM_SHA224_HMAC,...CKM_SHA512_256_HMAC_GENERAL
    
    md4: CKM_MD4
    md5: CKM_MD5,CKM_MD5_HMAC,CKM_MD5_HMAC_GENERAL
    rsa: CKM_RSA_PKCS,CKM_RSA_X_509,CKM_MD5_RSA_PKCS, \
         CKM_SHA1_RSA_PKCS,CKM_SHA224_RSA_PKCS,
    CKM_SHA256_RSA_PKCS,CKM_SHA384_RSA_PKCS,CKM_SHA512_RSA_PKCS
    swrand: No mechanisms presented.
    n2rng/0: No mechanisms presented.
    ncp/0: CKM_DSA,CKM_RSA_X_509,CKM_RSA_PKCS,CKM_RSA_PKCS_KEY_PAIR_GEN,
    CKM_DH_PKCS_KEY_PAIR_GEN,CKM_DH_PKCS_DERIVE,CKM_EC_KEY_PAIR_GEN,
    CKM_ECDH1_DERIVE,CKM_ECDSA
    n2cp/0: CKM_DES_CBC,CKM_DES_CBC_PAD,CKM_DES_ECB,CKM_DES3_CBC, \
         ...CKM_SSL3_SHA1_MAC
    
  • 사용 가능한 암호화 방식 나열

    정책에 따라 사용 가능한 방식이 결정됩니다. 관리자가 정책을 설정합니다. 관리자는 특정 공급자의 방식을 사용 안함으로 설정하도록 선택할 수 있습니다. –p 옵션은 관리자가 설정한 정책에 의해 허가된 방식 목록을 표시합니다.

    % cryptoadm list -p [provider=provider]
    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.
    /usr/lib/security/$ISA/pkcs11_tpm.so: all mechanisms are enabled.
    Kernel providers:
    ==========================
    des: all mechanisms are enabled.
    aes: all mechanisms are enabled.
    arcfour: all mechanisms are enabled.
    blowfish: all mechanisms are enabled.
    ecc: all mechanisms are enabled.
    sha1: all mechanisms are enabled.
    sha2: all mechanisms are enabled.
    md4: all mechanisms are enabled.
    md5: all mechanisms are enabled.
    rsa: all mechanisms are enabled.
    swrand: random is enabled.
    n2rng/0: all mechanisms are enabled. random is enabled.
    ncp/0: all mechanisms are enabled.
    n2cp/0: all mechanisms are enabled.

다음 예에서는 cryptoadm list 명령의 구체적인 사용을 추가로 보여줍니다.

예 3-11  특정 공급자의 암호화 정보 나열

cryptoadm options 명령에 공급자를 지정하면 공급자에게 해당되는 정보로만 출력이 제한됩니다.

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

# 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 ar 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.
예 3-12  사용자 레벨 암호화 방식만 찾기

다음 예에서 사용자 레벨 라이브러리 pkcs11_softtoken이 제공하는 모든 방식이 나열됩니다.

% cryptoadm list -m provider=/usr/lib/security/\
   $ISA/pkcs11_softtoken.so
Mechanisms:
CKM_DES_CBC
CKM_DES_CBC_PAD
CKM_DES_ECB
CKM_DES_KEY_GEN
CKM_DES_MAC_GENERAL
CKM_DES_MAC
…
CKM_ECDSA
CKM_ECDSA_SHA1
CKM_ECDH1_DERIVE
예 3-13  어떤 암호화 방식이 어떤 기능을 수행하는지 확인

방식은 서명 또는 키 생성과 같은 특정 암호화 기능을 수행합니다. –v –m 옵션은 모든 방식과 해당 기능을 표시합니다.

이 경우 관리자가 CKM_ECDSA* 방식이 사용될 수 있는 기능이 무엇인지 확인할 수 있습니다.

% cryptoadm list -vm
User-level providers:
=====================
Provider: /usr/lib/security/$ISA/pkcs11_kernel.so
Number of slots: 3
Slot #2
Description: ncp/0 Crypto Accel Asym 1.0
...
CKM_ECDSA                    163  571  X  .  .  .  X  .  X  .  .  .  .  .  .  .
...

Provider: /usr/lib/security/$ISA/pkcs11_softtoken.so
...
CKM_ECDSA       112 571  .  .  .  .  X  .  X  .  .  .  .  .  .  .  .
CKM_ECDSA_SHA1  112 571  .  .  .  .  X  .  X  .  .  .  .  .  .  .  .
...
Kernel providers:
=================
...
ecc: CKM_EC_KEY_PAIR_GEN,CKM_ECDH1_DERIVE,CKM_ECDSA,CKM_ECDSA_SHA1
...

    목록에는 다음 사용자 레벨 공급자에서 제공되는 방식이 표시됩니다.

  • CKM_ECDSACKM_ECDSA_SHA1/usr/lib/security/$ISA/pkcs11_softtoken.so 라이브러리의 소프트웨어 구현

  • CKM_ECDSA/usr/lib/security/$ISA/pkcs11_kernel.so 라이브러리의 ncp/0 Crypto Accel Asym 1.0으로 가속화됨

    각 항목은 방식에 대한 정보 조각을 나타냅니다. 이러한 ECC 방식에 나타나는 목록은 다음과 같습니다.

  • 최소 길이 - 112바이트

  • 최대 길이 - 571바이트

  • 하드웨어 – 하드웨어에 사용하거나 사용할 수 없습니다.

  • 암호화 – 데이터를 암호화하는 데 사용되지 않습니다.

  • 해독 – 데이터를 해독하는 데 사용되지 않습니다.

  • 다이제스트 – 메시지 다이제스트를 만드는 데 사용되지 않습니다.

  • 서명 – 데이터를 서명하는 데 사용됩니다.

  • 서명 + 복구 – 데이터를 서명으로부터 복구할 수 있는 경우 데이터를 서명하는 데 사용되지 않습니다.

  • 확인 – 서명된 데이터를 확인하는 데 사용됩니다.

  • 확인 + 복구 – 서명으로부터 복구할 수 있는 데이터를 확인하는 데 사용되지 않습니다.

  • 키 생성 – 개인 키를 생성하는 데 사용되지 않습니다.

  • 쌍 생성 – 키 쌍을 생성하는 데 사용되지 않습니다.

  • 래핑 – 래핑하는 데 사용되지 않습니다. 즉, 기존 키를 암호화합니다.

  • 언래핑 – 래핑된 키를 언래핑하는 데 사용되지 않습니다.

  • 파생 – 기본 키로부터 새 키를 파생하는 데 사용되지 않습니다.

  • EC Caps – 이전 항목에 포함되지 않은 Absent EC 기능