전자서명의 기능과 구성
설명 영상 전자서명의 기능과 구성 · 2:34
핵심 정리
전자서명은 전자문서에 첨부되거나 논리적으로 결합되어 서명자의 신원과 서명 사실을 나타내는 데 쓰이는 전자적 정보다. 「전자서명법」은 전자서명생성정보를 전자서명을 생성하는 데 이용하는 전자적 정보로 정의한다. 이 단원에서 다루는 핵심은 개인키로 서명을 만들고 공개키로 확인하는 구조, 전자서명이 제공하는 보안 기능, 그리고 기밀성을 제공하지 않는다는 한계이다.
전자서명은 서명자만 가진 개인키로 만들고, 이에 짝을 이루는 공개키로 누구나 검증한다. 디지털 서명은 송신자(서명자)의 개인키로 생성한다. 송신자는 일방향 해시 함수로 메시지의 해시 코드를 만든 뒤 그 해시값에 서명한다. 전자서명은 메시지의 해시값에 서명하는 방식으로 해시 함수를 활용한다. 수신자는 송신자의 공개키로 서명을 복호화해 해시 코드를 얻고, 그 값을 직접 계산한 해시값과 비교한다. 개인키로 생성, 공개키로 검증하는 구조가 전자서명의 출발점이다.
전자서명은 무결성, 서명자 인증, 부인방지를 제공한다. 서명 이후 문서가 변경되지 않았음을 검증할 수 있어 메시지 무결성을 제공한다. 서명자를 검증할 수 있어 서명자 인증을 제공한다. 서명자는 서명 사실을 부인할 수 없으므로 서명 부인 방지를 제공한다. 전자서명은 서명할 문서에 의존하는 비트 패턴이다. 전자서명은 문서마다 달라지므로 한 번 생성한 서명을 다른 문서에 재사용할 수 없다.
전자서명의 한계는 기밀성에서 드러난다. 기밀성은 암호화가 제공하는 서비스이며 전자서명이 제공하는 기능이 아니다. 기밀성, 무결성, 인증을 함께 얻으려면 서명과 암호화를 결합해야 하며, 서명과 암호화를 결합해야 한다. 인증·전자서명·기밀성·무결성을 모두 보장하려면 해시값을 개인키로 서명해 메시지와 연결한 뒤 공유키로 전체를 암호화해야 한다.
자세히
개인키·해시 기반 서명 구조
서명 생성에는 서명자의 개인키를 사용하고, 검증에는 공개키를 사용한다. 두 키는 짝을 이루며 개인키는 서명자만 보관하고 공개키는 공개해도 된다. 검증자는 서명자의 개인키를 알지 못해도 서명을 확인할 수 있다. 공개키 암호 방식은 전자서명의 생성과 검증에 사용된다.
전자서명의 기본 구성은 해시 코드를 송신자의 개인키로 암호화해 메시지에 포함하는 방식이다. 전자서명에서는 송신자의 개인키로 해시 코드를 암호화한 뒤 메시지에 포함한다. 전자서명을 생성하고 검증하는 과정에는 해시 함수가 쓰인다. 이 구조에서 해시 함수는 메시지 전체 대신 해시값에만 서명하게 하는 도구이다.
서명은 서명할 문서에 따라 달라진다. 문서 내용이 조금이라도 바뀌면 서명 검증에 실패하므로, 서명한 뒤에는 문서 내용을 임의로 변조할 수 없어야 한다. 변경 불가 기능은 서명된 문서의 내용이 바뀌지 않도록 하는 기능이다.
S/MIME·PGP·DNSSEC·SET의 구현 방식
응용 제도와 프로토콜은 각자의 방식으로 전자서명을 사용한다. S/MIME은 MIME 데이터에 전자서명과 암호화를 적용해 인증, 무결성, 부인방지 등을 제공한다. S/MIME의 서명과 암호화에는 RSA와 SHA-1이 쓰인다. S/MIME 전자서명에는 미국 연방 표준인 DSS를 쓸 수 있다.
PGP는 해시값에 RSA 같은 공개키 서명 알고리즘을 적용해 전자서명을 구현한다. PGP는 전자서명으로 인증을 제공한다. 전자서명을 한 뒤 암호화하여 보낼 때는 메시지 해시 계산, 해시값 서명, 하이브리드 암호화, 서명검증키와 암호문 전송 순으로 진행된다.
DNSSEC은 DNS 데이터에 공개키 기반 전자서명을 붙여 무결성을 제공한다. DNS 응답을 받는 리졸버는 수신한 데이터의 전자서명을 검증한다. DNSSEC은 DNS 캐시 포이즈닝 공격을 방어하도록 설계되었다. SET 이중 서명을 검증하려면 서명자인 고객의 공개키가 필요하다. SET 이중 서명을 검증하려면 주문 정보의 해시 값도 필요하다.
무결성·인증·부인방지의 범위
무결성, 인증, 부인방지는 전자서명이 제공하는 보안 기능으로 함께 출제된다. 전자서명은 송신자 인증과 부인방지 기능을 제공하므로 송신 부인방지에 적용되는 기술이다. 부인 방지는 송신자나 수신자가 메시지를 주고받은 사실을 나중에 부인하지 못하게 하는 기능이다. 부인방지 서비스는 메시지 인증 코드가 아니라 전자서명으로 제공한다. 부인방지는 전자서명이 제공한다는 점을 기억해야 한다. DSS 전자서명은 부인방지를 보장한다. 근원 인증은 전자서명이 제공하는 보안 서비스이다.
기밀성과의 구분
전자서명과 기밀성은 목적이 다르다. 암호화는 기밀성을 확보하고, 전자서명은 무결성·인증·부인방지를 제공한다. 해시값을 A의 개인키로 서명하는 방식은 전자서명만 제공하며 문서의 기밀성은 보장하지 않는다. 문서 전체를 개인키로 암호화하면 누구나 공개키로 복호화할 수 있으므로 기밀성이 없다.
이어지는 내용
- DSS와 DSA의 구조
- 법령상 정의와 운영기준
- 자주 헷갈리는 것
- 기출에서는
로그인하면 하루 5페이지까지 무료로 전체를 읽을 수 있습니다.
앱에서 이 절 읽기