답변 1
1
안녕하세요 Jee 님!
우선 아시다시피 디지털포렌식관점에서의 Hash는 원본과의 동일성과 변조여부를 입증하는 가장 중요하면서 기본적인 방법입니다. 이러한 hash에는 많이 알려진 MD5와 SHA-1 Hash가 있죠.
둘의 차이점에 대해서 간단히 말씀을 드리면 보안강도, 개발자 등이 다릅니다.
MD5 해시는 로널드 라이베스트에 의해서 고안되었고, SHA해시는 미국 국가안보국(NSA)에서 처음 설계했는데 미국 국가 표준으로 지정되었습니다.
굳이 비유를 하자면 현대자동차에서 자체적으로 제작한 엔진이 있고, GM에서 자체적으로 제작한 엔진이 있는데, 각각의 엔진이 작동하는 방식이나 출력이나 연비 등이 다르겠죠. 그리고 각 회사에서 엔진을 제작할때 중점으로 뒀던 부분에 맞춰서 이 엔진은 연비가 가장 최우선인 엔진, 이 엔진은 출력이 최우선인 엔진이라는 목적에 맞게 설계를 했을테고요. 또 기존에 개발한 엔진에 문제점이 발견됐을때는 이를 개선한 새로운 엔진을 개발을 할겁니다. 이와 비슷하다고 생각하시면 큰 틀에서 이해하시는데는 도움이 되실 것 같습니다.
어떤 엔진의 차를 구입할지는 고객의 선택에 달려있겠죠. 마찬가지로 Hash역시 여러 산출방법이 있는데 그 중에 하나를 선택한다고 이해를 해주시면 될 것 같습니다.
물론 MD5는 MD4의 취약점을 대체하고자 고안되었고, 또 SHA 해시도 SHA-1, SHA-256, SHA-512 등 이 존재합니다. 이렇게 나뉘는 이유는 기존의 발표된 해시가 충돌 등의 보안상의 취약점이 발견됐거나 하는 문제가 확인됐을때 이를 개선하는 작업이라 생각하시면 될 것 같은데요.
MD5나 SHA-1은 이미 취약점이 발견되었기때문에 다른 해시(SHA2계열등)의 사용을 권장하고 있다는 사실도 참고로만 알아주세요.
*포털에서 검색해보시면 매우 다양한 내용을 찾아보실수 있는데, 내용이 깊이 들어가면 한없이 깊어지는 내용이라서 간단하게 보실수 있게 설명되어있는 페이지가 있어서 소개해드립니다.