전자서명
: 펜 대신 컴퓨터로 서명자의 신원을 확인하는 것
· 전자서명의 형식
● 공개키 서명방식 (공개키 암호방식 사용)
: 서명자의 검증정보를 공개 → 누구나 검증 가능
▶ 서명 생성·검증이 간편
● 중재서명방식 (대칭키 암호방식 사용)
: 서명 생성과 검증을 제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분정도 기출문제 좀 보다가 자겠다.
'정보보안산업기사 필기' 카테고리의 다른 글
| [암호학] PKI(Public-Key Infrastructure) - 인증서 (4) | 2026.04.09 |
|---|---|
| [암호학] PKI(Public-Key Infrastructure) (4) | 2026.04.08 |
| [암호학] 메시지 인증코드(MAC) (1) | 2026.04.05 |
| [암호학] 다양한 해시함수 (0) | 2026.04.05 |
| [암호학] 일방향 해시함수 (3) | 2026.04.01 |