익명 사용자
로그인하지 않음
토론
기여
계정 만들기
로그인
IT 위키
검색
디지털 서명
편집하기
IT 위키
이름공간
문서
토론
더 보기
더 보기
문서 행위
읽기
편집
원본 편집
역사
경고:
로그인하지 않았습니다. 편집을 하면 IP 주소가 공개되게 됩니다.
로그인
하거나
계정을 생성하면
편집자가 사용자 이름으로 기록되고, 다른 장점도 있습니다.
스팸 방지 검사입니다. 이것을 입력하지
마세요
!
고급
특수 문자
도움말
문단 제목
2단계
3단계
4단계
5단계
형식
넣기
라틴 문자
확장 라틴 문자
IPA 문자
기호
그리스 문자
그리스어 확장
키릴 문자
아랍 문자
아랍어 확장
히브리 문자
뱅골어
타밀어
텔루구어 문자
싱할라 문자
데바나가리어
구자라트 문자
태국어
라오어
크메르어
캐나다 원주민 언어
룬 문자
Á
á
À
à
Â
â
Ä
ä
Ã
ã
Ǎ
ǎ
Ā
ā
Ă
ă
Ą
ą
Å
å
Ć
ć
Ĉ
ĉ
Ç
ç
Č
č
Ċ
ċ
Đ
đ
Ď
ď
É
é
È
è
Ê
ê
Ë
ë
Ě
ě
Ē
ē
Ĕ
ĕ
Ė
ė
Ę
ę
Ĝ
ĝ
Ģ
ģ
Ğ
ğ
Ġ
ġ
Ĥ
ĥ
Ħ
ħ
Í
í
Ì
ì
Î
î
Ï
ï
Ĩ
ĩ
Ǐ
ǐ
Ī
ī
Ĭ
ĭ
İ
ı
Į
į
Ĵ
ĵ
Ķ
ķ
Ĺ
ĺ
Ļ
ļ
Ľ
ľ
Ł
ł
Ń
ń
Ñ
ñ
Ņ
ņ
Ň
ň
Ó
ó
Ò
ò
Ô
ô
Ö
ö
Õ
õ
Ǒ
ǒ
Ō
ō
Ŏ
ŏ
Ǫ
ǫ
Ő
ő
Ŕ
ŕ
Ŗ
ŗ
Ř
ř
Ś
ś
Ŝ
ŝ
Ş
ş
Š
š
Ș
ș
Ț
ț
Ť
ť
Ú
ú
Ù
ù
Û
û
Ü
ü
Ũ
ũ
Ů
ů
Ǔ
ǔ
Ū
ū
ǖ
ǘ
ǚ
ǜ
Ŭ
ŭ
Ų
ų
Ű
ű
Ŵ
ŵ
Ý
ý
Ŷ
ŷ
Ÿ
ÿ
Ȳ
ȳ
Ź
ź
Ž
ž
Ż
ż
Æ
æ
Ǣ
ǣ
Ø
ø
Œ
œ
ß
Ð
ð
Þ
þ
Ə
ə
서식 지정
링크
문단 제목
목록
파일
각주
토론
설명
입력하는 내용
문서에 나오는 결과
기울임꼴
''기울인 글씨''
기울인 글씨
굵게
'''굵은 글씨'''
굵은 글씨
굵고 기울인 글씨
'''''굵고 기울인 글씨'''''
굵고 기울인 글씨
'''Digital Signature''' '''문서에 하는 인감 날인이나 사인에 해당하는 기능을 컴퓨터의 세계에서 실현하기 위한 기술''' == 기능 == * 사용자 인증 * 송신 부인 방지 * 수신 부인 방지 == 구성 요소 == * '''원본 문서(메시지)''' ** 디지털 서명을 통한 보호의 대상이 되는 문서(메시지)를 의미한다. * '''서명(암호문)''' ** 디지털 문서에 서명을 한 결과값을 의미한다. ** 개인키로 암호화 한 암호문이다. ** 문서와 함께 보내진다. * '''송신자(서명자)''' ** 서명을 하는 자를 말한다. 서명을 수행한다. * '''수신자(검증자)''' ** 서명된 문서를 수신하는 자를 말한다. 서명을 통해 문서의 진위를 확인한다. * '''공개키 쌍''' ** [[공개키 암호화]]를 사용한다. ** 개인키는 송신자만 알고 있고, 공개키를 검증자에게 제공한다. ** 이 공개키의 소유자가 송신자라는 사실은 기존에 확립되어 있어야 한다. == 두가지 방법 == '''메시지에 직접 서명하는 방법''' * 원본 메시지가 얼마나 큰 값(문서, 파일 등)이든 원본 메시지를 직접 암호화 하는 방식으로 서명한다. * 더 직관적인 방법이지만 서명과 검증에 모두 더 큰 부하가 생긴다. '''메시지의 해시 값에 서명하는 방법''' * 원본 메시지의 해시값을 암호화하는 방식으로 서명한다. * 원본 메시지의 해싱 이라는 추가적인 절차가 생긴다. * 하지만 훨씬 더 가볍고 빠르게 수행 가능함에도 서명 효과는 동일하다. == 절차 == '''기본적인 암호화 활용 구조''' [[파일:디지털 서명 암호화 과정.png|700x700픽셀]] '''메시지에 직접 서명하는 방법''' [[파일:디지털 서명 메시지에 직접 서명하는 과정 예시.png|700x700픽셀]] '''메시지의 해시 값에 서명하는 방법''' [[파일:디지털 서명 해시값에 서명하는 과정 예시.png|700x700픽셀]] == 디지털 서명에 대한 의문과 답(FAQ) == * '''디지털 서명 검증을 위해 원본 메시지와 서명값이 같이 보내지고 있는데, 이렇게 하면 암호화를 했다고 해도 기밀성은 보장할 수 없게 되는 것이 아닌가?''' ** 맞다. 다만, 디지털 서명은 기밀성을 지키기 위한 것은 아니다. ** 만약 기밀성이 필요하다면 메시지를 그대로 보내는 것 이 아니고, 암호화를 별도로 행해서 보내야 된다. * '''디지털 서명이라고 해도 단지 컴퓨터상의 데이터에 지나지 않으므로, 간단하게 복사본을 만들 수 있을 것 같은 느낌이 든다. 만약 같은 내용의 복사본을 간단히 만들 수 있다면 서명이라고 말할 수 없지 않을까?''' ** 사실 서명이라고 해도 단지 컴퓨터상의 데이터에 지 나지 않는다. ** 메시지의 마지막에 이름이 첨부되어 있는 경우도 있 고, 메시지와는 분리되어 서명이 별도의 파일로 되어 있는 경우도 있다. ** 어느 경우라도 통상의 파일 복사처럼 같은 내용에 대 한 복사를 몇 개라도 간단히 만들 수 있다. ** 서명은 그것이 원본이냐 사본이냐 하는 오리지널리티 의 진위가 중요한 것이 아니고, 특정 서명자와 특정 메 시지가 결부되어 있다는 사실이 중요한 것이다. ** 아무리 많이 복사를 해도 「그 메시지에 누가 서명했 는가」하는 사실에는 조금도 변화가 없다. 복사는 할 수 있다. 그러나 그것에 의해 서명이 무의미해지는 것 은 아니다. ** 이것은 서명된 계약서를 복사기로 복사하거나 스캔본을 만드는 것과 같다. * '''디지털 서명이라고 해도 단지 데이터이므로 메시지와 서명 양쪽을 원하는 만큼 변경할 수 있을 것이다. 그렇다면 서명이라고는 말할 수 없는 것이 아닐까?''' ** 확실히 서명한 후에 메시지와 서명의 내용을 수정할 수는 있다. ** 그러나 수정해 버리면 서명의 검증에 실패하기 때문 에, 검증하는 사람은 수정이 되었다는 것을 검출할 수 있다. ** 디지털 서명이 실현하고자 하는 것은 변경하지 못하도록 막는 방지가 아니라 문서에 변경 행위가 있었는지 아닌지를 검출하는 것이다. * '''서명 대상의 메시지와 서명 양쪽을 수정해서 서명의 검증에 성공할 수 있도록 앞뒤를 잘 맞출 수 있지는 않을까?''' ** 아니다. 이는 암호학의 원리와 암호 알고리즘의 안전성에 기반한다. ** 서명 대상의 메시지가 1비트만 바뀌어도 서명값은 완전히 변한다. ** 안전성이 검증된 암호화 알고리즘이라면 암호 키를 모르고 있는 상태에서 원하는 원본 메시지의 암호화 결과는 알 수 없다. ** 다만 취약성이 밝혀진 암호화 알고리즘을 사용한 경우엔 이것이 가능해질 수도 있다. 디지털 서명은 아직까지 안전성이 보장된 암호화 알고리즘을 사용한 서명이었다는 전제 하에서 그 서명의 진위성이 보장된다. * '''구체적인 누군가의 디지털 서명을 손에 넣었다면 그 서명 부분만 잘라내서 다른 메시지에 첨부할 수 있다 고 생각한다. 그렇다면 서명이 되는 것이 아닐까?''' ** 서명 부분을 잘라낸다는 행위는 현실 세계의 종이로 된 계약서에서 서명을 베끼는 행위와 같은 공격으로, 실현 가능성이 있다. ** 그러나 디지털 서명의 경우에는 메시지와 서명 사이에는 수 학적인 이론에 기초한 대응 관계가 있다. 메시지가 다르면 서명도 다르기 때문에 서명만 잘라내 서 재이용하는 것은 사실상 불가능하다. * '''메시지 인증 코드로는 부인 방지를 할 수 없는데, 디지털 서명으로는 부인 방지를 할 수 있는 것은 왜인가?''' ** 부인 방지는 「키를 가지고 있는 것은 누구인가?」라 는 물음과 깊은 관계가 있다. ** 메시지 인증 코드의 경우 MAC 값을 계산할 수 있는 키(공유 키)는 송신자와 수신자 양 쪽이 가지고 있었다. 그러므로 송신자와 수신자의 어느 쪽이 라도 MAC 값을 계산할 수 있었다. 「그 MAC 값을 계산한 것은 내가 아니라 수신자 쪽이다」라 고 주장하는 것이 가능했다. ** 디지털 서명의 경우 서명을 작성할 수 있는 키(개인 키)는 송신자만 가지고 있다. 서명을 작성할 수 있는 것은 송신자뿐 송신자는 「그 서명을 작성한 것은 내가 아니다」라고 주장 할 수가 없다. == 관련 기출 문제 == * [https://q.fran.kr/문제/8292 서울시공무원 9급 전산직 1806 기출문제] * [https://q.fran.kr/문제/8685 국가공무원 9급 네트워크 보안 2019년 기출문제]
요약:
IT 위키에서의 모든 기여는 크리에이티브 커먼즈 저작자표시-비영리-동일조건변경허락 라이선스로 배포된다는 점을 유의해 주세요(자세한 내용에 대해서는
IT 위키:저작권
문서를 읽어주세요). 만약 여기에 동의하지 않는다면 문서를 저장하지 말아 주세요.
또한, 직접 작성했거나 퍼블릭 도메인과 같은 자유 문서에서 가져왔다는 것을 보증해야 합니다.
저작권이 있는 내용을 허가 없이 저장하지 마세요!
취소
편집 도움말
(새 창에서 열림)
둘러보기
둘러보기
대문
최근 바뀜
광고
위키 도구
위키 도구
특수 문서 목록
문서 도구
문서 도구
사용자 문서 도구
더 보기
여기를 가리키는 문서
가리키는 글의 최근 바뀜
문서 정보
문서 기록