내보내기(0) 인쇄
모두 확장

취약한 암호화 알고리즘으로부터 보호

게시: 2013년 8월

업데이트 날짜: 2014년 4월

적용 대상: Windows 8.1, Windows Server 2012 R2



소프트웨어 업데이트는 Windows 8, Windows 7, Windows Vista, Windows Server 2012, Windows Server 2008 R2 및 취약한 알고리즘의 사용 중단을 허용하는 Windows Server 2008에 사용할 수 있습니다. Microsoft의 자동 업데이트를 취약한 암호화 알고리즘으로부터의 보호를 강화하는 수단으로 사용하려면 이러한 운영 체제를 실행하는 컴퓨터에 이 소프트웨어 업데이트를 다운로드하여 설치해야 합니다.

이 소프트웨어 업데이트는 Windows 8.1 및 Windows Server 2012 R2 운영 체제에 기본적으로 제공됩니다.

이 항목의 내용

이 소프트웨어 업데이트는 RSA 키, 해시 알고리즘 및 RSA가 아닌 비대칭 키 알고리즘 차단 방식에 대한 관리자의 제어 권한을 강화합니다. 이 소프트웨어 업데이트를 통해 관리자는 다음을 수행할 수 있습니다.

  • 운영 체제에서 제공하는 설정을 재정의하는 암호화 알고리즘을 선택적으로 차단할 수 있는 정책 정의

  • 각 정책을 개별적으로 옵트인 또는 옵트아웃

  • 다른 정책과 무관하게 정책에 따른 로깅 사용. 로깅은 기본적으로 해제됨

  • 차단된 인증서를 복사할 위치 지정

  • 알고리즘별로 정책을 설정하고, 다음 표에 설명된 대로 해시 알고리즘 정책 및 비대칭 알고리즘 정책 정의

     

    해시 알고리즘 정책

    비대칭 알고리즘 정책

    • MD5 또는 SHA1과 같은 해시 알고리즘의 이름을 정의합니다.

    • 타사 루트 CA에 연결된 인증서(엔터프라이즈 인증서 제외)에 정책을 적용할지 또는 모든 인증서에 정책을 적용할지 지정합니다.

    • 정책 확인을 사용할 시작 시간을 지정합니다(타임스탬프가 지정되어 있는 서명된 이진 파일에 사용된 코드 서명 인증서에만 적용됨).

    • 정책이 적용되는 다음과 같은 인증서 종류를 정의합니다.

      • 모든 인증서

        note참고
        모든 인증서에 정책을 사용하는 경우 관리자는 서버 인증 EKU(확장된 키 사용) 또는 코드 서명 EKU와 같은 특정 EKU에 취약한 암호화 알고리즘을 허용할 수 없습니다.

      • 서버 인증 EKU가 있는 인증서

      • 코드 서명 EKU가 있는 인증서

      • 타임스탬프 EKU가 있는 인증서

      • 정책이 웹에서 다운로드된 이진 파일의 서명 인증서에만 적용되는지 또는 모든 이진 파일에 적용되는지 지정합니다.

      • 차단되지 않는 코드 서명 및 타임스탬프 인증서(예: 기존 코드 서명 또는 타임스탬프 상황에서 사용되는 인증서)를 지정합니다. 이러한 인증서는 해당 SHA2 지문을 사용하여 식별됩니다.

    • 알고리즘 이름과 최소 키 크기(예: RSA, DSA 및 ECDSA)를 정의합니다.

    • 타사 루트 CA에 연결된 인증서(엔터프라이즈 인증서 제외)에 정책을 적용할지 또는 모든 인증서에 정책을 적용할지 지정합니다.

    • 정책 확인을 사용할 시작 시간을 지정합니다(타임스탬프가 지정된 파일에 적용).

    • 정책이 적용되는 다음과 같은 인증서 종류를 정의합니다.

      • 모든 인증서

        note참고
        모든 인증서에 정책을 사용하는 경우 관리자는 서버 인증 EKU 또는 코드 서명 EKU와 같은 특정 EKU에 취약한 암호화 알고리즘을 허용할 수 없습니다.

      • 서버 인증 EKU가 있는 인증서

      • 코드 서명 EKU가 있는 인증서

      • 타임스탬프 EKU가 있는 인증서

      • 정책이 웹에서 다운로드된 이진 파일의 서명 인증서에만 적용되는지 또는 모든 이진 파일에 적용되는지 지정합니다.

      • 차단되지 않는 코드 서명 및 타임스탬프 인증서(예: 기존 코드 서명 또는 타임스탬프 상황에서 사용되는 인증서)를 지정합니다. 이러한 인증서는 해당 SHA2 지문을 사용하여 식별됩니다.

