본문 바로가기
공부/정보보안기사

전자서명

by Skogkatt의 개인 블로그 2019. 8. 22.
반응형

전자서명

  • 인터넷 상의 전자적 형태의 자료로 서명자의 신원을 확인하고 서명자가 전자문서에 서명했다는 사실을 나타내는 데 사용되는 기술.
  • 종이문서의 서명(인감)과 같이 전자문서에 서명한 사람이 누구이지 확인하고 서명된 전자문서의 위·변조 사실을 알 수 있도록 전자문서에 부착하는 특수한 형태의 디지털 정보를 말한다.
  • 전자서명은 인감도장의 역할을 하는 '생성'과 인감증명의 역할을 하는 '검증' 등 한 쌍의 전자서명 키로 구성되는데 생성 키는 서명자만 보관해서 사용하고 전자서명 검증키는 정보통신망을 통해 누구나 알 수 있도록 공개된다.
  • 전자서명에 대한 인증은 한국증권전산(증권분야), 금융결제원(금융분야), 한국정보인증(전자거래분야), 정부전산정보관리소(행정분야) 등 4개 공인인증기관에서 하게 된다.
  • 인증받은 전자서명키로 서명한 전자문서에 문제가 생기면 국가가 책임을 진다.[각주:1]
  • 엄격하게는 전자서명(electronic signature)은 전자기술을 이용하여 구현된 모든 서명을 의미하고,
    디지털 서명(digital Siignature)은 일반적으로 전자서명 중 공개 키 기반의 암호화 방식을 사용한 서명을 의미한다.
  • 전자서명이 바르게 이용되기 위해서는 서명 검증 시 사용되는 공개 키가 정확한 송신자의 공개 키여야 한다.
    바른 공개 키를 입수하기 위해 고안된 것이 인증서인데, 여기서 인증서는 공개키를 메시지로 간주하고 전자 서명해서 받은 공개키를 말한다.

전자서명 과정

전자서명 생성 과정
  1. 참여자 A는 공개키와 개인키의 쌍을 생성한다.
  2. 전자문서(원문)를 해시 함수에 통과시켜 고정된 길이의 출력 값(Message Digest)으로 변환한다.
  3. 생성한 개인키로 Message Digest를 암호화한다.

개인키로 Message Digest를 암호화하는 것은 "내 개인 키로 원문의 사실에 서명한다."라는 의미를 가지게 된다.

이렇게 생성된 암호화 메시지가 '전자서명'이다.

 

전자서명 검증 과정
  1. 참여자 B는 A가 생성한 공개키를 이용하여 전자서명을 복호화한다.
  2. 생성 과정 때와 마찬가지로 전자문서(원문)를 해시 함수에 통과시켜 Message Digest를 만들어 낸다.
  3. 축약된 메시지의 값이 복호화된 전자 서명과 일치하는지 대조하여 검증한다. 

전자서명의 주요 서비스

메시지 인증
  • 안전한 전자서명 구조는 메시지 인증[각주:2]을 보장한다.
메시지 무결성
  • 전체 메시지에 서명을 할 경우, 메시지가 변경되면 서명 또한 달라지기 때문에 무결성이 보장된다.
  • 현재 사용되는 전자서명 시스템은 해시 함수를 사용하여 서명과 검증 알고리즘을 만든다.
    이 알고리즘은 메시지의 무결성을 보증한다. 
부인 방지
  • 나중에 송신자가 메시지를 보낸 사실을 부정한다면, 센터는 저장하고 있는 메시지를 제시할 수 있다. [각주:3]

전자서명의 주요 원칙

위조 불가(Unforgeable)
  • 합법적인 서명자만 전자서명을 생성할 수 있어야 한다.
서명자 인증(User authentication)
  • 전자서명의 서명자를 누구든지 검증할 수 있어야 한다.
부인 방지(Non-repudiation)
  • 서명자는 서명 행위 이후에 서명한 사실을 부인할 수 없어야 한다.
변경 불가(Unalterable)
  • 서명한 내용의 문서는 변경할 수 없어야 한다.
재사용 불가(Not reusable)
  • 전자문서의 서명을 다른 전자문서의 서명으로 사용할 수 없어야 한다.

