정보보안기사 필기 6장 요약내용입니다.

7 minute read

* 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