관리자는 다음 레지스트리 키에 암호화 알고리즘 차단 정책을 설정합니다.

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Cryptography\OID\EncodingType 0\CertDllCreateCertificateChainEngine\Config

다음 명령을 사용하여 암호화 알고리즘 차단 정책 설정을 표시, 구성 및 제거할 수 있습니다.

  • certutil -getreg chain

  • certutil -setreg chain

  • certutil -delreg chain

레지스트리 항목에서는 다음 구문을 사용합니다.

Weak<CryptoAlg><ConfigType><ValueType>

다음 표에는 암호화 알고리즘 차단 정책에 대한 기본 설정을 수정하기 위해 설정할 수 있는 레지스트리 값이 나와 있습니다. <CryptoAlg>, <ConfigType><ValueType>은 모든 이름에 표시됩니다.

 

구성 옵션

가능한 값

CryptoAlg

Md5

Sha1

Rsa

Dsa

Ecdsa

ConfigType

ThirdParty: 타사 루트 아래의 인증서에만 정책이 적용됩니다.

All: 엔터프라이즈 루트 아래에 있는 인증서를 포함하여 모든 인증서에 정책이 적용됩니다.

ValueType

Flags: 해시 알고리즘을 사용하지 않거나 최소 키 길이를 사용하기 위해 설정할 수 있는 REG_DWORD 데이터 형식입니다. 자세한 내용은 다음 표를 참조하십시오.

MinBitLength: 최소 공개 키 길이(비트)를 지정하는 REG_DWORD 데이터 형식입니다.

참고: MinBitLengh는 키 알고리즘 정책에만 적용됩니다.

AfterTime: 8바이트 FILETIME을 포함하는 REG_BINARY 데이터 형식입니다. 이 시간 이전에 타임스탬프가 지정된 파일에는 취약한 암호화 알고리즘 확인이 사용되지 않습니다. 이 구성 값은 타임스탬프 체인에 적용되지 않습니다.

Sha256Allow: 명시적으로 허용할 취약한 인증서를 식별하는 인증서 SHA256 지문(ASCII_HEX 형식) 목록이 포함된 REG_SZ 또는 REG_MULTI_SZ 데이터 형식입니다. 문자열에서 ASCII_HEX가 아닌 문자는 건너뛰므로 포함된 공백이 허용됩니다.

Weak<CryptoAlg><ConfigType>Flags에서 플래그로 설정할 수 있는 REG_DWORD 값은 다음과 같습니다.

 

플래그

참고

CERT_CHAIN_ENABLE_WEAK_SETTINGS_FLAG(0x80000000)

이 플래그가 설정되지 않으면 다른 모든 플래그와 레지스트리 값이 이 Weak<CryptoAlg><ConfigType>에 대해 무시됩니다.

관리자가 Weak<CryptoAlg><ConfigType>에 대해 이 플래그를 설정한 경우에는 운영 체제에 대해 제공된 해당 설정이 무시됩니다.

이 플래그가 Weak<CryptoAlg>AllFlags에 설정된 경우

  • 결과 "Weak"<CryptoAlg>"ThirdPartyFlags"가 지정되거나 "Weak"<CryptoAlg>"AllFlags"와 함께 표시됩니다. 그러나 "Weak"<CryptoAlg>"ThirdPartyFlags" 로깅 플래그는 업데이트되지 않습니다. ThirdPartyFlags |= AllFlags & ~( CERT_CHAIN_ENABLE_WEAK_LOGGING_FLAG | CERT_CHAIN_ENABLE_ONLY_WEAK_LOGGING_FLAG);

  • 결과 "Weak<CryptoAlg>"ThirdPartyAfterTime"이 가장 빠릅니다("Weak"<CryptoAlg>"AllAfterTime", "Weak"<CryptoAlg>"ThirdPartyAfterTime").

참고: "Weak"<CryptoAlg>"AllAfterTime"이 정의되고 0이 아닌 경우에만 적용됩니다.

  • 결과 "Weak"<KeyCryptoAlg>"ThirdPartyMinBitLength"가 가장 큽니다("Weak"<KeyCryptoAlg>"AllMinBitLength", "Weak"<KeyCryptoAlg>"ThirdPartyMinBitLength").

CERT_CHAIN_ENABLE_WEAK_LOGGING_FLAG(0x00000004)

