Cipher suite 구성

시스템 SSL/TLS는 여러 Cipher suite를 지원하는 인프라스트럭처를 가지고 있습니다.

Cipher suite는 프로그래밍 인터페이스에 각각 다른 방법으로 지정됩니다. 다음 표는 각 프로토콜 버전에 대해 시스템 SSL/TLS가 지원할 수 있는 Cipher suite 스펙을 시스템 값 형식으로 표시합니다. 각 프로토콜에 대해 지원되는 Cipher suite 스펙은 해당 열에서 "X"로 표시됩니다.

표 1. TLS 및 SSL 프로토콜에 대해 지원되는 Cipher suite 스펙
QSSLCSL 시스템 값 표시 TLSv1.2 TLSv1.1 TLSv1.0 SSLv3 SSLv2
*ECDHE_ECDSA_AES_128_GCM_SHA256 X        
*ECDHE_ECDSA_AES_256_GCM_SHA384 X        
*ECDHE_RSA_AES_128_GCM_SHA256 X        
*ECDHE_RSA_AES_256_GCM_SHA384 X        
*RSA_AES_128_GCM_SHA256 X        
*RSA_AES_256_GCM_SHA384 X        
*ECDHE_ECDSA_AES_128_CBC_SHA256 X        
*ECDHE_ECDSA_AES_256_CBC_SHA384 X        
*ECDHE_RSA_AES_128_CBC_SHA256 X        
*ECDHE_RSA_AES_256_CBC_SHA384 X        
*RSA_AES_128_CBC_SHA256 X        
*RSA_AES_128_CBC_SHA X X X    
*RSA_AES_256_CBC_SHA256 X        
*RSA_AES_256_CBC_SHA X X X    
*ECDHE_ECDSA_3DES_EDE_CBC_SHA X        
*ECDHE_RSA_3DES_EDE_CBC_SHA X        
*RSA_3DES_EDE_CBC_SHA X X X X  
*ECDHE_ECDSA_RC4_128_SHA X        
*ECDHE_RSA_RC4_128_SHA X        
*RSA_RC4_128_SHA X X X X  
*RSA_RC4_128_MD5 X X X X X
*RSA_DES_CBC_SHA   X X X  
*RSA_EXPORT_RC4_40_MD5     X X X
*RSA_EXPORT_RC2_CBC_40_MD5     X X X
*RSA_RC2_CBC_128_MD5         X
*RSA_3DES_EDE_CBC_MD5         X
*RSA_DES_CBC_MD5         X
*ECDHE_ECDSA_NULL_SHA X        
*ECDHE_RSA_NULL_SHA X        
*RSA_NULL_SHA256 X        
*RSA_NULL_SHA X X X X  
*RSA_NULL_MD5 X X X X  
변경 시작

작동할 수 있는 Cipher suite

QSSLCSL 시스템 값 설정은 시스템에서 작동할 수 있는 특정 Cipher suite를 식별합니다. 애플리케이션은 QSSLCSL에 나열된 Cipher suite만 사용하여 보안 세션을 협상할 수 있습니다. 애플리케이션이 코드 또는 구성을 통해 무엇을 수행하든 관계없이 QSSLCSL에 나열되어 있지 않으면 Cipher suite를 사용하여 보안 세션을 협상할 수 없습니다. 개별 애플리케이션 구성은 해당 애플리케이션에 사용되는 작동 가능한 Cipher suite를 판별합니다.

예를 들어, 시스템 SSL/TLS 구현을 ECDHE(Elliptic Curve Diffie-Hellman Ephemeral)만 사용하고 RSA 키 교환을 허용하지 않도록 제한하려면 다음을 수행하십시오.
  1. QSSLCSLCTL 시스템 값을 특수 값 *USRDFN으로 변경하여 QSSLCSL 시스템 값이 편집될 수 있도록 하십시오.
  2. QSSLCSL에서 ECDHE 키워드를 포함하지 않는 모든 Cipher suite를 제거하십시오.

