정보보안산업기사 필기

[암호학] 전자서명

zzadary1012 2026. 4. 7. 23:10

전자서명 

: 펜 대신 컴퓨터로 서명자의 신원을 확인하는 것

 

 

· 전자서명의 형식

 

● 공개키 서명방식 (공개키 암호방식 사용)

: 서명자의 검증정보를 공개 → 누구나 검증 가능 

 

▶ 서명 생성·검증이 간편

 

● 중재서명방식 (대칭키 암호방식 사용)

: 서명 생성과 검증을 제3자가 중재 → 불편함

 

아래부터 나오는 설명은 공개키 서명방식이다.

 

 

· 전자서명의 과정

 

① 송신자는 서명 알고리즘(Signing Algorithm)을 이용하여 메시지에 검증

→ 이 과정에서 송신자의 개인키(Private Key)를 사용 : 당연히 송신자가 개인키를 써야 전자서명의 기능 가능

② 메시지와 서명을 수신자에게 전송

③ 수신자는 이들에 검증 알고리즘(Verifying Algorithm)을 적용

→ 이 과정에서 송신자의 공개키(Public Key)를 사용

 

▶ 결과의 참·거짓을 판별하여 문서 판단

+ 암호화에서는 수신자의 공개키·개인키를 사용하는 반면, 전자서명에서는 송신자의 키를 사용

 

 

 

· 전자서명 서비스

 

(1) 메시지 인증

: Bob이 받은 메시지가 Alice로부터 왔다는 것을 확신할 수 있음 

→ 메시지 인증(데이터 근원 인증) 보장

 

(2) 메시지 무결성

: 메시지가 변경되면 서명 또한 달라지기 때문에 무결성도 보장된다.

 

(3) 부인방지

: 서명이 되어 있는 메시지의 존재는 부인방지의 기능을 한다.

 

(4) 기밀성

: 단순히 전자서명이 기밀성을 보장해주지 않는다.

→ 기밀성을 보장하기 위해선 암·복호화를 위한 다른 수단이 필요함

 

 

 

· 전자서명의 기능(중요)

 

① 위조 불가(Unforgeable) : 합법적인 서명자만 전자서명 생성 가능

② 서명자 인증(User Authentication) : 전자서명의 서명자를 모든 사람이 검증 가능해야함

③ 부인방지(Non-repudiation) : 서명자는 서명 사실을 부인할 수 없음

④ 변경 불가(Unalterable) : 서명한 문서의 내용을 바꿀 수 없음

⑤ 재사용 불가(Not Reusable) : 문서의 서명을 다른 문서의 서명으로 사용 불가능함

 

 

 

· 전자서명의 구조

 

(1) RSA 전자서명 구조

: RSA 아이디어를 이용하여 메시지에 서명하는 것 → RSA 전자서명의 안전도 = RSA 암호 방식의 안전도 (큰 수의 소인수 분해가 어렵다는 아이디어)

 

- d : 개인키

- e, n : 공개함

 

▶ 앞서 언급했듯이, 전자서명은 암호화의 경우와 달리 송신자의 개인·공개키를 사용한다.

 

(2) ElGamal 전자서명 구조

: ElGamal과 동일한 키를 사용하지만 알고리즘이 다름 → 이산대수 문제를 이용

 

▶ 실제로 거의 사용되지 않음 / DSA가 훨씬 많이 사용됨

 

(3) Schnorr 전자서명 구조

: ElGamal에 기반을 두고 있지만 서명의 크기가 작다.

 

(4) 전자서명 표준(DSS, Digital Signature Standard)

: 미국의 전자서명 표준 → ElGamal 전자서명 개량 (계산량을 줄임)

 

(5) 타원곡선 전자서명 구조

: 타원곡선에 기반을 둔 DSA → ECDSA (Elliptic Curve DSA)라 불림

 

 

 

· 전자서명 방식

 

(1) 메시지 복원형 전자서명

: 서명자가 본인의 개인키 이용 → 메시지를 암호화하여 전송 → 검증자가 서명자의 공개키를 이용하여 복호화

▶ 기존의 공개키 암호방식을 사용하므로 별도의 전자서명 프로토콜 필요 X

 

BUT. 메시지를 일정한 크기의 블록으로 나누어 각각의 블록에 서명해야 하므로 많은 시간 소요

→ 실제로는 사용 X

 

(2) 부가형 전자서명

: 메시지를 해시 알고리즘을 이용하여 압축한 후, 해시값에 전자서명하여 이를 메시지에 덧붙여 전송

→ 전송량이 늘어나지만 서명생성 과정이 한 번만 있으므로 효율적

 

▶ 메시지 전체를 암호화 X 

▶ 해시 함수를 이용하여 메시지의 해시값을 구하고, 해시값을 암호화함

 

 

 

· 특수 전자서명

: 공개키 방식 → 모두가 서명의 진위를 검증 가능 

 

▶ 전자서명을 제한적으로 사용하기 힘듦. 이러한 문제를 해결하기 위해 다양한 전자서명 등장

 

(1) 부인방지 전자서명

: 검증자가 서명을 검증할 때 반드시 서명자의 도움이 있어야 검증이 가능함

 

(2) 의뢰 부인방지 서명

