인프런 커뮤니티 질문&답변

푸르나님의 프로필 이미지
푸르나

작성한 질문수

외워서 끝내는 SSL과 최소한의 암호기술

디지털 서명이란?

디지털 서명 시 해시하는 이유가 궁금합니다.

작성

·

567

0

디지털 서명시 서명원문에 대한 위,변조를 막기 위해 해시를 한다고 하셨는데요. 위,변조를 확인하기 위한 목적이라면 암호화로도 충분하지 않나 하는 생각이 듭니다.

 

예를들어 A라는 서명원문에 대해 개인키로 암호화하여 B라는 암호문을 얻었고, 받는쪽에서는 암호문인 B를 공개키로 복호화했을 때 다시 A라는 값이 나오지 않으면 이는 위,변조된 것으로 확인할 수있다고 생각됩니다. 중간에 서명원문이 위조되면 복호화한 값이 일치하지 않을테니까요.

 

서명원문이 너무 클 경우 암호화시간이 오래걸리기 때문에 해시를 하는 목적이라면 이해가 될 것 같은데 단순히 위,변조를 검증하기 위한 목적이라면 굳이 해시가 필요없다고 생각되었습니다. 제가 놓치고 있는 부분이 있다면 알려주시면 감사하겠습니다!

답변 1

2

널널한 개발자님의 프로필 이미지
널널한 개발자
지식공유자

문제는 복호화한 A가 원문 A와 일치하는지 수신측에서는 확인할 방법이 없다는 것입니다. 바꿔 말해 암호문과 원문을 함께 보내주지 않는다면 둘을 비교할 수는 없다는 의미입니다. 정보를 암호화 하는 것은 정보에 대한 '기밀성'을 부여하는 것일 뿐 암호문 자체가 손상됐는지 확인할 수(무결성)는 없습니다.

그리고 거꾸로 기밀이 유지되지 말고 무결성만 보장되어야 하는 경우도 많습니다. 가령 계약서의 경우 두 계약 주체가 계약내용을 평문으로 볼 수 있어야 합니다. 다만 각 계약주체가 각자 보유하고 있는 계약서들의 내용이 서로 달라서는 안 됩니다. 즉, 기밀성은 필요 없고 확실한 무결성이 보장되어야 하는 경우입니다.

암호문도 변조될 수 있으며 무결정을 보장하지 못합니다. 이 사실만 잘 기억하시면 될 것 같습니다.

감사합니다.

푸르나님의 프로필 이미지
푸르나

작성한 질문수

질문하기