* 전자 인증서 : 사용자 공개키와 사용자 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 유효기간, CA가 CRL의 내용을 서명한 서명값 포함
* 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 및 관련데이터
- 발급자 : CA의 X.509 이름
- 최근 수정일자 : 최근 수정일자(UTC Time)
- 차후 수정일자 : 차후 수정일자(UTC Time)
- 취소인증목록 : 취소한 인증서 목록
- CRL 확장자 : CRL 확장자 유무 및 내용
- 발급자 서명문
* CRL 확장 영역
ㄱ. 기본확장자
- CA키 고유번호
- 발급자 대체 이름
- CRL 발급번호
- 발급분배점
- 델타 CRL 지시자
ㄴ. 개체확장자
- 취소이유부호
- 명령부호
- 무효화 날짜
- 인증서 발급자
* OCSP(Online Certificate Status Protocol) : 실시간 인증서 상태 프로토콜. 인증서 유효성 검증
* OCSP 구조
- 인증기관과 디렉토리와는 별도의 서버에서 사용자의 검증 요구에 대한 검색 결과를 제공
- 온라인 취소상태 확인 서비스(ORS), 대리인증 경로 발견 서비스(DPD), 대리인증 경로 검증 서비스(DPV) 기능
* OCSP와 CRL 비교
- 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 |