정보보안기사&산업기사 필기 6장 요약 - 전자서명과 PKI
정보보안기사 필기 6장 요약내용입니다.
* 2020 조현준 정보보안기사 산업기사 필기 + 핵심기출 1200제 정보보안기사 & 산업기사 필기 교재를 기반으로 요약하였습니다.
Section 06. 전자서명과 PKI
1. 전자서명
1) 전자서명의 형식
(1) 개요
- 사용되는 암호 방식에 따라 두 가지로 구별
-
공개키 암호방식을 이용한 공개키 서명 방식 : 누구나 검증 가능하여, 서명 생성 및 검증이 간편한 방식
-
관용 암호방식을 이용한 중재 서명 방식 : 서명 생성과 검증을 제3자가 중재. 서명할 때마다 제3자의 참여가 있어야 하는 불편이 따름
(2) 전자서명 과정
- 송신자는 서명 알고리즘을 이용하여 메시지에 서명 > 수신자에게 전송 > 수신자는 메시지와 서명을 받고 검증 알고리즘 적용
→ 결과가 거짓일 시 문서는 거절
(3) 전자서명 서비스
메시지 인증
- 수신자는 받은 메시지가 송신자로부터 왔다는 것을 확신
메시지 무결성
- 전체 메시지에 서명할 경우에도 보장
- 해시함수를 사용하여 서명과 검증 알고리즘을 만든다.
부인방지
- 송신자가 보낸 사실을 부인하면 센터에서 저장하고 있는 메시지를 제시할 수 있다. 즉, 3자로부터 검증받을 수 있따.
기밀성
- 전자서명은 프라이버시를 보장하지 못한다.
- 기밀성 필요시 서명에 비밀키를 이용하거나 공개키를 이용하여 암호화
2) 전자서명의 주요기능
- 위조 불가 : 합법적인 서명자만이 전자서명을 생성할 수 있어야 한다.
- 서명자 인증 : 전자서명의 서명자를 누구든지 검증할 수 있어야 한다.
- 부인방지 : 서명자는 서명행위 이후에 서명한 사실을 부인할 수 없어야 한다.
- 변경 불가 : 서명한 문서의 내용을 변경할 수 없어야 한다.
- 재사용 불가 : 전자문서의 서명을 다른 전자문서의 서명으로 사용할 수 없어야 한다.
3) 전자서명 구조
(1) RSA 전자서명 구조
- RSA 아이디어를 이용하여 메시지에 서명하고 검증하는 것
- 전자서명 구조에서는 개인키와 공개키의 역할이 바뀐다.
- 암호화에서는 수신자의 키를 이용했지만, 전자서명에서는 송신자의 개인키와 공개키를 이용한다.
(2) ElGamal 전자서명 구조
- ElGamal 암호시스템과 동일한 키를 사용하지만 알고리즘은 다르다.
- 실제로 거의 사용되지 않음
(3) Schnorr 전자서명 구조
- ElGamal 기반이지만 서명의 크기를 줄인 새로운 구조
(4) DSS(Digital Signature Standard)
- ElGamal 전자서명을 개량한 방식. (이산대수 문제)
- 서명과 검증에 소요되는 계산량을 줄인 방식
(5) 타원곡선 전자서명 구조(ECDSA, Elliptic Curve DSA)
- 짧은 비트 길이로 인해 짧은 처리 시간에 짧은 서명 생성이 가능
4) 전자서명 방식
(1) 메시지 복원형 전자서명
- 서명자가 자신의 개인키를 이용하여 메시지 암호화하여 전송 > 검증자가 서명자의 공개키 이용하여 암호문을 복호화 > 검증
- 기존 공개키 암호방식 이용 » 별도의 전자서명 프로토콜이 필요하지 않음
- 일정한 크기의 블록으로 나누어 각각의 블록에 서명을 해야함 » 많은 시간 소요
(2) 부가형 전자서명
- 임의의 길이인 메시지를 해시 알고리즘을 이용하여 일정한 길이로 압축 > 서명자의 개인키를 이용하여 전자서명 후 덧붙여 전송
- 검증 : 수신된 메시지를 해시한 결과와 공개키를 이용하여 전자서명을 복호화한 값과 비교
- 메시지 이외에 전자서명을 따로 전송 » 전송량이 늘어남
- 메시지가 길더라도 한 번의 서명 생성 과정만이 필요 » 효율성
5) 특수 전자서명
→ 다양한 형태에 맞는 전자 서명
(1) 부인방지 전자서명
- 자체 인증 방식을 배제시키고 서명 검증할 때, 서명자의 도움이 있어야 검증이 가능한 방식
(2) 의뢰 부인방지 서명
- 신뢰하는 제 3자가 서명을 검증해주는 방식
(3) 수신자 지정 서명
- 지정한 검증자만이 서명을 확인
- 필요시 제 3자에게 그 서명이 서명자에 의해 자신에게 발행된 서명임을 증명할 수 있게 함 > 서명의 남용을 서명자가 아닌 검증자가 통제할 수 있는 서명 방식
(4) 은닉 서명(Blind Digital Signature)
- 서명문의 내용을 알지 못하는 상태에서 서명토록 한 방식
- 익명성 유지
(5) 위임 서명
- 부재 중 자신을 대리해서 서명하는 방식
(6) 다중 서명
- 동일 전자문서에 여러 명이 서명하는 방식
6) 전자서명 응용
** ▶ 전자 투표**
- 선거인 명부를 데이터베이스로 구축한 중앙 시스템과 직접 연결한 단말에 자신이 정당한 투표자임을 증명 > 무기명 투표(컴퓨터를 통해)
- 전자투표 시스템 구현을 위한 요구사항
- 완전성 : 투표 결과의 정확한 집계
- 익명성 : 투표 결과로부터 투표자 구별 불가
- 건전성 : 부정 투표자에 의한 선거 방해가 없어야 한다.
- 이중투표방지 : 정당한 투표자는 두 번 이상 투표 금지
- 정당성 : 투표에 영향을 미치는 것이 없어야 한다.
- 적임성 : 투표권한을 가진 자만이 투표 가능
- 검증 가능 : 투표 결과를 누구나 확인하여 검증해볼 수 있다.(투표 결과 변경 불가능)
- 전자투표 방식
구분 | 투표장치 | 특징 |
---|---|---|
PSEV 방식 | 전자투표기 | 이미 정해져 있는 기존 투표기를 이용, 투표 실시 후 전자식 투표기록장치를 개표소로 옮겨와 컴퓨터로 결과를 집계 |
키오스크방식 | 전자투표기 | 비지정 임의 투표소에서 전자 투표, 투표소와 개표소를 온라인으로 연결하여 결과를 자동적으로 개표소로 전송하여 자동 집계 |
REV 방식 | 모바일, 디지털 TV, PC | 가정이나 직장에서 투표, 투표 결과가 개표소나 중앙관리센터로 전송되어 자동적으로 집계 |
7) 전자입찰 시스템
- 다수의 공급자가 입찰 공고에서 응찰하면 가장 싼 가격을 제시한 응찰자와 계약을 맺는 입찰방식을 인터넷을 통해 구현된 것
(1) 전자 입찰 수행시 문제점
- 네트워크상의 메시지 유출
- 입찰자와 서버 사이의 공모
- 입찰자간의 공모
- 입찰자와 입찰 공무자간의 공모
(2) 전자입찰 시스템의 요구 사항
- 독립성 : 각 구성요소는 독자적인 자율성을 보장받아야 함
- 비밀성 : 네트워크상의 개별 정보는 누구에게도 노출되지 않아야 함
- 무결성 : 입찰 시 입찰자 자신의 정보를 확인 가능하게 하여, 누락 및 변조 여부 확인이 가능해야 함
- 공평성 : 입찰이 수행될 때 모든 정보는 공개되어야 함
- 안전성 : 각 입찰 참여자 간의 공모 방지, 입찰 공고자와 서버의 독단 발생 금지
(3) 전자 서명으로 해결할 수 없는 문제
- 전자서명 전제 조건 : 서명 검증 시 이용하는 공개키가 진짜 송신자의 공개키일 것
- 인증서 : 바른 곤개키를 입수하기 위해 고안된 것, 공개키를 메시지로 간주하고 신뢰 가능한 3자에게 전자서명을 하여 받은 공개키
- PKI : 공개키 암호 및 전자서명의 기술을 사회적 기반으로 만들어 가는 것
2. PKI
-
공개키 알고리즘을 위한 키 관리 구조
-
기밀성, 무결성, 접근제어, 인증, 부인방지의 보안 서비스 제공
-
인증기관, 등록기관, 사용자, 신뢰 당사자, 저장소 등의 요소로 구성
1) PKI 주요 구성 요소
(1) 인증기관(CA)
- 인증정책을 수립하고 인증서 및 인증서 효력정지 및 폐기 목록을 관리, 다른 CA와 상호 인증을 제공
- 정책승인기관(PAA, Policy Approving Authority)
- 루트 인증기관
- 공개키 기반 구조 전반에 사용되는 정책과 절차를 생성, 수립
- 하위 기관들의 정책 준수 상태 및 적정성 감시
- 정책인증기관(PCA, Policy Certification Authority)
- PAA 하위 계층
- 사용자와 인증기관이 따라야 할 정책을 수립, 공개키를 인증하고 인증서, 인증서 폐지 목록 등을 관리
- 인증기관(CA)
- PCA 하위 계층.
- 사용자의 공개키 인증서를 발행, 필요시 폐지
- 자신의 공개키와 상위 기관의 공개키를 사용자에게 전달
- 등록 기관의 요청에 의해 인증서 발행
- 인증서 소유자 대신 공개키와 개인키 쌍 생성 가능
2) 검증기관(VA, Validation Authority)
- 인증서의 유효성 여부 / 관련 거래의 유효성 여부 등을 확인
- 적절한 인증서 검증 기능이 없다면, 보안측면에서 불완전
- 외주로 운영하거나 인증기간이 직접 운영 가능
3) 사용자와 최종 개체
아래 기능 수행이 가능할 것
- 자신의 비밀키/공개키 쌍 생성 가능
- 공개키 인증서를 요청하고 획득
- 전자 서명을 생성 및 검증 가능
- 비밀키가 분실 혹은 손상되거나 자신의 정보가 변했을 때 인증서 폐지 요청 가능
4) 등록기관(RA, Registration Authority)
- 사용자와 CA가 원거리에 있는 경우, 사용자와 CA 사이에 RA를 두어 사용자의 인증서 신청 시 CA 대신 사용자의 신분∙소속 등을 확인
- RA는 선택적인 요소 > RA가 없으면 인증기관이 RA의 기능을 대신 수행할 수 있다.
5) 저장소
- 인증기관은 발급한 인증서를 발급과 동시에 디렉터리에 저장
- 사용자는 자신이 원하는 상대방의 인증서를 해당 디렉터리에서 검색 가능
6) PKI 형태
(1) 계층 구조
- 최상위 루트 CA 존재, 그 아래 하위의 CA가 계층적으로 존재하는 트리 형태
- 최상위 인증기관 간의 상호인증은 허용하지만 하위 인증기관 간의 상호인증은 원칙적으로 배제
(2) 네트워크 구조
- 상위 인증기관의 영향 없이 인증기관 가각 독립적으로 존재
- 인증기관 간에 인증을 위해 상호인증서를 발행하여 인증 서비스
- 모든 상호 인증 허용 > 상호인증 수 대폭 증가
(3) 혼합형 구조
- 도메인별 신뢰 관계가 적합한 구조
- 각 도메인의 독립적 구성을 허용하면서 서로 효율적인 상호 연동 보장
- 계층 구조 장점 + 네트워크 구조 장점
7) PKI의 주요 관리 대상
(1) 인증서
- 한 쌍의 공개키/개인키와 특정 사람/기관을 연결
(2) 인증서 표준 규격 X.509
- 인증서 양식 인터넷 참고
(3) 인증서 확장 영역
- 키와 정책 정보 : 인증서와 관련되는 키와 키의 용도 및 인증서 정책에 관한 부가적인 정보 포함
> 기관키 식별자 : 인증서를 서명하기 위해 사용되는 개인키에 대응하는 공개키를 구분할 수 있는 수단 제공
> 사용자키 식별자 : 여러 인증서 획득 시 사용자키 식별자는 특정 공개키를 포하하는 인증서의 집합을 빠르게 구분하도록 제공
> 키 사용 : 인증서에 포함된 키의 용도를 정의
> 인증서 정책 : 인증기관은 자신이 발행한 인증서에 대한 정책을 인증서 내에 명기 가능
- 사용자와 발행자 속성 : 인증서 주체나 인증서 발행자에 대해 여러 형식의 여러 대체 이름 지원
> 사용자 대체 이름 : 전자우편 주소, DNS, IP, URL 결합 가능
> 발급자 대체 이름
- 인증 경로 제약조건 : 다른 인증기관이 발행한 인증기관 인증서에 포함될 제한사항을 제공
> 기본제한 : 인증서의 사용자가 인증기관인지 구분
> 이름 제한 : 사용자 구별 이름이나 사용자 대체 이름에 제약을 가할 수 있다.
> 정책 제한 : 인증기관에게 발급된 인증서 내에는 정책 제한 확장 적용 가능
8) X.509 인증서 폐지 목록
- 인증서 폐지 사유
(1) 사용자의 개인키가 노출되었거나 훼손된 경우
(2)CA가 사용자를 더 이상 인증해줄 수 없을 경우
(3) CA의 인증키가 노출되었거나 훼손된 경우
- CRL (Certificate Revocation List) : 폐지된 인증서들에 대한 목록
- 인증기관의 저장소 또는 디렉터리 시스템 등에 등재하여 신뢰 당사자가 언제든지 검색 가능하도록 하여야 함
- 인증서 폐지 목록의 버전, 서명 알고리즘 및 발급 기관의 이름, 인증서 발급일, 다음 번 갱신일, 취소된 인증서에 대한 정보등 포함
- 일련번호에 의해 폐기된 인증서 확인 가능
9) 인증서 운영 프로토콜
(1) 온라인 인증서 상태 검증 프로토콜(OCSP, Online Certificate Status Protocol) : 실시간으로 인증서 상태를 확인할 수 있는 효율적인 방법
- 백그라운드에서 자동으로 수행하며, CA에 의해 관리되고 있는 CRL을 검사
- 구성 요소 : OCSP 클라이언트, OCSP 서버, 인증 서버로 구성
• 인증서 관리 프로토콜(CMP, Certificate Management Protocol) : PKI 환경에서 인증서 관리 서비스를 제공하기 위한 PKI 실체들 (이용자, CA, RA 등) 간의 통신 프로토콜
Leave a comment