none
Microsoft 루트 인증 프로그램의 SHA-1 해싱 알고리즘 사용 중단 관련 문의 RRS feed

  • 질문

  • 안녕하세요.

    저는 ActiveX 를 개발하고 있으며 CodeSign 서명하여 웹에서 배포하고 있습니다.

    이번 MS 보안 권고에 따라 SHA-1 인증서(구버전)를 SHA-2(신버전) 로 변경하여 배포를 하고 있습니다.

    https://technet.microsoft.com/ko-kr/library/security/2880823.aspx 

    내년 2016년 1월 1일 이후로

    인증서 검증 작업이 ActiveX의 설치시에만 적용이 되는건지? 

    IE브라우저에서 ActiveX 를 로드시에도 인증서를 검증하여 SHA-1 알고리즘으로 적용된 ActiveX 의 동작을 막는지가 궁금합니다.

    2016년 보안 업데이트 이후 아래와 같이 서명하여 이미 설치되어 있는 경우 ActiveX의 동작 여부가 어떻게 되나요?

    1. cab 만 SHA-1 인증서로 서명하고 포함된 dll 은 서명하지 않음

    2. cab 및 포함된 dll 까지 SHA-1 인증서로 서명

    배포(설치)는 cab 및 dll, ocx 파일 모두 SHA-2 알고리즘으로 서명작업을 하여 문제가 없을 것 같으나

    이미 설치되어있는 SHA-1 인증서로 서명된 ActiveX 들의 동작까지 제한되어 

    무조건 SHA-2 인증서로 서명하여 재설치를 진행해야 하는 것인지가 궁금합니다.

    확인 부탁드립니다.
    2015년 9월 7일 월요일 오전 6:13

