"SHA1"의 두 판 사이의 차이

위키원
이동: 둘러보기, 검색
3번째 줄: 3번째 줄:
 
== 개요 ==  
 
== 개요 ==  
 
SHA-1은 임의의 길이의 입력데이터를 106비트의 출력데이터로 바꾸는 것이다. <ref> 늦둥이해커〈[http://blog.naver.com/PostView.nhn?blogId=kimsumin75&logNo=20071288674 SHA-1 알고리즘]〉 , 《네이버 블로그》 2009-06-24</ref> 1993년에 미국 표준 기술 연구소(NIST)에서 SHA-0(안전한 해시 표준)이 출판된 이후 얼마 안있어 NDA는 SHA-0을 폐기했고, 1995년에 개장된 알고리즘(FIPS PUB 180-1)을 새로 출판했다. 이 새로운 알고리즘을 SHA-1이라고 부른다. SHA-1은 SHA-0의 압축함수에 비트 회전 연산을 하나 추가한 것으로, NSA에 따르면 이는 원래 알고리즘에서 암호학적 보안을 감소시키는 문제점을 고친 것이라고 한다. 하지만 실제로 어떤 문제점이 잇었는지 공개하지 않았다. 일반적으로 SHA-1은 SHA-0보다 암호학적 공격이 힘든 것으로 알려져 있고, 따라서 보안에 대한 문제점을 보완한 NSA의 주장은 어느정도 설득력이 있다. SHA-1은 최대  264비트 메세지로부터 160비트 해시값을 만들어내고, 로널드 라이베스트가 MD4 및 MD5 해시 함수에서 사용했던 것과 비슷한  방법을 사용한다.  
 
SHA-1은 임의의 길이의 입력데이터를 106비트의 출력데이터로 바꾸는 것이다. <ref> 늦둥이해커〈[http://blog.naver.com/PostView.nhn?blogId=kimsumin75&logNo=20071288674 SHA-1 알고리즘]〉 , 《네이버 블로그》 2009-06-24</ref> 1993년에 미국 표준 기술 연구소(NIST)에서 SHA-0(안전한 해시 표준)이 출판된 이후 얼마 안있어 NDA는 SHA-0을 폐기했고, 1995년에 개장된 알고리즘(FIPS PUB 180-1)을 새로 출판했다. 이 새로운 알고리즘을 SHA-1이라고 부른다. SHA-1은 SHA-0의 압축함수에 비트 회전 연산을 하나 추가한 것으로, NSA에 따르면 이는 원래 알고리즘에서 암호학적 보안을 감소시키는 문제점을 고친 것이라고 한다. 하지만 실제로 어떤 문제점이 잇었는지 공개하지 않았다. 일반적으로 SHA-1은 SHA-0보다 암호학적 공격이 힘든 것으로 알려져 있고, 따라서 보안에 대한 문제점을 보완한 NSA의 주장은 어느정도 설득력이 있다. SHA-1은 최대  264비트 메세지로부터 160비트 해시값을 만들어내고, 로널드 라이베스트가 MD4 및 MD5 해시 함수에서 사용했던 것과 비슷한  방법을 사용한다.  
TLS, SSL, PGP, SSH, IPSec 등 많은 보안 프로토콜과 프로그램에서 사용된다.<ref>〈[https://ko.wikipedia.org/wiki/SHA SHA]〉 , 《위키백과》</ref> 현재는 모든 OS, 브라우저에서 SHA-1 알고리즘을 지원 중단하고 SHA-2 계열을 지원한다. SHA-1은 160비트의 메세지 다이제스트를 생성하는데 무차별 대입 공격으로 동일한 해시를 만들 수 있는 취액점이 제기되면서 2011년 1우러 (NIST 문서 SP800-131A) SHA-2가 새로운 권장 해시 표준이 되었다. <ref> 덜지〈[https://duzi077.tistory.com/221 SHA-1지원 중단으로 인한 SHA-2 표준 적용]〉 , 《티스토리》 2018-09-18</ref>
+
TLS, SSL, PGP, SSH, IPSec 등 많은 보안 프로토콜과 프로그램에서 사용된다.<ref>〈[https://ko.wikipedia.org/wiki/SHA SHA]〉 , 《위키백과》</ref>  
  
 
== 특징 ==
 
== 특징 ==
11번째 줄: 11번째 줄:
 
* MD5와 비교 : 사전 패딩 처리는 MD5와 동일, 출력값에 있어서는 MD5보다 길기 때문에 SHA-1이 더 안전하나 SHA-1버퍼 크기가 MD-5보다 더 크기때문에 속도면에서는 MD5가 25%정도 더 빠르다.
 
* MD5와 비교 : 사전 패딩 처리는 MD5와 동일, 출력값에 있어서는 MD5보다 길기 때문에 SHA-1이 더 안전하나 SHA-1버퍼 크기가 MD-5보다 더 크기때문에 속도면에서는 MD5가 25%정도 더 빠르다.
 
* 주요 처리 : 패딩 처리(메세지 길이를 512 비트 단위(입력 블록 상한)로 잘라서 512 비트 정수배로 만듬, 입력 블록 단위의 처리 (32 비트 * 80개 값(W0 ~ W79)을 계산, 블록처리, 1단계 처리<ref> 차재복〈[http://www.ktword.co.kr/abbr_view.php?m_temp1=2941]〉 , 《정보통신기술용어해설》</ref>
 
* 주요 처리 : 패딩 처리(메세지 길이를 512 비트 단위(입력 블록 상한)로 잘라서 512 비트 정수배로 만듬, 입력 블록 단위의 처리 (32 비트 * 80개 값(W0 ~ W79)을 계산, 블록처리, 1단계 처리<ref> 차재복〈[http://www.ktword.co.kr/abbr_view.php?m_temp1=2941]〉 , 《정보통신기술용어해설》</ref>
 +
 +
== 문제점==
 +
현재는 모든 OS, 브라우저에서 SHA-1 알고리즘을 지원 중단하고 SHA-2 계열을 지원했다.채택된지 10년 만에, 처음으로 취약점이 제기된것이다. 따라서  2011년 1월 (NIST 문서 SP800-131A) SHA-2가 새로운 권장 해시 표준이 되었다. SHA-1의 취약점은 이론적인 이야기일 뿐이엿지만 2016년에 암호화를 사용하는 세계의 주요 업체(구글, MS 등)에서 2018년 1월 1일까지 SHA-2로 전환을 의무화했다. 그 이유는 SHA-1은 160비트의 메세지 다이제스트를 생성하는데 무차별 대입 공격으로 동일한 해시를 만들 수 있는 취약점이 CWI Amsterdam과 구글의 공동 연구 끝에 제기되면서 SHA-1은 더이상 안전한 알고리즘이 아니며, 더 이상 사용되면 안된된다고 판단했기 때문이다. 2017년 중순에 구글에서 SHA-1 충돌 공격 성공을 발표함으로써 전 세계 대부분의 기업들이 SHA-2로 전환을 완료했다. <ref> 덜지〈[https://duzi077.tistory.com/221 SHA-1지원 중단으로 인한 SHA-2 표준 적용]〉 , 《티스토리》 2018-09-18</ref>

2019년 6월 28일 (금) 15:40 판

SHA-1은 SHA-0을 변형된 SHA 함수들 중 하나이며, SHA 함수들 중 가장 많이 쓰이고 있다.

개요

SHA-1은 임의의 길이의 입력데이터를 106비트의 출력데이터로 바꾸는 것이다. [1] 1993년에 미국 표준 기술 연구소(NIST)에서 SHA-0(안전한 해시 표준)이 출판된 이후 얼마 안있어 NDA는 SHA-0을 폐기했고, 1995년에 개장된 알고리즘(FIPS PUB 180-1)을 새로 출판했다. 이 새로운 알고리즘을 SHA-1이라고 부른다. SHA-1은 SHA-0의 압축함수에 비트 회전 연산을 하나 추가한 것으로, NSA에 따르면 이는 원래 알고리즘에서 암호학적 보안을 감소시키는 문제점을 고친 것이라고 한다. 하지만 실제로 어떤 문제점이 잇었는지 공개하지 않았다. 일반적으로 SHA-1은 SHA-0보다 암호학적 공격이 힘든 것으로 알려져 있고, 따라서 보안에 대한 문제점을 보완한 NSA의 주장은 어느정도 설득력이 있다. SHA-1은 최대 264비트 메세지로부터 160비트 해시값을 만들어내고, 로널드 라이베스트가 MD4 및 MD5 해시 함수에서 사용했던 것과 비슷한 방법을 사용한다. TLS, SSL, PGP, SSH, IPSec 등 많은 보안 프로토콜과 프로그램에서 사용된다.[2]

특징

  • SHA-1은 입력된 메세지를 512바트 블록 단위로 처리하여, 160 비트의 출력값(해시값)생성
  • 입력 메세지 길이 상한 : 264
  • 해시값 길이 : 160 비트 (20 바이트)
  • MD5와 비교 : 사전 패딩 처리는 MD5와 동일, 출력값에 있어서는 MD5보다 길기 때문에 SHA-1이 더 안전하나 SHA-1버퍼 크기가 MD-5보다 더 크기때문에 속도면에서는 MD5가 25%정도 더 빠르다.
  • 주요 처리 : 패딩 처리(메세지 길이를 512 비트 단위(입력 블록 상한)로 잘라서 512 비트 정수배로 만듬, 입력 블록 단위의 처리 (32 비트 * 80개 값(W0 ~ W79)을 계산, 블록처리, 1단계 처리[3]

문제점

현재는 모든 OS, 브라우저에서 SHA-1 알고리즘을 지원 중단하고 SHA-2 계열을 지원했다.채택된지 10년 만에, 처음으로 취약점이 제기된것이다. 따라서 2011년 1월 (NIST 문서 SP800-131A) SHA-2가 새로운 권장 해시 표준이 되었다. SHA-1의 취약점은 이론적인 이야기일 뿐이엿지만 2016년에 암호화를 사용하는 세계의 주요 업체(구글, MS 등)에서 2018년 1월 1일까지 SHA-2로 전환을 의무화했다. 그 이유는 SHA-1은 160비트의 메세지 다이제스트를 생성하는데 무차별 대입 공격으로 동일한 해시를 만들 수 있는 취약점이 CWI Amsterdam과 구글의 공동 연구 끝에 제기되면서 SHA-1은 더이상 안전한 알고리즘이 아니며, 더 이상 사용되면 안된된다고 판단했기 때문이다. 2017년 중순에 구글에서 SHA-1 충돌 공격 성공을 발표함으로써 전 세계 대부분의 기업들이 SHA-2로 전환을 완료했다. [4]
  1. 늦둥이해커〈SHA-1 알고리즘〉 , 《네이버 블로그》 2009-06-24
  2. SHA〉 , 《위키백과》
  3. 차재복〈[1]〉 , 《정보통신기술용어해설》
  4. 덜지〈SHA-1지원 중단으로 인한 SHA-2 표준 적용〉 , 《티스토리》 2018-09-18