컴퓨터 보안 - [Key Management]

윤형·2024년 11월 19일

Security

목록 보기
6/14

Key Management

대칭키 : 어떻게 비밀 대칭키를 나눌것인지에 대한 것임. - KDC
공개키 : 어떻게 다른 사용자의 진짜 공개키를 포함할껀지에 대한 것임. - CA

  • Session key: 통신 session이 시작될 때 생성되서 종료될 때 폐기되는 동적 대칭키이다.
  • 통신 session마다 다른 키를 사용하면 안전하다.

다중 사용자가 세션키를 사용할 경우

  • 2명의 사용자 간에 1개의 비밀키 사용
  • 3명의 사용자 간에 3개의 비밀키 사용

  • n명의 사용자 간에 n(n-1)/2개의 비밀키 필요
  • 각 사용자는 n-1개의 키를 보유해야함
  • 새로운 사용자가 등장하면 새로운 키들을 다 생산해야함
    -> 대칭키 유지 및 관리 부하!

KDC (Key Distribution Center)

  • 키 관리기관 TA(Trusted Authority)가 키를 관리한다.
  • 사용자들은 KDC 등록신청 하면, KDC가 각 사용자들과 비밀키를 공유한다.
  • 각 사용자들은 이 키를 이용해 커뮤니케이션을 한다.

Operation

  1. A가 KDC에게 A와 B의 통신을 위한 세션키 요구 메시지를 보낸다.
  2. 전송 내용에는 A, B의 신원과 자신(A)의 신원 정보 ID(A)가 포함된다.
  3. KDC는 A와 B에게 각각의 마스터키를 이용해 세션키, 상대방의 신원 정보, Time Stamp(T)를 A에게 암호화하여 전송
  4. 또한 이 과정에서 B는 A가 자신과 통신을 하고자 함을 확인한다.
  5. A가 KDC로부터 제공받은 세션키를 이용하여 자신의 신원 정보와 T를 암호화하여 B에게 전송합니다.
  6. 메시지를 받은 B는 A의 신원을 신원 정보와 T를 이용해 확인
  7. B가 세션키를 이용하여 자신의 신원 정보와 T+1을 암호화하여 A에게 전송합니다.(T+1은 A의 T에 대한 답변)
    메시지를 받은 A는 B의 신원을 신원 정보와 T+1을 이용해 확인

KCD의 장점

  • 서버를 사용해 키 관리를 효율적으로 해준다. -> 각 사용자는 키를 한개만 가지고 있는다.
  • 비밀키 방식은 비교적 속도가 빠르다.

KCD의 단점

  • 단일 실패 지점(single point of failure) : KDC가 고장나면 전혀 서비스를 할 수 없다. 해결방법: 미러서버 (일관성 문제 발생 가능)
  • KDC가 공격당하면 모든 비밀키가 노출될 수 있다.
  • KDC의 신뢰성이 매우 중요하다.
  • KDC에 대한 병목현상 발생 - 컴퓨터 시스템의 성능이 특정 구성 요소의 제한으로 인해 전체 성능이 저하되는 현상

KDC를 계층화 한다.


CA (Certification Authorities)

CA(인증 기관) - 공개키를 위함
전자서명을 위해선 신뢰성 있는 공개키 보관장소 필요
해커가 다른 사용자의 공개키를 자기것인 척 하는 것을 방지
공인인증서의 발급과 관리하는 기관

  • 사용자들의 공개키를 저장하고 관리
  • 사용자들이 요청시 해당 공개키를 서명해서 전송(public key certificate, 공개키 인증서)

CA 동작

  • Public key cryptography에서 Alice가 Bob한테 message를 보낼 때, Bob의 public key로 encrypt한다. 근데, 진짜 Bob의 public key가 맞을까?
  1. B는 CA에 '신원 증명'을 제공하고, CA는 이를 확인했다가 B의 공개키를 생성해준다.

  2. CA는 B의 공개 키와 B를 연결하는 인증서를 생성한다. : Kca-(Kb+)

  3. A는 B의 공개키 인증서를 얻는다. -> CA의 인증서 저장소를 통하거나, B에게 직접 요청을 보낸다.

  4. CA공개키를 이용해 밥의 공개키를 얻는다. -> 이 과정에서 밥의 공개키와 CA가 발급했다는 유효성을 검사한다.


공개키 기반구조 (PKI, Public Key Infrastructure)

공개키 방식을 통해 암호화 및 전자서명/인증서의 사용을 가능하도록 해주는 기반구조로 X.509(표준), PGP, AADS/X9.59 등 있다

공개키 기반 구조(PKI)의 핵심 구성 4 요소

1. 공개키 인증서(Public Key Certificate)

공개키 인증서는 특정 사용자의 공개키가 해당 사용자에게 속한다는 것을 신뢰할 수 있는 기관(공인인증기관, CA)이 보증하는 문서이다.

이 인증서는 사용자의 공개키와 함께 사용자의 신원 정보(이름, 이메일 주소 등)를 포함하고 있다.
인증서에는 CA의 전자서명이 포함되어 있어, 인증서의 무결성과 신뢰성을 보장한다.

2. 인증서 정책

인증서 정책은 인증서의 사용 방식과 관련된 규칙과 절차를 정의한다.

이는 인증서가 어떤 용도로 사용될 수 있는지, 어떤 조건에서 유효한지를 명시한다. 예를 들어, 특정 인증서는 전자 서명에만 사용될 수 있으며, 다른 인증서는 데이터 암호화에 사용될 수 있다. 이러한 정책은 사용자와 CA 간의 신뢰를 구축하는 데 중요한 역할을 한다.

3. 인증서 경로

인증서 경로는 인증서가 어떻게 연결되어 있는지를 나타낸다.

일반적으로 인증서는 계층 구조를 이루며, 최상위 CA(루트 CA)에서 시작하여 중간 CA를 거쳐 최종 사용자 인증서로 이어진다. 인증서 경로를 통해 사용자는 인증서의 신뢰성을 확인할 수 있으며, 각 인증서가 유효한지 검증할 수 있다. 인증서 경로는 인증서 체인이라고도 불리며, 각 인증서가 상위 CA에 의해 서명되었음을 보여준다.

4. 인증서 철회 리스트

인증서 철회 리스트는 더 이상 유효하지 않은 인증서의 목록이다.

인증서가 발급된 후, 여러 가지 이유(예: 비밀키 유출, 사용자의 요청 등)로 인해 인증서가 철회될 수 있다. CRL은 이러한 인증서의 유효성을 확인하는 데 사용되며, 사용자는 CRL을 참조하여 인증서가 여전히 유효한지 확인할 수 있다. CRL은 정기적으로 업데이트되어야 하며, 최신 상태를 유지하는 것이 중요하다.

profile
제가 관심있고 공부하고 싶은걸 정리하는 저만의 노트입니다.

0개의 댓글