본문 바로가기

정보보안기사

전자 인증서

* 전자 인증서 : 사용자 공개키와 사용자 ID정보를 결합하여 인증기관이 서명한 문서 

- 공개키의 인증성 제공

- 사용자 확인, 특정권한, 능력 등을 허가하는데 활용. 신분증 같은 역할

- 인증기관(CA)은 개인키를 사용하여 전자서명 생성 후 인증서에 첨부, CA의 공개키로 인증서의 유효성 확인

 

* X.509 인증서 표준 : 인증서에 대한 기본 형식을 정의한 규격 

- 인증서를 이용한 공개키의 효율적인 분배 방법을 정의

. X.509 v2 : 인증서 취소목록, 인증기관 고유 ID 도입, 주체 고유 식별자 사용

. X.509 v3

- 인증기관 키 식별자 : 하나의 인증기관이 여러 개의 비밀키로 인증서를 발급한 경우 서명 검증용 공개키를 식별하기 위해 사용

- 주체키 식별자 : 여러 키 쌍에 대해 발급받은 인증서를 가지고 있을 때 인증서에 포함된 공개키를 구별하는데 사용

- 키 용도 : 해당 공개키가 암호용인지 서명용인지를 해당 비트로 표시

- 인증서 유효기간이 지난 경우 : CA는 디렉토리에서 제거, 부인봉쇄 서비스를 위해 일정기간 보관

- 인증서 폐기 : 개인키 유출 판단시, 사용자가 조직 변경 등으로 인증서를 미사용시 사용자가 CA에 신고함으로써 수행

* 공개키 인증서 구조 

- 버전(Version) : 인증서 형식의 연속된 버전의 구분

- 일련번호(Serial Number) : 발생 CA 내부에서는 유일한 정수값

- 알고리즘 식별자(Algorithm Identifier) : 인증서를 생성하는데 이용되는 서명 알고리즘을 확인하기 위한 OID

- 발생자(Issuer) : 인증서를 발행하고 표시하는 CA

- 유효기간(Period of Validity) : 인증서가 유효한 첫 번째와 마지막 날짜 두 개로 구성

- 주체(Subject) : 인증서가 가리키는 사람

- 공개키 정보(Public-key Information) : 주체의 공개키, 키가 사용될 알고리즘 식별자

- 서명(Signature) : CA의 개인 서명키로 서명한 서명문

 

* 전자서명(Digital Signature) : 내가 받은 메시지를 어떤 사람이 만들었는지 확인하는 인증 

- 사용자 인증 : 송신을 부인하는데 대한 부인방지 기능

- 메시지 인증 : 송신자가 보낸 메시지가 중간에 변조되지 않았음을 확인하는 기능

 

* 전자서명 방식 분류

. 직접 서명(Direct Digital Signature) 방식

- 혼자서 서명 알고리즘을 수행하고 서명

- 서명키가 분실 또는 도난이 되었을 경우 부인방지 및 요구사항 충족이 어려움

- 서명 시점 판단도 원 서명자에 의한 것인지 공격자에 의한 서명인지 구분하기 어려움

. 중재 서명(Arbitrated Digital Signature) 방식

- 중재자와 프로토콜을 수행하여 서명

- 신뢰할 수 있는 중재자가 서명의 증인역할 수행

- 서명자가 서명 후에 중재자가 이 서명에 다시 서명을 하는 방식

 

* 메시지 복구 여부에 따른 분류 

- 메시지 복구 가능 서명 알고리즘(DSS : Digital Signature Scheme) : 전자서명에 메시지 포함, 원메시지 불필요

- 원메시지 필요 전자서명 알고리즘 (DSS with appendix) : 전자서명에 메시지 미포함, 원메시지 필요

 

* 전자서명 특징 

- 위조불가(Unforgeable) : 타인이 서명을 위조하기 어려워야 한다

- 서명자 인증(User Authentication) : 누구의 서명인지 확인할 수 있어야 한다

