본문으로 바로가기

PKI란

디지털 인증서를 생성, 관리, 배포, 사용, 저장 및 취소하고 공개 키 암호화를 관리하는 데 필요한 일련의 역할, 정책, 하드웨어, 소프트웨어 및 절차

 

- 공개 키와 개인 키 생성

- 디지털 인증서의 관리배포

- 인증서 및 키의 저장폐지

 

-> 무결성, 기밀성, 인증과 같은 보안 특성을 키 기반 메커니즘으로 보장


PKI의 주요 구성 요소

PKI Infrastructure (출처 : https://thecyphere.com/blog/pki-explained/)

 

1) 인증 기관 (CA, Certificate Authority)

디지털 인증서를 발급하고 이를 검증하는 신뢰할 수 있는 기관

PKI의 신뢰 체계의 핵심으로, 발급한 키와 인증서가 유효함을 보장

 

2) 등록 기관 (RA, Registration Authority)

사용자와 CA 사이의 중개 역할

인증서를 요청하기 전에 사용자의 신원을 확인

 

3) 디지털 인증서 (Digital Certificate)

공개 키와 이를 소유한 사용자를 연결

통신하는 당사자 간 신뢰를 구축하는 데 사용


차량 보안에서 PKI가 중요한 이유

자동차 산업에서 차량 수가 증가하고 차량 네트워크가 확장됨에 따라, 디지털 인증서와 키를 수동으로 관리하는 것은 현실적으로 불가능

 

이러한 환경에서의 PKI의 역할은?

 

확장성: 인증서 발급 및 폐지를 자동화

신뢰 관리: 사용자와 시스템 간 신뢰 체계를 형성

수명 주기 관리: 인증서를 생성, 갱신, 폐기하는 모든 과정을 체계적으로 관리

 

만약 PKI가 없다면,

- 각 차량 및 시스템에 대해 디지털 인증서와 키를 수동으로 관리

- 차량 네트워크가 확장됨에 따라 관리가 비현실적이며 보안 취약점이 발생할 가능성이 높음

- 키나 인증서가 손상되었을 경우 신속하게 대응하기 어려움

 

PKI 환경에서는,

- 차량 간 통신, 차량과 인프라 간 통신이 인증된 암호화 방식으로 이루어짐

- 특정 ECU 의 인증서가 손상되더라도 PKI는 이를 폐지하고 새로운 인증서를 재발급할 수 있음

- 물리적으로 차량에 접근할 필요 없이 인증서 관리

- 새로운 암호화 알고리즘(예: AES-256) 도입 시에도 PKI를 활용하여 손쉽게 전환

 

 


디지털 인증서 (Digital Certificate)

- 디지털 인증서는 PKI의 중요한 구성 요소로, 인증 기관(CA)에서 발급

- 이는 사용자(혹은 시스템)의 공개 키를 보증하고, 신뢰할 수 있는 통신을 가능하게 함

- 인증서에는 다양한 정보가 포함되며, 이는 사용자가 해당 인증서의 유효성과 신뢰성을 확인할 수 있도록 함

 

디지털 인증서가 없을 때의 문제

송신자 A가 자신의 공개 키를 사용해 데이터를 전송한다고 가정

수신자 B는 이 공개 키를 사용해 메시지를 복호화하고 소프트웨어나 문서를 수신

 

하지만 이 과정에서 수신자 B는 의문을 가질 수 있는데

 

이 공개 키가 실제로 송신자 A의 것인지?

혹은 내가 신뢰할 수 없는 출처로부터 키를 사용하고 있는 것은 아닌지?

 

수신자는 데이터를 받을 수는 있지만, 키가 신뢰할 수 있는 소스에서 온 것인지 확인할 방법이 없음

 

 

-> 이때, 인증 기관(CA) 이 하는 역할

 

CA는 송신자의 공개 키 보유

자신의 개인 키를 사용해 인증서를 생성

디지털 인증서는 송신자의 공개 키와 함께 수신자에게 전달

 

-> 이를 통해 수신자가 확인할 수 있는 것

 

인증서가 신뢰할 수 있는 CA에서 발급되었는가

인증서가 위조되거나 만료되지 않았는지

송신자의 공개 키가 진짜인지

 


디지털 인증서 사용 흐름

디지털 인증서 작동 원리 ( 출처 : https://www.geeksforgeeks.org/what-are-digital-certificates/)

 

1) 송신자 A가 수신자 B에게 정보를 전송하려고 함

송신자 A는 자신의 공개 키와 개인 키를 보유

수신자 B 역시 자신의 공개 키와 개인 키를 보유

 

2) 인증 기관(CA)

CA는 송신자와 수신자의 공개 키와 개인 키 정보를 보유

CA는 자신의 개인 키를 사용해 디지털 인증서를 생성

 

