SHA-1

위키백과, 우리 모두의 백과사전.

SHA
Sha-family.svg
개념
해시 함수 · SHA · DSA
주요 개념
SHA-0 · SHA-1 · SHA-2 · SHA-3
SHA-1
일반
설계자미국 국가안보국
최초 출판일1993 (SHA-0),
1995 (SHA-1)
시리즈(SHA-0), SHA-1, SHA-2, SHA-3
인증FIPS PUB 180-4, CRYPTREC (Monitored)
암호 상세 정보
다이제스트 크기160비트
블록 크기512비트
구조Merkle–Damgård 구조
라운드 수80
최고 공개 암호 해독
마크 스티븐스의 2011년 공격은 260.3와 265.3 오퍼레이션 사이의 복잡도의 해시 충돌을 일으킬 수 있다.[1] 공개된 최초 충돌은 2017년 2월 23일 게시되었다.[2] SHA-1은 길이 확장 공격에 취약하다.

암호학에서 SHA-1(Secure Hash Algorithm 1)는 입력을 받고 메시지 다이제스트라는 160비트(20바이트) 해시값을 만드는 암호화 해시 함수로, 보통은 16진수 40자리로 렌더링된다. 미국 국가안보국이 설계하였으며 미국의 연방 정보 처리 표준이다.[3]

2005년부터 SHA-1은 충분한 재원이 있는 적들에게 안전하지 않은 것으로 간주되고 있다.[4] 2010년 기준으로 수많은 단체들이 대체를 권고하였다.[5][6][7] NIST는 2011년에 SHA-1의 이용을 구시식화했으며 2013년에 디지털 서명을 위한 이용에 사용을 불허했다. 2020년 기준으로 SHA-1에 대항하는 선택 접두어 공격(chosen-prefix attack)이 현실화되었다.[8][9] 이러한 이유로 가능한 조속히 SHA-1를 제거하고 SHA-2 또는 SHA-3를 사용할 것이 권고된다. 디지털 서명을 위해 사용되는 환경에서 SHA-1을 대체하는 것은 시급하다.

모든 주요 웹 브라우저 벤더들은 2017년 SHA-1 SSL 인증서의 수용을 중단했다.[10][11][12] 2017년 2월, CWI 암스테르담구글은 SHA-1에 대한 충돌 공격을 수행했다고 발표했으며 동일한 SHA-1 해시를 생성하는 구별된 2개의 PDF 파일들을 출판했다.[13][2] 그러나 SHA-1은 여전히 HMAC에 대해서는 안전하다.[14]

마이크로소프트는 2020년 8월 7일 윈도우 업데이트의 SHA-1 코드 서명 지원을 중단했다.

구현체[편집]

다음은 SHA-1을 지원하는 암호화 라이브러리 목록이다1:

다음의 프로세서 확장에 의해 하드웨어 가속이 제공된다:

각주[편집]

  1. Stevens, Marc (June 19, 2012). 《Attacks on Hash Functions and Applications》 (PDF) (학위논문). 레이던 대학교. hdl:1887/19093. ISBN 9789461913173. OCLC 795702954. 
  2. Stevens, Marc; Bursztein, Elie; Karpman, Pierre; Albertini, Ange; Markov, Yarik (2017). Katz, Jonathan; Shacham, Hovav, 편집. 《The First Collision for Full SHA-1》 (PDF). Advances in Cryptology – CRYPTO 2017. Lecture Notes in Computer Science. Springer. 570–596쪽. doi:10.1007/978-3-319-63688-7_19. ISBN 9783319636870. May 15, 2018에 원본 문서 (PDF)에서 보존된 문서. February 23, 2017에 확인함. 요약문 – Google Security Blog (February 23, 2017). 
  3. https://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.180-4.pdf
  4. Schneier, Bruce (2005년 2월 18일). “Schneier on Security: Cryptanalysis of SHA-1”. 
  5. “NIST.gov – Computer Security Division – Computer Security Resource Center”. 2011년 6월 25일에 원본 문서에서 보존된 문서. 2019년 1월 5일에 확인함. 
  6. Stevens1, Marc; Karpman, Pierre; Peyrin, Thomas. “The SHAppening: freestart collisions for SHA-1”. 2015년 10월 9일에 확인함. 
  7. Schneier, Bruce (2015년 10월 8일). “SHA-1 Freestart Collision”. 《Schneier on Security》. 
  8. “Critical flaw demonstrated in common digital security algorithm”. 《Nanyang Technological University, Singapore》 (미국 영어). 2020년 1월 24일. 
  9. Gaëtan Leurent; Thomas Peyrin (2020년 1월 5일). “SHA-1 is a Shambles First Chosen-Prefix Collision on SHA-1 and Application to the PGP Web of Trust” (PDF). 《Cryptology ePrint Archive, Report 2020/014》. 
  10. Goodin, Dan (2016년 5월 4일). “Microsoft to retire support for SHA1 certificates in the next 4 months”. 《Ars Technica》 (미국 영어). 2019년 5월 29일에 확인함. 
  11. “Google will drop SHA-1 encryption from Chrome by January 1, 2017”. 《VentureBeat》 (미국 영어). 2015년 12월 18일. 2019년 5월 29일에 확인함. 
  12. “The end of SHA-1 on the Public Web”. 《Mozilla Security Blog》 (미국 영어). 2019년 5월 29일에 확인함. 
  13. “CWI, Google announce first collision for Industry Security Standard SHA-1”. 2017년 2월 23일에 확인함. 
  14. Barker, Elaine (May 2020). “Recommendation for Key Management: Part 1 – General, Table 3.”. 《NIST, Technical Report》: 56. doi:10.6028/NIST.SP.800-57pt1r5. 

참고 자료[편집]

외부 링크[편집]

  • CSRC Cryptographic Toolkit – Official NIST site for the Secure Hash Standard
  • FIPS 180-4: Secure Hash Standard (SHS)
  • RFC 3174 (with sample C implementation)
  • Interview with Yiqun Lisa Yin concerning the attack on SHA-1
  • Explanation of the successful attacks on SHA-1 (3 pages, 2006)
  • Cryptography Research – Hash Collision Q&A
  • (영어) SHA-1 - Curlie
  • Lecture on SHA-1 (1h 18m) - 유튜브 by Christof Paar