QSSLCSLCTL 시스템 값 특수 값 *OPSYS를 사용하면 오퍼레이팅 시스템이 시스템에서 작동할 수 있는 Cipher suite를 릴리스 경계에서 변경할 수 있습니다. 시스템이 최신 오퍼레이팅 시스템 릴리스로 업그레이드될 때 QSSLCSLCTL의 값은 동일하게 유지됩니다. QSSLCSLCTL의 값이 *USRDFN인 경우 관리자는 시스템이 새 릴리스로 이동한 후 수동으로 최신 Cipher suite를 QSSLCSL에 추가해야 합니다. 또한 QSSLCSLCTL을 다시 *OPSYS에 설정하면 QSSLCSL에 새 값이 추가됩니다.

Cipher suite에 필요한 SSL/TLS 프로토콜이 QSSLPCL에 설정되어 있지 않으면 Cipher suite를 QSSLCSL에 추가할 수 없습니다.

IBM i 7.3에서 QSSLCSLCTL *OPSYS를 사용하여 작동할 수 있는 Cipher suite는 QSSLCSL 시스템 값에 표시됩니다. 이는 다음과 같습니다. 변경 시작
  • *ECDHE_ECDSA_AES_128_GCM_SHA256
  • *ECDHE_ECDSA_AES_256_GCM_SHA384
  • *ECDHE_RSA_AES_128_GCM_SHA256
  • *ECDHE_RSA_AES_256_GCM_SHA384
  • *RSA_AES_128_GCM_SHA256
  • *RSA_AES_256_GCM_SHA384
  • *ECDHE_ECDSA_AES_128_CBC_SHA256
  • *ECDHE_ECDSA_AES_256_CBC_SHA384
  • *ECDHE_RSA_AES_128_CBC_SHA256
  • *ECDHE_RSA_AES_256_CBC_SHA384
  • *RSA_AES_128_CBC_SHA256
  • *RSA_AES_128_CBC_SHA
  • *RSA_AES_256_CBC_SHA256
  • *RSA_AES_256_CBC_SHA
  • *ECDHE_ECDSA_3DES_EDE_CBC_SHA
  • *ECDHE_RSA_3DES_EDE_CBC_SHA
  • *RSA_3DES_EDE_CBC_SHA
변경 끝
경고:
변경 시작

IBM은 다음 Cipher suite를 항상 작동 불가능으로 설정하고 IBM i 서버를 실행할 것을 적극 권장합니다. IBM이 제공하는 구성 옵션을 사용하여 약한 Cipher suite를 작동할 수 있도록 설정하면 IBM i 서버는 약한 Cipher suite 리스트의 사용을 허용하도록 구성됩니다. 이 구성은 IBM i 서버를 잠재적으로 네트워크 보안이 위반되는 위험 상태로 만듭니다. 지정된 Cipher suite의 사용과 관련되어 발생하는 데이터 손실을 포함한 모든 손상이나 손실에 대해서는 IBM이 책임지지 않으며 전적으로 사용자가 책임을 지고 부담하는 것으로 간주합니다.

약한 Cipher suite(2016년 4월 현재)
  • SSL_RSA_WITH_RC4_128_SHA
  • SSL_RSA_WITH_RC4_128_MD5
  • SSL_RSA_WITH_NULL_MD5
  • SSL_RSA_WITH_NULL_SHA
  • SSL_RSA_WITH_DES_CBC_SHA
  • SSL_RSA_EXPORT_WITH_RC4_40_MD5
  • SSL_RSA_EXPORT_WITH_RC2_CBC_40_MD5
  • SSL_RSA_WITH_RC2_CBC_128_MD5
  • SSL_RSA_WITH_DES_CBC_MD5
  • SSL_RSA_WITH_3DES_EDE_CBC_MD5
  • TLS_ECDHE_ECDSA_WITH_NULL_SHA
  • TLS_ECDHE_ECDSA_WITH_RC4_128_SHA
  • TLS_ECDHE_RSA_WITH_NULL_SHA
  • TLS_ECDHE_RSA_WITH_RC4_128_SHA
변경 끝
변경 끝
변경 시작

디폴트 Cipher suite

애플리케이션이 작동할 Cipher suite를 지정하지 않는 경우 정렬된 시스템 SSL/TLS 디폴트 Cipher suite 리스트를 사용합니다. 애플리케이션은 애플리케이션 코드를 변경할 필요가 없이 이 디자인을 사용하여 향후의 새 TLS 지원을 선택합니다. 디폴트 Cipher suite 설정은 애플리케이션에 대해 작동 가능하게 할 Cipher suite를 명시적으로 지정하는 애플리케이션에 대해서는 적용되지 않습니다.

