해결된 질문
작성
·
288
·
수정됨
0
아래 글을 올리신 분과 동일한 의문이 들어서 질문 게시판에 오니 같은 질문이 있네요.
1)강의 설명에서 제가 이해하기론
-복사된 내용을 변조할경우, 변조된 데이터의 체크섬 결과값과 동일하게 체크섬 결과값을 변조하면 무결성을 잃을수 있다 라고 이해하였습니다.
그렇다면, 해쉬에서도 동일하게.
내용값을 변조후, 이에 맞도록 해쉬결과값을 변조하면 무결성을 잃을수 있는거 아닌가요??
2) 제가 잘못 이해 했다면 아래 질문에서 답변 주신 내용을 보면
ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ
해시는 전체 데이터 중 단 1비트만 달라져도 최종 결과가 완전히 달라지지만
체크섬은 데이터 절반 이상을 수정하더라도 같은 값이 나오도록 수정 할 수 있다는 것입니다.
즉, 의도적으로 데이터를 조작하더라도 결과만 맞추는 것이 가능합니다. 해시는 원본 값을 변경하더라도 같은 값을 얻을 수 없습니다.
ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ
이렇게 말씀해주셨는데. 그렇다면,
원본에 포함된 체크섬 혹은 해쉬 함수의 결과값은 변조할수는 없다는 전제 하에
체크섬의 경우 내용을 변조해도 동일한 결과를 얻을 수 있기 때문에 무결성 확보가 어려운 반면
해쉬의 경우엔 내용을 변조할 경우 결과값이 반드시 달라지기 떄문에 무결성이 확보되는 건가요?
기본적인 질문 일 수 있지만 보안 관련해서 처음 강의를 듣다 보니 어려움이 있어 질문 드립니다.
감사합니다!
답변 1
0
체크섬 결과를 변조하는 것이 아니라 원본을 조작해 같은 체크섬 결과를 얻도록 하는 것입니다. 체크섬이 보안성이 없는 이유입니다. 그것이 수학적으로 매우 어렵도록(거의 불가능) 만든 것이 해시입니다. 만일 원본 A를 조작해 사본 A'를 만들었지만 A와 A'에 대한 해시결과가 같도록 A'를 만들 수 있다면 알고리즘 수준에서 해시를 무력화 한 것이 되겠습니다. 만일 해낸다면 암호학 역사에 이름을 남길 수 있습니다.
네, 그렇습니다.
참고하시기 바랍니다. :)