3) 디지털 인증서 생성 (SSL인증서, IPSEC인증서, 공인 인증서 등)

CA는 송신자 A의 공개 키와 자신의 개인 키를 결합하여 디지털 인증서를 생성

이 인증서는 송신자 A의 공개 키와 CA의 신뢰성을 보장하는 서명을 포함

 

4) 수신자 B의 인증 절차

수신자 B는 CA의 공개 키를 사용해 디지털 인증서를 검증

인증서가 유효하면 송신자 A의 공개 키가 신뢰할 수 있음을 확인

그리고 자신의 개인키로 데이터를 복호화하여 열람

 

 


디지털 인증서 열람, 디지털 인증서 구성 요소

 

Security 탭의 View certificate 스크린샷

 

 

구글 크롬 기준으로 F12 를 눌러 개발자 화면을 띄운 후 Security 탭에서 View certificate 를 클릭하면 해당 웹 사이트의 디지털 인증서를 확인할 수 있음

 

Google 디지털 인증서 스크린샷 (1)

 

 

인증서의 일반 탭에서는 인증서 발급 기관 및 유효성과 같은 기본 인증서 정보를 확인할 수 있음

 

Google 디지털 인증서 스크린샷 (2)

 

인증서의 세부정보 탭에서는 인증서 필드의 구성 요소를 모두 확인할 수 있음

 

일련 번호(Serial Number): 인증서를 고유하게 식별하는 번호

발급자(Issuer): 인증서를 발급한 인증 기관(CA)의 정보

주체(Subject): 인증서가 인증하는 엔터티(예: 사용자, 웹사이트)의 정보

유효 기간(Validity Period): 인증서의 시작 및 종료 날짜

공개 키(Public Key): 인증된 엔터티의 공개 키

서명 알고리즘(Signature Algorithm): 인증서를 서명하는 데 사용된 알고리즘(예: SHA-256, ECDSA 등)

인증서 정책(Certificate Policies): 인증서를 사용하는 데 따른 정책 및 제한 사항

 

디지털 인증서 vs 디지털 서명

디지털 서명: 데이터를 해싱한 후, 개인 키로 서명하여 생성 -> 데이터의 무결성과 출처를 보증

디지털 인증서: 인증 기관이 발급하며, 특정 엔터티의 공개 키를 보증 -> 서명된 데이터를 신뢰할 수 있는 환경에서 사용하도록 함

 

 


CA (Certificate Authority)

CA는 인증 기관으로, 디지털 인증서를 발급하고 관리하는 역할

 

인증서 생성

CA는 시스템 유형을 식별하고 인증서의 중요도와 알고리즘의 복잡성을 고려하여 인증서 생성

 

인증서 배포 및 발행

생성된 인증서를 적절한 방식으로 배포하고 발행하여 사용자들이 이를 사용할 수 있도록 함

 

키 관리

두 사용자 간 키 교환 과정에서 필요한 공개 키와 개인 키를 관리

 

인증서 검증

수신된 인증서가 유효한지 확인하고 이를 인증하는 역할

 

인증서 폐기

인증서의 유효 기간이 만료되거나 문제가 발생한 경우, 인증서를 폐기하고 새 인증서를 발급


CA 계층 구조

CA Hierarchy (출처 : https://www.thesslstore.com/blog/pki-architecture-fundamentals-of-designing-a-private-pki-system/)

 

1) 루트 CA(Root CA)

PKI 시스템에서 신뢰의 최상위 원천 역할

스스로 서명한 인증서를 보유하며, 다른 CA나 엔터티에 인증서를 발급

 

2) 중간 CA (Intermediate CA)

루트 CA나 다른 중간 CA로부터 인증서를 발급받은 하위 CA

부모 체인의 정책과 규칙을 따라야 하며, 다른 중간 CA나 엔터티에 인증서를 발급

 

3) 엔터티 CA (Entity CA)

루트 CA나 중간 CA로부터 인증서를 발급받은 최하위 CA

사용자 또는 장치와 같은 최종 엔터티에만 인증서를 발급


CA 주요 과제

보안(Security)

CA는 자신의 개인 키와 인증서 데이터베이스를 무단 접근이나 수정으로부터 보호해야 함

인증서가 위조, 변조 또는 악의적인 사용에 노출되지 않도록 보장해야 함

 

확장성(Scalability)

기술의 발전으로 인해 CA는 다양한 엔터티와 도메인으로부터 대량의 요청과 검증을 처리

인증서를 신속하고 효율적으로 업데이트하고 배포

 

상호운용성(Interoperability) 

CA는 다양한 PKI 시스템 및 애플리케이션의 표준과 프로토콜에 호환 가능해야 함

계층 구조 또는 교차 인증 네트워크에서 다른 CA와 협력할 수 있어야 함

반응형