시스템의 디폴트 Cipher suite는 QSSLCSL의 작동 가능한 Cipher suite와 적합한 디폴트 Cipher suite의 교차점입니다. 적합한 디폴트 Cipher suite 리스트는 시스템 서비스 툴(SST) 확장 분석 명령 SSLCONFIG를 사용하여 구성할 수 있습니다. 디폴트 Cipher suite 리스트의 순서는 Cipher suite가 QSSLCSL 시스템 값에 나타나는 순서입니다. 순서를 변경하려면 QSSLCSL을 변경하십시오.

시스템의 디폴트 Cipher suite 리스트와 적합한 디폴트 Cipher suite 리스트의 현재 값을 판별하려면 SSLCONFIG 옵션 –display를 사용하십시오.

관리자는 애플리케이션이 피어와 성공적으로 상호 운영되도록 허용하는 다른 구성 설정이 없는 경우에만 디폴트 Cipher suite 리스트 설정을 변경하는 것을 고려해야 합니다. 이전 Cipher suite는 이를 필요로 하는 특정 애플리케이션에 대해서만 작동할 수 있게 하는 것이 좋습니다. 애플리케이션에 "애플리케이션 정의"가 있는 경우 이 작동은 디지털 인증 관리자(DCM)을 통해 수행됩니다.

경고: 디폴트 리스트에 이전 Cipher suite를 추가하면 알려진 보안 취약성에 대해 디폴트 리스트를 사용하는 모든 애플리케이션이 열립니다. 그룹 보안 PTF를 로드하면 디폴트 Cipher suite 리스트에서 Cipher suite가 제거될 수 있습니다. 보안 완화에 이 변경 유형이 포함될 때 알림을 받으려면 보안 게시판에 등록하십시오. 관리자가 보안 PTF에서 제거된 적합한 Cipher suite를 다시 추가하는 경우 시스템은 이 변경을 기억하고 다음 보안 PTF가 적용될 때 이를 다시 제거하지 않습니다.

시스템에서 디폴트 Cipher suite 리스트를 변경해야 하는 경우 SSLCONFIG 옵션 eligibleDefaultCipherSuites를 사용하여 값을 변경하십시오. SSLCONFIG 옵션은 -h는 변경된 Cipher suite 리스트를 지정하는 방법을 설명하는 도움말 패널을 표시합니다. 도움말 텍스트는 옵션에 필요한 약어 값을 포함합니다. 도움말 텍스트에 나열된 Cipher suite만 리스트에 추가할 수 있습니다.

참고: SSLCONFIG eligibleDefaultCipherSuites 설정은 라이센스가 있는 내부코드(LIC)를 설치하여 재설정할 수 있습니다.
시스템의 디폴트 값으로 ECDHE Cipher suite만 설정하는 예:
SSLCONFIG -eligibleDefaultCipherSuites:YE,YD,YC,YB,YA,Y9,Y8,Y7,Y6,Y3
최신 보안 그룹 PTF와 함께 적합한 디폴트 Cipher suite 리스트에 포함된 Cipher suite는 다음과 같습니다. 변경 시작
  • *ECDHE_ECDSA_AES_128_GCM_SHA256
  • *ECDHE_ECDSA_AES_256_GCM_SHA384
  • *ECDHE_RSA_AES_128_GCM_SHA256
  • *ECDHE_RSA_AES_256_GCM_SHA384
  • *RSA_AES_128_GCM_SHA256
  • *RSA_AES_256_GCM_SHA384
  • *ECDHE_ECDSA_AES_128_CBC_SHA256
  • *ECDHE_ECDSA_AES_256_CBC_SHA384
  • *ECDHE_RSA_AES_128_CBC_SHA256
  • *ECDHE_RSA_AES_256_CBC_SHA384
  • *RSA_AES_128_CBC_SHA256
  • *RSA_AES_128_CBC_SHA
  • *RSA_AES_256_CBC_SHA256
  • *RSA_AES_256_CBC_SHA
  • *ECDHE_ECDSA_3DES_EDE_CBC_SHA
  • *ECDHE_RSA_3DES_EDE_CBC_SHA
  • *RSA_3DES_EDE_CBC_SHA
변경 끝
변경 끝