[정보보안기사 필기 요약] 전자서명과 PKI
1) 공개키 암호와 전자서명 키 사용 방법
공개키 암호 암호모드 : 수신자 공개키로 암호화 -> 수신자 개인키로 복호화
전자서명 인증모드 : 송신자 개인키로 서명 -> 송신자 공개키로 검증
-> 개인키(비밀키)는 개인이 갖고, 공개키는 누구나 소유할 수 있음
2) 전자서명의 주요 기능 -> 기밀성X
- 위조 불가(Unforgeable)
합법적인 서명자만이 전자서명 생성 가능
- 서명자 인증(User authentication)
전자서명의 서명자를 불특정 다수가 특정할 수 있음
- 부인 방지(Non-repudiation)
서명자는 서명한 사실을 부인할 수 없음
- 변경 불가(Unalterable)
서명한 문서의 내용을 변경할 수 없음
- 재사용 불가(Not reusable)
전자문서의 서명을 다른 전자문서의 서명으로 사용할 수 없음
3) 전자서명 종류
구분 | 이론 | 특징 |
RSA | 소인수분해 | RSA아이디어 이요, 송신자 개인키/공개키 이용 |
ElGamal | 이산대수 | RSA 서명 길이의 2배 (암호문 = 평문 2배), 속도 느림 |
Schonorr | 이산대수 | ElGamal에 기반, 서명 크기 줄임 |
DSS | 이산대수 | ElGamal 서명 개량, 미국전자서명표준(서명전용) |
ECDSA (ECC) | 타원곡선상의 이산대수 | DSA를 타원곡선 위의 알고리즘으로 변환 |
KCDSA | 이산대수 | HAS-160 (해시함수), 한국 |
EC-KCDSA (ECC) | 타원곡선상의 이산대수 | SHA-224이상(추가), 2014년 개정, 한국, KCDSA를 타원곡선 위의 알고리즘으로 변환 |
알고리즘 | 암/복호화 | 전자서명 | 키 교환 |
RSA | O | O | O |
ECC | O | O | O |
Diffie-Hellman | X | X | O |
DSS | X | O | X |
*국내 암호 알고리즘*
블록 암호 : ARIA, SEED, HIGHT, LEA
해시 암호 : LSH, HAS-160
전자서명 : KCDSA
4) 메시지 복원형 전자서명 (메시지 비교)
기존의 공개키 암호화 방식을 이용 -> 많은 시간 소요, 많이 사용되지 않음
메시지를 수신자의 개인키로 암호화, 수신자의 공개키로 메시지 복호화
5) 메시지 부가형 전자서명 (해시값 비교)
해시 알고리즘 사용 -> 효율적인 방법으로 실제 많이 쓰임
해시값을 수신자의 개인키로 암호화, 수신자의 공개키로 해시값을 복호화하여 비교
** 해시함수는 압축의 기능을 가지고 있어서 효율적
6) 특수 전자서명
일반적인 전자서명의 경우 검증키(송신자 공개키)를 공개하고 있어 누구나 접근 가능
-> 이를 제한적으로 사용하려고 하는 경우 불가능
-> 다양한 형태의 전자서명이 필요할 때
- 부인방지 전자서명
서명을 검증할 때 반드시 서명자의 도움이 있어야 검증이 가능한 방식
- 의뢰 부인방지 서명
임의의 검증자가 부인 과정을 수행하지 못하고 분쟁이 일어났을 때, 재판관만이 부인 과정을 수행하는 방식
- 수신자 지정 서명
서명 검증 시 특정 검증자만이 서명을 확인할 수 있도록 하되, 그 서명이 문제가 되는 경우라도 검증자의 비밀서명 생성정보를 노출시키지 않고 제3자에게 서명의 출처를 증명함으로써 분쟁 해결 기능을 제공하는 방식
- 은닉 서명(블라인드 서명) ★5
서명자가 서명 내용을 알지 못하는 상태에서 서명토록 한 방식
- 위임 서명
위임 서명자로 하여금 서명자를 대신해서 대리로 서명할 수 있도록 구성한 방식
- 다중 서명
동일한 전자문서에 여러 사람이 서명하는 방식 -> 검증시 시간 많이 걸림
7) PKI (Public Key Infrastructure)
PKI는 공개키 알고리즘을 위한 키 관리 구조 -> 안정적인 환경 조성
인증서를 생성, 관리, 저장, 분배, 취소하는데 필요한 하드웨어, 소프트웨어, 사람, 정책 및 절차
인증기관, 등록기관, 사용자, 신뢰 당사자, 저장소 등의 요소로 구성
인증기관(CA) : 일종의 행정관청, 공인인증서 : 일종의 주민등록증
★CA의 개인키로 서명 (사전에 CA의 공개키를 미리 획득) -> MITA공격(중간자 공격) 막기
PAA 정책승인기관 - 과기부 |
PCA 정책인증기관 - KISA |
CA 인증기관 - 금융결제기관 |
8) PKI의 구성요소
인증기관 |
인증서 발행 / 폐기 / 인증 1. PAA 정책승인기관 (Policy Approving Authority) PKI 전반에 사용되는 정책과 절차를 생성하고 PKI구축의 루트 CA역할을 수행 2. PCA 정책인증기관 (Policy Certification Authority) 자신의 도메인 내의 사용자와 인증기관이 따라야 할 정책을 수립 인증기관(CA)의 공개키를 인증하고 인증서, 인증서 폐지 목록 등을 관리 3. CA 인증기관 (Certification Authority) 공개키 인증서를 발급하고 또 필요에 따라 취소 공개키를 사용자에게 전달, 인증서/인증서 취소목록 등을 보관 |
등록기관(RA) | 인증기관 대신 사용자들의 인증서 신청시 그들의 신분과 소속을 확인하는 기능을 수행 신분 확인 -> 인증서 요청에 서명 -> 인증기관에 제출 -> 인증기관이 인증서 발행 후 등록기관 또는 사용자에게 전달 |
저장소 | 인증서와 사용자 관련 정보, 상호 인증서 쌍 및 인증서 취소 목록 등을 저장 및 검색하는 장소 LDAP(디렉토리 관리 서버)를 사용하여 검색 프로토콜 제공 |
사용자 | PKI 내의 사용자는 사람 or 시스템 - 자신의 비밀키와 공개키 쌍을 생성 - 인증기관에 공개키 요청서를 요청하고 인증을 받는다 - 전자서명을 생성 및 검증 - 특정 사용자의 인증서를 획득하고 그 상태를 확인 - 인증 경로를 해석하고, 디렉토리를 이용하여 인증서를 타 사용자에게 제공 - 인증서 취소목록을 이용하여 인증서 상태를 검증 |
9) PKI 형태별 장단점
계층적 구조 (Root CA) | 네트워크형 구조 (독립적으로 존재) | |
장점 | 정부와 같은 관료 조직에 적합 인증경로 탐색이 용이 모든 사용자가 최상위 CA의 공개키를 알고 있어 인증서 검증 용이 |
유연하며 실질적인 업무관계에 적합 CA 상호인증이 직접 이루어지므로 인증경로 단순 CA의 비밀키 노출 시 국소적 피해 |
단점 | 최상위 CA에 집중되는 오버헤드 협동업무 관계에 부적합 최상위 CA의 비밀키 노출 시 피해 규모 막대함 |
인증경로 탐색 복잡함 인증정책 수립 및 적용 어려움 |
10) PKI의 주요 관리 대상 ★5
① 인증서 (PKC, Public Key Certificate)
공개키가 특정인의 것이라는 것을 확신할 수 있는 증거로서의 기능을 수행(신분증)
표준화된 양식에 의거하여 믿을 수 있는 제3자(인증기관)가 발행
공개키 인증서에는 이름, 소속, 메일 등의 개인정보와 공개키가 기재되고, 인증기관(CA)의 개인키로 전자서명 되어있음
인증서의 표준 규격이 정해져 있음(X.509)
② 인증서 프로파일 (X.509 v3)
버전(Version) | 필수 | 인증서의 X.509 버전을 정의 |
일련번호(Serial Number) | 인증기관에 의해 각 인증서에 부여되는 번호 (반드시 유일해야 함) | |
서명 알고리즘 식별자 (Signature Algorithm ID) |
서명하기 위한 알고리즘과 알고리즘 식별자를 포함 -> 서명 필드에도 포함 | |
발행자 이름(Issuer name) | 인증서 발행자(인증기관) | |
유효기간(Validity period) | 두 개의 날짜(notBefore ~ notAfter) | |
주체 이름(Subject name) | 사용자(피발급자)의 이름 | |
주체의 공개키 정보 (Subject Public Key) |
소유자의 공개키를 나타내며, 인증서의 핵심 | |
서명(Signature) -> 가장 맨 끝 | 인증서에 대한 서명값이 들어가며, 나머지 필드 전체를 보호함 다른 필드 전체에 해시함수를 적용해서 얻어진 해시코드를 포함 이 코드를 CA의 개인키로 암호화 |
|
발행자 유일 식별자 (Issuer Unique Indentifier) |
선택 | 발급자나 사용자의 이름이 중복되는 경우 이를 구별하기 위한 수단 |
주체 유일 식별자 (Subject Unique Identifer) |
비트열 필드, 주체를 유일하게 굽려하는 데 사용 | |
확장(Extensions) | 추가적으로 사적인 정보를 넣을 수 있음 - 키와 정책 정보 기관키 식별자, 사용자키 식별자, 키사용, 인증서 정책 - 사용자와 발행자 속성 사용자 대체 이름, 발급자 대체 이름 - 인증 경로 제약조건 기본 제한, 이름 제한, 정책 제한 |
③ X.509 인증서 / 인증서 취소 목록(CRL)
-> CA의 개인키로 서명하여 발행 또는 취소
④ 온라인 인증서 상태 검증 프로토콜 (OCSP, Online Certificate Status Protocol)
실시간으로 인증서의 상태 정보를 확인할 수 있도록 지원하는 서비스
OCSP 클라이언트, OCSP 서버, 인증 서버로 구성
CRL에 비해 발행주기가 짧음