전자서명의 종류

RSA 전자서명
  • RSA  방식을 이용한 전자서명으로, RSA 암호의 안전도와 동일한 안전도를 가진다.
  • 소수 $p, q$의 크기에 따른 소인수분해의 어려움을 기반으로 한 전자서명 방식이다.
  • 전자서명 구조에서는 개인키와 공개키의 역할이 바뀐다.
    RSA 암호처럼 수신자의 키를 사용하는 것이 아니라 송신자의 키를 사용한다.
ElGamal 전자서명
  • ElGamal 암호 시스템과 동일한 키를 사용하지만 알고리즘의 구조는 다르다.[각주:4]
  • 이산대수 문제를 이용한 최초의 서명 방식이다.
  • 실제로는 거의 사용되지 않으며, 변형된 DSA방식들이 훨씬 많이 사용된다.
  • 이산대수 문제로부터 안전해지기 위해 매우 큰 소수를 필요로 하는 문제가 있다.
    권장되는 소수의 크기는 1024bit 이상인데, 이로 인해 서명의 길이는 2048bit가 넘어간다.
전자서명 표준(DDS, Digital Signature Standard)
  • NIST가 제안한 미국의 전자서명 표준으로 ElGamal 전자서명을 개량한 방식이다.
  • ElGamal 방식과 유사하지만, 서명과 검증에 소요되는 계산량을 획기적으로 줄였다.
    서명 길이는 320bit이며 ElGamal에 대한 공격 일부를 해결하였다.
  • 이산대수 문제를 기반으로 하며, 오직 전자서명 기능만을 제공하도록 설계되었다.[각주:5]
KCDSA 전자서명 (Korea Certification-based Digital Signature Algoritm)
  • 국내에서도 전자서명 표준 방식의 필요성을 인식하여 한국정보통신학회와 정보보호학회의 연구자들을 중심으로 1994년부터 개발한 방식이다.
  • 안전성 평가를 거쳐 1997년 국가표준으로 채택되었으며, 이후 지속적인 수정 및 보완작업을 거쳐 1998년 10월 한국정보통신기술협회(TTA)에서 단체표준으로 제정되었다.
  • ElGamal 전자서명을 개선, DSS 방식을 변형한 방식이다.
  • 효율성을 높이고 장차 스마트카드 이용 시의 편리성을 고려하였다.
타원곡선 전자서명
Schnorr 전자서명

전자서명 방식

메시지 복원형 전자서명
  • 서명자(송신자)가 개인 키를 이용해 암호화 한 메시지를 검증자(수신자)가 공개 키를 이용해 복호화하여 '이 메시지가 유효한 것'임을 확인하는 방식이다.
  • 기존의 공개 키 암호 방식을 이용하므로 별도의 전자서명 프로토콜이 필요 없다.
  • 메시지를 일정한 크기의 블록으로 나누어 그 각각의 블록에 서명을 해야 하기 때문에 많은 시간이 소요되어 실제로는 사용되지 않는다.
  • 서명자가 미리 공개 키와 개인 키를 만들어야 한다. 또한 검증자가 서명을 검증하기 위해서는 공개 키를 미리 입수해야 한다.
부가형 전자서명
  • 임의의 길이의 메시지를 해시 함수를 사용해 일정한 길이로 압축하고, 서명자의 개인 키를 사용해 해시값에 전자서명한 후 메시지에 덧붙여 전송하는 방식이다.
  • 수신된 메시지의 해시값과 공 개 키를 이용하여 전자서명을 복호화한 값을 비교하여 검증한다. 
  • 부가형 전자서명은 메시지 이외에 전자서명을 따로 전송해야 하지만, 메시지가 아무리 길더라도 한 번의 서명 생성 과정만이 필요하므로 실제로 많이 사용되는 방식이다.
  • 일방향 해시 함수를 사용해 메시지 해시값을 구하고 그 해시값에 암호화(서명)하도록 한다.
  • 메시지가 아무리 길어도 해시값은 짧기 때문에 암호화(서명)하는 것이 훨씬 수월하다.

특수 전자서명

공개 키 방식을 이용한 전자 서명은 검증할 수 있는 키를 공개하고 있기 때문에 누구나 서명의 진위를 검증할 수 있다.