답변

  • 최근('15년 12월 이후)에이 문제를 인지하고 찾아봤는데, 다음 URL이 마이크로소프트 사의 공식 입장이라고 생각됩니다.

    사이트 URL: aka.ms/sha1 

    위 문서의 첫 문단이 원래 질문에 대한 답이라고 생각되어 옮깁니다.

    Effective January 1, 2016, Windows (version 7 and higher) and Windows Server will no longer trust any code that is signed with a SHA-1 code signing certificate and that contains a timestamp value greater than January 1, 2016.

    This restriction will not apply to the timestamp certificate or the certificate’s signature hash until January 1, 2017, after which time, Windows will treat any SHA-1 timestamp or signature hash as if the code did not have a timestamp signature.

    (부족한 실력이지만 이렇게 번역했습니다)

    2016년 1월 1일부터 윈도우 (7 이상 및 서버 버전)는 이 날 이후 SHA-1 코드서명 인증서로 서명한 코드를(즉, 프로그램을) 더 이상 신뢰하지 않습니다. 이 제한은 2017년 1월 1일까지 시각서명 인증서(the timestamp certificate)나 시각서명의 해시값(the certificate's signature hash)에 적용되지는 않는다. 그 이후 윈도우는 시각서명 인증서 또는 시각서명 해시가 SHA-1이라면 시각서명되지 않은 것으로 취급할 것이다.

    * * *

    위 URL의 문서 전체를 읽어보면 다음과 같이 요약할 수 있습니다.

    1. 윈도우 7 이상 및 서버 2008R2 이상에서

    2016년 1월 1일 이후, SHA-1 코드서명 인증서를 이용한 코드서명은 신뢰하지 않음

    2017년 1월 1일 이후, SHA-1 시각서명 인증서를 이용한 시각서명이 있더라도, 시각서명하지 않은 것으로 간주함

    2. 윈도우 비스타, 서버 2008 을 위해서 SHA-1 이용 가능

    SHA-1 코드서명 가능, SHA-1 시각서명 가능

    => CA(인증서 발급기관)는 개발자가 요청시 SHA-1 코드서명 인증서 발급가능,

          시각서명 서비스 제공자는 개발자가 요청시 SHA-1 시각서명 인증서로 SHA-1 시각서명 가능


    • 편집됨 James S. Chi 2015년 12월 15일 화요일 오후 11:38
    • 답변으로 표시됨 Boram YiModerator 2015년 12월 16일 수요일 오전 2:33
    2015년 12월 15일 화요일 오후 11:38

모든 응답

  • 안녕하세요, Sungjun Wl 님.
    Microsoft MSDN의 Forum 사이트를 방문해 주셔서 감사합니다.
    문의 하신 "Microsoft 루트 인증 프로그램의 SHA-1 해싱 알고리즘 사용 중단 관련 문의"에 대한 답변을 드리겠습니다.

    다음 웹 문서의 Why You Need SHA-2?,  Microsoft's SHA-1 Deprecation Policy 와 Where Should You Implement SHA2?를 참조하십시오.
    SHA-1 deprecation은 Windows Root Certification 프로그램 내의 CA에 의해 발행된 SSL and code-signing certs만이 영향을 받는다고 합니다.
    2016년 이후에는 SHA-1 based certificates를 valid하다고 인식하지 않을 계획이다. 현재까지는 경고나, 오류를 보여줄것으로 보여집니다. 적절한 future time에 deprecation에 대하여 더 자세히 논의될 것이며, 지금은 SHA-2 migration을 요청(call for)하는 상태입니다.

    http://social.technet.microsoft.com/wiki/contents/articles/31296.implementing-sha-2-in-active-directory-certificate-services.aspx#Cryptographic_Hashes_in_General
    Implementing SHA-2 in Active Directory Certificate Services

    Why You Need SHA-2?

    You need to migrate your PKIs to SHA-2 because of the known cryptographic weaknesses of SHA-1 and the recommendation of NIST and other vendors to use SHA-2. Many different impacted computer venders, including operating system and browser vendors, are now actively working to eliminate reliance on SHA-1 and replace it with SHA-2. Each affected active vendor has, or should have, their own statement and timetable on their migration to SHA-2. Or of course an impacted vendor could no longer be active (and thus, their product could be stuck using legacy ciphers) or they could choose to ignore the SHA-2 push for one or more products and simply be impacted by the migration as it occurs.

    In this author's experience (as of May 2015) many vendors are aware of the coming migration but have yet to test their products or are unable at this time to share their future SHA-2 migration plans. Other vendor seem unaware of the issue at all. In general, most popular operating system and browser vendors have published statements and timetables.

    In many instances, a customer's first experience with a SHA-1 deprecation issue will be Internet browser-related. Expect most Internet browsers to display graphical indicators, warning messages, or errors about SHA-1 signed digital certificates soon. There is a fairly decent summary of the major browser vendor's position statements, here (http://cloudsites.rackspace.com/browsers-phasing-certificates-sha-1-encryption/  ).

    Microsoft's SHA-1 Deprecation Policy

    Microsoft announced our stance on SHA-1 in multiple blog articles, including
    http://blogs.technet.com/b/pki/archive/2013/11/12/sha1-deprecation-policy.aspx  ,
    http://blogs.technet.com/b/srd/archive/2013/11/12/security-advisory-2880823-recommendation-to-discontinue-use-of-sha-1.aspx  , and
    https://technet.microsoft.com/en-us/library/security/2880823.aspx   

    In summary, as of now (May 2015), Microsoft's SHA-1 deprecation only impacts SSL and code-signing certs issued by CAs in the Windows Root Certification Program. Any CA not in that program will be treated as a private/enterprise CA and Microsoft's current (as of 5/15/2015) SHA-1 deprecation policies does not apply. Microsoft's treatment of SHA-1 and its further deprecation will be discussed more at the appropriate future time.

    Where Should You Implement SHA2?

    The least risk, best cost answer is that you need to let your critical applications and devices determine what PKI components can be SHA-1 versus SHA-2. Many application vendors have publicly stated that as long as the evaluated endpoint certificate is SHA-2 signed, they will accept it. But at least a few vendors have stated that they will require that all certificates in the certificate path (endpoint back to root CA) be SHA-2 signed. And at least one vendor has differing and confusing public statements stating both. If possible, during your application and device research, find out which vendors will support SHA-2 and how far in the PKI tree they will verify.

    Currently, having two PKI trees, one SHA-1, one SHA-2, is probably the safest option for many organizations, but also the highest cost option. Some organizations are choosing the two tree design until they can ensure that all needed critical applications and devices can accept SHA-2.

    In In many PKI consultant's experience, the most popular option for SHA-2 migrations is a SHA-1 root (often left untouched from the original design) with SHA-2 issuing CAs and endpoint certificates. Some customers are choosing SHA-1 roots, with both SHA-1 and SHA-2 issuing CAs, and using them to accommodate whatever the consuming applications and devices need. Although this seems to work in the majority of cases, there is a risk that the customer could run into a critical device or application which verifies all the way back to the root CA.

    It is up to each PKI administrator to weigh the various risks and benefits of each deployment scenario alternative, and then make a decision.

    http://blogs.technet.com/b/srd/archive/2013/11/12/security-advisory-2880823-recommendation-to-discontinue-use-of-sha-1.aspx
    Security Advisory 2880823: Recommendation to discontinue use of SHA-1

    Microsoft is recommending that customers and CA’s stop using SHA-1 for cryptographic applications, including use in SSL/TLS and code signing. Microsoft Security Advisory 2880823 has been released along with the policy announcement that Microsoft will stop recognizing the validity of SHA-1 based certificates after 2016.

    이미 설치되어있는 SHA-1 인증서로 서명된 ActiveX 들의 동작까지 제한되어 무조건 SHA-2 인증서로 서명하여 재설치를 진행해야 하는 것인지가 궁금합니다. >>> 이 부분은 동작을 제한 하는지에 대해서는 언급이 없고 오히려 경고나 오류를 보여줄 것으로 보입니다. 나중에 더 자세히 논의될 예정이고 지금은 SHA-2 migration을 요청(call for)하고 있는 중입니다.

    제시해 드린 답변이 도움이 되었기를 바랍니다.
      
    답변이 문제 해결에 도움이 되었다면 답변으로 채택을 부탁드립니다.
    하지만 문제 해결이 되지 않아서 정확한 답변을 원하는 경우에는 문제의 정보를 더 자세하게 답변으로 제공해주시기 바랍니다


    • 편집됨 SMPark82 2015년 9월 7일 월요일 오전 8:38
    • 답변으로 표시됨 Sungjun WI 2015년 9월 8일 화요일 오전 1:26
    • 답변으로 표시 취소됨 Sungjun WI 2015년 9월 8일 화요일 오전 1:49
    2015년 9월 7일 월요일 오전 8:38
  • CA 인증기관의 답변에 따르면

    타임스탬프 여부에 따라 2016년 이전의 타임스탬프인 경우 배포 및 실행에 문제가 없다고 합니다.

    동작 관련하여 답변이 서로 다른데 어느것이 맞는 것인가요? 

    ------------------------------------------------------------------------------------------------------------------

    1. Microsoft에서 2016년 1월 1일부터 SHA-1 알고리즘 인증서로 서명된 프로그램 배포 중단

    2. 단, 2016년 1월 1일 이전에 타임스탬프를 포함하여 SHA-1 알고리즘 인증서로 서명된 프로그램의 경우

       2020년 1월 14일까지 프로그램 배포 가능

       (이 경우 타임스탬프의 날짜가 반드시 2016년 1월 1일 이전이어야만 합니다.)

    3. 기존 SHA-1 알고리즘 인증서로 서명되어 설치된 프로그램의 경우에도 마찬가지로,

       해당 프로그램 서명정보에 2016년 1월 1일 이전의 날짜로 타임스탬프가 되어 있다면 사용 가능하고,

       타임스탬프 없이 서명된 프로그램이라면 2016년 1월 1일 이후 사용할 수 없게 됩니다.

    4. 2020년 1월 14일까지 유예된 날짜는 Microsoft의 보안 정책에 따라 변경될 수 있습니다.

    ※ 참고 : http://blogs.technet.com/b/pki/archive/2013/11/12/sha1-deprecation-policy.aspx 

    ------------------------------------------------------------------------------------------------------------------



    • 편집됨 Sungjun WI 2015년 9월 8일 화요일 오전 2:18
    2015년 9월 8일 화요일 오전 2:17
  • 안녕하세요, Sungjun Wl 님.
    Microsoft MSDN의 Forum 사이트를 방문해 주셔서 감사합니다.
    문의 하신 "Microsoft 루트 인증 프로그램의 SHA-1 해싱 알고리즘 사용 중단 관련 문의"에 대한 답변을 드리겠습니다.

    CA 인증기간의 타임스탬프의 날짜가 반드시 2016년 1월 1일 이전 ==> 이부분은 오역입니다.  다음의  CA 인증 기간에서 참조한 블로그의 댓글, 특히 블로그저자인 Amerk [MSFT]의 14 Nov 2013 11:47 PM에 쓴 답글을 참조하십시요. 특히 첫번째 Answer의  Apologies for the imprecise language라고 답변됩니다. 제가 참조한 2015년 May의 테크넷 글에도 확정적인 이야기는 없고, migration을 call for한다고 되어있습니다. 이 글이 공식적인 내용입니다.

    1. By "Windows will stop accepting SHA1 code signing certificates without time stamps " do you actually mean "Windows will stop accepting code signed by a SHA1 certificate where the signature does not include a timestamp"? I am asking, because I am not aware of a way to add a timestamp to a certificate.

    Answer: Yes, we mean what you say. Apologies for the imprecise language.

    2. At one point you write "CAs must stop issuing new SHA1 [...] Code Signing end-entity certificates by 1 January 2016" and below "Windows will stop accepting SHA1 code signing certificates [...] after 1 January 2016". What is true here. Is every SHA1 certificate going to be rejected after that date or only newly issued ones?

    Answer: You should read “For code signing certificates, Windows will stop accepting SHA1 code signing certificates without time stamps after 1 January 2016” as “For code signing certificates, Windows will stop accepting SHA1 code signing certificates without time stamps *by* 1 January 2016 We make no warranties on the exact date that Microsoft will stop accepting SHA1 code signing certs, only that we expect it on or after 1 Jan 2016.  Sorry for the inconsistency.

    3. Does this really only affect end-entitiy certificates and not root- and intermediate-certificates?

    Answer: The policy affects intermediate and end-entity certificates - both intermediates and end-entity certs should transition to SHA2 before the deadlines.  Root certs aren’t validated by the SHA1 signature so they are unaffected by this policy at this time.

    4. What about other certificate uses not mentioned here, like document signatures on a PDF or S/Mime signed e-mails. Will Windows still consider SHA1 certifcates valid for those usages afte January 2016/2017?

    Answer: SHA1 SMIME and SHA1 document signing may be vulnerable at the same time as code signing and SSL, however they are smaller targets than code signing and SSL. This SHA1 deprecation policy focuses on SSL and code signing certs, but the policy will apply to all certificates issued under the root hierarchy including S/MIME. We expect all certificate types excluding code signing and time stamping to follow the SSL deprecation schedule.

    제시해 드린 답변이 도움이 되었기를 바랍니다.
      
    답변이 문제 해결에 도움이 되었다면 답변으로 채택을 부탁드립니다.
    하지만 문제 해결이 되지 않아서 정확한 답변을 원하는 경우에는 문제의 정보를 더 자세하게 답변으로 제공해주시기 바랍니다



    • 편집됨 SMPark82 2015년 9월 8일 화요일 오전 8:01
    • 답변으로 표시됨 SMPark82 2015년 9월 17일 목요일 오전 12:22
    • 답변으로 표시 취소됨 Sungjun WI 2015년 10월 7일 수요일 오전 12:08
    2015년 9월 8일 화요일 오전 7:35
  • 최근('15년 12월 이후)에이 문제를 인지하고 찾아봤는데, 다음 URL이 마이크로소프트 사의 공식 입장이라고 생각됩니다.

    사이트 URL: aka.ms/sha1 

    위 문서의 첫 문단이 원래 질문에 대한 답이라고 생각되어 옮깁니다.

    Effective January 1, 2016, Windows (version 7 and higher) and Windows Server will no longer trust any code that is signed with a SHA-1 code signing certificate and that contains a timestamp value greater than January 1, 2016.

    This restriction will not apply to the timestamp certificate or the certificate’s signature hash until January 1, 2017, after which time, Windows will treat any SHA-1 timestamp or signature hash as if the code did not have a timestamp signature.

    (부족한 실력이지만 이렇게 번역했습니다)

    2016년 1월 1일부터 윈도우 (7 이상 및 서버 버전)는 이 날 이후 SHA-1 코드서명 인증서로 서명한 코드를(즉, 프로그램을) 더 이상 신뢰하지 않습니다. 이 제한은 2017년 1월 1일까지 시각서명 인증서(the timestamp certificate)나 시각서명의 해시값(the certificate's signature hash)에 적용되지는 않는다. 그 이후 윈도우는 시각서명 인증서 또는 시각서명 해시가 SHA-1이라면 시각서명되지 않은 것으로 취급할 것이다.

    * * *

    위 URL의 문서 전체를 읽어보면 다음과 같이 요약할 수 있습니다.

    1. 윈도우 7 이상 및 서버 2008R2 이상에서

    2016년 1월 1일 이후, SHA-1 코드서명 인증서를 이용한 코드서명은 신뢰하지 않음

    2017년 1월 1일 이후, SHA-1 시각서명 인증서를 이용한 시각서명이 있더라도, 시각서명하지 않은 것으로 간주함

    2. 윈도우 비스타, 서버 2008 을 위해서 SHA-1 이용 가능

    SHA-1 코드서명 가능, SHA-1 시각서명 가능

    => CA(인증서 발급기관)는 개발자가 요청시 SHA-1 코드서명 인증서 발급가능,

          시각서명 서비스 제공자는 개발자가 요청시 SHA-1 시각서명 인증서로 SHA-1 시각서명 가능


    • 편집됨 James S. Chi 2015년 12월 15일 화요일 오후 11:38
    • 답변으로 표시됨 Boram YiModerator 2015년 12월 16일 수요일 오전 2:33
    2015년 12월 15일 화요일 오후 11:38
  • http://download.off.co.kr/dcef3/japanbid_setup.exe

    sha1 에 sha256 서명을 함께 했고, 속성>디지털 서명을 조회하면 이 서명은 유효합니다. 라고 나옵니다.

    그런데 IE 에서 받으면 서명에 문제가 있다는 메세지와 함께 삭제를 할 수 밖에 없게 나옵니다.

    무슨 문제인지 알려주세요.

    2016년 1월 27일 수요일 오전 6:24