- 부인불가(Non-repudiation) : 서명자는 서명 사실을 부인할 수 없어야 한다

- 변경불가(Unalterable) : 한번 서명한 문서는 내용을 변조할 수 없어야 한다

- 재사용 불가(Not reusable) : 다른 문서의 서명을 위조하거나 기존의 서명을 재이용할 수 없어야 한다

 

* 전자서명 요구조건 

- 서명은 메시지에 의존하는 비트 형태

- 위조와 부인방지를 위해 송신자의 유일한 정보 비트를 이용

- 서명문을 만들기 쉬워야 한다

- 서명문을 인식, 확인하기 쉬워야 한다

- 서명문을 위조하는 것이 계산적으로 실행 불가능

- 기억 장소에 서명문의 복사본을 유지하는 것이 실용적이어야 한다

 

* 메시지에 직접 전자서명

- 송신자의 개인키로 원문을 암호화하여 전자서명 코드를 생성, 전자서명 코드와 메시지를 수신자에게 발신

- 수신자는 송신자의 공개키로 복호화하여 나온 메시지와 전달받은 메시지를 비교, 같으면 원문 미변경

* 메시지의 해쉬값에 서명하는 방법 

- 원문에 해쉬함수를 적용하여 나온 해쉬값을 송신자의 개인키로 암호화하여 전자서명 코드 생성, 원문과 함께 발신

- 수신자는 송신자의 공개키로 복호화하여 나온 해쉬값과 전달받은 메시지에 해쉬함수를 취한 해쉬값을 비교

- 같으면 원문 미변경

- 메시지의 길이에 무관하게 해쉬값의 길이는 일정하기 때문에 메시지에 직접서명 방법에 비해 시간과 자원소모가 적음

 