이는 전자 서명을 제한하고 싶을 경우 곤란한데, 경우에 따라 개인의 이익 침해나 사생활 노출로 이어질 수 있다.

따라서 서명자의 동의가 있어야 검증이 가능하거나, 서명 문의 내용을 확인하지 못하는 상태에서의 서명 등 다양한 형태에 맞는 전자 서명을 개발하였다.

부인 방지 전자 서명
  • 일반적인 전자서명의 검증은 누구든지 검증이 가능한 자체 인증 기능 특성을 가지고 있다.
    부인 방지 전자서명은 이런 인증 시스템을 배제하여 검증 시 검증 시 반드시 서명자의 도움이 있어야 검증이 가능한 방식이다.
의뢰 부인 방지 서명
  • 부인방지 서명의 서명자 익명성을 보장하지 못하는 문제을 부분적으로 개선한 방식.
수신자 지정 서명
  • 지정된 수신자만이 서명을 확인할 수 있는 방식.
은닉 서명
  • 서명자가 문서의 내용을 알지 못하는 상태에서 서명하는 방식.
  • 서명문의 내용을 숨기기 때문에 제공자의 익명성을 보장한다.
위임 서명
  • 본인이 부재중일 때 자신을 대신하여 서명을 할 수 있도록 위임 서명자를 지정하는 방식.
다중 서명
  • 하나의 문서의 여러 사람이 서명하는 방식.
  • 탄원 서명서와 같은 많은 수의 서명이 필요한 경우, 하나의 문서에 한 명만 서명하는 일반(단순) 서명을 적용하게 되면, 서명의 길이가 늘어나고 그에 따른 검증 시간이 오래 걸리는 단점이 생기게 된다.
    이런 문제점을 하나의 전자문서에 여러 사람이 서명하는 방식으로 해결하였다.

전자투표

  • 전자 기술을 사용하여 그 업무나 개표를 돕는 투표
  • 전자투표 체계는 규제 기관이 정한 일련의 기준을 따르면서 성공적으로 보안, 정확도, 온전함, 신속성, 사생활 보호, 감사 가능성, 접근성, 비용효과, 확장성, 생태적 지속성 등의 강력한 요구를 처리할 수 있어야 한다.

전자투표 시스템 구성 시 요구사항

  • 완전성 : 모든 투표가 정확하게 집계되어야 한다. 
  • 익명성 : 투표 결과로부터 투표자를 구별할 수 없어야 한다.
  • 건전성 : 부정한 투표자에 의해 투표가 방해되어서는 안 된다.
  • 이중투표 방지 : 투표자는 두 번 이상 투표할 수 없다.
  • 정당성 : 투표에 미치는 외적인 영향은 없어야 한다.
  • 검증 가능 : 투표 결과를 위조할 수 없도록 검증한다.

전자투표 방식

구분 투표장치 선거관리정도 기술적쟁점정도 특징
PSEV 방식 전자투표기 투표소의 투표기를 이용한 방식으로 이후 기록 장치를 개표소로 옮겨 결과를 집계한다.
Kiosk 방식 전자투표기 임의 투표소에서 실행되는 투표로 투표소와 개표소를 온라인으로 연결한 방식으로 투표 결과는 자동적으로 집계된다.
REV 방식 모바일, PC 등 투표소에 가지 않아도 인터넷으로 투표할 수 있는 방식으로 투표 결과가 자동으로 집계된다.

 

 

  1. 특히 암호와 기술이 이용되기 때문에 당사자 외에는 정보가 유출되지 않아 전자상거래가 활성화될 전망이다. [본문으로]
  2. 수신자가 받은 메시지가 정확한 송신자에게서 온 메시지라는 것을 보장 [본문으로]
  3. 만약 수신자의 메시지 센터가 보관하고 있는 메시지의 복사본과 같다면 송신자의 부인이 거짓이 되는 것이다. [본문으로]
  4. 암호화 과정과 전자서명 과정이 거의 동일한 RSA와 달리 ElGamal는 꽤 많이 다르다 [본문으로]
  5. DSS 기술은 RSA와 달리 암호화나 키 교환에 사용되지 않는다. [본문으로]
반응형

댓글