이 플래그는 CERT_CHAIN_WEAK_SIGNATURE_LOG_DIR_VALUE_NAME으로 식별되는 디렉터리에 취약한 인증서 로깅을 사용하도록 설정됩니다.

CERT_CHAIN_ENABLE_ONLY_WEAK_LOGGING_FLAG(0x00000008)

이 플래그는 CERT_CHAIN_WEAK_SIGNATURE_LOG_DIR_VALUE_NAME으로 식별되는 디렉터리에 취약한 인증서만 로깅하도록 설정됩니다. 취약한 서명 오류는 반환되지 않습니다.

취약한 서명을 사용하지 않도록 설정하거나 취약한 해시 안전 상태 검사를 사용하도록 설정하려면 위 표에 설명된 CERT_CHAIN_ENABLE_WEAK_SETTINGS_FLAG 플래그를 설정하는 것 외에 EKU에 해당하는 다음 플래그를 설정해야 합니다.

 

플래그

참고

CERT_CHAIN_DISABLE_ALL_EKU_WEAK_FLAG(0x00010000)

모든 EKU에 대해 해당 정책에 해당하는 알고리즘을 사용하지 않도록 설정합니다.

CERT_CHAIN_DISABLE_SERVER_AUTH_WEAK_FLAG(0x00100000)

서버 인증 EKU에 대해 해당 정책에 해당하는 알고리즘을 사용하지 않도록 설정합니다.

CERT_CHAIN_DISABLE_CODE_SIGNING_WEAK_FLAG(0x00400000)

코드 서명 EKU에 대해 해당 정책에 해당하는 알고리즘을 사용하지 않도록 설정합니다.

CERT_CHAIN_DISABLE_MOTW_CODE_SIGNING_WEAK_FLAG(0x00800000)

이진 파일이 웹에서 다운로드된 경우에만 코드 서명 EKU에 대해 해당 정책에 해당하는 알고리즘을 사용하지 않도록 설정합니다.

CERT_CHAIN_DISABLE_TIMESTAMP_WEAK_FLAG(0x04000000)

타임스탬프 EKU에 대해 해당 정책에 해당하는 알고리즘을 사용하지 않도록 설정합니다.

CERT_CHAIN_DISABLE_MOTW_TIMESTAMP_WEAK_FLAG(0x08000000)

이진 파일이 웹에서 다운로드된 경우에만 타임스탬프 EKU에 대해 해당 정책에 해당하는 알고리즘을 사용하지 않도록 설정합니다.

다음 절차에서는 GPUpdate를 사용하여 도메인에 가입된 모든 컴퓨터에서 레지스트리 설정을 구성하는 방법을 보여 줍니다. 자세한 내용은 레지스트리 항목 구성을 참조하십시오.

  1. 도메인 컨트롤러에서 그룹 정책 관리 편집기를 엽니다.

    1. MMC를 열고 파일, 스냅인 추가/제거를 차례로 클릭한 다음 그룹 정책 관리 편집기를 선택합니다.

      추가/제거 스냅인
    2. 추가를 클릭하여 그룹 정책 마법사를 시작합니다.

      그룹 정책 마법사
    3. 찾아보기, 기본 도메인 정책, 확인, 마침을 차례로 클릭합니다.

      기본 도메인 정책
  2. 기본 도메인 정책|컴퓨터 구성|기본 설정|Windows 설정|레지스트리를 확장합니다.

    1. 레지스트리를 마우스 오른쪽 단추로 클릭하고 새로 만들기를 클릭한 다음 레지스트리 항목을 클릭합니다.

      새 레지스트리 항목
    2. 새 레지스트리 속성에서 찾아보기를 클릭하여 필요한 키 경로를 선택합니다.

      키 경로 찾아보기
    3. 레지스트리 경로를 선택합니다. 예를 들면 다음과 같습니다.

      SOFTWARE\Microsoft\Cryptography\OID\EncodingType 0\CertDllCreateCertificateChainEngine\Config

    4. 레지스트리 값 이름이 이미 있으면 레지스트리 값도 선택합니다(예: WeakMD5ThirdPartyAfterTime).

      약한 MD5
    5. 레지스트리 항목이 새 항목이면 키 위치를 선택하고 레지스트리 값을 입력한 다음 적절한 값 형식과 필요한 데이터를 입력합니다.

      레지스트리 이름
  3. 적용, 확인을 차례로 클릭합니다. 필요한 경우 도메인에 가입된 컴퓨터에서 gpupdate /force를 실행하여 정책 설정 변경 내용을 즉시 적용합니다.

  4. AfterTime과 같은 이진 값의 경우 먼저 CertUtil 명령을 사용하거나 테스트 컴퓨터에서 값을 적용한 다음 값을 내보내고 도메인 컨트롤러로 가져옵니다.

    예를 들어 관리자가 REG_BINARY 형식의 WeakMD5ThirdPartyAfterTime을 1/1/2010과 같은 날짜에 적용해야 하는 경우 도메인 컨트롤러에서 다음 CertUtil 명령을 실행할 수 있습니다. 이 명령은 올바른 이진 값으로 레지스트리를 업데이트합니다. 레지스트리를 업데이트한 후에는 이전 단계에 따라 그룹 정책을 사용하여 동일한 값을 도메인에 가입된 컴퓨터에 적용합니다.

    Certutil -setreg chain\WeakMD5ThirdPartyAfterTime  @1/1/2010
    