* PKI(Public Key Infrastructure) 구성요소(컴포넌트

- 공개키 인증서(Public Key Certificate) : 해당 키가 누구 것인지 알려줌. 공개키 정보, 공개키 주인 정보

- 인증기관(Certification Authority) : 공개키 인증서를 발급/철회하는 기관

- 저장소, 디렉토리(Repository) : 공개키 인증서를 저장하고 있는 기관

- 사용자(User) : 공개키를 사용하는 사람

- 등록기관(Registration Authority)

 

* 공개키 인증서 구성요소

- 공개키 인증서(Public Key Certification) : 공개키의 주인, 공개키에 맞는 개인키 소유자

- 인증서 정책(Certificate Policy) : 인증서 사용 방식

- 인증서 경로(Certificate Path) : 인증서들을 연결시킬 수 있는 방법

- 인증서 철회 리스트(Certificate Revocation List) : 공개키 인증서가 유효한지 확인

 

* PKI(Public Key Infrastructure) 구성요소(컴포넌트) 세부설명

. CA(Certification Authority) : 공개키 인증서를 발급/철회하는 기관

- 인증서 발급

- 인증서 상태 관리, 인증서 문제시 철회를 위한 CRL 발급

- 유효한 인증서와 CRL의 리스트 발행

- 지금까지 발행한 인증서와 CRL의 모든 리스트의 저장

. 저장소(Repository) : 공개키 인증서를 저장하고 있는 기관

- CA로부터 인증서와 CRL을 받아 내부적으로 저장, 이를 요구하는 사용자에게 분배

. 사용자(User) : 인증서를 사용하는 사람

. 인증서 정책(Certification Policy) : 인증서 사용 방식. 인증서를 발급하는 사람의 수준에 따라 결정

. 인증요청서(Certification Request)

- 인증서 발급을 위한 요청서

- 사용자, 주체의 정보와 공개키 등 여러 정보 포함

- CA는 인증요청서 심사 후 사용자에게 인증서 발급

. 인증서 철회 리스트(Certification Revocation List)

- 철회된 인증서들의 리스트. 악의적인 목적으로 사용되는 인증서 확인시 취소, 발급된 인증서 내용 오기시 취소

- 취소해야 하는 인증서들의 리스트. 인증서의 일련번호로 구분

- CA정보, CRL 유효기간, CACRL의 내용을 서명한 서명값 포함

 

* PKI 인증방식 확장

. 단일 인증기관을 이용한 인증

- 단일 인증기관이 각 사용자의 공개키에 대한 인증서 발급

. 상호인증을 이용한 인증

- 인증기관이 각 사용자의 공개키에 대한 인증서를 발급

- 인증기관 상호간에 인증기관의 공개키에 대한 인증서 발급

- 확장이 어려움

. 계층적 구조를 이용한 인증

- 상위 인증기관이 하위 인증기관에 대하여 인증, 하위 인증기관이 각 사용자의 인증서 발급

- 인증 서비스 영역 확장, 추가적인 인증 서비스 영역 확장이 용이

* PKI 구성 방식

. 순수계층방식

- 최상위 인증기관인 루트 CA에 대한 신뢰를 바탕으로 하부의 CA간 상호인증은 원칙적으로 배제

- 루트 CA간의 상호 인증을 통한 국제간 상호 동작 원활

. 네트워크 구조방식

- 모든 구조가 평면적, 모든 CA간 상호 인증을 허용

- 단점 : 상호인증의 수가 대폭 증가

 

* 계층별 인증기관의 역할

. 정책승인기관(PAA : Policy Approval Authorities)

- PCA를 위한 정책 수립 및 정책 승인

- PCA의 인증서 발행

. 정책인증기관(PCA : Policy Certification Authorities)

- CA의 정책 수립

- 수립된 정책의 적절한 운용검사

- CA의 인증서 발행

. 인증기관(CA : Certification Authority)

- PCA의 정책에 의해 하위 CA, 사용자, RA의 인증서 발행

. 등록기관(RA : Registration Authority)

- 사용자와 CA간에서 사용자 등록 수행

- 사용자 신원 확인

 

* 인증서 취소(철회) 사유 : 인증서 발행 조직에서 탈퇴, 비밀키의 손상, 비밀키의 유출 의심 

 

* CRL 기본 영역

- 서명알고리즘 : CRL에서 서명한 알고리즘 ID 및 관련데이터

- 발급자 : CAX.509 이름

- 최근 수정일자 : 최근 수정일자(UTC Time)

- 차후 수정일자 : 차후 수정일자(UTC Time)

- 취소인증목록 : 취소한 인증서 목록

- CRL 확장자 : CRL 확장자 유무 및 내용

- 발급자 서명문

 

* CRL 확장 영역 

. 기본확장자

- CA키 고유번호

- 발급자 대체 이름

- CRL 발급번호

- 발급분배점

- 델타 CRL 지시자

. 개체확장자

- 취소이유부호

- 명령부호

- 무효화 날짜

- 인증서 발급자

 

* OCSP(Online Certificate Status Protocol) : 실시간 인증서 상태 프로토콜. 인증서 유효성 검증

* OCSP 구조 

- 인증기관과 디렉토리와는 별도의 서버에서 사용자의 검증 요구에 대한 검색 결과를 제공

- 온라인 취소상태 확인 서비스(ORS), 대리인증 경로 발견 서비스(DPD), 대리인증 경로 검증 서비스(DPV) 기능

 

* OCSPCRL 비교

- OCSP는 인증서 폐기시 실시간으로 반영, CA는 일정 주기마다 인증서 폐기목록 생성(6~24시간)

- OCSP는 특정 CA와 계약, 사용량에 따라 비용 지불

'정보보안기사' 카테고리의 다른 글

어플리케이션 보안  (0) 2020.03.13
기본 보안용어 정의와 보안 모델  (0) 2020.03.11
정보 보호 일반(2)  (0) 2020.03.09
정보 보호 일반(1)  (0) 2020.03.09
무선 랜  (0) 2020.03.09