: 검증자를 지정해놓은 서명 (Ex. 재판관 등)

 

(3) 수신자 지정 서명

: 서명의 검증 시 특정 검증자만이 서명을 확인할 수 있도록 함

→ 특정 검증자는 제3자에게 서명의 진위를 증명가능함

 

(4) 은닉 서명(블라인드 서명, Blind Digital Signature) - 중요

: 서명자가 서명문 내용을 알지 못하는 상태에서 서명토록 하는 방식

→ 제공자(Provider : 서명을 받는 사람)의 신원과 서명문을 연결시킬 수 없는 익명성 유지 가능

 

Q. 무슨 말인지 이해가 안 됨

A. 서비스 제공자가 사용자의 행동을 추적하는 것을 방지함

 

Ex) 전자 투표, 전자 현금, ... etc

 

(5) 위임 서명(Proxy Digital Signature)

: 서명자가 부재할 시 대리해서 서명을 할 수 있는 서명 (위임 서명자)

 

(6) 다중서명(Multisignatures)

: 동일한 전자문서에 여러 사람이 서명하는 것

 

 

 

· 전자서명의 응용

 

(1) 전자투표(Electronic Voting)

: 선거인 명부를 데이터베이스로 구축한 중앙 시스템과 직접 연결된 단말에 본인을 증명하면 단말이 있는 어디에서나 투표를 할 수 있는 방식

→ 인증과 기밀성 유지때문에 현실적으로 실행하기 어려움

 

- 전자투표 시스템 구현을 위한 요구사항

① 완전성 : 모든 투표가 정확하게 집계되어야 함

② 익명성 : 투표결과로부터 투표자들을 구분할 수 없어야 함

③ 건전성 : 부정한 투표자로 인해 선거가 방해되는 일이 없어야 함

④ 이중투표방지 : 한 사람이 두 번 투표를 하는 것이 불가능함

⑤ 정당성 : 투표에 영향을 미치는 것이 없어야 함

⑥ 적임성 : 투표권한을 가진 자만 투표가능함

⑦ 검증 가능 : 누구라도 투표 결과를 확인하여 검증할 수 있어야 함

 

- 전자투표 방식

● 투표소 전자투표(PSEV, Poll Site E-Voting)

: 터치스크린 기표기가 대표적 (전자기기의 터치스크린 화면을 보며 버튼을 누르는 것)

 

● 원격 인터넷 투표(REV, Remote Internet E-Voting)

: 투표소에 가지 않아도 투표가능

 

 

(2) 전자입찰 시스템

: 다수의 공급자가 응찰한다면 가장 싼 가격을 제시한 응찰자와 계약을 맺는 입찰방식을 인터넷으로 구현

 

- 전자입찰 시스템의 요구사항

① 독립성 : 전자입찰 시스템의 각 구성요소는 독자적인 자율성을 보장받아야 함

② 비밀성 : 개별 정보는 노출되어선 안 됨

③ 무결성 : 입찰 시 입찰자의 정보를 확인 가능하게 함으로써 누락 및 변조 여부 확인 가능해야 함

④ 공평성 : 입찰이 수행될 때 모든 정보는 공개되어야 함

⑤ 안전성 : 입찰 참여자 간의 공모는 방지, 입찰 공고자와 서버의 독단이 발생해선 안 됨

 

- 전자입찰 수행 시 문제점

① 네트워크상의 메시지 유출

② 입찰자와 서버 사이의 공모

③ 입찰자간의 공모

④ 입찰자와 입찰 공무자간의 공모

 

 

 

· 전자서명으로 해결 불가능한 문제

: 서명 검증을 할 때 이용하는 공개키가 "진짜 송신자의 공개키"이어야 전자서명이 바르게 이용될 수 있음

 

→ 바른 공개키를 입수하기 위해 고안된 것 = 인증서 : 공개키를 메시지로 간주하여 신뢰가능한 다른 사람에게 전자서명해서 받은 공개키

 

 

.

.

.

.

.

 

 

♠ 2026.04.07 / D-288 ♠

 

어제는 당직근무 투입하느라 블로그를 쓰지 못했다. 오늘은 전자서명에 대해 공부했다. 전자서명이란 간단히 말해서 컴퓨터를 통해 "내가 전송한 메시지야"를 증명하는 것이다. 이를 위해서 가장 많이 사용하는것이 공개키 서명방식, 그 중에서도 부가형 전자서명이다. 전자서명을 할 때에는 수신자가 아닌 송신자의 키를 사용하여 암·복호화를 진행한다. 그 중에서도 부가형 전자서명을 진행할 땐 해시 알고리즘을 사용하여 메시지를 입력하여 해시값을 얻고, 여기에 전자서명하여 메시지에 덧붙여 전송한다. 이 때 기밀성은 보장되지 않기 때문에 수신자의 키를 사용하거나 하는 방법들로 메시지와 서명을 암호화해야 한다.

 

요즘따라 잠을 잘 못 자는것 것 같다. 언제쯤 푹 잘 수 있을지 . . . . . . 만성피로에 찌들었지만 매일 공부는 하겠다.

오늘 블로그는 이정도로 쓰고 한 30분정도 기출문제 좀 보다가 자겠다.