다음 예에서는 타사 루트 CA 아래의 모든 SSL 서버 인증 인증서에 MD5를 사용하지 않도록 설정하되, 2009년 3월 1일 이전의 서명된 이진 파일은 허용합니다. 다른 EKU에는 적용되지 않습니다. 로깅도 사용하므로 "로깅 디렉터리 섹션 설정" 메시지가 표시됩니다.

Certutil –setreg chain\Default\WeakMd5ThirdPartyFlags 0x80100004 
Certutil –setreg chain\Default\WeakMd5ThirdPartyAfterTime @03/01/2009

다음 예에서는 타사 루트 CA 아래의 모든 타임스탬프 인증서에 RSA 1024를 사용하지 않도록 설정하되, 2013년 3월 이전의 서명된 이진 파일은 허용합니다. 다른 EKU에는 적용되지 않습니다.

Certutil –setreg chain\Default\WeakRSAThirdPartyFlags 0x84000000  
Certutil –setreg chain\Default\WeakRSAThirdPartyMinBitLength 1024 
Certutil –setreg chain\Default\WeakRSAThirdPartyAfterTime @3/1/2013


취약한 암호화 프레임워크는 관리자가 설정에 따라 취약한 것으로 간주되는 모든 인증서에 대해 로그 디렉터리를 설정할 수 있는 메커니즘을 제공합니다.

로깅을 사용하려면 관리자가 레지스트리 항목을 추가하거나 다음과 같이 취약한 암호화 설정과 함께 certutil 명령(c:\Log를 만들고 올바른 권한이 있어야 함)을 실행하여 로깅 디렉터리를 설정하면 됩니다.

Certutil -setreg chain\WeakSignatureLogDir c:\log

또는 레지스트리를 직접 업데이트합니다.

HKLM\SOFTWARE\Microsoft\Cryptography\OID\EncodingType 0\CertDllCreateCertificateChainEngine\Config\WeakSignatureLogDir

또한 모든 EKU에 취약한 암호화가 적용되고 취약한 MD5 타사 인증서가 c:\log에 로깅되는 다음 예와 같이 로깅을 사용하도록 CERT_CHAIN_ENABLE_WEAK_LOGGING_FLAG(0x00000004) 플래그를 업데이트합니다.

Certutil -setreg chain\WeakMD5ThirdPartyFlags  0x80010004

취약한 암호화 프레임워크는 체인 만들기 오류가 반환되지 않은 경우에만 관리자가 로깅할 수 있는 기능도 제공합니다. 이를 설정하려면 사용자는 CERT_CHAIN_ENABLE_ONLY_WEAK_LOGGING_FLAG(0x00000008)를 포함해야 합니다. 예를 들어 모든 EKU에 대해 감사 전용 모드를 사용하도록 설정하려면 취약한 MD5 타사 인증서에 대해 다음 명령을 실행합니다.

Certutil -setreg chain\WeakSignatureLogDir c:\log

Certutil -setreg chain\WeakMD5ThirdPartyFlags  0x80010008

이 정보가 도움이 되었습니까?
(1500자 남음)
의견을 주셔서 감사합니다.

커뮤니티 추가 항목

Microsoft는 MSDN 웹 사이트에 대한 귀하의 의견을 이해하기 위해 온라인 설문 조사를 진행하고 있습니다. 참여하도록 선택하시면 MSDN 웹 사이트에서 나가실 때 온라인 설문 조사가 표시됩니다.

참여하시겠습니까?
표시:
© 2014 Microsoft